Browse Source
* 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.binutils-2_12-branch
10 changed files with 101 additions and 0 deletions
@ -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]] |
|||
} |
|||
@ -0,0 +1,9 @@ |
|||
ENTRY(_start) |
|||
SECTIONS |
|||
{ |
|||
/* Sections to be discarded */ |
|||
/DISCARD/ : { |
|||
*(.data.exit) |
|||
*(.text.exit) |
|||
} |
|||
} |
|||
@ -0,0 +1,6 @@ |
|||
.globl data |
|||
.section .data.exit,"aw" |
|||
data: |
|||
.globl text |
|||
.section .text.exit,"aw" |
|||
text: |
|||
@ -0,0 +1,3 @@ |
|||
#source: extern.s |
|||
#ld: -T $srcdir/$subdir/discard.ld |
|||
#error: undefined reference to `data' |
|||
@ -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 |
|||
@ -0,0 +1,4 @@ |
|||
#source: start.s |
|||
#source: exit.s |
|||
#ld: -T $srcdir/$subdir/discard.ld |
|||
#error: undefined reference to `data' |
|||
@ -0,0 +1,6 @@ |
|||
.text |
|||
.globl _start |
|||
_start: |
|||
.long data |
|||
.section .debug_info |
|||
.long text |
|||
@ -0,0 +1,3 @@ |
|||
#source: static.s |
|||
#ld: -T $srcdir/$subdir/discard.ld |
|||
#error: undefined reference to `local symbols in discarded section \.data\.exit' |
|||
@ -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 |
|||
Loading…
Reference in new issue