From: Alan Modra Date: Thu, 18 Feb 2021 10:18:16 +0000 (+1030) Subject: Include ld-lib.exp from ctf-lib.exp X-Git-Url: https://git.libre-soc.org/?a=commitdiff_plain;h=c3bf9dc5aa3f9be3369e5ab364111d5e0c8567bd;p=binutils-gdb.git Include ld-lib.exp from ctf-lib.exp * testsuite/config/default.exp (ld_L_opt): Define. * testsuite/lib/ctf-lib.exp (load_common_lib): Delete. Instead load ld-lib.exp. (run_host_cmd, run_host_cmd_yesno, check_compiler_available): Delete. (compile_one_cc, check_ctf_available): Delete. --- diff --git a/libctf/ChangeLog b/libctf/ChangeLog index cf529038d70..7a69476b9a9 100644 --- a/libctf/ChangeLog +++ b/libctf/ChangeLog @@ -1,3 +1,11 @@ +2021-02-20 Alan Modra + + * testsuite/config/default.exp (ld_L_opt): Define. + * testsuite/lib/ctf-lib.exp (load_common_lib): Delete. Instead load + ld-lib.exp. + (run_host_cmd, run_host_cmd_yesno, check_compiler_available): Delete. + (compile_one_cc, check_ctf_available): Delete. + 2021-02-03 Nick Alcock * configure.ac (ac_cv_libctf_bfd_elf): Include string.h. diff --git a/libctf/testsuite/config/default.exp b/libctf/testsuite/config/default.exp index d14f66025b4..32e882d0fef 100644 --- a/libctf/testsuite/config/default.exp +++ b/libctf/testsuite/config/default.exp @@ -41,6 +41,7 @@ if {![file isdirectory tmpdir/libctf]} then { catch "exec ln -s ../../../gas/as-new tmpdir/libctf/as" status } set gcc_B_opt "-B[pwd]/tmpdir/libctf/" +set ld_L_opt "" # The "make check" target in the Makefile passes in # "CC=$(CC_FOR_TARGET)". But, if the user invokes runtest directly, diff --git a/libctf/testsuite/lib/ctf-lib.exp b/libctf/testsuite/lib/ctf-lib.exp index c2959ee0759..2f1742c8755 100644 --- a/libctf/testsuite/lib/ctf-lib.exp +++ b/libctf/testsuite/lib/ctf-lib.exp @@ -18,12 +18,7 @@ # Foundation, Inc., 51 Franklin Street - Fifth Floor, Boston, # MA 02110-1301, USA. -proc load_common_lib { name } { - global srcdir - load_file $srcdir/../../binutils/testsuite/lib/$name -} - -load_common_lib binutils-common.exp +load_file $srcdir/../../ld/testsuite/lib/ld-lib.exp proc run_native_host_cmd { command } { global link_output @@ -51,124 +46,6 @@ proc run_native_host_cmd { command } { return "$run_output" } -proc run_host_cmd { prog command } { - global link_output - global gcc_B_opt - global gcc_ld_B_opt_tested - global ld - - if { ![is_remote host] && [which "$prog"] == 0 } then { - perror "$prog does not exist" - return 0 - } - - # If we are compiling with gcc, we want to add gcc_B_opt to flags. However, - # if $prog already has -B options, which might be the case when running gcc - # out of a build directory, we want our -B options to come first. - set gccexe $prog - set gccparm [string first " " $gccexe] - set gccflags "" - if { $gccparm > 0 } then { - set gccflags [string range $gccexe $gccparm end] - set gccexe [string range $gccexe 0 $gccparm] - set prog $gccexe - } - set gccexe [string replace $gccexe 0 [string last "/" $gccexe] ""] - if {[string match "*cc*" $gccexe] || [string match "*++*" $gccexe]} then { - set gccflags "$gcc_B_opt $gccflags" - if {![info exists gcc_ld_B_opt_tested]} { - set gcc_ld_B_opt_tested 1 - set ld_version_message [run_host_cmd "$ld" "--version"] - set gcc_ld_version_message [run_host_cmd "$prog" "$gccflags -Wl,--version"] - if {[string first $ld_version_message $gcc_ld_version_message] < 0} { - perror "************************************************************************" - perror "Your compiler driver ignores -B when choosing ld." - perror "You will not be testing the new ld in many of the following tests." - set gcc_ld_version [run_host_cmd "$prog" "$gccflags --print-prog-name=ld"] - if {![string match "" $gcc_ld_version] && ![string match "ld" $gcc_ld_version]} { - perror "It seems you will be testing $gcc_ld_version instead." - } - perror "************************************************************************" - } - } - } - - verbose -log "$prog $gccflags $command" - set status [remote_exec host [concat sh -c [list "$prog $gccflags $command 2>&1"]] "" "/dev/null" "libctf.tmp"] - remote_upload host "libctf.tmp" - set run_output [file_contents "libctf.tmp"] - regsub "\n$" $run_output "" run_output - if { [lindex $status 0] != 0 && [string match "" $run_output] } then { - append run_output "child process exited abnormally" - } - remote_file build delete libctf.tmp - remote_file host delete libctf.tmp - - if [string match "" $run_output] then { - return "" - } - - verbose -log "$run_output" - return "$run_output" -} - -proc run_host_cmd_yesno { prog command } { - global exec_output - global errcnt warncnt - - set exec_output [prune_warnings [run_host_cmd "$prog" "$command"]] - # Ignore error and warning. - set errcnt 0 - set warncnt 0 - if [string match "" $exec_output] then { - return 1; - } - return 0; -} - -# Return true if we can build a program with the compiler. -# On some targets, CC might be defined, but libraries and startup -# code might be missing or require special options that the ld test -# harness doesn't know about. - -proc check_compiler_available { } { - global compiler_available_saved - global CC - - if {![info exists compiler_available_saved]} { - if { [which $CC] == 0 } { - set compiler_available_saved 0 - return 0 - } - - set flags "" - if [board_info [target_info name] exists cflags] { - append flags " [board_info [target_info name] cflags]" - } - if [board_info [target_info name] exists ldflags] { - append flags " [board_info [target_info name] ldflags]" - } - - set basename "tmpdir/compiler[pid]" - set src ${basename}.c - set output ${basename}.out - set f [open $src "w"] - puts $f "int main (void)" - puts $f "{" - puts $f " return 0; " - puts $f "}" - close $f - if [is_remote host] { - set src [remote_download host $src] - } - set compiler_available_saved [run_host_cmd_yesno "$CC" "$flags $src -o $output"] - remote_file host delete $src - remote_file host delete $output - file delete $src - } - return $compiler_available_saved -} - # Compile and link a C source file for execution on the host. proc compile_link_one_host_cc { src output additional_args } { global CC_FOR_HOST @@ -177,25 +54,6 @@ proc compile_link_one_host_cc { src output additional_args } { return [run_native_host_cmd "./libtool --quiet --tag=CC --mode=link $CC_FOR_HOST $CFLAGS $src -o $output $additional_args" ] } -# Compile a C source file, with the specified additional_flags. -proc compile_one_cc { src output additional_flags } { - global CC - global CFLAGS - - set flags "" - if [board_info [target_info name] exists cflags] { - append flags " [board_info [target_info name] cflags]" - } - if [board_info [target_info name] exists ldflags] { - append flags " [board_info [target_info name] ldflags]" - } - - if [is_remote host] { - set src [remote_download host $src] - } - return [run_host_cmd "$CC" "$flags $CFLAGS $additional_flags $src -o $output"] -} - # run_lookup_test FILE # # Compile with the host compiler and link a .c file into a "lookup" binary, then @@ -234,7 +92,7 @@ proc compile_one_cc { src output additional_flags } { # Assemble the file SOURCE.c and pass it to the LOOKUP program. # # nonshared: -# If set, do not link with -shared. +# If set, do not link with -shared. # # link: # If set, link the SOURCE together even if only one file is specified. @@ -393,31 +251,3 @@ proc run_lookup_test { name } { pass $testname return 0 } - -# Returns true if the target compiler supports -gt -proc check_ctf_available { } { - global ctf_available_saved - - if {![info exists ctf_available_saved]} { - if { ![check_compiler_available] } { - set ctf_available_saved 0 - } else { - set basename "tmpdir/ctf_available[pid]" - set src ${basename}.c - set output ${basename}.o - set f [open $src "w"] - puts $f "int main() { return 0; }" - close $f - set comp_output [compile_one_cc $src $output "-gt -c"] - if { $comp_output == ""} { - set ctf_available_saved 1 - } else { - set ctf_available_saved 0 - } - remote_file host delete $src - remote_file host delete $output - file delete $src - } - } - return $ctf_available_saved -}