[OE-core] [PATCH] eglibc: fix build for armv4 machines

Dmitry Eremin-Solenikov dbaryshkov at gmail.com
Sun Jul 31 10:31:23 UTC 2011


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.

Signed-off-by: Dmitry Eremin-Solenikov <dbaryshkov at gmail.com>
---
 .../eglibc-fixup-arm-eabi-nothumb.patch            |   17 +++++++++++++++++
 .../eglibc-fixup-arm-eabi-nothumb.patch            |   17 +++++++++++++++++
 meta/recipes-core/eglibc/eglibc_2.12.bb            |    3 ++-
 meta/recipes-core/eglibc/eglibc_2.13.bb            |    3 ++-
 4 files changed, 38 insertions(+), 2 deletions(-)
 create mode 100644 meta/recipes-core/eglibc/eglibc-2.12/eglibc-fixup-arm-eabi-nothumb.patch
 create mode 100644 meta/recipes-core/eglibc/eglibc-2.13/eglibc-fixup-arm-eabi-nothumb.patch

diff --git a/meta/recipes-core/eglibc/eglibc-2.12/eglibc-fixup-arm-eabi-nothumb.patch b/meta/recipes-core/eglibc/eglibc-2.12/eglibc-fixup-arm-eabi-nothumb.patch
new file mode 100644
index 0000000..e189b23
--- /dev/null
+++ b/meta/recipes-core/eglibc/eglibc-2.12/eglibc-fixup-arm-eabi-nothumb.patch
@@ -0,0 +1,17 @@
+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	2011-07-31 12:07:13.000000000 +0400
++++ libc/ports/sysdeps/unix/sysv/linux/arm/eabi/libc-do-syscall.S	2011-07-31 12:08:30.000000000 +0400
+@@ -25,6 +25,7 @@
+    ARM unwind tables for register to register moves, the actual opcodes
+    are not defined.  */
+ 
++#ifdef __thumb__
+ 	.thumb
+ 	.syntax unified
+ 	.hidden __libc_do_syscall
+@@ -41,3 +42,4 @@
+ 	pop	{r7, pc}
+ 	.fnend
+ END (__libc_do_syscall)
++#endif
diff --git a/meta/recipes-core/eglibc/eglibc-2.13/eglibc-fixup-arm-eabi-nothumb.patch b/meta/recipes-core/eglibc/eglibc-2.13/eglibc-fixup-arm-eabi-nothumb.patch
new file mode 100644
index 0000000..e189b23
--- /dev/null
+++ b/meta/recipes-core/eglibc/eglibc-2.13/eglibc-fixup-arm-eabi-nothumb.patch
@@ -0,0 +1,17 @@
+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	2011-07-31 12:07:13.000000000 +0400
++++ libc/ports/sysdeps/unix/sysv/linux/arm/eabi/libc-do-syscall.S	2011-07-31 12:08:30.000000000 +0400
+@@ -25,6 +25,7 @@
+    ARM unwind tables for register to register moves, the actual opcodes
+    are not defined.  */
+ 
++#ifdef __thumb__
+ 	.thumb
+ 	.syntax unified
+ 	.hidden __libc_do_syscall
+@@ -41,3 +42,4 @@
+ 	pop	{r7, pc}
+ 	.fnend
+ END (__libc_do_syscall)
++#endif
diff --git a/meta/recipes-core/eglibc/eglibc_2.12.bb b/meta/recipes-core/eglibc/eglibc_2.12.bb
index 1ada892..eb7d220 100644
--- a/meta/recipes-core/eglibc/eglibc_2.12.bb
+++ b/meta/recipes-core/eglibc/eglibc_2.12.bb
@@ -1,7 +1,7 @@
 require eglibc.inc
 
 DEPENDS += "gperf-native"
-PR = "r20"
+PR = "r21"
 
 SRCREV = "14158"
 
@@ -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://eglibc-fixup-arm-eabi-nothumb.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 41fe7c7..e54692b 100644
--- a/meta/recipes-core/eglibc/eglibc_2.13.bb
+++ b/meta/recipes-core/eglibc/eglibc_2.13.bb
@@ -3,7 +3,7 @@ require eglibc.inc
 SRCREV = "14157"
 
 DEPENDS += "gperf-native"
-PR = "r9"
+PR = "r10"
 PR_append = "+svnr${SRCPV}"
 
 EGLIBC_BRANCH="eglibc-2_13"
@@ -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://eglibc-fixup-arm-eabi-nothumb.patch \
            file://etc/ld.so.conf \
            file://generate-supported.mk \
            file://glibc_bug_fix_12454.patch \
-- 
1.7.2.3





More information about the Openembedded-core mailing list