From 8213e63d8cd9acbbfa8a13adeb1a88c4738c2b75 Mon Sep 17 00:00:00 2001
From: Peter Eisentraut <peter_e@gmx.net>
Date: Sat, 10 Feb 2001 16:51:40 +0000
Subject: [PATCH] Repair BSD/OS shared library fixes.

---
 src/Makefile.shlib              |  5 +++--
 src/interfaces/odbc/GNUmakefile | 12 ++----------
 src/makefiles/Makefile.bsdi     |  4 ++--
 3 files changed, 7 insertions(+), 14 deletions(-)

diff --git a/src/Makefile.shlib b/src/Makefile.shlib
index 912c9c21c0..dd9a0d350f 100644
--- a/src/Makefile.shlib
+++ b/src/Makefile.shlib
@@ -6,7 +6,7 @@
 # Copyright (c) 1998, Regents of the University of California
 #
 # IDENTIFICATION
-#    $Header: /cvsroot/pgsql/src/Makefile.shlib,v 1.40 2001/02/10 16:26:38 momjian Exp $
+#    $Header: /cvsroot/pgsql/src/Makefile.shlib,v 1.41 2001/02/10 16:51:39 petere Exp $
 #
 #-------------------------------------------------------------------------
 
@@ -121,7 +121,8 @@ endif
 ifeq ($(PORTNAME), bsdi)
   shlib			:= lib$(NAME)$(DLSUFFIX).$(SO_MAJOR_VERSION).$(SO_MINOR_VERSION)
   ifeq ($(DLSUFFIX), .so)
-    LINK.shared		= $(LD) -shared -soname $(soname)
+    LINK.shared		= $(COMPILER) -shared -Wl,-soname,$(soname)
+    SHLIB_LINK		+= -lc
   endif
   ifeq ($(DLSUFFIX), .o)
     LINK.shared		= shlicc -O $(LDREL)
diff --git a/src/interfaces/odbc/GNUmakefile b/src/interfaces/odbc/GNUmakefile
index 4f2b8fc8d7..488fad6c3b 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.11 2001/02/10 15:59:16 momjian Exp $
+# $Header: /cvsroot/pgsql/src/interfaces/odbc/Attic/GNUmakefile,v 1.12 2001/02/10 16:51:40 petere Exp $
 #
 #-------------------------------------------------------------------------
 
@@ -32,16 +32,8 @@ 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.)
-#
-# BSD/OS fails with libc and crt1.o undefined symbols without this.
-# bjm 2001-02-09
-#
-ifneq ($(PORTNAME), bsdi)
+
 LINK.shared += $(shlib_symbolic)
-else
-LINK.shared = gcc -shared -Wl,-Bsymbolic,-soname,$(soname)
-SHLIB_LINK += -lc
-endif
 
 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 943c179b70..901e210fbb 100644
--- a/src/makefiles/Makefile.bsdi
+++ b/src/makefiles/Makefile.bsdi
@@ -15,10 +15,10 @@ endif
 ifeq ($(DLSUFFIX), .so)
 CFLAGS_SL = -fpic
 export_dynamic = -export-dynamic
-shlib_symbolic = -Bsymbolic
+shlib_symbolic = -Wl,-Bsymbolic
 else
 CFLAGS_SL =
 endif
 
 %.so: %.o
-	$(LD) -shared -o $@ $<
+	$(CC) -shared -o $@ $<
-- 
2.24.1