This is the mail archive of the
gcc-patches@gcc.gnu.org
mailing list for the GCC project.
Re: PATCH: other/17466: Testsuites in gcc override LD_LIBRARY_PATH
On Wed, Nov 17, 2004 at 08:02:17PM -0500, Andrew Pinski wrote:
>
> On Nov 17, 2004, at 7:56 PM, H. J. Lu wrote:
>
> >I updated the patch. We don't need to set LD_LIBRARY_PATH in
> >lib/gcc-dg.exp. We should do it in lib/gcc.exp for C. Other
> >languages set it themselves.
> >
> >
> >H.J.
> >---
> >2004-11-17 H.J. Lu <hongjiu.lu@intel.com>
> >
> > PR other/17466:
> > * lib/gcc-defs.exp (${tool}_set_ld_library_path): New procedure.
> > * g++.dg/compat/compat.exp (ld_library_path): Renamed to
> > gcc_ld_library_path.
> > (compat-fix-library-path): Removed.
> > (compat-use-alt-compiler): Call ${tool}_set_ld_library_path to
> > switch library path.
> > (compat-use-tst-compiler): Likewise.
> > * lib/g++.exp (g++_link_flags): Don't use global
> > ld_library_path. Call ${tool}_set_ld_library_path to set up
> > LD_LIBRARY_PATH, SHLIB_PATH, LD_LIBRARYN32_PATH,
> > LD_LIBRARY64_PATH, LD_LIBRARY_PATH_32, LD_LIBRARY_PATH_64 and
> > DYLD_LIBRARY_PATH.
> > * lib/gcc.exp (gcc_init): Likewise.
> > * lib/gfortran.exp (gfortran_link_flags): Likewise.
> > * lib/objc.exp (objc_target_compile): Likewise.
> > * lib/gcc-dg.exp: Don't set LD_LIBRARY_PATH, SHLIB_PATH,
> > LD_LIBRARYN32_PATH, LD_LIBRARY64_PATH, LD_LIBRARY_PATH_32,
> > LD_LIBRARY_PATH_64 and DYLD_LIBRARY_PATH.
>
> You also forgot about treelang and also the library testsuites.
This is the new patch. We don't need to duplicate code for searching
the gcc shared library directory.
As for the library testsuites, did you mean
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=17789
Patch is trivial. But noone has looked at my patch and I have asked
several times.
H.J.
-----
2004-11-17 H.J. Lu <hongjiu.lu@intel.com>
PR other/17466:
* g++.dg/compat/compat.exp (ld_library_path): Renamed to
gcc_ld_library_path.
(compat-fix-library-path): Removed.
(compat-use-alt-compiler): Call ${tool}_set_ld_library_path to
switch library path.
(compat-use-tst-compiler): Likewise.
* lib/g++.exp (g++_link_flags): Don't use global
ld_library_path. Use ${libgcc_s_path} for gcc shared library
directory. Call ${tool}_set_ld_library_path.
* lib/gfortran.exp (gfortran_link_flags): Likewise.
* lib/objc.exp (objc_target_compile): Likewise.
* lib/treelang.exp (treelang_target_compile): Likewise.
* lib/gcc-defs.exp (${tool}_set_ld_library_path): New procedure
to set up LD_LIBRARY_PATH, SHLIB_PATH, LD_LIBRARYN32_PATH,
LD_LIBRARY64_PATH, LD_LIBRARY_PATH_32, LD_LIBRARY_PATH_64 and
DYLD_LIBRARY_PATH. Set libgcc_s_path.
* lib/gcc.exp (gcc_init): Call gcc_set_ld_library_path with
$libgcc_s_path.
* lib/gcc-dg.exp: Don't set LD_LIBRARY_PATH, SHLIB_PATH,
LD_LIBRARYN32_PATH, LD_LIBRARY64_PATH, LD_LIBRARY_PATH_32,
LD_LIBRARY_PATH_64 and DYLD_LIBRARY_PATH.
--- gcc/testsuite/g++.dg/compat/compat.exp.shlib 2004-02-03 10:16:15.000000000 -0800
+++ gcc/testsuite/g++.dg/compat/compat.exp 2004-11-17 12:12:39.000000000 -0800
@@ -30,40 +30,22 @@ if $tracelevel then {
}
global GXX_UNDER_TEST
-global ld_library_path
+global gcc_ld_library_path
# Load procedures from common libraries.
load_lib standard.exp
load_lib g++.exp
#
-# compat-fix-library-path -- switch LD_LIBRARY_PATH
-#
-proc compat-fix-library-path { } {
- global ld_library_path
-
- # See comments in lib/g++.exp for why this is needed.
- if {![is_remote target]} {
- # See comments in lib/g++.exp for why this is needed.
- setenv LD_LIBRARY_PATH $ld_library_path
- setenv SHLIB_PATH $ld_library_path
- setenv LD_LIBRARYN32_PATH $ld_library_path
- setenv LD_LIBRARY64_PATH $ld_library_path
- setenv LD_LIBRARY_PATH_32 $ld_library_path
- setenv LD_LIBRARY_PATH_64 $ld_library_path
- setenv DYLD_LIBRARY_PATH $ld_library_path
- }
-}
-
-#
# compat-use-alt-compiler -- make the alternate compiler the default
#
proc compat-use-alt-compiler { } {
global GXX_UNDER_TEST ALT_CXX_UNDER_TEST
global CXXFLAGS
global ALWAYS_CXXFLAGS
- global ld_library_path alt_ld_library_path
+ global alt_ld_library_path
global same_alt
+ global tool
# We don't need to do this if the alternate compiler is actually
# the same as the compiler under test.
@@ -71,8 +53,7 @@ proc compat-use-alt-compiler { } {
set GXX_UNDER_TEST $ALT_CXX_UNDER_TEST
set CXXFLAGS ""
set ALWAYS_CXXFLAGS ""
- set ld_library_path $alt_ld_library_path
- compat-fix-library-path
+ ${tool}_set_ld_library_path $alt_ld_library_path
}
}
@@ -83,8 +64,9 @@ proc compat-use-tst-compiler { } {
global GXX_UNDER_TEST save_gxx_under_test
global CXXFLAGS save_cxxflags
global ALWAYS_CXXFLAGS save_always_cxxflags
- global ld_library_path save_ld_library_path
+ global save_ld_library_path
global same_alt
+ global tool
# We don't need to do this if the alternate compiler is actually
# the same as the compiler under test.
@@ -93,8 +75,7 @@ proc compat-use-tst-compiler { } {
set GXX_UNDER_TEST $save_gxx_under_test
set CXXFLAGS $save_cxxflags
set ALWAYS_CXXFLAGS $save_always_cxxflags
- set ld_library_path $save_ld_library_path
- compat-fix-library-path
+ ${tool}_set_ld_library_path $save_ld_library_path
}
}
@@ -109,7 +90,7 @@ g++_init
set save_gxx_under_test $GXX_UNDER_TEST
set save_cxxflags $CXXFLAGS
set save_always_cxxflags $ALWAYS_CXXFLAGS
-set save_ld_library_path $ld_library_path
+set save_ld_library_path $gcc_ld_library_path
# Define an identifier for use with this suite to avoid name conflicts
# with other compat tests running at the same time.
--- gcc/testsuite/lib/g++.exp.shlib 2004-11-16 10:13:59.000000000 -0800
+++ gcc/testsuite/lib/g++.exp 2004-11-17 22:31:12.104616090 -0800
@@ -96,9 +96,9 @@ proc g++_include_flags { paths } {
#
proc g++_link_flags { paths } {
- global rootme
+ global libgcc_s_path
global srcdir
- global ld_library_path
+ global tool
global GXX_UNDER_TEST
set gccpath ${paths}
@@ -128,21 +128,7 @@ proc g++_link_flags { paths } {
if [file exists "${gccpath}/librx/librx.a"] {
append flags "-L${gccpath}/librx "
}
- append ld_library_path ":${rootme}"
- set compiler [lindex $GXX_UNDER_TEST 0]
- 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 ${rootme}/${mldir}/libgcc_s*.so.*]] >= 1 } {
- append ld_library_path ":${rootme}/${mldir}"
- }
- }
- }
+ append ld_library_path ":${libgcc_s_path}"
} else {
global tool_root_dir;
@@ -166,36 +152,7 @@ proc g++_link_flags { paths } {
}
}
- # On IRIX 6, we have to set variables akin to LD_LIBRARY_PATH, but
- # called LD_LIBRARYN32_PATH (for the N32 ABI) and LD_LIBRARY64_PATH
- # (for the 64-bit ABI). The right way to do this would be to modify
- # unix.exp -- but that's not an option since it's part of DejaGNU
- # proper, so we do it here.
- # The same applies to Darwin (DYLD_LIBRARY_PATH), Solaris 32 bit
- # (LD_LIBRARY_PATH_32), Solaris 64 bit (LD_LIBRARY_PATH_64), and HP-UX
- # (SHLIB_PATH).
- # Doing this does cause trouble when testing cross-compilers.
- if {![is_remote target]} {
- global env;
- if [info exists env(LD_LIBRARY_PATH)] {
- # If we've already added these directories once, keep the
- # existing path.
- if {$ld_library_path == $env(LD_LIBRARY_PATH)
- || [string first $ld_library_path: \
- $env(LD_LIBRARY_PATH)] == 0} {
- set ld_library_path $env(LD_LIBRARY_PATH)
- } elseif { $env(LD_LIBRARY_PATH) != "" } {
- append ld_library_path ":$env(LD_LIBRARY_PATH)"
- }
- }
- setenv LD_LIBRARY_PATH $ld_library_path
- setenv SHLIB_PATH $ld_library_path
- setenv LD_LIBRARYN32_PATH $ld_library_path
- setenv LD_LIBRARY64_PATH $ld_library_path
- setenv LD_LIBRARY_PATH_32 $ld_library_path
- setenv LD_LIBRARY_PATH_64 $ld_library_path
- setenv DYLD_LIBRARY_PATH $ld_library_path
- }
+ ${tool}_set_ld_library_path $ld_library_path
return "$flags"
}
--- gcc/testsuite/lib/gcc-defs.exp.shlib 2004-09-13 15:36:13.000000000 -0700
+++ gcc/testsuite/lib/gcc-defs.exp 2004-11-17 22:30:19.212442722 -0800
@@ -15,6 +15,7 @@
# Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
load_lib wrapper.exp
+load_lib libgloss.exp
#
# ${tool}_check_compile -- Reports and returns pass/fail for a compilation
@@ -219,3 +220,60 @@ proc dg-additional-files-options { optio
return $options
}
+
+proc ${tool}_set_ld_library_path { ld_library_path } {
+ # On IRIX 6, we have to set variables akin to LD_LIBRARY_PATH, but
+ # called LD_LIBRARYN32_PATH (for the N32 ABI) and LD_LIBRARY64_PATH
+ # (for the 64-bit ABI). The right way to do this would be to modify
+ # unix.exp -- but that's not an option since it's part of DejaGNU
+ # proper, so we do it here. We really only need to do
+ # this on IRIX, but it shouldn't hurt to do it anywhere else.
+ # The same applies to darwin (DYLD_LIBRARY_PATH), solaris 32 bit
+ # (LD_LIBRARY_PATH_32), solaris 64 bit (LD_LIBRARY_PATH_64), and
+ # HP-UX (SHLIB_PATH). Doing this does cause trouble when testing
+ # cross-compilers.
+ if {![is_remote target]} {
+ # Save the longest path for g++.dg/compat/compat.exp
+ global gcc_ld_library_path
+ set gcc_ld_library_path ""
+ set ld_path "LD_LIBRARY_PATH SHLIB_PATH LD_LIBRARYN32_PATH LD_LIBRARY64_PATH LD_LIBRARY_PATH_32 LD_LIBRARY_PATH_64 DYLD_LIBRARY_PATH"
+ foreach path $ld_path {
+ if [info exists env($path)] {
+ # If we've already added these directories once, keep
+ # the existing path.
+ if {$ld_library_path != $env($path)
+ && [string first $ld_library_path: $env($path)] != 0} {
+ setenv $path "$ld_library_path:$env($path)"
+ if {[string length "$ld_library_path:$env($path)"] > [string length $gcc_ld_library_path]} {
+ set gcc_ld_library_path "$ld_library_path:$env($path)"
+ }
+ }
+ } else {
+ setenv $path "$ld_library_path"
+ }
+ }
+ if {$gcc_ld_library_path == ""} {
+ set gcc_ld_library_path "$ld_library_path"
+ }
+ }
+}
+
+
+# libgcc_s_path -- the gcc shared library directory.
+global rootme
+global libgcc_s_path
+set libgcc_s_path "${rootme}"
+set compiler [lindex [find_gcc] 0]
+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 ${rootme}/${mldir}/libgcc_s*.so.*]] >= 1 } {
+ append libgcc_s_path ":${rootme}/${mldir}"
+ }
+ }
+}
--- gcc/testsuite/lib/gcc-dg.exp.shlib 2004-11-17 09:39:31.000000000 -0800
+++ gcc/testsuite/lib/gcc-dg.exp 2004-11-17 22:28:13.644649374 -0800
@@ -20,7 +20,6 @@ load_lib target-supports.exp
load_lib scanasm.exp
load_lib scantree.exp
load_lib prune.exp
-load_lib libgloss.exp
# We set LC_ALL and LANG to C so that we get the same error messages as expected.
setenv LC_ALL C
@@ -45,63 +44,6 @@ if ![info exists TORTURE_OPTIONS] {
{ -Os } ]
}
-global GCC_UNDER_TEST
-if ![info exists GCC_UNDER_TEST] {
- set GCC_UNDER_TEST "[find_gcc]"
-}
-
-global rootme
-set libgcc_s_path "${rootme}"
-set compiler [lindex $GCC_UNDER_TEST 0]
-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 ${rootme}/${mldir}/libgcc_s*.so.*]] >= 1 } {
- append libgcc_s_path ":${rootme}/${mldir}"
- }
- }
-}
-
-# On IRIX 6, we have to set variables akin to LD_LIBRARY_PATH, but
-# called LD_LIBRARYN32_PATH (for the N32 ABI) and LD_LIBRARY64_PATH
-# (for the 64-bit ABI). The right way to do this would be to modify
-# unix.exp -- but that's not an option since it's part of DejaGNU
-# proper, so we do it here. We really only need to do
-# this on IRIX, but it shouldn't hurt to do it anywhere else.
-# Doing this does cause trouble when testing cross-compilers.
-if {![is_remote target]} {
- if [info exists env(LD_LIBRARY_PATH)] {
- setenv LD_LIBRARY_PATH "$libgcc_s_path:$env(LD_LIBRARY_PATH)"
- } else {
- setenv LD_LIBRARY_PATH $libgcc_s_path
- }
- if [info exists env(SHLIB_PATH)] {
- setenv SHLIB_PATH "$libgcc_s_path:$env(SHLIB_PATH)"
- } else {
- setenv SHLIB_PATH $libgcc_s_path
- }
- if [info exists env(LD_LIBRARYN32_PATH)] {
- setenv LD_LIBRARYN32_PATH "$libgcc_s_path:$env(LD_LIBRARYN32_PATH)"
- } else {
- setenv LD_LIBRARYN32_PATH $libgcc_s_path
- }
- if [info exists env(LD_LIBRARY64_PATH)] {
- setenv LD_LIBRARY64_PATH "$libgcc_s_path:$env(LD_LIBRARY64_PATH)"
- } else {
- setenv LD_LIBRARY64_PATH $libgcc_s_path
- }
- if [info exists env(DYLD_LIBRARY_PATH)] {
- setenv DYLD_LIBRARY_PATH "$libgcc_s_path:$env(DYLD_LIBRARY_PATH)"
- } else {
- setenv DYLD_LIBRARY_PATH $libgcc_s_path
- }
-}
-
# Split TORTURE_OPTIONS into two choices: one for testcases with loops and
# one for testcases without loops.
--- gcc/testsuite/lib/gcc.exp.shlib 2004-09-13 15:36:13.000000000 -0700
+++ gcc/testsuite/lib/gcc.exp 2004-11-17 22:23:21.498355805 -0800
@@ -92,6 +92,7 @@ proc gcc_init { args } {
global gcc_initialized
global GCC_UNDER_TEST
global TOOL_EXECUTABLE
+ global libgcc_s_path
if { $gcc_initialized == 1 } { return; }
@@ -108,6 +109,8 @@ proc gcc_init { args } {
}
gcc_maybe_build_wrapper "${tmpdir}/gcc-testglue.o"
+
+ gcc_set_ld_library_path $libgcc_s_path
}
#
--- gcc/testsuite/lib/gfortran.exp.shlib 2004-11-16 10:13:59.000000000 -0800
+++ gcc/testsuite/lib/gfortran.exp 2004-11-17 22:31:30.341262342 -0800
@@ -72,9 +72,9 @@ proc gfortran_version { } {
#
proc gfortran_link_flags { paths } {
- global rootme
+ global libgcc_s_path
global srcdir
- global ld_library_path
+ global tool
global GFORTRAN_UNDER_TEST
set gccpath ${paths}
@@ -93,53 +93,10 @@ proc gfortran_link_flags { paths } {
if [file exists "${gccpath}/libiberty/libiberty.a"] {
append flags "-L${gccpath}/libiberty "
}
- append ld_library_path ":${rootme}"
- set compiler [lindex $GFORTRAN_UNDER_TEST 0]
- 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 ${rootme}/${mldir}/libgcc_s*.so.*]] >= 1 } {
- append ld_library_path ":${rootme}/${mldir}"
- }
- }
- }
+ append ld_library_path ":${libgcc_s_path}"
}
- # On IRIX 6, we have to set variables akin to LD_LIBRARY_PATH, but
- # called LD_LIBRARYN32_PATH (for the N32 ABI) and LD_LIBRARY64_PATH
- # (for the 64-bit ABI). The right way to do this would be to modify
- # unix.exp -- but that's not an option since it's part of DejaGNU
- # proper, so we do it here.
- # The same applies to Darwin (DYLD_LIBRARY_PATH), Solaris 32 bit
- # (LD_LIBRARY_PATH_32), Solaris 64 bit (LD_LIBRARY_PATH_64), and HP-UX
- # (SHLIB_PATH).
- # Doing this does cause trouble when testing cross-compilers.
- if {![is_remote target]} {
- global env;
- if [info exists env(LD_LIBRARY_PATH)] {
- # If we've already added these directories once, keep the
- # existing path.
- if {$ld_library_path == $env(LD_LIBRARY_PATH)
- || [string first $ld_library_path: \
- $env(LD_LIBRARY_PATH)] == 0} {
- set ld_library_path $env(LD_LIBRARY_PATH)
- } elseif { $env(LD_LIBRARY_PATH) != "" } {
- append ld_library_path ":$env(LD_LIBRARY_PATH)"
- }
- }
- setenv LD_LIBRARY_PATH $ld_library_path
- setenv SHLIB_PATH $ld_library_path
- setenv LD_LIBRARYN32_PATH $ld_library_path
- setenv LD_LIBRARY64_PATH $ld_library_path
- setenv LD_LIBRARY_PATH_32 $ld_library_path
- setenv LD_LIBRARY_PATH_64 $ld_library_path
- setenv DYLD_LIBRARY_PATH $ld_library_path
- }
+ ${tool}_set_ld_library_path $ld_library_path
return "$flags"
}
--- gcc/testsuite/lib/objc.exp.shlib 2004-11-16 10:13:59.000000000 -0800
+++ gcc/testsuite/lib/objc.exp 2004-11-17 22:33:11.177247749 -0800
@@ -85,14 +85,12 @@ proc objc_version { } {
set objc_initialized 0
proc objc_init { args } {
- global rootme
global tmpdir
global libdir
global gluefile wrap_flags
global objc_initialized
global OBJC_UNDER_TEST
global TOOL_EXECUTABLE
- global objc_libgcc_s_path
# We set LC_ALL and LANG to C so that we get the same error messages as expected.
setenv LC_ALL C
@@ -113,22 +111,6 @@ proc objc_init { args } {
}
objc_maybe_build_wrapper "${tmpdir}/objc-testglue.o"
-
- set objc_libgcc_s_path "${rootme}"
- set compiler [lindex $OBJC_UNDER_TEST 0]
- 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 ${rootme}/${mldir}/libgcc_s*.so.*]] >= 1 } {
- append objc_libgcc_s_path ":${rootme}/${mldir}"
- }
- }
- }
}
proc objc_target_compile { source dest type options } {
@@ -138,10 +120,10 @@ proc objc_target_compile { source dest t
global srcdir
global OBJC_UNDER_TEST
global TOOL_OPTIONS
- global ld_library_path
- global objc_libgcc_s_path
+ global tool
+ global libgcc_s_path
- set ld_library_path ".:${objc_libgcc_s_path}"
+ set ld_library_path ".:${libgcc_s_path}"
lappend options "libs=-lobjc"
if { [target_info needs_status_wrapper]!="" && [info exists gluefile] } {
@@ -187,21 +169,7 @@ proc objc_target_compile { source dest t
}
lappend options "compiler=$OBJC_UNDER_TEST"
- # On IRIX 6, we have to set variables akin to LD_LIBRARY_PATH, but
- # called LD_LIBRARYN32_PATH (for the N32 ABI) and LD_LIBRARY64_PATH
- # (for the 64-bit ABI). The right way to do this would be to modify
- # unix.exp -- but that's not an option since it's part of DejaGNU
- # proper, so we do it here.
- # The same applies to Darwin (DYLD_LIBRARY_PATH), Solaris 32 bit
- # (LD_LIBRARY_PATH_32), Solaris 64 bit (LD_LIBRARY_PATH_64), and HP-UX
- # (SHLIB_PATH).
- setenv LD_LIBRARY_PATH $ld_library_path
- setenv SHLIB_PATH $ld_library_path
- setenv LD_LIBRARYN32_PATH $ld_library_path
- setenv LD_LIBRARY64_PATH $ld_library_path
- setenv LD_LIBRARY_PATH_32 $ld_library_path
- setenv LD_LIBRARY_PATH_64 $ld_library_path
- setenv DYLD_LIBRARY_PATH $ld_library_path
+ ${tool}_set_ld_library_path $ld_library_path
return [target_compile $source $dest $type $options]
}
--- gcc/testsuite/lib/treelang.exp.shlib 2004-11-16 10:13:59.000000000 -0800
+++ gcc/testsuite/lib/treelang.exp 2004-11-17 22:46:41.054129059 -0800
@@ -89,7 +89,6 @@ proc treelang_init { args } {
global treelang_initialized
global TREELANG_UNDER_TEST
global TOOL_EXECUTABLE
- global treelang_libgcc_s_path
# We set LC_ALL and LANG to C so that we get the same error messages as expected.
@@ -112,22 +111,6 @@ proc treelang_init { args } {
}
treelang_maybe_build_wrapper "${tmpdir}/treelang-testglue.o"
-
- set treelang_libgcc_s_path "${rootme}"
- set compiler [lindex $TREELANG_UNDER_TEST 0]
- 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 ${rootme}/${mldir}/libgcc_s*.so.*]] >= 1 } {
- append treelang_libgcc_s_path ":${rootme}/${mldir}"
- }
- }
- }
}
proc treelang_target_compile { source dest type options } {
@@ -137,10 +120,10 @@ proc treelang_target_compile { source de
global srcdir
global TREELANG_UNDER_TEST
global TOOL_OPTIONS
- global ld_library_path
- global treelang_libgcc_s_path
+ global libgcc_s_path
+
+ ${tool}_set_ld_library_path ".:${libgcc_s_path}"
- set ld_library_path ".:${treelang_libgcc_s_path}"
lappend options "libs=-ltreelang"
if { [target_info needs_status_wrapper]!="" && [info exists gluefile] } {
>