aboutsummaryrefslogtreecommitdiff
path: root/ports
diff options
context:
space:
mode:
authorCarlos O'Donell <carlos@redhat.com>2013-08-29 00:17:33 -0400
committerCarlos O'Donell <carlos@redhat.com>2013-08-29 00:20:35 -0400
commitd0721e703d222c01a9e8c329311c4fb01dac6972 (patch)
treeca1315b0033f11c3f3d8879e9e0fb14d71dadf3b /ports
parent3a3092398356c90788479fa75524a491e9d860cd (diff)
downloadglibc-d0721e703d222c01a9e8c329311c4fb01dac6972.zip
glibc-d0721e703d222c01a9e8c329311c4fb01dac6972.tar.gz
glibc-d0721e703d222c01a9e8c329311c4fb01dac6972.tar.bz2
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).
Diffstat (limited to 'ports')
-rw-r--r--ports/ChangeLog.arm7
-rw-r--r--ports/sysdeps/arm/dl-machine.h2
2 files changed, 8 insertions, 1 deletions
diff --git a/ports/ChangeLog.arm b/ports/ChangeLog.arm
index 1e7a35c..52f7c0f 100644
--- a/ports/ChangeLog.arm
+++ b/ports/ChangeLog.arm
@@ -1,3 +1,10 @@
+2013-08-28 Kyle McMartin <kyle@redhat.com>
+ Carlos O'Donell <carlos@redhat.com>
+
+ [BZ #15905]
+ * sysdeps/arm/dl-machine [!RTLD_BOOTSTRAP] (elf_machine_rel):
+ Pass GLRO(dl_hwcap) to the IFUNC resolver.
+
2013-07-03 Joseph Myers <joseph@codesourcery.com>
* sysdeps/arm/include/bits/setjmp.h [_ISOMAC] (JMP_BUF_REGLIST):
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