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.
This commit is contained in:
parent
9e70234cbd
commit
59261ad3eb
|
@ -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
|
2015-03-21 Samuel Thibault <samuel.thibault@ens-lyon.org
|
||||||
|
|
||||||
* sysdeps/mach/hurd/Makefile ($(common-objpfx)errnos.d): Depend on
|
* sysdeps/mach/hurd/Makefile ($(common-objpfx)errnos.d): Depend on
|
||||||
|
|
|
@ -151,9 +151,6 @@
|
||||||
/* Define if inlined system calls are available. */
|
/* Define if inlined system calls are available. */
|
||||||
#undef HAVE_INLINED_SYSCALLS
|
#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. */
|
/* Define if your compiler defaults to -msecure-plt mode on ppc. */
|
||||||
#undef HAVE_PPC_SECURE_PLT
|
#undef HAVE_PPC_SECURE_PLT
|
||||||
|
|
||||||
|
|
|
@ -1,6 +1,5 @@
|
||||||
/* Include sysdeps/powerpc/tls-macros.h for __TLS_CALL_CLOBBERS */
|
/* Include sysdeps/powerpc/tls-macros.h for __TLS_CALL_CLOBBERS */
|
||||||
#include_next "tls-macros.h"
|
#include_next "tls-macros.h"
|
||||||
#include "config.h"
|
|
||||||
|
|
||||||
/* PowerPC32 Local Exec TLS access. */
|
/* PowerPC32 Local Exec TLS access. */
|
||||||
#define TLS_LE(x) \
|
#define TLS_LE(x) \
|
||||||
|
@ -10,8 +9,7 @@
|
||||||
__result; })
|
__result; })
|
||||||
|
|
||||||
/* PowerPC32 Initial Exec TLS access. */
|
/* PowerPC32 Initial Exec TLS access. */
|
||||||
#ifdef HAVE_ASM_PPC_REL16
|
#define TLS_IE(x) \
|
||||||
# define TLS_IE(x) \
|
|
||||||
({ int *__result; \
|
({ int *__result; \
|
||||||
asm ("bcl 20,31,1f\n1:\t" \
|
asm ("bcl 20,31,1f\n1:\t" \
|
||||||
"mflr %0\n\t" \
|
"mflr %0\n\t" \
|
||||||
|
@ -22,21 +20,9 @@
|
||||||
: "=b" (__result) : \
|
: "=b" (__result) : \
|
||||||
: "lr"); \
|
: "lr"); \
|
||||||
__result; })
|
__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. */
|
/* PowerPC32 Local Dynamic TLS access. */
|
||||||
#ifdef HAVE_ASM_PPC_REL16
|
#define TLS_LD(x) \
|
||||||
# define TLS_LD(x) \
|
|
||||||
({ int *__result; \
|
({ int *__result; \
|
||||||
asm ("bcl 20,31,1f\n1:\t" \
|
asm ("bcl 20,31,1f\n1:\t" \
|
||||||
"mflr 3\n\t" \
|
"mflr 3\n\t" \
|
||||||
|
@ -48,22 +34,9 @@
|
||||||
: "=r" (__result) : \
|
: "=r" (__result) : \
|
||||||
: "3", __TLS_CALL_CLOBBERS); \
|
: "3", __TLS_CALL_CLOBBERS); \
|
||||||
__result; })
|
__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. */
|
/* PowerPC32 General Dynamic TLS access. */
|
||||||
#ifdef HAVE_ASM_PPC_REL16
|
#define TLS_GD(x) \
|
||||||
# define TLS_GD(x) \
|
|
||||||
({ register int *__result __asm__ ("r3"); \
|
({ register int *__result __asm__ ("r3"); \
|
||||||
asm ("bcl 20,31,1f\n1:\t" \
|
asm ("bcl 20,31,1f\n1:\t" \
|
||||||
"mflr 3\n\t" \
|
"mflr 3\n\t" \
|
||||||
|
@ -74,14 +47,3 @@
|
||||||
: "=r" (__result) : \
|
: "=r" (__result) : \
|
||||||
: __TLS_CALL_CLOBBERS); \
|
: __TLS_CALL_CLOBBERS); \
|
||||||
__result; })
|
__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
|
|
||||||
|
|
|
@ -301,14 +301,9 @@ ENTRY(__CONTEXT_FUNC_NAME)
|
||||||
|
|
||||||
# ifdef PIC
|
# ifdef PIC
|
||||||
mflr r8
|
mflr r8
|
||||||
# ifdef HAVE_ASM_PPC_REL16
|
|
||||||
SETUP_GOT_ACCESS(r7,got_label)
|
SETUP_GOT_ACCESS(r7,got_label)
|
||||||
addis r7,r7,_GLOBAL_OFFSET_TABLE_-got_label@ha
|
addis r7,r7,_GLOBAL_OFFSET_TABLE_-got_label@ha
|
||||||
addi r7,r7,_GLOBAL_OFFSET_TABLE_-got_label@l
|
addi r7,r7,_GLOBAL_OFFSET_TABLE_-got_label@l
|
||||||
# else
|
|
||||||
bl _GLOBAL_OFFSET_TABLE_@local-4
|
|
||||||
mflr r7
|
|
||||||
# endif
|
|
||||||
mtlr r8
|
mtlr r8
|
||||||
# ifdef SHARED
|
# ifdef SHARED
|
||||||
lwz r7,_rtld_global_ro@got(r7)
|
lwz r7,_rtld_global_ro@got(r7)
|
||||||
|
|
Loading…
Reference in New Issue