Match x86 PIC thunk names to compiler version.
authorJoseph Myers <joseph@codesourcery.com>
Mon, 6 Feb 2012 18:05:54 +0000 (18:05 +0000)
committerJoseph Myers <joseph@codesourcery.com>
Mon, 6 Feb 2012 18:05:54 +0000 (18:05 +0000)
ChangeLog
sysdeps/i386/sysdep.h

index 1925407..b0e625b 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,9 @@
+2012-02-06  Joseph Myers  <joseph@codesourcery.com>
+
+       * sysdeps/i386/sysdep.h: Include <features.h>.
+       (GET_PC_THUNK, GET_PC_THUNK_STR): Define conditionally on compiler
+       version.
+
 2012-02-05  Joseph Myers  <joseph@codesourcery.com>
 
        * sysdeps/i386/sysdep.h (SETUP_PIC_REG_STR, LOAD_PIC_REG_STR):
index 2c0aafa..1dbb8e1 100644 (file)
 
 #include <sysdeps/generic/sysdep.h>
 
-#ifdef __ASSEMBLER__
-# define GET_PC_THUNK(reg) __i686.get_pc_thunk.reg
+#include <features.h> /* For __GNUC_PREREQ.  */
+
+/* It is desirable that the names of PIC thunks match those used by
+   GCC so that multiple copies are eliminated by the linker.  */
+
+#ifdef __ASSEMBLER__
+# if __GNUC_PREREQ (4, 7)
+#  define GET_PC_THUNK(reg) __x86.get_pc_thunk.reg
+# else
+#  define GET_PC_THUNK(reg) __i686.get_pc_thunk.reg
+# endif
 #else
-# define GET_PC_THUNK_STR(reg) "__i686.get_pc_thunk." #reg
+# if __GNUC_PREREQ (4, 7)
+#  define GET_PC_THUNK_STR(reg) "__x86.get_pc_thunk." #reg
+# else
+#  define GET_PC_THUNK_STR(reg) "__i686.get_pc_thunk." #reg
+# endif
 #endif
 
 #ifdef __ASSEMBLER__