diff options
| author | Khem Raj <raj.khem@gmail.com> | 2013-09-13 01:48:33 +0000 |
|---|---|---|
| committer | Richard Purdie <richard.purdie@linuxfoundation.org> | 2013-09-14 08:29:42 +0100 |
| commit | 1875fb796f3680489a6eee082ca445df4b4113d3 (patch) | |
| tree | 1f82cf04a777c870a09e4e26a9c0970797e44a13 | |
| parent | 99875e2e1a09fe5e9fb9b6eac0ad28fb3f79d74a (diff) | |
| download | poky-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>
| -rw-r--r-- | meta/recipes-core/eglibc/eglibc-2.18/0001-ARM-Pass-dl_hwcap-to-IFUNC-resolver.patch | 43 | ||||
| -rw-r--r-- | meta/recipes-core/eglibc/eglibc_2.18.bb | 1 |
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 @@ | |||
| 1 | Upstream-Status: Backport | ||
| 2 | |||
| 3 | From d0721e703d222c01a9e8c329311c4fb01dac6972 Mon Sep 17 00:00:00 2001 | ||
| 4 | From: Carlos O'Donell <carlos@redhat.com> | ||
| 5 | Date: Thu, 29 Aug 2013 00:17:33 -0400 | ||
| 6 | Subject: [PATCH] ARM: Pass dl_hwcap to IFUNC resolver. | ||
| 7 | |||
| 8 | For REL relocs pass dl_hwcap to the IFUNC resolver | ||
| 9 | as 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 | |||
| 16 | Index: 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): | ||
| 31 | Index: 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 | " |
| 30 | SRC_URI[md5sum] = "b395b021422a027d89884992e91734fc" | 31 | SRC_URI[md5sum] = "b395b021422a027d89884992e91734fc" |
| 31 | SRC_URI[sha256sum] = "15f564b45dc5dd65faf0875579e3447961ae61e876933384ae05d19328539ad4" | 32 | SRC_URI[sha256sum] = "15f564b45dc5dd65faf0875579e3447961ae61e876933384ae05d19328539ad4" |
