old-cross-binutils/include/elf
Alan Modra f9c6b9078c Report overflow on PowerPC64 @h and @ha relocations.
This changes the behaviour of @h and @ha on PowerPC64 to report errors
on 32-bit overflow.  The motivation for this change is that on
PowerPC64, most uses of @h and @ha modifiers and their corresponding
relocations are to build up 32-bit offsets.  We'd like to know when
such offsets overflow.  Only rarely do people use @h or @ha with the
high 32-bit modifiers to build a 64-bit constant.  Those uses will now
need to use two new modifiers, @high and @higha, if the constant isn't
known at assembly time.  For now, we won't report overflow at assembly
time..

This also fixes an error when applying some of the HIGHER and HIGHEST
relocations.

include/elf/
	* ppc64.h (R_PPC64_ADDR16_HIGH, R_PPC64_ADDR16_HIGHA,
	R_PPC64_TPREL16_HIGH, R_PPC64_TPREL16_HIGHA,
	R_PPC64_DTPREL16_HIGH, R_PPC64_DTPREL16_HIGHA): New.
	(IS_PPC64_TLS_RELOC): Match new tls relocs.
bfd/
	* reloc.c (BFD_RELOC_PPC64_ADDR16_HIGH, BFD_RELOC_PPC64_ADDR16_HIGHA,
	BFD_RELOC_PPC64_TPREL16_HIGH, BFD_RELOC_PPC64_TPREL16_HIGHA,
	BFD_RELOC_PPC64_DTPREL16_HIGH, BFD_RELOC_PPC64_DTPREL16_HIGHA): New.
	* elf64-ppc.c (ppc64_elf_howto_raw): Add entries for new relocs.
	Make all _HA and _HI relocs report signed overflow.
	(ppc64_elf_reloc_type_lookup): Handle new relocs.
	(must_be_dyn_reloc, ppc64_elf_check_relocs): Likewise.
	(dec_dynrel_count, ppc64_elf_relocate_section): Likewise.
	(ppc64_elf_relocate_section): Don't apply 0x8000 adjust to
	R_PPC64_TPREL16_HIGHER, R_PPC64_TPREL16_HIGHEST,
	R_PPC64_DTPREL16_HIGHER, and R_PPC64_DTPREL16_HIGHEST.
	* libbfd.h: Regenerate.
	* bfd-in2.h: Regenerate.
gas/
	* config/tc-ppc.c (SEX16): Don't mask.
	(REPORT_OVERFLOW_HI): Define as zero.
	(ppc_elf_suffix): Support @high, @higha, @dtprel@high, @dtprel@higha,
	@tprel@high, and @tprel@higha modifiers.
	(md_assemble): Ignore X_unsigned when applying 16-bit insn fields.
	Add (disabled) code to check @h and @ha reloc overflow for powerpc64.
	Handle new relocs.
	(md_apply_fix): Similarly.
elfcpp/
	* powerpc.h (R_PPC64_ADDR16_HIGH, R_PPC64_ADDR16_HIGHA,
	R_PPC64_TPREL16_HIGH, R_PPC64_TPREL16_HIGHA,
	R_PPC64_DTPREL16_HIGH, R_PPC64_DTPREL16_HIGHA): Define.
gold/
	* powerpc.cc (Target_powerpc::Scan::check_non_pic): Handle new relocs.
	(Target_powerpc::Scan::global, local): Likewise.
	(Target_powerpc::Relocate::relocate): Likewise.  Check for overflow
	on all ppc64 @h and @ha relocs.
