summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorRich Felker <dalias@aerifal.cx>2019-05-05 11:15:23 -0400
committerRich Felker <dalias@aerifal.cx>2019-05-05 11:15:23 -0400
commitd7b583420bfc0897b6ccc90afb7e41333a221c09 (patch)
tree10557ee287522e92298ca2df52529032e28c306c
parent7b6ec3de7192daf255a22ad7113732c8262f0f63 (diff)
downloadmusl-d7b583420bfc0897b6ccc90afb7e41333a221c09.tar.gz
allow archs to provide a 7-argument syscall if needed
commit 788d5e24ca19c6291cebd8d1ad5b5ed6abf42665 noted that we could add this if needed, and in fact it is needed, but not for one of the archs documented as having a 7th syscall arg register. rather, it's needed for mips (o32), where all but the first 4 arguments are passed on the stack, and the stack can accommodate a 7th.
-rw-r--r--src/internal/syscall.h1
1 files changed, 1 insertions, 0 deletions
diff --git a/src/internal/syscall.h b/src/internal/syscall.h
index 2e810db0..69f019cd 100644
--- a/src/internal/syscall.h
+++ b/src/internal/syscall.h
@@ -32,6 +32,7 @@ hidden long __syscall_ret(unsigned long),
#define __syscall4(n,a,b,c,d) __syscall4(n,__scc(a),__scc(b),__scc(c),__scc(d))
#define __syscall5(n,a,b,c,d,e) __syscall5(n,__scc(a),__scc(b),__scc(c),__scc(d),__scc(e))
#define __syscall6(n,a,b,c,d,e,f) __syscall6(n,__scc(a),__scc(b),__scc(c),__scc(d),__scc(e),__scc(f))
+#define __syscall7(n,a,b,c,d,e,f,g) __syscall7(n,__scc(a),__scc(b),__scc(c),__scc(d),__scc(e),__scc(f),__scc(g))
#define __SYSCALL_NARGS_X(a,b,c,d,e,f,g,h,n,...) n
#define __SYSCALL_NARGS(...) __SYSCALL_NARGS_X(__VA_ARGS__,7,6,5,4,3,2,1,0,)