Date: Sat, 04 Feb 2006 08:51:34 -0700 (MST) From: "M. Warner Losh" <imp@bsdimp.com> To: des@des.no Cc: src-committers@freebsd.org, harti@freebsd.org, kris@obsecurity.org, stable@freebsd.org, sparc64@freebsd.org Subject: Re: [releng_6 tinderbox] failure on sparc64/sparc64 Message-ID: <20060204.085134.44793895.imp@bsdimp.com> In-Reply-To: <86bqxntixy.fsf@xps.des.no> References: <861wykr9vx.fsf@xps.des.no> <20060203.105305.71186162.imp@bsdimp.com> <86bqxntixy.fsf@xps.des.no>
next in thread | previous in thread | raw e-mail | index | archive | help
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 coverag= e : analysis. Then it should be the default, standard flag. : > The kernel make files have special magic to disable the parts of -O= 2 : > that are known to be bad because tinderbox uses -O2, despite effort= s : > in the past to stop the practice. : = : The kernel has special magic to disable strict aliasing checks becaus= e : 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 i= n : 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 compile= r : 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?20060204.085134.44793895.imp>