diff options
author | Igor Kudrin <ikudrin@accesssoftek.com> | 2017-02-15 09:13:56 +0000 |
---|---|---|
committer | Nick Clifton <nickc@redhat.com> | 2017-02-15 09:13:56 +0000 |
commit | defe6f56b7c6ff106829ad3271ab9f1d501f4708 (patch) | |
tree | 2b733305a7e8e393fe683d13ca372c4bc39dcc3e /ld/testsuite/ld-scripts/sysroot-prefix.exp | |
parent | f9029569740a8ef2a66b3578fa6c89c0ab62be52 (diff) | |
download | binutils-defe6f56b7c6ff106829ad3271ab9f1d501f4708.zip binutils-defe6f56b7c6ff106829ad3271ab9f1d501f4708.tar.gz binutils-defe6f56b7c6ff106829ad3271ab9f1d501f4708.tar.bz2 |
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.
Diffstat (limited to 'ld/testsuite/ld-scripts/sysroot-prefix.exp')
-rw-r--r-- | ld/testsuite/ld-scripts/sysroot-prefix.exp | 20 |
1 files changed, 19 insertions, 1 deletions
diff --git a/ld/testsuite/ld-scripts/sysroot-prefix.exp b/ld/testsuite/ld-scripts/sysroot-prefix.exp index 2bb67e4..0fc322e 100644 --- a/ld/testsuite/ld-scripts/sysroot-prefix.exp +++ b/ld/testsuite/ld-scripts/sysroot-prefix.exp @@ -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 |