Cleanup old obsolete PPC_REL16 checks

This commit is contained in:
Luis Machado 2010-02-12 07:55:01 -08:00 committed by Ulrich Drepper
parent c62cf60c6b
commit 41288fbb78
30 changed files with 45 additions and 182 deletions

View File

@ -1,3 +1,40 @@
2010-02-12 Luis Machado <luisgpm@br.ibm.com>
* sysdeps/powerpc/powerpc32/dl-machine.h: Removed old PPC_REL16
check.
* sysdeps/powerpc/powerpc32/dl-machine.h: Likewise.
* sysdeps/powerpc/powerpc32/elf/start.S: Likewise.
* sysdeps/powerpc/powerpc32/memset.S: Likewise.
* sysdeps/powerpc/powerpc32/power5/fpu/w_sqrt.S: Likewise.
* sysdeps/powerpc/powerpc32/power5/fpu/w_sqrtf.S: Likewise.
* sysdeps/powerpc/powerpc32/configure.in: Fail if R_PPC_REL16
is not supported.
* sysdeps/powerpc/powerpc32/fpu/s_round.S: Likewise.
* sysdeps/powerpc/powerpc32/fpu/s_truncf.S: Likewise.
* sysdeps/powerpc/powerpc32/fpu/__longjmp-common.S: Likewise.
* sysdeps/powerpc/powerpc32/fpu/s_floorf.S: Likewise.
* sysdeps/powerpc/powerpc32/fpu/s_ceilf.S: Likewise.
* sysdeps/powerpc/powerpc32/fpu/s_ceil.S: Likewise.
* sysdeps/powerpc/powerpc32/fpu/s_floor.S: Likewise.
* sysdeps/powerpc/powerpc32/fpu/s_roundf.S: Likewise.
* sysdeps/powerpc/powerpc32/fpu/s_rintf.S: Likewise.
* sysdeps/powerpc/powerpc32/fpu/s_trunc.S: Likewise.
* sysdeps/powerpc/powerpc32/fpu/setjmp-common.S: Likewise.
* sysdeps/powerpc/powerpc32/fpu/s_lround.S: Likewise.
* sysdeps/powerpc/powerpc32/fpu/s_rint.S: Likewise.
* sysdeps/powerpc/powerpc32/power4/fpu/w_sqrt.S: Likewise.
* sysdeps/powerpc/powerpc32/power4/fpu/s_llround.S: Likewise.
* sysdeps/powerpc/powerpc32/power4/fpu/w_sqrtf.S: Likewise.
* sysdeps/powerpc/powerpc32/dl-start.S: Likewise.
* sysdeps/unix/sysv/linux/powerpc/powerpc32/____longjmp_chk.S: Likewise.
* sysdeps/unix/sysv/linux/powerpc/powerpc32/setcontext-common.S:
Likewise.
* sysdeps/unix/sysv/linux/powerpc/powerpc32/swapcontext-common.S:
Likewise.
* sysdeps/unix/sysv/linux/powerpc/powerpc32/getcontext-common.S:
Likewise.
* sysdeps/unix/sysv/linux/powerpc/powerpc32/brk.S: Likewise.
2010-02-12 Alan Modra <amodra@gmail.com>
* elf/tls-macros.h (__TLS_CALL_CLOBBERS <__powerpc__>): Remove r3.

View File

@ -25,11 +25,10 @@ rm -f conftest*
fi
{ $as_echo "$as_me:$LINENO: result: $libc_cv_ppc_rel16" >&5
$as_echo "$libc_cv_ppc_rel16" >&6; }
if test $libc_cv_ppc_rel16 = yes; then
cat >>confdefs.h <<\_ACEOF
#define HAVE_ASM_PPC_REL16 1
_ACEOF
if test $libc_cv_ppc_rel16 = no; then
{ { $as_echo "$as_me:$LINENO: error: R_PPC_REL16 is not supported. Binutils is too old." >&5
$as_echo "$as_me: error: R_PPC_REL16 is not supported. Binutils is too old." >&2;}
{ (exit 1); exit 1; }; }
fi
# See whether GCC uses -msecure-plt.

View File

@ -13,8 +13,8 @@ else
libc_cv_ppc_rel16=no
fi
rm -f conftest*])
if test $libc_cv_ppc_rel16 = yes; then
AC_DEFINE(HAVE_ASM_PPC_REL16)
if test $libc_cv_ppc_rel16 = no; then
AC_MSG_ERROR(R_PPC_REL16 is not supported. Binutils is too old.)
fi
# See whether GCC uses -msecure-plt.

