fix missing argument in variadic syscall macros
[musl] / src / internal / syscall.h
index 50409ef..8eebe71 100644 (file)
@@ -1,9 +1,11 @@
 #ifndef _INTERNAL_SYSCALL_H
 #define _INTERNAL_SYSCALL_H
 
-long __syscall_ret(unsigned long);
-long __syscall(long, ...);
-long __syscall_cp(long, long, long, long, long, long, long);
+#if defined(__PIC__) && (100*__GNUC__+__GNUC_MINOR__ >= 303)
+__attribute__((visibility("protected")))
+#endif
+long __syscall_ret(unsigned long), __syscall(long, ...),
+       __syscall_cp(long, long, long, long, long, long, long);
 
 #include <sys/syscall.h>
 #include "syscall_arch.h"
@@ -17,7 +19,7 @@ long __syscall_cp(long, long, long, long, long, long, long);
 #define __syscall7(n,a,b,c,d,e,f,g) (__syscall)(n,(long)(a),(long)(b),(long)(c),(long)(d),(long)(e),(long)(f),(long)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)
+#define __SYSCALL_NARGS(...) __SYSCALL_NARGS_X(__VA_ARGS__,7,6,5,4,3,2,1,0,)
 #define __SYSCALL_CONCAT_X(a,b) a##b
 #define __SYSCALL_CONCAT(a,b) __SYSCALL_CONCAT_X(a,b)
 #define __SYSCALL_DISP(b,...) __SYSCALL_CONCAT(b,__SYSCALL_NARGS(__VA_ARGS__))(__VA_ARGS__)