diff options
author | Nathan Sidwell <nathan@codesourcery.com> | 2007-05-24 09:24:09 +0000 |
---|---|---|
committer | Nathan Sidwell <nathan@codesourcery.com> | 2007-05-24 09:24:09 +0000 |
commit | 8545d1a9dd556efc7950409426bd70d439fa43d8 (patch) | |
tree | 86699d55d009b454b4e0120f2e133efc39d55f09 /ld/testsuite/ld-scripts/extern.exp | |
parent | 01be46b59d2e1078ccc0e69a3d5853b9d39a882b (diff) | |
download | gdb-8545d1a9dd556efc7950409426bd70d439fa43d8.zip gdb-8545d1a9dd556efc7950409426bd70d439fa43d8.tar.gz gdb-8545d1a9dd556efc7950409426bd70d439fa43d8.tar.bz2 |
* ldlex.l: ASSERT is recognized in SCRIPT env. NAMES cannot
contain commas in EXP env.
* ldgram.y (extern_name_list): Push to EXP env, move body to ...
(extern_name_list_body): ... here.
(script_file, ifile_list): Reformat.
(statement): Add ASSERT.
testsuite:
* ld-scripts/assert.t: Add additional cases.
* ld-scripts/extern.t, ld-scripts/extern.s,
ld-scripts/extern.exp: New.
Diffstat (limited to 'ld/testsuite/ld-scripts/extern.exp')
-rw-r--r-- | ld/testsuite/ld-scripts/extern.exp | 68 |
1 files changed, 68 insertions, 0 deletions
diff --git a/ld/testsuite/ld-scripts/extern.exp b/ld/testsuite/ld-scripts/extern.exp new file mode 100644 index 0000000..a613a75 --- /dev/null +++ b/ld/testsuite/ld-scripts/extern.exp @@ -0,0 +1,68 @@ +# Test EXTERN in a linker script. +# By Nathan Sidwell, CodeSourcery LLC +# Copyright 2007 +# 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., 51 Franklin Street - Fifth Floor, Boston, MA 02110-1301, USA. + +set testname "EXTERN" + +if ![ld_assemble $as $srcdir/$subdir/extern.s tmpdir/extern.o] { + unresolved $testname + return +} + +if ![ld_simple_link $ld tmpdir/extern "-T $srcdir/$subdir/extern.t tmpdir/extern.o"] { + fail $testname +} + +if ![ld_nm $nm "" tmpdir/extern] { + unresolved $testname + return +} + +if {![info exists nm_output(sym1)] || $nm_output(sym1) != 1} { + send_log "sym1 wrong\n" + verbose "sym1 wrong" + fail $testname + return +} + +if {![info exists nm_output(sym2)] || $nm_output(sym2) != 2} { + send_log "sym1 wrong\n" + verbose "sym1 wrong" + fail $testname + return +} +if {![info exists nm_output(sym3)] || $nm_output(sym3) != 3} { + send_log "sym1 wrong\n" + verbose "sym1 wrong" + fail $testname + return +} +if {![info exists nm_output(sym4)] || $nm_output(sym4) != 4} { + send_log "sym1 wrong\n" + verbose "sym1 wrong" + fail $testname + return +} +if {![info exists nm_output(sym5)] || $nm_output(sym5) != 5} { + send_log "sym1 wrong\n" + verbose "sym1 wrong" + fail $testname + return +} + +pass $testname |