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).
This commit is contained in:
Carlos O'Donell 2013-08-29 00:17:33 -04:00
parent 3a30923983
commit d0721e703d
3 changed files with 9 additions and 2 deletions

2
NEWS
View file

@ -9,7 +9,7 @@ Version 2.19
* The following bugs are resolved with this release:
14699, 15531, 15532, 15736, 15749, 15797, 15867, 15890, 15897.
14699, 15531, 15532, 15736, 15749, 15797, 15867, 15890, 15897, 15905.
* CVE-2013-4237 The readdir_r function could write more than NAME_MAX bytes
to the d_name member of struct dirent, or omit the terminating NUL

View file

@ -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):

View file

@ -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