loader breaks with -O2 optimizations

Kris Kennaway kris at FreeBSD.org
Wed Oct 31 02:43:42 PDT 2007


Stephan F. Yaraghchi wrote:
> After making world on a freshly installed 7.0-BETA1
> the system does not boot anymore due to a broken loader:
> 
> 
> FreeBSD/i386 bootstrap loader, Revision 1.1
> (root at bigblue, Tue Oct 30 11:26:32 CET 2007)
> Can't work out which disk we are booting from.
> Guessed BIOS device 0xffffffff not found by probes defaulting to disk0:
> 
> panic: free: guard1 fail@ 0x6ded4 from
> /usr/src/sys/boot/i386/loader/../../common/module.c:959
> 
> --> Press a key on the console to reboot <--
> 
> 
> I found out that the following line in my make.conf causes
> the problem:
> 
> CFLAGS= -O2 -funroll-loops -pipe
> 
> 
> After changing down to -O1 and making /usr/src/sys/boot again
> the systems behaves properly at boot.
> 
> Is this behavior intended?

Maybe, what happens if you use just -O2 -pipe? -funroll-loops is not an 
appropriate thing to be using globally anyway, unless your intention is 
to randomly make some code slower.

Kris


More information about the freebsd-current mailing list