diff options
Diffstat (limited to 'toolchain/uClibc/patches-0.9.30.1/500-avr32_add_varargs_handling_of_prctl_syscall.patch')
-rw-r--r-- | toolchain/uClibc/patches-0.9.30.1/500-avr32_add_varargs_handling_of_prctl_syscall.patch | 68 |
1 files changed, 0 insertions, 68 deletions
diff --git a/toolchain/uClibc/patches-0.9.30.1/500-avr32_add_varargs_handling_of_prctl_syscall.patch b/toolchain/uClibc/patches-0.9.30.1/500-avr32_add_varargs_handling_of_prctl_syscall.patch deleted file mode 100644 index 29d9e2622f..0000000000 --- a/toolchain/uClibc/patches-0.9.30.1/500-avr32_add_varargs_handling_of_prctl_syscall.patch +++ /dev/null @@ -1,68 +0,0 @@ -From 2b69e9906e5087a796b3a15e9aabcd102c705b19 Mon Sep 17 00:00:00 2001 -From: Hans-Christian Egtvedt <hans-christian.egtvedt@atmel.com> -Date: Wed, 16 Dec 2009 12:16:08 +0000 -Subject: avr32: add varargs handling of prctl syscall - -prctl is defined to use varargs in the header file, hence it needs varargs -specific handling in the source. This patch properly handles the variodic -argument before the syscall is passed to the kernel for the AVR32 architecture. - -Signed-off-by: Hans-Christian Egtvedt <hans-christian.egtvedt@atmel.com> ---- -diff --git a/libc/sysdeps/linux/avr32/Makefile.arch b/libc/sysdeps/linux/avr32/Makefile.arch -index bc5f625..98b85a7 100644 ---- a/libc/sysdeps/linux/avr32/Makefile.arch -+++ b/libc/sysdeps/linux/avr32/Makefile.arch -@@ -5,7 +5,7 @@ - # Licensed under the LGPL v2.1, see the file COPYING.LIB in this tarball. - # - --CSRC := brk.c clone.c mmap.c sigaction.c -+CSRC := brk.c clone.c mmap.c prctl.c sigaction.c - - SSRC := __longjmp.S setjmp.S bsd-setjmp.S bsd-_setjmp.S \ - sigrestorer.S syscall.S vfork.S -diff --git a/libc/sysdeps/linux/avr32/prctl.c b/libc/sysdeps/linux/avr32/prctl.c -new file mode 100644 -index 0000000..4e146e3 ---- a/dev/null -+++ b/libc/sysdeps/linux/avr32/prctl.c -@@ -0,0 +1,36 @@ -+/* -+ * prctl syscall for AVR32 Linux. -+ * -+ * Copyright (C) 2010 Atmel Corporation -+ * -+ * This file is subject to the terms and conditions of the GNU Lesser General -+ * Public License. See the file "COPYING.LIB" in the main directory of this -+ * archive for more details. -+ */ -+#include <sys/syscall.h> -+#include <sys/prctl.h> -+#include <stdarg.h> -+ -+#ifdef __NR_prctl -+#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; -+ long arg3; -+ long arg4; -+ long arg5; -+ 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 INLINE_SYSCALL(prctl, 5, __option, arg2, arg3, arg4, arg5); -+} -+#endif --- -cgit v0.8.2.1 |