aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rwxr-xr-xconfigure5
-rw-r--r--configure.ac5
2 files changed, 10 insertions, 0 deletions
diff --git a/configure b/configure
index f325bd85b88..67ddeb87c86 100755
--- a/configure
+++ b/configure
@@ -7101,6 +7101,11 @@ if test x"$pgac_cv_prog_CXX_cxxflags__qvisibility_hidden" = x"yes"; then
fi
have_visibility_attribute=$pgac_cv_prog_CC_cflags__qvisibility_hidden
+ # Old xlc versions (<13.1) don't have support for -qvisibility. Use expfull to force
+ # all extension module symbols to be exported.
+ if test "$pgac_cv_prog_CC_cflags__qvisibility_hidden" != "yes"; then
+ CFLAGS_SL_MODULE="$CFLAGS_SL_MODULE -Wl,-b,expfull"
+ fi
fi
if test "$have_visibility_attribute" = "yes"; then
diff --git a/configure.ac b/configure.ac
index 7792ae5bad3..6b1b30d07a6 100644
--- a/configure.ac
+++ b/configure.ac
@@ -592,6 +592,11 @@ elif test "$PORTNAME" = "aix"; then
PGAC_PROG_CC_VAR_OPT(CFLAGS_SL_MODULE, [-qvisibility=hidden])
PGAC_PROG_VARCXX_VARFLAGS_OPT(CXX, CXXFLAGS_SL_MODULE, [-qvisibility=hidden])
have_visibility_attribute=$pgac_cv_prog_CC_cflags__qvisibility_hidden
+ # Old xlc versions (<13.1) don't have support for -qvisibility. Use expfull to force
+ # all extension module symbols to be exported.
+ if test "$pgac_cv_prog_CC_cflags__qvisibility_hidden" != "yes"; then
+ CFLAGS_SL_MODULE="$CFLAGS_SL_MODULE -Wl,-b,expfull"
+ fi
fi
if test "$have_visibility_attribute" = "yes"; then