diff options
-rw-r--r-- | ChangeLog | 8 | ||||
-rw-r--r-- | config.h.in | 3 | ||||
-rw-r--r-- | sysdeps/powerpc/powerpc32/tls-macros.h | 44 | ||||
-rw-r--r-- | sysdeps/unix/sysv/linux/powerpc/powerpc32/swapcontext-common.S | 5 |
4 files changed, 11 insertions, 49 deletions
diff --git a/ChangeLog b/ChangeLog index 5538acdefa..2a9b972ad0 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,11 @@ +2015-03-23 Alan Modra <amodra@gmail.com> + + * config.h.in: Remove HAVE_ASM_PPC_REL16. + * sysdeps/powerpc/powerpc32/tls-macros.h: Remove HAVE_ASM_PPC_REL16 + and false branch of conditional. + * sysdeps/unix/sysv/linux/powerpc/powerpc32/swapcontext-common.S: + Likewise. + 2015-03-21 Samuel Thibault <samuel.thibault@ens-lyon.org * sysdeps/mach/hurd/Makefile ($(common-objpfx)errnos.d): Depend on diff --git a/config.h.in b/config.h.in index a1ae478209..711ed08d40 100644 --- a/config.h.in +++ b/config.h.in @@ -151,9 +151,6 @@ /* Define if inlined system calls are available. */ #undef HAVE_INLINED_SYSCALLS -/* Define if your assembler and linker support R_PPC_REL16* relocs. */ -#undef HAVE_ASM_PPC_REL16 - /* Define if your compiler defaults to -msecure-plt mode on ppc. */ #undef HAVE_PPC_SECURE_PLT diff --git a/sysdeps/powerpc/powerpc32/tls-macros.h b/sysdeps/powerpc/powerpc32/tls-macros.h index 0df0814247..ee0eac4858 100644 --- a/sysdeps/powerpc/powerpc32/tls-macros.h +++ b/sysdeps/powerpc/powerpc32/tls-macros.h @@ -1,6 +1,5 @@ /* Include sysdeps/powerpc/tls-macros.h for __TLS_CALL_CLOBBERS */ #include_next "tls-macros.h" -#include "config.h" /* PowerPC32 Local Exec TLS access. */ #define TLS_LE(x) \ @@ -10,8 +9,7 @@ __result; }) /* PowerPC32 Initial Exec TLS access. */ -#ifdef HAVE_ASM_PPC_REL16 -# define TLS_IE(x) \ +#define TLS_IE(x) \ ({ int *__result; \ asm ("bcl 20,31,1f\n1:\t" \ "mflr %0\n\t" \ @@ -22,21 +20,9 @@ : "=b" (__result) : \ : "lr"); \ __result; }) -#else -# define TLS_IE(x) \ - ({ int *__result; \ - asm ("bl _GLOBAL_OFFSET_TABLE_@local-4\n\t" \ - "mflr %0\n\t" \ - "lwz %0," #x "@got@tprel(%0)\n\t" \ - "add %0,%0," #x "@tls" \ - : "=b" (__result) : \ - : "lr"); \ - __result; }) -#endif /* PowerPC32 Local Dynamic TLS access. */ -#ifdef HAVE_ASM_PPC_REL16 -# define TLS_LD(x) \ +#define TLS_LD(x) \ ({ int *__result; \ asm ("bcl 20,31,1f\n1:\t" \ "mflr 3\n\t" \ @@ -48,22 +34,9 @@ : "=r" (__result) : \ : "3", __TLS_CALL_CLOBBERS); \ __result; }) -#else -# define TLS_LD(x) \ - ({ int *__result; \ - asm ("bl _GLOBAL_OFFSET_TABLE_@local-4\n\t" \ - "mflr 3\n\t" \ - "addi 3,3," #x "@got@tlsld\n\t" \ - "bl __tls_get_addr@plt\n\t" \ - "addi %0,3," #x "@dtprel" \ - : "=r" (__result) : \ - : "3", __TLS_CALL_CLOBBERS); \ - __result; }) -#endif /* PowerPC32 General Dynamic TLS access. */ -#ifdef HAVE_ASM_PPC_REL16 -# define TLS_GD(x) \ +#define TLS_GD(x) \ ({ register int *__result __asm__ ("r3"); \ asm ("bcl 20,31,1f\n1:\t" \ "mflr 3\n\t" \ @@ -74,14 +47,3 @@ : "=r" (__result) : \ : __TLS_CALL_CLOBBERS); \ __result; }) -#else -# define TLS_GD(x) \ - ({ register int *__result __asm__ ("r3"); \ - asm ("bl _GLOBAL_OFFSET_TABLE_@local-4\n\t" \ - "mflr 3\n\t" \ - "addi 3,3," #x "@got@tlsgd\n\t" \ - "bl __tls_get_addr@plt" \ - : "=r" (__result) : \ - : __TLS_CALL_CLOBBERS); \ - __result; }) -#endif diff --git a/sysdeps/unix/sysv/linux/powerpc/powerpc32/swapcontext-common.S b/sysdeps/unix/sysv/linux/powerpc/powerpc32/swapcontext-common.S index 7924514dbf..d2681bd0e0 100644 --- a/sysdeps/unix/sysv/linux/powerpc/powerpc32/swapcontext-common.S +++ b/sysdeps/unix/sysv/linux/powerpc/powerpc32/swapcontext-common.S @@ -301,14 +301,9 @@ ENTRY(__CONTEXT_FUNC_NAME) # ifdef PIC mflr r8 -# ifdef HAVE_ASM_PPC_REL16 SETUP_GOT_ACCESS(r7,got_label) addis r7,r7,_GLOBAL_OFFSET_TABLE_-got_label@ha addi r7,r7,_GLOBAL_OFFSET_TABLE_-got_label@l -# else - bl _GLOBAL_OFFSET_TABLE_@local-4 - mflr r7 -# endif mtlr r8 # ifdef SHARED lwz r7,_rtld_global_ro@got(r7) |