This is the mail archive of the libc-alpha@sourceware.org mailing list for the glibc project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: [PATCH 2/N, MPX, x86_64] Intel MPX support in glibc for x86_64


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.

-- 
H.J.
---
>From 48332d822090e41253692053a00dfe224d3ebec0 Mon Sep 17 00:00:00 2001
From: "H.J. Lu" <hjl.tools@gmail.com>
Date: Fri, 25 Apr 2014 09:33:41 -0700
Subject: [PATCH] Replace __int128 with __int128_t in bits/link.h

__int128 was added in GCC 4.6 and __int128_t was added before x86-64
was supported.  This patch replaces __int128 with __int128_t so that
the installed bits/link.h can be used with older GCC.

* sysdeps/x86/bits/link.h (La_x86_64_regs): Replace __int128
with __int128_t.
(La_x86_64_retval): Likewise.
---
 ChangeLog               | 6 ++++++
 sysdeps/x86/bits/link.h | 6 +++---
 2 files changed, 9 insertions(+), 3 deletions(-)

diff --git a/ChangeLog b/ChangeLog
index 0909d3b..3ab4d4a 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -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
diff --git a/sysdeps/x86/bits/link.h b/sysdeps/x86/bits/link.h
index 82522e5..ebc5989 100644
--- a/sysdeps/x86/bits/link.h
+++ b/sysdeps/x86/bits/link.h
@@ -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;

--


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]