Add testcases for PR ld/12327.
authorH.J. Lu <hjl.tools@gmail.com>
Tue, 28 Dec 2010 18:04:10 +0000 (18:04 +0000)
committerH.J. Lu <hjl.tools@gmail.com>
Tue, 28 Dec 2010 18:04:10 +0000 (18:04 +0000)
2010-12-28  H.J. Lu  <hongjiu.lu@intel.com>

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
ld/testsuite/ld-scripts/defined.exp
ld/testsuite/ld-scripts/defined4.d [new file with mode: 0644]
ld/testsuite/ld-scripts/defined4.s [new file with mode: 0644]
ld/testsuite/ld-scripts/defined4.t [new file with mode: 0644]
ld/testsuite/ld-scripts/expr.exp
ld/testsuite/ld-scripts/expr2.d [new file with mode: 0644]
ld/testsuite/ld-scripts/expr2.s [new file with mode: 0644]
ld/testsuite/ld-scripts/expr2.t [new file with mode: 0644]

index 78537d3047e81408f43b4b6e85623535e8f73377..33e6c918eef1058499d53d0039ba430c1523b439 100644 (file)
@@ -1,3 +1,17 @@
+2010-12-28  H.J. Lu  <hongjiu.lu@intel.com>
+
+       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  <kai.tietz@onevision.com>
 
        * ld-pe/pe.exp: Add TLS directory test.
index 15cc07942c1de2f9c579d34526527022f9caab05..6d0c9d50edbe861b3da2095fff709ee78fe633e1 100644 (file)
@@ -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 (file)
index 0000000..2c3a6ea
--- /dev/null
@@ -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 (file)
index 0000000..5969a44
--- /dev/null
@@ -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 (file)
index 0000000..1221df2
--- /dev/null
@@ -0,0 +1,6 @@
+SECTIONS {
+       .text : { *(.text) }
+       .data : { *(.data) }
+       .bss : { *(.bss) *(COMMON) }
+}
+defined1 = defined;
index 34829e56013e5865be21061634fff9b48bebc357..467abcb9ac7503c826fe719e37fb340666a137fa 100644 (file)
@@ -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 (file)
index 0000000..6f7e253
--- /dev/null
@@ -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 (file)
index 0000000..5969a44
--- /dev/null
@@ -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 (file)
index 0000000..634eab2
--- /dev/null
@@ -0,0 +1,11 @@
+SECTIONS
+{
+  . = 0xc000;
+  .text :
+  {
+    _text = .;
+    *(.text)
+  }
+  _end = .;
+}
+ASSERT (_end - _text <= 0x100, "fail");