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>
