diff options
Diffstat (limited to 'sysdeps/unix/sysv/linux/x86_64/syscall.S')
-rw-r--r-- | sysdeps/unix/sysv/linux/x86_64/syscall.S | 3 |
1 files changed, 2 insertions, 1 deletions
diff --git a/sysdeps/unix/sysv/linux/x86_64/syscall.S b/sysdeps/unix/sysv/linux/x86_64/syscall.S index 262a917d13..cf49dbcd19 100644 --- a/sysdeps/unix/sysv/linux/x86_64/syscall.S +++ b/sysdeps/unix/sysv/linux/x86_64/syscall.S @@ -21,7 +21,7 @@ /* Please consult the file sysdeps/unix/sysv/linux/x86-64/sysdep.h for more information about the value -4095 used below. */ -/* Usage: long syscall (syscall_number, arg1, arg2, arg3, arg4, arg5) +/* Usage: long syscall (syscall_number, arg1, arg2, arg3, arg4, arg5, arg6) We need to do some arg shifting, the syscall_number will be in rax. */ @@ -34,6 +34,7 @@ ENTRY (syscall) movq %rcx, %rdx movq %r8, %r10 movq %r9, %r8 + movq 8(%rsp),%r9 /* arg6 is on the stack. */ syscall /* Do the system call. */ cmpq $-4095, %rax /* Check %rax for error. */ jae SYSCALL_ERROR_LABEL /* Jump to error handler if error. */ |