Index: dist/libstdc++-v3/config/abi/pre/gnu.ver =================================================================== RCS file: /cvsroot/src/external/gpl3/gcc/dist/libstdc++-v3/config/abi/pre/gnu.ver,v retrieving revision 1.1.1.6 diff -p -u -u -r1.1.1.6 gnu.ver --- dist/libstdc++-v3/config/abi/pre/gnu.ver 19 Jan 2019 10:14:13 -0000 1.1.1.6 +++ dist/libstdc++-v3/config/abi/pre/gnu.ver 28 Feb 2019 09:49:19 -0000 @@ -1007,7 +1007,8 @@ GLIBCXX_3.4 { #ifdef HAVE_SYMVER_SYMBOL_RENAMING_RUNTIME_SUPPORT # GLIBCXX_ABI compatibility only. # std::string - _ZNKSs11_M_disjunctEPKc; + # XXXMRG this causes dupe symbols on some netbsd ports + # _ZNKSs11_M_disjunctEPKc; _ZNKSs15_M_check_lengthE[jmy][jmy]PKc; _ZNSs4_Rep26_M_set_length_and_sharableE*; _ZNSs7_M_copyEPcPKc[jmy]; @@ -1015,7 +1016,8 @@ GLIBCXX_3.4 { _ZNSs9_M_assignEPc[jmy]c; # std::wstring - _ZNKSbIwSt11char_traitsIwESaIwEE11_M_disjunctEPKw; + # XXXMRG this causes dupe symbols on some netbsd ports + # _ZNKSbIwSt11char_traitsIwESaIwEE11_M_disjunctEPKw; _ZNKSbIwSt11char_traitsIwESaIwEE15_M_check_lengthE[jmy][jmy]PKc; _ZNSbIwSt11char_traitsIwESaIwEE4_Rep26_M_set_length_and_sharableE*; _ZNSbIwSt11char_traitsIwESaIwEE7_M_copyEPwPKw[jmy]; Index: lib/libstdc++-v3/Makefile =================================================================== RCS file: /cvsroot/src/external/gpl3/gcc/lib/libstdc++-v3/Makefile,v retrieving revision 1.44 diff -p -u -u -r1.44 Makefile --- lib/libstdc++-v3/Makefile 27 Feb 2019 08:21:42 -0000 1.44 +++ lib/libstdc++-v3/Makefile 28 Feb 2019 09:49:19 -0000 @@ -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}