diff options
author | peter <peter@FreeBSD.org> | 2003-04-30 18:13:13 +0000 |
---|---|---|
committer | peter <peter@FreeBSD.org> | 2003-04-30 18:13:13 +0000 |
commit | 44164f81780c996180a1b01c5723211d18661e28 (patch) | |
tree | 11d4babbf4a779096e85346499327928a54dfab7 /lib/libc | |
parent | 0b2f0dc371819e7bddf414569bb64b90cdd8e457 (diff) | |
download | FreeBSD-src-44164f81780c996180a1b01c5723211d18661e28.zip FreeBSD-src-44164f81780c996180a1b01c5723211d18661e28.tar.gz |
Update for AMD64 (repocopied from i386/sys/Ovfork.S - why is it O?)
Depend on %rsi being preserved across the "syscall"-style syscall and strip
out the PIC stuff (this cpu has full PC-relative addressing, at last!)
Diffstat (limited to 'lib/libc')
-rw-r--r-- | lib/libc/amd64/sys/vfork.S | 9 |
1 files changed, 4 insertions, 5 deletions
diff --git a/lib/libc/amd64/sys/vfork.S b/lib/libc/amd64/sys/vfork.S index 20ece5e..b3fc3cf 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)) |