* ld-sh/sh64/sh64.exp: Add dlsection.
authorStephen Clarke <stephen.clarke@earthling.net>
Fri, 16 Aug 2002 18:47:31 +0000 (18:47 +0000)
committerStephen Clarke <stephen.clarke@earthling.net>
Fri, 16 Aug 2002 18:47:31 +0000 (18:47 +0000)
* ld-sh/sh64/dlsection-1.s, ld-sh/sh64/dlsection.sd: New.

ld/testsuite/ChangeLog
ld/testsuite/ld-sh/sh64/dlsection-1.s [new file with mode: 0644]
ld/testsuite/ld-sh/sh64/dlsection.sd [new file with mode: 0644]
ld/testsuite/ld-sh/sh64/sh64.exp

index 3aba5ad..9ec8ea2 100644 (file)
@@ -1,3 +1,8 @@
+2002-08-16  Stephen Clarke <stephen.clarke@superh.com>
+
+       * ld-sh/sh64/sh64.exp: Add dlsection.
+       * ld-sh/sh64/dlsection-1.s, ld-sh/sh64/dlsection.sd: New.
+
 2002-08-16  Alan Modra  <amodra@bigpond.net.au>
 
        * ld-discard/discard.exp: xfail targets using generic linker.
diff --git a/ld/testsuite/ld-sh/sh64/dlsection-1.s b/ld/testsuite/ld-sh/sh64/dlsection-1.s
new file mode 100644 (file)
index 0000000..d83e6e1
--- /dev/null
@@ -0,0 +1,17 @@
+! Test gc-sections and datalabel references.
+!
+! Datalabel reference to symbol in section .text2 should
+! prevent .text2 from being discarded.
+! Section .spurious can be discarded.
+       .mode SHmedia
+
+       .text
+       .global start
+       .global foo
+start: .long datalabel foo
+
+       .section .text2,"ax"
+foo:   .long 23
+               
+       .section .spurious,"ax"
+       .long 17
diff --git a/ld/testsuite/ld-sh/sh64/dlsection.sd b/ld/testsuite/ld-sh/sh64/dlsection.sd
new file mode 100644 (file)
index 0000000..3e470fb
--- /dev/null
@@ -0,0 +1,13 @@
+
+.*:     file format elf.*-sh64
+
+Contents of section \.text:
+ 1000 00001004  .*
+Contents of section \.text2:
+ 1004 00000017  .*
+Contents of section \.data:
+Contents of section \.ctors:
+Contents of section \.dtors:
+Contents of section \.sbss:
+Contents of section \.bss:
+Contents of section \.stack:
index 555436e..f939441 100644 (file)
@@ -73,6 +73,12 @@ set sh64tests {
     {"SH64 inter-file datalabel references, 32-bit ABI" "-mshelf32"
      "--abi=32" {shdl-1.s shdl-2.s}
      {{objdump -sr shdl64.sd} {objdump -x shdl32.xd}}}
+    {"SH64 inter-file datalabel references and gc-sections, 32-bit ABI" "-mshelf32 --gc-sections"
+     "--abi=32" {dlsection-1.s }
+     {{objdump -sr dlsection.sd}}}
+    {"SH64 inter-file datalabel references and gc-sections, 64-bit ABI" "-mshelf64 --gc-sections"
+     "--abi=64" {dlsection-1.s }
+     {{objdump -sr dlsection.sd}}}
     {"SH64 simple partial linking, 32-bit ABI" "-mshelf32 -r"
      "--abi=32" {rel-1.s rel-2.s}
      {{objdump -sx rel32.xd}}}