summaryrefslogtreecommitdiff
path: root/sysdeps/unix/sysv/linux/powerpc/clone.S
diff options
context:
space:
mode:
authorUlrich Drepper <drepper@redhat.com>1999-10-11 23:36:50 +0000
committerUlrich Drepper <drepper@redhat.com>1999-10-11 23:36:50 +0000
commitacf47bbeebc8ceefe62bb13325e03080bbeed74c (patch)
treea4bdee36b1889a3b35d9a48fa60597b48503deeb /sysdeps/unix/sysv/linux/powerpc/clone.S
parent38a29b57af7ed8b6f5c45253ccff1efe3fa0d71e (diff)
Update.
* sysdeps/unix/sysv/linux/powerpc/socket.S: Adjust asm syntax. * sysdeps/unix/sysv/linux/powerpc/clone.S: Likewise. * sysdeps/unix/sysv/linux/powerpc/syscall.S: Likewise. * sysdeps/unix/sysv/linux/powerpc/brk.S: Likewise.
Diffstat (limited to 'sysdeps/unix/sysv/linux/powerpc/clone.S')
-rw-r--r--sysdeps/unix/sysv/linux/powerpc/clone.S42
1 files changed, 21 insertions, 21 deletions
diff --git a/sysdeps/unix/sysv/linux/powerpc/clone.S b/sysdeps/unix/sysv/linux/powerpc/clone.S
index 69d2c5f586..d5703d6bb8 100644
--- a/sysdeps/unix/sysv/linux/powerpc/clone.S
+++ b/sysdeps/unix/sysv/linux/powerpc/clone.S
@@ -1,5 +1,5 @@
/* Wrapper around clone system call.
- Copyright (C) 1997, 1998 Free Software Foundation, Inc.
+ Copyright (C) 1997, 1998, 1999 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
@@ -29,58 +29,58 @@
ENTRY(__clone)
/* Check for child_stack == NULL || fn == NULL. */
- cmpwi %cr0,%r4,0
- cmpwi %cr1,%r3,0
+ cmpwi cr0,r4,0
+ cmpwi cr1,r3,0
cror cr0*4+eq,cr1*4+eq,cr0*4+eq
- beq- %cr0,L(badargs)
+ beq- cr0,L(badargs)
/* Set up stack frame for parent. */
- stwu %r1,-32(%r1)
- stmw %r29,16(%r1)
+ stwu r1,-32(r1)
+ stmw r29,16(r1)
/* Set up stack frame for child. */
- clrrwi %r4,%r4,4
- li %r0,0
- stwu %r0,-16(%r4)
+ clrrwi r4,r4,4
+ li r0,0
+ stwu r0,-16(r4)
/* Save fn, args, stack across syscall. */
- mr %r29,%r3 /* Function in r29. */
- mr %r30,%r4 /* Stack pointer in r30. */
- mr %r31,%r6 /* Argument in r31. */
+ mr r29,r3 /* Function in r29. */
+ mr r30,r4 /* Stack pointer in r30. */
+ mr r31,r6 /* Argument in r31. */
/* 'flags' argument is first parameter to clone syscall. (The other
argument is the stack pointer, already in r4.) */
- mr %r3,%r5
+ mr r3,r5
/* Do the call. */
DO_CALL(SYS_ify(clone))
/* Check for child process. */
- cmpwi %cr1,%r3,0
+ cmpwi cr1,r3,0
crandc cr1*4+eq,cr1*4+eq,cr0*4+so
- bne- %cr1,L(parent) /* The '-' is to minimise the race. */
+ bne- cr1,L(parent) /* The '-' is to minimise the race. */
/* On at least mklinux DR3a5, clone() doesn't actually change
the stack pointer. I'm pretty sure this is a bug, because
it adds a race condition if a signal is sent to a thread
just after it is created (in the previous three instructions). */
- mr %r1,%r30
+ mr r1,r30
/* Call procedure. */
- mtctr %r29
- mr %r3,%r31
+ mtctr r29
+ mr r3,r31
bctrl
/* Call _exit with result from procedure. */
b JUMPTARGET(_exit)
L(parent):
/* Parent. Restore registers & return. */
- lmw %r29,16(%r1)
- addi %r1,%r1,32
+ lmw r29,16(r1)
+ addi r1,r1,32
bnslr+
b JUMPTARGET(__syscall_error)
L(badargs):
- li %r3,EINVAL
+ li r3,EINVAL
b JUMPTARGET(__syscall_error)
END (__clone)