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.
2005-05-17 Alan Modra <amodra@bigpond.net.au>
+ * 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.
+
* sysdeps/powerpc/powerpc32/fpu/s_ceil.S (TWO52.0): Delete.
* sysdeps/powerpc/powerpc32/fpu/s_ceilf.S (TWO23.0): Delete.
* sysdeps/powerpc/powerpc32/fpu/s_floor.S (TWO52.0): Delete.
+2005-05-17 Alan Modra <amodra@bigpond.net.au>
+
+ * sysdeps/unix/sysv/linux/powerpc/powerpc32/sysdep-cancel.h: Delete
+ all occurrences of JUMPTARGET. Instead append @local to labels.
+ * sysdeps/unix/sysv/linux/powerpc/powerpc32/vfork.S: Likewise.
+
2005-05-19 Richard Henderson <rth@redhat.com>
* sysdeps/ia64/pspinlock.c (__pthread_spin_lock): Use
# define UNDOCARGS_6 lwz 8,40(1); UNDOCARGS_5
# ifdef IS_IN_libpthread
-# define CENABLE bl JUMPTARGET(__pthread_enable_asynccancel)
-# define CDISABLE bl JUMPTARGET(__pthread_disable_asynccancel)
+# define CENABLE bl __pthread_enable_asynccancel@local
+# define CDISABLE bl __pthread_disable_asynccancel@local
# elif !defined NOT_IN_libc
-# define CENABLE bl JUMPTARGET(__libc_enable_asynccancel)
-# define CDISABLE bl JUMPTARGET(__libc_disable_asynccancel)
+# define CENABLE bl __libc_enable_asynccancel@local
+# define CDISABLE bl __libc_disable_asynccancel@local
# else
-# define CENABLE bl JUMPTARGET(__librt_enable_asynccancel)
-# define CDISABLE bl JUMPTARGET(__librt_disable_asynccancel)
+# define CENABLE bl __librt_enable_asynccancel@local
+# define CDISABLE bl __librt_disable_asynccancel@local
# endif
# ifdef HAVE_TLS_SUPPORT
bnslr+
.Lsyscall_error:
- b JUMPTARGET(__syscall_error)
+ b __syscall_error@local
#endif
PSEUDO_END (__vfork)
+2005-05-17 Alan Modra <amodra@bigpond.net.au>
+
+ * sysdeps/unix/sysv/linux/powerpc/powerpc32/sysdep-cancel.h: Delete
+ all occurrences of JUMPTARGET. Instead append @local to labels.
+
2005-05-20 Jakub Jelinek <jakub@redhat.com>
* sysdeps/i386/tls.h (TLS_INIT_TCB_SIZE, TLS_INIT_TCB_ALIGN): Define to
# define UNDOCARGS_6 lwz 8,40(1); UNDOCARGS_5
# ifdef IS_IN_libpthread
-# define CENABLE bl JUMPTARGET(__pthread_enable_asynccancel)
-# define CDISABLE bl JUMPTARGET(__pthread_disable_asynccancel)
+# define CENABLE bl __pthread_enable_asynccancel@local
+# define CDISABLE bl __pthread_disable_asynccancel@local
# elif !defined NOT_IN_libc
-# define CENABLE bl JUMPTARGET(__libc_enable_asynccancel)
-# define CDISABLE bl JUMPTARGET(__libc_disable_asynccancel)
+# define CENABLE bl __libc_enable_asynccancel@local
+# define CDISABLE bl __libc_disable_asynccancel@local
# elif defined IS_IN_librt
-# define CENABLE bl JUMPTARGET(__librt_enable_asynccancel)
-# define CDISABLE bl JUMPTARGET(__librt_disable_asynccancel)
+# define CENABLE bl __librt_enable_asynccancel@local
+# define CDISABLE bl __librt_disable_asynccancel@local
# else
# error Unsupported library
# endif
/* 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
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) */
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 */
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)
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)
#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)
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 */
#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)
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 */
#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"
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
#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)
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 */
#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
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 */
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; */
#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 */
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)
#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
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 */
stvx 31,0,r6
L(no_vmx):
#endif
- b JUMPTARGET (BP_SYM (__sigjmp_save))
+ b BP_SYM (__sigjmp_save@local)
END (BP_SYM (__sigsetjmp))
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)
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))
#define PSEUDO_RET \
bnslr+; \
- b JUMPTARGET(__syscall_error)
+ b __syscall_error@local
#define ret PSEUDO_RET
#undef PSEUDO_END
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))
#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))
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
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
compat_text_section
ENTRY (__getcontext_stub)
li r3,ENOSYS
- b JUMPTARGET(__syscall_error)
+ b __syscall_error@local
END (__getcontext_stub)
.previous
L(exitcode):
mr. r3,r31
beq 4f
- bl JUMPTARGET(__setcontext)
+ bl __setcontext@local
4: bl HIDDEN_JUMPTARGET(exit)
b 4b
L(novec_exitcode):
mr. r3,r31
beq 4f
- bl JUMPTARGET(__novec_setcontext)
+ bl __novec_setcontext@local
4: bl HIDDEN_JUMPTARGET(exit)
b 4b
compat_text_section
ENTRY (__makecontext_stub)
li r3,ENOSYS
- b JUMPTARGET(__syscall_error)
+ b __syscall_error@local
END (__makecontext_stub)
.previous
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)
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)
compat_text_section
ENTRY (__setcontext_stub)
li r3,ENOSYS
- b JUMPTARGET(__syscall_error)
+ b __syscall_error@local
END (__setcontext_stub)
.previous
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)
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)
compat_text_section
ENTRY (__swapcontext_stub)
li r3,ENOSYS
- b JUMPTARGET(__syscall_error)
+ b __syscall_error@local
END (__swapcontext_stub)
.previous
bnslr+
.Lsyscall_error:
- b JUMPTARGET(__syscall_error)
+ b __syscall_error@local
#endif
PSEUDO_END (__vfork)