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
..
align-with-input.d oops - omitted from previous delta 2013-07-23 07:40:46 +00:00
align-with-input.t * ldgram.y: Add ALIGN_WITH_INPUT output section attribute. 2013-07-19 10:39:51 +00:00
align.exp ChangeLog rotatation and copyright year update 2015-01-02 00:53:45 +10:30
align.s
align.t
align2.t
align2a.d
align2a.s
align2b.d
align2b.s
align2c.d
align2c.s
alignof.exp ChangeLog rotatation and copyright year update 2015-01-02 00:53:45 +10:30
alignof.s
alignof.t
assert.exp ChangeLog rotatation and copyright year update 2015-01-02 00:53:45 +10:30
assert.s
assert.t
assert2.d Remove the extra `.'. 2011-01-10 15:03:15 +00:00
assert2.t Add a test for linker ASSERT. 2011-01-10 14:37:40 +00:00
assign-loc.d * ld-scripts/assign-loc.d: New file. Test for assigning absolute 2012-09-19 02:51:09 +00:00
assign-loc.t * ld-scripts/assign-loc.d: New file. Test for assigning absolute 2012-09-19 02:51:09 +00:00
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-script.exp ChangeLog rotatation and copyright year update 2015-01-02 00:53:45 +10:30
default-script.s * ld-scripts/default-script.s (text): Globalize. 2009-07-29 06:47:48 +00:00
default-script.t
default-script1.d * ld-scripts/default-script.s (text): Globalize. 2009-07-29 06:47:48 +00:00
default-script2.d PR ld/12001 2010-12-20 06:27:11 +00:00
default-script3.d * ld-scripts/default-script.s (text): Globalize. 2009-07-29 06:47:48 +00:00
default-script4.d * ld-scripts/default-script.s (text): Globalize. 2009-07-29 06:47:48 +00:00
defined.exp ChangeLog rotatation and copyright year update 2015-01-02 00:53:45 +10:30
defined.s Missed from my 2009-04-16 commit 2009-05-21 06:13:28 +00:00
defined.t
defined2.d
defined2.t
defined3.d
defined3.t
defined4.d Add xfail and notarget. 2011-01-13 15:23:59 +00:00
defined4.s Add testcases for PR ld/12327. 2010-12-28 18:04:10 +00:00
defined4.t Add testcases for PR ld/12327. 2010-12-28 18:04:10 +00:00
defined5.d Add a testcase for PR ld/12356. 2011-01-13 17:07:52 +00:00
defined5.s * ld-scripts/defined.exp: Don't run defined5 for AOUT. 2011-02-10 08:04:22 +00:00
defined5.t * ld-scripts/defined.exp: Don't run defined5 for AOUT. 2011-02-10 08:04:22 +00:00
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
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 ld/ 2012-06-15 15:13:41 +00:00
empty-address-1.s
empty-address-1.t
empty-address-2.s
empty-address-2a.d ld/ 2012-06-15 15:13:41 +00:00
empty-address-2a.t
empty-address-2b.d ld/ 2012-06-15 15:13:41 +00:00
empty-address-2b.t
empty-address-3.s
empty-address-3a.d ld/ 2012-06-15 15:13:41 +00:00
empty-address-3a.t
empty-address-3b.d ld/ 2012-06-15 15:13:41 +00:00
empty-address-3b.t
empty-address-3c.d ld/ 2012-06-15 15:13:41 +00:00
empty-address-3c.t
empty-address.exp ChangeLog rotatation and copyright year update 2015-01-02 00:53:45 +10:30
empty-aligned.d Make assignments to dot keep an empty output section. 2014-01-22 11:58:29 +10:30
empty-aligned.exp ChangeLog rotatation and copyright year update 2015-01-02 00:53:45 +10:30
empty-aligned.s
empty-aligned.t Make assignments to dot keep an empty output section. 2014-01-22 11:58:29 +10:30
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
expr.exp ChangeLog rotatation and copyright year update 2015-01-02 00:53:45 +10:30
expr1.d
expr1.s
expr1.t
expr2.d Add xfail and notarget. 2011-01-13 15:23:59 +00:00
expr2.s Add testcases for PR ld/12327. 2010-12-28 18:04:10 +00:00
expr2.t Add testcases for PR ld/12327. 2010-12-28 18:04:10 +00:00
extern.exp ChangeLog rotatation and copyright year update 2015-01-02 00:53:45 +10:30
extern.s
extern.t
fill.d Pad sections according to current script FILL. 2014-04-04 19:06:35 +10:30
fill.t Pad sections according to current script FILL. 2014-04-04 19:06:35 +10:30
fill_0.s Pad sections according to current script FILL. 2014-04-04 19:06:35 +10:30
fill_1.s Pad sections according to current script FILL. 2014-04-04 19:06:35 +10:30
fill_2.s Pad sections according to current script FILL. 2014-04-04 19:06:35 +10:30
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 * ldexp.c: Add LOG2CEIL() builtin function to linker script language 2013-08-15 07:30:15 +00:00
log2.t * ldexp.c: Add LOG2CEIL() builtin function to linker script language 2013-08-15 07:30:15 +00:00
map-address.d
map-address.exp ChangeLog rotatation and copyright year update 2015-01-02 00:53:45 +10:30
map-address.t
memory.t Allow symbols in MEMORY region specification 2015-01-28 15:06:48 +10:30
memory_sym.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 [MIPS] Implement O32 FPXX, FP64 and FP64A ABI extensions 2014-07-29 11:27:59 +01:00
phdrs.exp ChangeLog rotatation and copyright year update 2015-01-02 00:53:45 +10:30
phdrs.s
phdrs.t
phdrs2.exp ChangeLog rotatation and copyright year update 2015-01-02 00:53:45 +10:30
phdrs2.s
phdrs2.t
phdrs3.d * ld-scripts/phdrs3.d: Allow colon in name of linker binary. 2009-10-14 23:12:16 +00:00
phdrs3.exp ChangeLog rotatation and copyright year update 2015-01-02 00:53:45 +10:30
phdrs3.t ld/ 2009-10-07 07:25:36 +00:00
phdrs3a.d 2009-10-07 H.J. Lu <hongjiu.lu@intel.com> 2009-10-08 02:38:26 +00:00
phdrs3a.t 2009-10-07 H.J. Lu <hongjiu.lu@intel.com> 2009-10-08 02:38:26 +00:00
pr14962-2.d Miscellaneous ld tidies 2014-01-22 12:51:19 +10:30
pr14962-2.t Allow self-assignment for absolute symbols defined in a linker script 2014-01-20 21:28:42 +10:30
pr14962.d * ld-scripts/pr14962.d: Don't run for mmix-knuth-mmixware. Add 2012-12-30 20:15:07 +00:00
pr14962.t PR ld/14962 2012-12-18 13:38:10 +00:00
pr14962a.s PR ld/14962 2012-12-18 13:38:10 +00:00
pr14962b.s PR ld/14962 2012-12-18 13:38:10 +00:00
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 oops - omitted fromn previous delta 2013-07-22 13:04:57 +00:00
region-alias-1.t
region-alias-2.d oops - omitted fromn previous delta 2013-07-22 13:04:57 +00:00
region-alias-2.t
region-alias-3.d oops - omitted fromn previous delta 2013-07-22 13:04:57 +00:00
region-alias-3.t
region-alias-4.d oops - omitted fromn previous delta 2013-07-22 13:04:57 +00:00
region-alias-4.t
rgn-at.exp ChangeLog rotatation and copyright year update 2015-01-02 00:53:45 +10:30
rgn-at.s * ld-scripts/rgn-at.s: Use explicit .section pseudos. 2009-04-03 10:15:21 +00:00
rgn-at1.d * ld-elf/extract-symbol-1sec.d: Expect to fail for the RX target. 2009-11-18 16:37:56 +00:00
rgn-at1.t * ldlang.c (lang_leave_output_section_statement): Set lma_region 2009-04-03 07:45:28 +00:00
rgn-at2.d * ld-elf/extract-symbol-1sec.d: Expect to fail for the RX target. 2009-11-18 16:37:56 +00:00
rgn-at2.t * ldlang.c (lang_leave_output_section_statement): Set lma_region 2009-04-03 07:45:28 +00:00
rgn-at3.d bfd/ 2013-08-26 19:27:25 +00:00
rgn-at3.t * ldlang.c (lang_leave_output_section_statement): Set lma_region 2009-04-03 07:45:28 +00:00
rgn-at4.d * ld-elf/extract-symbol-1sec.d: Expect to fail for the RX target. 2009-11-18 16:37:56 +00:00
rgn-at4.t * ldlang.c (lang_check_section_addresses): Ignore non-loadable 2009-05-22 11:27:44 +00:00
rgn-at5.d Improve binutils testsuite coverage for GNU/Hurd. 2010-11-08 06:43:40 +00:00
rgn-at5.s * ld-elf/group3b.d: Disable for generic linker targets. 2010-09-16 00:28:57 +00:00
rgn-at5.t * script-sections.cc(class Memory_region): Remove 2010-10-06 08:58:59 +00:00
rgn-at6.d PR ld/15222 2013-03-05 02:55:27 +00:00
rgn-at6.s PR ld/15222 2013-03-05 02:55:27 +00:00
rgn-at6.t PR ld/15222 2013-03-05 02:55:27 +00:00
rgn-at7.d PR ld/15222 2013-03-05 02:55:27 +00:00
rgn-at7.t PR ld/15222 2013-03-05 02:55:27 +00:00
rgn-at8.d * ldgram.y: Add ALIGN_WITH_INPUT output section attribute. 2013-07-19 10:39:51 +00:00
rgn-at8.t oops - omitted from previous delta 2013-07-19 13:21:55 +00:00
rgn-at9.d Fix ALIGN_WITH_INPUT 2014-02-02 06:39:39 -08:00
rgn-at9.t Fix ALIGN_WITH_INPUT 2014-02-02 06:39:39 -08:00
rgn-at10.d Fix ALIGN_WITH_INPUT 2014-02-02 06:39:39 -08:00
rgn-at10.s Fix ALIGN_WITH_INPUT 2014-02-02 06:39:39 -08:00
rgn-at10.t Fix ALIGN_WITH_INPUT 2014-02-02 06:39:39 -08:00
rgn-at11.d Fix ALIGN_WITH_INPUT 2014-02-02 06:39:39 -08:00
rgn-at11.t Fix ALIGN_WITH_INPUT 2014-02-02 06:39:39 -08:00
rgn-over.exp ChangeLog rotatation and copyright year update 2015-01-02 00:53:45 +10:30
rgn-over.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 * ld-scripts/rgn-over7.d: Adjust expected message for recent change. 2009-05-22 15:54:36 +00:00
rgn-over7.t
rgn-over8-ok.d bfd/ 2013-08-26 19:27:25 +00:00
rgn-over8.s
rgn-over8.t
sane1.d * ld-scripts/sane1.d: Sort output from nm. Allow for other symbols in 2012-10-08 00:22:45 +00:00
sane1.t * ld-scripts/sane1.d, * ld-scripts/sane1.t: New test. 2011-01-23 03:29:30 +00:00
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 include/ChangeLog 2011-07-11 15:03:09 +00:00
section-flags-1.t include/ChangeLog 2011-07-11 15:03:09 +00:00
section-flags-2.s include/ChangeLog 2011-07-11 15:03:09 +00:00
section-flags-2.t include/ChangeLog 2011-07-11 15:03:09 +00:00
section-flags.exp ChangeLog rotatation and copyright year update 2015-01-02 00:53:45 +10:30
section-match-1.d * ld-gc/abi-note.d: Exclude aout and oldld targets. 2010-09-10 07:18:36 +00:00
section-match-1.s * ld-scripts/section-match.exp: New file. Runs ths 2010-09-01 08:05:16 +00:00
section-match-1.t * ld-scripts/section-match.exp: New file. Runs ths 2010-09-01 08:05:16 +00:00
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 Add copyright notices 2012-12-17 16:56:12 +00:00
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.exp ChangeLog rotatation and copyright year update 2015-01-02 00:53:45 +10:30
sort.t
sort_b_a-1.d * ld-elf/sec64k.exp: For frv-linux use "aw" sections. 2009-09-09 12:13:42 +00:00
sort_b_a-1.s
sort_b_a.d * ld-elf/sec64k.exp: For frv-linux use "aw" sections. 2009-09-09 12:13:42 +00:00
sort_b_a.s
sort_b_a.t
sort_b_a_a-1.d * ld-elf/sec64k.exp: For frv-linux use "aw" sections. 2009-09-09 12:13:42 +00:00
sort_b_a_a-2.d * ld-elf/sec64k.exp: For frv-linux use "aw" sections. 2009-09-09 12:13:42 +00:00
sort_b_a_a-3.d * ld-elf/sec64k.exp: For frv-linux use "aw" sections. 2009-09-09 12:13:42 +00:00
sort_b_a_a.t
sort_b_a_n-1.d * ld-elf/sec64k.exp: For frv-linux use "aw" sections. 2009-09-09 12:13:42 +00:00
sort_b_a_n-2.d * ld-elf/sec64k.exp: For frv-linux use "aw" sections. 2009-09-09 12:13:42 +00:00
sort_b_a_n-3.d * ld-elf/sec64k.exp: For frv-linux use "aw" sections. 2009-09-09 12:13:42 +00:00
sort_b_a_n.t
sort_b_n-1.d * ld-elf/sec64k.exp: For frv-linux use "aw" sections. 2009-09-09 12:13:42 +00:00
sort_b_n-1.s
sort_b_n.d * ld-elf/sec64k.exp: For frv-linux use "aw" sections. 2009-09-09 12:13:42 +00:00
sort_b_n.s
sort_b_n.t
sort_b_n_a-1.d * ld-elf/sec64k.exp: For frv-linux use "aw" sections. 2009-09-09 12:13:42 +00:00
sort_b_n_a-2.d * ld-elf/sec64k.exp: For frv-linux use "aw" sections. 2009-09-09 12:13:42 +00:00
sort_b_n_a-3.d * ld-elf/sec64k.exp: For frv-linux use "aw" sections. 2009-09-09 12:13:42 +00:00
sort_b_n_a.t
sort_b_n_n-1.d * ld-elf/sec64k.exp: For frv-linux use "aw" sections. 2009-09-09 12:13:42 +00:00
sort_b_n_n-2.d * ld-elf/sec64k.exp: For frv-linux use "aw" sections. 2009-09-09 12:13:42 +00:00
sort_b_n_n-3.d * ld-elf/sec64k.exp: For frv-linux use "aw" sections. 2009-09-09 12:13:42 +00:00
sort_b_n_n.t
sort_n_a-a.s
sort_n_a-b.s
sort_no-1.d * ld-elf/sec64k.exp: For frv-linux use "aw" sections. 2009-09-09 12:13:42 +00:00
sort_no-2.d * ld-elf/sec64k.exp: For frv-linux use "aw" sections. 2009-09-09 12:13:42 +00:00
sort_no.t
sysroot-prefix-x.s Add sysroot-prefix ld linker tests. 2014-10-15 02:59:41 +02:00
sysroot-prefix-y.s Add sysroot-prefix ld linker tests. 2014-10-15 02:59:41 +02:00
sysroot-prefix.exp ChangeLog rotatation and copyright year update 2015-01-02 00:53:45 +10:30
weak.exp ChangeLog rotatation and copyright year update 2015-01-02 00:53:45 +10:30
weak.t
weak1.s
weak2.s