diff options
Diffstat (limited to 'ld/testsuite')
-rw-r--r-- | ld/testsuite/ChangeLog | 11 | ||||
-rw-r--r-- | ld/testsuite/ld-elf/orphan3.d | 21 | ||||
-rw-r--r-- | ld/testsuite/ld-elf/orphan3a.s | 12 | ||||
-rw-r--r-- | ld/testsuite/ld-elf/orphan3b.s | 2 | ||||
-rw-r--r-- | ld/testsuite/ld-elf/orphan3c.s | 2 | ||||
-rw-r--r-- | ld/testsuite/ld-elf/orphan3d.s | 2 | ||||
-rw-r--r-- | ld/testsuite/ld-elf/orphan3e.s | 2 | ||||
-rw-r--r-- | ld/testsuite/ld-elf/orphan3f.s | 2 | ||||
-rw-r--r-- | ld/testsuite/ld-pe/direct.exp | 4 | ||||
-rwxr-xr-x | ld/testsuite/ld-pe/longsecn.exp | 35 | ||||
-rw-r--r-- | ld/testsuite/ld-pe/orphan.d | 13 | ||||
-rw-r--r-- | ld/testsuite/ld-pe/orphana.s | 8 | ||||
-rw-r--r-- | ld/testsuite/ld-pe/orphanb.s | 2 | ||||
-rw-r--r-- | ld/testsuite/ld-pe/orphand.s | 2 | ||||
-rw-r--r-- | ld/testsuite/ld-pe/orphane.s | 2 | ||||
-rw-r--r-- | ld/testsuite/ld-pe/pe.exp | 117 |
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" |