about summary refs log tree commit diff
path: root/sysdeps/unix
diff options
context:
space:
mode:
authorJakub Jelinek <jakub@redhat.com>2004-12-15 11:35:12 +0000
committerJakub Jelinek <jakub@redhat.com>2004-12-15 11:35:12 +0000
commit7b77676c2fdf0c3b5e94963f5fd6fa20295d4ce1 (patch)
tree16421985d1ceab3dd23af4d934f5b2b6d38e04e9 /sysdeps/unix
parentac4d4092ac20b3f6c7fe40de5a2e98fc49812b21 (diff)
downloadglibc-7b77676c2fdf0c3b5e94963f5fd6fa20295d4ce1.tar.gz
glibc-7b77676c2fdf0c3b5e94963f5fd6fa20295d4ce1.tar.xz
glibc-7b77676c2fdf0c3b5e94963f5fd6fa20295d4ce1.zip
* sysdeps/unix/sysv/linux/powerpc/powerpc64/clone.S (__clone): Save
	and restore r2 around call to fn.
Diffstat (limited to 'sysdeps/unix')
-rw-r--r--sysdeps/unix/sysv/linux/powerpc/powerpc64/clone.S2
1 files changed, 2 insertions, 0 deletions
diff --git a/sysdeps/unix/sysv/linux/powerpc/powerpc64/clone.S b/sysdeps/unix/sysv/linux/powerpc/powerpc64/clone.S
index 61a35a2f79..f6ce115077 100644
--- a/sysdeps/unix/sysv/linux/powerpc/powerpc64/clone.S
+++ b/sysdeps/unix/sysv/linux/powerpc/powerpc64/clone.S
@@ -104,12 +104,14 @@ L(nomoregetpid):
 L(oldpid):
 #endif
 
+	std	r2,40(r1)
 	/* Call procedure.  */
 	ld	r0,0(r29)
 	ld	r2,8(r29)
 	mtctr	r0
 	mr	r3,r31
 	bctrl
+	ld	r2,40(r1)
 	/* Call _exit with result from procedure.  */
 #ifdef SHARED
 	b	JUMPTARGET(__GI__exit)