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

Derek Schuff dschuff at google.com
Tue Oct 2 15:19:00 PDT 2012


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