https://gcc.gnu.org/bugzilla/show_bug.cgi?id=88238
Rainer Orth <ro at gcc dot gnu.org> changed: What |Removed |Added ---------------------------------------------------------------------------- Attachment #46309|0 |1 is obsolete| | --- Comment #6 from Rainer Orth <ro at gcc dot gnu.org> --- Created attachment 46331 --> https://gcc.gnu.org/bugzilla/attachment.cgi?id=46331&action=edit Fix libphobos compilation on Solaris 10 (PR d/88238) Apart from a few cleanups and minor bug fixes, this patch adds to the previous version a workaround for the lack of dl_iterate_phdr in 64-bit Solaris 10/SPARC libdl. The function is missing simply due to a packaging mistake: it actually lives in ld.so.1, libdl.so.1 only being a filter on that. Since one cannot link to ld.so.1 directly and getting at dl_iterate_phdr using dlsym fails due to another bug, I'm again using a libgdc_s.so.1 helper library which implements that filter. Since it uses a Solaris ld-specific linker map file, it can only be built with ld directly, not the linker gcc was configured with, and thus not with libtool. The patch consists primarily of additions to DRUNTIME_LIBRARIES_DL_ITERATE_PHDR to detect the situation, the mapfile and libdruntime/Makefile.am code to create the helper lib. It was tested on sparc-sun-solaris2.10 and sparc-sun-solaris2.11 and as in the x86 case, testsuite results between the two are now almost identical. If deemed appropriate, the patch would only go onto the gcc-9 branch since Solaris 10 support on mainline is about to be ripped out.