glibc: fix build for i486 arch at version 2.9
authorHenning Heinold <heinold@inf.fu-berlin.de>
Fri, 10 Jul 2009 16:46:08 +0000 (18:46 +0200)
committerHenning Heinold <heinold@inf.fu-berlin.de>
Fri, 10 Jul 2009 16:50:18 +0000 (18:50 +0200)
* patch stolen from some mailinglist and from pb_ on irc
* bump PR

recipes/glibc/files/tls_i486.patch [new file with mode: 0644]
recipes/glibc/glibc_2.9.bb

diff --git a/recipes/glibc/files/tls_i486.patch b/recipes/glibc/files/tls_i486.patch
new file mode 100644 (file)
index 0000000..69a1fdf
--- /dev/null
@@ -0,0 +1,14 @@
+Index: glibc-2.9/sysdeps/i386/dl-tlsdesc.S
+===================================================================
+--- glibc-2.9.orig/sysdeps/i386/dl-tlsdesc.S   2009-07-07 23:21:11.647664128 +0200
++++ glibc-2.9/sysdeps/i386/dl-tlsdesc.S        2009-07-07 23:21:32.802555992 +0200
+@@ -128,8 +128,7 @@
+ .Lslow:
+       cfi_adjust_cfa_offset (28)
+       movl    %ebx, 16(%esp)
+-      call    __i686.get_pc_thunk.bx
+-      addl    $_GLOBAL_OFFSET_TABLE_, %ebx
++      LOAD_PIC_REG (bx)
+       call    ___tls_get_addr@PLT
+       movl    16(%esp), %ebx
+       jmp     .Lret
index be66e2b..b0ba738 100644 (file)
@@ -5,7 +5,7 @@ ARM_INSTRUCTION_SET = "arm"
 PACKAGES_DYNAMIC = "libc6*"
 RPROVIDES_${PN}-dev = "libc6-dev virtual-libc-dev"
 
-PR = "r1"
+PR = "r2"
 
 # the -isystem in bitbake.conf screws up glibc do_stage
 BUILD_CPPFLAGS = "-I${STAGING_INCDIR_NATIVE}"
@@ -64,6 +64,7 @@ SRC_URI = "ftp://ftp.gnu.org/pub/gnu/glibc/glibc-${PV}.tar.bz2 \
            file://etc/ld.so.conf \
            file://generate-supported.mk \
            file://march-i686.patch;patch=1;pnum=0 \
+          file://tls_i486.patch;patch=1 \
            "