summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorHenning Heinold <heinold@inf.fu-berlin.de>2008-04-11 08:49:51 +0000
committerHenning Heinold <heinold@inf.fu-berlin.de>2008-04-11 08:49:51 +0000
commit153b800d9e2bd0c7475492a3ed8accf9b00b3bc9 (patch)
tree50bd13cfd6cc195f88ec1b3b312eceaae34a854c
parent563f85b1f8d5028ee9fa71ccb225a9d2c510395a (diff)
uclibc: fix extra/scripts/gen_bits_syscall_h.sh for arm
* gen_bits_syscall_h.sh worked right for serval years * unistd.h for arm contains now some syscalls starting with __ARM_NR_ * and thats why they don't get parsed over to the uclibc-header * they are seldom used, but the cacao-javavm use one of them * unistd_arm.patch fixes this issues
-rw-r--r--packages/uclibc/files/unistd_arm.patch30
-rw-r--r--packages/uclibc/uclibc_0.9.29.bb3
2 files changed, 32 insertions, 1 deletions
diff --git a/packages/uclibc/files/unistd_arm.patch b/packages/uclibc/files/unistd_arm.patch
new file mode 100644
index 0000000000..f1b0ea2218
--- /dev/null
+++ b/packages/uclibc/files/unistd_arm.patch
@@ -0,0 +1,30 @@
+Index: uClibc-0.9.29/extra/scripts/gen_bits_syscall_h.sh
+===================================================================
+--- uClibc-0.9.29.orig/extra/scripts/gen_bits_syscall_h.sh 2006-12-12 04:30:02.000000000 +0100
++++ uClibc-0.9.29/extra/scripts/gen_bits_syscall_h.sh 2008-03-10 23:20:52.000000000 +0100
+@@ -24,8 +24,8 @@
+ ( echo "#include <asm/unistd.h>";
+ echo "#include <asm/unistd.h>" |
+ $CC -E $CC_SYSNUM_ARGS $INCLUDE_OPTS - |
+- sed -ne 's/^[ ]*#define[ ]*__NR_\([A-Za-z0-9_]*\).*/UCLIBC_\1 __NR_\1/gp' \
+- -e 's/^[ ]*#undef[ ]*__NR_\([A-Za-z0-9_]*\).*/UNDEFUCLIBC_\1 __NR_\1/gp' # needed to strip out any kernel-internal defines
++ sed -ne 's/^[ ]*#define[ ]*\(__ARM_NR_\|__NR_\)\([A-Za-z0-9_]*\).*/UCLIBC\1\2 \1\2/gp' \
++ -e 's/^[ ]*#undef[ ]*\(__ARM_NR_\|__NR_\)\([A-Za-z0-9_]*\).*/UNDEFUCLIBC\1\2 \1\2/gp' # needed to strip out any kernel-internal defines
+ ) |
+ $CC -E $INCLUDE_OPTS - |
+ ( echo "/* WARNING!!! AUTO-GENERATED FILE!!! DO NOT EDIT!!! */" ; echo ;
+@@ -35,10 +35,10 @@
+ echo "#ifndef _SYSCALL_H" ;
+ echo "# error \"Never use <bits/sysnum.h> directly; include <sys/syscall.h> instead.\"" ;
+ echo "#endif" ; echo ;
+- sed -ne 's/^UCLIBC_\([A-Za-z0-9_]*\) *\(.*\)/#undef __NR_\1\
+-#define __NR_\1 \2\
+-#define SYS_\1 __NR_\1/gp' \
+- -e 's/^UNDEFUCLIBC_\([A-Za-z0-9_]*\).*/#undef __NR_\1/gp'
++ sed -ne 's/^UCLIBC\(__ARM_NR_\|__NR_\)\([A-Za-z0-9_]*\) *\(.*\)/#undef \1\2\
++#define \1\2 \3\
++#define SYS_\2 \1\2/gp' \
++ -e 's/^UNDEFUCLIBC\(__ARM_NR_\|__NR_\)\([A-Za-z0-9_]*\).*/#undef \1\2/gp'
+ echo ;
+ echo "#endif" ;
+ )
diff --git a/packages/uclibc/uclibc_0.9.29.bb b/packages/uclibc/uclibc_0.9.29.bb
index ac97cb9fd9..c70b52d126 100644
--- a/packages/uclibc/uclibc_0.9.29.bb
+++ b/packages/uclibc/uclibc_0.9.29.bb
@@ -7,7 +7,7 @@
# on whether the base patches apply to the selected (SRCDATE) svn release.
#
UCLIBC_BASE ?= "0.9.29"
-PR = "r12"
+PR = "r13"
require uclibc.inc
@@ -16,6 +16,7 @@ PROVIDES += "virtual/${TARGET_PREFIX}libc-for-gcc"
SRC_URI += "file://uClibc.machine file://uClibc.distro \
file://errno_values.h.patch;patch=1 \
file://termios.h.patch;patch=1 \
+ file://unistd_arm.patch;patch=1 \
file://uClibc-0.9.29-001-fix-mmap.patch;patch=1 \
file://uClibc-0.9.29-002-atmel.1.patch;patch=1 \
file://uClibc-0.9.29-avr32-fix-sa_onstack.patch;patch=1 \