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

Derek Schuff dschuff at google.com
Fri Sep 28 09:28:31 PDT 2012


+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