summaryrefslogtreecommitdiff
path: root/libffi/testsuite
diff options
context:
space:
mode:
Diffstat (limited to 'libffi/testsuite')
-rw-r--r--libffi/testsuite/lib/libffi-dg.exp25
1 files changed, 21 insertions, 4 deletions
diff --git a/libffi/testsuite/lib/libffi-dg.exp b/libffi/testsuite/lib/libffi-dg.exp
index a5e23e28953..8db38c286a8 100644
--- a/libffi/testsuite/lib/libffi-dg.exp
+++ b/libffi/testsuite/lib/libffi-dg.exp
@@ -107,16 +107,33 @@ proc libffi-init { args } {
set blddircxx [lookfor_file [get_multilibs] libstdc++-v3]
verbose "libstdc++ $blddircxx"
- set ld_library_path ""
set gccdir [lookfor_file $tool_root_dir gcc/libgcc.a]
if {$gccdir != ""} {
set gccdir [file dirname $gccdir]
- add_path ld_library_path [find_libgcc_s "$gccdir/xgcc"]
+ }
+ verbose "gccdir $gccdir"
+
+ set ld_library_path "."
+ append ld_library_path ":${gccdir}"
+
+ set compiler "${gccdir}/xgcc"
+ if { [is_remote host] == 0 && [which $compiler] != 0 } {
+ foreach i "[exec $compiler --print-multi-lib]" {
+ set mldir ""
+ regexp -- "\[a-z0-9=_/\.-\]*;" $i mldir
+ set mldir [string trimright $mldir "\;@"]
+ if { "$mldir" == "." } {
+ continue
+ }
+ if { [llength [glob -nocomplain ${gccdir}/${mldir}/libgcc_s*.so.*]] >= 1 } {
+ append ld_library_path ":${gccdir}/${mldir}"
+ }
+ }
}
# add the library path for libffi.
- add_path ld_library_path "${blddirffi}/.libs"
+ append ld_library_path ":${blddirffi}/.libs"
# add the library path for libstdc++ as well.
- add_path ld_library_path "${blddircxx}/src/.libs"
+ append ld_library_path ":${blddircxx}/src/.libs"
verbose "ld_library_path: $ld_library_path"