------- Comment #1 from dnovillo at gcc dot gnu dot org 2009-09-30 19:50 ------- Other portability concerns:
http://gcc.gnu.org/ml/gcc-patches/2009-09/msg02157.html > The host portability issue with __attribute__ ((visibility ("hidden"))) > has already been noted. I suggest conditioning the attributes on defined > (__GNUC__) && defined (__ELF__) - GCC should support the attribute on ELF > hosts, but LTO should also work for ELF targets with non-ELF hosts. and http://gcc.gnu.org/ml/gcc-patches/2009-09/msg02190.html > > The host portability issue with __attribute__ ((visibility ("hidden"))) > > has already been noted. I suggest conditioning the attributes on defined > > (__GNUC__) && defined (__ELF__) - GCC should support the attribute on ELF > > hosts, but LTO should also work for ELF targets with non-ELF hosts. > > Unfortunately, neither is true: older versions of GCC on Solaris 2 didn't > support hidden with the vendor linker. This was only fixed in GCC 4.4.0 > for Solaris 9 and up. And IRIX 6 doesn't support hidden at all: the vendor > linker knows nothing about it; maybe it can be made to work by using GNU > ld, but I'm unsure if rld (runtime linker) support is needed as well. > > Cf. PR bootstrap/39020 and bootstrap/39021. -- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=41526