Re: [patch] Cleaning up amd64 kernel optimization options

From: Kostik Belousov <kostikbel_at_gmail.com>
Date: Fri, 23 Dec 2011 19:55:04 +0200
On Fri, Dec 23, 2011 at 06:03:42PM +0100, Dimitry Andric wrote:
> 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).

Release is built with -g for long time, this is where the symbol files
in /boot/kernel comes from.

Received on Fri Dec 23 2011 - 16:55:16 UTC

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