From f3146ae8ced06abf7ded0c66f4a64be2c73d6550 Mon Sep 17 00:00:00 2001 From: Dmitry Eremin-Solenikov Date: Wed, 3 Aug 2011 16:12:37 +0400 Subject: eglibc: fix build for armv4 machines eglibc builds for arm-eabi unconditionally enables the libc-do-syscall.S file, which contains thumb assembly. It's unused in arm-eabi-nothumb case, so just ifdef the actual code. V2: use the patch from oe.dev. The patch is submitted to sourceware bugzilla by Khem Raj back in October of 2010, but the status is still UNCONFIRMED and the patch isn't commited. (From OE-Core rev: d557b18845d2ddc035d7f3949713ba1961a8cce1) Signed-off-by: Dmitry Eremin-Solenikov Cc: Khem Raj Signed-off-by: Richard Purdie --- .../eglibc-2.12/armv4-eabi-compile-fix.patch | 25 ++++++++++++++++++++++ .../eglibc-2.13/armv4-eabi-compile-fix.patch | 25 ++++++++++++++++++++++ meta/recipes-core/eglibc/eglibc_2.12.bb | 1 + meta/recipes-core/eglibc/eglibc_2.13.bb | 1 + 4 files changed, 52 insertions(+) create mode 100644 meta/recipes-core/eglibc/eglibc-2.12/armv4-eabi-compile-fix.patch create mode 100644 meta/recipes-core/eglibc/eglibc-2.13/armv4-eabi-compile-fix.patch (limited to 'meta/recipes-core/eglibc') diff --git a/meta/recipes-core/eglibc/eglibc-2.12/armv4-eabi-compile-fix.patch b/meta/recipes-core/eglibc/eglibc-2.12/armv4-eabi-compile-fix.patch new file mode 100644 index 0000000000..c2407eea09 --- /dev/null +++ b/meta/recipes-core/eglibc/eglibc-2.12/armv4-eabi-compile-fix.patch @@ -0,0 +1,25 @@ +Source: http://sourceware.org/bugzilla/show_bug.cgi?id=12097 +Upstream-Status: Submitted + +The patch should be merged into glibc-ports + +-Khem +Index: libc/ports/sysdeps/unix/sysv/linux/arm/eabi/libc-do-syscall.S +=================================================================== +--- libc.orig/ports/sysdeps/unix/sysv/linux/arm/eabi/libc-do-syscall.S ++++ libc/ports/sysdeps/unix/sysv/linux/arm/eabi/libc-do-syscall.S +@@ -16,6 +16,8 @@ + Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA + 02111-1307 USA. */ + ++#if defined(__thumb__) ++ + #include + + /* Out-of-line syscall stub. We expect the system call number in ip +@@ -41,3 +43,5 @@ ENTRY (__libc_do_syscall) + pop {r7, pc} + .fnend + END (__libc_do_syscall) ++ ++#endif /* __thumb__ */ diff --git a/meta/recipes-core/eglibc/eglibc-2.13/armv4-eabi-compile-fix.patch b/meta/recipes-core/eglibc/eglibc-2.13/armv4-eabi-compile-fix.patch new file mode 100644 index 0000000000..c2407eea09 --- /dev/null +++ b/meta/recipes-core/eglibc/eglibc-2.13/armv4-eabi-compile-fix.patch @@ -0,0 +1,25 @@ +Source: http://sourceware.org/bugzilla/show_bug.cgi?id=12097 +Upstream-Status: Submitted + +The patch should be merged into glibc-ports + +-Khem +Index: libc/ports/sysdeps/unix/sysv/linux/arm/eabi/libc-do-syscall.S +=================================================================== +--- libc.orig/ports/sysdeps/unix/sysv/linux/arm/eabi/libc-do-syscall.S ++++ libc/ports/sysdeps/unix/sysv/linux/arm/eabi/libc-do-syscall.S +@@ -16,6 +16,8 @@ + Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA + 02111-1307 USA. */ + ++#if defined(__thumb__) ++ + #include + + /* Out-of-line syscall stub. We expect the system call number in ip +@@ -41,3 +43,5 @@ ENTRY (__libc_do_syscall) + pop {r7, pc} + .fnend + END (__libc_do_syscall) ++ ++#endif /* __thumb__ */ diff --git a/meta/recipes-core/eglibc/eglibc_2.12.bb b/meta/recipes-core/eglibc/eglibc_2.12.bb index 3a95b59fb9..ce16bd69a9 100644 --- a/meta/recipes-core/eglibc/eglibc_2.12.bb +++ b/meta/recipes-core/eglibc/eglibc_2.12.bb @@ -11,6 +11,7 @@ SRC_URI = "svn://www.eglibc.org/svn/branches/;module=${EGLIBC_BRANCH};proto=http file://IO-acquire-lock-fix.patch \ file://shorten-build-commands.patch \ file://mips-rld-map-check.patch \ + file://armv4-eabi-compile-fix.patch \ file://etc/ld.so.conf \ file://generate-supported.mk \ " diff --git a/meta/recipes-core/eglibc/eglibc_2.13.bb b/meta/recipes-core/eglibc/eglibc_2.13.bb index d9935bea02..ddca50fe8b 100644 --- a/meta/recipes-core/eglibc/eglibc_2.13.bb +++ b/meta/recipes-core/eglibc/eglibc_2.13.bb @@ -13,6 +13,7 @@ SRC_URI = "svn://www.eglibc.org/svn/branches/;module=${EGLIBC_BRANCH};proto=http file://shorten-build-commands.patch \ file://mips-rld-map-check.patch \ file://stack-protector-test.patch \ + file://armv4-eabi-compile-fix.patch \ file://etc/ld.so.conf \ file://generate-supported.mk \ file://glibc_bug_fix_12454.patch \ -- cgit v1.2.3-54-g00ecf