View File

@ -41,16 +41,13 @@ static inline Elf32_Addr * __attribute__ ((const))
ppc_got (void)
{
Elf32_Addr *got;
#ifdef HAVE_ASM_PPC_REL16
asm ("bcl 20,31,1f\n"
"1: mflr %0\n"
" addis %0,%0,_GLOBAL_OFFSET_TABLE_-1b@ha\n"
" addi %0,%0,_GLOBAL_OFFSET_TABLE_-1b@l\n"
: "=b" (got) : : "lr");
#else
asm (" bl _GLOBAL_OFFSET_TABLE_-4@local"
: "=l" (got));
#endif
return got;
}

View File

@ -47,15 +47,10 @@ _dl_start_user:
passed by value!). */
/* Put our GOT pointer in r31, */
#ifdef HAVE_ASM_PPC_REL16
bcl 20,31,1f
1: mflr r31
addis r31,r31,_GLOBAL_OFFSET_TABLE_-1b@ha
addi r31,r31,_GLOBAL_OFFSET_TABLE_-1b@l
#else
bl _GLOBAL_OFFSET_TABLE_-4@local
mflr r31
#endif
/* the address of _start in r30, */
mr r30,r3
/* &_dl_argc in 29, &_dl_argv in 27, and _dl_loaded in 28. */

View File

@ -53,10 +53,6 @@ L(start_addresses):
ASM_SIZE_DIRECTIVE(L(start_addresses))
.section ".text"
#if defined PIC && !defined HAVE_ASM_PPC_REL16
L(start_addressesp):
.long L(start_addresses)-L(branch)
#endif
ENTRY(_start)
/* Save the stack pointer, in case we're statically linked under Linux. */
mr r9,r1
@ -77,16 +73,10 @@ L(branch):
start_addresses in r8. Also load the GOT pointer so that new PLT
calls work, like the one to __libc_start_main. */
#ifdef PIC
# ifdef HAVE_ASM_PPC_REL16
addis r30,r13,_GLOBAL_OFFSET_TABLE_-L(branch)@ha
addis r8,r13,L(start_addresses)-L(branch)@ha
addi r30,r30,_GLOBAL_OFFSET_TABLE_-L(branch)@l
lwzu r13,L(start_addresses)-L(branch)@l(r8)
# else
lwz r8,L(start_addressesp)-L(branch)(r13)
add r8,r13,r8
lwz r13,0(r8)
# endif
#else
lis r8,L(start_addresses)@ha
lwzu r13,L(start_addresses)@l(r8)

View File

@ -34,15 +34,10 @@ ENTRY (BP_SYM (__longjmp))
# ifdef PIC
mflr r6
cfi_register (lr,r6)
# ifdef HAVE_ASM_PPC_REL16
bcl 20,31,1f
1: mflr r5
addis r5,r5,_GLOBAL_OFFSET_TABLE_-1b@ha
addi r5,r5,_GLOBAL_OFFSET_TABLE_-1b@l
# else
bl _GLOBAL_OFFSET_TABLE_@local-4
mflr r5
# endif
# ifdef SHARED
lwz r5,_rtld_global_ro@got(r5)
mtlr r6

View File

@ -31,17 +31,10 @@ ENTRY (__ceil)
#ifdef SHARED
mflr r11
cfi_register(lr,r11)
# ifdef HAVE_ASM_PPC_REL16
bcl 20,31,1f
1: mflr r9
addis r9,r9,.LC0-1b@ha
lfs fp13,.LC0-1b@l(r9)
# else
bl _GLOBAL_OFFSET_TABLE_@local-4
mflr r10
lwz r9,.LC0@got(10)
lfs fp13,0(r9)
# endif
mtlr r11
cfi_same_value (lr)
#else

View File

@ -30,17 +30,10 @@ ENTRY (__ceilf)
#ifdef SHARED
mflr r11
cfi_register(lr,r11)
# ifdef HAVE_ASM_PPC_REL16
bcl 20,31,1f
1: mflr r9
addis r9,r9,.LC0-1b@ha
lfs fp13,.LC0-1b@l(r9)
# else
bl _GLOBAL_OFFSET_TABLE_@local-4
mflr r10
lwz r9,.LC0@got(10)
lfs fp13,0(r9)
# endif
mtlr r11
cfi_same_value (lr)
#else

View File

