binutils-gdb/ld/testsuite/ld-scripts
Senthil Kumar Selvaraj cc9ad334a7 Allow symbols in MEMORY region specification
This patch fixes PR 4643 by allowing symbols in the LENGTH and ORIGIN
fields of MEMORY regions.  Previously, only constants and constant
expressions are allowed.

For the AVR target, this helps define memory constraints more
accurately (per device), without having to create a ton of device
specific linker scripts.

ld/
	PR 4643
	* ldexp.c (fold_name): Fold LENGTH only after
	lang_first_phase_enum.
	* ldgram.y (memory_spec): Don't evaluate ORIGIN and LENGTH
	rightaway.
	* ldlang.h (struct memory_region_struct): Add origin_exp and
	length_exp fields.
	* ldlang.c (lang_do_memory_regions): New.
	(lang_memory_region_lookup): Initialize origin_exp and
	length_exp fields.
	(lang_process): Call lang_do_memory_regions.
ld/testsuite/
	* ld-scripts/memory.t: Define new symbol tred.
	* ld-scripts/memory_sym.t: New.
	* ld-scripts/script.exp: Perform MEMORY with symbols test, and
	conditionally check values of linker symbols.
2015-01-28 15:06:48 +10:30
..
align2.t
align2a.d
align2a.s
align2b.d
align2b.s
align2c.d
align2c.s
align-with-input.d
align-with-input.t
align.exp ChangeLog rotatation and copyright year update 2015-01-02 00:53:45 +10:30
align.s
align.t
alignof.exp ChangeLog rotatation and copyright year update 2015-01-02 00:53:45 +10:30
alignof.s
alignof.t
assert2.d
assert2.t
assert.exp ChangeLog rotatation and copyright year update 2015-01-02 00:53:45 +10:30
assert.s
assert.t
assign-loc.d
assign-loc.t
cross1.c
cross1.t
cross2.c
cross2.t
cross3.c
cross3.t
cross4.c
crossref.exp ChangeLog rotatation and copyright year update 2015-01-02 00:53:45 +10:30
data.d
data.exp ChangeLog rotatation and copyright year update 2015-01-02 00:53:45 +10:30
data.s
data.t
default-script1.d
default-script2.d
default-script3.d
default-script4.d
default-script.exp ChangeLog rotatation and copyright year update 2015-01-02 00:53:45 +10:30
default-script.s
default-script.t
defined2.d
defined2.t
defined3.d
defined3.t
defined4.d
defined4.s
defined4.t
defined5.d
defined5.s
defined5.t
defined6.d Yet another DEFINED testcase 2014-12-24 11:56:51 +10:30
defined6.s Yet another DEFINED testcase 2014-12-24 11:56:51 +10:30
defined6.t Yet another DEFINED testcase 2014-12-24 11:56:51 +10:30
defined.exp ChangeLog rotatation and copyright year update 2015-01-02 00:53:45 +10:30
defined.s
defined.t
dynamic-sections-1.s
dynamic-sections-2.s
dynamic-sections.d
dynamic-sections.exp ChangeLog rotatation and copyright year update 2015-01-02 00:53:45 +10:30
dynamic-sections.t
empty-address-1.d
empty-address-1.s
empty-address-1.t
empty-address-2.s
empty-address-2a.d
empty-address-2a.t
empty-address-2b.d
empty-address-2b.t
empty-address-3.s
empty-address-3a.d
empty-address-3a.t
empty-address-3b.d
empty-address-3b.t
empty-address-3c.d
empty-address-3c.t
empty-address.exp ChangeLog rotatation and copyright year update 2015-01-02 00:53:45 +10:30
empty-aligned.d
empty-aligned.exp ChangeLog rotatation and copyright year update 2015-01-02 00:53:45 +10:30
empty-aligned.s
empty-aligned.t
empty-orphan.d
empty-orphan.exp ChangeLog rotatation and copyright year update 2015-01-02 00:53:45 +10:30
empty-orphan.s
empty-orphan.t
expr1.d
expr1.s
expr1.t
expr2.d
expr2.s
expr2.t
expr.exp ChangeLog rotatation and copyright year update 2015-01-02 00:53:45 +10:30
extern.exp ChangeLog rotatation and copyright year update 2015-01-02 00:53:45 +10:30
extern.s
extern.t
fill_0.s
fill_1.s
fill_2.s
fill.d
fill.t
include-1.d
include-1.t
include-data.t
include-mem.t
include-ram.t
include-sections.t
include-subdata.t
include.exp ChangeLog rotatation and copyright year update 2015-01-02 00:53:45 +10:30
include.s
log2.exp ChangeLog rotatation and copyright year update 2015-01-02 00:53:45 +10:30
log2.s
log2.t
map-address.d
map-address.exp ChangeLog rotatation and copyright year update 2015-01-02 00:53:45 +10:30
map-address.t
memory_sym.t Allow symbols in MEMORY region specification 2015-01-28 15:06:48 +10:30
memory.t Allow symbols in MEMORY region specification 2015-01-28 15:06:48 +10:30
overlay-size-map.d
overlay-size.d ld/testing: run_dump_test can now check linker mapfiles. 2015-01-20 09:47:37 +00:00
overlay-size.exp ld/testing: run_dump_test can now check linker mapfiles. 2015-01-20 09:47:37 +00:00
overlay-size.s
overlay-size.t
phdrs2.exp ChangeLog rotatation and copyright year update 2015-01-02 00:53:45 +10:30
phdrs2.s
phdrs2.t
phdrs3.d
phdrs3.exp ChangeLog rotatation and copyright year update 2015-01-02 00:53:45 +10:30
phdrs3.t
phdrs3a.d
phdrs3a.t
phdrs.exp ChangeLog rotatation and copyright year update 2015-01-02 00:53:45 +10:30
phdrs.s
phdrs.t
pr14962-2.d
pr14962-2.t
pr14962.d
pr14962.t
pr14962a.s
pr14962b.s
provide-1.d
provide-1.s
provide-1.t
provide-2.d
provide-2.s
provide-2.t
provide-3.d
provide-3.s
provide-3.t
provide-4-map.d ld: Update expected test results for 32-bit hosts. 2015-01-20 16:03:32 +00:00
provide-4.d ld: Don't evaluate unneeded PROVIDE expressions. 2015-01-20 09:49:27 +00:00
provide-4.t ld: Don't evaluate unneeded PROVIDE expressions. 2015-01-20 09:49:27 +00:00
provide-5-map.d ld: Update expected test results for 32-bit hosts. 2015-01-20 16:03:32 +00:00
provide-5.d ld: Don't evaluate unneeded PROVIDE expressions. 2015-01-20 09:49:27 +00:00
provide-5.s ld: Don't evaluate unneeded PROVIDE expressions. 2015-01-20 09:49:27 +00:00
provide-5.t ld: Don't evaluate unneeded PROVIDE expressions. 2015-01-20 09:49:27 +00:00
provide.exp ld: Don't evaluate unneeded PROVIDE expressions. 2015-01-20 09:49:27 +00:00
region-alias-1.d
region-alias-1.t
region-alias-2.d
region-alias-2.t
region-alias-3.d
region-alias-3.t
region-alias-4.d
region-alias-4.t
rgn-at1.d
rgn-at1.t
rgn-at2.d
rgn-at2.t
rgn-at3.d
rgn-at3.t
rgn-at4.d
rgn-at4.t
rgn-at5.d
rgn-at5.s
rgn-at5.t
rgn-at6.d
rgn-at6.s
rgn-at6.t
rgn-at7.d
rgn-at7.t
rgn-at8.d
rgn-at8.t
rgn-at9.d
rgn-at9.t
rgn-at10.d
rgn-at10.s
rgn-at10.t
rgn-at11.d
rgn-at11.t
rgn-at.exp ChangeLog rotatation and copyright year update 2015-01-02 00:53:45 +10:30
rgn-at.s
rgn-over1.d
rgn-over1.t
rgn-over2.d
rgn-over2.t
rgn-over3.d
rgn-over3.t
rgn-over4.d
rgn-over4.t
rgn-over5.d
rgn-over5.t
rgn-over6.d
rgn-over6.t
rgn-over7.d
rgn-over7.t
rgn-over8-ok.d
rgn-over8.s
rgn-over8.t
rgn-over.exp ChangeLog rotatation and copyright year update 2015-01-02 00:53:45 +10:30
rgn-over.s
sane1.d
sane1.t
script.exp Allow symbols in MEMORY region specification 2015-01-28 15:06:48 +10:30
script.s
script.t
scriptm.t
section-flags-1.s
section-flags-1.t
section-flags-2.s
section-flags-2.t
section-flags.exp ChangeLog rotatation and copyright year update 2015-01-02 00:53:45 +10:30
section-match-1.d
section-match-1.s
section-match-1.t
section-match.exp ChangeLog rotatation and copyright year update 2015-01-02 00:53:45 +10:30
size-1.d
size-1.s
size-1.t
size-2.d
size-2.s
size-2.t
size.exp ChangeLog rotatation and copyright year update 2015-01-02 00:53:45 +10:30
sizeof.exp ChangeLog rotatation and copyright year update 2015-01-02 00:53:45 +10:30
sizeof.s
sizeof.t
sort_b_a_a-1.d
sort_b_a_a-2.d
sort_b_a_a-3.d
sort_b_a_a.t
sort_b_a_n-1.d
sort_b_a_n-2.d
sort_b_a_n-3.d
sort_b_a_n.t
sort_b_a-1.d
sort_b_a-1.s
sort_b_a.d
sort_b_a.s
sort_b_a.t
sort_b_n_a-1.d
sort_b_n_a-2.d
sort_b_n_a-3.d
sort_b_n_a.t
sort_b_n_n-1.d
sort_b_n_n-2.d
sort_b_n_n-3.d
sort_b_n_n.t
sort_b_n-1.d
sort_b_n-1.s
sort_b_n.d
sort_b_n.s
sort_b_n.t
sort_n_a-a.s
sort_n_a-b.s
sort_no-1.d
sort_no-2.d
sort_no.t
sort.exp ChangeLog rotatation and copyright year update 2015-01-02 00:53:45 +10:30
sort.t
sysroot-prefix-x.s
sysroot-prefix-y.s
sysroot-prefix.exp ChangeLog rotatation and copyright year update 2015-01-02 00:53:45 +10:30
weak1.s
weak2.s
weak.exp ChangeLog rotatation and copyright year update 2015-01-02 00:53:45 +10:30
weak.t