r5796 - in glibc-package/branches/eglibc-2.18/debian: . patches patches/arm
Author: adconrad
Date: 2013-11-29 03:53:55 +0000 (Fri, 29 Nov 2013)
New Revision: 5796
Added:
glibc-package/branches/eglibc-2.18/debian/patches/arm/cvs-ifunc-hwcap-fix.diff
Modified:
glibc-package/branches/eglibc-2.18/debian/changelog
glibc-package/branches/eglibc-2.18/debian/patches/series
Log:
debian/patches/arm/cvs-ifunc-hwcap-fix.diff: Fix IFUNC on non-NEON.
Modified: glibc-package/branches/eglibc-2.18/debian/changelog
===================================================================
--- glibc-package/branches/eglibc-2.18/debian/changelog 2013-11-28 12:29:58 UTC (rev 5795)
+++ glibc-package/branches/eglibc-2.18/debian/changelog 2013-11-29 03:53:55 UTC (rev 5796)
@@ -65,6 +65,7 @@
* debian/libc6.symbols.ppc64: Add missing libc6 symbols file for ppc64.
* debian/libc6.symbols.arm64: Add missing libc6 symbols file for arm64.
* debian/sysdeps/*: Enable new IFUNC support on armel and armhf builds.
+ * debian/patches/arm/cvs-ifunc-hwcap-fix.diff: Fix IFUNC on non-NEON.
* debian/patches/any/cvs-tst-cleanup2-ret.diff: Fix return regression
on recent versions of gcc in nptl/tst-cleanup2 and nptl/tst-cleanupx2.
* debian/patches/any/unsubmitted-tst-tlsmod-as-needed.diff: Fix linking
Added: glibc-package/branches/eglibc-2.18/debian/patches/arm/cvs-ifunc-hwcap-fix.diff
===================================================================
--- glibc-package/branches/eglibc-2.18/debian/patches/arm/cvs-ifunc-hwcap-fix.diff (rev 0)
+++ glibc-package/branches/eglibc-2.18/debian/patches/arm/cvs-ifunc-hwcap-fix.diff 2013-11-29 03:53:55 UTC (rev 5796)
@@ -0,0 +1,22 @@
+commit d0721e703d222c01a9e8c329311c4fb01dac6972
+Author: Carlos O'Donell <carlos@redhat.com>
+Date: Thu Aug 29 00:17:33 2013 -0400
+
+ ARM: Pass dl_hwcap to IFUNC resolver.
+
+ For REL relocs pass dl_hwcap to the IFUNC resolver
+ as is required by the IFUNC API (bug 15905).
+
+diff --git a/ports/sysdeps/arm/dl-machine.h b/ports/sysdeps/arm/dl-machine.h
+index d251527..85dba67 100644
+--- a/ports/sysdeps/arm/dl-machine.h
++++ b/ports/sysdeps/arm/dl-machine.h
+@@ -503,7 +503,7 @@ elf_machine_rel (struct link_map *map, const Elf32_Rel *reloc,
+ break;
+ case R_ARM_IRELATIVE:
+ value = map->l_addr + *reloc_addr;
+- value = ((Elf32_Addr (*) (void)) value) ();
++ value = ((Elf32_Addr (*) (int)) value) (GLRO(dl_hwcap));
+ *reloc_addr = value;
+ break;
+ #endif
Modified: glibc-package/branches/eglibc-2.18/debian/patches/series
===================================================================
--- glibc-package/branches/eglibc-2.18/debian/patches/series 2013-11-28 12:29:58 UTC (rev 5795)
+++ glibc-package/branches/eglibc-2.18/debian/patches/series 2013-11-29 03:53:55 UTC (rev 5796)
@@ -54,6 +54,7 @@
arm/local-soname-hack.diff
arm/local-vfp-sysdeps.diff
arm/unsubmitted-ldso-multilib.diff
+arm/cvs-ifunc-hwcap-fix.diff
hppa/local-inlining.diff
hppa/submitted-fadvise64_64.diff
Reply to: