Darwin has double underscores at the start of mangled names, so this fixes the sed command to be more flexible.
Committed to trunk and gcc-7-branch.
commit f80944837b4c21016d826bff5f497ceda85b9894 Author: Jonathan Wakely <jwak...@redhat.com> Date: Fri Apr 13 10:44:08 2018 +0100 Fix __iosfail_type_info hack to work on darwin * src/c++11/Makefile.am: Rewrite sed rule to be less fragile and to handle mangled names starting with double underscores on darwin. * src/c++11/Makefile.in: Regenerate. diff --git a/libstdc++-v3/src/c++11/Makefile.am b/libstdc++-v3/src/c++11/Makefile.am index 8d524b67232..12bc004a2ea 100644 --- a/libstdc++-v3/src/c++11/Makefile.am +++ b/libstdc++-v3/src/c++11/Makefile.am @@ -128,10 +128,7 @@ hashtable_c++0x.o: hashtable_c++0x.cc if ENABLE_DUAL_ABI # Rewrite the type info for __ios_failure. -rewrite_ios_failure_typeinfo = sed -e '/^_ZTISt13__ios_failure:$$/{' \ - -e 'n' \ - -e 's/_ZTVN10__cxxabiv120__si_class_type_infoE/_ZTVSt19__iosfail_type_info/' \ - -e '}' +rewrite_ios_failure_typeinfo = sed -e '/^_*_ZTISt13__ios_failure:/,_ZTVN10__cxxabiv120__si_class_type_infoE/s/_ZTVN10__cxxabiv120__si_class_type_infoE/_ZTVSt19__iosfail_type_info/' cxx11-ios_failure-lt.s: cxx11-ios_failure.cc $(LTCXXCOMPILE) -S $< -o tmp-cxx11-ios_failure-lt.s