mirror of
https://git.postgresql.org/git/postgresql.git
synced 2025-01-24 18:55:04 +08:00
aix: xlc: Use -Wl,-b,expfull for old compiler versions
Unfortunately xlc 12.1 and earlier don't support -qvisibility. Thereforebe7c15b194
doesn't suffice to make extension libraries work without the explicit mkldexport step removed infe6a64a58a
. While 12.1 is EOL, there is some desire to leave buildfarm animals using it run a bit longer. But instead of adding back the complicated mkldexport step, we can use -Wl,-b,expfull to force all symbols to be exported. Reviewed-By: Tom Lane <tgl@sss.pgh.pa.us> Discussion: https://postgr.es/m/2490844.1663123546@sss.pgh.pa.us
This commit is contained in:
parent
eacbe94ab1
commit
d08a049db9
5
configure
vendored
5
configure
vendored
@ -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
|
||||
|
@ -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
|
||||
|
Loading…
Reference in New Issue
Block a user