diff options
author | Ulrich Drepper <drepper@redhat.com> | 2005-05-21 19:29:13 +0000 |
---|---|---|
committer | Ulrich Drepper <drepper@redhat.com> | 2005-05-21 19:29:13 +0000 |
commit | b0e196a46f41fcc8773a2005f83e58b51d378656 (patch) | |
tree | 85beae2a870097219e8bba0fae1719e8879c9ec3 /sysdeps | |
parent | f7d78e18aa7027910c57a94f9c430ffdcbcf29fc (diff) | |
download | glibc-b0e196a46f41fcc8773a2005f83e58b51d378656.tar.gz glibc-b0e196a46f41fcc8773a2005f83e58b51d378656.tar.xz glibc-b0e196a46f41fcc8773a2005f83e58b51d378656.zip |
* sysdeps/powerpc/powerpc32/sysdep.h (PSEUDO_RET): Don't use
JUMPTARGET. Instead append @local to __syscall_error. * sysdeps/powerpc/powerpc32/bsd-_setjmp.S: Delete all occurrences of JUMPTARGET. Instead append @local to labels. * sysdeps/powerpc/powerpc32/bsd-setjmp.S: Likewise. * sysdeps/powerpc/powerpc32/fpu/setjmp-common.S: Likewise. * sysdeps/powerpc/powerpc32/ppc-mcount.S: Likewise. * sysdeps/powerpc/powerpc32/setjmp-common.S: Likewise. * sysdeps/unix/sysv/linux/powerpc/powerpc32/brk.S: Likewise. * sysdeps/unix/sysv/linux/powerpc/powerpc32/clone.S: Likewise. * sysdeps/unix/sysv/linux/powerpc/powerpc32/getcontext.S: Likewise. * sysdeps/unix/sysv/linux/powerpc/powerpc32/makecontext.S: Likewise. * sysdeps/unix/sysv/linux/powerpc/powerpc32/setcontext.S: Likewise. * sysdeps/unix/sysv/linux/powerpc/powerpc32/swapcontext.S: Likewise. * sysdeps/unix/sysv/linux/powerpc/powerpc32/vfork.S: Likewise. * sysdeps/powerpc/powerpc32/fpu/s_ceil.S: Use float constants. * sysdeps/powerpc/powerpc32/fpu/s_floor.S: Likewise. * sysdeps/powerpc/powerpc32/fpu/s_rint.S: Likewise. * sysdeps/powerpc/powerpc32/fpu/s_trunc.S: Likewise. * sysdeps/powerpc/powerpc32/fpu/s_lround.S: Likewise. Use one GOT slot to access both constants. * sysdeps/powerpc/powerpc32/fpu/s_round.S: Likewise. * sysdeps/powerpc/powerpc32/fpu/s_roundf.S: Likewise.
Diffstat (limited to 'sysdeps')
20 files changed, 62 insertions, 73 deletions
diff --git a/sysdeps/powerpc/powerpc32/bsd-_setjmp.S b/sysdeps/powerpc/powerpc32/bsd-_setjmp.S index 50deda8c90..4c28c2e547 100644 --- a/sysdeps/powerpc/powerpc32/bsd-_setjmp.S +++ b/sysdeps/powerpc/powerpc32/bsd-_setjmp.S @@ -26,7 +26,7 @@ /* Build a non-versioned object for rtld-*. */ ENTRY (BP_SYM (_setjmp)) li r4,0 /* Set second argument to 0. */ - b JUMPTARGET(BP_SYM (__sigsetjmp)) + b BP_SYM (__sigsetjmp@local) END (BP_SYM (_setjmp)) libc_hidden_def (_setjmp) #else @@ -37,7 +37,7 @@ symbol_version (__novmx_setjmp,_setjmp,GLIBC_2.0); ENTRY (BP_SYM (__novmx_setjmp)) li r4,0 /* Set second argument to 0. */ - b JUMPTARGET(BP_SYM (__novmx__sigsetjmp)) + b BP_SYM (__novmx__sigsetjmp@local) END (BP_SYM (__novmx_setjmp)) libc_hidden_def (__novmx_setjmp) # endif /* defined SHARED && SHLIB_COMPAT (libc, GLIBC_2_0, GLIBC_2_3_4) */ @@ -48,12 +48,12 @@ default_symbol_version (__vmx_setjmp,_setjmp,GLIBC_2.3.4) if HAVE_CLEANUP_JMP_BUF is defined */ ENTRY (BP_SYM (__GI__setjmp)) li r4,0 /* Set second argument to 0. */ - b JUMPTARGET(BP_SYM (__vmx__sigsetjmp)) + b BP_SYM (__vmx__sigsetjmp@local) END (BP_SYM (__GI__setjmp)) ENTRY (BP_SYM (__vmx_setjmp)) li r4,0 /* Set second argument to 0. */ - b JUMPTARGET(BP_SYM (__vmx__sigsetjmp)) + b BP_SYM (__vmx__sigsetjmp@local) END (BP_SYM (__vmx_setjmp)) libc_hidden_def (__vmx_setjmp) #endif /* !NOT_IN_libc */ diff --git a/sysdeps/powerpc/powerpc32/bsd-setjmp.S b/sysdeps/powerpc/powerpc32/bsd-setjmp.S index 159b122ca5..01b195d832 100644 --- a/sysdeps/powerpc/powerpc32/bsd-setjmp.S +++ b/sysdeps/powerpc/powerpc32/bsd-setjmp.S @@ -25,7 +25,7 @@ ENTRY (__novmxsetjmp) li r4,1 /* Set second argument to 1. */ - b JUMPTARGET (__novmx__sigsetjmp) + b __novmx__sigsetjmp@local END (__novmxsetjmp) strong_alias (__novmxsetjmp, __novmx__setjmp) symbol_version (__novmxsetjmp, setjmp, GLIBC_2.0) @@ -34,7 +34,7 @@ symbol_version (__novmxsetjmp, setjmp, GLIBC_2.0) ENTRY (__vmxsetjmp) li r4,1 /* Set second argument to 1. */ - b JUMPTARGET (__vmx__sigsetjmp) + b __vmx__sigsetjmp@local END (__vmxsetjmp) strong_alias (__vmxsetjmp, __vmx__setjmp) strong_alias (__vmx__setjmp, __setjmp) diff --git a/sysdeps/powerpc/powerpc32/fpu/s_ceil.S b/sysdeps/powerpc/powerpc32/fpu/s_ceil.S index b76e9ff421..7924e34648 100644 --- a/sysdeps/powerpc/powerpc32/fpu/s_ceil.S +++ b/sysdeps/powerpc/powerpc32/fpu/s_ceil.S @@ -19,11 +19,10 @@ #include <sysdep.h> - .section .rodata.cst8,"aM",@progbits,8 - .align 3 + .section .rodata.cst4,"aM",@progbits,4 + .align 2 .LC0: /* 2**52 */ - .long 0x43300000 - .long 0 + .long 0x59800000 .section ".text" ENTRY (__ceil) @@ -34,10 +33,10 @@ ENTRY (__ceil) mflr r10 lwz r9,.LC0@got(10) mtlr r11 - lfd fp13,0(r9) + lfs fp13,0(r9) #else lis r9,.LC0@ha - lfd fp13,.LC0@l(r9) + lfs fp13,.LC0@l(r9) #endif fabs fp0,fp1 fsub fp12,fp13,fp13 /* generate 0.0 */ diff --git a/sysdeps/powerpc/powerpc32/fpu/s_floor.S b/sysdeps/powerpc/powerpc32/fpu/s_floor.S index 6b79ca4f17..c8f59c24a6 100644 --- a/sysdeps/powerpc/powerpc32/fpu/s_floor.S +++ b/sysdeps/powerpc/powerpc32/fpu/s_floor.S @@ -19,11 +19,10 @@ #include <sysdep.h> - .section .rodata.cst8,"aM",@progbits,8 - .align 3 + .section .rodata.cst4,"aM",@progbits,4 + .align 2 .LC0: /* 2**52 */ - .long 0x43300000 - .long 0 + .long 0x59800000 .section ".text" ENTRY (__floor) @@ -34,10 +33,10 @@ ENTRY (__floor) mflr r10 lwz r9,.LC0@got(10) mtlr r11 - lfd fp13,0(r9) + lfs fp13,0(r9) #else lis r9,.LC0@ha - lfd fp13,.LC0@l(r9) + lfs fp13,.LC0@l(r9) #endif fabs fp0,fp1 fsub fp12,fp13,fp13 /* generate 0.0 */ diff --git a/sysdeps/powerpc/powerpc32/fpu/s_lround.S b/sysdeps/powerpc/powerpc32/fpu/s_lround.S index ddac896e87..72fd49ba46 100644 --- a/sysdeps/powerpc/powerpc32/fpu/s_lround.S +++ b/sysdeps/powerpc/powerpc32/fpu/s_lround.S @@ -20,13 +20,11 @@ #include <sysdep.h> .section .rodata.cst8,"aM",@progbits,8 - .align 3 + .align 2 .LC0: /* 0.0 */ .long 0x00000000 - .long 0 .LC1: /* 0.5 */ - .long 0x3fe00000 - .long 0 + .long 0x3f000000 .section ".text" @@ -47,17 +45,16 @@ ENTRY (__lround) mflr r10 lwz r9,.LC0@got(10) mtlr r11 - lfd fp12,0(r9) + lfs fp12,0(r9) #else lis r9,.LC0@ha - lfd fp12,.LC0@l(r9) + lfs fp12,.LC0@l(r9) #endif #ifdef SHARED - lwz r9,.LC1@got(10) - lfd fp10,0(r9) + lfs fp10,.LC1-.LC0(r9) #else lis r9,.LC1@ha - lfd fp10,.LC1@l(r9) + lfs fp10,.LC1@l(r9) #endif fcmpu cr6,fp1,fp12 /* if (x > 0.0) */ ble- cr6,.L4 diff --git a/sysdeps/powerpc/powerpc32/fpu/s_rint.S b/sysdeps/powerpc/powerpc32/fpu/s_rint.S index 5d65f12581..4abdcedfe8 100644 --- a/sysdeps/powerpc/powerpc32/fpu/s_rint.S +++ b/sysdeps/powerpc/powerpc32/fpu/s_rint.S @@ -22,11 +22,10 @@ #include <sysdep.h> - .section .rodata.cst8,"aM",@progbits,8 - .align 3 + .section .rodata.cst4,"aM",@progbits,4 + .align 2 .LC0: /* 2**52 */ - .long 0x43300000 - .long 0 + .long 0x59800000 .section ".text" ENTRY (__rint) @@ -36,10 +35,10 @@ ENTRY (__rint) mflr r10 lwz r9,.LC0@got(10) mtlr r11 - lfd fp13,0(r9) + lfs fp13,0(r9) #else lis r9,.LC0@ha - lfd fp13,.LC0@l(r9) + lfs fp13,.LC0@l(r9) #endif fabs fp0,fp1 fsub fp12,fp13,fp13 /* generate 0.0 */ diff --git a/sysdeps/powerpc/powerpc32/fpu/s_round.S b/sysdeps/powerpc/powerpc32/fpu/s_round.S index 7eec8c641e..96fc2984fd 100644 --- a/sysdeps/powerpc/powerpc32/fpu/s_round.S +++ b/sysdeps/powerpc/powerpc32/fpu/s_round.S @@ -20,13 +20,11 @@ #include <sysdep.h> .section .rodata.cst8,"aM",@progbits,8 - .align 3 + .align 2 .LC0: /* 2**52 */ - .long 0x43300000 - .long 0 + .long 0x59800000 .LC1: /* 0.5 */ - .long 0x3fe00000 - .long 0 + .long 0x3f000000 /* double [fp1] round (double x [fp1]) IEEE 1003.1 round function. IEEE specifies "round to the nearest @@ -47,10 +45,10 @@ ENTRY (__round) mflr r10 lwz r9,.LC0@got(10) mtlr r11 - lfd fp13,0(r9) + lfs fp13,0(r9) #else lis r9,.LC0@ha - lfd fp13,.LC0@l(r9) + lfs fp13,.LC0@l(r9) #endif fabs fp0,fp1 fsub fp12,fp13,fp13 /* generate 0.0 */ @@ -59,11 +57,10 @@ ENTRY (__round) bnllr- cr7 mtfsfi 7,1 /* Set rounding mode toward 0. */ #ifdef SHARED - lwz r9,.LC1@got(10) - lfd fp10,0(r9) + lfs fp10,.LC1-.LC0(r9) #else lis r9,.LC1@ha - lfd fp10,.LC1@l(r9) + lfs fp10,.LC1@l(r9) #endif ble- cr6,.L4 fadd fp1,fp1,fp10 /* x+= 0.5; */ diff --git a/sysdeps/powerpc/powerpc32/fpu/s_roundf.S b/sysdeps/powerpc/powerpc32/fpu/s_roundf.S index 856be6f115..87965dea80 100644 --- a/sysdeps/powerpc/powerpc32/fpu/s_roundf.S +++ b/sysdeps/powerpc/powerpc32/fpu/s_roundf.S @@ -19,8 +19,8 @@ #include <sysdep.h> - .section .rodata.cst4,"aM",@progbits,4 - .align 2 + .section .rodata.cst8,"aM",@progbits,8 + .align 2 .LC0: /* 2**23 */ .long 0x4b000000 .LC1: /* 0.5 */ @@ -57,8 +57,7 @@ ENTRY (__roundf ) bnllr- cr7 mtfsfi 7,1 /* Set rounding mode toward 0. */ #ifdef SHARED - lwz r9,.LC1@got(10) - lfs fp10,0(r9) + lfs fp10,.LC1-.LC0(r9) #else lis r9,.LC1@ha lfs fp10,.LC1@l(r9) diff --git a/sysdeps/powerpc/powerpc32/fpu/s_trunc.S b/sysdeps/powerpc/powerpc32/fpu/s_trunc.S index 59c71470be..7a3e705a81 100644 --- a/sysdeps/powerpc/powerpc32/fpu/s_trunc.S +++ b/sysdeps/powerpc/powerpc32/fpu/s_trunc.S @@ -19,11 +19,10 @@ #include <sysdep.h> - .section .rodata.cst8,"aM",@progbits,8 - .align 3 + .section .rodata.cst4,"aM",@progbits,4 + .align 2 .LC0: /* 2**52 */ - .long 0x43300000 - .long 0 + .long 0x59800000 /* double [fp1] trunc (double x [fp1]) IEEE 1003.1 trunc function. IEEE specifies "trunc to the integer @@ -41,10 +40,10 @@ ENTRY (__trunc) mflr r10 lwz r9,.LC0@got(10) mtlr r11 - lfd fp13,0(r9) + lfs fp13,0(r9) #else lis r9,.LC0@ha - lfd fp13,.LC0@l(r9) + lfs fp13,.LC0@l(r9) #endif fabs fp0,fp1 fsub fp12,fp13,fp13 /* generate 0.0 */ diff --git a/sysdeps/powerpc/powerpc32/fpu/setjmp-common.S b/sysdeps/powerpc/powerpc32/fpu/setjmp-common.S index 77ee05f487..e0c0606da4 100644 --- a/sysdeps/powerpc/powerpc32/fpu/setjmp-common.S +++ b/sysdeps/powerpc/powerpc32/fpu/setjmp-common.S @@ -164,5 +164,5 @@ L(aligned_save_vmx): stvx 31,0,r6 L(no_vmx): #endif - b JUMPTARGET (BP_SYM (__sigjmp_save)) + b BP_SYM (__sigjmp_save@local) END (BP_SYM (__sigsetjmp)) diff --git a/sysdeps/powerpc/powerpc32/ppc-mcount.S b/sysdeps/powerpc/powerpc32/ppc-mcount.S index a72d676bbe..314c8ee703 100644 --- a/sysdeps/powerpc/powerpc32/ppc-mcount.S +++ b/sysdeps/powerpc/powerpc32/ppc-mcount.S @@ -62,7 +62,7 @@ ENTRY(_mcount) stw r10,40(r1) stw r4, 44(r1) stw r5, 8(r1) - bl JUMPTARGET(__mcount_internal) + bl __mcount_internal@local nop /* Restore the registers... */ lwz r6, 8(r1) diff --git a/sysdeps/powerpc/powerpc32/setjmp-common.S b/sysdeps/powerpc/powerpc32/setjmp-common.S index 40f626498c..ad7113f461 100644 --- a/sysdeps/powerpc/powerpc32/setjmp-common.S +++ b/sysdeps/powerpc/powerpc32/setjmp-common.S @@ -55,5 +55,5 @@ ENTRY (BP_SYM (__sigsetjmp)) stw r29,((JB_GPRS+15)*4)(3) stw r30,((JB_GPRS+16)*4)(3) stw r31,((JB_GPRS+17)*4)(3) - b JUMPTARGET (BP_SYM (__sigjmp_save)) + b BP_SYM (__sigjmp_save@local) END (BP_SYM (__sigsetjmp)) diff --git a/sysdeps/powerpc/powerpc32/sysdep.h b/sysdeps/powerpc/powerpc32/sysdep.h index 59761f75b9..775073f325 100644 --- a/sysdeps/powerpc/powerpc32/sysdep.h +++ b/sysdeps/powerpc/powerpc32/sysdep.h @@ -124,7 +124,7 @@ #define PSEUDO_RET \ bnslr+; \ - b JUMPTARGET(__syscall_error) + b __syscall_error@local #define ret PSEUDO_RET #undef PSEUDO_END diff --git a/sysdeps/unix/sysv/linux/powerpc/powerpc32/brk.S b/sysdeps/unix/sysv/linux/powerpc/powerpc32/brk.S index 8ecbb548a2..a737322e2a 100644 --- a/sysdeps/unix/sysv/linux/powerpc/powerpc32/brk.S +++ b/sysdeps/unix/sysv/linux/powerpc/powerpc32/brk.S @@ -48,7 +48,7 @@ ENTRY (BP_SYM (__brk)) li r3,0 blelr+ li r3,ENOMEM - b JUMPTARGET(__syscall_error) + b __syscall_error@local END (BP_SYM (__brk)) weak_alias (BP_SYM (__brk), BP_SYM (brk)) diff --git a/sysdeps/unix/sysv/linux/powerpc/powerpc32/clone.S b/sysdeps/unix/sysv/linux/powerpc/powerpc32/clone.S index f232284747..43d44ea418 100644 --- a/sysdeps/unix/sysv/linux/powerpc/powerpc32/clone.S +++ b/sysdeps/unix/sysv/linux/powerpc/powerpc32/clone.S @@ -132,11 +132,11 @@ L(parent): #endif addi r1,r1,32 bnslr+ - b JUMPTARGET(__syscall_error) + b __syscall_error@local L(badargs): li r3,EINVAL - b JUMPTARGET(__syscall_error) + b __syscall_error@local END (BP_SYM (__clone)) weak_alias (BP_SYM (__clone), BP_SYM (clone)) diff --git a/sysdeps/unix/sysv/linux/powerpc/powerpc32/getcontext.S b/sysdeps/unix/sysv/linux/powerpc/powerpc32/getcontext.S index 4c75354a5f..4e6cf4b352 100644 --- a/sysdeps/unix/sysv/linux/powerpc/powerpc32/getcontext.S +++ b/sysdeps/unix/sysv/linux/powerpc/powerpc32/getcontext.S @@ -251,7 +251,7 @@ L(no_vec): stw r3,_UC_REGS_PTR(r12) addi r5,r12,_UC_SIGMASK li r3,SIG_BLOCK - bl JUMPTARGET(__sigprocmask) + bl __sigprocmask@local lwz r0,_FRAME_LR_SAVE+16(r1) addi r1,r1,16 @@ -363,7 +363,7 @@ ENTRY(__novec_getcontext) addi r5,r3,_UC_SIGMASK - _UC_REG_SPACE li r4,0 li r3,SIG_BLOCK - bl JUMPTARGET(__sigprocmask) + bl __sigprocmask@local lwz r0,20(r1) addi r1,r1,16 @@ -384,7 +384,7 @@ compat_symbol (libc, __novec_getcontext, getcontext, GLIBC_2_3_3) compat_text_section ENTRY (__getcontext_stub) li r3,ENOSYS - b JUMPTARGET(__syscall_error) + b __syscall_error@local END (__getcontext_stub) .previous diff --git a/sysdeps/unix/sysv/linux/powerpc/powerpc32/makecontext.S b/sysdeps/unix/sysv/linux/powerpc/powerpc32/makecontext.S index 5615718e11..b220f631ec 100644 --- a/sysdeps/unix/sysv/linux/powerpc/powerpc32/makecontext.S +++ b/sysdeps/unix/sysv/linux/powerpc/powerpc32/makecontext.S @@ -101,7 +101,7 @@ ENTRY(__makecontext) L(exitcode): mr. r3,r31 beq 4f - bl JUMPTARGET(__setcontext) + bl __setcontext@local 4: bl HIDDEN_JUMPTARGET(exit) b 4b @@ -188,7 +188,7 @@ ENTRY(__novec_makecontext) L(novec_exitcode): mr. r3,r31 beq 4f - bl JUMPTARGET(__novec_setcontext) + bl __novec_setcontext@local 4: bl HIDDEN_JUMPTARGET(exit) b 4b @@ -206,7 +206,7 @@ compat_symbol (libc, __novec_makecontext, makecontext, GLIBC_2_3_3) compat_text_section ENTRY (__makecontext_stub) li r3,ENOSYS - b JUMPTARGET(__syscall_error) + b __syscall_error@local END (__makecontext_stub) .previous diff --git a/sysdeps/unix/sysv/linux/powerpc/powerpc32/setcontext.S b/sysdeps/unix/sysv/linux/powerpc/powerpc32/setcontext.S index 2d4fa9910e..b7a82a0182 100644 --- a/sysdeps/unix/sysv/linux/powerpc/powerpc32/setcontext.S +++ b/sysdeps/unix/sysv/linux/powerpc/powerpc32/setcontext.S @@ -52,7 +52,7 @@ ENTRY(__setcontext) li r5,0 addi r4,r3,_UC_SIGMASK li r3,SIG_SETMASK - bl JUMPTARGET(__sigprocmask) + bl __sigprocmask@local cmpwi r3,0 bne L(error_exit) @@ -295,7 +295,7 @@ ENTRY(__novec_setcontext) li r5,0 addi r4,r3,_UC_SIGMASK li r3,SIG_SETMASK - bl JUMPTARGET(__sigprocmask) + bl __sigprocmask@local cmpwi r3,0 bne L(novec_error_exit) @@ -405,7 +405,7 @@ compat_symbol (libc, __novec_setcontext, setcontext, GLIBC_2_3_3) compat_text_section ENTRY (__setcontext_stub) li r3,ENOSYS - b JUMPTARGET(__syscall_error) + b __syscall_error@local END (__setcontext_stub) .previous diff --git a/sysdeps/unix/sysv/linux/powerpc/powerpc32/swapcontext.S b/sysdeps/unix/sysv/linux/powerpc/powerpc32/swapcontext.S index c4f0faddc3..0c84d48d10 100644 --- a/sysdeps/unix/sysv/linux/powerpc/powerpc32/swapcontext.S +++ b/sysdeps/unix/sysv/linux/powerpc/powerpc32/swapcontext.S @@ -249,7 +249,7 @@ L(no_vec): stw r3,_UC_REGS_PTR(r12) addi r5,r12,_UC_SIGMASK li r3,SIG_SETMASK - bl JUMPTARGET(__sigprocmask) + bl __sigprocmask@local cmpwi r3,0 bne L(error_exit) @@ -579,7 +579,7 @@ ENTRY(__novec_swapcontext) addi r5,r3,_UC_SIGMASK - _UC_REG_SPACE addi r4,r4,_UC_SIGMASK li r3,SIG_SETMASK - bl JUMPTARGET(__sigprocmask) + bl __sigprocmask@local cmpwi r3,0 bne L(novec_error_exit) @@ -706,7 +706,7 @@ compat_symbol (libc, __novec_swapcontext, swapcontext, GLIBC_2_3_3) compat_text_section ENTRY (__swapcontext_stub) li r3,ENOSYS - b JUMPTARGET(__syscall_error) + b __syscall_error@local END (__swapcontext_stub) .previous diff --git a/sysdeps/unix/sysv/linux/powerpc/powerpc32/vfork.S b/sysdeps/unix/sysv/linux/powerpc/powerpc32/vfork.S index 5fb7868c31..66a149f10b 100644 --- a/sysdeps/unix/sysv/linux/powerpc/powerpc32/vfork.S +++ b/sysdeps/unix/sysv/linux/powerpc/powerpc32/vfork.S @@ -50,7 +50,7 @@ ENTRY (__vfork) bnslr+ .Lsyscall_error: - b JUMPTARGET(__syscall_error) + b __syscall_error@local #endif PSEUDO_END (__vfork) |