summaryrefslogtreecommitdiff
path: root/lib/libc
diff options
context:
space:
mode:
authorPeter Wemm <peter@FreeBSD.org>2003-04-30 18:06:14 +0000
committerPeter Wemm <peter@FreeBSD.org>2003-04-30 18:06:14 +0000
commit4dbb9c65d7aef4e4e10dbe242aa1f929d1be1495 (patch)
treea00b68c2a7317461b858b7e5a03e15cee7d0aa56 /lib/libc
parentd90e753aa8386e132b8ed379b045009617545ab2 (diff)
Notes
Diffstat (limited to 'lib/libc')
-rw-r--r--lib/libc/amd64/SYS.h11
1 files changed, 4 insertions, 7 deletions
diff --git a/lib/libc/amd64/SYS.h b/lib/libc/amd64/SYS.h
index 1483f9d8e763..5dc8b46a5052 100644
--- a/lib/libc/amd64/SYS.h
+++ b/lib/libc/amd64/SYS.h
@@ -40,22 +40,19 @@
#include <sys/syscall.h>
#include <machine/asm.h>
-#define SYSCALL(x) 2: PIC_PROLOGUE; jmp PIC_PLT(HIDENAME(cerror)); \
+#define SYSCALL(x) 2: jmp PIC_PLT(HIDENAME(cerror)); \
ENTRY(__CONCAT(__sys_,x)); \
.weak CNAME(x); \
.set CNAME(x),CNAME(__CONCAT(__sys_,x)); \
.weak CNAME(__CONCAT(_,x)); \
.set CNAME(__CONCAT(_,x)),CNAME(__CONCAT(__sys_,x)); \
- mov __CONCAT($SYS_,x),%eax; KERNCALL; jb 2b
+ mov __CONCAT($SYS_,x),%rax; KERNCALL; jb 2b
#define RSYSCALL(x) SYSCALL(x); ret
#define PSEUDO(x) ENTRY(__CONCAT(__sys_,x)); \
.weak CNAME(__CONCAT(_,x)); \
.set CNAME(__CONCAT(_,x)),CNAME(__CONCAT(__sys_,x)); \
- mov __CONCAT($SYS_,x),%eax; KERNCALL; ret
+ mov __CONCAT($SYS_,x),%rax; KERNCALL; ret
-/* gas messes up offset -- although we don't currently need it, do for BCS */
-#define LCALL(x,y) .byte 0x9a ; .long y; .word x
-
-#define KERNCALL int $0x80
+#define KERNCALL movq %rcx, %r10; syscall