From owner-freebsd-arch@FreeBSD.ORG Thu Feb 23 17:12:14 2012 Return-Path: Delivered-To: freebsd-arch@FreeBSD.ORG Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 04D30106564A for ; Thu, 23 Feb 2012 17:12:14 +0000 (UTC) (envelope-from das@FreeBSD.ORG) Received: from zim.MIT.EDU (ZIM.MIT.EDU [18.95.3.101]) by mx1.freebsd.org (Postfix) with ESMTP id A371F8FC17 for ; Thu, 23 Feb 2012 17:12:13 +0000 (UTC) Received: from zim.MIT.EDU (localhost [127.0.0.1]) by zim.MIT.EDU (8.14.5/8.14.2) with ESMTP id q1NHCBcq079103; Thu, 23 Feb 2012 12:12:11 -0500 (EST) (envelope-from das@FreeBSD.ORG) Received: (from das@localhost) by zim.MIT.EDU (8.14.5/8.14.2/Submit) id q1NHCAmK079102; Thu, 23 Feb 2012 12:12:11 -0500 (EST) (envelope-from das@FreeBSD.ORG) Date: Thu, 23 Feb 2012 12:12:10 -0500 From: David Schultz To: Tijl Coosemans Message-ID: <20120223171210.GB79013@zim.MIT.EDU> Mail-Followup-To: Tijl Coosemans , freebsd-arch@freebsd.org, Damjan Jovanovic References: <201202061916.45998.tijl@coosemans.org> Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <201202061916.45998.tijl@coosemans.org> Cc: Damjan Jovanovic , freebsd-arch@FreeBSD.ORG Subject: Re: amd64 cc -m32 support and headers project branch X-BeenThere: freebsd-arch@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: Discussion related to FreeBSD architecture List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 23 Feb 2012 17:12:14 -0000 On Mon, Feb 06, 2012, Tijl Coosemans wrote: > After a hiatus of almost a year I'd like to continue with merging i386 > and amd64 headers to get "cc -m32" working on amd64. Previously I tried > to fix any problems with the headers first before merging, but this turned > out to be a long tedious process. So, because lack of -m32 support is > blocking other development I'd like to just merge a minimal set of > headers without any macro/type definition changes or other > reorganisations. The result will be similar to existing powerpc and mips > headers which already support both 32 and 64 bit. > > When that's done I can create a development branch to work on the > problems that have come up. Possible goals for such a branch are: > > - Fix inconsistencies such as types defined in sys/ and their limits > in machine/. Also, sometimes the limits don't have the correct type. > - For types/limits defined under machine/ there is a lot of duplication > between architectures. Try to move some to sys/. > - Try to make headers compiler agnostic; limit use of __attribute__, > __builtin_* to a single file. > - Maybe remove support for gcc 2.*. The oldest version in ports is 3.4 > and I suspect some headers don't compile anymore with gcc 2.*. > - Add support for new compiler attributes/built-ins. > - Add missing POSIX prototypes, maybe commented out with /* UNIMPL ... */ > or similar so they can be grepped. > - The gcc ports currently patch some system headers where they think > something is non-standard. These patched headers override the system > headers which means you have to rebuild these ports whenever you do > installworld to make sure they contain the latest changes. Some headers > are trivial to fix, others less so. > > > If there are no objections, I'd like to start with the -m32 work in > a week or so. This sounds like it could degenerate into an error-prone ifdef hell. Wouldn't it be much easier to just have a /usr/include32 directory?