mirror of
https://github.com/postgres/postgres.git
synced 2025-05-13 01:13:08 -04:00
aix: xlc: Use -Wl,-b,expfull for old compiler versions
Unfortunately xlc 12.1 and earlier don't support -qvisibility. Therefore be7c15b194a doesn't suffice to make extension libraries work without the explicit mkldexport step removed in fe6a64a58ab. 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…
x
Reference in New Issue
Block a user