diff options
author | Alan Modra <amodra@gmail.com> | 2013-12-04 06:44:06 -0600 |
---|---|---|
committer | Adhemerval Zanella <azanella@linux.vnet.ibm.com> | 2013-12-04 07:41:37 -0600 |
commit | 7ec07d9a7b501f1b7d740fda02ba5f39d6d684e5 (patch) | |
tree | 8af2d6588a7c4d7eea36a213f44f3b5823b63f78 /ChangeLog | |
parent | 5162e7dd96efcd9b45c1dc1471a964d45278b1e1 (diff) | |
download | glibc-7ec07d9a7b501f1b7d740fda02ba5f39d6d684e5.tar.gz glibc-7ec07d9a7b501f1b7d740fda02ba5f39d6d684e5.tar.xz glibc-7ec07d9a7b501f1b7d740fda02ba5f39d6d684e5.zip |
PowerPC64: Report overflow on @h and @ha relocations
This patch updates glibc in accordance with the binutils patch checked in here: https://sourceware.org/ml/binutils/2013-10/msg00372.html This changes the various R_PPC64_..._HI and _HA relocations to report 32-bit overflows. The motivation is that existing uses of @h / @ha are to build up 32-bit offsets (for the "medium model" TOC access that GCC now defaults to), and we'd really like to see failures at link / load time rather than silent truncations. For those rare cases where a modifier is needed to build up a 64-bit constant, new relocations _HIGH / _HIGHA are supported. The patch also fixes a bug in overflow checking for the R_PPC64_ADDR30 and R_PPC64_ADDR32 relocations.
Diffstat (limited to 'ChangeLog')
-rw-r--r-- | ChangeLog | 14 |
1 files changed, 14 insertions, 0 deletions
diff --git a/ChangeLog b/ChangeLog index 80b0a757a3..4ac339664a 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,17 @@ +2013-12-04 Alan Modra <amodra@gmail.com> + + * elf/elf.h (R_PPC64_TLSGD, R_PPC64_TLSLD, R_PPC64_TOCSAVE): Define. + (R_PPC64_ADDR16_HIGH, R_PPC64_ADDR16_HIGHA): Likewise. + (R_PPC64_TPREL16_HIGH, R_PPC64_TPREL16_HIGHA): Likewise. + (R_PPC64_DTPREL16_HIGH, R_PPC64_DTPREL16_HIGHA): Likewise. + + * sysdeps/powerpc/powerpc64/dl-machine.h (elf_machine_rela): Add + overflow checking for R_PPC64_ADDR16_HI, R_PPC64_ADDR16_HA, + R_PPC64_TPREL16_HI, and R_PPC64_TPREL16_HA. + Support new R_PPC64_ADDR16_HIGH, R_PPC64_ADDR16_HIGHA, + R_PPC64_TPREL16_HIGH, and R_PPC64_TPREL16_HIGHA relocations. + Fix overflow checking for R_PPC64_ADDR30 and R_PPC64_ADDR32. + 2013-12-04 Ulrich Weigand <Ulrich.Weigand@de.ibm.com> * sysdeps/unix/sysv/linux/powerpc/powerpc64/makecontext.S |