[libstdc++] Different version tag for libsupc++, document config option
Phil Edwards
phil@jaj.com
Fri Feb 22 15:48:00 GMT 2002
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 "C"
@@ -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>
More information about the Libstdc++
mailing list