Skip site navigation (1)Skip section navigation (2)
Date:      Tue, 21 Aug 2012 09:44:30 -0400
From:      John Baldwin <jhb@freebsd.org>
To:        freebsd-hackers@freebsd.org
Cc:        Konstantin Belousov <kostikbel@gmail.com>, tijl@freebsd.org, Dan McGregor <dan.mcgregor@usask.ca>
Subject:   Re: Build 32 bit binaries on amd64
Message-ID:  <201208210944.31001.jhb@freebsd.org>
In-Reply-To: <20120821084930.GM33100@deviant.kiev.zoral.com.ua>
References:  <CACS%2B7ZQSSoxqY8cNDa=uM-o5NJmXBb3WYTZ7iNDK_nNjjughUg@mail.gmail.com> <20120821084930.GM33100@deviant.kiev.zoral.com.ua>

next in thread | previous in thread | raw e-mail | index | archive | help
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.

-- 
John Baldwin



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?201208210944.31001.jhb>