* ld-selective/keepdot.d, ld-selective/keepdot.ld,
authorHans-Peter Nilsson <hp@axis.com>
Tue, 5 Feb 2002 06:45:16 +0000 (06:45 +0000)
committerHans-Peter Nilsson <hp@axis.com>
Tue, 5 Feb 2002 06:45:16 +0000 (06:45 +0000)
ld-selective/keepdot.s, ld-selective/keepdot0.d: New tests.
* ld-selective/sel-dump.exp: New, driver for run_dump_test:s.

ld/testsuite/ChangeLog
ld/testsuite/ld-selective/keepdot.d [new file with mode: 0644]
ld/testsuite/ld-selective/keepdot.ld [new file with mode: 0644]
ld/testsuite/ld-selective/keepdot.s [new file with mode: 0644]
ld/testsuite/ld-selective/keepdot0.d [new file with mode: 0644]
ld/testsuite/ld-selective/keepdot0.ld [new file with mode: 0644]
ld/testsuite/ld-selective/sel-dump.exp [new file with mode: 0644]

index e416339..af62038 100644 (file)
@@ -1,3 +1,9 @@
+2002-02-05  Hans-Peter Nilsson  <hp@axis.com>
+
+       * ld-selective/keepdot.d, ld-selective/keepdot.ld,
+       ld-selective/keepdot.s, ld-selective/keepdot0.d: New tests.
+       * ld-selective/sel-dump.exp: New, driver for run_dump_test:s.
+
 2002-02-04  Hans-Peter Nilsson  <hp@bitrange.com>
 
        * ld-mmix/bpo-18.d, ld-mmix/bpo64addr.ld, ld-mmix/bpo-18m.d,
diff --git a/ld/testsuite/ld-selective/keepdot.d b/ld/testsuite/ld-selective/keepdot.d
new file mode 100644 (file)
index 0000000..47b6ae2
--- /dev/null
@@ -0,0 +1,9 @@
+#ld: --gc-sections -Bstatic -e _start -T$srcdir/$subdir/keepdot.ld
+#name: Preserve default . = 0
+#objdump: -h
+
+# Check that GC:ing does not mess up the default value for dot.
+
+#...
+[      ]+.[    ]+\.myinit[     ]+0+[48][       ]+0+[   ]+0+ .*
+#pass
diff --git a/ld/testsuite/ld-selective/keepdot.ld b/ld/testsuite/ld-selective/keepdot.ld
new file mode 100644 (file)
index 0000000..d8a2b38
--- /dev/null
@@ -0,0 +1,5 @@
+SECTIONS
+{
+  .myinit : { KEEP (*(.myinit)) }
+  .mytext : { *(.mytext*) *(.text*) }
+}
diff --git a/ld/testsuite/ld-selective/keepdot.s b/ld/testsuite/ld-selective/keepdot.s
new file mode 100644 (file)
index 0000000..6d8d979
--- /dev/null
@@ -0,0 +1,17 @@
+       .text
+       .stabs "int:t(0,1)=r(0,1);-2147483648;2147483647;",128,0,0,0
+       .stabs "char:t(0,2)=r(0,2);0;127;",128,0,0,0
+
+       .section        .myinit,"ax",@progbits
+       .stabs "barxfoo:F(0,20)",36,0,2,_bar
+       .global _bar
+       .global _start
+_start:
+_bar:
+       .long 123
+
+       .section        .mytext.baz,"ax",@progbits
+       .stabs "baz:F(0,20)",36,0,6,_baz
+       .global _baz
+_baz:
+       .long 456
diff --git a/ld/testsuite/ld-selective/keepdot0.d b/ld/testsuite/ld-selective/keepdot0.d
new file mode 100644 (file)
index 0000000..e275080
--- /dev/null
@@ -0,0 +1,11 @@
+#source: keepdot.s
+#ld: --gc-sections -Bstatic -e _start -T$srcdir/$subdir/keepdot0.ld
+#name: Preserve explicit . = 0
+#objdump: -h
+
+# Check that GC:ing does not mess up the value for dot when specified
+# as 0.
+
+#...
+[      ]+.[    ]+\.myinit[     ]+0+[48][       ]+0+[   ]+0+ .*
+#pass
diff --git a/ld/testsuite/ld-selective/keepdot0.ld b/ld/testsuite/ld-selective/keepdot0.ld
new file mode 100644 (file)
index 0000000..9f053d3
--- /dev/null
@@ -0,0 +1,6 @@
+SECTIONS
+{
+  . = 0x0;
+  .myinit : { KEEP (*(.myinit)) }
+  .mytext : { *(.mytext*) *(.text*) }
+}
diff --git a/ld/testsuite/ld-selective/sel-dump.exp b/ld/testsuite/ld-selective/sel-dump.exp
new file mode 100644 (file)
index 0000000..ee4de62
--- /dev/null
@@ -0,0 +1,34 @@
+# Expect script for ld selective linking tests running run_dump_test
+#   Copyright 2002 Free Software Foundation, Inc.
+#
+# This file is free software; you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation; either version 2 of the License, or
+# (at your option) any later version.
+# 
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+# GNU General Public License for more details.
+# 
+# You should have received a copy of the GNU General Public License
+# along with this program; if not, write to the Free Software
+# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
+
+# Test for ELF here, so we don't have to qualify on ELF specifically
+# in every .d-file.
+
+if { ![istarget *-*-linux*]
+     && ![istarget *-*-gnu]
+     && ![istarget *-*-elf] } {
+    return
+}
+
+load_lib ld-lib.exp
+
+set test_list [lsort [glob -nocomplain $srcdir/$subdir/*.d]]
+for { set i 0 } { $i < [llength $test_list] } { incr i } {
+    # We need to strip the ".d", but can leave the dirname.
+    verbose [file rootname [lindex $test_list $i]]
+    run_dump_test [file rootname [lindex $test_list $i]]
+}