summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorPeter Wemm <peter@FreeBSD.org>2003-04-30 18:13:13 +0000
committerPeter Wemm <peter@FreeBSD.org>2003-04-30 18:13:13 +0000
commit173564016e45d92f6c9069e93e649837840404e5 (patch)
tree11d4babbf4a779096e85346499327928a54dfab7
parent1482008e2b6b7e8177f2f447e1e6579625bb8ad1 (diff)
Notes
-rw-r--r--lib/libc/amd64/sys/vfork.S9
1 files changed, 4 insertions, 5 deletions
diff --git a/lib/libc/amd64/sys/vfork.S b/lib/libc/amd64/sys/vfork.S
index 20ece5e470ec..b3fc3cf79739 100644
--- a/lib/libc/amd64/sys/vfork.S
+++ b/lib/libc/amd64/sys/vfork.S
@@ -47,12 +47,11 @@ __FBSDID("$FreeBSD$");
.weak vfork
.set vfork,__sys_vfork
ENTRY(__sys_vfork)
- popl %ecx /* my rta into ecx */
- mov $SYS_vfork,%eax
+ popq %rsi /* fetch return address (%rsi preserved) */
+ mov $SYS_vfork,%rax
KERNCALL
jb 1f
- jmp *%ecx
+ jmp *%rsi
1:
- pushl %ecx
- PIC_PROLOGUE
+ pushq %rcx
jmp PIC_PLT(HIDENAME(cerror))