summaryrefslogtreecommitdiffstats
path: root/meta
diff options
context:
space:
mode:
authorKhem Raj <raj.khem@gmail.com>2013-09-13 01:48:33 +0000
committerRichard Purdie <richard.purdie@linuxfoundation.org>2013-09-14 08:29:42 +0100
commit1875fb796f3680489a6eee082ca445df4b4113d3 (patch)
tree1f82cf04a777c870a09e4e26a9c0970797e44a13 /meta
parent99875e2e1a09fe5e9fb9b6eac0ad28fb3f79d74a (diff)
downloadpoky-1875fb796f3680489a6eee082ca445df4b4113d3.tar.gz
eglibc_2.18.bb: Fix IFUNC support for ARM REL relocations
This should fix the case where neon code is emitted for machines which dont have neon unit in the chip [YOCTO# 5161] (From OE-Core rev: 516e6f065a1bed0d95ffd1c8a4d8e135d834af94) Signed-off-by: Khem Raj <raj.khem@gmail.com> Signed-off-by: Saul Wold <sgw@linux.intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Diffstat (limited to 'meta')
-rw-r--r--meta/recipes-core/eglibc/eglibc-2.18/0001-ARM-Pass-dl_hwcap-to-IFUNC-resolver.patch43
-rw-r--r--meta/recipes-core/eglibc/eglibc_2.18.bb1
2 files changed, 44 insertions, 0 deletions
diff --git a/meta/recipes-core/eglibc/eglibc-2.18/0001-ARM-Pass-dl_hwcap-to-IFUNC-resolver.patch b/meta/recipes-core/eglibc/eglibc-2.18/0001-ARM-Pass-dl_hwcap-to-IFUNC-resolver.patch
new file mode 100644
index 0000000000..24d4772728
--- /dev/null
+++ b/meta/recipes-core/eglibc/eglibc-2.18/0001-ARM-Pass-dl_hwcap-to-IFUNC-resolver.patch
@@ -0,0 +1,43 @@
1Upstream-Status: Backport
2
3From d0721e703d222c01a9e8c329311c4fb01dac6972 Mon Sep 17 00:00:00 2001
4From: Carlos O'Donell <carlos@redhat.com>
5Date: Thu, 29 Aug 2013 00:17:33 -0400
6Subject: [PATCH] ARM: Pass dl_hwcap to IFUNC resolver.
7
8For REL relocs pass dl_hwcap to the IFUNC resolver
9as is required by the IFUNC API (bug 15905).
10---
11 NEWS | 2 +-
12 ports/ChangeLog.arm | 7 +++++++
13 ports/sysdeps/arm/dl-machine.h | 2 +-
14 3 files changed, 9 insertions(+), 2 deletions(-)
15
16Index: libc/ports/ChangeLog.arm
17===================================================================
18--- libc.orig/ports/ChangeLog.arm 2013-07-14 16:08:52.000000000 -0700
19+++ libc/ports/ChangeLog.arm 2013-09-12 17:17:24.174387150 -0700
20@@ -1,3 +1,10 @@
21+2013-08-28 Kyle McMartin <kyle@redhat.com>
22+ Carlos O'Donell <carlos@redhat.com>
23+
24+ [BZ #15905]
25+ * sysdeps/arm/dl-machine [!RTLD_BOOTSTRAP] (elf_machine_rel):
26+ Pass GLRO(dl_hwcap) to the IFUNC resolver.
27+
28 2013-07-03 Joseph Myers <joseph@codesourcery.com>
29
30 * sysdeps/arm/include/bits/setjmp.h [_ISOMAC] (JMP_BUF_REGLIST):
31Index: libc/ports/sysdeps/arm/dl-machine.h
32===================================================================
33--- libc.orig/ports/sysdeps/arm/dl-machine.h 2013-09-12 08:56:03.641743520 -0700
34+++ libc/ports/sysdeps/arm/dl-machine.h 2013-09-12 17:17:24.174387150 -0700
35@@ -503,7 +503,7 @@
36 break;
37 case R_ARM_IRELATIVE:
38 value = map->l_addr + *reloc_addr;
39- value = ((Elf32_Addr (*) (void)) value) ();
40+ value = ((Elf32_Addr (*) (int)) value) (GLRO(dl_hwcap));
41 *reloc_addr = value;
42 break;
43 #endif
diff --git a/meta/recipes-core/eglibc/eglibc_2.18.bb b/meta/recipes-core/eglibc/eglibc_2.18.bb
index 17b651fe15..710b498a4d 100644
--- a/meta/recipes-core/eglibc/eglibc_2.18.bb
+++ b/meta/recipes-core/eglibc/eglibc_2.18.bb
@@ -26,6 +26,7 @@ SRC_URI = "http://downloads.yoctoproject.org/releases/eglibc/eglibc-${PV}-svnr23
26 file://tzselect-awk.patch \ 26 file://tzselect-awk.patch \
27 file://0001-eglibc-run-libm-err-tab.pl-with-specific-dirs-in-S.patch \ 27 file://0001-eglibc-run-libm-err-tab.pl-with-specific-dirs-in-S.patch \
28 file://fix-tibetian-locales.patch \ 28 file://fix-tibetian-locales.patch \
29 file://0001-ARM-Pass-dl_hwcap-to-IFUNC-resolver.patch \
29 " 30 "
30SRC_URI[md5sum] = "b395b021422a027d89884992e91734fc" 31SRC_URI[md5sum] = "b395b021422a027d89884992e91734fc"
31SRC_URI[sha256sum] = "15f564b45dc5dd65faf0875579e3447961ae61e876933384ae05d19328539ad4" 32SRC_URI[sha256sum] = "15f564b45dc5dd65faf0875579e3447961ae61e876933384ae05d19328539ad4"