From 9ac60f77d2f96cadacd8787de5cd5381e0252239 Mon Sep 17 00:00:00 2001 From: Thomas Schwinge Date: Wed, 30 Oct 2019 12:51:15 +0100 Subject: [PATCH] [LIBPHOBOS] Fix multi-lib RUNTESTFLAGS handling Testing libphobos fails for multi-lib configs: $ make check-target-libphobos RUNTESTFLAGS="--target_board=unix\{-m32,\}" fails for every 32bit execution, because the host libgcc_s.so is used which is not the correct version: spawn [open ...] ./test_aa.exe: /lib/i386-linux-gnu/libgcc_s.so.1: version `GCC_7.0.0' not found (required by ./test_aa.exe) FAIL: libphobos.aa/test_aa.d execution test This can be fixed by adding a few lines from libstdc++/testsuite/lib/libstdc++.exp to libphobos/testsuite/lib/libphobos.exp Backport trunk r275332: libphobos/ 2019-09-03 Bernd Edlinger * testsuite/lib/libphobos.exp (libphobos_init): Add multi-lib libgcc dirs to the ld_library_path var. From-SVN: r277611 --- libphobos/ChangeLog | 9 +++++++++ libphobos/testsuite/lib/libphobos.exp | 19 +++++++++++++++++++ 2 files changed, 28 insertions(+) diff --git a/libphobos/ChangeLog b/libphobos/ChangeLog index 24de0ab9bd8..becd8b1ec86 100644 --- a/libphobos/ChangeLog +++ b/libphobos/ChangeLog @@ -1,3 +1,12 @@ +2019-10-30 Thomas Schwinge + + Backport from trunk: + + 2019-09-03 Bernd Edlinger + + * testsuite/lib/libphobos.exp (libphobos_init): Add multi-lib libgcc + dirs to the ld_library_path var. + 2019-08-12 Release Manager * GCC 9.2.0 released. diff --git a/libphobos/testsuite/lib/libphobos.exp b/libphobos/testsuite/lib/libphobos.exp index d3fe75358c8..056e8f1d444 100644 --- a/libphobos/testsuite/lib/libphobos.exp +++ b/libphobos/testsuite/lib/libphobos.exp @@ -170,6 +170,25 @@ proc libphobos_init { args } { append ld_library_path ":${blddir}/src/.libs" } + # Compute what needs to be added to the existing LD_LIBRARY_PATH. + if {$gccdir != ""} { + set compiler ${gccdir}/gdc + + 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 libphobos_maybe_build_wrapper "${objdir}/testglue.o"