about summary refs log tree commit diff
diff options
context:
space:
mode:
authorUlrich Drepper <drepper@redhat.com>2005-12-18 18:36:38 +0000
committerUlrich Drepper <drepper@redhat.com>2005-12-18 18:36:38 +0000
commitd87921ee19b8c228490345fe2375b216fb7b0edd (patch)
tree9e94c4942194eaff705ef5c2e61abf02964f24ff
parenta3c88553729c1c4dcd4f893a96b4668bce640ee5 (diff)
downloadglibc-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--ChangeLog4
-rw-r--r--sysdeps/powerpc/powerpc32/setjmp-common.S8
-rw-r--r--sysdeps/powerpc/powerpc64/setjmp-common.S7
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))