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

From: Dag-Erling Smørgrav <des_at_des.no>
Date: Fri, 05 Nov 2004 23:43:30 +0100
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
Received on Fri Nov 05 2004 - 21:43:40 UTC

This archive was generated by hypermail 2.4.0 : Wed May 19 2021 - 11:38:21 UTC