Hi! Just for posterity.
On 2019-04-20T23:22:31+0200, Iain Buclaw <ibuc...@gdcproject.org> wrote: > On Sat, 20 Apr 2019 at 22:30, Thomas Schwinge <tho...@codesourcery.com> wrote: >> On Tue, 18 Sep 2018 02:39:46 +0200, Iain Buclaw <ibuc...@gdcproject.org> >> wrote: >> > This patch adds the configure and make files used for building D >> > runtime and Phobos. As well as running all unittests and the >> > testsuite. >> >> With a x86_64-pc-linux-gnu build, I've noticed breakage in '-m32' >> multilib testing, made apparent by message: "[...]: >> /lib/i386-linux-gnu/libgcc_s.so.1: version `GCC_7.0.0' not found >> (required by [...])". (That is, the system 'libgcc_s.so.1' being >> dynamically linked instead of the just built one.) This is because of >> incomplete 'gccdir' setup in the '*.exp' file. In such a multilibbed >> configuration, there are 'build-gcc/gcc/libgcc.*' and >> 'build-gcc/gcc/32/libgcc.*' (for example); for '-m32' multilib testing, >> paths need to be set up to point to the latter instead of the former. It >> seems as if some of this '*.exp' stuff has been copied from libffi (?); >> the attached patch copies the missing pieces from there, too. I've been >> tempted to commit this "as obvious", but then thought I'll still get some >> review/approval first. If approving this patch, please respond with >> "Reviewed-by: NAME <EMAIL>" so that your effort will be recorded in the >> commit log, see <https://gcc.gnu.org/wiki/Reviewed-by>. > > Seems reasonable to me. I didn't get this committed promptly -- and in the mean time (what's half a year, eh?), Bernd addressed the same issue: <http://mid.mail-archive.com/AM6PR10MB2566B6AD3CAA9BEF6CA99C9DE4B90@AM6PR10MB2566.EURPRD10.PROD.OUTLOOK.COM>. There remain a few incremental changes from his committed to my originally proposed version (see attached), but I'm not committing that now, as it's not affecting test results, and refactoring all the '*.exp' files, unifying what has been copied from elsewhere, is a (big) task for another day (weeks...). Grüße Thomas
From 0bd05a08a98a95d56b4b469dd6e68d485e70ab69 Mon Sep 17 00:00:00 2001 From: Thomas Schwinge <tschw...@mentor.com> Date: Fri, 4 Oct 2019 13:06:08 +0200 Subject: [PATCH] Fix libphobos testsuite libgcc multilib search path (remaining pieces) Changes similar to my original ones have already been committed in r275332. --- libphobos/testsuite/lib/libphobos.exp | 21 ++++++++++++++++++--- 1 file changed, 18 insertions(+), 3 deletions(-) diff --git a/libphobos/testsuite/lib/libphobos.exp b/libphobos/testsuite/lib/libphobos.exp index 056e8f1d444..866090656c6 100644 --- a/libphobos/testsuite/lib/libphobos.exp +++ b/libphobos/testsuite/lib/libphobos.exp @@ -106,6 +106,15 @@ proc libphobos_init { args } { global gluefile wrap_flags global ld_library_path global DEFAULT_DFLAGS + global GCC_UNDER_TEST + + if ![info exists GCC_UNDER_TEST] then { + if [info exists TOOL_EXECUTABLE] { + set GCC_UNDER_TEST $TOOL_EXECUTABLE + } else { + set GCC_UNDER_TEST "[find_gcc]" + } + } # If a testcase doesn't have special options, use these. if ![info exists DEFAULT_DFLAGS] then { @@ -153,13 +162,14 @@ proc libphobos_init { args } { set exeext $env(EXEEXT) } - # Compute what needs to be added to the existing LD_LIBRARY_PATH. + # Compute what needs to be put into LD_LIBRARY_PATH set ld_library_path "." + # Locate libgcc.a so we don't need to account for different values of + # SHLIB_EXT on different platforms set gccdir [lookfor_file $tool_root_dir gcc/libgcc.a] if {$gccdir != ""} { set gccdir [file dirname $gccdir] - append ld_library_path ":${gccdir}" } if { [file exists "${blddir}/libdruntime/.libs/libgdruntime.${shlib_ext}"] } { @@ -172,7 +182,12 @@ proc libphobos_init { args } { # Compute what needs to be added to the existing LD_LIBRARY_PATH. if {$gccdir != ""} { - set compiler ${gccdir}/gdc + # Add AIX pthread directory first. + if { [llength [glob -nocomplain ${gccdir}/pthread/libgcc_s*.a]] >= 1 } { + append ld_library_path ":${gccdir}/pthread" + } + 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]" { -- 2.17.1
signature.asc
Description: PGP signature