From abd4c01a4066fb434714c7766119af69a8701e47 Mon Sep 17 00:00:00 2001 From: "H.J. Lu" Date: Tue, 28 Dec 2010 18:04:10 +0000 Subject: [PATCH] Add testcases for PR ld/12327. 2010-12-28 H.J. Lu PR ld/12327 * ld-scripts/defined4.d: New. * ld-scripts/defined4.s: Likewise. * ld-scripts/defined4.t: Likewise. * ld-scripts/expr2.d: Likewise. * ld-scripts/expr2.s: Likewise. * ld-scripts/expr2.t: Likewise. * ld-scripts/defined.exp: Run defined4. * ld-scripts/expr.exp: Run expr2. --- ld/testsuite/ChangeLog | 14 ++++++++++++++ ld/testsuite/ld-scripts/defined.exp | 3 ++- ld/testsuite/ld-scripts/defined4.d | 10 ++++++++++ ld/testsuite/ld-scripts/defined4.s | 4 ++++ ld/testsuite/ld-scripts/defined4.t | 6 ++++++ ld/testsuite/ld-scripts/expr.exp | 5 +++-- ld/testsuite/ld-scripts/expr2.d | 6 ++++++ ld/testsuite/ld-scripts/expr2.s | 4 ++++ ld/testsuite/ld-scripts/expr2.t | 11 +++++++++++ 9 files changed, 60 insertions(+), 3 deletions(-) create mode 100644 ld/testsuite/ld-scripts/defined4.d create mode 100644 ld/testsuite/ld-scripts/defined4.s create mode 100644 ld/testsuite/ld-scripts/defined4.t create mode 100644 ld/testsuite/ld-scripts/expr2.d create mode 100644 ld/testsuite/ld-scripts/expr2.s create mode 100644 ld/testsuite/ld-scripts/expr2.t diff --git a/ld/testsuite/ChangeLog b/ld/testsuite/ChangeLog index 78537d3047e..33e6c918eef 100644 --- a/ld/testsuite/ChangeLog +++ b/ld/testsuite/ChangeLog @@ -1,3 +1,17 @@ +2010-12-28 H.J. Lu + + PR ld/12327 + * ld-scripts/defined4.d: New. + * ld-scripts/defined4.s: Likewise. + * ld-scripts/defined4.t: Likewise. + * ld-scripts/expr2.d: Likewise. + * ld-scripts/expr2.s: Likewise. + * ld-scripts/expr2.t: Likewise. + + * ld-scripts/defined.exp: Run defined4. + + * ld-scripts/expr.exp: Run expr2. + 2010-12-21 Kai Tietz * ld-pe/pe.exp: Add TLS directory test. diff --git a/ld/testsuite/ld-scripts/defined.exp b/ld/testsuite/ld-scripts/defined.exp index 15cc07942c1..6d0c9d50edb 100644 --- a/ld/testsuite/ld-scripts/defined.exp +++ b/ld/testsuite/ld-scripts/defined.exp @@ -1,6 +1,6 @@ # Test DEFINED in a linker script. # By Ian Lance Taylor, Cygnus Support. -# Copyright 2001, 2003. 2005, 2006, 2007 +# Copyright 2001, 2003, 2005, 2006, 2007, 2010 # Free Software Foundation, Inc. # # This file is part of the GNU Binutils. @@ -66,4 +66,5 @@ if ![ld_simple_link $ld tmpdir/def "$LDFLAGS -T $srcdir/$subdir/defined.t tmpdir set prms_id 0 run_dump_test "defined2" run_dump_test "defined3" +run_dump_test "defined4" set LDFLAGS "$saved_LDFLAGS" diff --git a/ld/testsuite/ld-scripts/defined4.d b/ld/testsuite/ld-scripts/defined4.d new file mode 100644 index 00000000000..2c3a6ea5045 --- /dev/null +++ b/ld/testsuite/ld-scripts/defined4.d @@ -0,0 +1,10 @@ +#ld: -Tdefined4.t +#nm: -B +#source: defined4.s + +# Check that arithmetic on DEFINED works. +#... +0+0 D defined +#... +0+0 D defined1 +#pass diff --git a/ld/testsuite/ld-scripts/defined4.s b/ld/testsuite/ld-scripts/defined4.s new file mode 100644 index 00000000000..5969a44f4e7 --- /dev/null +++ b/ld/testsuite/ld-scripts/defined4.s @@ -0,0 +1,4 @@ + .globl defined + .data +defined: + .word 0 diff --git a/ld/testsuite/ld-scripts/defined4.t b/ld/testsuite/ld-scripts/defined4.t new file mode 100644 index 00000000000..1221df2bf1b --- /dev/null +++ b/ld/testsuite/ld-scripts/defined4.t @@ -0,0 +1,6 @@ +SECTIONS { + .text : { *(.text) } + .data : { *(.data) } + .bss : { *(.bss) *(COMMON) } +} +defined1 = defined; diff --git a/ld/testsuite/ld-scripts/expr.exp b/ld/testsuite/ld-scripts/expr.exp index 34829e56013..467abcb9ac7 100644 --- a/ld/testsuite/ld-scripts/expr.exp +++ b/ld/testsuite/ld-scripts/expr.exp @@ -1,6 +1,6 @@ -# Test ALIGN in a linker script. +# Test expressions in a linker script. # By Nathan Sidwell, CodeSourcery LLC -# Copyright 2006, 2007 +# Copyright 2006, 2007, 2010 # Free Software Foundation, Inc. # # This file is part of the GNU Binutils. @@ -21,3 +21,4 @@ # MA 02110-1301, USA. run_dump_test expr1 +run_dump_test expr2 diff --git a/ld/testsuite/ld-scripts/expr2.d b/ld/testsuite/ld-scripts/expr2.d new file mode 100644 index 00000000000..6f7e253ee57 --- /dev/null +++ b/ld/testsuite/ld-scripts/expr2.d @@ -0,0 +1,6 @@ +# ld: -T expr2.t +#nm: -B + +#... +.* D defined +#pass diff --git a/ld/testsuite/ld-scripts/expr2.s b/ld/testsuite/ld-scripts/expr2.s new file mode 100644 index 00000000000..5969a44f4e7 --- /dev/null +++ b/ld/testsuite/ld-scripts/expr2.s @@ -0,0 +1,4 @@ + .globl defined + .data +defined: + .word 0 diff --git a/ld/testsuite/ld-scripts/expr2.t b/ld/testsuite/ld-scripts/expr2.t new file mode 100644 index 00000000000..634eab26a9e --- /dev/null +++ b/ld/testsuite/ld-scripts/expr2.t @@ -0,0 +1,11 @@ +SECTIONS +{ + . = 0xc000; + .text : + { + _text = .; + *(.text) + } + _end = .; +} +ASSERT (_end - _text <= 0x100, "fail"); -- 2.30.2