HEADS UP: Ports are not ready for CFLAGS=-O2 in 6.0

Dag-Erling Smørgrav des at des.no
Fri Nov 5 14:43:40 PST 2004


Kris Kennaway <kris at obsecurity.org> writes:
> On Fri, Nov 05, 2004 at 04:56:03PM -0500, Michael Johnson wrote:
> > Is there a list of what's broke with -O2 in ports anywhere?
> Some of the bugs are probably silent.  For example, different versions
> of gcc sometimes have bugs at higher optimization levels or with
> certain CPUTYPE values.

As far as we know, that is not the case for FreeBSD 5.3 and 6.0.

> -O2 will also cause build errors in other ways, e.g. if functions in a
> library are improperly declared static and not referenced internally
> (but are referenced externally by another application trying to link
> with the library), since -O2 may optimize them out completely.

That's crap.  You can't reference a static symbol outside your own
compilation unit.  That's the whole point with declaring it static.

The problem with arj is that it uses a tool to embed a checksum in
each binary, and the placeholder for that checksum was declared static
but never referenced, so gcc optimized it out and the tool couldn't
find it.

DES
-- 
Dag-Erling Smørgrav - des at des.no


More information about the freebsd-ports mailing list