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.

Reply via email to