binutils-gdb/ld/testsuite
Alan Modra 64029e9368 Separate header PT_LOAD for -z separate-code
This patch, along with previous patches in the series, supports
putting the ELF file header and program headers in a PT_LOAD without
sections.

Logic governing whether headers a loaded has changed a little:  The
primary reason to include headers is now the presence of
SIZEOF_HEADERS in a linker script.  However, to support scripts that
may have reserved space for headers by hand, we continue to add
headers whenever the first section address is past the end of headers
modulo page size.

include/
	* bfdlink.h (struct bfd_link_info): Add load_phdrs field.
bfd/
	* elf-nacl.c (nacl_modify_segment_map): Cope with header PT_LOAD
	lacking sections.
	* elf.c (_bfd_elf_map_sections_to_segments): Assume file and
	program headers are required when info->load_phdrs.  Reorganize
	code handling program headers.  Generate a mapping without
	sections just for file and program headers when -z separate-code
	would indicate they should be on a different page to the first
	section.
ld/
	* ldexp.c (fold_name <SIZEOF_HEADERS>): Set link_info.load_phdrs.
	* testsuite/ld-elf/loadaddr1.d: Pass -z noseparate-code.
	* testsuite/ld-elf/loadaddr2.d: Likewise.
	* testsuite/ld-i386/vxworks2.sd: Adjust expected output.
	* testsuite/ld-powerpc/vxworks2.sd: Likewise.
	* testsuite/ld-elf/overlay.d: Remove spu xfail.
	* testsuite/ld-spu/ovl.lnk: Don't use SIZEOF_HEADERS.
	* testsuite/ld-tic6x/dsbt-be.ld: Likewise.
	* testsuite/ld-tic6x/dsbt-inrange.ld: Likewise.
	* testsuite/ld-tic6x/dsbt-overflow.ld: Likewise.
	* testsuite/ld-tic6x/dsbt.ld: Likewise.
2018-10-08 20:26:08 +10:30
..
config
ld-aarch64
ld-alpha
ld-arc
ld-arm
ld-auto-import
ld-avr Fix more fallout from 17f6ade235 2018-09-21 09:55:38 +09:30
ld-bootstrap
ld-cdtest
ld-checks ld: Add the entry symbol, _main, for LynxOS targets 2018-09-20 12:31:20 -07:00
ld-cris
ld-crx
ld-csky
ld-cygwin
ld-d10v Consolidate run_dump_test 2018-09-15 16:56:55 +09:30
ld-discard
ld-elf Separate header PT_LOAD for -z separate-code 2018-10-08 20:26:08 +10:30
ld-elfcomm Andes Technology has good news for you, we plan to update the nds32 port of binutils on upstream! 2018-09-20 13:32:58 +01:00
ld-elfvers
ld-elfvsb
ld-elfweak
ld-fastcall
ld-frv
ld-gc Consolidate run_dump_test 2018-09-15 16:56:55 +09:30
ld-h8300
ld-i386 Separate header PT_LOAD for -z separate-code 2018-10-08 20:26:08 +10:30
ld-ia64
ld-ifunc
ld-libs
ld-linkonce
ld-m68hc11
ld-m68k
ld-mep
ld-metag
ld-mips-elf PR ld/21375: MIPS: Add test cases for undefined weaks resolving to zero 2018-09-14 20:22:57 +01:00
ld-misc
ld-mmix
ld-mn10300
ld-msp430-elf
ld-nds32 Andes Technology has good news for you, we plan to update the nds32 port of binutils on upstream! 2018-09-20 13:32:58 +01:00
ld-nios2
ld-or1k or1k: Add the l.adrp insn and supporting relocations 2018-10-05 11:41:41 +09:00
ld-pe
ld-pie
ld-plugin
ld-powerpc Separate header PT_LOAD for -z separate-code 2018-10-08 20:26:08 +10:30
ld-pru
ld-riscv-elf RISC-V: Allow pcrel_lo addends, error on addend overflow. 2018-09-24 14:05:32 -07:00
ld-s12z S12Z Add tests for relocs. 2018-09-16 17:50:09 +02:00
ld-s390 S/390: Prevent GOT access rewrite for certain symbols 2018-09-17 11:01:24 +02:00
ld-scripts A few hppa testcase tidies 2018-09-17 23:17:14 +09:30
ld-selective
ld-sh
ld-shared
ld-size Ensure that binutils test names are unique. 2018-09-17 10:10:47 +01:00
ld-sparc
ld-spu Separate header PT_LOAD for -z separate-code 2018-10-08 20:26:08 +10:30
ld-srec
ld-tic6x Separate header PT_LOAD for -z separate-code 2018-10-08 20:26:08 +10:30
ld-tilegx
ld-tilepro
ld-undefined
ld-unique Ensure that binutils test names are unique. 2018-09-17 10:10:47 +01:00
ld-v850
ld-vax-elf
ld-visium
ld-vxworks
ld-x86-64 Ensure that binutils test names are unique. 2018-09-17 10:10:47 +01:00
ld-xc16x
ld-xstormy16
ld-xtensa
ld-z8k
lib Consolidate run_dump_test 2018-09-15 16:56:55 +09:30
ChangeLog-2004
ChangeLog-2005
ChangeLog-2006
ChangeLog-2007
ChangeLog-2008
ChangeLog-2009
ChangeLog-2010
ChangeLog-2011
ChangeLog-2012
ChangeLog-2013
ChangeLog-2014
ChangeLog-2015
ChangeLog-9303