diff options
author | H.J. Lu <hjl.tools@gmail.com> | 2001-11-10 01:17:58 +0000 |
---|---|---|
committer | H.J. Lu <hjl.tools@gmail.com> | 2001-11-10 01:17:58 +0000 |
commit | 3a921b779a8187744dc8085220928b1a0cdb809b (patch) | |
tree | fc243af48f0a05827988350d2c294c52ea1c669f /ld/testsuite/ld-discard | |
parent | ecdadc4a4a3e074c8ee0753783ca036ec2fe58d6 (diff) | |
download | fsf-binutils-gdb-3a921b779a8187744dc8085220928b1a0cdb809b.zip fsf-binutils-gdb-3a921b779a8187744dc8085220928b1a0cdb809b.tar.gz fsf-binutils-gdb-3a921b779a8187744dc8085220928b1a0cdb809b.tar.bz2 |
2001-11-09 H.J. Lu <hjl@gnu.org>
* ld-discard/discard.exp: New. Test ld discard.
* ld-discard/discard.ld: Likewise.
* ld-discard/exit.s: Likewise.
* ld-discard/extern.d: Likewise.
* ld-discard/extern.s: Likewise.
* ld-discard/start.d: Likewise.
* ld-discard/start.s: Likewise.
* ld-discard/static.d: Likewise.
* ld-discard/static.s: Likewise.
Diffstat (limited to 'ld/testsuite/ld-discard')
-rw-r--r-- | ld/testsuite/ld-discard/discard.exp | 36 | ||||
-rw-r--r-- | ld/testsuite/ld-discard/discard.ld | 9 | ||||
-rw-r--r-- | ld/testsuite/ld-discard/exit.s | 6 | ||||
-rw-r--r-- | ld/testsuite/ld-discard/extern.d | 3 | ||||
-rw-r--r-- | ld/testsuite/ld-discard/extern.s | 12 | ||||
-rw-r--r-- | ld/testsuite/ld-discard/start.d | 4 | ||||
-rw-r--r-- | ld/testsuite/ld-discard/start.s | 6 | ||||
-rw-r--r-- | ld/testsuite/ld-discard/static.d | 3 | ||||
-rw-r--r-- | ld/testsuite/ld-discard/static.s | 10 |
9 files changed, 89 insertions, 0 deletions
diff --git a/ld/testsuite/ld-discard/discard.exp b/ld/testsuite/ld-discard/discard.exp new file mode 100644 index 0000000..da60e90 --- /dev/null +++ b/ld/testsuite/ld-discard/discard.exp @@ -0,0 +1,36 @@ +# Expect script for ld discard tests +# Copyright 2001 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. +# +# Written by Hans-Peter Nilsson (hp@axis.com) +# H.J. Lu (hjl@gnu.org) +# + +# 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]] +} diff --git a/ld/testsuite/ld-discard/discard.ld b/ld/testsuite/ld-discard/discard.ld new file mode 100644 index 0000000..a7ff4a5 --- /dev/null +++ b/ld/testsuite/ld-discard/discard.ld @@ -0,0 +1,9 @@ +ENTRY(_start) +SECTIONS +{ + /* Sections to be discarded */ + /DISCARD/ : { + *(.data.exit) + *(.text.exit) + } +} diff --git a/ld/testsuite/ld-discard/exit.s b/ld/testsuite/ld-discard/exit.s new file mode 100644 index 0000000..80acef5 --- /dev/null +++ b/ld/testsuite/ld-discard/exit.s @@ -0,0 +1,6 @@ +.globl data + .section .data.exit,"aw" +data: +.globl text + .section .text.exit,"aw" +text: diff --git a/ld/testsuite/ld-discard/extern.d b/ld/testsuite/ld-discard/extern.d new file mode 100644 index 0000000..3c76be2 --- /dev/null +++ b/ld/testsuite/ld-discard/extern.d @@ -0,0 +1,3 @@ +#source: extern.s +#ld: -T $srcdir/$subdir/discard.ld +#error: undefined reference to `data' diff --git a/ld/testsuite/ld-discard/extern.s b/ld/testsuite/ld-discard/extern.s new file mode 100644 index 0000000..da8e276 --- /dev/null +++ b/ld/testsuite/ld-discard/extern.s @@ -0,0 +1,12 @@ +.globl data + .section .data.exit,"aw" +data: +.globl text + .section .text.exit,"aw" +text: +.text +.globl _start +_start: + .long data + .section .debug_info + .long text diff --git a/ld/testsuite/ld-discard/start.d b/ld/testsuite/ld-discard/start.d new file mode 100644 index 0000000..943f11c --- /dev/null +++ b/ld/testsuite/ld-discard/start.d @@ -0,0 +1,4 @@ +#source: start.s +#source: exit.s +#ld: -T $srcdir/$subdir/discard.ld +#error: undefined reference to `data' diff --git a/ld/testsuite/ld-discard/start.s b/ld/testsuite/ld-discard/start.s new file mode 100644 index 0000000..82290c6 --- /dev/null +++ b/ld/testsuite/ld-discard/start.s @@ -0,0 +1,6 @@ +.text +.globl _start +_start: + .long data + .section .debug_info + .long text diff --git a/ld/testsuite/ld-discard/static.d b/ld/testsuite/ld-discard/static.d new file mode 100644 index 0000000..e259cb4 --- /dev/null +++ b/ld/testsuite/ld-discard/static.d @@ -0,0 +1,3 @@ +#source: static.s +#ld: -T $srcdir/$subdir/discard.ld +#error: undefined reference to `local symbols in discarded section \.data\.exit' diff --git a/ld/testsuite/ld-discard/static.s b/ld/testsuite/ld-discard/static.s new file mode 100644 index 0000000..b251c8b --- /dev/null +++ b/ld/testsuite/ld-discard/static.s @@ -0,0 +1,10 @@ + .section .data.exit,"aw" +data: + .section .text.exit,"aw" +text: +.text +.globl _start +_start: + .long data + .section .debug_info + .long text |