Yet another DEFINED testcase
authorAlan Modra <amodra@gmail.com>
Tue, 23 Dec 2014 14:33:44 +0000 (01:03 +1030)
committerAlan Modra <amodra@gmail.com>
Wed, 24 Dec 2014 01:26:51 +0000 (11:56 +1030)
* ld-scripts/defined6.s,
* ld-scripts/defined6.t,
* ld-scripts/defined6.d: New test.
* ld-scripts/defined.exp: Run it.

ld/testsuite/ChangeLog
ld/testsuite/ld-scripts/defined.exp
ld/testsuite/ld-scripts/defined6.d [new file with mode: 0644]
ld/testsuite/ld-scripts/defined6.s [new file with mode: 0644]
ld/testsuite/ld-scripts/defined6.t [new file with mode: 0644]

index fdef038..628c906 100644 (file)
@@ -1,3 +1,10 @@
+2014-12-24  Alan Modra  <amodra@gmail.com>
+
+       * ld-scripts/defined6.s,
+       * ld-scripts/defined6.t,
+       * ld-scripts/defined6.d: New test.
+       * ld-scripts/defined.exp: Run it.
+
 2014-12-23  Andrew Burgess  <andrew.burgess@embecosm.com>
 
        * ld-avr/relax-elf-flags-01.d: New file.
index b871004..16dcbe9 100644 (file)
@@ -69,4 +69,7 @@ run_dump_test "defined4"
 if ![is_aout_format] {
     run_dump_test "defined5"
 }
+if [is_elf_format] {
+    run_dump_test "defined6"
+}
 set LDFLAGS "$saved_LDFLAGS"
diff --git a/ld/testsuite/ld-scripts/defined6.d b/ld/testsuite/ld-scripts/defined6.d
new file mode 100644 (file)
index 0000000..c8ea863
--- /dev/null
@@ -0,0 +1,23 @@
+#source: defined6.s
+#ld: -T defined6.t
+#nm: -B
+#notarget: hppa*-hpux*
+# hppa64-hpux has a different .comm
+
+# Check that DEFINED works with various symbol types
+#...
+0+1 A common
+0+1 A common_post
+0+1 A common_pre
+0+1 A defined
+0+1 A defined_post
+0+1 A defined_pre
+0+1 A undef
+0+1 A undef_post
+0+0 A undef_pre
+0+1 A undefweak
+0+1 A undefweak_post
+0+0 A undefweak_pre
+0+1 A weak
+0+1 A weak_post
+0+1 A weak_pre
diff --git a/ld/testsuite/ld-scripts/defined6.s b/ld/testsuite/ld-scripts/defined6.s
new file mode 100644 (file)
index 0000000..00b1f7f
--- /dev/null
@@ -0,0 +1,9 @@
+ .globl defined
+ defined == 1
+ .globl undef
+ .comm common,1
+ .weak weak
+ weak == 2
+ .weak undefweak
+ .data
+ .dc.a undefweak
diff --git a/ld/testsuite/ld-scripts/defined6.t b/ld/testsuite/ld-scripts/defined6.t
new file mode 100644 (file)
index 0000000..f4ca38a
--- /dev/null
@@ -0,0 +1,21 @@
+SECTIONS
+{
+  .text : { *(.text) }
+  .data : { *(.data) }
+  .bss  : { *(.bss) *(COMMON) }
+}
+defined_pre = DEFINED (defined);
+defined = 1;
+defined_post = DEFINED (defined);
+undef_pre = DEFINED (undef);
+undef = 1;
+undef_post = DEFINED (undef);
+common_pre = DEFINED (common);
+common = 1;
+common_post = DEFINED (common);
+weak_pre = DEFINED (weak);
+weak = 1;
+weak_post = DEFINED (weak);
+undefweak_pre = DEFINED (undefweak);
+undefweak = 1;
+undefweak_post = DEFINED (undefweak);