Skip site navigation (1)Skip section navigation (2)
Date:      Sun, 3 Jan 2016 19:11:39 +0100
From:      Joerg Sonnenberger <joerg@britannica.bec.de>
To:        freebsd-hackers@freebsd.org
Subject:   Re: variables optimized out
Message-ID:  <20160103181139.GA16659@britannica.bec.de>
In-Reply-To: <20160103145923.GA16970@becker.bs.l>
References:  <CAA99N-OKyxzVaJ4ayXRUGAoovNtHFXTpOXPkwhdw9k3LEMnOtw@mail.gmail.com> <20160103145923.GA16970@becker.bs.l>

next in thread | previous in thread | raw e-mail | index | archive | help
On Sun, Jan 03, 2016 at 03:59:23PM +0100, Bertram Scharpf wrote:
> Hi,
> 
> On Sunday, 03. Jan 2016, 14:38:33 +0100, robbinson defau wrote:
> > Im debugging some issues in the kernel and as the kernel is compiled by
> > default with -O2, a lot of variables are optimized out. So i made changes
> > to make.conf (CFLAGS and COPTFLAGS).\
> > 
> > All builds fine, but I get the weirdest of panics that most certainly not
> > happen with -O2. [...]
> 
> I just had a look at "man make.conf" and that says:
> 
>      CFLAGS	   (str) Controls the compiler setting when compiling C code.
> 		   Optimization levels other than -O and -O2 are not sup‐
> 		   ported.
> 
> At least to me this is a surprise. I'm really disappointed
> about what programming style has become common.

There are two strong historical reasons from GCC behavior:
- a lot of the -O3 optimisations has been known to break questionable
code
- a lot of the warnings significantly change behavior depending on the
optmizer.

While the former is not a big problem for disabling optimisation, the
latter certainly is. Note that with clang there is no difference between
-O and -O2.

Joerg



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?20160103181139.GA16659>