diff options
author | Joseph Myers <joseph@codesourcery.com> | 2012-02-06 18:05:54 +0000 |
---|---|---|
committer | Joseph Myers <joseph@codesourcery.com> | 2012-02-06 18:05:54 +0000 |
commit | 314054eaef2aec965d2f1bced7e86abca118463e (patch) | |
tree | c03cbc61bd1fa1c67fff971903fafca1088a3df3 | |
parent | d8e0ca509a83e832123f6ab508fce620159fb2dc (diff) | |
download | glibc-314054eaef2aec965d2f1bced7e86abca118463e.tar.gz |
Match x86 PIC thunk names to compiler version.
-rw-r--r-- | ChangeLog | 6 | ||||
-rw-r--r-- | sysdeps/i386/sysdep.h | 19 |
2 files changed, 22 insertions, 3 deletions
@@ -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): diff --git a/sysdeps/i386/sysdep.h b/sysdeps/i386/sysdep.h index 2c0aafa75b..1dbb8e12a9 100644 --- a/sysdeps/i386/sysdep.h +++ b/sysdeps/i386/sysdep.h @@ -20,10 +20,23 @@ #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__ |