Fix libphobos testsuite failures on Solaris

Rainer Orth ro@CeBiTec.Uni-Bielefeld.DE
Tue Feb 19 12:46:00 GMT 2019


Hi Iain,

> On Tue, 29 Jan 2019 at 15:44, Rainer Orth <ro@cebitec.uni-bielefeld.de> wrote:
>>
>> Yet another trivial fix for a Solaris libphobos testsuite failure:
>>
>> FAIL: libphobos.shared/load.d -shared-libphobos -ldl (test for excess errors)
>> Excess errors:
>> /vol/gcc/src/hg/trunk/local/libphobos/testsuite/libphobos.shared/load.d:9:
>> error: static assert "unimplemented"
>>
>> I guess this is obvious?  Tested on i386-pc-solaris2.11.  Ok for
>> mainline?
>>
>
> Looks ok.
>
> As the OS-specific bindings are only imported for RTLD_NOLOAD, this
> could be made explicit in the static assert.
>
> ---
> import core.sys.posix.dlfcn;
>
> version (DragonFlyBSD) import core.sys.dragonflybsd.dlfcn : RTLD_NOLOAD;
> version (FreeBSD) import core.sys.freebsd.dlfcn : RTLD_NOLOAD;
> version (linux) import core.sys.linux.dlfcn : RTLD_NOLOAD;
> version (NetBSD) import core.sys.netbsd.dlfcn : RTLD_NOLOAD;
> version (OSX) import core.sys.darwin.dlfcn : RTLD_NOLOAD;
> version (Solaris) import core.sys.solaris.dlfcn : RTLD_NOLOAD;
>
> static assert(__traits(compiles, RTLD_NOLOAD), "unimplemented");
> ---

indeed, that's certainly clearer.  Here's what I've committed after
testing on Linux/x86_64 (all libphobos.shared tests continue to pass)
and Solaris 11.5/x86 with dlpi_tls_modid (load.d compiles, but fails at
runtime as before:

core.exception.AssertError@/vol/gcc/src/hg/trunk/solaris-asan/libphobos/testsuite/libphobos.shared/load.d(147): Assertion failure

That's the same dlclose issue as discussed in PR d/88150 and the
gcc-patches thread starting at

	https://gcc.gnu.org/ml/gcc-patches/2019-01/msg01661.html

	Rainer

-- 
-----------------------------------------------------------------------------
Rainer Orth, Center for Biotechnology, Bielefeld University


2019-02-19  Iain Buclaw  <ibuclaw@gdcproject.org>

	* testsuite/libphobos.shared/load.d: Import core.sys.posix.dlfcn.
	[DragonFlyBSD, FreeBSD, linux, NetBSD, OSX, Solaris]: Import only
	RTLD_NOLOAD from core.sys.*.dlfcn.
	Assert RTLD_NOLOAD is available.

-------------- next part --------------
A non-text attachment was scrubbed...
Name: sol2-libphobos-testsuite.patch
Type: text/x-patch
Size: 1156 bytes
Desc: not available
URL: <http://gcc.gnu.org/pipermail/gcc-patches/attachments/20190219/a76b8c9d/attachment.bin>


More information about the Gcc-patches mailing list