summaryrefslogtreecommitdiffstats
path: root/libstdc++-v3/src
diff options
context:
space:
mode:
authorbkoz <bkoz@138bc75d-0d04-0410-961f-82ee72b054a4>2005-12-18 09:39:23 +0000
committerbkoz <bkoz@138bc75d-0d04-0410-961f-82ee72b054a4>2005-12-18 09:39:23 +0000
commit871b22dbf2c7c78cf1a832407327c8009734ad76 (patch)
treec4844070b26856b310a5d96734ff82e54ca084dd /libstdc++-v3/src
parent945865c5ef9259023618ab6c3108dc8adb543e1e (diff)
downloadppe42-gcc-871b22dbf2c7c78cf1a832407327c8009734ad76.tar.gz
ppe42-gcc-871b22dbf2c7c78cf1a832407327c8009734ad76.zip
2005-12-18 Benjamin Kosnik <bkoz@redhat.com>
* config/abi/post: New. * config/abi/*-linux-gnu: Move to.. * config/abi/post/*-linux-gnu: ... here. * config/abi/pre: New. * config/linker-map.gnu: Move to .. * config/abi/pre/gnu.ver: ... here. * config/linker-map.dummy: Move to.. * config/abi/pre/none.ver: ... here. * src/Makefile.am: Use ENABLE_SYMVERS_GNU, ENABLE_SYMVERS_DARWIN, ENABLE_SYMVERS_GNU_NAMESPACE. Use libstdc++-symbols.ver instead of libstdc++-symbol.ver. * src/Makefile.in: Regnerate. * acinclude.m4 (GLIBCXX_CONFIGURE_TESTSUITE): Adjust paths for new placement of abi baseline files. (GLIBCXX_ENABLE_SYMVERS): Add ENABLE_SYMVERS, ENABLE_SYMVERS_GNU, ENABLE_SYMVERS_DARWIN. SYMVER_MAP to SYMVER_FILE. * configure: Regnerate. * config.h.in: Regnerate. * src/compatibility.cc: Adjust macro usage. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@108748 138bc75d-0d04-0410-961f-82ee72b054a4
Diffstat (limited to 'libstdc++-v3/src')
-rw-r--r--libstdc++-v3/src/Makefile.am26
-rw-r--r--libstdc++-v3/src/Makefile.in59
-rw-r--r--libstdc++-v3/src/compatibility.cc8
3 files changed, 45 insertions, 48 deletions
diff --git a/libstdc++-v3/src/Makefile.am b/libstdc++-v3/src/Makefile.am
index b7cc1dd89ec..4d51036fe6b 100644
--- a/libstdc++-v3/src/Makefile.am
+++ b/libstdc++-v3/src/Makefile.am
@@ -28,12 +28,10 @@ include $(top_srcdir)/fragment.am
toolexeclib_LTLIBRARIES = libstdc++.la
# Symbol versioning for shared libraries.
-# This could be conditional on
-# ENABLE_SYMVERS_GNU || ENABLE_SYMVERS_DARWIN_EXPORT
-# but automake doesn't support OR operations in conditionals.
-libstdc++-symbol.ver: ${glibcxx_srcdir}/$(SYMVER_MAP) \
+if ENABLE_SYMVERS
+libstdc++-symbols.ver: ${glibcxx_srcdir}/$(SYMVER_FILE) \
$(port_specific_symbol_files)
- cp ${glibcxx_srcdir}/$(SYMVER_MAP) ./libstdc++-symbol.ver
+ cp ${glibcxx_srcdir}/$(SYMVER_FILE) ./libstdc++-symbols.ver
if test "x$(port_specific_symbol_files)" != x; then \
sed -n '1,/DO NOT DELETE/p' $@ > tmp.top; \
sed -n '/DO NOT DELETE/,$$p' $@ > tmp.bottom; \
@@ -42,26 +40,26 @@ libstdc++-symbol.ver: ${glibcxx_srcdir}/$(SYMVER_MAP) \
fi
if ENABLE_SYMVERS_GNU
-version_arg = -Wl,--version-script=libstdc++-symbol.ver
-version_dep = libstdc++-symbol.ver
-else
-if ENABLE_SYMVERS_DARWIN_EXPORT
-version_arg = -Wl,-exported_symbols_list,libstdc++-symbol.explist
-version_dep = libstdc++-symbol.explist
-libstdc++-symbol.explist : libstdc++-symbol.ver \
+version_arg = -Wl,--version-script=libstdc++-symbols.ver
+version_dep = libstdc++-symbols.ver
+endif
+if ENABLE_SYMVERS_DARWIN
+version_arg = -Wl,-exported_symbols_list,libstdc++-symbols.explist
+version_dep = libstdc++-symbols.explist
+libstdc++-symbols.explist : libstdc++-symbols.ver \
${glibcxx_srcdir}/scripts/make_exports.pl \
$(libstdc___la_OBJECTS) $(libstdc___la_LIBADD)
perl ${glibcxx_srcdir}/scripts/make_exports.pl \
- libstdc++-symbol.ver \
+ libstdc++-symbols.ver \
$(libstdc___la_OBJECTS:%.lo=.libs/%.o) \
`echo $(libstdc___la_LIBADD) | \
sed 's,/\([^/.]*\)\.la,/.libs/\1.a,g'` \
> $@ || (rm -f $@ ; exit 1)
+endif
else
version_arg =
version_dep =
endif
-endif
# Source files linked in via configuration/make substitution for a
diff --git a/libstdc++-v3/src/Makefile.in b/libstdc++-v3/src/Makefile.in
index c3a9d6efdf7..f751600fcc3 100644
--- a/libstdc++-v3/src/Makefile.in
+++ b/libstdc++-v3/src/Makefile.in
@@ -133,10 +133,12 @@ ECHO_C = @ECHO_C@
ECHO_N = @ECHO_N@
ECHO_T = @ECHO_T@
EGREP = @EGREP@
-ENABLE_SYMVERS_DARWIN_EXPORT_FALSE = @ENABLE_SYMVERS_DARWIN_EXPORT_FALSE@
-ENABLE_SYMVERS_DARWIN_EXPORT_TRUE = @ENABLE_SYMVERS_DARWIN_EXPORT_TRUE@
+ENABLE_SYMVERS_DARWIN_FALSE = @ENABLE_SYMVERS_DARWIN_FALSE@
+ENABLE_SYMVERS_DARWIN_TRUE = @ENABLE_SYMVERS_DARWIN_TRUE@
+ENABLE_SYMVERS_FALSE = @ENABLE_SYMVERS_FALSE@
ENABLE_SYMVERS_GNU_FALSE = @ENABLE_SYMVERS_GNU_FALSE@
ENABLE_SYMVERS_GNU_TRUE = @ENABLE_SYMVERS_GNU_TRUE@
+ENABLE_SYMVERS_TRUE = @ENABLE_SYMVERS_TRUE@
EXEEXT = @EXEEXT@
EXTRA_CXX_FLAGS = @EXTRA_CXX_FLAGS@
GLIBCXX_BUILD_DEBUG_FALSE = @GLIBCXX_BUILD_DEBUG_FALSE@
@@ -185,7 +187,7 @@ SECTION_LDFLAGS = @SECTION_LDFLAGS@
SET_MAKE = @SET_MAKE@
SHELL = @SHELL@
STRIP = @STRIP@
-SYMVER_MAP = @SYMVER_MAP@
+SYMVER_FILE = @SYMVER_FILE@
TOPLEVEL_INCLUDES = @TOPLEVEL_INCLUDES@
USE_NLS = @USE_NLS@
VERSION = @VERSION@
@@ -275,12 +277,12 @@ AM_CPPFLAGS = $(GLIBCXX_INCLUDES)
# Cross compiler support.
toolexeclib_LTLIBRARIES = libstdc++.la
-@ENABLE_SYMVERS_DARWIN_EXPORT_FALSE@@ENABLE_SYMVERS_GNU_FALSE@version_arg =
-@ENABLE_SYMVERS_DARWIN_EXPORT_TRUE@@ENABLE_SYMVERS_GNU_FALSE@version_arg = -Wl,-exported_symbols_list,libstdc++-symbol.explist
-@ENABLE_SYMVERS_GNU_TRUE@version_arg = -Wl,--version-script=libstdc++-symbol.ver
-@ENABLE_SYMVERS_DARWIN_EXPORT_FALSE@@ENABLE_SYMVERS_GNU_FALSE@version_dep =
-@ENABLE_SYMVERS_DARWIN_EXPORT_TRUE@@ENABLE_SYMVERS_GNU_FALSE@version_dep = libstdc++-symbol.explist
-@ENABLE_SYMVERS_GNU_TRUE@version_dep = libstdc++-symbol.ver
+@ENABLE_SYMVERS_DARWIN_TRUE@@ENABLE_SYMVERS_TRUE@version_arg = -Wl,-exported_symbols_list,libstdc++-symbols.explist
+@ENABLE_SYMVERS_FALSE@version_arg =
+@ENABLE_SYMVERS_GNU_TRUE@@ENABLE_SYMVERS_TRUE@version_arg = -Wl,--version-script=libstdc++-symbols.ver
+@ENABLE_SYMVERS_DARWIN_TRUE@@ENABLE_SYMVERS_TRUE@version_dep = libstdc++-symbols.explist
+@ENABLE_SYMVERS_FALSE@version_dep =
+@ENABLE_SYMVERS_GNU_TRUE@@ENABLE_SYMVERS_TRUE@version_dep = libstdc++-symbols.ver
# Source files linked in via configuration/make substitution for a
# particular host.
@@ -670,27 +672,24 @@ uninstall-am: uninstall-info-am uninstall-toolexeclibLTLIBRARIES
# Symbol versioning for shared libraries.
-# This could be conditional on
-# ENABLE_SYMVERS_GNU || ENABLE_SYMVERS_DARWIN_EXPORT
-# but automake doesn't support OR operations in conditionals.
-libstdc++-symbol.ver: ${glibcxx_srcdir}/$(SYMVER_MAP) \
- $(port_specific_symbol_files)
- cp ${glibcxx_srcdir}/$(SYMVER_MAP) ./libstdc++-symbol.ver
- if test "x$(port_specific_symbol_files)" != x; then \
- sed -n '1,/DO NOT DELETE/p' $@ > tmp.top; \
- sed -n '/DO NOT DELETE/,$$p' $@ > tmp.bottom; \
- cat tmp.top $(port_specific_symbol_files) tmp.bottom > $@; \
- rm tmp.top tmp.bottom; \
- fi
-@ENABLE_SYMVERS_DARWIN_EXPORT_TRUE@@ENABLE_SYMVERS_GNU_FALSE@libstdc++-symbol.explist : libstdc++-symbol.ver \
-@ENABLE_SYMVERS_DARWIN_EXPORT_TRUE@@ENABLE_SYMVERS_GNU_FALSE@ ${glibcxx_srcdir}/scripts/make_exports.pl \
-@ENABLE_SYMVERS_DARWIN_EXPORT_TRUE@@ENABLE_SYMVERS_GNU_FALSE@ $(libstdc___la_OBJECTS) $(libstdc___la_LIBADD)
-@ENABLE_SYMVERS_DARWIN_EXPORT_TRUE@@ENABLE_SYMVERS_GNU_FALSE@ perl ${glibcxx_srcdir}/scripts/make_exports.pl \
-@ENABLE_SYMVERS_DARWIN_EXPORT_TRUE@@ENABLE_SYMVERS_GNU_FALSE@ libstdc++-symbol.ver \
-@ENABLE_SYMVERS_DARWIN_EXPORT_TRUE@@ENABLE_SYMVERS_GNU_FALSE@ $(libstdc___la_OBJECTS:%.lo=.libs/%.o) \
-@ENABLE_SYMVERS_DARWIN_EXPORT_TRUE@@ENABLE_SYMVERS_GNU_FALSE@ `echo $(libstdc___la_LIBADD) | \
-@ENABLE_SYMVERS_DARWIN_EXPORT_TRUE@@ENABLE_SYMVERS_GNU_FALSE@ sed 's,/\([^/.]*\)\.la,/.libs/\1.a,g'` \
-@ENABLE_SYMVERS_DARWIN_EXPORT_TRUE@@ENABLE_SYMVERS_GNU_FALSE@ > $@ || (rm -f $@ ; exit 1)
+@ENABLE_SYMVERS_TRUE@libstdc++-symbols.ver: ${glibcxx_srcdir}/$(SYMVER_FILE) \
+@ENABLE_SYMVERS_TRUE@ $(port_specific_symbol_files)
+@ENABLE_SYMVERS_TRUE@ cp ${glibcxx_srcdir}/$(SYMVER_FILE) ./libstdc++-symbols.ver
+@ENABLE_SYMVERS_TRUE@ if test "x$(port_specific_symbol_files)" != x; then \
+@ENABLE_SYMVERS_TRUE@ sed -n '1,/DO NOT DELETE/p' $@ > tmp.top; \
+@ENABLE_SYMVERS_TRUE@ sed -n '/DO NOT DELETE/,$$p' $@ > tmp.bottom; \
+@ENABLE_SYMVERS_TRUE@ cat tmp.top $(port_specific_symbol_files) tmp.bottom > $@; \
+@ENABLE_SYMVERS_TRUE@ rm tmp.top tmp.bottom; \
+@ENABLE_SYMVERS_TRUE@ fi
+@ENABLE_SYMVERS_DARWIN_TRUE@@ENABLE_SYMVERS_TRUE@libstdc++-symbols.explist : libstdc++-symbols.ver \
+@ENABLE_SYMVERS_DARWIN_TRUE@@ENABLE_SYMVERS_TRUE@ ${glibcxx_srcdir}/scripts/make_exports.pl \
+@ENABLE_SYMVERS_DARWIN_TRUE@@ENABLE_SYMVERS_TRUE@ $(libstdc___la_OBJECTS) $(libstdc___la_LIBADD)
+@ENABLE_SYMVERS_DARWIN_TRUE@@ENABLE_SYMVERS_TRUE@ perl ${glibcxx_srcdir}/scripts/make_exports.pl \
+@ENABLE_SYMVERS_DARWIN_TRUE@@ENABLE_SYMVERS_TRUE@ libstdc++-symbols.ver \
+@ENABLE_SYMVERS_DARWIN_TRUE@@ENABLE_SYMVERS_TRUE@ $(libstdc___la_OBJECTS:%.lo=.libs/%.o) \
+@ENABLE_SYMVERS_DARWIN_TRUE@@ENABLE_SYMVERS_TRUE@ `echo $(libstdc___la_LIBADD) | \
+@ENABLE_SYMVERS_DARWIN_TRUE@@ENABLE_SYMVERS_TRUE@ sed 's,/\([^/.]*\)\.la,/.libs/\1.a,g'` \
+@ENABLE_SYMVERS_DARWIN_TRUE@@ENABLE_SYMVERS_TRUE@ > $@ || (rm -f $@ ; exit 1)
codecvt_members.cc: ${glibcxx_srcdir}/$(CCODECVT_CC)
$(LN_S) ${glibcxx_srcdir}/$(CCODECVT_CC) . || true
diff --git a/libstdc++-v3/src/compatibility.cc b/libstdc++-v3/src/compatibility.cc
index 613e8fbb8c6..2261ad57b24 100644
--- a/libstdc++-v3/src/compatibility.cc
+++ b/libstdc++-v3/src/compatibility.cc
@@ -30,7 +30,7 @@
#include <bits/c++config.h>
-#if defined(_GLIBCXX_SYMVER) && defined(PIC)
+#if defined(_GLIBCXX_SYMVER_GNU) && defined(PIC)
#define istreambuf_iterator istreambuf_iteratorXX
#define basic_fstream basic_fstreamXX
#define basic_ifstream basic_ifstreamXX
@@ -188,7 +188,7 @@ namespace std
// NB: These symbols renames should go into the shared library only,
// and only those shared libraries that support versioning.
-#if defined(_GLIBCXX_SYMVER) && defined(PIC)
+#if defined(_GLIBCXX_SYMVER_GNU) && defined(PIC)
/* gcc-3.4.4
_ZNSt19istreambuf_iteratorIcSt11char_traitsIcEEppEv
@@ -362,7 +362,7 @@ namespace std
#endif
-#ifdef __APPLE__
+#ifdef _GLIBCXX_SYMVER_DARWIN
#if (defined(__ppc__) || defined (__ppc64__)) && defined (PIC)
/* __eprintf shouldn't have been made visible from libstdc++, or
anywhere, but on Mac OS X 10.4 it was defined in
@@ -385,4 +385,4 @@ __eprintf (const char *string, const char *expression,
abort ();
}
#endif
-#endif /* __APPLE__ */
+#endif
OpenPOWER on IntegriCloud