X-Git-Url: http://nsz.repo.hu/git/?a=blobdiff_plain;f=src%2Finternal%2Fsyscall.h;h=7381efea8d4d1e235d69909074645fca50d3e61e;hb=2d0f495e7bbcc1b17bf118b939e347e2d771fa2f;hp=ffaf640ae081ca8650ad8960b23f16ab08453f3c;hpb=208eb584efbf995e0c5d92f76d5f4c08ae0054b4;p=musl diff --git a/src/internal/syscall.h b/src/internal/syscall.h index ffaf640a..7381efea 100644 --- a/src/internal/syscall.h +++ b/src/internal/syscall.h @@ -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 #include "syscall_arch.h" @@ -14,9 +16,10 @@ long __syscall_cp(long, long, long, long, long, long, long); #define __syscall4(n,a,b,c,d) __syscall4(n,(long)(a),(long)(b),(long)(c),(long)(d)) #define __syscall5(n,a,b,c,d,e) __syscall5(n,(long)(a),(long)(b),(long)(c),(long)(d),(long)(e)) #define __syscall6(n,a,b,c,d,e,f) __syscall6(n,(long)(a),(long)(b),(long)(c),(long)(d),(long)(e),(long)(f)) +#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,n,...) n -#define __SYSCALL_NARGS(...) __SYSCALL_NARGS_X(__VA_ARGS__,6,5,4,3,2,1,0) +#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_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__)