|
@@ -10,10 +10,15 @@
|
|
|
#include "syscalls.h"
|
|
|
#include <unistd.h>
|
|
|
|
|
|
-#if defined __NR_setresgid && defined __USE_GNU
|
|
|
libc_hidden_proto(setresgid)
|
|
|
|
|
|
-#define __NR___syscall_setresgid __NR_setresgid
|
|
|
+#if defined(__NR_setresgid32)
|
|
|
+# undef __NR_setresgid
|
|
|
+# define __NR_setresgid __NR_setresgid32
|
|
|
+_syscall3(int, setresgid, gid_t, rgid, gid_t, egid, gid_t, sgid)
|
|
|
+
|
|
|
+#elif defined(__NR_setresgid)
|
|
|
+# define __NR___syscall_setresgid __NR_setresgid
|
|
|
static inline _syscall3(int, __syscall_setresgid,
|
|
|
__kernel_gid_t, rgid, __kernel_gid_t, egid, __kernel_gid_t, sgid);
|
|
|
|
|
@@ -27,5 +32,6 @@ int setresgid(gid_t rgid, gid_t egid, gid_t sgid)
|
|
|
}
|
|
|
return (__syscall_setresgid(rgid, egid, sgid));
|
|
|
}
|
|
|
-libc_hidden_def(setresgid)
|
|
|
#endif
|
|
|
+
|
|
|
+libc_hidden_def(setresgid)
|