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