about summary refs log tree commit diff
path: root/sysdeps/unix/sysv/linux/powerpc/powerpc32
diff options
context:
space:
mode:
authorUlrich Drepper <drepper@redhat.com>2004-12-15 20:50:54 +0000
committerUlrich Drepper <drepper@redhat.com>2004-12-15 20:50:54 +0000
commitdcac063c84882e0916d5777c6fbb3c718a0b5216 (patch)
tree3d6f044c6512d5dd354afa126d5c464a3d29c9cc /sysdeps/unix/sysv/linux/powerpc/powerpc32
parenta2eae4ccb194af634ba6336cc2dce3d6c2bac8af (diff)
downloadglibc-dcac063c84882e0916d5777c6fbb3c718a0b5216.tar.gz
glibc-dcac063c84882e0916d5777c6fbb3c718a0b5216.tar.xz
glibc-dcac063c84882e0916d5777c6fbb3c718a0b5216.zip
	* sysdeps/unix/sysv/linux/powerpc/powerpc32/clone.S: Correct stack
	alignment.  Clean up flag bit tests.
	* sysdeps/unix/sysv/linux/powerpc/powerpc64/clone.S: Correct stack
	alignment.  Clean up flag bit tests.  Remove redundent SP assignment.
	Add TOC register save/restore around function call.
Diffstat (limited to 'sysdeps/unix/sysv/linux/powerpc/powerpc32')
-rw-r--r--sysdeps/unix/sysv/linux/powerpc/powerpc32/clone.S6
1 files changed, 3 insertions, 3 deletions
diff --git a/sysdeps/unix/sysv/linux/powerpc/powerpc32/clone.S b/sysdeps/unix/sysv/linux/powerpc/powerpc32/clone.S
index 891cf83631..f232284747 100644
--- a/sysdeps/unix/sysv/linux/powerpc/powerpc32/clone.S
+++ b/sysdeps/unix/sysv/linux/powerpc/powerpc32/clone.S
@@ -48,7 +48,7 @@ ENTRY (BP_SYM (__clone))
 	beq-	cr0,L(badargs)
 
 	/* Set up stack frame for parent.  */
-	stwu	r1,-36(r1)
+	stwu	r1,-32(r1)
 #ifdef RESET_PID
 	stmw	r28,16(r1)
 #else
@@ -100,7 +100,7 @@ ENTRY (BP_SYM (__clone))
 #endif
 
 #ifdef RESET_PID
-	andis.	r0,r28,1	/* This is & CLONE_THREAD */
+	andis.	r0,r28,CLONE_THREAD>>16
 	bne+	r0,L(oldpid)
 	andi.	r0,r28,CLONE_VM
 	li	r3,-1
@@ -130,7 +130,7 @@ L(parent):
 	lmw	r30,16(r1)
 # endif
 #endif
-	addi	r1,r1,36
+	addi	r1,r1,32
 	bnslr+
 	b	JUMPTARGET(__syscall_error)