mirror of
https://github.com/motioneye-project/motioneyeos.git
synced 2025-07-30 06:36:34 +00:00
uclibc: add prctl syscall fix for AVR32 architecture
This patch fixes the prctl syscall for the AVR32 architecture, since this architecture assumes you handle varargs in a proper way, always. Signed-off-by: Hans-Christian Egtvedt <hans-christian.egtvedt@atmel.com> Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
This commit is contained in:
parent
d3df830c2b
commit
b4f01dcc10
@ -0,0 +1,29 @@
|
|||||||
|
--- 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
|
Loading…
x
Reference in New Issue
Block a user