From f4aa644dbbbde8c97f41c8abfbb7925c2242e31f Mon Sep 17 00:00:00 2001
From: Iain Sandoe <iain@sandoe.co.uk>
Date: Sat, 27 Jan 2024 15:50:15 +0000
Subject: [PATCH] testsuite, libphobos: Update link flags [PR112864].

The regressions here are primarily from duplicated '-B' additions.

We remove the duplicate on the link line.
We also make sure that platforms with extensions other than .so for
shared libs will have the correct paths.

	PR target/112864

libphobos/ChangeLog:

	* testsuite/lib/libphobos.exp: Use ${shlib_ext} instead of
	hard-wiring '.so'.
	* testsuite/testsuite_flags.in: Remove duplicate -B option
	for spec file path.
---
 libphobos/testsuite/lib/libphobos.exp  | 2 +-
 libphobos/testsuite/testsuite_flags.in | 8 +++-----
 2 files changed, 4 insertions(+), 6 deletions(-)

diff --git a/libphobos/testsuite/lib/libphobos.exp b/libphobos/testsuite/lib/libphobos.exp
index 191cafa534d8..d4aa433ddc14 100644
--- a/libphobos/testsuite/lib/libphobos.exp
+++ b/libphobos/testsuite/lib/libphobos.exp
@@ -234,7 +234,7 @@ proc libphobos_init { args } {
 	    if { "$mldir" == "." } {
 	      continue
 	    }
-	    if { [llength [glob -nocomplain ${gccdir}/${mldir}/libgcc_s*.so.*]] >= 1 } {
+	    if { [llength [glob -nocomplain ${gccdir}/${mldir}/libgcc_s*.${shlib_ext}*]] >= 1 } {
 	      append ld_library_path ":${gccdir}/${mldir}"
 	    }
 	  }
diff --git a/libphobos/testsuite/testsuite_flags.in b/libphobos/testsuite/testsuite_flags.in
index 528cff4bf13e..84af947e8ab0 100755
--- a/libphobos/testsuite/testsuite_flags.in
+++ b/libphobos/testsuite/testsuite_flags.in
@@ -36,8 +36,7 @@ case ${query} in
       ;;
     --gdcpaths)
       GDCPATHS_default="-nostdinc"
-      GDCPATHS_config="-B${BUILD_DIR}/src
-                       -I${BUILD_DIR}/libdruntime
+      GDCPATHS_config="-I${BUILD_DIR}/libdruntime
                        -I${SRC_DIR}/libdruntime"
       # Include phobos in search path if compiling in library.
       if [ "x@ENABLE_LIBDRUNTIME_ONLY_FALSE@" = "x" ]; then
@@ -47,9 +46,8 @@ case ${query} in
       ;;
     --gdcldflags)
       GDCLDFLAGS="-B${BUILD_DIR}/src
-                  -B${BUILD_DIR}/libdruntime/gcc
-                  -B${BUILD_DIR}/src/.libs
-                  -L${BUILD_DIR}/src/.libs"
+		  -B${BUILD_DIR}/libdruntime/gcc
+                  -B${BUILD_DIR}/src/.libs"
       echo ${GDCLDFLAGS}
       ;;
     *)
-- 
GitLab