8sa1-binutils-gdb/include
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
..
aout Add copyright notices 2012-12-17 16:56:12 +00:00
cgen PR binutils/15728 2013-07-18 13:53:04 +00:00
coff include/coff/ 2013-07-10 08:16:34 +00:00
elf Report overflow on PowerPC64 @h and @ha relocations. 2013-10-30 13:33:15 +10:30
gdb Fix up a couple oddities in GDB's signal names and strings. 2013-10-25 14:02:58 +00:00
mach-o Add copyright notices 2012-12-10 12:48:03 +00:00
nlm Add copyright notices 2012-12-10 12:48:03 +00:00
opcode 2013-10-14 Chao-ying Fu <Chao-ying.Fu@imgtec.com> 2013-10-14 18:41:17 +00:00
som Add copyright notices 2012-12-10 12:48:03 +00:00
vms Add copyright notices 2012-12-10 12:48:03 +00:00
alloca-conf.h Add copyright notices 2012-12-17 16:56:12 +00:00
ansidecl.h merge from gcc 2012-12-18 17:41:27 +00:00
bfdlink.h include/ 2013-02-18 23:50:32 +00:00
binary-io.h
bout.h
ChangeLog * Removed short_hand field from opcode table and 2013-10-11 04:55:42 +00:00
ChangeLog-9103 Add copyright notices 2012-12-10 12:48:03 +00:00
COPYING
COPYING3
demangle.h merge from gcc 2013-04-03 18:21:49 +00:00
dis-asm.h 2013-02-06 Sandra Loosemore <sandra@codesourcery.com> 2013-02-06 23:22:26 +00:00
dwarf2.def merge from gcc 2013-08-20 06:02:53 +00:00
dwarf2.h Restore patch lost in last merge from GCC. 2013-03-01 23:40:38 +00:00
dyn-string.h
fibheap.h
filenames.h include/ 2012-07-13 23:39:46 +00:00
floatformat.h merge from gcc 2013-08-20 06:02:53 +00:00
fnmatch.h
fopen-bin.h Add copyright notices 2012-12-17 16:56:12 +00:00
fopen-same.h Add copyright notices 2012-12-17 16:56:12 +00:00
fopen-vms.h Add copyright notices 2012-12-17 16:56:12 +00:00
gdbm.h
getopt.h
hashtab.h merge from gcc 2010-06-10 18:30:24 +00:00
hp-symtab.h
ieee.h
leb128.h * leb128.h: #include stdint.h, inttypes.h. 2012-05-24 01:18:15 +00:00
libiberty.h merge from gcc 2011-09-28 20:01:45 +00:00
lto-symtab.h
MAINTAINERS Add copyright notices 2012-12-17 16:56:12 +00:00
md5.h PR other/54620 2013-01-30 16:52:35 +00:00
oasys.h
objalloc.h merge from gcc 2012-10-10 03:11:33 +00:00
obstack.h * obstack.h [!GNUC] (obstack_free): Avoid cast to int. 2011-10-22 01:35:29 +00:00
os9k.h
partition.h
plugin-api.h This patch assigns explicit integers to enum values corresponding 2013-02-11 19:36:56 +00:00
progress.h
safe-ctype.h
sha1.h PR other/54620 2013-01-30 16:52:35 +00:00
simple-object.h merge from gcc 2010-11-17 02:03:43 +00:00
sort.h
splay-tree.h merge from gcc 2012-04-10 17:07:35 +00:00
symcat.h
timeval-utils.h merge from gcc 2011-09-28 20:01:45 +00:00
vtv-change-permission.h merge from gcc 2013-08-07 15:04:28 +00:00
xregex2.h
xregex.h merge from gcc 2011-07-25 17:11:48 +00:00
xtensa-config.h merge from gcc 2011-01-03 21:05:58 +00:00
xtensa-isa-internal.h
xtensa-isa.h