diff options
author | Ulrich Drepper <drepper@redhat.com> | 2005-12-18 18:36:38 +0000 |
---|---|---|
committer | Ulrich Drepper <drepper@redhat.com> | 2005-12-18 18:36:38 +0000 |
commit | d87921ee19b8c228490345fe2375b216fb7b0edd (patch) | |
tree | 9e94c4942194eaff705ef5c2e61abf02964f24ff | |
parent | a3c88553729c1c4dcd4f893a96b4668bce640ee5 (diff) | |
download | glibc-d87921ee19b8c228490345fe2375b216fb7b0edd.tar.gz glibc-d87921ee19b8c228490345fe2375b216fb7b0edd.tar.xz glibc-d87921ee19b8c228490345fe2375b216fb7b0edd.zip |
* sysdeps/powerpc/powerpc32/setjmp-common.S [IS_IN_rtld]: Avoid
call to __sigjmp_save. * sysdeps/powerpc/powerpc64/setjmp-common.S: Likewise.
-rw-r--r-- | ChangeLog | 4 | ||||
-rw-r--r-- | sysdeps/powerpc/powerpc32/setjmp-common.S | 8 | ||||
-rw-r--r-- | sysdeps/powerpc/powerpc64/setjmp-common.S | 7 |
3 files changed, 17 insertions, 2 deletions
diff --git a/ChangeLog b/ChangeLog index 1b7587ec88..3ad8ff9495 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,5 +1,9 @@ 2005-12-18 Ulrich Drepper <drepper@redhat.com> + * sysdeps/powerpc/powerpc32/setjmp-common.S [IS_IN_rtld]: Avoid + call to __sigjmp_save. + * sysdeps/powerpc/powerpc64/setjmp-common.S: Likewise. + * stdlib/cxa_atexit.c: Use PTR_MANGLE on function pointer. Fill in flavor field last and protect with memory barrier. * stdlib/on_exit.c: Likewise. diff --git a/sysdeps/powerpc/powerpc32/setjmp-common.S b/sysdeps/powerpc/powerpc32/setjmp-common.S index ad7113f461..ae21284e03 100644 --- a/sysdeps/powerpc/powerpc32/setjmp-common.S +++ b/sysdeps/powerpc/powerpc32/setjmp-common.S @@ -1,5 +1,6 @@ /* setjmp for PowerPC. - Copyright (C) 1995-1997,1999-2001,2003,2004 Free Software Foundation, Inc. + Copyright (C) 1995-1997,1999-2001,2003,2004,2005 + Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or @@ -55,5 +56,10 @@ 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) +#if defined NOT_IN_libc && defined IS_IN_rtld + li r3,0 + blr +#else b BP_SYM (__sigjmp_save@local) +#endif END (BP_SYM (__sigsetjmp)) diff --git a/sysdeps/powerpc/powerpc64/setjmp-common.S b/sysdeps/powerpc/powerpc64/setjmp-common.S index 0de07a82d3..c1926ecd68 100644 --- a/sysdeps/powerpc/powerpc64/setjmp-common.S +++ b/sysdeps/powerpc/powerpc64/setjmp-common.S @@ -1,5 +1,5 @@ /* setjmp for PowerPC64. - Copyright (C) 1995-2003, 2004 Free Software Foundation, Inc. + Copyright (C) 1995-2003, 2004, 2005 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or @@ -177,5 +177,10 @@ L(aligned_save_vmx): stvx 31,0,r6 L(no_vmx): #endif +#if defined NOT_IN_libc && defined IS_IN_rtld + li r3,0 + blr +#else b JUMPTARGET (BP_SYM (__sigjmp_save)) +#endif END (BP_SYM (__sigsetjmp)) |