Stop using "-multiply_defined suppress" on macOS.
authorTom Lane <tgl@sss.pgh.pa.us>
Wed, 27 Sep 2023 01:06:21 +0000 (21:06 -0400)
committerTom Lane <tgl@sss.pgh.pa.us>
Wed, 27 Sep 2023 01:06:21 +0000 (21:06 -0400)
We started to use this linker switch in commit 9df308697 of
2004-07-13, which was in the OS X 10.3 era.  Apparently it's been a
no-op since around OS X 10.9.  Apple's most recent toolchain version
actively complains about it, so it's time to get rid of it.

Discussion: https://postgr.es/m/467042.1695766998@sss.pgh.pa.us

src/Makefile.shlib

index b8cbc96b28ba826f9d335690fe39b7fec8170960..173bb232b10e2932a808f1d8696e4608cd6d2d40 100644 (file)
@@ -122,13 +122,13 @@ ifeq ($(PORTNAME), darwin)
     ifneq ($(SO_MAJOR_VERSION), 0)
       version_link = -compatibility_version $(SO_MAJOR_VERSION) -current_version $(SO_MAJOR_VERSION).$(SO_MINOR_VERSION)
     endif
-    LINK.shared        = $(COMPILER) -dynamiclib -install_name '$(libdir)/lib$(NAME).$(SO_MAJOR_VERSION)$(DLSUFFIX)' $(version_link) $(exported_symbols_list) -multiply_defined suppress
+    LINK.shared        = $(COMPILER) -dynamiclib -install_name '$(libdir)/lib$(NAME).$(SO_MAJOR_VERSION)$(DLSUFFIX)' $(version_link) $(exported_symbols_list)
     shlib      = lib$(NAME).$(SO_MAJOR_VERSION).$(SO_MINOR_VERSION)$(DLSUFFIX)
     shlib_major        = lib$(NAME).$(SO_MAJOR_VERSION)$(DLSUFFIX)
   else
     # loadable module
     DLSUFFIX       = .so
-    LINK.shared        = $(COMPILER) -bundle -multiply_defined suppress
+    LINK.shared        = $(COMPILER) -bundle
   endif
   BUILD.exports        = $(AWK) '/^[^\#]/ {printf "_%s\n",$$1}' $< >$@
   exports_file     = $(SHLIB_EXPORTS:%.txt=%.list)