summaryrefslogtreecommitdiff
path: root/toolchain/uClibc/uClibc-0.9.30.1-fix-varargs-in-prctl-syscall.patch.avr32
diff options
context:
space:
mode:
authorPeter Korsgaard <jacmet@sunsite.dk>2009-12-15 10:47:39 +0100
committerPeter Korsgaard <jacmet@sunsite.dk>2009-12-15 10:47:39 +0100
commit687d0958a31f6aee8e8e4d26360961327049d9a8 (patch)
treeb00c1f0e4da705a980b70518d7e493faf50c9518 /toolchain/uClibc/uClibc-0.9.30.1-fix-varargs-in-prctl-syscall.patch.avr32
parentb4f01dcc10a94dc5ace8a6780fb41c4882fa617b (diff)
toolchain/uClibc: avr32 patch should apply to 0.9.30.1
avr32 uses 0.9.30.1, not 0.9.30. Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
Diffstat (limited to 'toolchain/uClibc/uClibc-0.9.30.1-fix-varargs-in-prctl-syscall.patch.avr32')
-rw-r--r--toolchain/uClibc/uClibc-0.9.30.1-fix-varargs-in-prctl-syscall.patch.avr3229
1 files changed, 29 insertions, 0 deletions
diff --git a/toolchain/uClibc/uClibc-0.9.30.1-fix-varargs-in-prctl-syscall.patch.avr32 b/toolchain/uClibc/uClibc-0.9.30.1-fix-varargs-in-prctl-syscall.patch.avr32
new file mode 100644
index 000000000..8b27a84f7
--- /dev/null
+++ b/toolchain/uClibc/uClibc-0.9.30.1-fix-varargs-in-prctl-syscall.patch.avr32
@@ -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