Skip site navigation (1)Skip section navigation (2)
Date:      Sat, 4 Feb 2006 08:48:28 -0800
From:      Kip Macy <kip.macy@gmail.com>
To:        "M. Warner Losh" <imp@bsdimp.com>
Cc:        src-committers@freebsd.org, sparc64@freebsd.org, stable@freebsd.org, kris@obsecurity.org
Subject:   Re: [releng_6 tinderbox] failure on sparc64/sparc64
Message-ID:  <b1fa29170602040848p15a21fdibeecbd9ea8d34044@mail.gmail.com>
In-Reply-To: <20060204.085134.44793895.imp@bsdimp.com>
References:  <861wykr9vx.fsf@xps.des.no> <20060203.105305.71186162.imp@bsdimp.com> <86bqxntixy.fsf@xps.des.no> <20060204.085134.44793895.imp@bsdimp.com>

next in thread | previous in thread | raw e-mail | index | archive | help
IIRC, at NetApp -O2 was the default for all builds. I think it is safe to
say that the generated code is quite stable. If -O2 allows the compiler to
catch errors earlier it should be the default.


      -Kip


On 2/4/06, M. Warner Losh <imp@bsdimp.com> wrote:
>
> In message: <86bqxntixy.fsf@xps.des.no>
>             des@des.no (Dag-Erling Sm=F8rgrav) writes:
> : Warner Losh <imp@bsdimp.com> writes:
> : > Can we not have special flags for tinderbox builds?  It make
> : > pre-commit testing a big pita.  How about just -O on both head and
> : > in RELENG_6?
> :
> : As I have repeatedly pointed out in the past, -O2 catches more bugs
> : because it enables optimizations which require more extensive coverage
> : analysis.
>
> Then it should be the default, standard flag.
>
> : > The kernel make files have special magic to disable the parts of -O2
> : > that are known to be bad because tinderbox uses -O2, despite efforts
> : > in the past to stop the practice.
> :
> : The kernel has special magic to disable strict aliasing checks because
> : certain people regularly commit kernel code which violates C aliasing
> : rules and refuse to fix it.  The userland code does not need these
> : hacks because I spent a lot of time and effort fixing aliasing bugs in
> : e.g. libalias.
>
> The optimizations are disable because they do not work.  It is really
> that simple.  The kernel has lots and lots of these problems, it is
> true.
>
> : Aliasing violations are not trivial matters; they prevent the compiler
> : from optimizing code which (for instance) accesses structure members
> : through pointers to the structure.  There is a lot of this in the
> : kernel.
>
> I agree.  However, I think it is unreasonable to have one set of
> defaults, then another set that committers are held to.  This leads to
> lots of problems.
>
> My bottom line is that as a committer, you are expected to not break
> the builds with the default flags.  The tinderbox runs at a different
> level, thereby creating the impression that someone has done something
> wrong when it happens to blow up, when in fact they have not.  If -O2
> is so good w/o the -fno-strict-alias, then it should be the default so
> we catch these bugs.
>
> I'm not arguing against -O2 because it isn't useful.  I'm arguing
> because it isn't the default.
>
> Warner
>



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