1
0
mirror of https://sourceware.org/git/glibc.git synced 2025-08-08 17:42:12 +03:00

Fix sparc64 crashes with LD_BIND_NOW and --enable-bind-now.

[BZ #14376]
	* sysdeps/sparc/sparc64/dl-machine.h (elf_machine_rela): Do not
	pass reloc->r_addend in as the 'high' argument to
	sparc64_fixup_plt when handling R_SPARC_JMP_IREL relocations.
This commit is contained in:
David S. Miller
2012-09-27 21:33:54 -07:00
parent c39bc8b825
commit aa9bbfe6a7
3 changed files with 17 additions and 3 deletions

View File

@@ -1,3 +1,10 @@
2012-09-27 David S. Miller <davem@davemloft.net>
[BZ #14376]
* sysdeps/sparc/sparc64/dl-machine.h (elf_machine_rela): Do not
pass reloc->r_addend in as the 'high' argument to
sparc64_fixup_plt when handling R_SPARC_JMP_IREL relocations.
2012-09-28 Pino Toscano <toscano.pino@tiscali.it>
* rt/tst-aio2.c: Include <pthread.h>.

4
NEWS
View File

@@ -13,8 +13,8 @@ Version 2.17
13412, 13542, 13629, 13679, 13696, 13717, 13741, 13939, 13966, 14042,
14090, 14150, 14151, 14154, 14157, 14166, 14173, 14195, 14237, 14252,
14283, 14298, 14303, 14307, 14328, 14331, 14336, 14337, 14347, 14349,
14459, 14476, 14505, 14510, 14516, 14518, 14519, 14530, 14532, 14538,
14544, 14545, 14562, 14576, 14579, 14583, 14587, 14621.
14376, 14459, 14476, 14505, 14510, 14516, 14518, 14519, 14530, 14532,
14538, 14544, 14545, 14562, 14576, 14579, 14583, 14587, 14621.
* Support for STT_GNU_IFUNC symbols added for s390 and s390x.
Optimized versions of memcpy, memset, and memcmp added for System z10 and

View File

@@ -458,7 +458,14 @@ elf_machine_rela (struct link_map *map, const Elf64_Rela *reloc,
break;
case R_SPARC_JMP_IREL:
value = ((Elf64_Addr (*) (int)) value) (GLRO(dl_hwcap));
/* Fall thru */
/* 'high' is always zero, for large PLT entries the linker
emits an R_SPARC_IRELATIVE. */
#ifdef RESOLVE_CONFLICT_FIND_MAP
sparc64_fixup_plt (NULL, reloc, reloc_addr, value, 0, 0);
#else
sparc64_fixup_plt (map, reloc, reloc_addr, value, 0, 0);
#endif
break;
case R_SPARC_JMP_SLOT:
#ifdef RESOLVE_CONFLICT_FIND_MAP
/* R_SPARC_JMP_SLOT conflicts against .plt[32768+]