PE image base fallout

Fixes x86_64-w64-mingw32 tests that failed with the recent diagnosis
for out of range RVA, and a couple of other gc-sections tests that failed
for other reasons.

	* testsuite/ld-gc/gc.exp: Pass "-image-base 0" to ld for PE, and
	arrange to define __main for some run_dump_test tests.
	* testsuite/ld-gc/pr13683.d: Accept more symbols.
	* testsuite/ld-gc/pr14265.d: Likewise, and ordering.
	* testsuite/ld-scripts/crossref.exp: Pass "-image-base 0" to ld for PE.
	* testsuite/ld-srec/srec.exp: Likewise.
	* testsuite/lib/ld-lib.exp (ld_link_defsyms): Use is_pecoff_format.
This commit is contained in:
Alan Modra
2021-03-11 21:40:02 +10:30
parent 1e1e17e5e2
commit 68cb21837f
7 changed files with 53 additions and 21 deletions

View File

@@ -76,7 +76,11 @@ set flags [big_or_little_endian]
# arc-elf32 requires the symbol __SDATA_BEGIN__ to always be present.
if [istarget arc*-*-elf32] {
set flags "$flags --defsym=__SDATA_BEGIN__=0"
append flags " --defsym __SDATA_BEGIN__=0"
}
if [is_pecoff_format] {
append flags " --image-base 0"
}
set exec_output [run_host_cmd "$ld" "$flags -o tmpdir/cross1 -T $srcdir/$subdir/cross1.t tmpdir/cross1.o tmpdir/cross2.o"]