This is the mail archive of the gcc-patches@gcc.gnu.org mailing list for the GCC project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

[libstdc++] Different version tag for libsupc++, document config option



We had talked about this but then I forgot to do it.  The basic C++
support library needs its own tag for symbol versions.  This adds the one
we tentatively agreed on, and moves the libsupc++ symbols into that section.
Nothing is/isn't versioned that wasn't/was before, but tested on i686-linux
just in case, no regressions.

This also fixes a comment and publicly documents the configure option.


2002-02-22  Phil Edwards  <pme@gcc.gnu.org>

	* acinclude.m4 (GLIBCPP_ENABLE_SYMVERS):  Fix comment.
	* aclocal.m4:  Regenerate.
	* docs/html/configopts.html:  Document --enable-symvers.
	* config/linker-map.gnu:  Break libsupc++ symbols out to their own tag.


Index: acinclude.m4
===================================================================
RCS file: /cvs/gcc/gcc/libstdc++-v3/acinclude.m4,v
retrieving revision 1.193
diff -u -3 -p -r1.193 acinclude.m4
--- acinclude.m4	2002/02/22 11:35:48	1.193
+++ acinclude.m4	2002/02/22 23:42:59
@@ -2042,8 +2042,8 @@ dnl       controlled by 'style'.
 dnl --disable-symvers does not.
 dnl  +  Usage:  GLIBCPP_ENABLE_SYMVERS[(DEFAULT)]
 dnl       Where DEFAULT is either `yes' or `no'.  If ommitted, it
-dnl       defaults to `yes'.  Passing `yes' tries to choose a default style
-dnl       based on linker characteristics. Passing 'no' disables versioning.
+dnl       defaults to `no'.  Passing `yes' tries to choose a default style
+dnl       based on linker characteristics.  Passing 'no' disables versioning.
 AC_DEFUN(GLIBCPP_ENABLE_SYMVERS, [dnl
 define([GLIBCPP_ENABLE_SYMVERS_DEFAULT], ifelse($1, yes, yes, no))dnl
 AC_ARG_ENABLE(symvers,
Index: config/linker-map.gnu
===================================================================
RCS file: /cvs/gcc/gcc/libstdc++-v3/config/linker-map.gnu,v
retrieving revision 1.4
diff -u -3 -p -r1.4 linker-map.gnu
--- linker-map.gnu	2002/02/20 00:58:12	1.4
+++ linker-map.gnu	2002/02/22 23:43:00
@@ -65,11 +65,6 @@ GLIBCPP_3.1 {
     _ZTv*;
     _ZTc*;
 
-    # libsupc++
-    __cxa_*;
-    __gxx_personality_v0;
-    __dynamic_cast;
-
     # std::_S_rb_tree_red
     _ZSt14_S_rb_tree_red;
 
@@ -88,3 +83,17 @@ GLIBCPP_3.1 {
   local:
     *;
 };
+
+
+# Symbols in the support library (libsupc++) have their own tag.
+CXXABI_1 {
+
+  global:
+    __cxa_*;
+    __gxx_personality_v0;
+    __dynamic_cast;
+
+  local:
+    *;
+};
+
Index: docs/html/configopts.html
===================================================================
RCS file: /cvs/gcc/gcc/libstdc++-v3/docs/html/configopts.html,v
retrieving revision 1.19
diff -u -3 -p -r1.19 configopts.html
--- configopts.html	2001/12/19 21:36:32	1.19
+++ configopts.html	2002/02/22 23:43:00
@@ -63,7 +63,7 @@ options</a></h1>
 
  <dt><code>--enable-cstdio=LIB  </code>
  <dd><p>Select a target-specific I/O package.  As of libstdc++-v3
-        snapshot 2.91, the choices are 'libio' to specify the GNU
+        snapshot 3.0.96, the choices are 'libio' to specify the GNU
         I/O package (from
         <a href="http://sources.redhat.com/glibc/";>glibc</a>, the
         GNU C library), or 'stdio' to use a generic &quot;C&quot;
@@ -201,6 +201,15 @@ options</a></h1>
         <a href="19_diagnostics/howto.html#3">described here</a>.  They
         can help users discover when they break the rules of the STL, before
         their programs run.
+     </p>
+
+ <dt><code>--enable-symvers[=style]  </code>
+ <dd><p>In 3.1, tries to turn on symbol versioning in the shared library (if a
+        shared library has been requested).  The only 'style' currently
+        supported is 'gnu' which requires that a recent version of the GNU
+        linker be in use.  With no style given, the configure script will
+        try to guess if the 'gnu' style can be used, and if so, will turn it
+        on.  Hopefully people will volunteer to do other 'style' options.
      </p>
 </dl>
 </p>


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]