From cb2bbc673b91b08de12c199259368a05484dbba2 Mon Sep 17 00:00:00 2001
From: Eric Botcazou <ebotcazou@libertysurf.fr>
Date: Tue, 7 Feb 2006 22:57:38 +0100
Subject: [PATCH] libgomp-dg.exp (libgomp_init): Compute multilib-related part
 of LD_LIBRARY_PATH manually.

	* testsuite/lib/libgomp-dg.exp (libgomp_init): Compute multilib-related
	part of LD_LIBRARY_PATH manually.

From-SVN: r110720
---
 libgomp/ChangeLog                    |  5 +++++
 libgomp/testsuite/lib/libgomp-dg.exp | 25 ++++++++++++++++++++-----
 2 files changed, 25 insertions(+), 5 deletions(-)

diff --git a/libgomp/ChangeLog b/libgomp/ChangeLog
index 467629f6184e..5a3878e2d218 100644
--- a/libgomp/ChangeLog
+++ b/libgomp/ChangeLog
@@ -1,3 +1,8 @@
+2006-02-07  Eric Botcazou  <ebotcazou@libertysurf.fr>
+
+	* testsuite/lib/libgomp-dg.exp (libgomp_init): Compute multilib related
+	part of LD_LIBRARY_PATH manually.
+
 2006-02-03  H.J. Lu  <hongjiu.lu@intel.com>
 
 	PR libgomp/25852
diff --git a/libgomp/testsuite/lib/libgomp-dg.exp b/libgomp/testsuite/lib/libgomp-dg.exp
index f6fed67b209c..d064a8012c8a 100644
--- a/libgomp/testsuite/lib/libgomp-dg.exp
+++ b/libgomp/testsuite/lib/libgomp-dg.exp
@@ -94,14 +94,29 @@ proc libgomp_init { args } {
     # Compute what needs to be put into LD_LIBRARY_PATH
     set ld_library_path ".:${blddir}/.libs"
 
-    if {$gccdir != ""} {
-	append ld_library_path ":${gccdir}"
-    }
-
     if { [info exists lang_test_file] && [file exists "${blddir}/"] } {
 	append ld_library_path ":${blddir}/${lang_library_path}"
     }
-    append ld_library_path [gcc-set-multilib-library-path $GCC_UNDER_TEST]
+
+    # Compute what needs to be added to the existing LD_LIBRARY_PATH.
+    if {$gccdir != ""} {
+	append ld_library_path ":${gccdir}"
+	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 ${gccdir}/${mldir}/libgcc_s*.so.*]] >= 1 } {
+	      append ld_library_path ":${gccdir}/${mldir}"
+	    }
+	  }
+	}
+    }
     set_ld_library_path_env_vars
 
     set ALWAYS_CFLAGS ""
-- 
GitLab