variables optimized out
Joerg Sonnenberger
joerg at britannica.bec.de
Sun Jan 3 18:11:49 UTC 2016
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
More information about the freebsd-hackers
mailing list