binutils-gdb/ld/testsuite
Kwok Cheung Yeung cb22ccf411 This patch causes local GOT entries addressed via a 16-bit index to
be placed towards the front of local GOT space, while entries addressed
via a 32-bit index are placed towards the rear.

Provided that there are fewer than ~16K local GOT entries addressed via
a 16-bit index in total, this should eliminate any relocation overflows
caused by such GOT entries being allocated beyond the addressable range.

bfd/
	* elfxx-mips.c (struct mips_got_info): Delete assigned_gotno
	field.  Add assigned_low_gotno and assigned_high_gotno fields.
	(mips_elf_create_local_got_entry): Update out-of-space condition.
	Set index of new GOT entry to assigned_low_gotno if required by
	the current relocation, else set it to assigned_high_gotno.
	(mips_elf_set_global_gotidx): Replace uses of assigned_gotno
	with assigned_low_gotno.
	(mips_elf_multi_got): Initialize assigned_low_gotno and
	assigned_high_gotno in secondary GOTs.  Use assigned_low_gotno
	in place of assigned_gotno when handling global GOT entries.
	(mips_elf_lay_out_got): Initialize assigned_low_gotno and
	assigned_high_gotno.
	(_bfd_mips_elf_finish_dynamic_sections): Account for a possible
	gap in the middle of local GOT space.

ld/testsuite/
	* ld-mips-elf/elf-rel-xgot-n32.d: Update for new GOT layout.
	* ld-mips-elf/elf-rel-xgot-n32-embed.d: Likewise.
	* ld-mips-elf/elf-rel-xgot-n64.d: Likewise.
	* ld-mips-elf/elf-rel-xgot-n64-embed.d: Likewise.
	* ld-mips-elf/elf-rel-xgot-n64-linux.d: Likewise.
