diff options
author | Nathan Sidwell <nathan@codesourcery.com> | 2008-07-06 13:38:37 +0000 |
---|---|---|
committer | Nathan Sidwell <nathan@codesourcery.com> | 2008-07-06 13:38:37 +0000 |
commit | 4006703d71641cd35a045f407a5c8bc85459978b (patch) | |
tree | efdd737568b7398b5dfbebf04eb1538c3144266a /ld/testsuite | |
parent | b56e7235bb83ed5cf86c71db7c9009fd4491bd0d (diff) | |
download | gdb-4006703d71641cd35a045f407a5c8bc85459978b.zip gdb-4006703d71641cd35a045f407a5c8bc85459978b.tar.gz gdb-4006703d71641cd35a045f407a5c8bc85459978b.tar.bz2 |
* ld.texinfo (File Commands): Document that INCLUDE can be used in
several different places.
* ldgram.y (statement, memory_spec, section): Allow INCLUDE.
(memory, memory_spec_list): Simplify BNF
(memory_spec_list_opt): New rule.
* ldlex.l (INCLUDE): Recognize in EXPRESSION.
testsuite/
* ld-scripts/include-1.d: New.
* ld-scripts/include-1.t: New.
* ld-scripts/include-data.t: New.
* ld-scripts/include-mem.t: New.
* ld-scripts/include-ram.t: New.
* ld-scripts/include-sections.t: New.
* ld-scripts/include-subdata.t: New.
* ld-scripts/include.exp: New.
* ld-scripts/include.s: New.
Diffstat (limited to 'ld/testsuite')
-rw-r--r-- | ld/testsuite/ChangeLog | 12 | ||||
-rw-r--r-- | ld/testsuite/ld-scripts/include-1.d | 11 | ||||
-rw-r--r-- | ld/testsuite/ld-scripts/include-1.t | 4 | ||||
-rw-r--r-- | ld/testsuite/ld-scripts/include-data.t | 4 | ||||
-rw-r--r-- | ld/testsuite/ld-scripts/include-mem.t | 5 | ||||
-rw-r--r-- | ld/testsuite/ld-scripts/include-ram.t | 1 | ||||
-rw-r--r-- | ld/testsuite/ld-scripts/include-sections.t | 4 | ||||
-rw-r--r-- | ld/testsuite/ld-scripts/include-subdata.t | 2 | ||||
-rw-r--r-- | ld/testsuite/ld-scripts/include.exp | 35 | ||||
-rw-r--r-- | ld/testsuite/ld-scripts/include.s | 9 |
10 files changed, 87 insertions, 0 deletions
diff --git a/ld/testsuite/ChangeLog b/ld/testsuite/ChangeLog index 34d75e6..1d9610c 100644 --- a/ld/testsuite/ChangeLog +++ b/ld/testsuite/ChangeLog @@ -1,3 +1,15 @@ +2008-07-06 Nathan Sidwell <nathan@codesourcery.com> + + * ld-scripts/include-1.d: New. + * ld-scripts/include-1.t: New. + * ld-scripts/include-data.t: New. + * ld-scripts/include-mem.t: New. + * ld-scripts/include-ram.t: New. + * ld-scripts/include-sections.t: New. + * ld-scripts/include-subdata.t: New. + * ld-scripts/include.exp: New. + * ld-scripts/include.s: New. + 2008-06-29 Andreas Schwab <schwab@suse.de> * ld-m68k/got-1.s: New file. diff --git a/ld/testsuite/ld-scripts/include-1.d b/ld/testsuite/ld-scripts/include-1.d new file mode 100644 index 0000000..fc7617b --- /dev/null +++ b/ld/testsuite/ld-scripts/include-1.d @@ -0,0 +1,11 @@ +# name: include-1 +# source: include.s +# ld: -T include-1.t +# objdump: -w -h + +.*: file format .* + +Sections: +Idx +Name +Size +VMA +LMA +File off +Algn +Flags + 0 .text 0+000000c 0+0000000 0+0000000 [0-9a-f]+ 2\*\*[0-9]+ CONTENTS, ALLOC, LOAD, READONLY, CODE + 1 .data 0+000000c 0+0100000 0+0100000 [0-9a-f]+ 2\*\*[0-9]+ CONTENTS, ALLOC, LOAD, DATA diff --git a/ld/testsuite/ld-scripts/include-1.t b/ld/testsuite/ld-scripts/include-1.t new file mode 100644 index 0000000..cf2f8cd --- /dev/null +++ b/ld/testsuite/ld-scripts/include-1.t @@ -0,0 +1,4 @@ + +INCLUDE include-mem.t +_start = 0x1000; +INCLUDE include-sections.t diff --git a/ld/testsuite/ld-scripts/include-data.t b/ld/testsuite/ld-scripts/include-data.t new file mode 100644 index 0000000..eddbbb3 --- /dev/null +++ b/ld/testsuite/ld-scripts/include-data.t @@ -0,0 +1,4 @@ +.data : { +INCLUDE include-subdata.t +__end = .; +}>ram diff --git a/ld/testsuite/ld-scripts/include-mem.t b/ld/testsuite/ld-scripts/include-mem.t new file mode 100644 index 0000000..8aa65b1 --- /dev/null +++ b/ld/testsuite/ld-scripts/include-mem.t @@ -0,0 +1,5 @@ + +MEMORY { + rom (rwx) : ORIGIN = 0, LENGTH = 0x1000 + INCLUDE include-ram.t +} diff --git a/ld/testsuite/ld-scripts/include-ram.t b/ld/testsuite/ld-scripts/include-ram.t new file mode 100644 index 0000000..f7eaf0e --- /dev/null +++ b/ld/testsuite/ld-scripts/include-ram.t @@ -0,0 +1 @@ +ram (rw) : ORIGIN = 0x100000, LENGTH = 512 diff --git a/ld/testsuite/ld-scripts/include-sections.t b/ld/testsuite/ld-scripts/include-sections.t new file mode 100644 index 0000000..d5e500b --- /dev/null +++ b/ld/testsuite/ld-scripts/include-sections.t @@ -0,0 +1,4 @@ +SECTIONS { + .text : { *(.text) } >rom + INCLUDE include-data.t +} diff --git a/ld/testsuite/ld-scripts/include-subdata.t b/ld/testsuite/ld-scripts/include-subdata.t new file mode 100644 index 0000000..136c9f4 --- /dev/null +++ b/ld/testsuite/ld-scripts/include-subdata.t @@ -0,0 +1,2 @@ + *(.data) + diff --git a/ld/testsuite/ld-scripts/include.exp b/ld/testsuite/ld-scripts/include.exp new file mode 100644 index 0000000..3c73c6b --- /dev/null +++ b/ld/testsuite/ld-scripts/include.exp @@ -0,0 +1,35 @@ +# Test for proper diagnosis of overflowed memory regions. +# Copyright 2008 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. + +load_lib ld-lib.exp + +set old_ldflags $LDFLAGS +if { [istarget spu*-*-*] } { + set LDFLAGS "$LDFLAGS --no-overlays" +} + +set test_list [lsort [glob -nocomplain $srcdir/$subdir/include*.d]] +foreach test_file $test_list { + set test_name [file rootname $test_file] + set map_file "tmpdir/[file tail $test_name].map" + verbose $test_name + run_dump_test $test_name +} +set LDFLAGS $old_ldflags diff --git a/ld/testsuite/ld-scripts/include.s b/ld/testsuite/ld-scripts/include.s new file mode 100644 index 0000000..bf12fbe --- /dev/null +++ b/ld/testsuite/ld-scripts/include.s @@ -0,0 +1,9 @@ + .section .text, "ax", "progbits" + .4byte 0x11223344 + .4byte 0x55667788 + .4byte 0x99aabbcc + + .section .data, "aw", "progbits" + .4byte 0x01020304 + .4byte 0x05060708 + .4byte 0x090a0b0c |