diff options
author | Ben Cheng <bccheng@google.com> | 2014-03-26 11:03:35 -0700 |
---|---|---|
committer | Ben Cheng <bccheng@google.com> | 2014-03-26 11:03:35 -0700 |
commit | 09797ba54abf3683ea66eedddf6afbe7653f9cb9 (patch) | |
tree | 8030b2ed79c7463c89d6da294782e9d503c84f50 /binutils-2.24/ld/testsuite/ld-discard | |
parent | 5a2caf34e4995860baf405552163df288000b7bf (diff) | |
download | toolchain_binutils-09797ba54abf3683ea66eedddf6afbe7653f9cb9.zip toolchain_binutils-09797ba54abf3683ea66eedddf6afbe7653f9cb9.tar.gz toolchain_binutils-09797ba54abf3683ea66eedddf6afbe7653f9cb9.tar.bz2 |
Initial checkin of binutils 2.24.
Change-Id: I0dfcbae6608dded6c3586bf5f4ac27e9612e70a2
Diffstat (limited to 'binutils-2.24/ld/testsuite/ld-discard')
-rw-r--r-- | binutils-2.24/ld/testsuite/ld-discard/discard.exp | 48 | ||||
-rw-r--r-- | binutils-2.24/ld/testsuite/ld-discard/discard.ld | 9 | ||||
-rw-r--r-- | binutils-2.24/ld/testsuite/ld-discard/exit.s | 6 | ||||
-rw-r--r-- | binutils-2.24/ld/testsuite/ld-discard/extern.d | 13 | ||||
-rw-r--r-- | binutils-2.24/ld/testsuite/ld-discard/extern.s | 13 | ||||
-rw-r--r-- | binutils-2.24/ld/testsuite/ld-discard/start.d | 8 | ||||
-rw-r--r-- | binutils-2.24/ld/testsuite/ld-discard/start.s | 7 | ||||
-rw-r--r-- | binutils-2.24/ld/testsuite/ld-discard/static.d | 7 | ||||
-rw-r--r-- | binutils-2.24/ld/testsuite/ld-discard/static.s | 11 | ||||
-rw-r--r-- | binutils-2.24/ld/testsuite/ld-discard/zero-range.d | 8 | ||||
-rw-r--r-- | binutils-2.24/ld/testsuite/ld-discard/zero-range.s | 13 | ||||
-rw-r--r-- | binutils-2.24/ld/testsuite/ld-discard/zero-rel.d | 8 | ||||
-rw-r--r-- | binutils-2.24/ld/testsuite/ld-discard/zero-rel.s | 11 |
13 files changed, 162 insertions, 0 deletions
diff --git a/binutils-2.24/ld/testsuite/ld-discard/discard.exp b/binutils-2.24/ld/testsuite/ld-discard/discard.exp new file mode 100644 index 0000000..4fd4c43 --- /dev/null +++ b/binutils-2.24/ld/testsuite/ld-discard/discard.exp @@ -0,0 +1,48 @@ +# Expect script for ld discard tests +# Copyright 2001, 2002, 2005, 2007, 2010, 2012 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. +# +# 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 *-*-nacl*] + && ![istarget hppa*64*-*-hpux*] + && ![istarget *-*-elf] } { + return +} + +if { [istarget *-*-linux*aout*] + || [istarget *-*-linux*oldld*] } { + 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/binutils-2.24/ld/testsuite/ld-discard/discard.ld b/binutils-2.24/ld/testsuite/ld-discard/discard.ld new file mode 100644 index 0000000..a7ff4a5 --- /dev/null +++ b/binutils-2.24/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/binutils-2.24/ld/testsuite/ld-discard/exit.s b/binutils-2.24/ld/testsuite/ld-discard/exit.s new file mode 100644 index 0000000..c852978 --- /dev/null +++ b/binutils-2.24/ld/testsuite/ld-discard/exit.s @@ -0,0 +1,6 @@ + .globl data + .section .data.exit,"aw" +data: + .globl text + .section .text.exit,"ax" +text: diff --git a/binutils-2.24/ld/testsuite/ld-discard/extern.d b/binutils-2.24/ld/testsuite/ld-discard/extern.d new file mode 100644 index 0000000..bb596d5 --- /dev/null +++ b/binutils-2.24/ld/testsuite/ld-discard/extern.d @@ -0,0 +1,13 @@ +#source: extern.s +#ld: -T discard.ld +#error: .*data.* referenced in section `\.text' of tmpdir/dump0.o: defined in discarded section `\.data\.exit' of tmpdir/dump0.o +#objdump: -p +#xfail: arc-*-* d30v-*-* dlx-*-* i960-*-* or32-*-* pj*-*-* +#xfail: m68hc12-*-* m6812-*-* +#pass +# The expected warning used to start with "`data' referenced..." but +# this has two problems: 1) It does not include the name of the linker +# command which will be present in the message, eg "../ld-new" +# 2) Targets which define EXTERN_FORCE_RELOC to 0 in their +# gas/config/tc-xxx.h file will convert the symbol in the reloc from +# "data" to the section symbol ".data.exit". diff --git a/binutils-2.24/ld/testsuite/ld-discard/extern.s b/binutils-2.24/ld/testsuite/ld-discard/extern.s new file mode 100644 index 0000000..464be8b --- /dev/null +++ b/binutils-2.24/ld/testsuite/ld-discard/extern.s @@ -0,0 +1,13 @@ + .globl data + .section .data.exit,"aw" +data: + .globl text + .section .text.exit,"ax" +text: + .text + .globl _start +_start: + .long data + .section .debug_info + .long 0 + .long text diff --git a/binutils-2.24/ld/testsuite/ld-discard/start.d b/binutils-2.24/ld/testsuite/ld-discard/start.d new file mode 100644 index 0000000..06207ee --- /dev/null +++ b/binutils-2.24/ld/testsuite/ld-discard/start.d @@ -0,0 +1,8 @@ +#source: start.s +#source: exit.s +#ld: -T discard.ld +#error: `data' referenced in section `\.text' of tmpdir/dump0.o: defined in discarded section `\.data\.exit' of tmpdir/dump1.o +#objdump: -p +#xfail: arc-*-* d30v-*-* dlx-*-* i960-*-* or32-*-* pj*-*-* +#xfail: m68hc12-*-* m6812-*-* +#pass diff --git a/binutils-2.24/ld/testsuite/ld-discard/start.s b/binutils-2.24/ld/testsuite/ld-discard/start.s new file mode 100644 index 0000000..70f4187 --- /dev/null +++ b/binutils-2.24/ld/testsuite/ld-discard/start.s @@ -0,0 +1,7 @@ + .text + .globl _start +_start: + .long data + .section .debug_info + .long 0 + .long text diff --git a/binutils-2.24/ld/testsuite/ld-discard/static.d b/binutils-2.24/ld/testsuite/ld-discard/static.d new file mode 100644 index 0000000..b001d72 --- /dev/null +++ b/binutils-2.24/ld/testsuite/ld-discard/static.d @@ -0,0 +1,7 @@ +#source: static.s +#ld: -T discard.ld +#error: `(\.data\.exit|data)' referenced in section `\.text' of tmpdir/dump0.o: defined in discarded section `\.data\.exit' of tmpdir/dump0.o +#objdump: -p +#xfail: arc-*-* d30v-*-* dlx-*-* i960-*-* or32-*-* pj*-*-* +#xfail: m68hc12-*-* m6812-*-* +#pass diff --git a/binutils-2.24/ld/testsuite/ld-discard/static.s b/binutils-2.24/ld/testsuite/ld-discard/static.s new file mode 100644 index 0000000..a0f4569 --- /dev/null +++ b/binutils-2.24/ld/testsuite/ld-discard/static.s @@ -0,0 +1,11 @@ + .section .data.exit,"aw" +data: + .section .text.exit,"ax" +text: + .text + .globl _start +_start: + .long data + .section .debug_info + .long 0 + .long text diff --git a/binutils-2.24/ld/testsuite/ld-discard/zero-range.d b/binutils-2.24/ld/testsuite/ld-discard/zero-range.d new file mode 100644 index 0000000..26b709e --- /dev/null +++ b/binutils-2.24/ld/testsuite/ld-discard/zero-range.d @@ -0,0 +1,8 @@ +#source: zero-range.s +#ld: -T discard.ld +#objdump: -s -j .debug_ranges + +.*: file format .*elf.* + +Contents of section .debug_ranges: + 0000 (01)?000000(01)? (01)?000000(01)? 00000000 00000000 .* diff --git a/binutils-2.24/ld/testsuite/ld-discard/zero-range.s b/binutils-2.24/ld/testsuite/ld-discard/zero-range.s new file mode 100644 index 0000000..e16caf4 --- /dev/null +++ b/binutils-2.24/ld/testsuite/ld-discard/zero-range.s @@ -0,0 +1,13 @@ + .text + .globl _start +_start: + + .section .debug_ranges + .long .Ltext + .long .Ltext + 2 + .long 0 + .long 0 + + .section .text.exit,"ax" +.Ltext: + .long 0 diff --git a/binutils-2.24/ld/testsuite/ld-discard/zero-rel.d b/binutils-2.24/ld/testsuite/ld-discard/zero-rel.d new file mode 100644 index 0000000..1f73775 --- /dev/null +++ b/binutils-2.24/ld/testsuite/ld-discard/zero-rel.d @@ -0,0 +1,8 @@ +#source: zero-rel.s +#ld: -T discard.ld +#objdump: -s -j .debug_info + +.*: file format .*elf.* + +Contents of section .debug_info: + 0000 0+( 0+)? +(\.+) .* diff --git a/binutils-2.24/ld/testsuite/ld-discard/zero-rel.s b/binutils-2.24/ld/testsuite/ld-discard/zero-rel.s new file mode 100644 index 0000000..f3f0b3c --- /dev/null +++ b/binutils-2.24/ld/testsuite/ld-discard/zero-rel.s @@ -0,0 +1,11 @@ + .text + .globl _start +_start: + + .section .debug_info + .long .Ltext + .long .Ltext + 2 + + .section .text.exit,"ax" +.Ltext: + .long 0 |