diff options
author | Henning Heinold <heinold@inf.fu-berlin.de> | 2008-04-11 08:49:51 +0000 |
---|---|---|
committer | Henning Heinold <heinold@inf.fu-berlin.de> | 2008-04-11 08:49:51 +0000 |
commit | 153b800d9e2bd0c7475492a3ed8accf9b00b3bc9 (patch) | |
tree | 50bd13cfd6cc195f88ec1b3b312eceaae34a854c /packages/uclibc | |
parent | 563f85b1f8d5028ee9fa71ccb225a9d2c510395a (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
Diffstat (limited to 'packages/uclibc')
-rw-r--r-- | packages/uclibc/files/unistd_arm.patch | 30 | ||||
-rw-r--r-- | packages/uclibc/uclibc_0.9.29.bb | 3 |
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 \ |