https://gcc.gnu.org/g:7f2bba0d2d08219e79ab6ba543be42ccdb37a760

commit r17-2449-g7f2bba0d2d08219e79ab6ba543be42ccdb37a760
Author: Arsen Arsenović <[email protected]>
Date:   Sat Jun 20 19:05:58 2026 +0200

    libstdc++: Fix LD_LIBRARY_PATH when testing an installed compiler
    
    Previously, none would be set, so an installed compiler that does not
    emit an RPATH to its libraries would not be able to execute programs
    that require libstdc++.so symbols.
    
    libstdc++-v3/ChangeLog:
    
            * testsuite/lib/libstdc++.exp (libstdc++_init): Use
            gcc-set-multilib-library-path to calculate LD_LIBRARY_PATH for
            installed G++ compilers.

Diff:
---
 libstdc++-v3/testsuite/lib/libstdc++.exp | 12 +++++++-----
 1 file changed, 7 insertions(+), 5 deletions(-)

diff --git a/libstdc++-v3/testsuite/lib/libstdc++.exp 
b/libstdc++-v3/testsuite/lib/libstdc++.exp
index b44c240fa526..d1e40524c19b 100644
--- a/libstdc++-v3/testsuite/lib/libstdc++.exp
+++ b/libstdc++-v3/testsuite/lib/libstdc++.exp
@@ -75,6 +75,7 @@ load_gcc_lib timeout.exp
 load_gcc_lib timeout-dg.exp
 load_gcc_lib wrapper.exp
 load_gcc_lib target-utils.exp
+load_gcc_lib gcc-defs.exp
 load_gcc_lib dg-test-cleanup.exp
 
 # Useful for debugging.  Pass the name of a variable and the verbosity
@@ -247,13 +248,14 @@ proc libstdc++_init { testfile } {
            }
          }
        }
-
-       set_ld_library_path_env_vars
-       if [info exists env(LD_LIBRARY_PATH)] {
-         verbose -log "LD_LIBRARY_PATH = $env(LD_LIBRARY_PATH)"
-       }
     } else {
        set compiler [transform "g++"]
+       append ld_library_path [gcc-set-multilib-library-path $compiler]
+    }
+
+    set_ld_library_path_env_vars
+    if [info exists env(LD_LIBRARY_PATH)] {
+       verbose -log "LD_LIBRARY_PATH = $env(LD_LIBRARY_PATH)"
     }
 
     # Set the default timeout for v3 tests.

Reply via email to