aboutsummaryrefslogtreecommitdiff
path: root/ld/testsuite
diff options
context:
space:
mode:
Diffstat (limited to 'ld/testsuite')
-rw-r--r--ld/testsuite/ChangeLog11
-rw-r--r--ld/testsuite/ld-elf/orphan3.d21
-rw-r--r--ld/testsuite/ld-elf/orphan3a.s12
-rw-r--r--ld/testsuite/ld-elf/orphan3b.s2
-rw-r--r--ld/testsuite/ld-elf/orphan3c.s2
-rw-r--r--ld/testsuite/ld-elf/orphan3d.s2
-rw-r--r--ld/testsuite/ld-elf/orphan3e.s2
-rw-r--r--ld/testsuite/ld-elf/orphan3f.s2
-rw-r--r--ld/testsuite/ld-pe/direct.exp4
-rwxr-xr-xld/testsuite/ld-pe/longsecn.exp35
-rw-r--r--ld/testsuite/ld-pe/orphan.d13
-rw-r--r--ld/testsuite/ld-pe/orphana.s8
-rw-r--r--ld/testsuite/ld-pe/orphanb.s2
-rw-r--r--ld/testsuite/ld-pe/orphand.s2
-rw-r--r--ld/testsuite/ld-pe/orphane.s2
-rw-r--r--ld/testsuite/ld-pe/pe.exp117
16 files changed, 147 insertions, 90 deletions
diff --git a/ld/testsuite/ChangeLog b/ld/testsuite/ChangeLog
index 215d2e4..5fd731d 100644
--- a/ld/testsuite/ChangeLog
+++ b/ld/testsuite/ChangeLog
@@ -1,3 +1,14 @@
+2009-05-15 Alan Modra <amodra@bigpond.net.au>
+
+ * ld-elf/orphan3.d, * ld-elf/orphan3a.s, * ld-elf/orphan3b.s,
+ * ld-elf/orphan3c.s, * ld-elf/orphan3d.s, * ld-elf/orphan3e.s,
+ * ld-elf/orphan3f.s: New test.
+ * ld-pe/orphan.d, * ld-pe/orphana.s, * ld-pe/orphanb.s,
+ * ld-pe/orphand.s, * ld-pe/orphane.s: New test.
+ * ld-pe/direct.exp: Use is_pecoff_format.
+ * ld-pe/longsecn.exp: Delete.
+ * ld-pe/pe.exp: Run new test and longsecn tests.
+
2009-05-15 Andrew Stubbs <ams@codesourcery.com>
Paul Brook <paul@codesourcery.com>
diff --git a/ld/testsuite/ld-elf/orphan3.d b/ld/testsuite/ld-elf/orphan3.d
new file mode 100644
index 0000000..4a03437
--- /dev/null
+++ b/ld/testsuite/ld-elf/orphan3.d
@@ -0,0 +1,21 @@
+#source: orphan3a.s
+#source: orphan3b.s
+#source: orphan3c.s
+#source: orphan3d.s
+#source: orphan3e.s
+#source: orphan3f.s
+#ld:
+#readelf: -S --wide
+#xfail: "arc-*-*" "d30v-*-*" "dlx-*-*" "fr30-*-*" "frv-*-*"
+#xfail: "i860-*-*" "i960-*-*" "iq2000-*-*" "mn10200-*-*" "msp430-*-*" "mt-*-*"
+#xfail: "or32-*-*" "pj-*-*"
+#xfail: "cr16-*-*" "crx-*-*" "d10v-*-*" "xstormy16-*-*"
+
+#...
+ \[[ 0-9]+\] \.foo +PROGBITS +[0-9a-f]+ +[0-9a-f]+ +0+8 +0+ +A +0 +0 +[0-9]+
+#...
+ \[[ 0-9]+\] \.foo +NOBITS +[0-9a-f]+ +[0-9a-f]+ +0+8 +0+ +A +0 +0 +[0-9]+
+#...
+ \[[ 0-9]+\] \.foo +PROGBITS +0+ +[0-9a-f]+ +0+8 +0+ +0 +0 +[0-9]+
+ \[[ 0-9]+\] \.[^f].*
+#pass
diff --git a/ld/testsuite/ld-elf/orphan3a.s b/ld/testsuite/ld-elf/orphan3a.s
new file mode 100644
index 0000000..7589dea
--- /dev/null
+++ b/ld/testsuite/ld-elf/orphan3a.s
@@ -0,0 +1,12 @@
+ .globl main
+ .globl start
+ .globl _start
+ .globl __start
+ .text
+main:
+start:
+_start:
+__start:
+
+ .section .foo,"a",%nobits
+ .space 4
diff --git a/ld/testsuite/ld-elf/orphan3b.s b/ld/testsuite/ld-elf/orphan3b.s
new file mode 100644
index 0000000..f57d3be
--- /dev/null
+++ b/ld/testsuite/ld-elf/orphan3b.s
@@ -0,0 +1,2 @@
+ .section .foo,"a",%progbits
+ .long 1
diff --git a/ld/testsuite/ld-elf/orphan3c.s b/ld/testsuite/ld-elf/orphan3c.s
new file mode 100644
index 0000000..fedcf09
--- /dev/null
+++ b/ld/testsuite/ld-elf/orphan3c.s
@@ -0,0 +1,2 @@
+ .section .foo,"",%progbits
+ .long 2
diff --git a/ld/testsuite/ld-elf/orphan3d.s b/ld/testsuite/ld-elf/orphan3d.s
new file mode 100644
index 0000000..1cf21bd
--- /dev/null
+++ b/ld/testsuite/ld-elf/orphan3d.s
@@ -0,0 +1,2 @@
+ .section .foo,"a",%nobits
+ .space 4
diff --git a/ld/testsuite/ld-elf/orphan3e.s b/ld/testsuite/ld-elf/orphan3e.s
new file mode 100644
index 0000000..bcd7a18
--- /dev/null
+++ b/ld/testsuite/ld-elf/orphan3e.s
@@ -0,0 +1,2 @@
+ .section .foo,"a",%progbits
+ .long 4
diff --git a/ld/testsuite/ld-elf/orphan3f.s b/ld/testsuite/ld-elf/orphan3f.s
new file mode 100644
index 0000000..aa0c754
--- /dev/null
+++ b/ld/testsuite/ld-elf/orphan3f.s
@@ -0,0 +1,2 @@
+ .section .foo,"",%progbits
+ .long 5
diff --git a/ld/testsuite/ld-pe/direct.exp b/ld/testsuite/ld-pe/direct.exp
index 2af2bf7..b4bb629 100644
--- a/ld/testsuite/ld-pe/direct.exp
+++ b/ld/testsuite/ld-pe/direct.exp
@@ -49,9 +49,7 @@
# 7. run the produced executables
# This test can only be run on PE/COFF platforms.
-if { ![istarget *-*-cygwin*]
- && ![istarget *-*-mingw*]
- && ![istarget *-*-pe] } {
+if {![is_pecoff_format]} {
return
}
diff --git a/ld/testsuite/ld-pe/longsecn.exp b/ld/testsuite/ld-pe/longsecn.exp
deleted file mode 100755
index 77de531..0000000
--- a/ld/testsuite/ld-pe/longsecn.exp
+++ /dev/null
@@ -1,35 +0,0 @@
-# Expect script for COFF long section name tests
-# Copyright 2009
-# Free Software Foundation, Inc.
-#
-# This file is part of the GNU Binutils.
-#
-# This program 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 3 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., 51 Franklin Street - Fifth Floor, Boston,
-# MA 02110-1301, USA.
-#
-
-# This test can only be run on PE/COFF platforms.
-if {![is_pecoff_format]} {
- return
-}
-
-run_dump_test "longsecn"
-
-run_dump_test "longsecn-1"
-run_dump_test "longsecn-2"
-run_dump_test "longsecn-3"
-run_dump_test "longsecn-4"
-run_dump_test "longsecn-5"
-
diff --git a/ld/testsuite/ld-pe/orphan.d b/ld/testsuite/ld-pe/orphan.d
new file mode 100644
index 0000000..1bace6b
--- /dev/null
+++ b/ld/testsuite/ld-pe/orphan.d
@@ -0,0 +1,13 @@
+#source: orphana.s
+#source: orphanb.s
+#source: orphand.s
+#source: orphane.s
+#ld: --file-align 1 --section-align 1
+#objdump: -h --wide
+
+#...
+ +0 +\.text .*
+ +1 +\.foo +0+8 .*
+ +2 +\.foo +0+8 .*
+ +3 +\.idata .*
+#pass
diff --git a/ld/testsuite/ld-pe/orphana.s b/ld/testsuite/ld-pe/orphana.s
new file mode 100644
index 0000000..0fff05e
--- /dev/null
+++ b/ld/testsuite/ld-pe/orphana.s
@@ -0,0 +1,8 @@
+ .globl _mainCRTStartup
+ .globl _start
+ .text
+_mainCRTStartup:
+_start:
+
+ .section .foo,"b"
+ .space 4
diff --git a/ld/testsuite/ld-pe/orphanb.s b/ld/testsuite/ld-pe/orphanb.s
new file mode 100644
index 0000000..0738616
--- /dev/null
+++ b/ld/testsuite/ld-pe/orphanb.s
@@ -0,0 +1,2 @@
+ .section .foo
+ .long 1
diff --git a/ld/testsuite/ld-pe/orphand.s b/ld/testsuite/ld-pe/orphand.s
new file mode 100644
index 0000000..f0953ee
--- /dev/null
+++ b/ld/testsuite/ld-pe/orphand.s
@@ -0,0 +1,2 @@
+ .section .foo,"b"
+ .space 4
diff --git a/ld/testsuite/ld-pe/orphane.s b/ld/testsuite/ld-pe/orphane.s
new file mode 100644
index 0000000..3f7e228
--- /dev/null
+++ b/ld/testsuite/ld-pe/orphane.s
@@ -0,0 +1,2 @@
+ .section .foo
+ .long 4
diff --git a/ld/testsuite/ld-pe/pe.exp b/ld/testsuite/ld-pe/pe.exp
index 2aa4d20..3cff6b4 100644
--- a/ld/testsuite/ld-pe/pe.exp
+++ b/ld/testsuite/ld-pe/pe.exp
@@ -1,52 +1,65 @@
-# Expect script for export table in executables tests
-# Copyright 2004, 2006, 2007
-# Free Software Foundation, Inc.
-#
-# This file is part of the GNU Binutils.
-#
-# This program 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 3 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., 51 Franklin Street - Fifth Floor, Boston,
-# MA 02110-1301, USA.
-#
-
-# This test can only be run on PE/COFF platforms that support .secrel32.
-if { ![istarget i*86-*-cygwin*]
- && ![istarget i*86-*-pe]
- && ![istarget i*86-*-mingw*]
- && ![istarget x86_64-*-mingw*]
- && ![istarget arm-wince-pe] } {
- return
-}
-
-if {[istarget x86_64-*-mingw*] } {
- set pe_tests {
- {".secrel32" "" "" {secrel1.s secrel2.s}
- {{objdump -s secrel_64.d}} "secrel.x"}
- }
-} elseif {[istarget i*86-*-cygwin*] } {
- set pe_tests {
- {".secrel32" "--disable-auto-import" "" {secrel1.s secrel2.s}
- {{objdump -s secrel.d}} "secrel.x"}
- }
-} else {
- set pe_tests {
- {".secrel32" "" "" {secrel1.s secrel2.s}
- {{objdump -s secrel.d}} "secrel.x"}
- }
-}
-
-run_ld_link_tests $pe_tests
-
-run_dump_test "image_size"
-run_dump_test "export_dynamic_warning"
+# Expect script for export table in executables tests
+# Copyright 2004, 2006, 2007
+# Free Software Foundation, Inc.
+#
+# This file is part of the GNU Binutils.
+#
+# This program 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 3 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., 51 Franklin Street - Fifth Floor, Boston,
+# MA 02110-1301, USA.
+#
+
+# These tests can only be run on PE/COFF platforms.
+if {![is_pecoff_format]} {
+ return
+}
+
+# This test can only be run on PE/COFF platforms that support .secrel32.
+if {[istarget i*86-*-cygwin*]
+ || [istarget i*86-*-pe]
+ || [istarget i*86-*-mingw*]
+ || [istarget x86_64-*-mingw*]
+ || [istarget arm-wince-pe] } {
+
+ if {[istarget x86_64-*-mingw*] } {
+ set pe_tests {
+ {".secrel32" "" "" {secrel1.s secrel2.s}
+ {{objdump -s secrel_64.d}} "secrel.x"}
+ }
+ } elseif {[istarget i*86-*-cygwin*] } {
+ set pe_tests {
+ {".secrel32" "--disable-auto-import" "" {secrel1.s secrel2.s}
+ {{objdump -s secrel.d}} "secrel.x"}
+ }
+ } else {
+ set pe_tests {
+ {".secrel32" "" "" {secrel1.s secrel2.s}
+ {{objdump -s secrel.d}} "secrel.x"}
+ }
+ }
+
+ run_ld_link_tests $pe_tests
+}
+
+run_dump_test "image_size"
+run_dump_test "export_dynamic_warning"
+
+run_dump_test "longsecn"
+run_dump_test "longsecn-1"
+run_dump_test "longsecn-2"
+run_dump_test "longsecn-3"
+run_dump_test "longsecn-4"
+run_dump_test "longsecn-5"
+
+run_dump_test "orphan"