From 314054eaef2aec965d2f1bced7e86abca118463e Mon Sep 17 00:00:00 2001 From: Joseph Myers Date: Mon, 6 Feb 2012 18:05:54 +0000 Subject: Match x86 PIC thunk names to compiler version. --- ChangeLog | 6 ++++++ sysdeps/i386/sysdep.h | 19 ++++++++++++++++--- 2 files changed, 22 insertions(+), 3 deletions(-) diff --git a/ChangeLog b/ChangeLog index 1925407..b0e625b 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,9 @@ +2012-02-06 Joseph Myers + + * sysdeps/i386/sysdep.h: Include . + (GET_PC_THUNK, GET_PC_THUNK_STR): Define conditionally on compiler + version. + 2012-02-05 Joseph Myers * 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 2c0aafa..1dbb8e1 100644 --- a/sysdeps/i386/sysdep.h +++ b/sysdeps/i386/sysdep.h @@ -20,10 +20,23 @@ #include -#ifdef __ASSEMBLER__ -# define GET_PC_THUNK(reg) __i686.get_pc_thunk.reg +#include /* 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__ -- cgit v1.1