From owner-svn-src-all@FreeBSD.ORG Sat Jan 8 20:31:13 2011 Return-Path: Delivered-To: svn-src-all@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 9046B106564A; Sat, 8 Jan 2011 20:31:13 +0000 (UTC) (envelope-from juli@clockworksquid.com) Received: from mail-wy0-f182.google.com (mail-wy0-f182.google.com [74.125.82.182]) by mx1.freebsd.org (Postfix) with ESMTP id 997428FC0C; Sat, 8 Jan 2011 20:31:12 +0000 (UTC) Received: by wyf19 with SMTP id 19so18652024wyf.13 for ; Sat, 08 Jan 2011 12:31:11 -0800 (PST) Received: by 10.227.128.4 with SMTP id i4mr17415065wbs.109.1294518669963; Sat, 08 Jan 2011 12:31:09 -0800 (PST) MIME-Version: 1.0 Sender: juli@clockworksquid.com Received: by 10.227.153.210 with HTTP; Sat, 8 Jan 2011 12:30:49 -0800 (PST) In-Reply-To: <201101081243.p08Ch5vR092295@svn.freebsd.org> References: <201101081243.p08Ch5vR092295@svn.freebsd.org> From: Juli Mallett Date: Sat, 8 Jan 2011 12:30:49 -0800 X-Google-Sender-Auth: 1Umc75TMPLuCHmSmEq3pa6ratq0 Message-ID: To: Tijl Coosemans Content-Type: text/plain; charset=ISO-8859-1 Content-Transfer-Encoding: quoted-printable Cc: svn-src-head@freebsd.org, svn-src-all@freebsd.org, src-committers@freebsd.org Subject: Re: svn commit: r217147 - in head/sys: amd64/include arm/include i386/include ia64/include mips/include powerpc/include sparc64/include sun4v/include X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sat, 08 Jan 2011 20:31:14 -0000 On Sat, Jan 8, 2011 at 04:43, Tijl Coosemans wrote: > Author: tijl > Date: Sat Jan =A08 12:43:05 2011 > New Revision: 217147 > URL: http://svn.freebsd.org/changeset/base/217147 > > Log: > =A0On mixed 32/64 bit architectures (mips, powerpc) use __LP64__ rather t= han > =A0architecture macros (__mips_n64, __powerpc64__) when 64 bit types (and > =A0corresponding macros) are different from 32 bit. [1] I don't know why you didn't talk with MIPS people at all about these changes. That they were reviewed by Bruce is very reassuring in aesthetic terms, but that's hardly sufficient. This and other changes have made it harder to support common MIPS configurations and compilation options on FreeBSD. I'm glad you're at least aware of n32 (as indicated in another message) and its implications, but the use of ABI-specific names was deliberate. Have you thought about -n32 with -mlong64? It isn't the same kind of dirty hack as Bruce talks about when he talks about 64-bit longs on x86. I understand that __LP64__ and the idea that there are two reasonable ABIs most (one 32-bit and one 64-bit) is appealing, but it's not true. In the case of PowerPC, it does look like they weren't ABI-specific macros, but MIPS's were. If nothing else, you make MIPS headers more inconsistent with themselves, where most of them are ABI-conditionalized and now some are instead LP64-centric. It seems like your end goal is probably consolidating these headers, which I would like, too, but please attempt to allow for more variation than just "longs are 32-bit and pointers are 32-bit, otherwise longs are 64-bit and pointers are 64-bit." We're trying to do the right thing with MIPS in terms of supporting multiple valid ABIs on a single port, something which is a lot harder when people restructure these critical headers without even asking us whether there are any evident problems; even if 'make universe', for instance, were enough, it leaves out some ABIs, and it certainly leaves out future plans wrt ABIs. Thanks, Juli.