On Tue, 19 Feb 2019 at 13:58, Rainer Orth <r...@cebitec.uni-bielefeld.de> wrote: > > Hi Iain, > > >> Thanks. This will have to wait for > >> > >> [libphobos] Use sections_elf_shared.d on Solaris 11.5 (PR d/88150) > >> https://gcc.gnu.org/ml/gcc-patches/2019-01/msg01661.html > > > > I'll make a fork of sections support tonight, as that seems to be the > > right way forwards. > > > > Other parts will need upstreaming, I can do that as well. > > that would be great, thanks. > > >> and > >> [libphobos] Work around lack of dlpi_tls_modid before Solaris 11.5 > >> https://gcc.gnu.org/ml/gcc-patches/2019-01/msg01664.html > >> > > > > Johannes has already commented there, and he is right about needing a > > way to get tls data from DSOs. > > Understood. Maybe I can find a way to generalize the hack derived from > sections_ldc.d to TLS segments outside the executable. > > >> of course. Maybe even > >> > >> [libphobos] Work around Solaris ld bug linking __tls_get_addr on > >> 64-bit x86 > >> https://gcc.gnu.org/ml/gcc-patches/2019-01/msg01663.html > >> > >> will be needed depending on whether a proper ld fix makes it into > >> Solaris 11.5 or not. > > > > I'm not sure about this, but haven't looked at it properly just yet. > > I don't think you need concern yourself with this very much: it's just a > hack around a Solaris ld bug, suggested by the Solaris linker engineers > for the moment. Once the dlpi_tls_modid patch lands in Solaris 11.5 > (this week or next), I'll ask if they see a chance to have that bug > fixed in time for the Solaris 11.5 release. If so, nobody besides > myself will ever be exposed to this issue. >
I've just given building gcc a try in an OpenIndiana VM, and get the following: ld: fatal: option -z has illegal argument 'relax=transtls' ld: fatal: flags processing errors collect2: error: ld returned 1 exit status $ ld --version ld: Software Generation Utilities - Solaris Link Editors: 5.11-1.1756 (illumos) My fatal mistake of course was not configuring with --with-ld=/usr/gnu/bin/ld, however it is notable that not all Solaris linkers support this relax=transtls option. -- Iain