# Expect script for run_dump_test based ld-sh tests. # Copyright (C) 2001-2020 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@bitrange.com) # # This file is kept separate from sh.exp, because having it separate # simplifies selective testing, like in "make check-ld # RUNTESTFLAGS=rd-sh.exp=shared-1". It is assumed that sh.exp is a place # for constructs where the name of the test is harder to extract and # select than here. if ![istarget sh*-*-*] { return } set asflags_save "$ASFLAGS" set ldflags_save "$LDFLAGS" set rd_test_list [lsort [glob -nocomplain $srcdir/$subdir/*.d]] foreach shtest $rd_test_list { # We need to strip the ".d", but can leave the dirname. verbose [file rootname $shtest] # vxworks-static.d relies on files created by sh-vxworks.exp. # We run it there instead of here. if { [file tail $shtest] != "vxworks1-static.d" } { run_dump_test [file rootname $shtest] } if [string match $srcdir/$subdir/*-dso.d $shtest] { # Copy the output of the DSO-createing test to .so file. # Notice that a DSO-creating test must precede the tests # which need that DSO in sort-order by name. set cmd "cp tmpdir/dump tmpdir/[file rootname [file tail $shtest]].so" send_log "$cmd\n" set cmdret [catch "exec $cmd" comp_output] send_log "$comp_output\n" # FIXME: What if it fails? Need we do something? } } set ASFLAGS "$asflags_save" set LDFLAGS "$ldflags_save" |