Module Name: src
Committed By: mrg
Date: Fri Mar 1 08:15:23 UTC 2019
Modified Files:
src/external/gpl3/gcc/dist/libstdc++-v3/config/abi/pre: gnu.ver
src/external/gpl3/gcc/lib/libstdc++-v3: Makefile
Log Message:
#if 0 the x and y symbols in GLIBCXX_3.4 namespace. they cause
duplicate symbols on netbsd. see PR#54027.
with this disabled, turn on using the symver-config.h for the
gnu.ver processing so that other defines are handled.
fix some depends for gnu.ver processing.
To generate a diff of this commit:
cvs rdiff -u -r1.1.1.6 -r1.2 \
src/external/gpl3/gcc/dist/libstdc++-v3/config/abi/pre/gnu.ver
cvs rdiff -u -r1.44 -r1.45 src/external/gpl3/gcc/lib/libstdc++-v3/Makefile
Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.
Modified files:
Index: src/external/gpl3/gcc/dist/libstdc++-v3/config/abi/pre/gnu.ver
diff -u src/external/gpl3/gcc/dist/libstdc++-v3/config/abi/pre/gnu.ver:1.1.1.6 src/external/gpl3/gcc/dist/libstdc++-v3/config/abi/pre/gnu.ver:1.2
--- src/external/gpl3/gcc/dist/libstdc++-v3/config/abi/pre/gnu.ver:1.1.1.6 Sat Jan 19 10:14:13 2019
+++ src/external/gpl3/gcc/dist/libstdc++-v3/config/abi/pre/gnu.ver Fri Mar 1 08:15:23 2019
@@ -1007,7 +1007,10 @@ GLIBCXX_3.4 {
#ifdef HAVE_SYMVER_SYMBOL_RENAMING_RUNTIME_SUPPORT
# GLIBCXX_ABI compatibility only.
# std::string
+ # XXXMRG this causes dupe symbols on netbsd
+#if 0
_ZNKSs11_M_disjunctEPKc;
+#endif
_ZNKSs15_M_check_lengthE[jmy][jmy]PKc;
_ZNSs4_Rep26_M_set_length_and_sharableE*;
_ZNSs7_M_copyEPcPKc[jmy];
@@ -1015,7 +1018,10 @@ GLIBCXX_3.4 {
_ZNSs9_M_assignEPc[jmy]c;
# std::wstring
+ # XXXMRG this causes dupe symbols on netbsd
+#if 0
_ZNKSbIwSt11char_traitsIwESaIwEE11_M_disjunctEPKw;
+#endif
_ZNKSbIwSt11char_traitsIwESaIwEE15_M_check_lengthE[jmy][jmy]PKc;
_ZNSbIwSt11char_traitsIwESaIwEE4_Rep26_M_set_length_and_sharableE*;
_ZNSbIwSt11char_traitsIwESaIwEE7_M_copyEPwPKw[jmy];
Index: src/external/gpl3/gcc/lib/libstdc++-v3/Makefile
diff -u src/external/gpl3/gcc/lib/libstdc++-v3/Makefile:1.44 src/external/gpl3/gcc/lib/libstdc++-v3/Makefile:1.45
--- src/external/gpl3/gcc/lib/libstdc++-v3/Makefile:1.44 Wed Feb 27 08:21:42 2019
+++ src/external/gpl3/gcc/lib/libstdc++-v3/Makefile Fri Mar 1 08:15:23 2019
@@ -1,4 +1,4 @@
-# $NetBSD: Makefile,v 1.44 2019/02/27 08:21:42 mrg Exp $
+# $NetBSD: Makefile,v 1.45 2019/03/01 08:15:23 mrg Exp $
REQUIRETOOLS= yes
NOLINT= # defined
@@ -18,15 +18,19 @@ LIBDPLIBS+= m ${.CURDIR}/../../../../../
COPTS.random.cc+= ${${ACTIVE_CC} == "clang":? -mrdrnd :}
.endif
+DIST= ${GCCDIST}
+GNUVER= ${DIST}/libstdc++-v3/config/abi/pre/gnu.ver
SYMBOLS= libstdc++-symbols.ver
.if ${MKPIC} != "no"
-${SYMBOLS}: Makefile
- cat ${DIST}/libstdc++-v3/config/abi/pre/gnu.ver ${G_port_specific_symbol_files} | \
+${SYMBOLS}: Makefile ${GNUVER}
+ cat ${GNUVER} ${G_port_specific_symbol_files} | \
${TOOL_GREP} -E -v '^[ ]*#(#| |$$)' | \
- ${CXX} -I${DESTDIR}/usr/include/g++ -E -P -include ${.CURDIR}/arch/${LIBSTDCXX_MACHINE_ARCH}/c++config.h - > \
+ ${CXX} -I${DESTDIR}/usr/include/g++ -E -P -include ${.CURDIR}/arch/${LIBSTDCXX_MACHINE_ARCH}/symver-config.h - > \
${.TARGET}.tmp && mv ${.TARGET}.tmp ${.TARGET} && rm -f ${.TARGET}.tmp
-CLEANFILES+= ${SYMBOLS}
+CLEANFILES+= ${SYMBOLS} ${SYMBOLS}.tmp
+
+DPADD+= ${SYMBOLS}
.if ${MKPICLIB} != "no"
libstdc++_pic.a:: ${SYMBOLS}