1234567891011121314151617181920212223242526272829 |
- --- a/libc/sysdeps/linux/common/prctl.c
- +++ b/libc/sysdeps/linux/common/prctl.c
- @@ -12,6 +12,24 @@
- /* psm: including sys/prctl.h would depend on kernel headers */
-
- #ifdef __NR_prctl
- -extern int prctl (int, long, long, long, long);
- -_syscall5(int, prctl, int, option, long, arg2, long, arg3, long, arg4, long, arg5)
- +#define __NR___syscall_prctl __NR_prctl
- +static inline _syscall5(int, __syscall_prctl, int, option, long, arg2, long, arg3, long,
- + arg4, long, arg5);
- +
- +int prctl(int option, ...) {
- + long arg2 = 0;
- + long arg3 = 0;
- + long arg4 = 0;
- + long arg5 = 0;
- + va_list ap;
- +
- + va_start(ap, option);
- + arg2 = va_arg(ap, long);
- + arg3 = va_arg(ap, long);
- + arg4 = va_arg(ap, long);
- + arg5 = va_arg(ap, long);
- + va_end(ap);
- +
- + return __syscall_prctl(option, arg2, arg3, arg4, arg5);
- +}
- #endif
|