[2/N,MPX,x86_64] Intel MPX support in glibc for x86_64
Commit Message
On Fri, Apr 25, 2014 at 9:17 AM, Carlos O'Donell <carlos@redhat.com> wrote:
> On 04/25/2014 10:30 AM, Joseph S. Myers wrote:
>> On Fri, 25 Apr 2014, Carlos O'Donell wrote:
>>
>>> You should test for __int128, set HAVE_INT128, and make this
>>> support conditional on the compiler feature being present
>>> (avoid hard-coding the compiler version). I believe Ondrej
>>> posted a patch for this?
>>
>> bits/link.h is an installed header so can't contain conditionals on
>> configure test results like that.
>>
>> However, the __int128_t built-in typedef is much older than the __int128
>> keyword (dating back to GCC 3.0, i.e. predating x86_64 support which was
>> added in 3.1), so that can be used instead.
>
> Agreed. Thanks for catching the fact that this is an installed header.
>
I tested and checked in this patch to replace __int128 with __int128_t.
Thanks.
Comments
On 04/25/2014 12:38 PM, H.J. Lu wrote:
> On Fri, Apr 25, 2014 at 9:17 AM, Carlos O'Donell <carlos@redhat.com> wrote:
>> On 04/25/2014 10:30 AM, Joseph S. Myers wrote:
>>> On Fri, 25 Apr 2014, Carlos O'Donell wrote:
>>>
>>>> You should test for __int128, set HAVE_INT128, and make this
>>>> support conditional on the compiler feature being present
>>>> (avoid hard-coding the compiler version). I believe Ondrej
>>>> posted a patch for this?
>>>
>>> bits/link.h is an installed header so can't contain conditionals on
>>> configure test results like that.
>>>
>>> However, the __int128_t built-in typedef is much older than the __int128
>>> keyword (dating back to GCC 3.0, i.e. predating x86_64 support which was
>>> added in 3.1), so that can be used instead.
>>
>> Agreed. Thanks for catching the fact that this is an installed header.
>>
>
> I tested and checked in this patch to replace __int128 with __int128_t.
Awesome. Thanks for the quick turnaround HJ.
The fact that this is an installed header makes it even more important
that we reduce the compiler requirement for usage.
Cheers,
Carlos.
@@ -1,3 +1,9 @@
+2014-04-25 H.J. Lu <hongjiu.lu@intel.com>
+
+ * sysdeps/x86/bits/link.h (La_x86_64_regs): Replace __int128
+ with __int128_t.
+ (La_x86_64_retval): Likewise.
+
2014-04-24 Ian Bolton <ian.bolton@arm.com>
* sysdeps/aarch64/fpu/fclrexcpt.c (feclearexcept): Don't write to
@@ -94,7 +94,7 @@ typedef struct La_x86_64_regs
La_x86_64_xmm lr_xmm[8];
La_x86_64_vector lr_vector[8];
#ifndef __ILP32__
- __int128 lr_bnd[4];
+ __int128_t lr_bnd[4];
#endif
} La_x86_64_regs;
@@ -110,8 +110,8 @@ typedef struct La_x86_64_retval
La_x86_64_vector lrv_vector0;
La_x86_64_vector lrv_vector1;
#ifndef __ILP32__
- __int128 lrv_bnd0;
- __int128 lrv_bnd1;
+ __int128_t lrv_bnd0;
+ __int128_t lrv_bnd1;
#endif
} La_x86_64_retval;