From: Tom Lane Date: Tue, 11 Sep 2018 02:22:12 +0000 (-0400) Subject: Use -Bsymbolic for shared libraries on HP-UX and Solaris. X-Git-Tag: REL_12_BETA1~1586 X-Git-Url: https://granicus.if.org/sourcecode?a=commitdiff_plain;h=4fa3741d1cfb3898c3ff7b01fa873383108e1fe3;p=postgresql Use -Bsymbolic for shared libraries on HP-UX and Solaris. These platforms are also subject to the mis-linking problem addressed in commit e3d77ea6b. It's not clear whether we could solve it with a solution equivalent to GNU ld's version scripts, but -Bsymbolic appears to fix it, so let's use that. Like the previous commit, back-patch as far as v10. Discussion: https://postgr.es/m/153626613985.23143.4743626885618266803@wrigleys.postgresql.org --- diff --git a/src/Makefile.shlib b/src/Makefile.shlib index 9cfe49749e..63d5d9e8ee 100644 --- a/src/Makefile.shlib +++ b/src/Makefile.shlib @@ -198,12 +198,12 @@ ifeq ($(PORTNAME), hpux) shlib = lib$(NAME)$(DLSUFFIX).$(SO_MAJOR_VERSION) endif ifeq ($(with_gnu_ld), yes) - LINK.shared = $(CC) -shared + LINK.shared = $(CC) -shared -Wl,-Bsymbolic ifdef soname LINK.shared += -Wl,-h -Wl,$(soname) endif else - LINK.shared = $(LD) -b + LINK.shared = $(LD) -b -Bsymbolic ifdef soname LINK.shared += +h $(soname) endif @@ -240,9 +240,9 @@ endif ifeq ($(PORTNAME), solaris) ifeq ($(GCC), yes) - LINK.shared = $(COMPILER) -shared + LINK.shared = $(COMPILER) -shared -Wl,-Bsymbolic else - LINK.shared = $(COMPILER) -G + LINK.shared = $(COMPILER) -G -Bsymbolic endif ifdef soname ifeq ($(with_gnu_ld), yes)