diff --git a/src/interfaces/odbc/GNUmakefile b/src/interfaces/odbc/GNUmakefile index a6aedb936ad7d8d8799677a99debd117e7266c01..7a1542f3d4178de2e1e7a75d934b3b6d76671442 100644 --- a/src/interfaces/odbc/GNUmakefile +++ b/src/interfaces/odbc/GNUmakefile @@ -2,7 +2,7 @@ # # GNUMakefile for psqlodbc (Postgres ODBC driver) # -# $Header: /cvsroot/pgsql/src/interfaces/odbc/Attic/GNUmakefile,v 1.7 2000/10/28 15:10:36 petere Exp $ +# $Header: /cvsroot/pgsql/src/interfaces/odbc/Attic/GNUmakefile,v 1.8 2000/12/16 18:14:25 petere Exp $ # #------------------------------------------------------------------------- @@ -30,6 +30,11 @@ all: all-lib # Shared library stuff include $(top_srcdir)/src/Makefile.shlib +# Symbols must be resolved to the version in the shared library because +# the driver manager (e.g., iodbc) provides some symbols with the same +# names and we don't want those. (This issue is probably ELF specific.) +LINK.shared += $(shlib_symbolic) + odbc_headers = isql.h isqlext.h iodbc.h odbc_includedir = $(includedir)/iodbc diff --git a/src/makefiles/Makefile.bsdi b/src/makefiles/Makefile.bsdi index a95fd312346da560577246de4cd88bcad9739dcb..943c179b70bf1e04f8889e1ab50e5456c50ad810 100644 --- a/src/makefiles/Makefile.bsdi +++ b/src/makefiles/Makefile.bsdi @@ -15,6 +15,7 @@ endif ifeq ($(DLSUFFIX), .so) CFLAGS_SL = -fpic export_dynamic = -export-dynamic +shlib_symbolic = -Bsymbolic else CFLAGS_SL = endif diff --git a/src/makefiles/Makefile.freebsd b/src/makefiles/Makefile.freebsd index 91a45a63632074476e66873d3b5241bce35d4853..ef5613f98fa41aeafe8fe25163d78f6e9dfeed8b 100644 --- a/src/makefiles/Makefile.freebsd +++ b/src/makefiles/Makefile.freebsd @@ -3,6 +3,7 @@ AROPT = cr ifdef ELF_SYSTEM export_dynamic = -export-dynamic rpath = -R$(libdir) +shlib_symbolic = -Bsymbolic endif DLSUFFIX = .so diff --git a/src/makefiles/Makefile.irix5 b/src/makefiles/Makefile.irix5 index 956c4217c483ab0f9cf88810b01e13a71cc1c82c..d90fcd9a6ebf2068c49b72a3c5f7eeed66b7c33a 100644 --- a/src/makefiles/Makefile.irix5 +++ b/src/makefiles/Makefile.irix5 @@ -1,6 +1,7 @@ MK_NO_LORDER= true AROPT = crs rpath = -Wl,-rpath,$(libdir) +shlib_symbolic = -Wl,-B,symbolic DLSUFFIX = .so # PIC is default diff --git a/src/makefiles/Makefile.linux b/src/makefiles/Makefile.linux index 3834552ec38a21c0955cbbd78cad026c6504c8d9..11bef1572c6a608cc7534449b420a859c925a2c1 100644 --- a/src/makefiles/Makefile.linux +++ b/src/makefiles/Makefile.linux @@ -1,6 +1,7 @@ AROPT = crs export_dynamic = -export-dynamic rpath = -Wl,-rpath,$(libdir) +shlib_symbolic = -Wl,-Bsymbolic DLSUFFIX = .so CFLAGS_SL = -fpic diff --git a/src/makefiles/Makefile.netbsd b/src/makefiles/Makefile.netbsd index a9fd5a43b401f820386b6e7ac1c7ad5accdbd813..5cb8085058782b4f8c68704308c8b8d63b7622fb 100644 --- a/src/makefiles/Makefile.netbsd +++ b/src/makefiles/Makefile.netbsd @@ -3,6 +3,7 @@ AROPT = cr ifdef ELF_SYSTEM export_dynamic = -Wl,-E rpath = -Wl,-R$(libdir) +shlib_symbolic = -Wl,-Bsymbolic endif DLSUFFIX = .so diff --git a/src/makefiles/Makefile.openbsd b/src/makefiles/Makefile.openbsd index eeaa40743f4b609d31f30feb8a73b840ac9435a0..2ce2ca8ba1cb8647584f85df32dc00d4f28fee7e 100644 --- a/src/makefiles/Makefile.openbsd +++ b/src/makefiles/Makefile.openbsd @@ -3,6 +3,7 @@ AROPT = cr ifdef ELF_SYSTEM export_dynamic = -Wl,-E rpath = -R$(libdir) +shlib_symbolic = -Bsymbolic endif DLSUFFIX = .so diff --git a/src/makefiles/Makefile.solaris b/src/makefiles/Makefile.solaris index e8d23c948f208b64b2edb694c1211078da6e7258..56fb5c5f0582c998165a1a5f25db816bd97cc116 100644 --- a/src/makefiles/Makefile.solaris +++ b/src/makefiles/Makefile.solaris @@ -1,4 +1,4 @@ -# $Header: /cvsroot/pgsql/src/makefiles/Makefile.solaris,v 1.5 2000/11/04 16:35:55 petere Exp $ +# $Header: /cvsroot/pgsql/src/makefiles/Makefile.solaris,v 1.6 2000/12/16 18:14:25 petere Exp $ AROPT = crs @@ -8,7 +8,7 @@ rpath = -Wl,-rpath,$(libdir) else rpath = -Wl,-R$(libdir) endif - +shlib_symbolic = -Wl,-Bsymbolic DLSUFFIX = .so ifeq ($(GCC), yes) diff --git a/src/makefiles/Makefile.unixware b/src/makefiles/Makefile.unixware index 698ea98118e1f0212ffa8ecc1663f5bd9ebec940..bc2ddcad36d9b88e9a653fb13459615665ea33b7 100644 --- a/src/makefiles/Makefile.unixware +++ b/src/makefiles/Makefile.unixware @@ -3,6 +3,8 @@ export_dynamic = -Wl,-Bexport ifeq ($(ld_R_works), yes) rpath = -Wl,-R$(libdir) endif +shlib_symbolic = -Wl,-Bsymbolic + DLSUFFIX = .so ifeq ($(GCC), yes) CFLAGS_SL = -fpic