Hi Richard, On 2/5/20 5:36 PM, Richard Sandiford wrote:
In each case it might be more obvious to use: [list "additional_flags=..."] with no explicit { ... } quoting. The .exp files are supposed to follow the 80 char limit where possible, so there should probably be a line break before [list ...]. OK with those changes, thanks.
I concur that the "[list …" looks nicer. However, the line break does not work: I tried: # Check if the ld used by gcc supports --gc-sections. - set gcc_ld [lindex [${tool}_target_compile "-print-prog-name=ld" "" "none" ""] 0] + set gcc_ld [lindex [${tool}_target_compile "" "" "none" + [list "additional_flags=-print-prog-name=ld"]] 0] And that failed with: …/gcsec-1.c: wrong # args: should be "gcc_target_compile source dest type options" for " dg-require-gc-sections 4 "" " (Trying an hello-world example in tclsh, I can also reproduce it there.) Hence, I have installed the following, which uses the variable $optional for the value. In check_multi_dir, one line is still 87 characters, but that does not help. (At least: It is 5 characters shorter as before.) r10-6475-g101baaee42afe05c3d271925e4d40f0f8f642bd5 Tobias
commit 101baaee42afe05c3d271925e4d40f0f8f642bd5 Author: Tobias Burnus <tob...@codesourcery.com> Date: Thu Feb 6 13:27:45 2020 +0100 [Testsuite] – More fixes for remote execution: check_gc_sections_available, … * gcc.target/arm/multilib.exp (multilib_config): Pass flags to …_target_compile as (additional_flags=) option and not as source filename to make it work with remote execution. * lib/target-supports.exp (check_runtime, check_gc_sections_available, check_effective_target_gas, check_effective_target_gld): Likewise. diff --git a/gcc/testsuite/ChangeLog b/gcc/testsuite/ChangeLog index 7b0b9c2c242..d0955e039b5 100644 --- a/gcc/testsuite/ChangeLog +++ b/gcc/testsuite/ChangeLog @@ -1,3 +1,11 @@ +2020-02-06 Tobias Burnus <tob...@codesourcery.com> + + * gcc.target/arm/multilib.exp (multilib_config): Pass flags to + …_target_compile as (additional_flags=) option and not as source + filename to make it work with remote execution. + * lib/target-supports.exp (check_runtime, check_gc_sections_available, + check_effective_target_gas, check_effective_target_gld): Likewise. + 2020-02-06 Jakub Jelinek <ja...@redhat.com> PR target/93594 diff --git a/gcc/testsuite/gcc.target/arm/multilib.exp b/gcc/testsuite/gcc.target/arm/multilib.exp index 67d00266f6b..17111ee5257 100644 --- a/gcc/testsuite/gcc.target/arm/multilib.exp +++ b/gcc/testsuite/gcc.target/arm/multilib.exp @@ -40,7 +40,8 @@ proc multilib_config {profile} { proc check_multi_dir { gcc_opts multi_dir } { global tool - set gcc_output [${tool}_target_compile "--print-multi-directory $gcc_opts" "" "none" ""] + set options [list "additional_flags=[concat "--print-multi-directory" [gcc_opts]]"] + set gcc_output [${tool}_target_compile "" "" "none" $options] if { [string match "$multi_dir\n" $gcc_output] } { pass "multilibdir $gcc_opts $multi_dir" } else { diff --git a/gcc/testsuite/lib/target-supports.exp b/gcc/testsuite/lib/target-supports.exp index 5377d7b11cb..d3b2798df3e 100644 --- a/gcc/testsuite/lib/target-supports.exp +++ b/gcc/testsuite/lib/target-supports.exp @@ -260,7 +260,8 @@ proc check_runtime {prop args} { proc check_configured_with { pattern } { global tool - set gcc_output [${tool}_target_compile "-v" "" "none" ""] + set options [list "additional_flags=-v"] + set gcc_output [${tool}_target_compile "" "" "none" $options] if { [ regexp "Configured with: \[^\n\]*$pattern" $gcc_output ] } { verbose "Matched: $pattern" 2 return 1 @@ -504,7 +505,8 @@ proc check_gc_sections_available { } { } # Check if the ld used by gcc supports --gc-sections. - set gcc_ld [lindex [${tool}_target_compile "-print-prog-name=ld" "" "none" ""] 0] + set options [list "additional_flags=-print-prog-name=ld"] + set gcc_ld [lindex [${tool}_target_compile "" "" "none" $options] 0] set ld_output [remote_exec host "$gcc_ld" "--help"] if { [ string first "--gc-sections" $ld_output ] >= 0 } { return 1 @@ -8566,7 +8568,8 @@ proc check_effective_target_gas { } { if {![info exists use_gas_saved]} { # Check if the as used by gcc is GNU as. - set gcc_as [lindex [${tool}_target_compile "-print-prog-name=as" "" "none" ""] 0] + set options [list "additional_flags=-print-prog-name=as"] + set gcc_as [lindex [${tool}_target_compile "" "" "none" $options] 0] # Provide /dev/null as input, otherwise gas times out reading from # stdin. set status [remote_exec host "$gcc_as" "-v /dev/null"] @@ -8588,7 +8591,8 @@ proc check_effective_target_gld { } { if {![info exists use_gld_saved]} { # Check if the ld used by gcc is GNU ld. - set gcc_ld [lindex [${tool}_target_compile "-print-prog-name=ld" "" "none" ""] 0] + set options [list "additional_flags=-print-prog-name=ld"] + set gcc_ld [lindex [${tool}_target_compile "" "" "none" $options] 0] set status [remote_exec host "$gcc_ld" "--version"] set ld_output [lindex $status 1] if { [ string first "GNU" $ld_output ] >= 0 } {