aboutsummaryrefslogtreecommitdiffstats
path: root/extras/recipes-kernel/linux/linux-davinci/0001-ARM-6329-1-wire-up-sys_accept4-on-ARM.patch
diff options
context:
space:
mode:
Diffstat (limited to 'extras/recipes-kernel/linux/linux-davinci/0001-ARM-6329-1-wire-up-sys_accept4-on-ARM.patch')
-rw-r--r--extras/recipes-kernel/linux/linux-davinci/0001-ARM-6329-1-wire-up-sys_accept4-on-ARM.patch51
1 files changed, 51 insertions, 0 deletions
diff --git a/extras/recipes-kernel/linux/linux-davinci/0001-ARM-6329-1-wire-up-sys_accept4-on-ARM.patch b/extras/recipes-kernel/linux/linux-davinci/0001-ARM-6329-1-wire-up-sys_accept4-on-ARM.patch
new file mode 100644
index 00000000..0f4592e2
--- /dev/null
+++ b/extras/recipes-kernel/linux/linux-davinci/0001-ARM-6329-1-wire-up-sys_accept4-on-ARM.patch
@@ -0,0 +1,51 @@
+From 1415ec63689ef39bcb24b5095941ec4cc884035c Mon Sep 17 00:00:00 2001
+From: Mikael Pettersson <mikpe@it.uu.se>
+Date: Sun, 15 Aug 2010 10:47:23 +0100
+Subject: [PATCH 1/2] ARM: 6329/1: wire up sys_accept4() on ARM
+
+sys_accept4() was added in kernel 2.6.28, but ARM was not updated
+to include it. The number and types of parameters is such that
+no ARM-specific processing is needed, so wiring up sys_accept4()
+just requires defining __NR_accept4 and adding a direct call in
+the syscall entry table.
+
+Tested with an EABI 2.6.35 kernel and Ulrich Drepper's original
+accept4() test program, modified to define __NR_accept4 for ARM.
+
+Using the updated unistd.h also eliminates a warning then building
+glibc (2.10.2 and newer) about accept4() being unimplemented.
+
+Signed-off-by: Mikael Pettersson <mikpe@it.uu.se>
+Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
+---
+ arch/arm/include/asm/unistd.h | 1 +
+ arch/arm/kernel/calls.S | 1 +
+ 2 files changed, 2 insertions(+), 0 deletions(-)
+
+diff --git a/arch/arm/include/asm/unistd.h b/arch/arm/include/asm/unistd.h
+index dd2bf53..d02cfb6 100644
+--- a/arch/arm/include/asm/unistd.h
++++ b/arch/arm/include/asm/unistd.h
+@@ -392,6 +392,7 @@
+ #define __NR_rt_tgsigqueueinfo (__NR_SYSCALL_BASE+363)
+ #define __NR_perf_event_open (__NR_SYSCALL_BASE+364)
+ #define __NR_recvmmsg (__NR_SYSCALL_BASE+365)
++#define __NR_accept4 (__NR_SYSCALL_BASE+366)
+
+ /*
+ * The following SWIs are ARM private.
+diff --git a/arch/arm/kernel/calls.S b/arch/arm/kernel/calls.S
+index 37ae301..afeb71f 100644
+--- a/arch/arm/kernel/calls.S
++++ b/arch/arm/kernel/calls.S
+@@ -375,6 +375,7 @@
+ CALL(sys_rt_tgsigqueueinfo)
+ CALL(sys_perf_event_open)
+ /* 365 */ CALL(sys_recvmmsg)
++ CALL(sys_accept4)
+ #ifndef syscalls_counted
+ .equ syscalls_padding, ((NR_syscalls + 3) & ~3) - NR_syscalls
+ #define syscalls_counted
+--
+1.6.6.1
+