From 6a9657369b78b9fed1152af6937e4fc0a360d395 Mon Sep 17 00:00:00 2001
From: ljrittle <ljrittle@138bc75d-0d04-0410-961f-82ee72b054a4>
Date: Wed, 11 Apr 2001 05:25:00 +0000
Subject: [PATCH] 2001-04-10  Loren J. Rittle  <ljrittle@acm.org>

	* ltcf-cxx.sh: Support creation of C++ shared libraries on
	recent versions of FreeBSD (release 3 or later).
	* ltconfig: On FreeBSD, -lc must not be provided when building
	a shared library or else the standard -pthread gcc option is
	rendered worthless to later users of the built library.


git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@41237 138bc75d-0d04-0410-961f-82ee72b054a4
---
 ChangeLog   |  8 ++++++++
 ltcf-cxx.sh | 10 +++++++---
 ltconfig    |  1 +
 3 files changed, 16 insertions(+), 3 deletions(-)

diff --git a/ChangeLog b/ChangeLog
index b9dafdc0d9c6..df4e6ca6af5e 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,11 @@
+2001-04-10  Loren J. Rittle  <ljrittle@acm.org>
+
+	* ltcf-cxx.sh: Support creation of C++ shared libraries on
+	recent versions of FreeBSD (release 3 or later).
+	* ltconfig: On FreeBSD, -lc must not be provided when building
+	a shared library or else the standard -pthread gcc option is
+	rendered worthless to later users of the built library.
+
 2001-04-06  Joseph S. Myers  <jsm28@cam.ac.uk>
 
 	* MAINTAINERS: Add self and RTH as C front end maintainers.
diff --git a/ltcf-cxx.sh b/ltcf-cxx.sh
index c399d34c9dc2..a5f089be04f9 100644
--- a/ltcf-cxx.sh
+++ b/ltcf-cxx.sh
@@ -233,11 +233,15 @@ case $host_os in
         ;;
     esac
     ;;
-  freebsd*)
-    # FreeBSD uses GNU C++ and GNU ld
-    # FIXME: insert proper C++ library support
+  freebsd[12]*)
+    # C++ shared libraries reported to be fairly broken before switch to ELF
     ld_shlibs=no
     ;;
+  freebsd*)
+    # FreeBSD 3 and later use GNU C++ and GNU ld with standard ELF
+    # conventions
+    ld_shlibs=yes
+    ;;
   hpux*)
     hardcode_libdir_flag_spec='${wl}+b ${wl}$libdir'
     hardcode_libdir_separator=:
diff --git a/ltconfig b/ltconfig
index 739e6529ded2..423e47bae0c4 100755
--- a/ltconfig
+++ b/ltconfig
@@ -1108,6 +1108,7 @@ freebsd*)
     freebsd-elf*)
       library_names_spec='${libname}${release}.so$versuffix ${libname}${release}.so $libname.so'
       need_version=no
+      need_lc=no
       need_lib_prefix=no
       ;;
     freebsd-*)
-- 
GitLab