Skip site navigation (1)Skip section navigation (2)
Date:      Thu, 13 Jan 2005 19:38:27 -0500
From:      Mike Tancsa <mike@sentex.net>
To:        Ulrich Spoerlein <q@uni.de>
Cc:        freebsd-stable@freebsd.org
Subject:   Re: CFLAGS=-O2 -pipe problems in RELENG_5 ?
Message-ID:  <6.2.0.14.0.20050113193132.042966c8@64.7.153.2>
In-Reply-To: <20050113225145.GA781@galgenberg.net>
References:  <6.2.0.14.0.20050112173437.089758a0@64.7.153.2> <20050113225145.GA781@galgenberg.net>

next in thread | previous in thread | raw e-mail | index | archive | help
At 05:51 PM 13/01/2005, Ulrich Spoerlein wrote:
>On Wed, 12.01.2005 at 17:38:56 -0500, Mike Tancsa wrote:
> > I did a buildworld /buildkernel with a RELENG_5 box using the following
> > flags
> >
> >
> > CPUTYPE=i686
> > KERNCONF=recycle
> > CFLAGS=-O2 -pipe
> > COPTFLAGS=-O2 -pipe
> > NO_MODULES=true    # do not build modules with the kernel
> > MODULES_WITH_WORLD=true # do not build modules when building kernel
>
>I'm using -Os -pipe ever since installing 5.x after the gcc update.
>Haven't encountered any problem so far..

There are some differences between O2 and Os according to the man 
page.  Are you using that on your kernel and for buildworld ?


ICEs (internal compiler errors) usually point to serious hardware
>problems. Check that your RAM is OK and the CPU not overheating.


heating is not an issue. I have changed the power supply and RAM just in 
case.  Like I said, if I get rid of the O2 optimization and just use -O it 
works just fine.  I have run into bad hardware where make buildworld 
exposes the problems, but I had never been able to "work around" it by 
changing to -O instead of O2.

I let the box run over night building world 8 times with -j2 through -j5 
and all worked just fine.

Looking at /usr/src/UPDATING, it appears O2 does not work.  However, that 
seems to contradict statements on the list that it works.


20040728:
         System compiler has been upgraded to GCC 3.4.2-pre. As with any major
         compiler upgrade, there are several issues to be aware of. GCC 3.4.x
         has broken C++ ABI compatibility with previous releases yet again
         and users will have to rebuild all their C++ programs with the new
         compiler. A new unit-at-a-time optimization mode, which is default
         in this compiler release, is more aggressive in removing unused
         static symbols. This is the likely cause of 'make buildworld'
         breakages with non-default CFLAGS where optimization level is set
         to -O2 or higher.




         ---Mike 



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?6.2.0.14.0.20050113193132.042966c8>