From owner-svn-src-head@FreeBSD.ORG Thu Dec 4 17:25:46 2008 Return-Path: Delivered-To: svn-src-head@FreeBSD.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 66B091065672; Thu, 4 Dec 2008 17:25:46 +0000 (UTC) (envelope-from des@des.no) Received: from tim.des.no (tim.des.no [194.63.250.121]) by mx1.freebsd.org (Postfix) with ESMTP id EC6EE8FC19; Thu, 4 Dec 2008 17:25:45 +0000 (UTC) (envelope-from des@des.no) Received: from ds4.des.no (des.no [84.49.246.2]) by smtp.des.no (Postfix) with ESMTP id 159146D43F; Thu, 4 Dec 2008 17:25:45 +0000 (UTC) Received: by ds4.des.no (Postfix, from userid 1001) id EE37F844D9; Thu, 4 Dec 2008 18:25:44 +0100 (CET) From: =?utf-8?Q?Dag-Erling_Sm=C3=B8rgrav?= To: Alfred Perlstein References: <49338E98.7020104@freebsd.org> <863ah8rvcd.fsf@ds4.des.no> <20081201132554.GD27096@elvis.mu.org> <20081201.221040.-1350500631.imp@bsdimp.com> <20081204095756.GP27096@elvis.mu.org> <863ah4158t.fsf@ds4.des.no> <20081204163542.GQ27096@elvis.mu.org> Date: Thu, 04 Dec 2008 18:25:44 +0100 In-Reply-To: <20081204163542.GQ27096@elvis.mu.org> (Alfred Perlstein's message of "Thu, 4 Dec 2008 08:35:42 -0800") Message-ID: <86k5afyhrb.fsf@ds4.des.no> User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/23.0.60 (berkeley-unix) MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: quoted-printable Cc: svn-src-head@FreeBSD.org, svn-src-all@FreeBSD.org, kientzle@FreeBSD.org, "M. Warner Losh" , src-committers@FreeBSD.org Subject: Re: svn commit: r185499 - head X-BeenThere: svn-src-head@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: SVN commit messages for the src tree for head/-current List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 04 Dec 2008 17:25:46 -0000 Alfred Perlstein writes: > Really? So a person on a i386 platform that touches let's say > src/sys/proc.h will have quality checked via "make buildworld" > to the degree that they know it won't break all other platforms > too? You are trying to turn this into a developers vs. tinderbox issue. It's not. The kind of mistakes that break the tinderbox directly affect users and other developers. If your changes affect MD code or relies on the size or endianness of specific types, you should cross-build to an architecture with different register width and endianness. I wish I didn't have to point this out; it should be obvious to anyone. After all, it's been almost ten years since we added our first non-i386 platform (alpha). I created the tinderbox precisely because obrien@ got mad at me for repeatedly breaking the alpha build. Most bit-width issues can be caught by cross-building to amd64 if you're working on i386, and to i386 if you're working on amd64. However, the most common bit-width-related mistake is to assume that various types (long, size_t, time_t etc) are the same size as int, so you are far less likely to break i386 (where they are) when working on amd64 (where they aren't) than the reverse. Endianness issues will usually only become apparent when you *run* the code, but they're usually a matter of network vs host order, and will therefore show up on both i386 and amd64. The final class of problems is those that arise from the use of MD interfaces that are implemented only on i386 and amd64. These two platforms are sufficiently similar that code written for one usually compiles and runs on the other, but it may not compile and run on, say, powerpc or sparc64. For instance, certain atomic operations are not implemented on arm (or weren't, the last time I looked). Therefore, you are probably better off cross-building to powerpc (32-bit big-endian) when working on amd64 (64-bit little-endian), and to sparc64 (64-bit big-endian) when working on i386 (32-bit little-endian). Cross-building is easy. It is described in build(7), which every committer should read. If anything in that man page is unclear, feel free to ask me, or ru@ if I'm unavailable - and to update the man page once you've been enlightened. DES --=20 Dag-Erling Sm=C3=B8rgrav - des@des.no