[cfe-commits] [PATCH] Properly factor Native Client defines to support NaCl as an OS with x86/ARM architecture

Derek Schuff dschuff at google.com
Mon Oct 8 10:16:31 PDT 2012


Any takers? it's really not a big change.

On Tue, Oct 2, 2012 at 3:19 PM, Derek Schuff <dschuff at google.com> wrote:
> ping?
>
> On Fri, Sep 28, 2012 at 9:28 AM, Derek Schuff <dschuff at google.com> wrote:
>> +cc Michael Liao who might be interested in X32-related stuff
>>
>> On Thu, Sep 27, 2012 at 11:24 AM, Derek Schuff <dschuff at google.com> wrote:
>>> Hi,
>>> This patch refactors the NaCl/PNaCl support in clang such that the
>>> defines which belong to the NaCl OS (e.g. __native_client__) come from
>>> an OSTargetInfo and only those which are for Portable NaCl ( __pnacl__
>>> and __le32__) come from the PNaClTargetInfo.
>>> It thus allows the compiler to support e.g. x86_64-nacl and arm-nacl
>>> targets (as well as le32-nacl). It would be a very small change except
>>> that the x86_64 nacl ABI is X32-like with 32-bit pointers, and does
>>> not use 80-bit float types. So, some small changes to e.g.
>>> X86_64ABIInfo.
>>>
>>> This patch is split into 2 parts. The first is a change to
>>> X86_64ABIInfo to support x86-64 targets with 32 bit pointers. The
>>> approach is similar to the change proposed by the X32 team[1]
>>> (although it is slightly more general in its naming scheme and does
>>> not have X32-specific bits).
>>>
>>> The second change actually makes the NaCl specific changes. There is
>>> one small intrusion into X86_64ABIInfo::classify to disable the 80-bit
>>> FP types (suggestions on that are welcome)
>>>
>>> Patches are attached or may be viewed at
>>> http://codereview.chromium.org/10982073 and
>>> http://codereview.chromium.org/10986071
>>>
>>> Please take a look, thanks.
>>> -Derek



More information about the cfe-commits mailing list