binutils-gdb/ld/testsuite/ld-powerpc
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
..
addpcis.d PowerPC addpcis fix 2017-02-28 11:59:47 +10:30
addpcis.s Add assembler, disassembler and linker support for power9. 2015-11-11 19:52:52 -06:00
aix52.exp Update year range in copyright notice of binutils files 2018-01-03 17:49:56 +10:30
aix-abs-branch-1.dd
aix-abs-branch-1.ex
aix-abs-branch-1.im
aix-abs-branch-1.nd
aix-abs-branch-1.s
aix-abs-reloc-1.ex
aix-abs-reloc-1.im
aix-abs-reloc-1.nd
aix-abs-reloc-1.od
aix-abs-reloc-1.s
aix-core-sec-1.ex
aix-core-sec-1.hd
aix-core-sec-1.s
aix-core-sec-2.ex
aix-core-sec-2.hd
aix-core-sec-2.s
aix-core-sec-3.ex
aix-core-sec-3.hd
aix-core-sec-3.s
aix-export-1-all.dd
aix-export-1-full.dd
aix-export-1a.s
aix-export-1b.s
aix-export-2.nd
aix-export-2.s
aix-gc-1-32.dd
aix-gc-1-64.dd
aix-gc-1.ex
aix-gc-1.nd
aix-gc-1.s
aix-glink-1-32.d
aix-glink-1-32.dd
aix-glink-1-64.d
aix-glink-1-64.dd
aix-glink-1.ex
aix-glink-1.s
aix-glink-2-32.dd
aix-glink-2-64.dd
aix-glink-2a.ex
aix-glink-2a.s
aix-glink-2b.s
aix-glink-2c.ex
aix-glink-2c.s
aix-glink-2d.s
aix-glink-3-32.d
aix-glink-3-64.d
aix-glink-3.dd
aix-glink-3.s
aix-glink-3a.s
aix-glink-3b.s
aix-lineno-1.s
aix-lineno-1.txt
aix-lineno-1a.dd
aix-lineno-1a.nd
aix-lineno-1b.dd
aix-lineno-1b.nd
aix-no-dup-syms-1-dso.dnd
aix-no-dup-syms-1-dso.drd
aix-no-dup-syms-1-dso.nd
aix-no-dup-syms-1-dso.rd
aix-no-dup-syms-1-rel.nd
aix-no-dup-syms-1-rel.rd
aix-no-dup-syms-1.ex
aix-no-dup-syms-1.im
aix-no-dup-syms-1a.s
aix-no-dup-syms-1b.s
aix-ref-1-32.od
aix-ref-1-64.od
aix-ref-1.s
aix-rel-1.od
aix-rel-1.s
aix-toc-1-32.dd
aix-toc-1-64.dd
aix-toc-1.ex
aix-toc-1a.s
aix-toc-1b.s
aix-weak-1-dso.dnd
aix-weak-1-dso.hd
aix-weak-1-dso.nd
aix-weak-1-gcdso.dnd
aix-weak-1-gcdso.hd
aix-weak-1-gcdso.nd
aix-weak-1-rel.hd
aix-weak-1-rel.nd
aix-weak-1.ex
aix-weak-1a.s
aix-weak-1b.s
aix-weak-2a.ex
aix-weak-2a.nd
aix-weak-2a.s
aix-weak-2b.nd
aix-weak-2b.s
aix-weak-2c.ex
aix-weak-2c.nd
aix-weak-2c.od
aix-weak-2c.s
aix-weak-3-32.d ld error/warning messages 2018-02-26 10:51:12 +10:30
aix-weak-3-32.dd
aix-weak-3-64.d ld error/warning messages 2018-02-26 10:51:12 +10:30
aix-weak-3-64.dd
aix-weak-3a.ex
aix-weak-3a.s
aix-weak-3b.ex
aix-weak-3b.s
ambiguousv1.d Define various symbols conditionally in shared libraries 2018-06-08 20:17:34 +09:30
ambiguousv1b.d Define various symbols conditionally in shared libraries 2018-06-08 20:17:34 +09:30
ambiguousv2.d Define various symbols conditionally in shared libraries 2018-06-08 20:17:34 +09:30
ambiguousv2b.d Define various symbols conditionally in shared libraries 2018-06-08 20:17:34 +09:30
apuinfo1.s PowerPC VLE 2016-06-07 22:04:38 +09:30
apuinfo2.s
apuinfo-nul1.s
apuinfo-nul.rd
apuinfo-nul.s
apuinfo-vle2.s PowerPC VLE 2016-06-07 22:04:38 +09:30
apuinfo-vle.rd
apuinfo-vle.s
apuinfo.rd
attr-gnu-4-0.s
attr-gnu-4-1.s
attr-gnu-4-2.s
attr-gnu-4-3.s
attr-gnu-4-00.d
attr-gnu-4-01.d PowerPC .gnu.attributes 2016-09-26 18:04:57 +09:30
attr-gnu-4-02.d PowerPC .gnu.attributes 2016-09-26 18:04:57 +09:30
attr-gnu-4-03.d PowerPC .gnu.attributes 2016-09-26 18:04:57 +09:30
attr-gnu-4-10.d PowerPC .gnu.attributes 2016-09-26 18:04:57 +09:30
attr-gnu-4-11.d PowerPC .gnu.attributes 2016-09-26 18:04:57 +09:30
attr-gnu-4-12.d Error for mismatched powerpc ABI tags 2018-07-05 10:21:37 +09:30
attr-gnu-4-13.d Error for mismatched powerpc ABI tags 2018-07-05 10:21:37 +09:30
attr-gnu-4-20.d PowerPC .gnu.attributes 2016-09-26 18:04:57 +09:30
attr-gnu-4-21.d Error for mismatched powerpc ABI tags 2018-07-05 10:21:37 +09:30
attr-gnu-4-22.d PowerPC .gnu.attributes 2016-09-26 18:04:57 +09:30
attr-gnu-4-23.d Error for mismatched powerpc ABI tags 2018-07-05 10:21:37 +09:30
attr-gnu-4-31.d Error for mismatched powerpc ABI tags 2018-07-05 10:21:37 +09:30
attr-gnu-4-32.d Error for mismatched powerpc ABI tags 2018-07-05 10:21:37 +09:30
attr-gnu-4-33.d PowerPC .gnu.attributes 2016-09-26 18:04:57 +09:30
attr-gnu-8-1.s
attr-gnu-8-2.s
attr-gnu-8-3.s
attr-gnu-8-11.d PowerPC .gnu.attributes 2016-09-26 18:04:57 +09:30
attr-gnu-8-23.d Error for mismatched powerpc ABI tags 2018-07-05 10:21:37 +09:30
attr-gnu-8-31.d
attr-gnu-12-1.s
attr-gnu-12-2.s
attr-gnu-12-11.d
attr-gnu-12-21.d Error for mismatched powerpc ABI tags 2018-07-05 10:21:37 +09:30
big.s Enhance powerpc ld -r --relax 2018-07-25 16:52:58 +09:30
defsym.d
defsym.s
dotsym1.d PowerPC64 dot-symbol compatibility bugfixes 2016-12-03 21:00:01 +10:30
dotsym2.d PowerPC64 dot-symbol compatibility bugfixes 2016-12-03 21:00:01 +10:30
dotsym3.d PowerPC64 dot-symbol compatibility bugfixes 2016-12-03 21:00:01 +10:30
dotsym4.d PowerPC64 dot-symbol compatibility bugfixes 2016-12-03 21:00:01 +10:30
dotsymref.s PowerPC64 dot-symbol compatibility bugfixes 2016-12-03 21:00:01 +10:30
elfv2-2a.s
elfv2-2b.s
elfv2-2exe.d
elfv2-2so.d
elfv2.s Implement PowerPC64 .localentry for value 1 2018-07-26 12:53:50 +09:30
elfv2exe.d Lose _r2off in powerpc64 stub names 2018-08-05 10:33:07 +09:30
elfv2so.d Implement PowerPC64 .localentry for value 1 2018-07-26 12:53:50 +09:30
export-class.exp Update year range in copyright notice of binutils files 2018-01-03 17:49:56 +10:30
ext.d R_PPC64_REL24_NOTOC support 2018-08-05 12:11:51 +09:30
ext.lnk R_PPC64_REL24_NOTOC support 2018-08-05 12:11:51 +09:30
ext.s R_PPC64_REL24_NOTOC support 2018-08-05 12:11:51 +09:30
funref2.s
funref.s
funv1.s
funv2.s
nodotsym.s PowerPC64 dot-symbol compatibility bugfixes 2016-12-03 21:00:01 +10:30
notoc.d PowerPC64 EH info for _notoc linkage stubs 2018-08-07 18:43:55 +09:30
notoc.s PowerPC64 EH info for _notoc linkage stubs 2018-08-07 18:43:55 +09:30
notoc.wf PowerPC64 EH info for _notoc linkage stubs 2018-08-07 18:43:55 +09:30
oldtlslib.s
plt1.d
plt1.s
powerpc-32-export-class.rd
powerpc-32-export-class.xd
powerpc-64-export-class.rd
powerpc-64-export-class.xd
powerpc.exp PowerPC64 EH info for _notoc linkage stubs 2018-08-07 18:43:55 +09:30
ppc476-shared2.d powerpc common-page-size 2018-04-14 17:56:40 +09:30
ppc476-shared.d powerpc common-page-size 2018-04-14 17:56:40 +09:30
ppc476-shared.lnk Make ppc476 testcases more robust 2017-07-07 23:53:18 +09:30
ppc476-shared.s
relax.d
relax.s
relaxr.d Enhance powerpc ld -r --relax 2018-07-25 16:52:58 +09:30
relaxrl.d Enhance powerpc ld -r --relax 2018-07-25 16:52:58 +09:30
relbrlt.d Support PLT16 relocs against local symbols 2018-04-09 17:05:09 +09:30
relbrlt.s Support PLT16 relocs against local symbols 2018-04-09 17:05:09 +09:30
reloc.d
reloc.s
relocsort.d Change readelf so that when --wide is active a relocation's full name is displayed. 2017-10-05 13:25:44 +01:00
relocsort.s
sdabase2.d
sdabase2.t
sdabase.d
sdabase.s
sdabase.t
sdadyn.d
sdadyn.s
sdalib.s
startv1.s
startv2.s
symtocbase-1.s
symtocbase-2.s
symtocbase.d
tls32.d
tls32.g
tls32.s PowerPC TPREL16_HA/LO reloc optimization 2017-08-30 20:43:31 +09:30
tls32.t
tls.d PowerPC TPREL16_HA/LO reloc optimization 2017-08-30 20:43:31 +09:30
tls.g
tls.s PowerPC TPREL16_HA/LO reloc optimization 2017-08-30 20:43:31 +09:30
tls.t
tlsdll_32.s ld --gc-sections fail with __tls_get_addr_opt 2016-05-11 22:40:09 +09:30
tlsdll.s ld --gc-sections fail with __tls_get_addr_opt 2016-05-11 22:40:09 +09:30
tlsdll.ver ld --gc-sections fail with __tls_get_addr_opt 2016-05-11 22:40:09 +09:30
tlsexe32.d Define various symbols conditionally in shared libraries 2018-06-08 20:17:34 +09:30
tlsexe32.g Define various symbols conditionally in shared libraries 2018-06-08 20:17:34 +09:30
tlsexe32.r Define various symbols conditionally in shared libraries 2018-06-08 20:17:34 +09:30
tlsexe32.t
tlsexe.d Define various symbols conditionally in shared libraries 2018-06-08 20:17:34 +09:30
tlsexe.g PowerPC dynamic relocations 2017-01-24 12:15:54 +10:30
tlsexe.r Define various symbols conditionally in shared libraries 2018-06-08 20:17:34 +09:30
tlsexe.t
tlsexetoc.d Define various symbols conditionally in shared libraries 2018-06-08 20:17:34 +09:30
tlsexetoc.g
tlsexetoc.r Define various symbols conditionally in shared libraries 2018-06-08 20:17:34 +09:30
tlsexetoc.t
tlsld32.d
tlsld32.s
tlsld.d PowerPC TPREL16_HA/LO reloc optimization 2017-08-30 20:43:31 +09:30
tlsld.s
tlslib32.s
tlslib.s
tlsmark32.d
tlsmark32.s
tlsmark.d PowerPC TPREL16_HA/LO reloc optimization 2017-08-30 20:43:31 +09:30
tlsmark.s
tlsopt1_32.d ppc32 tlsopt tests 2017-07-14 22:51:01 +09:30
tlsopt1_32.s ppc32 tlsopt tests 2017-07-14 22:51:01 +09:30
tlsopt1.d
tlsopt1.s
tlsopt2_32.d ppc32 tlsopt tests 2017-07-14 22:51:01 +09:30
tlsopt2_32.s ppc32 tlsopt tests 2017-07-14 22:51:01 +09:30
tlsopt2.d
tlsopt2.s
tlsopt3_32.d ppc32 tlsopt tests 2017-07-14 22:51:01 +09:30
tlsopt3_32.s ppc32 tlsopt tests 2017-07-14 22:51:01 +09:30
tlsopt3.d
tlsopt3.s
tlsopt4_32.d
tlsopt4_32.s ppc32 tlsopt tests 2017-07-14 22:51:01 +09:30
tlsopt4.d PowerPC TPREL16_HA/LO reloc optimization 2017-08-30 20:43:31 +09:30
tlsopt4.s
tlsopt5_32.d PowerPC PLT stub tidy 2018-01-17 18:51:04 +10:30
tlsopt5_32.s ppc32 tlsopt tests 2017-07-14 22:51:01 +09:30
tlsopt5.d PowerPC64 __tls_get_addr_opt stub .eh_frame fix 2018-08-01 12:14:22 +09:30
tlsopt5.s PowerPC64 __tls_get_addr_opt stub .eh_frame fix 2018-08-01 12:14:22 +09:30
tlsopt5.wf PowerPC64 __tls_get_addr_opt stub .eh_frame fix 2018-08-01 12:14:22 +09:30
tlsso32.d
tlsso32.g Define various symbols conditionally in shared libraries 2018-06-08 20:17:34 +09:30
tlsso32.r Define various symbols conditionally in shared libraries 2018-06-08 20:17:34 +09:30
tlsso32.t
tlsso.d Define various symbols conditionally in shared libraries 2018-06-08 20:17:34 +09:30
tlsso.g
tlsso.r Define various symbols conditionally in shared libraries 2018-06-08 20:17:34 +09:30
tlsso.t
tlstoc.d PowerPC TPREL16_HA/LO reloc optimization 2017-08-30 20:43:31 +09:30
tlstoc.g
tlstoc.s
tlstoc.t
tlstocso.d Define various symbols conditionally in shared libraries 2018-06-08 20:17:34 +09:30
tlstocso.g Define various symbols conditionally in shared libraries 2018-06-08 20:17:34 +09:30
tlstocso.r Define various symbols conditionally in shared libraries 2018-06-08 20:17:34 +09:30
tlstocso.t
tocnovar.d
tocnovar.s
tocopt2.d
tocopt2.out
tocopt2.s
tocopt3.d
tocopt3.s
tocopt4.d
tocopt4a.s
tocopt4b.s
tocopt5.d
tocopt5.s
tocopt6-inc.s
tocopt6.d Lose _r2off in powerpc64 stub names 2018-08-05 10:33:07 +09:30
tocopt6a.s
tocopt6b.s
tocopt6c.s
tocopt7.d PowerPC64 toc optimisation for power9 2016-12-06 18:25:14 +10:30
tocopt7.out LD: vfinfo: Make clever formatters consistent WRT function name reporting 2017-02-15 13:41:51 +00:00
tocopt7.s PowerPC64 toc optimisation for power9 2016-12-06 18:25:14 +10:30
tocopt8.d PowerPC64 toc optimisation for power9 2016-12-06 18:25:14 +10:30
tocopt8.s PowerPC64 toc optimisation for power9 2016-12-06 18:25:14 +10:30
tocopt.d
tocopt.out LD: vfinfo: Make clever formatters consistent WRT function name reporting 2017-02-15 13:41:51 +00:00
tocopt.s
tocsave1.s PowerPC64 tocsave testcases 2017-06-21 22:45:15 +09:30
tocsave1a.d PowerPC64 tocsave testcases 2017-06-21 22:45:15 +09:30
tocsave1s.d PowerPC64 tocsave testcases 2017-06-21 22:45:15 +09:30
tocsave2.s PowerPC64 tocsave testcases 2017-06-21 22:45:15 +09:30
tocsave2a.d PowerPC64 tocsave testcases 2017-06-21 22:45:15 +09:30
tocsave2s.d PowerPC64 tocsave testcases 2017-06-21 22:45:15 +09:30
tocsavelib.s PowerPC64 tocsave testcases 2017-06-21 22:45:15 +09:30
tocvar.d
tocvar.s
vle-multiseg-1.d readelf ngettext fixes 2017-11-07 17:01:16 +10:30
vle-multiseg-1.ld
vle-multiseg-2.d readelf ngettext fixes 2017-11-07 17:01:16 +10:30
vle-multiseg-2.ld
vle-multiseg-3.d readelf ngettext fixes 2017-11-07 17:01:16 +10:30
vle-multiseg-3.ld
vle-multiseg-4.d
vle-multiseg-4.ld
vle-multiseg-5.d Update linker tests after partial reversion of PR 20815 patch. 2016-11-28 17:51:57 +00:00
vle-multiseg-5.ld
vle-multiseg-6.d Adjust VLE testsuite 2016-08-31 14:05:44 +09:30
vle-multiseg-6.ld
vle-multiseg-6a.s
vle-multiseg-6b.s
vle-multiseg-6c.s
vle-multiseg-6d.s
vle-multiseg.s
vle-reloc-1.d
vle-reloc-1.s
vle-reloc-2.d Correct VLE 16D and SDAREL relocations 2017-02-23 12:33:51 +10:30
vle-reloc-2.s Correct VLE 16D and SDAREL relocations 2017-02-23 12:33:51 +10:30
vle-reloc-3.d
vle-reloc-3.s
vle-reloc-def-1.s
vle-reloc-def-2.s
vle-reloc-def-3.s
vle.ld
vxworks1-lib.dd Fix more powerpc testsuite source errors 2017-02-16 22:39:51 +10:30
vxworks1-lib.nd
vxworks1-lib.rd
vxworks1-lib.s Fix more powerpc testsuite source errors 2017-02-16 22:39:51 +10:30
vxworks1-lib.sd
vxworks1-lib.td
vxworks1-static.d ld error/warning messages 2018-02-26 10:51:12 +10:30
vxworks1.dd
vxworks1.ld
vxworks1.rd
vxworks1.s
vxworks2-static.sd
vxworks2.s
vxworks2.sd Separate header PT_LOAD for -z separate-code 2018-10-08 20:26:08 +10:30
vxworks-relax-2.rd Re: Enhance powerpc ld -r --relax 2018-07-26 17:38:56 +09:30
vxworks-relax-2.s
vxworks-relax.rd
vxworks-relax.s