aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--libstdc++-v3/ChangeLog7
-rw-r--r--libstdc++-v3/testsuite/lib/libstdc++.exp40
2 files changed, 36 insertions, 11 deletions
diff --git a/libstdc++-v3/ChangeLog b/libstdc++-v3/ChangeLog
index c6d75b9..39fcdb9 100644
--- a/libstdc++-v3/ChangeLog
+++ b/libstdc++-v3/ChangeLog
@@ -1,4 +1,11 @@
2003-12-10 Benjamin Kosnik <bkoz@redhat.com>
+
+ PR libstdc++/6243
+ * testsuite/lib/libstdc++.exp (v3-init): Add
+ original_ld_library_path, calculate ld_library path, set
+ LD_LIBRARY_PATH to both. Based on libjava.exp.
+
+2003-12-10 Benjamin Kosnik <bkoz@redhat.com>
Alexandre Oliva <aoliva@redhat.com>
PR libstdc++/11612
diff --git a/libstdc++-v3/testsuite/lib/libstdc++.exp b/libstdc++-v3/testsuite/lib/libstdc++.exp
index 9ea1acc..9aacdb28 100644
--- a/libstdc++-v3/testsuite/lib/libstdc++.exp
+++ b/libstdc++-v3/testsuite/lib/libstdc++.exp
@@ -46,7 +46,9 @@ proc v3-init { args } {
global cxxflags
global objdir
global gluefile wrap_flags
+ global env
global ld_library_path
+ global original_ld_library_path
global tool_root_dir
set blddir [lookfor_file [get_multilibs] libstdc++-v3]
@@ -59,15 +61,31 @@ proc v3-init { args } {
v3-copy-files [glob -nocomplain "$srcdir/data/*.tst"] $outdir
v3-copy-files [glob -nocomplain "$srcdir/data/*.txt"] $outdir
- # set LD_LIBRARY_PATH so that libgcc_s, libstdc++ binaries can be found.
- # locate libgcc.a so we don't need to account for different values of
+ # Setup LD_LIBRARY_PATH so that libgcc_s, libstdc++ binaries can be found.
+ # Find the existing LD_LIBRARY_PATH.
+ if [info exists env(LD_LIBRARY_PATH)] {
+ set original_ld_library_path $env(LD_LIBRARY_PATH)
+ } else {
+ if [info exists env(SHLIB_PATH)] {
+ set original_ld_library_path $env(SHLIB_PATH)
+ } else {
+ if [info exists env(DYLD_LIBRARY_PATH)] {
+ set original_ld_library_path $env(DYLD_LIBRARY_PATH)
+ } else {
+ set original_ld_library_path ""
+ }
+ }
+ }
+
+ # Locate libgcc.a so we don't need to account for different values of
# SHLIB_EXT on different platforms
set gccdir [lookfor_file $tool_root_dir gcc/libgcc.a]
if {$gccdir != ""} {
set gccdir [file dirname $gccdir]
}
- set ld_library_path "."
+ # Compute what needs to be added to the existing LD_LIBRARY_PATH.
+ set ld_library_path ""
append ld_library_path ":${gccdir}"
set compiler ${gccdir}/g++
if { [is_remote host] == 0 && [which $compiler] != 0 } {
@@ -91,14 +109,14 @@ proc v3-init { args } {
# 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.
- 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_RUN_PATH $ld_library_path
- setenv LD_LIBRARY_PATH_64 $ld_library_path
- setenv DYLD_LIBRARY_PATH $ld_library_path
- verbose -log "Set LD_*_PATHs to ${ld_library_path}"
+ setenv LD_LIBRARY_PATH "$ld_library_path:$original_ld_library_path"
+ setenv SHLIB_PATH "$ld_library_path:$original_ld_library_path"
+ setenv LD_LIBRARYN32_PATH "$ld_library_path:$original_ld_library_path"
+ setenv LD_LIBRARY64_PATH "$ld_library_path:$original_ld_library_path"
+ setenv LD_RUN_PATH "$ld_library_path:$original_ld_library_path"
+ setenv LD_LIBRARY_PATH_64 "$ld_library_path:$original_ld_library_path"
+ setenv DYLD_LIBRARY_PATH "$ld_library_path:$original_ld_library_path"
+ verbose -log "LD_LIBRARY_PATH = $env(LD_LIBRARY_PATH)"
# Do a bunch of handstands and backflips for cross compiling and
# finding simulators...