https://gcc.gnu.org/bugzilla/show_bug.cgi?id=88238

            Bug ID: 88238
           Summary: libphobos compile problems on Solaris 10
           Product: gcc
           Version: unknown
            Status: UNCONFIRMED
          Severity: normal
          Priority: P3
         Component: d
          Assignee: ibuclaw at gdcproject dot org
          Reporter: ro at gcc dot gnu.org
  Target Milestone: ---
            Target: *-*-solaris2.10

Created attachment 45109
  --> https://gcc.gnu.org/bugzilla/attachment.cgi?id=45109&action=edit
Preliminary hacky patch

Even with

* the patch from PR d/88150 to use sections_elf_shared.d,

* the patch from PR d/87864 to provide minfo bracketing if the linker doesn't,
and

* the patch to link the D runtime libs with -lsocket -lnsl for the networking
  functions from

  https://gcc.gnu.org/ml/gcc-patches/2018-11/msg02248.html

which allow libgdruntime.so and libgphobos.so to link on Solaris 11.3 without
unresolved symbols, there are more on Solaris 10:

* 
        symbol not found: backtrace            
(libdruntime/.libs/libgdruntime.so)
        symbol not found: backtrace_symbols_fd         
(libdruntime/.libs/libgdruntime.so)
        symbol not found: backtrace_symbols            
(libdruntime/.libs/libgdruntime.so)

  Unlike Solaris 11, Solaris 10 lacks the backtrace functions in libc.  When
  trying to use them, this failed because backtrace-supported.h wasn't found 
  during configure.  This is due to an error in m4/druntime/libraries.m4 which
  tries to add to CPPFLAGS with +=, which of course the shell doesn't
understand.

* 

        symbol not found: dl_iterate_phdr              
(libdruntime/.libs/libgdruntime.so)

  Unlike Solaris 11, dl_iterate_phdr support was only backported to a late
  Solaris 10 update and even so only lives in libdl, not in libc.  Not yet
  fixed.

*

        symbol not found: getprogname          
(libdruntime/.libs/libgdruntime.so)

  Solaris 10 lacks getprogname or equivalent; for now I'm faking this by just
  returning "a.out".

*
        symbol not found: posix_memalign               
(src/.libs/libgphobos.so)

  Also missing from Solaris 10.  I've not yet checked what to do here.  One
  might be able to use pagealign_alloc from gnulib instead?

Reply via email to