summaryrefslogtreecommitdiff
path: root/ports/sysdeps/unix/sysv/linux/ia64/syscall.S
diff options
context:
space:
mode:
Diffstat (limited to 'ports/sysdeps/unix/sysv/linux/ia64/syscall.S')
-rw-r--r--ports/sysdeps/unix/sysv/linux/ia64/syscall.S6
1 files changed, 5 insertions, 1 deletions
diff --git a/ports/sysdeps/unix/sysv/linux/ia64/syscall.S b/ports/sysdeps/unix/sysv/linux/ia64/syscall.S
index 8bb77d255c..826f14cbd2 100644
--- a/ports/sysdeps/unix/sysv/linux/ia64/syscall.S
+++ b/ports/sysdeps/unix/sysv/linux/ia64/syscall.S
@@ -1,4 +1,4 @@
-/* Copyright (C) 1999-2013 Free Software Foundation, Inc.
+/* Copyright (C) 1999-2014 Free Software Foundation, Inc.
This file is part of the GNU C Library.
Contributed by Jes Sorensen <Jes.Sorensen@cern.ch>.
@@ -19,6 +19,10 @@
#include <sysdep.h>
ENTRY(syscall)
+ /* We are called like so:
+ {out0,out1,...,out6} registers -> {NR, arg1, ..., arg6}
+ Shift the register window so that {out1...out6} are available
+ in {out0...out5} like the kernel syscall handler expects. */
alloc r2=ar.pfs,1,0,8,0
mov r15=r32 /* syscall number */
break __BREAK_SYSCALL