From b8fe28d49f7b55af2f9a4adc6d5993a7ad7d8406 Mon Sep 17 00:00:00 2001 From: Hans-Peter Nilsson Date: Wed, 8 Oct 2003 12:35:18 +0000 Subject: * ld-scripts/defined2.d, ld-scripts/defined2.t: New test. * ld-scripts/defined.exp: Run defined2. --- ld/testsuite/ld-scripts/defined.exp | 3 +++ ld/testsuite/ld-scripts/defined2.d | 18 ++++++++++++++++++ ld/testsuite/ld-scripts/defined2.t | 9 +++++++++ 3 files changed, 30 insertions(+) create mode 100644 ld/testsuite/ld-scripts/defined2.d create mode 100644 ld/testsuite/ld-scripts/defined2.t (limited to 'ld/testsuite/ld-scripts') diff --git a/ld/testsuite/ld-scripts/defined.exp b/ld/testsuite/ld-scripts/defined.exp index 075bf56..277ba37 100644 --- a/ld/testsuite/ld-scripts/defined.exp +++ b/ld/testsuite/ld-scripts/defined.exp @@ -53,3 +53,6 @@ if ![ld_simple_link $ld tmpdir/def "-T $srcdir/$subdir/defined.t tmpdir/def.o"] } } } + +set prms_id 0 +run_dump_test "defined2" diff --git a/ld/testsuite/ld-scripts/defined2.d b/ld/testsuite/ld-scripts/defined2.d new file mode 100644 index 0000000..6bb0682 --- /dev/null +++ b/ld/testsuite/ld-scripts/defined2.d @@ -0,0 +1,18 @@ +#ld: -Tdefined2.t +#nm: -B +#source: phdrs.s + +# Check that arithmetic on DEFINED works. +# Matching both A and T accounts for formats that can't tell a .text +# symbol from an absolute symbol (mmo), but matches whatever section that +# contains an address matching the value. The symbol sym1 is supposed to +# be in the .text section for all targets, though. + +#... +0+1 [AT] defined1 +0+11 A defined2 +0+100 A defined3 +0+1ff A defined4 +#... +0+3 T sym1 +#pass diff --git a/ld/testsuite/ld-scripts/defined2.t b/ld/testsuite/ld-scripts/defined2.t new file mode 100644 index 0000000..50ddad0 --- /dev/null +++ b/ld/testsuite/ld-scripts/defined2.t @@ -0,0 +1,9 @@ +SECTIONS { + .text : { *(.text) sym1 = 3 - DEFINED (x); } + .data : { *(.data) } + .bss : { *(.bss) *(COMMON) } +} +defined1 = !DEFINED (x); +defined2 = DEFINED (defined1) + 16; +defined3 = DEFINED (defined2) * 256; +defined4 = 0x200 - DEFINED (defined3); -- cgit v1.1