From: Andres Freund Date: Thu, 25 Aug 2022 03:37:54 +0000 (-0700) Subject: solaris: Use versioning scripts instead of -Bsymbolic X-Git-Tag: REL_16_BETA1~1891 X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=3fb0687d328b8eef6ab0ff80300e5746f4a777cb;p=thirdparty%2Fpostgresql.git solaris: Use versioning scripts instead of -Bsymbolic -Bsymbolic causes a lot of "ld: warning: symbol referencing errors" warnings. It's quite easy to add the symbol versioning script, we just need a slightly different parameter name. Reviewed-by: Peter Eisentraut Discussion: https://postgr.es/m/20220823083436.whtntk3bn3qpnvmb@awork3.anarazel.de Discussion: https://postgr.es/m/7dae5979-c6c0-cec5-7a36-76a85aa8053d@enterprisedb.com --- diff --git a/src/Makefile.shlib b/src/Makefile.shlib index e4658320f8b..b868c8cea6b 100644 --- a/src/Makefile.shlib +++ b/src/Makefile.shlib @@ -188,10 +188,15 @@ ifeq ($(PORTNAME), linux) endif ifeq ($(PORTNAME), solaris) - LINK.shared = $(COMPILER) -shared -Wl,-Bsymbolic + LINK.shared = $(COMPILER) -shared ifdef soname LINK.shared += -Wl,-soname,$(soname) endif + BUILD.exports = ( echo '{ global:'; $(AWK) '/^[^\#]/ {printf "%s;\n",$$1}' $<; echo ' local: *; };' ) >$@ + exports_file = $(SHLIB_EXPORTS:%.txt=%.list) + ifneq (,$(exports_file)) + LINK.shared += -Wl,-M$(exports_file) + endif endif ifeq ($(PORTNAME), cygwin)