CFLAGS=-O2 -pipe problems in RELENG_5 ?
Mike Tancsa
mike at sentex.net
Thu Jan 13 16:36:56 PST 2005
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
More information about the freebsd-stable
mailing list