Add _ILP32 and __ILP32__ for X32 programming model

12 views
Skip to first unread message

H.J. Lu

unread,
Apr 13, 2012, 1:07:31 PM4/13/12
to H. Peter Anvin, x32...@googlegroups.com, GCC Development, GNU C Library
On Fri, Apr 13, 2012 at 9:44 AM, H.J. Lu <hjl....@gmail.com> wrote:
> On Fri, Apr 13, 2012 at 9:40 AM, H. Peter Anvin <h...@zytor.com> wrote:
>> On 04/13/2012 09:18 AM, H.J. Lu wrote:
>>> Hi,
>>>
>>> We need a reliable way to tell if we are compiling for x32 through
>>> pre-defined preprocessor symbol.  __LP64/__LP64__ aren't
>>> specified by x86-64 psABI, although they have been added to
>>> GCC 3.3.  They can't be counted on to detect x32 since not x86-64
>>> compilers define them.   I updated x32 psABI:
>>>
>>> https://sites.google.com/site/x32abi/documents
>>>
>>> to define __ILP32 and __ILP32__ for X32 programming model.  I
>>> will submit a patch for GCC trunk and 4.7 branch.
>>>
>>
>> Can we add __LP64__ to the psABI too?
>>
>
> X32 psABI has
>
> __amd64        Defined for both LP64 and X32 programming models.
> __amd64__     Defined for both LP64 and X32 programming models.
> __x86_64        Defined for both LP64 and X32 programming models.
> __x86_64__    Defined for both LP64 and X32 programming models.
> __LP64           Defined for LP64 programming model.
> __LP64__       Defined for LP64 programming model.
> __ILP32          Defined for X32 programming model.
> __ILP32__      Defined for X32 programming model.
>
>

It should be _LP64/_ILP32, not __LP64 and __ILP32. I updated x32
psABI.

--
H.J.

Reply all
Reply to author
Forward
0 new messages