Patchwork eglibc: fix build for armv4 machines

login
register
mail settings
Submitter lumag
Date July 31, 2011, 10:31 a.m.
Message ID <1312108283-11264-1-git-send-email-dbaryshkov@gmail.com>
Download mbox | patch
Permalink /patch/8893/
State New, archived
Headers show

Comments

lumag - July 31, 2011, 10:31 a.m.
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@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
Saul Wold - Aug. 2, 2011, 6:09 p.m.
On 07/31/2011 03:31 AM, Dmitry Eremin-Solenikov wrote:
> 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@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

Dmitry,

Can you please add patch headers to this, per the openembedded wiki:

http://wiki.openembedded.org/index.php/Commit_Patch_Message_Guidelines

If you could please also add Upstream-Status as appropriate.

Thanks
	Sau!

> @@ -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 \

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 \