Allow a second -T<section>=<addr> to override a previous version on the same linker command line.
PR ld/20302 * lexsup.c (set_segment_start): If resetting the start address of a section, remember to generate a new script element as well. * testsuite/ld-scripts/pr20302.d: New test. * testsuite/ld-scripts/scripts.exp: Run the new test.
This commit is contained in:
parent
95daf21060
commit
42b7a39bf6
@ -1,3 +1,11 @@
|
||||
2016-06-27 Nick Clifton <nickc@redhat.com>
|
||||
|
||||
PR ld/20302
|
||||
* lexsup.c (set_segment_start): If resetting the start address of
|
||||
a section, remember to generate a new script element as well.
|
||||
* testsuite/ld-scripts/pr20302.d: New test.
|
||||
* testsuite/ld-scripts/scripts.exp: Run the new test.
|
||||
|
||||
2016-06-24 Alan Modra <amodra@gmail.com>
|
||||
|
||||
* testsuite/ld-aarch64/aarch64-elf.exp (aarch64_choose_ilp32_emul):
|
||||
|
@ -1686,6 +1686,7 @@ set_segment_start (const char *section, char *valstr)
|
||||
if (strcmp (seg->name, name) == 0)
|
||||
{
|
||||
seg->value = val;
|
||||
lang_section_start (section, exp_intop (val), seg);
|
||||
return;
|
||||
}
|
||||
/* There was no existing value so we must create a new segment
|
||||
|
12
ld/testsuite/ld-scripts/pr20302.d
Normal file
12
ld/testsuite/ld-scripts/pr20302.d
Normal file
@ -0,0 +1,12 @@
|
||||
#ld: -Tdata=0x1000 -Tdata=0x2000 -Tcross2.t
|
||||
#source: align2a.s
|
||||
#objdump: -h
|
||||
#notarget: rx-*-* *-*-aout *-*-netbsd x86_64-*-cygwin *-*-vms
|
||||
# RX uses non standard section names.
|
||||
# AOUT and NETBSD have fixed address for the data section.
|
||||
# x86_64 Cygwin biases all start addresses to be > 2Gb.
|
||||
# VMS targets need extra libraries.
|
||||
|
||||
#...
|
||||
. \.data[ ]+0+[0-9a-f]+[ ]+0+02000[ ]+0+02000.*
|
||||
#pass
|
@ -230,3 +230,4 @@ foreach test_script $test_script_list {
|
||||
}
|
||||
|
||||
run_dump_test "align-with-input"
|
||||
run_dump_test "pr20302"
|
||||
|
Loading…
Reference in New Issue
Block a user