diff options
Diffstat (limited to 'libffi')
-rw-r--r-- | libffi/ChangeLog | 8 | ||||
-rw-r--r-- | libffi/testsuite/lib/libffi-dg.exp | 25 |
2 files changed, 29 insertions, 4 deletions
diff --git a/libffi/ChangeLog b/libffi/ChangeLog index db0e5e67095..7ba04c24e54 100644 --- a/libffi/ChangeLog +++ b/libffi/ChangeLog @@ -1,3 +1,11 @@ +2009-07-11 Richard Sandiford <rdsandiford@googlemail.com> + + PR testsuite/40699 + PR testsuite/40707 + PR testsuite/40709 + * testsuite/lib/libffi-dg.exp: Revert 2009-07-02, 2009-07-01 and + 2009-06-30 commits. + 2009-07-01 Richard Sandiford <r.sandiford@uk.ibm.com> * testsuite/lib/libffi-dg.exp (libffi-init): Set ld_library_path 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" |