There seems to be a bug in egcs on i386. When doing a
straight compile of Kerberos 5 from the MIT sources, the
'make' eventually dies:
cc -fPIC -O2 -m486 -fno-strength-reduce -D_GNU_SOURCE
-DHAVE_LIBNSL=1 -DPOSIX_FILE_LOCKS=1 -DHAS_UNISTD_H=1
-DHAVE_SYS_SELECT_H=1 -DHAVE_TIME_H=1 -DHAS_STDLIB_H=1
-DLSBFIRST=1 -DSIZEOF_INT=4 -DBITS32=1 -DKRB4_USE_KEYTAB=1
-DHAVE_SETEUID=1 -DHAVE_SETREUID=1 -DHAVE_SETRESUID=1
-DKRB5_KRB4_COMPAT -I./../../include -I../../include
-I./../../include/kerberosIV -o shared/g_ad_tkt.o -c
cc: Internal compiler error: program cc1 got fatal signal 11
make: *** [g_ad_tkt.o] Error 1
If I type in that same command line manually, _without_ the
-O2 flag, the compile succeeds without an error. So I'd
guess there is a bug in the optimizer that is showing up at
least on the i386 platform.
I've tried this on two different machines with Red Hat
6.0/Intel: a dual PPro/200 and a single PII-400. The same
error occurs on both machines.
The compile works fine on an Alpha 21164 system with Red Hat
6.0. (aside from an include file bug in the Kerberos
I haven't tried using gcc 2.95 to see if the bug has been
Please supply the output of gcc -E (so that we can reproduce the
bug by feeding this file directly to cc1, with worrying about
kerberos5 header files and so on).
Of course that is assuming you always get a sig11 on this
particular file - if the sig11 is intermittent or sometimes happens
on another file, it is probably a hardware problem (see seg11 FAQ).
The crash is 100% repeatable on i386 (tried it on 3 different machines
so far). I tried it on a Red Hat 6.0/Alpha machine and it didn't
Here is the code which makes it fail: (gcc -E output like you
cc -fPIC -O2 -m486 -fno-strength-reduce -o die.o -c make_egcs_crash.c
causes egcs to crash with a sig11 failure,
cc -fPIC -m486 -fno-strength-reduce -o die.o -c make_egcs_crash.c
works okay. So I'm guessing it's a bug in the optimizer.
for a patch to egcs for this bug. There isn't a new RPM package
containing this fix yet.
Christopher Allen Wing <firstname.lastname@example.org> writes in email:
Thanks for taking a look at the bug and fixing it! I'll rebuild my
RPM with the patch and try it out.
(in the meanwhile, I just built Kerberos 5 disabling the optimizer
Fixed in the egcs which ships with Red Hat Linux 6.1.