From owner-freebsd-sparc64@FreeBSD.ORG Sat Feb 4 16:21:53 2006 Return-Path: X-Original-To: sparc64@freebsd.org Delivered-To: freebsd-sparc64@FreeBSD.ORG Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id 36DB716A541 for ; Sat, 4 Feb 2006 16:21:53 +0000 (GMT) (envelope-from imp@bsdimp.com) Received: from harmony.bsdimp.com (vc4-2-0-87.dsl.netrack.net [199.45.160.85]) by mx1.FreeBSD.org (Postfix) with ESMTP id F175744361 for ; Sat, 4 Feb 2006 15:54:22 +0000 (GMT) (envelope-from imp@bsdimp.com) Received: from localhost (localhost.village.org [127.0.0.1] (may be forged)) by harmony.bsdimp.com (8.13.3/8.13.3) with ESMTP id k14FpV33012807; Sat, 4 Feb 2006 08:51:31 -0700 (MST) (envelope-from imp@bsdimp.com) Date: Sat, 04 Feb 2006 08:51:34 -0700 (MST) Message-Id: <20060204.085134.44793895.imp@bsdimp.com> To: des@des.no From: "M. Warner Losh" 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> X-Mailer: Mew version 3.3 on Emacs 21.3 / Mule 5.0 (SAKAKI) Mime-Version: 1.0 Content-Type: Text/Plain; charset=iso-8859-1 Content-Transfer-Encoding: quoted-printable X-Greylist: Sender IP whitelisted, not delayed by milter-greylist-2.0 (harmony.bsdimp.com [127.0.0.1]); Sat, 04 Feb 2006 08:51:34 -0700 (MST) Cc: src-committers@freebsd.org, kris@obsecurity.org, stable@freebsd.org, sparc64@freebsd.org Subject: Re: [releng_6 tinderbox] failure on sparc64/sparc64 X-BeenThere: freebsd-sparc64@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: Porting FreeBSD to the Sparc List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sat, 04 Feb 2006 16:21:56 -0000 In message: <86bqxntixy.fsf@xps.des.no> des@des.no (Dag-Erling Sm=F8rgrav) writes: : Warner Losh 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