Use Windows style directory separators when running sysroot tests under MinGW and Cygwin.
* testsuite/ld-scripts/sysroot-prefix.exp (get_base_dir_for_scripts): New function. (run_sysroot_prefix_test): Use get_base_dir_for_scripts.
This commit is contained in:
parent
f902956974
commit
defe6f56b7
|
@ -1,3 +1,9 @@
|
|||
2017-02-15 Igor Kudrin <ikudrin@accesssoftek.com>
|
||||
|
||||
* testsuite/ld-scripts/sysroot-prefix.exp
|
||||
(get_base_dir_for_scripts): New function.
|
||||
(run_sysroot_prefix_test): Use get_base_dir_for_scripts.
|
||||
|
||||
2017-02-13 Palmer Dabbelt <palmer@dabbelt.com>
|
||||
|
||||
* emulparams/elf32lriscv-defs.sh (SDATA_START_SYMBOLS): Change
|
||||
|
|
|
@ -39,6 +39,24 @@ if {$ld_sysroot == "/"} {
|
|||
set with_sysroot 3
|
||||
}
|
||||
|
||||
# The linker on Windows expects Windows style paths.
|
||||
# MSYS2 runtime converts paths in the command line automatically.
|
||||
# However, for our test linker scripts, we have to prepare
|
||||
# the correct paths manually.
|
||||
proc get_base_dir_for_scripts {} {
|
||||
global base_dir
|
||||
global get_base_dir_for_scripts_saved
|
||||
|
||||
if { ![info exists get_base_dir_for_scripts_saved] } {
|
||||
set get_base_dir_for_scripts_saved $base_dir
|
||||
if { ([ishost *-*-cygwin] || [ishost *-*-mingw*] )
|
||||
&& ![catch "exec cygpath -m $base_dir" base_dir_converted] } {
|
||||
set get_base_dir_for_scripts_saved $base_dir_converted
|
||||
}
|
||||
}
|
||||
return $get_base_dir_for_scripts_saved
|
||||
}
|
||||
|
||||
# Entries in the array-tables:
|
||||
# 0: Testtype; an inclusive bitmask indicating that the test should run on a
|
||||
# build configured for: 1: non-sysroot, 2: sysroot != "/", 4: sysroot == "/".
|
||||
|
@ -160,7 +178,7 @@ proc run_sysroot_prefix_test { type name templ p ldopt errstr } {
|
|||
set qlist { { "quoted" "\"" } { "unquoted" {} } }
|
||||
|
||||
regsub -all "@p@" $templ $p templ
|
||||
regsub -all "@cwd@" $templ "$base_dir/tmpdir" templ
|
||||
regsub -all "@cwd@" $templ "[get_base_dir_for_scripts]/tmpdir" templ
|
||||
regsub -all "@cwd@" $ldopt "$base_dir/tmpdir" ldopt
|
||||
regsub -all "@cwd@" $name "<CWD>" name
|
||||
|
||||
|
|
Loading…
Reference in New Issue