Hi Jakub,

> Bootstrapped/regtested on x86_64-linux, i686-linux and sparc-sun-solaris2.11
>
> On the last one I've actually checked a version which had
> defined(_GLIBCXX_SYMVER_SUN) next to defined(_GLIBCXX_SYMVER_GNU), but
> init_priority attribute doesn't seem to be supported there and so I couldn't
> actually test how this works there.  Using gas and Sun ld, Rainer, does one
> need to use gas + gld for init_priority or something else?

it's complicated, as usual ;-)  While Solaris 11.3 ld has basic
.init_priority etc. support, it doesn't know about priorities, so the
support is disabled.  This is what you see on gcc211 in the cfarm.

Solaris 11.4 ld on the other hand added everything to make the configure
test work, so HAVE_INITFINI_ARRAY_SUPPORT is enabled.  Unfortunately,
there's still PR c++/52477 (dup of PR c++/81337) where g++ makes
unwarranted assumptions which happen to hold on Linux/glibc (only?), but
often break other targets (Solaris, Darwin, FreeBSD) in unexpected
places (like libsanitizer).  I've made at least two attempts at a fix
which got me nowhere, so I'm considering disabling
HAVE_INITFINI_ARRAY_SUPPORT on Solaris for good.  This is purely a g++
issue, clang++ gets this right.

        Rainer

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

Reply via email to