PowerPC64: Report overflow on @h and @ha relocations
authorAlan Modra <amodra@gmail.com>
Wed, 4 Dec 2013 12:44:06 +0000 (06:44 -0600)
committerAdhemerval Zanella <azanella@linux.vnet.ibm.com>
Wed, 4 Dec 2013 13:41:37 +0000 (07:41 -0600)
commit7ec07d9a7b501f1b7d740fda02ba5f39d6d684e5
tree8af2d6588a7c4d7eea36a213f44f3b5823b63f78
parent5162e7dd96efcd9b45c1dc1471a964d45278b1e1
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.
ChangeLog
elf/elf.h
sysdeps/powerpc/powerpc64/dl-machine.h