aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorLoren J. Rittle <ljrittle@acm.org>2001-04-11 05:25:00 +0000
committerLoren J. Rittle <ljrittle@gcc.gnu.org>2001-04-11 05:25:00 +0000
commit06729913c75c158ece5c68bdca6794e8b61c434a (patch)
tree7e166152603047eabd9e2f4e7b50afbc37176914
parent585f3871e9dde596b2c453d535a8b8a4583bfb3e (diff)
downloadgcc-06729913c75c158ece5c68bdca6794e8b61c434a.zip
gcc-06729913c75c158ece5c68bdca6794e8b61c434a.tar.gz
gcc-06729913c75c158ece5c68bdca6794e8b61c434a.tar.bz2
ltcf-cxx.sh: Support creation of C++ shared libraries on recent versions of FreeBSD (release...
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. From-SVN: r41237
-rw-r--r--ChangeLog8
-rw-r--r--ltcf-cxx.sh10
-rwxr-xr-xltconfig1
3 files changed, 16 insertions, 3 deletions
diff --git a/ChangeLog b/ChangeLog
index b9dafdc..df4e6ca 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 c399d34..a5f089b 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 739e652..423e47b 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-*)