The visibility attribute was actually added in gcc 3.3.x, not 4.0.
Just assume that if -fvisibility=hidden works that the attribute is usable.
This commit is contained in:
@@ -115,6 +115,9 @@
|
|||||||
/* Define to 1 if you have the `dlopen' function. */
|
/* Define to 1 if you have the `dlopen' function. */
|
||||||
#undef HAVE_DLOPEN
|
#undef HAVE_DLOPEN
|
||||||
|
|
||||||
|
/* Define to 1 if the compiler supports the __visibility__ attribute. */
|
||||||
|
#undef HAVE_DSO_VISIBILITY
|
||||||
|
|
||||||
/* Define to 1 if your system has the F_CLOSEM fcntl. */
|
/* Define to 1 if your system has the F_CLOSEM fcntl. */
|
||||||
#undef HAVE_FCNTL_CLOSEM
|
#undef HAVE_FCNTL_CLOSEM
|
||||||
|
|
||||||
|
3
configure
vendored
3
configure
vendored
@@ -20110,6 +20110,8 @@ eval ac_res=\$$as_CACHEVAR
|
|||||||
$as_echo "$ac_res" >&6; }
|
$as_echo "$ac_res" >&6; }
|
||||||
if test x"`eval 'as_val=${'$as_CACHEVAR'};$as_echo "$as_val"'`" = xyes; then :
|
if test x"`eval 'as_val=${'$as_CACHEVAR'};$as_echo "$as_val"'`" = xyes; then :
|
||||||
|
|
||||||
|
$as_echo "#define HAVE_DSO_VISIBILITY 1" >>confdefs.h
|
||||||
|
|
||||||
CFLAGS="${CFLAGS} -fvisibility=hidden"
|
CFLAGS="${CFLAGS} -fvisibility=hidden"
|
||||||
LTEXP="#"
|
LTEXP="#"
|
||||||
|
|
||||||
@@ -22740,5 +22742,6 @@ fi
|
|||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
@@ -3173,6 +3173,7 @@ dnl into fatal errors (and there is no way to undo that)
|
|||||||
dnl
|
dnl
|
||||||
AC_LANG_WERROR
|
AC_LANG_WERROR
|
||||||
AX_CHECK_COMPILE_FLAG([-fvisibility=hidden], [
|
AX_CHECK_COMPILE_FLAG([-fvisibility=hidden], [
|
||||||
|
AC_DEFINE(HAVE_DSO_VISIBILITY)
|
||||||
CFLAGS="${CFLAGS} -fvisibility=hidden"
|
CFLAGS="${CFLAGS} -fvisibility=hidden"
|
||||||
LTEXP="#"
|
LTEXP="#"
|
||||||
])
|
])
|
||||||
@@ -3460,6 +3461,7 @@ AH_TEMPLATE(RTLD_PRELOAD_VAR, [The environment variable that controls preloading
|
|||||||
AH_TEMPLATE(RTLD_PRELOAD_ENABLE_VAR, [An extra environment variable that is required to enable preloading (if any).])
|
AH_TEMPLATE(RTLD_PRELOAD_ENABLE_VAR, [An extra environment variable that is required to enable preloading (if any).])
|
||||||
AH_TEMPLATE(RTLD_PRELOAD_DELIM, [The delimiter to use when defining multiple preloaded objects.])
|
AH_TEMPLATE(RTLD_PRELOAD_DELIM, [The delimiter to use when defining multiple preloaded objects.])
|
||||||
AH_TEMPLATE(RTLD_PRELOAD_DEFAULT, [The default value of preloaded objects (if any).])
|
AH_TEMPLATE(RTLD_PRELOAD_DEFAULT, [The default value of preloaded objects (if any).])
|
||||||
|
AH_TEMPLATE(HAVE_DSO_VISIBILITY, [Define to 1 if the compiler supports the __visibility__ attribute.])
|
||||||
|
|
||||||
dnl
|
dnl
|
||||||
dnl Bits to copy verbatim into config.h.in
|
dnl Bits to copy verbatim into config.h.in
|
||||||
|
@@ -53,7 +53,7 @@
|
|||||||
#endif
|
#endif
|
||||||
|
|
||||||
#ifndef __dso_public
|
#ifndef __dso_public
|
||||||
# if __GNUC_PREREQ__(4, 0)
|
# ifdef HAVE_DSO_VISIBILITY
|
||||||
# define __dso_public __attribute__((__visibility__("default")))
|
# define __dso_public __attribute__((__visibility__("default")))
|
||||||
# define __dso_hidden __attribute__((__visibility__("hidden")))
|
# define __dso_hidden __attribute__((__visibility__("hidden")))
|
||||||
# else
|
# else
|
||||||
|
Reference in New Issue
Block a user