Match x86 PIC thunk names to compiler version.

This commit is contained in:
Joseph Myers 2012-02-06 18:05:54 +00:00
parent d8e0ca509a
commit 314054eaef
2 changed files with 22 additions and 3 deletions

View File

@ -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> 2012-02-05 Joseph Myers <joseph@codesourcery.com>
* sysdeps/i386/sysdep.h (SETUP_PIC_REG_STR, LOAD_PIC_REG_STR): * sysdeps/i386/sysdep.h (SETUP_PIC_REG_STR, LOAD_PIC_REG_STR):

View File

@ -20,10 +20,23 @@
#include <sysdeps/generic/sysdep.h> #include <sysdeps/generic/sysdep.h>
#ifdef __ASSEMBLER__ #include <features.h> /* For __GNUC_PREREQ. */
# define GET_PC_THUNK(reg) __i686.get_pc_thunk.reg
/* 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 #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 #endif
#ifdef __ASSEMBLER__ #ifdef __ASSEMBLER__