2014-04-17 14:40:08 +01:00
..
config Fix RX linker testsuite failures by making the assembler use conventional section names. 2014-03-19 12:21:39 +00:00
ld-aarch64 [AArch64] Fix off by one error in instruction relaxation mask. 2014-04-15 17:46:07 +01:00
ld-alpha Update copyright years 2014-03-05 22:16:15 +10:30
ld-arm Add support for limited pretty-printing of ARM PLT entries on eabi and nacl targets. 2014-03-27 13:54:03 +00:00
ld-auto-import Update copyright years 2014-03-05 22:16:15 +10:30
ld-avr bfd/ChangeLog 2014-04-10 19:50:33 +04:00
ld-bootstrap Update copyright years 2014-03-05 22:16:15 +10:30
ld-cdtest Update copyright years 2014-03-05 22:16:15 +10:30
ld-checks Update copyright years 2014-03-05 22:16:15 +10:30
ld-cris Update copyright years 2014-03-05 22:16:15 +10:30
ld-crx Update copyright years 2014-03-05 22:16:15 +10:30
ld-cygwin Update copyright years 2014-03-05 22:16:15 +10:30
ld-d10v Update copyright years 2014-03-05 22:16:15 +10:30
ld-discard Update copyright years 2014-03-05 22:16:15 +10:30
ld-elf gas/ 2014-03-20 21:18:43 +00:00
ld-elfcomm Update copyright years 2014-03-05 22:16:15 +10:30
ld-elfvers Update copyright years 2014-03-05 22:16:15 +10:30
ld-elfvsb Update copyright years 2014-03-05 22:16:15 +10:30
ld-elfweak Update copyright years 2014-03-05 22:16:15 +10:30
ld-fastcall Update copyright years 2014-03-05 22:16:15 +10:30
ld-frv Update copyright years 2014-03-05 22:16:15 +10:30
ld-gc Update copyright years 2014-03-05 22:16:15 +10:30
ld-h8300 Update copyright years 2014-03-05 22:16:15 +10:30
ld-i386 Update copyright years 2014-03-05 22:16:15 +10:30
ld-ia64 Update copyright years 2014-03-05 22:16:15 +10:30
ld-ifunc Update copyright years 2014-03-05 22:16:15 +10:30
ld-libs Update copyright years 2014-03-05 22:16:15 +10:30
ld-linkonce Update copyright years 2014-03-05 22:16:15 +10:30
ld-m68hc11 Update copyright years 2014-03-05 22:16:15 +10:30
ld-m68k Update copyright years 2014-03-05 22:16:15 +10:30
ld-mep Update copyright years 2014-03-05 22:16:15 +10:30
ld-metag Update copyright years 2014-03-05 22:16:15 +10:30
ld-mips-elf This patch causes local GOT entries addressed via a 16-bit index to 2014-04-17 14:40:08 +01:00
ld-misc Update copyright years 2014-03-05 22:16:15 +10:30
ld-mmix Update copyright years 2014-03-05 22:16:15 +10:30
ld-mn10300 Update copyright years 2014-03-05 22:16:15 +10:30
ld-nds32 Update copyright years 2014-03-05 22:16:15 +10:30
ld-nios2 Nios II CALL26 linker relaxation 2014-01-30 17:47:07 -08:00
ld-pe Add support for generating and inserting build IDs into COFF binaries. 2014-04-08 10:59:43 +01:00
ld-pie Update copyright years 2014-03-05 22:16:15 +10:30
ld-plugin Fix spurious failures in ld-plugin/lto.exp 2014-04-07 19:07:03 +02:00
ld-powerpc Referencing a function's address on PowerPC64 ELFv2 2014-03-27 00:49:38 +10:30
ld-s390 Update copyright years 2014-03-05 22:16:15 +10:30
ld-scripts Pad sections according to current script FILL. 2014-04-04 19:06:35 +10:30
ld-selective Update copyright years 2014-03-05 22:16:15 +10:30
ld-sh Update copyright years 2014-03-05 22:16:15 +10:30
ld-shared Update copyright years 2014-03-05 22:16:15 +10:30
ld-size Update copyright years 2014-03-05 22:16:15 +10:30
ld-sparc Update copyright years 2014-03-05 22:16:15 +10:30
ld-spu Update copyright years 2014-03-05 22:16:15 +10:30
ld-srec Update copyright years 2014-03-05 22:16:15 +10:30
ld-tic6x Update copyright years 2014-03-05 22:16:15 +10:30
ld-tilegx Update copyright years 2014-03-05 22:16:15 +10:30
ld-tilepro Update copyright years 2014-03-05 22:16:15 +10:30
ld-undefined Update copyright years 2014-03-05 22:16:15 +10:30
ld-unique Update copyright years 2014-03-05 22:16:15 +10:30
ld-v850 Update copyright years 2014-03-05 22:16:15 +10:30
ld-vax-elf Update copyright years 2014-03-05 22:16:15 +10:30
ld-versados Update copyright years 2014-03-05 22:16:15 +10:30
ld-vxworks Update copyright years 2014-03-05 22:16:15 +10:30
ld-x86-64 Update copyright years 2014-03-05 22:16:15 +10:30
ld-xc16x Update copyright years 2014-03-05 22:16:15 +10:30
ld-xstormy16 Update copyright years 2014-03-05 22:16:15 +10:30
ld-xtensa Update copyright years 2014-03-05 22:16:15 +10:30
lib Update copyright years 2014-03-05 22:16:15 +10:30
ChangeLog This patch causes local GOT entries addressed via a 16-bit index to 2014-04-17 14:40:08 +01:00
ChangeLog-2004 Add copyright notices 2012-12-10 12:48:03 +00:00
ChangeLog-2005 Add copyright notices 2012-12-10 12:48:03 +00:00
ChangeLog-2006 Add copyright notices 2012-12-10 12:48:03 +00:00
ChangeLog-2007 Add copyright notices 2012-12-10 12:48:03 +00:00
ChangeLog-2008 Add copyright notices 2012-12-10 12:48:03 +00:00
ChangeLog-2009 Add copyright notices 2012-12-10 12:48:03 +00:00
ChangeLog-2010 Add copyright notices 2012-12-10 12:48:03 +00:00
ChangeLog-2011 Add copyright notices 2012-12-10 12:48:03 +00:00
ChangeLog-2012 Rotate binutils ChangeLog for 2013 2013-01-02 17:06:32 +00:00
ChangeLog-2013 New Year - binutils ChangeLog rotation 2014-01-08 05:32:12 -08:00
ChangeLog-9303 Add copyright notices 2012-12-10 12:48:03 +00:00