diff --git a/libjava/ChangeLog b/libjava/ChangeLog
index 1f26c2b6b26953905a9104c1e751620c0cdd031e..acbdf3a5ce8ec8d47d927dea8a1ab693cc8b46d6 100644
--- a/libjava/ChangeLog
+++ b/libjava/ChangeLog
@@ -1,3 +1,9 @@
+2004-11-25  John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
+
+	* testsuite/lib/libjava.exp (libjava_arguments): Add new global
+	variable libjava_ld_library_path.
+	(gcj_invoke, libjava_invoke): Use it to set ld_library_path.
+
 2004-11-25  Bryce McKinlay  <mckinlay@redhat.com>
 
 	* java/util/ResourceBundle.java (BundleKey): Don't implement
diff --git a/libjava/testsuite/lib/libjava.exp b/libjava/testsuite/lib/libjava.exp
index 955f68ae4c2940377e5dc758be7c8c0630480cf8..62b1f46949ad33294872001ec3451550f313ea0d 100644
--- a/libjava/testsuite/lib/libjava.exp
+++ b/libjava/testsuite/lib/libjava.exp
@@ -323,6 +323,7 @@ proc libjava_arguments {{mode compile}} {
     global tool_root_dir
     global libgcj_jar
     global libjava_libgcc_s_path
+    global libjava_ld_library_path
     global ld_library_path
     global target_triplet
 
@@ -338,7 +339,7 @@ proc libjava_arguments {{mode compile}} {
     # Basically we want to build up a colon separated path list from
     # the value of $libjava.
 
-    set lpath {}
+    set lpath "."
     foreach dir [list $libjava] {
 	foreach item [split $dir " "] {
 	    switch -glob -- $item {
@@ -352,6 +353,7 @@ proc libjava_arguments {{mode compile}} {
     set lpath [concat $lpath $libjava_libgcc_s_path]
     verbose "lpath = $lpath ; libgcc_s_path = $libjava_libgcc_s_path"
     set ld_library_path [join $lpath :]
+    set libjava_ld_library_path "$ld_library_path"
 
     # That's enough to make things work for the normal case.
     # If we wanted to handle an arbitrary value of libjava,
@@ -453,9 +455,10 @@ proc gcj_link {program main files {options {}}} {
 # Invoke the program and see what happens.  Return 0 on failure.
 proc gcj_invoke {program expectFile ld_library_additions} {
   global env
+  global libjava_ld_library_path
   global ld_library_path
 
-  set ld_library_path .
+  set ld_library_path "$libjava_ld_library_path"
   if {[llength $ld_library_additions] > 0} {
     append ld_library_path :[join $ld_library_additions :]
   }
@@ -498,9 +501,10 @@ proc gcj_invoke {program expectFile ld_library_additions} {
 proc libjava_invoke {errname testName optName executable inpfile resultfile
 		      ld_library_additions args} {
     global env
+    global libjava_ld_library_path
     global ld_library_path
 
-    set ld_library_path .
+    set ld_library_path "$libjava_ld_library_path"
     if {[llength $ld_library_additions] > 0} {
 	append ld_library_path :[join $ld_library_additions :]
     }