@ -31,17 +31,10 @@ ENTRY (__floor)
#ifdef SHARED
mflr r11
cfi_register(lr,r11)
# ifdef HAVE_ASM_PPC_REL16
bcl 20,31,1f
1: mflr r9
addis r9,r9,.LC0-1b@ha
lfs fp13,.LC0-1b@l(r9)
# else
bl _GLOBAL_OFFSET_TABLE_@local-4
mflr r10
lwz r9,.LC0@got(10)
lfs fp13,0(r9)
# endif
mtlr r11
cfi_same_value (lr)
#else

View File

@ -30,17 +30,10 @@ ENTRY (__floorf)
#ifdef SHARED
mflr r11
cfi_register(lr,r11)
# ifdef HAVE_ASM_PPC_REL16
bcl 20,31,1f
1: mflr r9
addis r9,r9,.LC0-1b@ha
lfs fp13,.LC0-1b@l(r9)
# else
bl _GLOBAL_OFFSET_TABLE_@local-4
mflr r10
lwz r9,.LC0@got(10)
lfs fp13,0(r9)
# endif
mtlr r11
cfi_same_value (lr)
#else

View File

@ -45,17 +45,10 @@ ENTRY (__lround)
#ifdef SHARED
mflr r11
cfi_register(lr,r11)
# ifdef HAVE_ASM_PPC_REL16
bcl 20,31,1f
1: mflr r9
addis r9,r9,.LC0-1b@ha
lfs fp10,.LC0-1b@l(r9)
# else
bl _GLOBAL_OFFSET_TABLE_@local-4
mflr r10
lwz r9,.LC0@got(10)
lfs fp10,0(r9)
# endif
mtlr r11
cfi_same_value (lr)
#else

View File

@ -33,17 +33,10 @@ ENTRY (__rint)
#ifdef SHARED
mflr r11
cfi_register(lr,r11)
# ifdef HAVE_ASM_PPC_REL16
bcl 20,31,1f
1: mflr r9
addis r9,r9,.LC0-1b@ha
lfs fp13,.LC0-1b@l(r9)
# else
bl _GLOBAL_OFFSET_TABLE_@local-4
mflr r10
lwz r9,.LC0@got(10)
lfs fp13,0(r9)
# endif
mtlr r11
cfi_same_value (lr)
#else

View File

@ -29,17 +29,10 @@ ENTRY (__rintf)
#ifdef SHARED
mflr r11
cfi_register(lr,r11)
# ifdef HAVE_ASM_PPC_REL16
bcl 20,31,1f
1: mflr r9
addis r9,r9,.LC0-1b@ha
lfs fp13,.LC0-1b@l(r9)
# else
bl _GLOBAL_OFFSET_TABLE_@local-4
mflr r10
lwz r9,.LC0@got(10)
lfs fp13,0(r9)
# endif
mtlr r11
cfi_same_value (lr)
#else

View File

@ -43,16 +43,10 @@ ENTRY (__round)
#ifdef SHARED
mflr r11
cfi_register(lr,r11)
# ifdef HAVE_ASM_PPC_REL16
bcl 20,31,1f
1: mflr r9
addis r9,r9,.LC0-1b@ha
addi r9,r9,.LC0-1b@l
# else
bl _GLOBAL_OFFSET_TABLE_@local-4
mflr r10
lwz r9,.LC0@got(10)
# endif
mtlr r11
cfi_same_value (lr)
lfs fp13,0(r9)

View File

@ -42,16 +42,10 @@ ENTRY (__roundf )
#ifdef SHARED
mflr r11
cfi_register(lr,r11)
# ifdef HAVE_ASM_PPC_REL16
bcl 20,31,1f
1: mflr r9
addis r9,r9,.LC0-1b@ha
addi r9,r9,.LC0-1b@l
# else
bl _GLOBAL_OFFSET_TABLE_@local-4
mflr r10
lwz r9,.LC0@got(10)
# endif
mtlr r11
cfi_same_value (lr)
lfs fp13,0(r9)

View File

@ -38,17 +38,10 @@ ENTRY (__trunc)
#ifdef SHARED
mflr r11
cfi_register(lr,r11)
# ifdef HAVE_ASM_PPC_REL16
bcl 20,31,1f
1: mflr r9
addis r9,r9,.LC0-1b@ha
lfs fp13,.LC0-1b@l(r9)
# else
bl _GLOBAL_OFFSET_TABLE_@local-4
mflr r10
lwz r9,.LC0@got(10)
lfs fp13,0(r9)
# endif
mtlr r11
cfi_same_value (lr)
#else

View File

