On 01/03/15 21:05, Alan Coopersmith wrote: > On 03/ 1/15 10:57 AM, Emil Velikov wrote: >> On 01/03/15 18:30, Matt Turner wrote: >>> On Sun, Mar 1, 2015 at 6:09 AM, Marc Dietrich <marvi...@gmx.de> wrote: >>>> This patch simplifies the visibility compiler flag detection in >>>> configure and >>>> makes it more generic to also support compilers other than gcc. >>> >>> This simplification relies on the assumption that compilers support >>> -fvisibility=... if and only if they support >>> attribute(visibility("...")). >>> >> Hmm you're correct. I've naively assumed they both go hand in hand. > > The latest Solaris Studio compilers support attribute(visibility), but > not -fvisibility. The absolute latest (12.4, released a few months back) > also support the clang has_attribute() extension for checking what's > supported (which is one of the reasons it's used in the X11/Xfuncproto.h > header in xproto 7.0.27 & later). > Ouch... so I was quite naive indeed.
So here are some interesting bits: - HAVE_FUNC_ATTRIBUTE_VISIBILITY is likely to be undefined (0) with Solaris Studio compilers, as the m4 macro checks for __attribute__((visibility("default"))); __attribute__((visibility("hidden"))); __attribute__((visibility("internal"))); __attribute__((visibility("protected"))); As the last one does not appear in the 12.4 C User's Guide (linked below) the compiler will likely error/warn. Perhaps we can nuke the latter two, as they are unused presently, and add them back when needed ? - Considering the lack of -fvisibility, what is the normal visibility "level" - hidden or default ? If the latter this means that every library/module built exports a ton of internal symbols. - Using the __has_attribute macro looks great, although I would suspect that it will take a while for GCC and others to adopt(?). Thanks for the insightful input Alan. -Emil > https://docs.oracle.com/cd/E37069_01/html/E37074/gjzke.html > https://docs.oracle.com/cd/E37069_01/html/E37074/gopqx.html > http://cgit.freedesktop.org/xorg/proto/x11proto/commit/?id=ffd4a13042d24cb5c913207585191801a9a1603e > > _______________________________________________ mesa-dev mailing list mesa-dev@lists.freedesktop.org http://lists.freedesktop.org/mailman/listinfo/mesa-dev