diff options
author | Alan Modra <amodra@gmail.com> | 2015-03-19 18:28:38 +1030 |
---|---|---|
committer | Alan Modra <amodra@gmail.com> | 2015-03-23 15:33:59 +1030 |
commit | 59261ad3eb345e0d7b9f5c73e1a09d046991cea5 (patch) | |
tree | 58930c3e295515073cc42377c14dac50d2f20949 | |
parent | 9e70234cbd21923a1177cc443a4476d8227b6c4f (diff) | |
download | glibc-59261ad3eb345e0d7b9f5c73e1a09d046991cea5.zip glibc-59261ad3eb345e0d7b9f5c73e1a09d046991cea5.tar.gz glibc-59261ad3eb345e0d7b9f5c73e1a09d046991cea5.tar.bz2 |
Remove HAVE_ASM_PPC_REL16 references
In bc0cdc498 the configure check for HAVE_ASM_PPC_REL16 was removed
on the grounds that the minimum binutils supports rel16 relocs. This
is true, but not all references to HAVE_ASM_PPC_REL16 in the sources
were removed.
* 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.
-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
@@ -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 a1ae478..711ed08 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 0df0814..ee0eac4 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 7924514..d2681bd 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) |