[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
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
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