2013-10-30 13:33:15 +10:30
..
aarch64.h [AArch64, ILP32] 3/6 Support for ELF32 relocs and refactor reloc handling 2013-06-26 10:47:06 +00:00
alpha.h Upgrade header files to use GPLv3 2010-04-15 10:26:09 +00:00
arc.h Upgrade header files to use GPLv3 2010-04-15 10:26:09 +00:00
arm.h bfd: 2012-10-30 12:44:58 +00:00
avr.h PR 13503 2012-05-16 14:52:16 +00:00
bfin.h blackfin: add support for L1 code/data flags 2010-11-15 22:30:47 +00:00
ChangeLog Report overflow on PowerPC64 @h and @ha relocations. 2013-10-30 13:33:15 +10:30
ChangeLog-9103 Add copyright notices 2012-12-10 12:48:03 +00:00
common.h Add EM_INTEL205 to EM_INTEL209 2013-05-22 17:02:35 +00:00
cr16.h Upgrade header files to use GPLv3 2010-04-15 10:26:09 +00:00
cr16c.h Upgrade header files to use GPLv3 2010-04-15 10:26:09 +00:00
cris.h Upgrade header files to use GPLv3 2010-04-15 10:26:09 +00:00
crx.h Upgrade header files to use GPLv3 2010-04-15 10:26:09 +00:00
d10v.h Upgrade header files to use GPLv3 2010-04-15 10:26:09 +00:00
d30v.h Upgrade header files to use GPLv3 2010-04-15 10:26:09 +00:00
dlx.h Upgrade header files to use GPLv3 2010-04-15 10:26:09 +00:00
dwarf.h Upgrade header files to use GPLv3 2010-04-15 10:26:09 +00:00
epiphany.h bfd: 2011-10-27 14:27:16 +00:00
external.h Upgrade header files to use GPLv3 2010-04-15 10:26:09 +00:00
fr30.h Upgrade header files to use GPLv3 2010-04-15 10:26:09 +00:00
frv.h Upgrade header files to use GPLv3 2010-04-15 10:26:09 +00:00
h8.h * elf32-h8300 (h8_relax_section): Add new relaxation of mov 2013-03-21 16:08:07 +00:00
hppa.h Upgrade header files to use GPLv3 2010-04-15 10:26:09 +00:00
i370.h Implement generic SHF_EXCLUDE. 2010-05-18 03:31:07 +00:00
i386.h Define R_386_SIZE32/R_X86_64_SIZE32/R_X86_64_SIZE64 2013-01-16 20:31:57 +00:00
i860.h Upgrade header files to use GPLv3 2010-04-15 10:26:09 +00:00
i960.h Upgrade header files to use GPLv3 2010-04-15 10:26:09 +00:00
ia64.h 2013-07-08 Tristan Gingold <gingold@adacore.com> 2013-07-08 13:16:08 +00:00
internal.h include/elf/ 2011-03-14 15:55:04 +00:00
ip2k.h Upgrade header files to use GPLv3 2010-04-15 10:26:09 +00:00
iq2000.h Upgrade header files to use GPLv3 2010-04-15 10:26:09 +00:00
lm32.h Upgrade header files to use GPLv3 2010-04-15 10:26:09 +00:00
m32c.h Upgrade header files to use GPLv3 2010-04-15 10:26:09 +00:00
m32r.h Upgrade header files to use GPLv3 2010-04-15 10:26:09 +00:00
m68hc11.h * m68hc11.h: #define E_M68HC11_NO_BANK_WARNING 2012-08-02 20:08:54 +00:00
m68k.h Upgrade header files to use GPLv3 2010-04-15 10:26:09 +00:00
mcore.h Upgrade header files to use GPLv3 2010-04-15 10:26:09 +00:00
mep.h Upgrade header files to use GPLv3 2010-04-15 10:26:09 +00:00
metag.h * common.h: Fix case of "Meta". 2013-01-10 09:49:22 +00:00
microblaze.h Microblaze: Add support for handling TLS symbol suffixes and generating 2012-12-11 16:56:53 +00:00
mips.h 2013-10-14 Chao-ying Fu <Chao-ying.Fu@imgtec.com> 2013-10-14 18:37:05 +00:00
mmix.h Upgrade header files to use GPLv3 2010-04-15 10:26:09 +00:00
mn10200.h Upgrade header files to use GPLv3 2010-04-15 10:26:09 +00:00
mn10300.h * mn10300.h (elf_mn10300_reloc_type): Add R_MN10300_TLS_GD, 2012-03-07 17:52:00 +00:00
moxie.h Upgrade header files to use GPLv3 2010-04-15 10:26:09 +00:00
msp430.h * archures.c: Add some more MSP430 machine numbers. 2013-05-02 21:06:15 +00:00
mt.h Upgrade header files to use GPLv3 2010-04-15 10:26:09 +00:00
nios2.h 2013-02-06 Sandra Loosemore <sandra@codesourcery.com> 2013-02-06 23:22:26 +00:00
openrisc.h Upgrade header files to use GPLv3 2010-04-15 10:26:09 +00:00
or32.h Implement generic SHF_EXCLUDE. 2010-05-18 03:31:07 +00:00
pj.h Upgrade header files to use GPLv3 2010-04-15 10:26:09 +00:00
ppc.h Add support for PowerPC VLE. 2012-05-14 19:45:30 +00:00
ppc64.h Report overflow on PowerPC64 @h and @ha relocations. 2013-10-30 13:33:15 +10:30
reloc-macros.h Fix spelling mistakes. 2011-06-02 13:43:24 +00:00
rl78.h * elf32-rl78.c (rl78_elf_merge_private_bfd_data): Complain if G10 2013-08-09 10:40:04 +00:00
rx.h 2012-11-09 Nick Clifton <nickc@redhat.com> 2012-11-09 17:00:44 +00:00
s390.h 2013-07-05 Andreas Krebbel <Andreas.Krebbel@de.ibm.com> 2013-07-05 09:45:44 +00:00
score.h Add support for Score7 architecture. 2009-03-02 10:33:08 +00:00
sh.h 2010-05-21 Daniel Jacobowitz <dan@codesourcery.com> 2010-05-25 14:12:43 +00:00
sparc.h Add new ELF_SPARC_HWCAP_* defines for features found on SPARC-T4. 2012-04-27 18:00:52 +00:00
spu.h Upgrade header files to use GPLv3 2010-04-15 10:26:09 +00:00
tic6x-attrs.h bfd: 2010-11-02 14:36:39 +00:00
tic6x.h 2011-05-09 Paul Brook <paul@codesourcery.com> 2011-05-09 13:17:58 +00:00
tilegx.h Add support for constructing pc-relative addresses to the plt, by 2012-08-28 02:43:22 +00:00
tilepro.h Improve TLS support on TILE-Gx/TILEPro: 2012-02-25 22:24:21 +00:00
v850.h Add support for V850E3V5 architecture 2013-01-24 11:14:05 +00:00
vax.h Upgrade header files to use GPLv3 2010-04-15 10:26:09 +00:00
vxworks.h Upgrade header files to use GPLv3 2010-04-15 10:26:09 +00:00
x86-64.h Define R_386_SIZE32/R_X86_64_SIZE32/R_X86_64_SIZE64 2013-01-16 20:31:57 +00:00
xc16x.h Upgrade header files to use GPLv3 2010-04-15 10:26:09 +00:00
xgate.h Add support for Motorola XGATE embedded CPU 2012-05-03 13:12:08 +00:00
xstormy16.h Upgrade header files to use GPLv3 2010-04-15 10:26:09 +00:00
xtensa.h Upgrade header files to use GPLv3 2010-04-15 10:26:09 +00:00