[releng_6 tinderbox] failure on sparc64/sparc64

M. Warner Losh imp at bsdimp.com
Sat Feb 4 08:21:56 PST 2006

In message: <86bqxntixy.fsf at xps.des.no>
            des at des.no (Dag-Erling Smørgrav) writes:
: Warner Losh <imp at 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

: 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.


More information about the freebsd-sparc64 mailing list