When emerging FreeRADIUS 2.0.4-r1 with GCC 4.3 and -O2 in your CFLAGS, broken code gets generated. It fails to read which port to listen on, and uses a random port for each startup. Have a look here for more details: https://lists.freeradius.org/pipermail/freeradius-users/2008-May/msg00419.html Reproducible: Always Steps to Reproduce: 1. Install GCC 4.3 or 4.3.1 2. Set your CFLAGS to use -O2 3. Emerge FreeRADIUS 2.0.4-r1 Actual Results: When running "radiusd -Xf", you get this at the buttom: Listening on authentication address * port <RANDOM PORT> Listening on accounting address * port <RANDOM PORT> Expected Results: It should say: Listening on authentication address * port 1812 Listening on accounting address * port 1813
Can be fixed easily, just inherit from the flag-o-matic eclass, and add this to the top of src_compile: strip-flags replace-flags -O? -O1 (strip-flags is just to be sure).
non-critical bug, as not an issue with the stable toolchain
Hmm... This is the gcc's problem! Reassigned to toolchain team.
we don't strip flags, we fix gcc to not produce wrong code.
well, for stable versions that are EOL, flag munging is OK (assuming the flags in question are not ricer) ... but gcc-4.3 does not fall under that condition i dont suppose anyone has spent anytime reducing this ?
https://bugzilla.redhat.com/show_bug.cgi?id=448743 invalid code
https://lists.freeradius.org/pipermail/freeradius-users/2008-May/msg00825.html
building just src/lib/packet.c with -O1 fixes the output in question ...
blah, beat me to it ;) bug in freeradius, not gcc
Fixed by upstream in version 2.0.5.