Re: [patch] Cleaning up amd64 kernel optimization options

From: Dimitry Andric <dim_at_FreeBSD.org>
Date: Fri, 23 Dec 2011 18:03:42 +0100
On 2011-12-23 17:00, Alexander Best wrote:
...
>>> Back in the 7.x days, I ran into some code that wasn't easily to debug because the compiler optimized things out with -O2 by inlining and
>> otherwise shifting around code, so setting breakpoints in gdb became difficult. So from that point on I've gotten into the habit of doing -O
>> explicitly in make.conf if DEBUG_FLAGS was specified. Just a thought..
>>
>> I still leave -O2 in, but what I do is this:
>>
>>    make DEBUG_FLAGS="-g -fno-inline"
>
> would making -O2 -fno-inline the default flags introduce any major slowdown?

Not major, but a minor slowdown is quite possible, especially on arches
like x86, where call overhead is relatively high, and code caches are
relatively large.

Anyway, I'd rather get the thread back to my original patch instead of
messing around with the default flags for release, which have been -O2
for a long time now.  If people want to override those for specific
reasons, they can always set COPTFLAGS or DEBUG_FLAGS manually, like
John shows.

The only thing my patch makes sure of, is that amd64 does the same thing
as all other arches, e.g.: compile with a low optimization settings for
debug (-O, which is equivalent to -O1), compile with arch-specific high
optimization settings for release (-O2 plus whatever is required for the
arch, or lower if optimization breaks things).
Received on Fri Dec 23 2011 - 16:03:40 UTC

This archive was generated by hypermail 2.4.0 : Wed May 19 2021 - 11:40:22 UTC