[Top][All Lists]

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

libtool patches for FreeBSD configuration (found while tuning libstdc++

From: Loren James Rittle
Subject: libtool patches for FreeBSD configuration (found while tuning libstdc++-v3 for this platform)
Date: Wed, 15 Nov 2000 23:52:00 -0600 (CST)
User-agent: SEMI/1.13.7 (Awazu) FLIM/1.13.2 (Kasanui) Emacs/20.5 (i386-unknown-freebsdelf3.2) MULE/4.0 (HANANOEN)

Mark Mitchell asked that libtool changes required to build
libstdc++-v3 on various platforms be CC'd to Alexandre Oliva via
address@hidden  Thanks Alexandre for giving these patches
due consideration.  They should be fairly non-controversial since they
only affect freebsd* configuration.  Please note that I was careful to
only "improved" things when I knew the exact history and current state.

With these two libtool configuration patches, I see the same few
libstdc++-v3 testsuite failures (currently 6 run-time and 3
build-time) with both -static and without (i.e. using the shared
version of the library) on FreeBSD against both the threaded and
non-threaded C library and `make check-g++' now looks as expected.

Without the first patch, shared libstdc++-v3 is completely broken
(oddly enough, it gets built but without any of the g++-compiled items
- it seems that libstdc++-v3 should reject being buildable in this
case when --enable-shared was given to configure but I don't know how
to make that so).  Without the second patch, the standard gcc
--enable-threads option is not supported correctly in conjunction with
a pending libstdc++-v3 patch to better support FreeBSD.


2000-11-15  Loren J. Rittle  <address@hidden>

        * 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.

RCS file: /cvs/gcc/egcs/,v
retrieving revision 1.5
diff -c -r1.5
*** 2000/11/09 21:41:11     1.5
--- 2000/11/16 04:45:47
*** 167,176 ****
!   freebsd*)
!     # FreeBSD uses GNU C++ and GNU ld
      # FIXME: insert proper C++ library support
      case "$cc_basename" in
--- 167,183 ----
!   freebsd1*)
!     # C++ shared libraries reported to be fairly broken back then
!     ld_shlibs=no
!     ;;
!   freebsd2*)
      # FIXME: insert proper C++ library support
+     ;;
+   freebsd*)
+     # FreeBSD 3 and later use GNU C++ and GNU ld with standard conventions
+     ld_shlibs=yes
      case "$cc_basename" in
Index: ltconfig
RCS file: /cvs/gcc/egcs/ltconfig,v
retrieving revision 1.11
diff -c -r1.11 ltconfig
*** ltconfig    2000/11/09 21:41:11     1.11
--- ltconfig    2000/11/16 04:45:48
*** 1012,1017 ****
--- 1012,1018 ----
${libname}${release}.so $'
+       need_lc=no

reply via email to

[Prev in Thread] Current Thread [Next in Thread]