@ -37,17 +37,10 @@ ENTRY (__truncf)
#ifdef SHARED
mflr r11
cfi_register(lr,r11)
# ifdef HAVE_ASM_PPC_REL16
bcl 20,31,1f
1: mflr r9
addis r9,r9,.LC0-1b@ha
lfs fp13,.LC0-1b@l(r9)
# else
bl _GLOBAL_OFFSET_TABLE_@local-4
mflr r10
lwz r9,.LC0@got(10)
lfs fp13,0(r9)
# endif
mtlr r11
cfi_same_value (lr)
#else

View File

@ -85,15 +85,10 @@ ENTRY (BP_SYM (__sigsetjmp))
# ifdef PIC
mflr r6
cfi_register(lr,r6)
# ifdef HAVE_ASM_PPC_REL16
bcl 20,31,1f
1: mflr r5
addis r5,r5,_GLOBAL_OFFSET_TABLE_-1b@ha
addi r5,r5,_GLOBAL_OFFSET_TABLE_-1b@l
# else
bl _GLOBAL_OFFSET_TABLE_@local-4
mflr r5
# endif
mtlr r6
cfi_same_value (lr)
# ifdef SHARED

View File

@ -256,17 +256,10 @@ L(checklinesize):
beq L(medium)
/* Establishes GOT addressability so we can load __cache_line_size
from static. This value was set from the aux vector during startup. */
# ifdef HAVE_ASM_PPC_REL16
bcl 20,31,1f
1: mflr rGOT
addis rGOT,rGOT,__cache_line_size-1b@ha
lwz rCLS,__cache_line_size-1b@l(rGOT)
# else
bl _GLOBAL_OFFSET_TABLE_@local-4
mflr rGOT
lwz rGOT,__cache_line_size@got(rGOT)
lwz rCLS,0(rGOT)
# endif
mtlr rTMP
#else
/* Load __cache_line_size from static. This value was set from the

View File

@ -53,16 +53,10 @@ ENTRY (__llround)
#ifdef SHARED
mflr r11
cfi_register(lr,r11)
# ifdef HAVE_ASM_PPC_REL16
bcl 20,31,1f
1: mflr r9
addis r9,r9,.LC0-1b@ha
addi r9,r9,.LC0-1b@l
# else
bl _GLOBAL_OFFSET_TABLE_@local-4
mflr r10
lwz r9,.LC0@got(10)
# endif
mtlr r11
cfi_same_value (lr)
lfd fp9,0(r9)

View File

@ -63,7 +63,6 @@ EALIGN (__sqrt, 5, 0)
cfi_offset(lr,20-16)
cfi_offset(r30,8-16)
#ifdef SHARED
# ifdef HAVE_ASM_PPC_REL16
bcl 20,31,.LCF1
.LCF1:
mflr r30
@ -71,12 +70,6 @@ EALIGN (__sqrt, 5, 0)
addi r30,r30,_GLOBAL_OFFSET_TABLE_-.LCF1@l
lwz r9,_LIB_VERSION@got(30)
lwz r0,0(r9)
# else
bl _GLOBAL_OFFSET_TABLE_@local-4
mflr r30
lwz r9,_LIB_VERSION@got(30)
lwz r0,0(r9)
# endif
#else
lis r9,_LIB_VERSION@ha
lwz r0,_LIB_VERSION@l(r9)

View File

@ -63,7 +63,6 @@ EALIGN (__sqrtf, 5, 0)
cfi_offset(lr,20-16)
cfi_offset(r30,8-16)
#ifdef SHARED
# ifdef HAVE_ASM_PPC_REL16
bcl 20,31,.LCF1
.LCF1:
mflr r30
@ -71,12 +70,6 @@ EALIGN (__sqrtf, 5, 0)
addi r30,r30,_GLOBAL_OFFSET_TABLE_-.LCF1@l
lwz r9,_LIB_VERSION@got(30)
lwz r0,0(r9)
# else
bl _GLOBAL_OFFSET_TABLE_@local-4
mflr r30
lwz r9,_LIB_VERSION@got(30)
lwz r0,0(r9)
# endif
#else
lis r9,_LIB_VERSION@ha
lwz r0,_LIB_VERSION@l(r9)

View File

@ -63,7 +63,6 @@ EALIGN (__sqrt, 5, 0)
cfi_offset(lr,20-16)
cfi_offset(r30,8-16)
#ifdef SHARED
# ifdef HAVE_ASM_PPC_REL16
bcl 20,31,.LCF1
.LCF1:
mflr r30
@ -71,12 +70,6 @@ EALIGN (__sqrt, 5, 0)
addi r30,r30,_GLOBAL_OFFSET_TABLE_-.LCF1@l
lwz r9,_LIB_VERSION@got(30)
lwz r0,0(r9)
# else
bl _GLOBAL_OFFSET_TABLE_@local-4
mflr r30
lwz r9,_LIB_VERSION@got(30)
lwz r0,0(r9)
# endif
#else
lis r9,_LIB_VERSION@ha
lwz r0,_LIB_VERSION@l(r9)

View File

@ -63,7 +63,6 @@ EALIGN (__sqrtf, 5, 0)
cfi_offset(lr,20-16)
cfi_offset(r30,8-16)
#ifdef SHARED
# ifdef HAVE_ASM_PPC_REL16
bcl 20,31,.LCF1
.LCF1:
mflr r30
@ -71,12 +70,6 @@ EALIGN (__sqrtf, 5, 0)
addi r30,r30,_GLOBAL_OFFSET_TABLE_-.LCF1@l
lwz r9,_LIB_VERSION@got(30)
lwz r0,0(r9)
# else
bl _GLOBAL_OFFSET_TABLE_@local-4
mflr r30
lwz r9,_LIB_VERSION@got(30)
lwz r0,0(r9)
# endif
#else
lis r9,_LIB_VERSION@ha
lwz r0,_LIB_VERSION@l(r9)

View File

@ -28,7 +28,6 @@
#define __longjmp ____longjmp_chk
#ifdef PIC
# ifdef HAVE_ASM_PPC_REL16
# define LOAD_ARG \
bcl 20,31,1f; \
1: mflr r3; \
@ -36,12 +35,6 @@
addi r3,r3,_GLOBAL_OFFSET_TABLE_-1b@l; \
lwz r3,.LC0@got(r3)
#else
# define LOAD_ARG \
bl _GLOBAL_OFFSET_TABLE_-4@local; \
mflr r3; \
lwz r3,.LC0@got(r3)
# endif
#else
# define LOAD_ARG \
lis r3,.LC0@ha; \
la r3,.LC0@l(r3)

View File

@ -36,17 +36,10 @@ ENTRY (BP_SYM (__brk))
DO_CALL(SYS_ify(brk))
lwz r6,8(r1)
#ifdef PIC
# ifdef HAVE_ASM_PPC_REL16
bcl 20,31,1f
1: mflr r5
addis r5,r5,__curbrk-1b@ha
stw r3,__curbrk-1b@l(r5)
# else
bl _GLOBAL_OFFSET_TABLE_@local-4
mflr r5
lwz r5,__curbrk@got(r5)
stw r3,0(r5)
# endif
#else
lis r4,__curbrk@ha
stw r3,__curbrk@l(r4)

View File

@ -145,15 +145,10 @@ ENTRY(__CONTEXT_FUNC_NAME)
# ifdef __CONTEXT_ENABLE_VRS
# ifdef PIC
mflr r8
# ifdef HAVE_ASM_PPC_REL16
bcl 20,31,1f
1: mflr r7
addis r7,r7,_GLOBAL_OFFSET_TABLE_-1b@ha
addi r7,r7,_GLOBAL_OFFSET_TABLE_-1b@l
# else
bl _GLOBAL_OFFSET_TABLE_@local-4
mflr r7
# endif
# ifdef SHARED
lwz r7,_rtld_global_ro@got(r7)
mtlr r8

View File

@ -73,15 +73,10 @@ ENTRY(__CONTEXT_FUNC_NAME)
#ifdef PIC
mflr r8
# ifdef HAVE_ASM_PPC_REL16
bcl 20,31,1f
1: mflr r7
addis r7,r7,_GLOBAL_OFFSET_TABLE_-1b@ha
addi r7,r7,_GLOBAL_OFFSET_TABLE_-1b@l
# else
bl _GLOBAL_OFFSET_TABLE_@local-4
mflr r7
# endif
# ifdef SHARED
lwz r7,_rtld_global_ro@got(r7)
mtlr r8

View File

@ -146,15 +146,10 @@ ENTRY(__CONTEXT_FUNC_NAME)
# ifdef PIC
mflr r8
# ifdef HAVE_ASM_PPC_REL16
bcl 20,31,1f
1: mflr r7
addis r7,r7,_GLOBAL_OFFSET_TABLE_-1b@ha
addi r7,r7,_GLOBAL_OFFSET_TABLE_-1b@l
# else
bl _GLOBAL_OFFSET_TABLE_@local-4
mflr r7
# endif
# ifdef SHARED
lwz r7,_rtld_global_ro@got(r7)
mtlr r8