From owner-freebsd-hackers@FreeBSD.ORG Tue Aug 21 17:34:46 2012 Return-Path: Delivered-To: freebsd-hackers@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [69.147.83.52]) by hub.freebsd.org (Postfix) with ESMTP id B48FE1065677; Tue, 21 Aug 2012 17:34:46 +0000 (UTC) (envelope-from nwhitehorn@freebsd.org) Received: from adsum.doit.wisc.edu (adsum.doit.wisc.edu [144.92.197.210]) by mx1.freebsd.org (Postfix) with ESMTP id 82EA18FC1D; Tue, 21 Aug 2012 17:34:46 +0000 (UTC) MIME-version: 1.0 Content-transfer-encoding: 7BIT Content-type: text/plain; CHARSET=US-ASCII; format=flowed Received: from avs-daemon.smtpauth1.wiscmail.wisc.edu by smtpauth1.wiscmail.wisc.edu (Sun Java(tm) System Messaging Server 7u2-7.05 32bit (built Jul 30 2009)) id <0M940090261SLB00@smtpauth1.wiscmail.wisc.edu>; Tue, 21 Aug 2012 11:34:40 -0500 (CDT) Received: from wanderer.tachypleus.net (i3-user-nat.icecube.wisc.edu [128.104.255.12]) by smtpauth1.wiscmail.wisc.edu (Sun Java(tm) System Messaging Server 7u2-7.05 32bit (built Jul 30 2009)) with ESMTPSA id <0M9400FUE61OSE20@smtpauth1.wiscmail.wisc.edu>; Tue, 21 Aug 2012 11:34:37 -0500 (CDT) Date: Tue, 21 Aug 2012 11:34:36 -0500 From: Nathan Whitehorn In-reply-to: <201208210944.31001.jhb@freebsd.org> To: John Baldwin Message-id: <5033B89C.7070201@freebsd.org> X-Spam-Report: AuthenticatedSender=yes, SenderIP=128.104.255.12 X-Spam-PmxInfo: Server=avs-14, Version=5.6.1.2065439, Antispam-Engine: 2.7.2.376379, Antispam-Data: 2012.8.21.162418, SenderIP=128.104.255.12 References: <20120821084930.GM33100@deviant.kiev.zoral.com.ua> <201208210944.31001.jhb@freebsd.org> User-Agent: Mozilla/5.0 (X11; FreeBSD amd64; rv:12.0) Gecko/20120502 Thunderbird/12.0 Cc: Konstantin Belousov , freebsd-hackers@freebsd.org, tijl@freebsd.org, Dan McGregor Subject: Re: Build 32 bit binaries on amd64 X-BeenThere: freebsd-hackers@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: Technical Discussions relating to FreeBSD List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 21 Aug 2012 17:34:46 -0000 On 08/21/12 08:44, John Baldwin wrote: > On Tuesday, August 21, 2012 4:49:30 am Konstantin Belousov wrote: >> On Mon, Aug 20, 2012 at 08:32:41PM -0600, Dan McGregor wrote: >>> Hi. >>> >>> I've been working on porting compiler-rt/clang's support for address >>> sanitization (asan) to FreeBSD. So far I have it building and it >>> appears to work properly, however the build system expects to be able >>> to build 32 bit binaries on amd64. >>> >>> amd64 doesn't include i386's machine/foo headers. The included patch >>> is my proposed solution: >>> >>> Add i386 headers to /usr/include/i386, and in machine/foo.h, check if >>> it's a 32 bit build and include the appropriate header from i386. >>> >>> For example machine/ucontext.h will include i386/ucontext.h if >>> compiled with -m32. >>> >>> Thoughts? >>> >>> If anyone's curious about the compiler_rt port, I have it at >>> github.com/dannomac/compiler-rt on the branch named freebsd. >> There was a work by Tijl Coosemans in the similar, but somewhat less hacky >> direction. The headers are moved into sys/x86/include and unified as much >> as possible, while machine/ counterpart includes corresponding header >> from x86/include. >> >> I even lost track of how much more headers is left to convert. In fact, >> not all headers are equal, some are only useful for kernel or base system. >> Also, parts of the critically important headers do not live in machine/ >> at all, e.g. the headers from libm. >> >> The work seems to be stale, do you want to cooperate with Tijl or continue ? > I think we should probably follow Tijl's model since we are on that path. > I originally preferred the /usr/include/i386 approach, but have come around > to Tjil's approach instead. > I just wanted to add that the unified 32/64 header route is where we went on PowerPC (and MIPS?) and it works very well for -m32. -Nathan