Skip site navigation (1)Skip section navigation (2)
Date:      Tue, 21 Aug 2012 20:25:21 -0600
From:      Dan McGregor <danismostlikely@gmail.com>
To:        Nathan Whitehorn <nwhitehorn@freebsd.org>
Cc:        Konstantin Belousov <kostikbel@gmail.com>, freebsd-hackers@freebsd.org, tijl@freebsd.org
Subject:   Re: Build 32 bit binaries on amd64
Message-ID:  <CACS%2B7ZTrykbvBBzJaByqx3sSfhSyo=iRzcvdwupf28XscjZF2A@mail.gmail.com>
In-Reply-To: <5033B89C.7070201@freebsd.org>
References:  <CACS%2B7ZQSSoxqY8cNDa=uM-o5NJmXBb3WYTZ7iNDK_nNjjughUg@mail.gmail.com> <20120821084930.GM33100@deviant.kiev.zoral.com.ua> <201208210944.31001.jhb@freebsd.org> <5033B89C.7070201@freebsd.org>

next in thread | previous in thread | raw e-mail | index | archive | help
How do the unified powerpc headers work?  Is it just one architecture
for both PowerPC and 64 bit PowerPC?  If so, was that tijl's ultimate
goal?  One architecture for i386 and AMD64?

On the unifying headers front, I've make a bunch of progress towards
merging i386 and amd64 headers into x86; also available on github.

Dan

On 21 August 2012 10:34, Nathan Whitehorn <nwhitehorn@freebsd.org> wrote:
> 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
>
> _______________________________________________
> freebsd-hackers@freebsd.org mailing list
> http://lists.freebsd.org/mailman/listinfo/freebsd-hackers
> To unsubscribe, send any mail to "freebsd-hackers-unsubscribe@freebsd.org"



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?CACS%2B7ZTrykbvBBzJaByqx3sSfhSyo=iRzcvdwupf28XscjZF2A>