loader breaks with -O2 optimizations

Stephan F. Yaraghchi stephan at yaraghchi.org
Thu Nov 1 00:26:37 PDT 2007


On 10/31/07, Oliver Fromme <olli at lurza.secnetix.de> wrote:
> 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:
>  > [...]
>  > 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.
>
> Have you tried with the default flags?  i.e. simply remove
> the CFLAGS line from your make.conf.  Does the loader still
> break?
>
> Best regards
>    Oliver
>
> PS:  The default flags are:  -O2 -fno-strict-aliasing -pipe
> (see /usr/share/mk/sys.mk)
>
> --
> Oliver Fromme, secnetix GmbH & Co. KG, Marktplatz 29, 85567 Grafing b. M.
> Handelsregister: Registergericht Muenchen, HRA 74606,  Geschäftsfuehrung:
> secnetix Verwaltungsgesellsch. mbH, Handelsregister: Registergericht Mün-
> chen, HRB 125758,  Geschäftsführer: Maik Bachmann, Olaf Erb, Ralf Gebhart
>
> FreeBSD-Dienstleistungen, -Produkte und mehr:  http://www.secnetix.de/bsd
>
> "Unix gives you just enough rope to hang yourself --
> and then a couple of more feet, just to be sure."
>         -- Eric Allman
> _______________________________________________
> freebsd-current at freebsd.org mailing list
> http://lists.freebsd.org/mailman/listinfo/freebsd-current
> To unsubscribe, send any mail to "freebsd-current-unsubscribe at freebsd.org"
>

Hi Oliver,

I added -O2 -fno-strict-aliasing -pipe to the make.conf and it worked too!

Jeremy came up with a post by Josh that points out that the size of
the binary seems
to be the problem:
http://www.nabble.com/buildworld-failure-(boot2.ld-too-big-when-CFLAGS-set-in-make.conf)-t4674137.html

Using the default CFLAGS the resulting loader binary is 290816 Bytes,
with -O1 -funroll-loops -pipe it's 319488 Bytes and after adding
-funroll-loops to the defaults
the binary becames 323584 Bytes...

-- 
Stephan


www.deine-stimme-gegen-armut.de


More information about the freebsd-current mailing list