diff --git a/GCC14-1001-libstdc++-compat.patch b/GCC14-1001-libstdc++-compat.patch new file mode 100644 index 0000000000000000000000000000000000000000..8f0211369e8e8800a8aa8a142687360a465f7f5e --- /dev/null +++ b/GCC14-1001-libstdc++-compat.patch @@ -0,0 +1,15382 @@ +From 00d659acdcd056618edbde8905c6b7d3c4a278d7 Mon Sep 17 00:00:00 2001 +From: zhaoshujian +Date: Thu, 1 Aug 2024 17:23:31 +0800 +Subject: [PATCH] add nonshared + + +diff --git a/libstdc++-v3/acinclude.m4 b/libstdc++-v3/acinclude.m4 +index 51a08bcc8..c75dda506 100644 +--- a/libstdc++-v3/acinclude.m4 ++++ b/libstdc++-v3/acinclude.m4 +@@ -49,7 +49,7 @@ AC_DEFUN([GLIBCXX_CONFIGURE], [ + # Keep these sync'd with the list in Makefile.am. The first provides an + # expandable list at autoconf time; the second provides an expandable list + # (i.e., shell variable) at configure time. +- m4_define([glibcxx_SUBDIRS],[include libsupc++ src src/c++98 src/c++11 src/c++17 src/c++20 src/c++23 src/c++26 src/filesystem src/libbacktrace src/experimental doc po testsuite python]) ++ m4_define([glibcxx_SUBDIRS],[include libsupc++ src src/c++98 src/c++11 src/c++17 src/c++20 src/c++23 src/c++26 src/nonshared98 src/nonshared11 src/nonshared17 src/nonshared20 src/nonshared23 src/nonshared26 src/filesystem src/libbacktrace src/experimental doc po testsuite python]) + SUBDIRS='glibcxx_SUBDIRS' + + # These need to be absolute paths, yet at the same time need to +diff --git a/libstdc++-v3/config/cpu/i386/atomicity.h b/libstdc++-v3/config/cpu/i386/atomicity.h +index 79d336681..c65794d67 100644 +--- a/libstdc++-v3/config/cpu/i386/atomicity.h ++++ b/libstdc++-v3/config/cpu/i386/atomicity.h +@@ -1,6 +1,6 @@ +-// Low-level functions for atomic operations: x86, x >= 3 version -*- C++ -*- ++// Low-level functions for atomic operations: x86, x >= 4 version -*- C++ -*- + +-// Copyright (C) 2003-2024 Free Software Foundation, Inc. ++// Copyright (C) 1999-2024 Free Software Foundation, Inc. + // + // This file is part of the GNU ISO C++ Library. This library is free + // software; you can redistribute it and/or modify it under the +@@ -28,46 +28,25 @@ namespace __gnu_cxx _GLIBCXX_VISIBILITY(default) + { + _GLIBCXX_BEGIN_NAMESPACE_VERSION + +- template +- struct _Atomicity_lock +- { +- static volatile _Atomic_word _S_atomicity_lock; +- }; +- +- template +- volatile _Atomic_word _Atomicity_lock<__inst>::_S_atomicity_lock = 0; +- +- template volatile _Atomic_word _Atomicity_lock<0>::_S_atomicity_lock; +- + _Atomic_word + __attribute__ ((__unused__)) + __exchange_and_add(volatile _Atomic_word* __mem, int __val) throw () + { +- register _Atomic_word __result, __tmp = 1; +- +- // Obtain the atomic exchange/add spin lock. +- do +- { +- __asm__ __volatile__ ("xchg{l} {%0,%1|%1,%0}" +- : "=m" (_Atomicity_lock<0>::_S_atomicity_lock), +- "+r" (__tmp) +- : "m" (_Atomicity_lock<0>::_S_atomicity_lock)); +- } +- while (__tmp); +- +- __result = *__mem; +- *__mem += __val; +- +- // Release spin lock. +- _Atomicity_lock<0>::_S_atomicity_lock = 0; +- ++ register _Atomic_word __result; ++ __asm__ __volatile__ ("lock; xadd{l} {%0,%1|%1,%0}" ++ : "=r" (__result), "=m" (*__mem) ++ : "0" (__val), "m" (*__mem)); + return __result; + } + + void + __attribute__ ((__unused__)) + __atomic_add(volatile _Atomic_word* __mem, int __val) throw () +- { __exchange_and_add(__mem, __val); } ++ { ++ __asm__ __volatile__ ("lock; add{l} {%1,%0|%0,%1}" ++ : "=m" (*__mem) : "ir" (__val), "m" (*__mem)); ++ } + + _GLIBCXX_END_NAMESPACE_VERSION + } // namespace ++ +diff --git a/libstdc++-v3/config/locale/gnu/c_locale.cc b/libstdc++-v3/config/locale/gnu/c_locale.cc +index 3c1cb0c85..a86b7b082 100644 +--- a/libstdc++-v3/config/locale/gnu/c_locale.cc ++++ b/libstdc++-v3/config/locale/gnu/c_locale.cc +@@ -41,6 +41,7 @@ namespace std _GLIBCXX_VISIBILITY(default) + { + _GLIBCXX_BEGIN_NAMESPACE_VERSION + ++#ifndef _GLIBCXX_NONSHARED_CXX98 + template<> + void + __convert_to_v(const char* __s, float& __v, ios_base::iostate& __err, +@@ -172,6 +173,7 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION + } + return __changed; + } ++#endif + + struct _CatalogIdComp + { +@@ -255,6 +257,7 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION + _GLIBCXX_END_NAMESPACE_VERSION + } // namespace + ++#ifndef _GLIBCXX_NONSHARED_CXX98 + namespace __gnu_cxx _GLIBCXX_VISIBILITY(default) + { + _GLIBCXX_BEGIN_NAMESPACE_VERSION +@@ -294,3 +297,4 @@ _GLIBCXX_END_NAMESPACE_VERSION + extern "C" void ldbl (void) __attribute__ ((alias (#dbl))) + _GLIBCXX_LDBL_COMPAT(_ZSt14__convert_to_vIdEvPKcRT_RSt12_Ios_IostateRKP15__locale_struct, _ZSt14__convert_to_vIeEvPKcRT_RSt12_Ios_IostateRKP15__locale_struct); + #endif // _GLIBCXX_LONG_DOUBLE_COMPAT ++#endif +diff --git a/libstdc++-v3/configure b/libstdc++-v3/configure +old mode 100755 +new mode 100644 +index 21abaeb07..0a09feeae +--- a/libstdc++-v3/configure ++++ b/libstdc++-v3/configure +@@ -633,6 +633,8 @@ ac_subst_vars='am__EXEEXT_FALSE + am__EXEEXT_TRUE + LTLIBOBJS + LIBOBJS ++CCASFLAGS ++CCAS + get_gcc_base_ver + WARN_FLAGS + OPTIMIZE_CXXFLAGS +@@ -5531,7 +5533,7 @@ $as_echo "$ac_cv_path_EGREP" >&6; } + # expandable list at autoconf time; the second provides an expandable list + # (i.e., shell variable) at configure time. + +- SUBDIRS='include libsupc++ src src/c++98 src/c++11 src/c++17 src/c++20 src/c++23 src/c++26 src/filesystem src/libbacktrace src/experimental doc po testsuite python' ++ SUBDIRS='include libsupc++ src src/c++98 src/c++11 src/c++17 src/c++20 src/c++23 src/c++26 src/nonshared98 src/nonshared11 src/nonshared17 src/nonshared20 src/nonshared23 src/nonshared26 src/filesystem src/libbacktrace src/experimental doc po testsuite python' + + # These need to be absolute paths, yet at the same time need to + # canonicalize only relative paths, because then amd will not unmount +@@ -55688,7 +55690,8 @@ if test "${with_gcc_major_version_only+set}" = set; then : + fi + + +- ++CCAS='$(CXX)' ++CCASFLAGS='$(CXXFLAGS)' + + ac_config_files="$ac_config_files Makefile" + +@@ -55709,7 +55712,7 @@ ac_config_files="$ac_config_files src/libbacktrace/backtrace-supported.h" + # append it here. Only modify Makefiles that have just been created. + # + # Also, get rid of this simulated-VPATH thing that automake does. +-ac_config_files="$ac_config_files include/Makefile libsupc++/Makefile src/Makefile src/c++98/Makefile src/c++11/Makefile src/c++17/Makefile src/c++20/Makefile src/c++23/Makefile src/c++26/Makefile src/filesystem/Makefile src/libbacktrace/Makefile src/experimental/Makefile doc/Makefile po/Makefile testsuite/Makefile python/Makefile" ++ac_config_files="$ac_config_files include/Makefile libsupc++/Makefile src/Makefile src/c++98/Makefile src/c++11/Makefile src/c++17/Makefile src/c++20/Makefile src/c++23/Makefile src/c++26/Makefile src/nonshared98/Makefile src/nonshared11/Makefile src/nonshared17/Makefile src/nonshared20/Makefile src/nonshared23/Makefile src/nonshared26/Makefile src/filesystem/Makefile src/libbacktrace/Makefile src/experimental/Makefile doc/Makefile po/Makefile testsuite/Makefile python/Makefile" + + + ac_config_commands="$ac_config_commands generate-headers" +@@ -56970,6 +56973,12 @@ do + "src/c++20/Makefile") CONFIG_FILES="$CONFIG_FILES src/c++20/Makefile" ;; + "src/c++23/Makefile") CONFIG_FILES="$CONFIG_FILES src/c++23/Makefile" ;; + "src/c++26/Makefile") CONFIG_FILES="$CONFIG_FILES src/c++26/Makefile" ;; ++ "src/nonshared98/Makefile") CONFIG_FILES="$CONFIG_FILES src/nonshared98/Makefile" ;; ++ "src/nonshared11/Makefile") CONFIG_FILES="$CONFIG_FILES src/nonshared11/Makefile" ;; ++ "src/nonshared17/Makefile") CONFIG_FILES="$CONFIG_FILES src/nonshared17/Makefile" ;; ++ "src/nonshared20/Makefile") CONFIG_FILES="$CONFIG_FILES src/nonshared20/Makefile" ;; ++ "src/nonshared23/Makefile") CONFIG_FILES="$CONFIG_FILES src/nonshared23/Makefile" ;; ++ "src/nonshared26/Makefile") CONFIG_FILES="$CONFIG_FILES src/nonshared26/Makefile" ;; + "src/filesystem/Makefile") CONFIG_FILES="$CONFIG_FILES src/filesystem/Makefile" ;; + "src/libbacktrace/Makefile") CONFIG_FILES="$CONFIG_FILES src/libbacktrace/Makefile" ;; + "src/experimental/Makefile") CONFIG_FILES="$CONFIG_FILES src/experimental/Makefile" ;; +@@ -58483,6 +58492,72 @@ _EOF + ;; + "src/c++26/Makefile":F) cat > vpsed$$ << \_EOF + s!`test -f '$<' || echo '$(srcdir)/'`!! ++_EOF ++ sed -f vpsed$$ $ac_file > tmp$$ ++ mv tmp$$ $ac_file ++ rm vpsed$$ ++ echo 'MULTISUBDIR =' >> $ac_file ++ ml_norecursion=yes ++ . ${multi_basedir}/config-ml.in ++ { ml_norecursion=; unset ml_norecursion;} ++ ;; ++ "src/nonshared98/Makefile":F) cat > vpsed$$ << \_EOF ++s!`test -f '$<' || echo '$(srcdir)/'`!! ++_EOF ++ sed -f vpsed$$ $ac_file > tmp$$ ++ mv tmp$$ $ac_file ++ rm vpsed$$ ++ echo 'MULTISUBDIR =' >> $ac_file ++ ml_norecursion=yes ++ . ${multi_basedir}/config-ml.in ++ { ml_norecursion=; unset ml_norecursion;} ++ ;; ++ "src/nonshared11/Makefile":F) cat > vpsed$$ << \_EOF ++s!`test -f '$<' || echo '$(srcdir)/'`!! ++_EOF ++ sed -f vpsed$$ $ac_file > tmp$$ ++ mv tmp$$ $ac_file ++ rm vpsed$$ ++ echo 'MULTISUBDIR =' >> $ac_file ++ ml_norecursion=yes ++ . ${multi_basedir}/config-ml.in ++ { ml_norecursion=; unset ml_norecursion;} ++ ;; ++ "src/nonshared17/Makefile":F) cat > vpsed$$ << \_EOF ++s!`test -f '$<' || echo '$(srcdir)/'`!! ++_EOF ++ sed -f vpsed$$ $ac_file > tmp$$ ++ mv tmp$$ $ac_file ++ rm vpsed$$ ++ echo 'MULTISUBDIR =' >> $ac_file ++ ml_norecursion=yes ++ . ${multi_basedir}/config-ml.in ++ { ml_norecursion=; unset ml_norecursion;} ++ ;; ++ "src/nonshared20/Makefile":F) cat > vpsed$$ << \_EOF ++s!`test -f '$<' || echo '$(srcdir)/'`!! ++_EOF ++ sed -f vpsed$$ $ac_file > tmp$$ ++ mv tmp$$ $ac_file ++ rm vpsed$$ ++ echo 'MULTISUBDIR =' >> $ac_file ++ ml_norecursion=yes ++ . ${multi_basedir}/config-ml.in ++ { ml_norecursion=; unset ml_norecursion;} ++ ;; ++ "src/nonshared23/Makefile":F) cat > vpsed$$ << \_EOF ++s!`test -f '$<' || echo '$(srcdir)/'`!! ++_EOF ++ sed -f vpsed$$ $ac_file > tmp$$ ++ mv tmp$$ $ac_file ++ rm vpsed$$ ++ echo 'MULTISUBDIR =' >> $ac_file ++ ml_norecursion=yes ++ . ${multi_basedir}/config-ml.in ++ { ml_norecursion=; unset ml_norecursion;} ++ ;; ++ "src/nonshared26/Makefile":F) cat > vpsed$$ << \_EOF ++s!`test -f '$<' || echo '$(srcdir)/'`!! + _EOF + sed -f vpsed$$ $ac_file > tmp$$ + mv tmp$$ $ac_file +diff --git a/libstdc++-v3/configure.ac b/libstdc++-v3/configure.ac +index 37396bd6e..907b8534f 100644 +--- a/libstdc++-v3/configure.ac ++++ b/libstdc++-v3/configure.ac +@@ -685,6 +685,11 @@ GLIBCXX_EXPORT_FLAGS + # Determine what GCC version number to use in filesystem paths. + GCC_BASE_VER + ++CCAS='$(CXX)' ++CCASFLAGS='$(CXXFLAGS)' ++AC_SUBST(CCAS) ++AC_SUBST(CCASFLAGS) ++ + dnl In autoconf 2.5x, AC_OUTPUT is replaced by four AC_CONFIG_* macros, + dnl which can all be called multiple times as needed, plus one (different) + dnl AC_OUTPUT macro. This one lists the files to be created: +diff --git a/libstdc++-v3/libsupc++/eh_exception.cc b/libstdc++-v3/libsupc++/eh_exception.cc +index 4c31981ab..744c45582 100644 +--- a/libstdc++-v3/libsupc++/eh_exception.cc ++++ b/libstdc++-v3/libsupc++/eh_exception.cc +@@ -26,6 +26,7 @@ + #include "exception" + #include + ++#ifndef _GLIBCXX_NONSHARED_CXX98 + std::exception::~exception() _GLIBCXX_TXN_SAFE_DYN _GLIBCXX_USE_NOEXCEPT { } + + std::bad_exception::~bad_exception() _GLIBCXX_TXN_SAFE_DYN +@@ -36,7 +37,7 @@ abi::__forced_unwind::~__forced_unwind() throw() { } + + abi::__foreign_exception::~__foreign_exception() throw() { } + +-const char* ++const char* + std::exception::what() const _GLIBCXX_TXN_SAFE_DYN _GLIBCXX_USE_NOEXCEPT + { + // NB: Another elegant option would be returning typeid(*this).name() +@@ -45,11 +46,12 @@ std::exception::what() const _GLIBCXX_TXN_SAFE_DYN _GLIBCXX_USE_NOEXCEPT + return "std::exception"; + } + +-const char* ++const char* + std::bad_exception::what() const _GLIBCXX_TXN_SAFE_DYN _GLIBCXX_USE_NOEXCEPT + { + return "std::bad_exception"; + } ++#endif + + // Transactional clones for the destructors and what(). + // what() is effectively transaction_pure, but we do not want to annotate it +diff --git a/libstdc++-v3/scripts/check_compile b/libstdc++-v3/scripts/check_compile +old mode 100755 +new mode 100644 +diff --git a/libstdc++-v3/scripts/check_performance b/libstdc++-v3/scripts/check_performance +old mode 100755 +new mode 100644 +diff --git a/libstdc++-v3/scripts/check_simd b/libstdc++-v3/scripts/check_simd +old mode 100755 +new mode 100644 +diff --git a/libstdc++-v3/scripts/create_testsuite_files b/libstdc++-v3/scripts/create_testsuite_files +old mode 100755 +new mode 100644 +diff --git a/libstdc++-v3/scripts/extract_symvers.in b/libstdc++-v3/scripts/extract_symvers.in +old mode 100755 +new mode 100644 +diff --git a/libstdc++-v3/scripts/gen_text_encoding_data.py b/libstdc++-v3/scripts/gen_text_encoding_data.py +old mode 100755 +new mode 100644 +diff --git a/libstdc++-v3/scripts/make_graph.py b/libstdc++-v3/scripts/make_graph.py +old mode 100755 +new mode 100644 +diff --git a/libstdc++-v3/scripts/testsuite_flags.in b/libstdc++-v3/scripts/testsuite_flags.in +old mode 100755 +new mode 100644 +diff --git a/libstdc++-v3/src/Makefile.am b/libstdc++-v3/src/Makefile.am +index 37ba1491d..f5e72f7b8 100644 +--- a/libstdc++-v3/src/Makefile.am ++++ b/libstdc++-v3/src/Makefile.am +@@ -43,7 +43,7 @@ experimental_dir = + endif + + ## Keep this list sync'd with acinclude.m4:GLIBCXX_CONFIGURE. +-SUBDIRS = c++98 c++11 c++17 c++20 c++23 c++26 \ ++SUBDIRS = c++98 c++11 c++17 c++20 c++23 c++26 nonshared98 nonshared11 nonshared17 nonshared20 nonshared23 nonshared26 \ + $(filesystem_dir) $(backtrace_dir) $(experimental_dir) + + # Cross compiler support. +@@ -53,6 +53,10 @@ else + toolexeclib_LTLIBRARIES = libstdc++.la + endif + ++noinst_LTLIBRARIES = libstdc++_nonshared48.la \ ++ libstdc++_nonshared80.la \ ++ libstdc++_nonshared110.la ++ + if VTV_CYGMIN + vtv_stubs.cc: + rm -f $@ +@@ -120,6 +124,51 @@ endif + parallel_compat_sources = \ + compatibility-parallel_list.cc compatibility-parallel_list-2.cc + ++libstdc___nonshared48_la_SOURCES = ++ ++libstdc___nonshared48_la_LIBADD = \ ++ $(top_builddir)/src/nonshared98/libnonshared98convenience48.la \ ++ $(top_builddir)/src/nonshared11/libnonshared11convenience48.la \ ++ $(top_builddir)/src/nonshared17/libnonshared17convenience48.la \ ++ $(top_builddir)/src/nonshared20/libnonshared20convenience48.la \ ++ $(top_builddir)/src/nonshared23/libnonshared23convenience48.la \ ++ $(top_builddir)/src/nonshared26/libnonshared26convenience48.la ++ ++libstdc___nonshared48_la_DEPENDENCIES = \ ++ $(top_builddir)/src/nonshared98/libnonshared98convenience48.la \ ++ $(top_builddir)/src/nonshared11/libnonshared11convenience48.la \ ++ $(top_builddir)/src/nonshared17/libnonshared17convenience48.la \ ++ $(top_builddir)/src/nonshared20/libnonshared20convenience48.la \ ++ $(top_builddir)/src/nonshared23/libnonshared23convenience48.la \ ++ $(top_builddir)/src/nonshared26/libnonshared26convenience48.la ++ ++libstdc___nonshared80_la_SOURCES = ++ ++libstdc___nonshared80_la_LIBADD = \ ++ $(top_builddir)/src/nonshared98/libnonshared98convenience80.la \ ++ $(top_builddir)/src/nonshared11/libnonshared11convenience80.la \ ++ $(top_builddir)/src/nonshared17/libnonshared17convenience80.la \ ++ $(top_builddir)/src/nonshared20/libnonshared20convenience80.la ++ ++libstdc___nonshared80_la_DEPENDENCIES = \ ++ $(top_builddir)/src/nonshared98/libnonshared98convenience80.la \ ++ $(top_builddir)/src/nonshared11/libnonshared11convenience80.la \ ++ $(top_builddir)/src/nonshared17/libnonshared17convenience80.la \ ++ $(top_builddir)/src/nonshared20/libnonshared20convenience80.la ++ ++libstdc___nonshared110_la_SOURCES = ++ ++libstdc___nonshared110_la_LIBADD = \ ++ $(top_builddir)/src/nonshared98/libnonshared98convenience110.la \ ++ $(top_builddir)/src/nonshared11/libnonshared11convenience110.la \ ++ $(top_builddir)/src/nonshared17/libnonshared17convenience110.la \ ++ $(top_builddir)/src/nonshared20/libnonshared20convenience110.la ++ ++libstdc___nonshared110_la_DEPENDENCIES = \ ++ $(top_builddir)/src/nonshared98/libnonshared98convenience110.la \ ++ $(top_builddir)/src/nonshared11/libnonshared11convenience110.la \ ++ $(top_builddir)/src/nonshared17/libnonshared17convenience110.la \ ++ $(top_builddir)/src/nonshared20/libnonshared20convenience110.la + + cxx98_sources = \ + compatibility.cc \ +diff --git a/libstdc++-v3/src/Makefile.in b/libstdc++-v3/src/Makefile.in +index 1bdf0daa8..271e7c089 100644 +--- a/libstdc++-v3/src/Makefile.in ++++ b/libstdc++-v3/src/Makefile.in +@@ -147,7 +147,7 @@ am__uninstall_files_from_dir = { \ + $(am__cd) "$$dir" && rm -f $$files; }; \ + } + am__installdirs = "$(DESTDIR)$(toolexeclibdir)" +-LTLIBRARIES = $(toolexeclib_LTLIBRARIES) ++LTLIBRARIES = $(noinst_LTLIBRARIES) $(toolexeclib_LTLIBRARIES) + am__DEPENDENCIES_1 = + @GLIBCXX_LDBL_COMPAT_TRUE@am__objects_1 = compatibility-ldbl.lo + am__objects_2 = compatibility.lo compatibility-debug_list.lo \ +@@ -167,6 +167,19 @@ am__objects_6 = $(am__objects_3) $(am__objects_5) + libstdc___la_OBJECTS = $(am_libstdc___la_OBJECTS) + @VTV_CYGMIN_FALSE@am_libstdc___la_rpath = -rpath $(toolexeclibdir) + @VTV_CYGMIN_TRUE@am_libstdc___la_rpath = -rpath $(toolexeclibdir) ++am_libstdc___nonshared110_la_OBJECTS = ++libstdc___nonshared110_la_OBJECTS = \ ++ $(am_libstdc___nonshared110_la_OBJECTS) ++AM_V_lt = $(am__v_lt_@AM_V@) ++am__v_lt_ = $(am__v_lt_@AM_DEFAULT_V@) ++am__v_lt_0 = --silent ++am__v_lt_1 = ++am_libstdc___nonshared48_la_OBJECTS = ++libstdc___nonshared48_la_OBJECTS = \ ++ $(am_libstdc___nonshared48_la_OBJECTS) ++am_libstdc___nonshared80_la_OBJECTS = ++libstdc___nonshared80_la_OBJECTS = \ ++ $(am_libstdc___nonshared80_la_OBJECTS) + libvtv_la_LIBADD = + @VTV_CYGMIN_TRUE@am_libvtv_la_OBJECTS = vtv_stubs.lo + libvtv_la_OBJECTS = $(am_libvtv_la_OBJECTS) +@@ -178,30 +191,46 @@ am__v_P_1 = : + AM_V_GEN = $(am__v_GEN_@AM_V@) + am__v_GEN_ = $(am__v_GEN_@AM_DEFAULT_V@) + am__v_GEN_0 = @echo " GEN " $@; +-am__v_GEN_1 = ++am__v_GEN_1 = + AM_V_at = $(am__v_at_@AM_V@) + am__v_at_ = $(am__v_at_@AM_DEFAULT_V@) + am__v_at_0 = @ +-am__v_at_1 = ++am__v_at_1 = + DEFAULT_INCLUDES = -I.@am__isrc@ -I$(top_builddir) + depcomp = + am__depfiles_maybe = + CXXCOMPILE = $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) \ + $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) +-AM_V_lt = $(am__v_lt_@AM_V@) +-am__v_lt_ = $(am__v_lt_@AM_DEFAULT_V@) +-am__v_lt_0 = --silent +-am__v_lt_1 = + AM_V_CXX = $(am__v_CXX_@AM_V@) + am__v_CXX_ = $(am__v_CXX_@AM_DEFAULT_V@) + am__v_CXX_0 = @echo " CXX " $@; +-am__v_CXX_1 = ++am__v_CXX_1 = + CXXLD = $(CXX) + AM_V_CXXLD = $(am__v_CXXLD_@AM_V@) + am__v_CXXLD_ = $(am__v_CXXLD_@AM_DEFAULT_V@) + am__v_CXXLD_0 = @echo " CXXLD " $@; +-am__v_CXXLD_1 = +-SOURCES = $(libstdc___la_SOURCES) $(libvtv_la_SOURCES) ++am__v_CXXLD_1 = ++COMPILE = $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) \ ++ $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) ++LTCOMPILE = $(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) \ ++ $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) \ ++ $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) \ ++ $(AM_CFLAGS) $(CFLAGS) ++AM_V_CC = $(am__v_CC_@AM_V@) ++am__v_CC_ = $(am__v_CC_@AM_DEFAULT_V@) ++am__v_CC_0 = @echo " CC " $@; ++am__v_CC_1 = ++CCLD = $(CC) ++LINK = $(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) \ ++ $(LIBTOOLFLAGS) --mode=link $(CCLD) $(AM_CFLAGS) $(CFLAGS) \ ++ $(AM_LDFLAGS) $(LDFLAGS) -o $@ ++AM_V_CCLD = $(am__v_CCLD_@AM_V@) ++am__v_CCLD_ = $(am__v_CCLD_@AM_DEFAULT_V@) ++am__v_CCLD_0 = @echo " CCLD " $@; ++am__v_CCLD_1 = ++SOURCES = $(libstdc___la_SOURCES) $(libstdc___nonshared110_la_SOURCES) \ ++ $(libstdc___nonshared48_la_SOURCES) \ ++ $(libstdc___nonshared80_la_SOURCES) $(libvtv_la_SOURCES) + RECURSIVE_TARGETS = all-recursive check-recursive cscopelist-recursive \ + ctags-recursive dvi-recursive html-recursive info-recursive \ + install-data-recursive install-dvi-recursive \ +@@ -242,7 +271,7 @@ am__define_uniq_tagged_files = \ + ETAGS = etags + CTAGS = ctags + DIST_SUBDIRS = c++98 c++11 c++17 c++20 c++23 c++26 filesystem \ +- libbacktrace experimental ++ libbacktrace experimental nonshared98 nonshared11 nonshared17 nonshared20 nonshared23 nonshared26 + ABI_TWEAKS_SRCDIR = @ABI_TWEAKS_SRCDIR@ + ACLOCAL = @ACLOCAL@ + ALLOCATOR_H = @ALLOCATOR_H@ +@@ -465,11 +494,11 @@ PWD_COMMAND = $${PWDCMD-pwd} + STAMP = echo timestamp > + toolexecdir = $(glibcxx_toolexecdir) + toolexeclibdir = $(glibcxx_toolexeclibdir) +-@ENABLE_WERROR_FALSE@WERROR_FLAG = ++@ENABLE_WERROR_FALSE@WERROR_FLAG = + @ENABLE_WERROR_TRUE@WERROR_FLAG = -Werror +-@ENABLE_EXTERN_TEMPLATE_FALSE@XTEMPLATE_FLAGS = ++@ENABLE_EXTERN_TEMPLATE_FALSE@XTEMPLATE_FLAGS = + @ENABLE_EXTERN_TEMPLATE_TRUE@XTEMPLATE_FLAGS = -fno-implicit-templates +-@GLIBCXX_LDBL_ALT128_COMPAT_FALSE@LDBL_128_FLAGS = ++@GLIBCXX_LDBL_ALT128_COMPAT_FALSE@LDBL_128_FLAGS = + @GLIBCXX_LDBL_ALT128_COMPAT_TRUE@LDBL_128_FLAGS = $(LONG_DOUBLE_128_FLAGS) + + # These bits are all figured out from configure. Look in acinclude.m4 +@@ -478,23 +507,27 @@ CONFIG_CXXFLAGS = \ + $(SECTION_FLAGS) $(HWCAP_CFLAGS) -frandom-seed=$@ $(LDBL_128_FLAGS) + + WARN_CXXFLAGS = \ +- $(WARN_FLAGS) $(WERROR_FLAG) -fdiagnostics-show-location=once ++ $(WARN_FLAGS) $(WERROR_FLAG) -fdiagnostics-show-location=once + + + # -I/-D flags to pass when compiling. + AM_CPPFLAGS = $(GLIBCXX_INCLUDES) $(CPPFLAGS) +-@ENABLE_FILESYSTEM_TS_FALSE@@GLIBCXX_HOSTED_TRUE@filesystem_dir = ++@ENABLE_FILESYSTEM_TS_FALSE@@GLIBCXX_HOSTED_TRUE@filesystem_dir = + @ENABLE_FILESYSTEM_TS_TRUE@@GLIBCXX_HOSTED_TRUE@filesystem_dir = filesystem +-@GLIBCXX_HOSTED_FALSE@filesystem_dir = +-@ENABLE_BACKTRACE_FALSE@@GLIBCXX_HOSTED_TRUE@backtrace_dir = ++@GLIBCXX_HOSTED_FALSE@filesystem_dir = ++@ENABLE_BACKTRACE_FALSE@@GLIBCXX_HOSTED_TRUE@backtrace_dir = + @ENABLE_BACKTRACE_TRUE@@GLIBCXX_HOSTED_TRUE@backtrace_dir = libbacktrace +-@GLIBCXX_HOSTED_FALSE@backtrace_dir = +-@GLIBCXX_HOSTED_FALSE@experimental_dir = ++@GLIBCXX_HOSTED_FALSE@backtrace_dir = ++@GLIBCXX_HOSTED_FALSE@experimental_dir = + @GLIBCXX_HOSTED_TRUE@experimental_dir = experimental + SUBDIRS = c++98 c++11 c++17 c++20 c++23 c++26 \ ++ nonshared98 nonshared11 nonshared17 nonshared20 nonshared23 nonshared26 \ + $(filesystem_dir) $(backtrace_dir) $(experimental_dir) + + @VTV_CYGMIN_FALSE@toolexeclib_LTLIBRARIES = libstdc++.la ++noinst_LTLIBRARIES = libstdc++_nonshared48.la \ ++ libstdc++_nonshared80.la \ ++ libstdc++_nonshared110.la + + # Cross compiler support. + @VTV_CYGMIN_TRUE@toolexeclib_LTLIBRARIES = libvtv.la libstdc++.la +@@ -510,13 +543,13 @@ SUBDIRS = c++98 c++11 c++17 c++20 c++23 c++26 \ + @VTV_CYGMIN_TRUE@ $(LIBTOOLFLAGS) --mode=link $(CXXLD) $(libvtv_la_AM_CXXFLAGS) \ + @VTV_CYGMIN_TRUE@ $(CXXFLAGS) $(libvtv_la_LDFLAGS) $(LDFLAGS) -o $@ + +-@GLIBCXX_LDBL_COMPAT_FALSE@ldbl_compat_sources = ++@GLIBCXX_LDBL_COMPAT_FALSE@ldbl_compat_sources = + @GLIBCXX_LDBL_COMPAT_TRUE@ldbl_compat_sources = compatibility-ldbl.cc +-@ENABLE_DUAL_ABI_FALSE@@GLIBCXX_LDBL_ALT128_COMPAT_TRUE@ldbl_alt128_compat_cxx11_sources = ++@ENABLE_DUAL_ABI_FALSE@@GLIBCXX_LDBL_ALT128_COMPAT_TRUE@ldbl_alt128_compat_cxx11_sources = + @ENABLE_DUAL_ABI_TRUE@@GLIBCXX_LDBL_ALT128_COMPAT_TRUE@ldbl_alt128_compat_cxx11_sources = \ + @ENABLE_DUAL_ABI_TRUE@@GLIBCXX_LDBL_ALT128_COMPAT_TRUE@ compatibility-ldbl-alt128-cxx11.cc + +-@GLIBCXX_LDBL_ALT128_COMPAT_FALSE@ldbl_alt128_compat_sources = ++@GLIBCXX_LDBL_ALT128_COMPAT_FALSE@ldbl_alt128_compat_sources = + @GLIBCXX_LDBL_ALT128_COMPAT_TRUE@ldbl_alt128_compat_sources = \ + @GLIBCXX_LDBL_ALT128_COMPAT_TRUE@ compatibility-ldbl-alt128.cc \ + @GLIBCXX_LDBL_ALT128_COMPAT_TRUE@ ${ldbl_alt128_compat_cxx11_sources} +@@ -528,10 +561,56 @@ SUBDIRS = c++98 c++11 c++17 c++20 c++23 c++26 \ + @ENABLE_SYMVERS_GNU_NAMESPACE_FALSE@ compatibility-condvar.cc \ + @ENABLE_SYMVERS_GNU_NAMESPACE_FALSE@ compatibility-thread-c++0x.cc + +-@ENABLE_SYMVERS_GNU_NAMESPACE_TRUE@cxx0x_compat_sources = ++@ENABLE_SYMVERS_GNU_NAMESPACE_TRUE@cxx0x_compat_sources = + parallel_compat_sources = \ + compatibility-parallel_list.cc compatibility-parallel_list-2.cc + ++ ++libstdc___nonshared48_la_SOURCES = ++ ++libstdc___nonshared48_la_LIBADD = \ ++ $(top_builddir)/src/nonshared98/libnonshared98convenience48.la \ ++ $(top_builddir)/src/nonshared11/libnonshared11convenience48.la \ ++ $(top_builddir)/src/nonshared17/libnonshared17convenience48.la \ ++ $(top_builddir)/src/nonshared20/libnonshared20convenience48.la \ ++ $(top_builddir)/src/nonshared23/libnonshared23convenience48.la \ ++ $(top_builddir)/src/nonshared26/libnonshared26convenience48.la ++ ++libstdc___nonshared48_la_DEPENDENCIES = \ ++ $(top_builddir)/src/nonshared98/libnonshared98convenience48.la \ ++ $(top_builddir)/src/nonshared11/libnonshared11convenience48.la \ ++ $(top_builddir)/src/nonshared17/libnonshared17convenience48.la \ ++ $(top_builddir)/src/nonshared20/libnonshared20convenience48.la \ ++ $(top_builddir)/src/nonshared23/libnonshared23convenience48.la \ ++ $(top_builddir)/src/nonshared26/libnonshared26convenience48.la ++ ++libstdc___nonshared80_la_SOURCES = ++ ++libstdc___nonshared80_la_LIBADD = \ ++ $(top_builddir)/src/nonshared98/libnonshared98convenience80.la \ ++ $(top_builddir)/src/nonshared11/libnonshared11convenience80.la \ ++ $(top_builddir)/src/nonshared17/libnonshared17convenience80.la \ ++ $(top_builddir)/src/nonshared20/libnonshared20convenience80.la ++ ++libstdc___nonshared80_la_DEPENDENCIES = \ ++ $(top_builddir)/src/nonshared98/libnonshared98convenience80.la \ ++ $(top_builddir)/src/nonshared11/libnonshared11convenience80.la \ ++ $(top_builddir)/src/nonshared17/libnonshared17convenience80.la \ ++ $(top_builddir)/src/nonshared20/libnonshared20convenience80.la ++ ++libstdc___nonshared110_la_SOURCES = ++ ++libstdc___nonshared110_la_LIBADD = \ ++ $(top_builddir)/src/nonshared98/libnonshared98convenience110.la \ ++ $(top_builddir)/src/nonshared11/libnonshared11convenience110.la \ ++ $(top_builddir)/src/nonshared17/libnonshared17convenience110.la \ ++ $(top_builddir)/src/nonshared20/libnonshared20convenience110.la ++ ++libstdc___nonshared110_la_DEPENDENCIES = \ ++ $(top_builddir)/src/nonshared98/libnonshared98convenience110.la \ ++ $(top_builddir)/src/nonshared11/libnonshared11convenience110.la \ ++ $(top_builddir)/src/nonshared17/libnonshared17convenience110.la \ ++ $(top_builddir)/src/nonshared20/libnonshared20convenience110.la + cxx98_sources = \ + compatibility.cc \ + compatibility-debug_list.cc \ +@@ -544,7 +623,7 @@ cxx11_sources = \ + + # When freestanding, there's currently no compatibility to preserve. Should + # that change, any compatibility sources can be added here. +-@GLIBCXX_HOSTED_FALSE@libstdc___la_SOURCES = ++@GLIBCXX_HOSTED_FALSE@libstdc___la_SOURCES = + @GLIBCXX_HOSTED_TRUE@libstdc___la_SOURCES = $(cxx98_sources) $(cxx11_sources) + libstdc___la_LIBADD = \ + $(GLIBCXX_LIBS) \ +@@ -668,27 +747,27 @@ CXXLINK = \ + + @ENABLE_SYMVERS_TRUE@CLEANFILES = libstdc++-symbols.ver $(version_dep) + @ENABLE_SYMVERS_DARWIN_TRUE@@ENABLE_SYMVERS_TRUE@version_arg = -Wl,-exported_symbols_list,libstdc++-symbols.explist +-@ENABLE_SYMVERS_FALSE@version_arg = ++@ENABLE_SYMVERS_FALSE@version_arg = + @ENABLE_SYMVERS_GNU_NAMESPACE_TRUE@@ENABLE_SYMVERS_TRUE@version_arg = -Wl,--version-script=libstdc++-symbols.ver + @ENABLE_SYMVERS_GNU_TRUE@@ENABLE_SYMVERS_TRUE@version_arg = -Wl,--version-script=libstdc++-symbols.ver + @ENABLE_SYMVERS_SUN_TRUE@@ENABLE_SYMVERS_TRUE@version_arg = -Wl,-M,libstdc++-symbols.ver-sun + @ENABLE_SYMVERS_DARWIN_TRUE@@ENABLE_SYMVERS_TRUE@version_dep = libstdc++-symbols.explist +-@ENABLE_SYMVERS_FALSE@version_dep = ++@ENABLE_SYMVERS_FALSE@version_dep = + @ENABLE_SYMVERS_GNU_NAMESPACE_TRUE@@ENABLE_SYMVERS_TRUE@version_dep = libstdc++-symbols.ver + @ENABLE_SYMVERS_GNU_TRUE@@ENABLE_SYMVERS_TRUE@version_dep = libstdc++-symbols.ver + @ENABLE_SYMVERS_SUN_TRUE@@ENABLE_SYMVERS_TRUE@version_dep = libstdc++-symbols.ver-sun +-@GLIBCXX_BUILD_DEBUG_FALSE@STAMP_DEBUG = ++@GLIBCXX_BUILD_DEBUG_FALSE@STAMP_DEBUG = + + # Added rules. + # 1 debug library + # 2 supra-convenience library + @GLIBCXX_BUILD_DEBUG_TRUE@STAMP_DEBUG = build-debug +-@GLIBCXX_BUILD_DEBUG_FALSE@STAMP_INSTALL_DEBUG = ++@GLIBCXX_BUILD_DEBUG_FALSE@STAMP_INSTALL_DEBUG = + @GLIBCXX_BUILD_DEBUG_TRUE@STAMP_INSTALL_DEBUG = install-debug +-@GLIBCXX_BUILD_DEBUG_FALSE@CLEAN_DEBUG = ++@GLIBCXX_BUILD_DEBUG_FALSE@CLEAN_DEBUG = + @GLIBCXX_BUILD_DEBUG_TRUE@CLEAN_DEBUG = debug + @ENABLE_BACKTRACE_TRUE@backtrace_supported_h = $(backtrace_dir)/backtrace-supported.h +-@ENABLE_BACKTRACE_FALSE@debug_backtrace_supported_h = ++@ENABLE_BACKTRACE_FALSE@debug_backtrace_supported_h = + @ENABLE_BACKTRACE_TRUE@debug_backtrace_supported_h = debug/$(backtrace_supported_h) + all: all-recursive + +@@ -725,6 +804,17 @@ $(ACLOCAL_M4): @MAINTAINER_MODE_TRUE@ $(am__aclocal_m4_deps) + cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh + $(am__aclocal_m4_deps): + ++clean-noinstLTLIBRARIES: ++ -test -z "$(noinst_LTLIBRARIES)" || rm -f $(noinst_LTLIBRARIES) ++ @list='$(noinst_LTLIBRARIES)'; \ ++ locs=`for p in $$list; do echo $$p; done | \ ++ sed 's|^[^/]*$$|.|; s|/[^/]*$$||; s|$$|/so_locations|' | \ ++ sort -u`; \ ++ test -z "$$locs" || { \ ++ echo rm -f $${locs}; \ ++ rm -f $${locs}; \ ++ } ++ + install-toolexeclibLTLIBRARIES: $(toolexeclib_LTLIBRARIES) + @$(NORMAL_INSTALL) + @list='$(toolexeclib_LTLIBRARIES)'; test -n "$(toolexeclibdir)" || list=; \ +@@ -760,10 +850,20 @@ clean-toolexeclibLTLIBRARIES: + rm -f $${locs}; \ + } + +-libstdc++.la: $(libstdc___la_OBJECTS) $(libstdc___la_DEPENDENCIES) $(EXTRA_libstdc___la_DEPENDENCIES) ++libstdc++.la: $(libstdc___la_OBJECTS) $(libstdc___la_DEPENDENCIES) $(EXTRA_libstdc___la_DEPENDENCIES) + $(AM_V_GEN)$(libstdc___la_LINK) $(am_libstdc___la_rpath) $(libstdc___la_OBJECTS) $(libstdc___la_LIBADD) $(LIBS) + +-libvtv.la: $(libvtv_la_OBJECTS) $(libvtv_la_DEPENDENCIES) $(EXTRA_libvtv_la_DEPENDENCIES) ++libstdc++_nonshared110.la: $(libstdc___nonshared110_la_OBJECTS) $(libstdc___nonshared110_la_DEPENDENCIES) $(EXTRA_libstdc___nonshared110_la_DEPENDENCIES) ++ $(AM_V_CCLD)$(LINK) $(libstdc___nonshared110_la_OBJECTS) $(libstdc___nonshared110_la_LIBADD) $(LIBS) ++ ++libstdc++_nonshared48.la: $(libstdc___nonshared48_la_OBJECTS) $(libstdc___nonshared48_la_DEPENDENCIES) $(EXTRA_libstdc___nonshared48_la_DEPENDENCIES) ++ $(AM_V_CCLD)$(LINK) $(libstdc___nonshared48_la_OBJECTS) $(libstdc___nonshared48_la_LIBADD) $(LIBS) ++ ++libstdc++_nonshared80.la: $(libstdc___nonshared80_la_OBJECTS) $(libstdc___nonshared80_la_DEPENDENCIES) $(EXTRA_libstdc___nonshared80_la_DEPENDENCIES) ++ $(AM_V_CCLD)$(LINK) $(libstdc___nonshared80_la_OBJECTS) $(libstdc___nonshared80_la_LIBADD) $(LIBS) ++ ++ ++libvtv.la: $(libvtv_la_OBJECTS) $(libvtv_la_DEPENDENCIES) $(EXTRA_libvtv_la_DEPENDENCIES) + $(AM_V_GEN)$(libvtv_la_LINK) $(am_libvtv_la_rpath) $(libvtv_la_OBJECTS) $(libvtv_la_LIBADD) $(LIBS) + + mostlyclean-compile: +@@ -927,7 +1027,8 @@ maintainer-clean-generic: + clean: clean-recursive + + clean-am: clean-generic clean-libtool clean-local \ +- clean-toolexeclibLTLIBRARIES mostlyclean-am ++ clean-noinstLTLIBRARIES clean-toolexeclibLTLIBRARIES \ ++ mostlyclean-am + + distclean: distclean-recursive + -rm -f Makefile +@@ -997,14 +1098,14 @@ uninstall-am: uninstall-toolexeclibLTLIBRARIES + + .PHONY: $(am__recursive_targets) CTAGS GTAGS TAGS all all-am all-local \ + check check-am clean clean-generic clean-libtool clean-local \ +- clean-toolexeclibLTLIBRARIES cscopelist-am ctags ctags-am \ +- distclean distclean-compile distclean-generic \ +- distclean-libtool distclean-tags dvi dvi-am html html-am info \ +- info-am install install-am install-data install-data-am \ +- install-data-local install-dvi install-dvi-am install-exec \ +- install-exec-am install-html install-html-am install-info \ +- install-info-am install-man install-pdf install-pdf-am \ +- install-ps install-ps-am install-strip \ ++ clean-noinstLTLIBRARIES clean-toolexeclibLTLIBRARIES \ ++ cscopelist-am ctags ctags-am distclean distclean-compile \ ++ distclean-generic distclean-libtool distclean-tags dvi dvi-am \ ++ html html-am info info-am install install-am install-data \ ++ install-data-am install-data-local install-dvi install-dvi-am \ ++ install-exec install-exec-am install-html install-html-am \ ++ install-info install-info-am install-man install-pdf \ ++ install-pdf-am install-ps install-ps-am install-strip \ + install-toolexeclibLTLIBRARIES installcheck installcheck-am \ + installdirs installdirs-am maintainer-clean \ + maintainer-clean-generic mostlyclean mostlyclean-compile \ +diff --git a/libstdc++-v3/src/c++11/codecvt.cc b/libstdc++-v3/src/c++11/codecvt.cc +index 3e45159ea..fbb770935 100644 +--- a/libstdc++-v3/src/c++11/codecvt.cc ++++ b/libstdc++-v3/src/c++11/codecvt.cc +@@ -744,6 +744,7 @@ namespace + } + } + ++#ifndef _GLIBCXX_NONSHARED_CXX11_80 + // Define members of codecvt specialization. + // Converts from UTF-8 to UTF-16. + +@@ -891,6 +892,7 @@ codecvt::do_max_length() const throw() + // up to 4 UTF-8 code units. + return 4; + } ++#endif + + #if defined(_GLIBCXX_USE_CHAR8_T) + // Define members of codecvt specialization. +@@ -1042,6 +1044,7 @@ codecvt::do_max_length() const throw() + } + #endif // _GLIBCXX_USE_CHAR8_T + ++#ifndef _GLIBCXX_NONSHARED_CXX11_80 + // Define members of codecvt_utf8 base class implementation. + // Converts from UTF-8 to UCS-2. + +@@ -1791,11 +1794,14 @@ __codecvt_utf8_utf16_base::do_max_length() const throw() + return max; + } + #endif ++#endif + + inline template class __codecvt_abstract_base; + inline template class __codecvt_abstract_base; ++#ifndef _GLIBCXX_NONSHARED_CXX11_80 + template class codecvt_byname; + template class codecvt_byname; ++#endif + + #if defined(_GLIBCXX_USE_CHAR8_T) + inline template class __codecvt_abstract_base; +diff --git a/libstdc++-v3/src/c++11/condition_variable.cc b/libstdc++-v3/src/c++11/condition_variable.cc +index cd39a96b8..e7b4d39df 100644 +--- a/libstdc++-v3/src/c++11/condition_variable.cc ++++ b/libstdc++-v3/src/c++11/condition_variable.cc +@@ -31,9 +31,11 @@ namespace std _GLIBCXX_VISIBILITY(default) + { + _GLIBCXX_BEGIN_NAMESPACE_VERSION + ++#ifndef _GLIBCXX_NONSHARED_CXX11 + condition_variable::condition_variable() noexcept = default; + + condition_variable::~condition_variable() noexcept = default; ++#endif + + void + condition_variable::wait(unique_lock& __lock) +@@ -41,6 +43,7 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION + _M_cond.wait(*__lock.mutex()); + } + ++#ifndef _GLIBCXX_NONSHARED_CXX11 + void + condition_variable::notify_one() noexcept + { +@@ -52,6 +55,7 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION + { + _M_cond.notify_all(); + } ++#endif + + extern void + __at_thread_exit(__at_thread_exit_elt*); +diff --git a/libstdc++-v3/src/c++11/cxx11-ios_failure.cc b/libstdc++-v3/src/c++11/cxx11-ios_failure.cc +index bd3fd556b..a409fd116 100644 +--- a/libstdc++-v3/src/c++11/cxx11-ios_failure.cc ++++ b/libstdc++-v3/src/c++11/cxx11-ios_failure.cc +@@ -122,9 +122,11 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION + using __ios_failure = ios::failure; + #endif + ++#ifndef _GLIBCXX_NONSHARED_CXX11_80 + void + __throw_ios_failure(const char* __s __attribute__((unused))) + { _GLIBCXX_THROW_OR_ABORT(__ios_failure(_(__s))); } ++#endif + + void + __throw_ios_failure(const char* str __attribute__((unused)), +diff --git a/libstdc++-v3/src/c++11/futex.cc b/libstdc++-v3/src/c++11/futex.cc +index ada2fdf3c..b4bfbefed 100644 +--- a/libstdc++-v3/src/c++11/futex.cc ++++ b/libstdc++-v3/src/c++11/futex.cc +@@ -108,6 +108,7 @@ namespace + } + } // namespace + ++#ifndef _GLIBCXX_NONSHARED_CXX11_80 + bool + __atomic_futex_unsigned_base:: + _M_futex_wait_until(unsigned *__addr, unsigned __val, bool __has_timeout, +@@ -182,6 +183,7 @@ namespace + return true; + } + } ++#endif + + bool + __atomic_futex_unsigned_base:: +@@ -261,6 +263,7 @@ namespace + } + } + ++#ifndef _GLIBCXX_NONSHARED_CXX11_80 + void + __atomic_futex_unsigned_base::_M_futex_notify_all(unsigned* __addr) + { +@@ -269,6 +272,7 @@ namespace + // the error codes. See the futex documentation and glibc for background. + syscall (SYS_futex, __addr, futex_wake_op, INT_MAX); + } ++#endif + + _GLIBCXX_END_NAMESPACE_VERSION + } +diff --git a/libstdc++-v3/src/c++11/future.cc b/libstdc++-v3/src/c++11/future.cc +index d3f3d2011..83c7a2595 100644 +--- a/libstdc++-v3/src/c++11/future.cc ++++ b/libstdc++-v3/src/c++11/future.cc +@@ -29,6 +29,7 @@ + # define __constinit [[clang::require_constant_initialization]] + #endif + ++#ifndef _GLIBCXX_NONSHARED_CXX11_48 + namespace + { + struct future_error_category final : public std::error_category +@@ -76,6 +77,7 @@ namespace + + __constinit constant_init future_category_instance{}; + } ++#endif + + namespace std _GLIBCXX_VISIBILITY(default) + { +@@ -85,6 +87,7 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION + __throw_future_error(int __i __attribute__((unused))) + { _GLIBCXX_THROW_OR_ABORT(future_error(make_error_code(future_errc(__i)))); } + ++#ifndef _GLIBCXX_NONSHARED_CXX11_48 + const error_category& future_category() noexcept + { return future_category_instance.cat; } + +@@ -92,11 +95,14 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION + + const char* + future_error::what() const noexcept { return logic_error::what(); } ++#endif + + #ifdef _GLIBCXX_HAS_GTHREADS ++#ifndef _GLIBCXX_NONSHARED_CXX11_48 + __future_base::_Result_base::_Result_base() = default; + + __future_base::_Result_base::~_Result_base() = default; ++#endif + + void + __future_base::_State_baseV2::_Make_ready::_S_run(void* p) +diff --git a/libstdc++-v3/src/c++11/ios.cc b/libstdc++-v3/src/c++11/ios.cc +index 9c2452a54..eb10093e2 100644 +--- a/libstdc++-v3/src/c++11/ios.cc ++++ b/libstdc++-v3/src/c++11/ios.cc +@@ -33,6 +33,7 @@ namespace std _GLIBCXX_VISIBILITY(default) + { + _GLIBCXX_BEGIN_NAMESPACE_VERSION + ++#ifndef _GLIBCXX_NONSHARED_CXX11 + // Definitions for static const members of ios_base. + const ios_base::fmtflags ios_base::boolalpha; + const ios_base::fmtflags ios_base::dec; +@@ -184,6 +185,7 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION + } + _M_callbacks = 0; + } ++#endif + + void + ios_base::_M_move(ios_base& __rhs) noexcept +diff --git a/libstdc++-v3/src/c++11/random.cc b/libstdc++-v3/src/c++11/random.cc +index b4bf0a785..c66c2ed21 100644 +--- a/libstdc++-v3/src/c++11/random.cc ++++ b/libstdc++-v3/src/c++11/random.cc +@@ -543,6 +543,7 @@ namespace std _GLIBCXX_VISIBILITY(default) + } + + // Called by old ABI version of random_device::_M_init(const std::string&). ++#ifndef _GLIBCXX_NONSHARED_CXX11_48 + void + random_device::_M_init(const char* s, size_t len) + { +@@ -621,6 +622,7 @@ namespace std _GLIBCXX_VISIBILITY(default) + random_device::result_type + random_device::_M_getval_pretr1() + { return _M_getval(); } ++#endif + + double + random_device::_M_getentropy() const noexcept +diff --git a/libstdc++-v3/src/c++11/shared_ptr.cc b/libstdc++-v3/src/c++11/shared_ptr.cc +index 4b02cb25c..06235b281 100644 +--- a/libstdc++-v3/src/c++11/shared_ptr.cc ++++ b/libstdc++-v3/src/c++11/shared_ptr.cc +@@ -53,11 +53,14 @@ namespace std _GLIBCXX_VISIBILITY(default) + { + _GLIBCXX_BEGIN_NAMESPACE_VERSION + ++#ifndef _GLIBCXX_NONSHARED_CXX11_80 ++#ifndef _GLIBCXX_NONSHARED_CXX11_48 + bad_weak_ptr::~bad_weak_ptr() noexcept = default; + + char const* + bad_weak_ptr::what() const noexcept + { return "bad_weak_ptr"; } ++#endif + + #ifdef __GTHREADS + namespace +@@ -102,6 +105,7 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION + __gnu_internal::get_mutex(_M_key2).unlock(); + } + } ++#endif + #endif + + bool +diff --git a/libstdc++-v3/src/c++11/system_error.cc b/libstdc++-v3/src/c++11/system_error.cc +index d01451ba1..04fd6cdf1 100644 +--- a/libstdc++-v3/src/c++11/system_error.cc ++++ b/libstdc++-v3/src/c++11/system_error.cc +@@ -607,7 +607,9 @@ _GLIBCXX_BEGIN_INLINE_ABI_NAMESPACE(_V2) + + _GLIBCXX_END_INLINE_ABI_NAMESPACE(_V2) + ++#ifndef _GLIBCXX_NONSHARED_CXX11 + system_error::~system_error() = default; ++#endif + + error_condition + error_category::default_error_condition(int __i) const noexcept +@@ -622,9 +624,11 @@ _GLIBCXX_END_INLINE_ABI_NAMESPACE(_V2) + error_category::equivalent(const error_code& __code, int __i) const noexcept + { return *this == __code.category() && __code.value() == __i; } + ++#ifndef _GLIBCXX_NONSHARED_CXX11 + error_condition + error_code::default_error_condition() const noexcept + { return category().default_error_condition(value()); } ++#endif + + #if _GLIBCXX_USE_CXX11_ABI + // Return error_category::message() as a COW string +diff --git a/libstdc++-v3/src/c++11/thread.cc b/libstdc++-v3/src/c++11/thread.cc +index e516e6f97..0d68bc64c 100644 +--- a/libstdc++-v3/src/c++11/thread.cc ++++ b/libstdc++-v3/src/c++11/thread.cc +@@ -211,6 +211,7 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION + } + #endif + ++#ifndef _GLIBCXX_NONSHARED_CXX11_48 + unsigned int + thread::hardware_concurrency() noexcept + { +@@ -219,6 +220,7 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION + __n = 0; + return __n; + } ++#endif + + _GLIBCXX_END_NAMESPACE_VERSION + } // namespace std +@@ -231,6 +233,7 @@ namespace std _GLIBCXX_VISIBILITY(default) + _GLIBCXX_BEGIN_NAMESPACE_VERSION + namespace this_thread + { ++#ifndef _GLIBCXX_NONSHARED_CXX11_48 + void + __sleep_for(chrono::seconds __s, chrono::nanoseconds __ns) + { +@@ -279,6 +282,7 @@ namespace this_thread + ::Sleep(chrono::milliseconds(__s).count() + ms); + #endif + } ++#endif + } + _GLIBCXX_END_NAMESPACE_VERSION + } // namespace std +diff --git a/libstdc++-v3/src/c++17/floating_from_chars.cc b/libstdc++-v3/src/c++17/floating_from_chars.cc +index e0870dca7..91a386176 100644 +--- a/libstdc++-v3/src/c++17/floating_from_chars.cc ++++ b/libstdc++-v3/src/c++17/floating_from_chars.cc +@@ -1225,6 +1225,7 @@ namespace + + #if USE_LIB_FAST_FLOAT || USE_STRTOD_FOR_FROM_CHARS + ++#ifndef _GLIBCXX_NONSHARED_CXX11_110 + from_chars_result + from_chars(const char* first, const char* last, float& value, + chars_format fmt) noexcept +@@ -1274,6 +1275,7 @@ from_chars(const char* first, const char* last, long double& value, + return from_chars_strtod(first, last, value, fmt); + #endif + } ++#endif + + #if USE_LIB_FAST_FLOAT + // Entrypoints for 16-bit floats. +@@ -1300,6 +1302,7 @@ __from_chars_bfloat16_t(const char* first, const char* last, float& value, + } + #endif + ++#ifndef _GLIBCXX_NONSHARED_CXX11_110 + #ifdef _GLIBCXX_LONG_DOUBLE_COMPAT + // Make std::from_chars for 64-bit long double an alias for the overload + // for double. +@@ -1309,6 +1312,7 @@ _ZSt10from_charsPKcS0_ReSt12chars_format(const char* first, const char* last, + chars_format fmt) noexcept + __attribute__((alias ("_ZSt10from_charsPKcS0_RdSt12chars_format"))); + #endif ++#endif + + #ifdef _GLIBCXX_LONG_DOUBLE_ALT128_COMPAT + from_chars_result +diff --git a/libstdc++-v3/src/c++17/floating_to_chars.cc b/libstdc++-v3/src/c++17/floating_to_chars.cc +index 2c9da977c..2779d2092 100644 +--- a/libstdc++-v3/src/c++17/floating_to_chars.cc ++++ b/libstdc++-v3/src/c++17/floating_to_chars.cc +@@ -1767,6 +1767,7 @@ template + __builtin_unreachable(); + } + ++#ifndef _GLIBCXX_NONSHARED_CXX11_110 + // Define the overloads for float. + to_chars_result + to_chars(char* first, char* last, float value) noexcept +@@ -1830,6 +1831,7 @@ to_chars(char* first, char* last, long double value, chars_format fmt, + else + return __floating_to_chars_precision(first, last, value, fmt, precision); + } ++#endif + + #ifdef FLOAT128_TO_CHARS + #ifdef _GLIBCXX_LONG_DOUBLE_ALT128_COMPAT +@@ -1907,6 +1909,7 @@ __to_chars_bfloat16_t(char* first, char* last, float value, + floating_type_bfloat16_t{ value }, fmt); + } + ++#ifndef _GLIBCXX_NONSHARED_CXX11_110 + #ifdef _GLIBCXX_LONG_DOUBLE_COMPAT + // Map the -mlong-double-64 long double overloads to the double overloads. + extern "C" to_chars_result +@@ -1923,6 +1926,7 @@ _ZSt8to_charsPcS_eSt12chars_formati(char* first, char* last, double value, + chars_format fmt, int precision) noexcept + __attribute__((alias ("_ZSt8to_charsPcS_dSt12chars_formati"))); + #endif ++#endif + + _GLIBCXX_END_NAMESPACE_VERSION + } // namespace std +diff --git a/libstdc++-v3/src/c++98/ios_failure.cc b/libstdc++-v3/src/c++98/ios_failure.cc +index 0467109c9..8d6e12c09 100644 +--- a/libstdc++-v3/src/c++98/ios_failure.cc ++++ b/libstdc++-v3/src/c++98/ios_failure.cc +@@ -45,6 +45,7 @@ namespace std _GLIBCXX_VISIBILITY(default) + { + _GLIBCXX_BEGIN_NAMESPACE_VERSION + ++#ifndef _GLIBCXX_NONSHARED_CXX11_80 + ios_base::failure::failure(const string& __str) throw() + : _M_msg(__str) { } + +@@ -54,6 +55,7 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION + const char* + ios_base::failure::what() const throw() + { return _M_msg.c_str(); } ++#endif + + #if _GLIBCXX_USE_DUAL_ABI + // When the dual ABI is enabled __throw_ios_failure() is defined in +diff --git a/libstdc++-v3/src/c++98/locale_facets.cc b/libstdc++-v3/src/c++98/locale_facets.cc +index fa469b1b8..2e2d4e353 100644 +--- a/libstdc++-v3/src/c++98/locale_facets.cc ++++ b/libstdc++-v3/src/c++98/locale_facets.cc +@@ -27,6 +27,8 @@ namespace std _GLIBCXX_VISIBILITY(default) + { + _GLIBCXX_BEGIN_NAMESPACE_VERSION + ++#ifndef _GLIBCXX_NONSHARED_CXX11_80 ++#ifndef _GLIBCXX_NONSHARED_CXX11 + // Definitions for static const data members of time_base. + template<> + const char* +@@ -97,6 +99,7 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION + *__fptr++ = (__flags & ios_base::uppercase) ? 'G' : 'g'; + *__fptr = '\0'; + } ++#endif + + // This function is not exported but is needed internally, by the versions + // of __verify_grouping below and in src/c++11/cxx11-locale-inst.cc +@@ -125,6 +128,7 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION + return __test; + } + ++#ifndef _GLIBCXX_NONSHARED_CXX11 + bool + __verify_grouping(const char* __grouping, size_t __grouping_size, + const string& __grouping_tmp) throw() +@@ -133,6 +137,8 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION + __grouping_tmp.c_str(), + __grouping_tmp.size()); + } ++#endif ++#endif + + namespace + { +diff --git a/libstdc++-v3/src/nonshared11/Makefile.am b/libstdc++-v3/src/nonshared11/Makefile.am +new file mode 100644 +index 000000000..4fd0b109b +--- /dev/null ++++ b/libstdc++-v3/src/nonshared11/Makefile.am +@@ -0,0 +1,236 @@ ++## Makefile for the C++03 sources of the GNU C++ Standard library. ++## ++## Copyright (C) 1997-2023 Free Software Foundation, Inc. ++## ++## This file is part of the libstdc++ version 3 distribution. ++## Process this file with automake to produce Makefile.in. ++ ++## This file is part of the GNU ISO C++ Library. This library is free ++## software; you can redistribute it and/or modify it under the ++## terms of the GNU General Public License as published by the ++## Free Software Foundation; either version 3, or (at your option) ++## any later version. ++ ++## This library is distributed in the hope that it will be useful, ++## but WITHOUT ANY WARRANTY; without even the implied warranty of ++## MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the ++## GNU General Public License for more details. ++ ++## You should have received a copy of the GNU General Public License along ++## with this library; see the file COPYING3. If not see ++## . ++ ++include $(top_srcdir)/fragment.am ++ ++# Convenience library for C++11 runtime. ++noinst_LTLIBRARIES = libnonshared11convenience48.la \ ++ libnonshared11convenience80.la \ ++ libnonshared11convenience110.la ++ ++headers = ++ ++sources48 = \ ++ bad_array_length.cc \ ++ bad_array_new.cc \ ++ codecvt.cc \ ++ condition_variable.cc \ ++ cow-shim_facets.cc \ ++ cow-stdexcept.cc \ ++ ctype.cc \ ++ cxx11-hash_tr1.cc \ ++ cxx11-ios_failure.cc \ ++ cxx11-shim_facets.cc \ ++ cxx11-stdexcept.cc \ ++ del_ops.cc \ ++ del_opvs.cc \ ++ new_opa.cc \ ++ new_opant.cc \ ++ new_opva.cc \ ++ new_opvant.cc \ ++ del_opa.cc \ ++ del_opant.cc \ ++ del_opsa.cc \ ++ del_opva.cc \ ++ del_opvant.cc \ ++ del_opvsa.cc \ ++ eh_aux_runtime.cc \ ++ eh_terminate.cc \ ++ eh_ptr.cc \ ++ eh_throw.cc \ ++ futex.cc \ ++ ios.cc \ ++ ios_errcat.cc \ ++ new_handler.cc \ ++ snprintf_lite.cc \ ++ limits.cc \ ++ functexcept48.cc \ ++ future48.cc \ ++ random.cc \ ++ regex48.cc \ ++ debug.cc \ ++ shared_ptr48.cc \ ++ system_error48.cc \ ++ thread48.cc \ ++ $(inst_sources48) ++ ++sources80 = \ ++ limits.cc \ ++ functexcept80.cc \ ++ debug.cc \ ++ eh_ptr80.cc \ ++ futex80.cc \ ++ codecvt80.cc \ ++ cow-stdexcept80.cc \ ++ shared_ptr80.cc \ ++ cxx11-ios_failure80.cc \ ++ condition_variable80.cc \ ++ $(inst_sources80) ++ ++sources110 = \ ++ debug110.cc \ ++ condition_variable80.cc \ ++ $(inst_sources110) ++ ++if ENABLE_EXTERN_TEMPLATE ++# XTEMPLATE_FLAGS = -fno-implicit-templates ++inst_sources48 = \ ++ cxx11-locale-inst.cc \ ++ cxx11-wlocale-inst.cc \ ++ ext11-inst.cc \ ++ fstream-inst.cc \ ++ ios-inst.cc \ ++ iostream-inst.cc \ ++ istream-inst.cc \ ++ locale-inst-asm.S \ ++ ostream-inst.cc \ ++ sstream-inst.cc \ ++ streambuf-inst.cc \ ++ string-inst.cc \ ++ wstring-inst.cc \ ++ string-io-inst.cc \ ++ wstring-io-inst.cc \ ++ sso_string.cc \ ++ cow-sstream-inst.cc \ ++ cow-string-inst48.cc \ ++ cow-wstring-inst48.cc \ ++ locale-inst.cc \ ++ wlocale-inst.cc ++inst_sources80 = \ ++ cow-sstream-inst80.cc \ ++ istream-inst80.cc \ ++ sstream-inst80.cc \ ++ cow-string-inst80.cc \ ++ cow-wstring-inst80.cc \ ++ locale-inst80.cc \ ++ wlocale-inst80.cc \ ++ string-inst80.cc \ ++ wstring-inst80.cc \ ++ cxx11-locale-inst80.cc \ ++ cxx11-wlocale-inst80.cc ++inst_sources110 = \ ++ locale-inst110.cc \ ++ wlocale-inst110.cc \ ++ string-inst110.cc \ ++ wstring-inst110.cc \ ++ cxx11-locale-inst110.cc \ ++ cxx11-wlocale-inst80.cc ++else ++# XTEMPLATE_FLAGS = ++inst_sources48 = ++inst_sources80 = ++inst_sources110 = ++endif ++ ++vpath % $(top_srcdir)/src/nonshared11 ++vpath % $(top_srcdir) ++ ++libnonshared11convenience48_la_SOURCES = $(sources48) ++libnonshared11convenience80_la_SOURCES = $(sources80) ++libnonshared11convenience110_la_SOURCES = $(sources110) ++ ++# AM_CXXFLAGS needs to be in each subdirectory so that it can be ++# modified in a per-library or per-sub-library way. Need to manually ++# set this option because CONFIG_CXXFLAGS has to be after ++# OPTIMIZE_CXXFLAGS on the compile line so that -O2 can be overridden ++# as the occasion calls for it. ++AM_CXXFLAGS = \ ++ -std=gnu++11 \ ++ $(glibcxx_lt_pic_flag) $(glibcxx_compiler_shared_flag) \ ++ $(XTEMPLATE_FLAGS) $(VTV_CXXFLAGS) \ ++ $(WARN_CXXFLAGS) $(OPTIMIZE_CXXFLAGS) $(CONFIG_CXXFLAGS) ++ ++AM_MAKEFLAGS = \ ++ "gxx_include_dir=$(gxx_include_dir)" ++ ++# Libtool notes ++ ++# 1) Need to explicitly set LTCXXCOMPILE so that AM_CXXFLAGS is ++# last. (That way, things like -O2 passed down from the toplevel can ++# be overridden by --enable-debug.) ++ ++# 2) In general, libtool expects an argument such as `--tag=CXX' when ++# using the C++ compiler, because that will enable the settings ++# detected when C++ support was being configured. However, when no ++# such flag is given in the command line, libtool attempts to figure ++# it out by matching the compiler name in each configuration section ++# against a prefix of the command line. The problem is that, if the ++# compiler name and its initial flags stored in the libtool ++# configuration file don't match those in the command line, libtool ++# can't decide which configuration to use, and it gives up. The ++# correct solution is to add `--tag CXX' to LTCXXCOMPILE and maybe ++# CXXLINK, just after $(LIBTOOL), so that libtool doesn't have to ++# attempt to infer which configuration to use. ++# We have to put --tag disable-shared after --tag CXX lest things ++# CXX undo the affect of disable-shared. ++LTCXXCOMPILE = $(LIBTOOL) --tag CXX --tag disable-shared $(LIBTOOLFLAGS) \ ++ --mode=compile $(CXX) $(TOPLEVEL_INCLUDES) \ ++ $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) $(EXTRA_CXX_FLAGS) ++ ++LTLDFLAGS = $(shell $(SHELL) $(top_srcdir)/../libtool-ldflags $(LDFLAGS)) ++ ++# 3) We'd have a problem when building the shared libstdc++ object if ++# the rules automake generates would be used. We cannot allow g++ to ++# be used since this would add -lstdc++ to the link line which of ++# course is problematic at this point. So, we get the top-level ++# directory to configure libstdc++-v3 to use gcc as the C++ ++# compilation driver. ++CXXLINK = $(LIBTOOL) --tag CXX --tag disable-shared $(LIBTOOLFLAGS) \ ++ --mode=link $(CXX) \ ++ $(VTV_CXXLINKFLAGS) \ ++ $(OPT_LDFLAGS) $(SECTION_LDFLAGS) $(AM_CXXFLAGS) $(LTLDFLAGS) -o $@ ++ ++# Use special rules for the C++14 sources so that the proper flags are passed. ++del_ops.lo: del_ops.cc ++ $(LTCXXCOMPILE) -std=gnu++14 -Wno-sized-deallocation -c $< ++del_opvs.lo: del_opvs.cc ++ $(LTCXXCOMPILE) -std=gnu++14 -Wno-sized-deallocation -c $< ++ ++# Use special rules for the C++17 sources so that the proper flags are passed. ++new_opa.lo: new_opa.cc ++ $(LTCXXCOMPILE) -std=gnu++1z -c $< ++new_opant.lo: new_opant.cc ++ $(LTCXXCOMPILE) -std=gnu++1z -c $< ++new_opva.lo: new_opva.cc ++ $(LTCXXCOMPILE) -std=gnu++1z -c $< ++new_opvant.lo: new_opvant.cc ++ $(LTCXXCOMPILE) -std=gnu++1z -c $< ++del_opa.lo: del_opa.cc ++ $(LTCXXCOMPILE) -std=gnu++1z -c $< ++del_opant.lo: del_opant.cc ++ $(LTCXXCOMPILE) -std=gnu++1z -c $< ++del_opsa.lo: del_opsa.cc ++ $(LTCXXCOMPILE) -std=gnu++1z -c $< ++del_opva.lo: del_opva.cc ++ $(LTCXXCOMPILE) -std=gnu++1z -c $< ++del_opvant.lo: del_opvant.cc ++ $(LTCXXCOMPILE) -std=gnu++1z -c $< ++del_opvsa.lo: del_opvsa.cc ++ $(LTCXXCOMPILE) -std=gnu++1z -c $< ++ ++# Use special rules for source files that require -fchar8_t. ++codecvt.lo: codecvt.cc ++ $(LTCXXCOMPILE) -fchar8_t -c $< ++codecvt80.lo: codecvt80.cc ++ $(LTCXXCOMPILE) -fchar8_t -c $< ++limits.lo: limits.cc ++ $(LTCXXCOMPILE) -fchar8_t -c $< +diff --git a/libstdc++-v3/src/nonshared11/Makefile.in b/libstdc++-v3/src/nonshared11/Makefile.in +new file mode 100644 +index 000000000..966804dfa +--- /dev/null ++++ b/libstdc++-v3/src/nonshared11/Makefile.in +@@ -0,0 +1,983 @@ ++# Makefile.in generated by automake 1.15.1 from Makefile.am. ++# @configure_input@ ++ ++# Copyright (C) 1994-2017 Free Software Foundation, Inc. ++ ++# This Makefile.in is free software; the Free Software Foundation ++# gives unlimited permission to copy and/or distribute it, ++# with or without modifications, as long as this notice is preserved. ++ ++# This program is distributed in the hope that it will be useful, ++# but WITHOUT ANY WARRANTY, to the extent permitted by law; without ++# even the implied warranty of MERCHANTABILITY or FITNESS FOR A ++# PARTICULAR PURPOSE. ++ ++@SET_MAKE@ ++ ++VPATH = @srcdir@ ++am__is_gnu_make = { \ ++ if test -z '$(MAKELEVEL)'; then \ ++ false; \ ++ elif test -n '$(MAKE_HOST)'; then \ ++ true; \ ++ elif test -n '$(MAKE_VERSION)' && test -n '$(CURDIR)'; then \ ++ true; \ ++ else \ ++ false; \ ++ fi; \ ++} ++am__make_running_with_option = \ ++ case $${target_option-} in \ ++ ?) ;; \ ++ *) echo "am__make_running_with_option: internal error: invalid" \ ++ "target option '$${target_option-}' specified" >&2; \ ++ exit 1;; \ ++ esac; \ ++ has_opt=no; \ ++ sane_makeflags=$$MAKEFLAGS; \ ++ if $(am__is_gnu_make); then \ ++ sane_makeflags=$$MFLAGS; \ ++ else \ ++ case $$MAKEFLAGS in \ ++ *\\[\ \ ]*) \ ++ bs=\\; \ ++ sane_makeflags=`printf '%s\n' "$$MAKEFLAGS" \ ++ | sed "s/$$bs$$bs[$$bs $$bs ]*//g"`;; \ ++ esac; \ ++ fi; \ ++ skip_next=no; \ ++ strip_trailopt () \ ++ { \ ++ flg=`printf '%s\n' "$$flg" | sed "s/$$1.*$$//"`; \ ++ }; \ ++ for flg in $$sane_makeflags; do \ ++ test $$skip_next = yes && { skip_next=no; continue; }; \ ++ case $$flg in \ ++ *=*|--*) continue;; \ ++ -*I) strip_trailopt 'I'; skip_next=yes;; \ ++ -*I?*) strip_trailopt 'I';; \ ++ -*O) strip_trailopt 'O'; skip_next=yes;; \ ++ -*O?*) strip_trailopt 'O';; \ ++ -*l) strip_trailopt 'l'; skip_next=yes;; \ ++ -*l?*) strip_trailopt 'l';; \ ++ -[dEDm]) skip_next=yes;; \ ++ -[JT]) skip_next=yes;; \ ++ esac; \ ++ case $$flg in \ ++ *$$target_option*) has_opt=yes; break;; \ ++ esac; \ ++ done; \ ++ test $$has_opt = yes ++am__make_dryrun = (target_option=n; $(am__make_running_with_option)) ++am__make_keepgoing = (target_option=k; $(am__make_running_with_option)) ++pkgdatadir = $(datadir)/@PACKAGE@ ++pkgincludedir = $(includedir)/@PACKAGE@ ++pkglibdir = $(libdir)/@PACKAGE@ ++pkglibexecdir = $(libexecdir)/@PACKAGE@ ++am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd ++install_sh_DATA = $(install_sh) -c -m 644 ++install_sh_PROGRAM = $(install_sh) -c ++install_sh_SCRIPT = $(install_sh) -c ++INSTALL_HEADER = $(INSTALL_DATA) ++transform = $(program_transform_name) ++NORMAL_INSTALL = : ++PRE_INSTALL = : ++POST_INSTALL = : ++NORMAL_UNINSTALL = : ++PRE_UNINSTALL = : ++POST_UNINSTALL = : ++build_triplet = @build@ ++host_triplet = @host@ ++target_triplet = @target@ ++subdir = src/nonshared11 ++ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 ++am__aclocal_m4_deps = $(top_srcdir)/../config/acx.m4 \ ++ $(top_srcdir)/../config/enable.m4 \ ++ $(top_srcdir)/../config/futex.m4 \ ++ $(top_srcdir)/../config/hwcaps.m4 \ ++ $(top_srcdir)/../config/iconv.m4 \ ++ $(top_srcdir)/../config/lead-dot.m4 \ ++ $(top_srcdir)/../config/lib-ld.m4 \ ++ $(top_srcdir)/../config/lib-link.m4 \ ++ $(top_srcdir)/../config/lib-prefix.m4 \ ++ $(top_srcdir)/../config/lthostflags.m4 \ ++ $(top_srcdir)/../config/multi.m4 \ ++ $(top_srcdir)/../config/no-executables.m4 \ ++ $(top_srcdir)/../config/override.m4 \ ++ $(top_srcdir)/../config/toolexeclibdir.m4 \ ++ $(top_srcdir)/../config/unwind_ipinfo.m4 \ ++ $(top_srcdir)/../libtool.m4 $(top_srcdir)/../ltoptions.m4 \ ++ $(top_srcdir)/../ltsugar.m4 $(top_srcdir)/../ltversion.m4 \ ++ $(top_srcdir)/../lt~obsolete.m4 $(top_srcdir)/crossconfig.m4 \ ++ $(top_srcdir)/linkage.m4 $(top_srcdir)/acinclude.m4 \ ++ $(top_srcdir)/../config/gc++filt.m4 \ ++ $(top_srcdir)/../config/tls.m4 $(top_srcdir)/../config/gthr.m4 \ ++ $(top_srcdir)/../config/cet.m4 $(top_srcdir)/configure.ac ++am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \ ++ $(ACLOCAL_M4) ++DIST_COMMON = $(srcdir)/Makefile.am ++CONFIG_HEADER = $(top_builddir)/config.h ++CONFIG_CLEAN_FILES = ++CONFIG_CLEAN_VPATH_FILES = ++LTLIBRARIES = $(noinst_LTLIBRARIES) ++libnonshared11convenience110_la_LIBADD = ++@ENABLE_EXTERN_TEMPLATE_TRUE@am__objects_1 = locale-inst110.lo \ ++@ENABLE_EXTERN_TEMPLATE_TRUE@ wlocale-inst110.lo \ ++@ENABLE_EXTERN_TEMPLATE_TRUE@ string-inst110.lo \ ++@ENABLE_EXTERN_TEMPLATE_TRUE@ wstring-inst110.lo \ ++@ENABLE_EXTERN_TEMPLATE_TRUE@ cxx11-locale-inst110.lo \ ++@ENABLE_EXTERN_TEMPLATE_TRUE@ cxx11-wlocale-inst80.lo ++am__objects_2 = debug110.lo condition_variable80.lo $(am__objects_1) ++am_libnonshared11convenience110_la_OBJECTS = $(am__objects_2) ++libnonshared11convenience110_la_OBJECTS = \ ++ $(am_libnonshared11convenience110_la_OBJECTS) ++AM_V_lt = $(am__v_lt_@AM_V@) ++am__v_lt_ = $(am__v_lt_@AM_DEFAULT_V@) ++am__v_lt_0 = --silent ++am__v_lt_1 = ++libnonshared11convenience48_la_LIBADD = ++@ENABLE_EXTERN_TEMPLATE_TRUE@am__objects_3 = cxx11-locale-inst.lo \ ++@ENABLE_EXTERN_TEMPLATE_TRUE@ cxx11-wlocale-inst.lo \ ++@ENABLE_EXTERN_TEMPLATE_TRUE@ ext11-inst.lo fstream-inst.lo \ ++@ENABLE_EXTERN_TEMPLATE_TRUE@ ios-inst.lo iostream-inst.lo \ ++@ENABLE_EXTERN_TEMPLATE_TRUE@ istream-inst.lo \ ++@ENABLE_EXTERN_TEMPLATE_TRUE@ locale-inst-asm.lo \ ++@ENABLE_EXTERN_TEMPLATE_TRUE@ ostream-inst.lo sstream-inst.lo \ ++@ENABLE_EXTERN_TEMPLATE_TRUE@ streambuf-inst.lo string-inst.lo \ ++@ENABLE_EXTERN_TEMPLATE_TRUE@ wstring-inst.lo string-io-inst.lo \ ++@ENABLE_EXTERN_TEMPLATE_TRUE@ wstring-io-inst.lo sso_string.lo \ ++@ENABLE_EXTERN_TEMPLATE_TRUE@ cow-sstream-inst.lo \ ++@ENABLE_EXTERN_TEMPLATE_TRUE@ cow-string-inst48.lo \ ++@ENABLE_EXTERN_TEMPLATE_TRUE@ cow-wstring-inst48.lo \ ++@ENABLE_EXTERN_TEMPLATE_TRUE@ locale-inst.lo wlocale-inst.lo ++am__objects_4 = bad_array_length.lo bad_array_new.lo codecvt.lo \ ++ condition_variable.lo cow-shim_facets.lo cow-stdexcept.lo \ ++ ctype.lo cxx11-hash_tr1.lo cxx11-ios_failure.lo \ ++ cxx11-shim_facets.lo cxx11-stdexcept.lo del_ops.lo del_opvs.lo \ ++ new_opa.lo new_opant.lo new_opva.lo new_opvant.lo del_opa.lo \ ++ del_opant.lo del_opsa.lo del_opva.lo del_opvant.lo \ ++ del_opvsa.lo eh_aux_runtime.lo eh_terminate.lo eh_ptr.lo \ ++ eh_throw.lo futex.lo ios.lo ios_errcat.lo new_handler.lo \ ++ snprintf_lite.lo limits.lo functexcept48.lo future48.lo \ ++ random.lo regex48.lo debug.lo shared_ptr48.lo \ ++ system_error48.lo thread48.lo $(am__objects_3) ++am_libnonshared11convenience48_la_OBJECTS = $(am__objects_4) ++libnonshared11convenience48_la_OBJECTS = \ ++ $(am_libnonshared11convenience48_la_OBJECTS) ++libnonshared11convenience80_la_LIBADD = ++@ENABLE_EXTERN_TEMPLATE_TRUE@am__objects_5 = cow-sstream-inst80.lo \ ++@ENABLE_EXTERN_TEMPLATE_TRUE@ istream-inst80.lo \ ++@ENABLE_EXTERN_TEMPLATE_TRUE@ sstream-inst80.lo \ ++@ENABLE_EXTERN_TEMPLATE_TRUE@ cow-string-inst80.lo \ ++@ENABLE_EXTERN_TEMPLATE_TRUE@ cow-wstring-inst80.lo \ ++@ENABLE_EXTERN_TEMPLATE_TRUE@ locale-inst80.lo \ ++@ENABLE_EXTERN_TEMPLATE_TRUE@ wlocale-inst80.lo \ ++@ENABLE_EXTERN_TEMPLATE_TRUE@ string-inst80.lo \ ++@ENABLE_EXTERN_TEMPLATE_TRUE@ wstring-inst80.lo \ ++@ENABLE_EXTERN_TEMPLATE_TRUE@ cxx11-locale-inst80.lo \ ++@ENABLE_EXTERN_TEMPLATE_TRUE@ cxx11-wlocale-inst80.lo ++am__objects_6 = limits.lo functexcept80.lo debug.lo eh_ptr80.lo \ ++ futex80.lo codecvt80.lo cow-stdexcept80.lo shared_ptr80.lo \ ++ cxx11-ios_failure80.lo condition_variable80.lo \ ++ $(am__objects_5) ++am_libnonshared11convenience80_la_OBJECTS = $(am__objects_6) ++libnonshared11convenience80_la_OBJECTS = \ ++ $(am_libnonshared11convenience80_la_OBJECTS) ++AM_V_P = $(am__v_P_@AM_V@) ++am__v_P_ = $(am__v_P_@AM_DEFAULT_V@) ++am__v_P_0 = false ++am__v_P_1 = : ++AM_V_GEN = $(am__v_GEN_@AM_V@) ++am__v_GEN_ = $(am__v_GEN_@AM_DEFAULT_V@) ++am__v_GEN_0 = @echo " GEN " $@; ++am__v_GEN_1 = ++AM_V_at = $(am__v_at_@AM_V@) ++am__v_at_ = $(am__v_at_@AM_DEFAULT_V@) ++am__v_at_0 = @ ++am__v_at_1 = ++DEFAULT_INCLUDES = -I.@am__isrc@ -I$(top_builddir) ++depcomp = ++am__depfiles_maybe = ++CPPASCOMPILE = $(CCAS) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) \ ++ $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CCASFLAGS) $(CCASFLAGS) ++LTCPPASCOMPILE = $(LIBTOOL) $(AM_V_lt) $(AM_LIBTOOLFLAGS) \ ++ $(LIBTOOLFLAGS) --mode=compile $(CCAS) $(DEFS) \ ++ $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) \ ++ $(AM_CCASFLAGS) $(CCASFLAGS) ++AM_V_CPPAS = $(am__v_CPPAS_@AM_V@) ++am__v_CPPAS_ = $(am__v_CPPAS_@AM_DEFAULT_V@) ++am__v_CPPAS_0 = @echo " CPPAS " $@; ++am__v_CPPAS_1 = ++CXXCOMPILE = $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) \ ++ $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) ++AM_V_CXX = $(am__v_CXX_@AM_V@) ++am__v_CXX_ = $(am__v_CXX_@AM_DEFAULT_V@) ++am__v_CXX_0 = @echo " CXX " $@; ++am__v_CXX_1 = ++CXXLD = $(CXX) ++AM_V_CXXLD = $(am__v_CXXLD_@AM_V@) ++am__v_CXXLD_ = $(am__v_CXXLD_@AM_DEFAULT_V@) ++am__v_CXXLD_0 = @echo " CXXLD " $@; ++am__v_CXXLD_1 = ++COMPILE = $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) \ ++ $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) ++LTCOMPILE = $(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) \ ++ $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) \ ++ $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) \ ++ $(AM_CFLAGS) $(CFLAGS) ++AM_V_CC = $(am__v_CC_@AM_V@) ++am__v_CC_ = $(am__v_CC_@AM_DEFAULT_V@) ++am__v_CC_0 = @echo " CC " $@; ++am__v_CC_1 = ++CCLD = $(CC) ++LINK = $(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) \ ++ $(LIBTOOLFLAGS) --mode=link $(CCLD) $(AM_CFLAGS) $(CFLAGS) \ ++ $(AM_LDFLAGS) $(LDFLAGS) -o $@ ++AM_V_CCLD = $(am__v_CCLD_@AM_V@) ++am__v_CCLD_ = $(am__v_CCLD_@AM_DEFAULT_V@) ++am__v_CCLD_0 = @echo " CCLD " $@; ++am__v_CCLD_1 = ++SOURCES = $(libnonshared11convenience110_la_SOURCES) \ ++ $(libnonshared11convenience48_la_SOURCES) \ ++ $(libnonshared11convenience80_la_SOURCES) ++am__can_run_installinfo = \ ++ case $$AM_UPDATE_INFO_DIR in \ ++ n|no|NO) false;; \ ++ *) (install-info --version) >/dev/null 2>&1;; \ ++ esac ++am__tagged_files = $(HEADERS) $(SOURCES) $(TAGS_FILES) $(LISP) ++# Read a list of newline-separated strings from the standard input, ++# and print each of them once, without duplicates. Input order is ++# *not* preserved. ++am__uniquify_input = $(AWK) '\ ++ BEGIN { nonempty = 0; } \ ++ { items[$$0] = 1; nonempty = 1; } \ ++ END { if (nonempty) { for (i in items) print i; }; } \ ++' ++# Make sure the list of sources is unique. This is necessary because, ++# e.g., the same source file might be shared among _SOURCES variables ++# for different programs/libraries. ++am__define_uniq_tagged_files = \ ++ list='$(am__tagged_files)'; \ ++ unique=`for i in $$list; do \ ++ if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ ++ done | $(am__uniquify_input)` ++ETAGS = etags ++CTAGS = ctags ++ABI_TWEAKS_SRCDIR = @ABI_TWEAKS_SRCDIR@ ++ACLOCAL = @ACLOCAL@ ++ALLOCATOR_H = @ALLOCATOR_H@ ++ALLOCATOR_NAME = @ALLOCATOR_NAME@ ++ALLOC_FILE = @ALLOC_FILE@ ++AMTAR = @AMTAR@ ++AM_DEFAULT_VERBOSITY = @AM_DEFAULT_VERBOSITY@ ++AR = @AR@ ++AS = @AS@ ++ATOMICITY_SRCDIR = @ATOMICITY_SRCDIR@ ++ATOMIC_FLAGS = @ATOMIC_FLAGS@ ++ATOMIC_WORD_SRCDIR = @ATOMIC_WORD_SRCDIR@ ++AUTOCONF = @AUTOCONF@ ++AUTOHEADER = @AUTOHEADER@ ++AUTOMAKE = @AUTOMAKE@ ++AWK = @AWK@ ++BACKTRACE_CPPFLAGS = @BACKTRACE_CPPFLAGS@ ++BACKTRACE_SUPPORTED = @BACKTRACE_SUPPORTED@ ++BACKTRACE_SUPPORTS_THREADS = @BACKTRACE_SUPPORTS_THREADS@ ++BACKTRACE_USES_MALLOC = @BACKTRACE_USES_MALLOC@ ++BASIC_FILE_CC = @BASIC_FILE_CC@ ++BASIC_FILE_H = @BASIC_FILE_H@ ++CC = @CC@ ++CCAS = @CCAS@ ++CCASFLAGS = @CCASFLAGS@ ++CCODECVT_CC = @CCODECVT_CC@ ++CCOLLATE_CC = @CCOLLATE_CC@ ++CCTYPE_CC = @CCTYPE_CC@ ++CFLAGS = @CFLAGS@ ++CLOCALE_CC = @CLOCALE_CC@ ++CLOCALE_H = @CLOCALE_H@ ++CLOCALE_INTERNAL_H = @CLOCALE_INTERNAL_H@ ++CMESSAGES_CC = @CMESSAGES_CC@ ++CMESSAGES_H = @CMESSAGES_H@ ++CMONEY_CC = @CMONEY_CC@ ++CNUMERIC_CC = @CNUMERIC_CC@ ++CPP = @CPP@ ++CPPFLAGS = @CPPFLAGS@ ++CPU_DEFINES_SRCDIR = @CPU_DEFINES_SRCDIR@ ++CPU_OPT_BITS_RANDOM = @CPU_OPT_BITS_RANDOM@ ++CPU_OPT_EXT_RANDOM = @CPU_OPT_EXT_RANDOM@ ++CSTDIO_H = @CSTDIO_H@ ++CTIME_CC = @CTIME_CC@ ++CTIME_H = @CTIME_H@ ++CXX = @CXX@ ++CXXCPP = @CXXCPP@ ++CXXFILT = @CXXFILT@ ++CXXFLAGS = @CXXFLAGS@ ++CYGPATH_W = @CYGPATH_W@ ++C_INCLUDE_DIR = @C_INCLUDE_DIR@ ++DBLATEX = @DBLATEX@ ++DEBUG_FLAGS = @DEBUG_FLAGS@ ++DEFS = @DEFS@ ++DOT = @DOT@ ++DOXYGEN = @DOXYGEN@ ++DSYMUTIL = @DSYMUTIL@ ++DUMPBIN = @DUMPBIN@ ++ECHO_C = @ECHO_C@ ++ECHO_N = @ECHO_N@ ++ECHO_T = @ECHO_T@ ++EGREP = @EGREP@ ++EH_POOL_FLAGS = @EH_POOL_FLAGS@ ++ERROR_CONSTANTS_SRCDIR = @ERROR_CONSTANTS_SRCDIR@ ++EXEEXT = @EXEEXT@ ++EXTRA_CFLAGS = @EXTRA_CFLAGS@ ++EXTRA_CXX_FLAGS = @EXTRA_CXX_FLAGS@ ++FGREP = @FGREP@ ++FORMAT_FILE = @FORMAT_FILE@ ++FREESTANDING_FLAGS = @FREESTANDING_FLAGS@ ++GLIBCXX_INCLUDES = @GLIBCXX_INCLUDES@ ++GLIBCXX_LIBS = @GLIBCXX_LIBS@ ++GREP = @GREP@ ++HWCAP_CFLAGS = @HWCAP_CFLAGS@ ++INSTALL = @INSTALL@ ++INSTALL_DATA = @INSTALL_DATA@ ++INSTALL_PROGRAM = @INSTALL_PROGRAM@ ++INSTALL_SCRIPT = @INSTALL_SCRIPT@ ++INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@ ++LD = @LD@ ++LDFLAGS = @LDFLAGS@ ++LIBICONV = @LIBICONV@ ++LIBOBJS = @LIBOBJS@ ++LIBS = @LIBS@ ++LIBTOOL = @LIBTOOL@ ++LIPO = @LIPO@ ++LN_S = @LN_S@ ++LONG_DOUBLE_128_FLAGS = @LONG_DOUBLE_128_FLAGS@ ++LONG_DOUBLE_ALT128_COMPAT_FLAGS = @LONG_DOUBLE_ALT128_COMPAT_FLAGS@ ++LONG_DOUBLE_COMPAT_FLAGS = @LONG_DOUBLE_COMPAT_FLAGS@ ++LTLIBICONV = @LTLIBICONV@ ++LTLIBOBJS = @LTLIBOBJS@ ++MAINT = @MAINT@ ++MAKEINFO = @MAKEINFO@ ++MKDIR_P = @MKDIR_P@ ++NM = @NM@ ++NMEDIT = @NMEDIT@ ++OBJDUMP = @OBJDUMP@ ++OBJEXT = @OBJEXT@ ++OPTIMIZE_CXXFLAGS = @OPTIMIZE_CXXFLAGS@ ++OPT_LDFLAGS = @OPT_LDFLAGS@ ++OS_INC_SRCDIR = @OS_INC_SRCDIR@ ++OTOOL = @OTOOL@ ++OTOOL64 = @OTOOL64@ ++PACKAGE = @PACKAGE@ ++PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@ ++PACKAGE_NAME = @PACKAGE_NAME@ ++PACKAGE_STRING = @PACKAGE_STRING@ ++PACKAGE_TARNAME = @PACKAGE_TARNAME@ ++PACKAGE_URL = @PACKAGE_URL@ ++PACKAGE_VERSION = @PACKAGE_VERSION@ ++PATH_SEPARATOR = @PATH_SEPARATOR@ ++PDFLATEX = @PDFLATEX@ ++RANLIB = @RANLIB@ ++SECTION_FLAGS = @SECTION_FLAGS@ ++SECTION_LDFLAGS = @SECTION_LDFLAGS@ ++SED = @SED@ ++SET_MAKE = @SET_MAKE@ ++SHELL = @SHELL@ ++STRIP = @STRIP@ ++SYMVER_FILE = @SYMVER_FILE@ ++TOPLEVEL_INCLUDES = @TOPLEVEL_INCLUDES@ ++USE_NLS = @USE_NLS@ ++VERSION = @VERSION@ ++VIEW_FILE = @VIEW_FILE@ ++VTV_CXXFLAGS = @VTV_CXXFLAGS@ ++VTV_CXXLINKFLAGS = @VTV_CXXLINKFLAGS@ ++VTV_PCH_CXXFLAGS = @VTV_PCH_CXXFLAGS@ ++WARN_FLAGS = @WARN_FLAGS@ ++XMLCATALOG = @XMLCATALOG@ ++XMLLINT = @XMLLINT@ ++XSLTPROC = @XSLTPROC@ ++XSL_STYLE_DIR = @XSL_STYLE_DIR@ ++abs_builddir = @abs_builddir@ ++abs_srcdir = @abs_srcdir@ ++abs_top_builddir = @abs_top_builddir@ ++abs_top_srcdir = @abs_top_srcdir@ ++ac_ct_CC = @ac_ct_CC@ ++ac_ct_CXX = @ac_ct_CXX@ ++ac_ct_DUMPBIN = @ac_ct_DUMPBIN@ ++am__leading_dot = @am__leading_dot@ ++am__tar = @am__tar@ ++am__untar = @am__untar@ ++baseline_dir = @baseline_dir@ ++baseline_subdir_switch = @baseline_subdir_switch@ ++bindir = @bindir@ ++build = @build@ ++build_alias = @build_alias@ ++build_cpu = @build_cpu@ ++build_os = @build_os@ ++build_vendor = @build_vendor@ ++builddir = @builddir@ ++check_msgfmt = @check_msgfmt@ ++datadir = @datadir@ ++datarootdir = @datarootdir@ ++docdir = @docdir@ ++dvidir = @dvidir@ ++enable_shared = @enable_shared@ ++enable_static = @enable_static@ ++exec_prefix = @exec_prefix@ ++get_gcc_base_ver = @get_gcc_base_ver@ ++glibcxx_MOFILES = @glibcxx_MOFILES@ ++glibcxx_PCHFLAGS = @glibcxx_PCHFLAGS@ ++glibcxx_POFILES = @glibcxx_POFILES@ ++glibcxx_builddir = @glibcxx_builddir@ ++glibcxx_compiler_pic_flag = @glibcxx_compiler_pic_flag@ ++glibcxx_compiler_shared_flag = @glibcxx_compiler_shared_flag@ ++glibcxx_cxx98_abi = @glibcxx_cxx98_abi@ ++glibcxx_localedir = @glibcxx_localedir@ ++glibcxx_lt_pic_flag = @glibcxx_lt_pic_flag@ ++glibcxx_prefixdir = @glibcxx_prefixdir@ ++glibcxx_srcdir = @glibcxx_srcdir@ ++glibcxx_toolexecdir = @glibcxx_toolexecdir@ ++glibcxx_toolexeclibdir = @glibcxx_toolexeclibdir@ ++gxx_include_dir = @gxx_include_dir@ ++host = @host@ ++host_alias = @host_alias@ ++host_cpu = @host_cpu@ ++host_os = @host_os@ ++host_vendor = @host_vendor@ ++htmldir = @htmldir@ ++includedir = @includedir@ ++infodir = @infodir@ ++install_sh = @install_sh@ ++libdir = @libdir@ ++libexecdir = @libexecdir@ ++libtool_VERSION = @libtool_VERSION@ ++localedir = @localedir@ ++localstatedir = @localstatedir@ ++lt_host_flags = @lt_host_flags@ ++mandir = @mandir@ ++mkdir_p = @mkdir_p@ ++multi_basedir = @multi_basedir@ ++oldincludedir = @oldincludedir@ ++pdfdir = @pdfdir@ ++port_specific_symbol_files = @port_specific_symbol_files@ ++prefix = @prefix@ ++program_transform_name = @program_transform_name@ ++psdir = @psdir@ ++python_mod_dir = @python_mod_dir@ ++sbindir = @sbindir@ ++sharedstatedir = @sharedstatedir@ ++srcdir = @srcdir@ ++sysconfdir = @sysconfdir@ ++target = @target@ ++target_alias = @target_alias@ ++target_cpu = @target_cpu@ ++target_os = @target_os@ ++target_vendor = @target_vendor@ ++thread_header = @thread_header@ ++tmake_file = @tmake_file@ ++top_build_prefix = @top_build_prefix@ ++top_builddir = @top_builddir@ ++top_srcdir = @top_srcdir@ ++toplevel_builddir = @toplevel_builddir@ ++toplevel_srcdir = @toplevel_srcdir@ ++ ++# May be used by various substitution variables. ++gcc_version := $(shell @get_gcc_base_ver@ $(top_srcdir)/../gcc/BASE-VER) ++MAINT_CHARSET = latin1 ++mkinstalldirs = $(SHELL) $(toplevel_srcdir)/mkinstalldirs ++PWD_COMMAND = $${PWDCMD-pwd} ++STAMP = echo timestamp > ++toolexecdir = $(glibcxx_toolexecdir) ++toolexeclibdir = $(glibcxx_toolexeclibdir) ++@ENABLE_WERROR_FALSE@WERROR_FLAG = ++@ENABLE_WERROR_TRUE@WERROR_FLAG = -Werror ++@ENABLE_EXTERN_TEMPLATE_FALSE@XTEMPLATE_FLAGS = ++@ENABLE_EXTERN_TEMPLATE_TRUE@XTEMPLATE_FLAGS = -fno-implicit-templates ++@GLIBCXX_LDBL_ALT128_COMPAT_FALSE@LDBL_128_FLAGS = ++@GLIBCXX_LDBL_ALT128_COMPAT_TRUE@LDBL_128_FLAGS = $(LONG_DOUBLE_128_FLAGS) ++ ++# These bits are all figured out from configure. Look in acinclude.m4 ++# or configure.ac to see how they are set. See GLIBCXX_EXPORT_FLAGS. ++CONFIG_CXXFLAGS = \ ++ $(SECTION_FLAGS) $(HWCAP_CFLAGS) -frandom-seed=$@ $(LDBL_128_FLAGS) ++ ++WARN_CXXFLAGS = \ ++ $(WARN_FLAGS) $(WERROR_FLAG) -fdiagnostics-show-location=once ++ ++ ++# -I/-D flags to pass when compiling. ++AM_CPPFLAGS = $(GLIBCXX_INCLUDES) $(CPPFLAGS) ++ ++# Convenience library for C++11 runtime. ++noinst_LTLIBRARIES = libnonshared11convenience48.la \ ++ libnonshared11convenience80.la \ ++ libnonshared11convenience110.la ++ ++headers = ++sources48 = \ ++ bad_array_length.cc \ ++ bad_array_new.cc \ ++ codecvt.cc \ ++ condition_variable.cc \ ++ cow-shim_facets.cc \ ++ cow-stdexcept.cc \ ++ ctype.cc \ ++ cxx11-hash_tr1.cc \ ++ cxx11-ios_failure.cc \ ++ cxx11-shim_facets.cc \ ++ cxx11-stdexcept.cc \ ++ del_ops.cc \ ++ del_opvs.cc \ ++ new_opa.cc \ ++ new_opant.cc \ ++ new_opva.cc \ ++ new_opvant.cc \ ++ del_opa.cc \ ++ del_opant.cc \ ++ del_opsa.cc \ ++ del_opva.cc \ ++ del_opvant.cc \ ++ del_opvsa.cc \ ++ eh_aux_runtime.cc \ ++ eh_terminate.cc \ ++ eh_ptr.cc \ ++ eh_throw.cc \ ++ futex.cc \ ++ ios.cc \ ++ ios_errcat.cc \ ++ new_handler.cc \ ++ snprintf_lite.cc \ ++ limits.cc \ ++ functexcept48.cc \ ++ future48.cc \ ++ random.cc \ ++ regex48.cc \ ++ debug.cc \ ++ shared_ptr48.cc \ ++ system_error48.cc \ ++ thread48.cc \ ++ $(inst_sources48) ++ ++sources80 = \ ++ limits.cc \ ++ functexcept80.cc \ ++ debug.cc \ ++ eh_ptr80.cc \ ++ futex80.cc \ ++ codecvt80.cc \ ++ cow-stdexcept80.cc \ ++ shared_ptr80.cc \ ++ cxx11-ios_failure80.cc \ ++ condition_variable80.cc \ ++ $(inst_sources80) ++ ++sources110 = \ ++ debug110.cc \ ++ condition_variable80.cc \ ++ $(inst_sources110) ++ ++# XTEMPLATE_FLAGS = ++@ENABLE_EXTERN_TEMPLATE_FALSE@inst_sources48 = ++ ++# XTEMPLATE_FLAGS = -fno-implicit-templates ++@ENABLE_EXTERN_TEMPLATE_TRUE@inst_sources48 = \ ++@ENABLE_EXTERN_TEMPLATE_TRUE@ cxx11-locale-inst.cc \ ++@ENABLE_EXTERN_TEMPLATE_TRUE@ cxx11-wlocale-inst.cc \ ++@ENABLE_EXTERN_TEMPLATE_TRUE@ ext11-inst.cc \ ++@ENABLE_EXTERN_TEMPLATE_TRUE@ fstream-inst.cc \ ++@ENABLE_EXTERN_TEMPLATE_TRUE@ ios-inst.cc \ ++@ENABLE_EXTERN_TEMPLATE_TRUE@ iostream-inst.cc \ ++@ENABLE_EXTERN_TEMPLATE_TRUE@ istream-inst.cc \ ++@ENABLE_EXTERN_TEMPLATE_TRUE@ locale-inst-asm.S \ ++@ENABLE_EXTERN_TEMPLATE_TRUE@ ostream-inst.cc \ ++@ENABLE_EXTERN_TEMPLATE_TRUE@ sstream-inst.cc \ ++@ENABLE_EXTERN_TEMPLATE_TRUE@ streambuf-inst.cc \ ++@ENABLE_EXTERN_TEMPLATE_TRUE@ string-inst.cc \ ++@ENABLE_EXTERN_TEMPLATE_TRUE@ wstring-inst.cc \ ++@ENABLE_EXTERN_TEMPLATE_TRUE@ string-io-inst.cc \ ++@ENABLE_EXTERN_TEMPLATE_TRUE@ wstring-io-inst.cc \ ++@ENABLE_EXTERN_TEMPLATE_TRUE@ sso_string.cc \ ++@ENABLE_EXTERN_TEMPLATE_TRUE@ cow-sstream-inst.cc \ ++@ENABLE_EXTERN_TEMPLATE_TRUE@ cow-string-inst48.cc \ ++@ENABLE_EXTERN_TEMPLATE_TRUE@ cow-wstring-inst48.cc \ ++@ENABLE_EXTERN_TEMPLATE_TRUE@ locale-inst.cc \ ++@ENABLE_EXTERN_TEMPLATE_TRUE@ wlocale-inst.cc ++ ++@ENABLE_EXTERN_TEMPLATE_FALSE@inst_sources80 = ++@ENABLE_EXTERN_TEMPLATE_TRUE@inst_sources80 = \ ++@ENABLE_EXTERN_TEMPLATE_TRUE@ cow-sstream-inst80.cc \ ++@ENABLE_EXTERN_TEMPLATE_TRUE@ istream-inst80.cc \ ++@ENABLE_EXTERN_TEMPLATE_TRUE@ sstream-inst80.cc \ ++@ENABLE_EXTERN_TEMPLATE_TRUE@ cow-string-inst80.cc \ ++@ENABLE_EXTERN_TEMPLATE_TRUE@ cow-wstring-inst80.cc \ ++@ENABLE_EXTERN_TEMPLATE_TRUE@ locale-inst80.cc \ ++@ENABLE_EXTERN_TEMPLATE_TRUE@ wlocale-inst80.cc \ ++@ENABLE_EXTERN_TEMPLATE_TRUE@ string-inst80.cc \ ++@ENABLE_EXTERN_TEMPLATE_TRUE@ wstring-inst80.cc \ ++@ENABLE_EXTERN_TEMPLATE_TRUE@ cxx11-locale-inst80.cc \ ++@ENABLE_EXTERN_TEMPLATE_TRUE@ cxx11-wlocale-inst80.cc ++ ++@ENABLE_EXTERN_TEMPLATE_FALSE@inst_sources110 = ++@ENABLE_EXTERN_TEMPLATE_TRUE@inst_sources110 = \ ++@ENABLE_EXTERN_TEMPLATE_TRUE@ locale-inst110.cc \ ++@ENABLE_EXTERN_TEMPLATE_TRUE@ wlocale-inst110.cc \ ++@ENABLE_EXTERN_TEMPLATE_TRUE@ string-inst110.cc \ ++@ENABLE_EXTERN_TEMPLATE_TRUE@ wstring-inst110.cc \ ++@ENABLE_EXTERN_TEMPLATE_TRUE@ cxx11-locale-inst110.cc \ ++@ENABLE_EXTERN_TEMPLATE_TRUE@ cxx11-wlocale-inst80.cc ++ ++libnonshared11convenience48_la_SOURCES = $(sources48) ++libnonshared11convenience80_la_SOURCES = $(sources80) ++libnonshared11convenience110_la_SOURCES = $(sources110) ++ ++# AM_CXXFLAGS needs to be in each subdirectory so that it can be ++# modified in a per-library or per-sub-library way. Need to manually ++# set this option because CONFIG_CXXFLAGS has to be after ++# OPTIMIZE_CXXFLAGS on the compile line so that -O2 can be overridden ++# as the occasion calls for it. ++AM_CXXFLAGS = \ ++ -std=gnu++11 \ ++ $(glibcxx_lt_pic_flag) $(glibcxx_compiler_shared_flag) \ ++ $(XTEMPLATE_FLAGS) $(VTV_CXXFLAGS) \ ++ $(WARN_CXXFLAGS) $(OPTIMIZE_CXXFLAGS) $(CONFIG_CXXFLAGS) ++ ++AM_MAKEFLAGS = \ ++ "gxx_include_dir=$(gxx_include_dir)" ++ ++ ++# Libtool notes ++ ++# 1) Need to explicitly set LTCXXCOMPILE so that AM_CXXFLAGS is ++# last. (That way, things like -O2 passed down from the toplevel can ++# be overridden by --enable-debug.) ++ ++# 2) In general, libtool expects an argument such as `--tag=CXX' when ++# using the C++ compiler, because that will enable the settings ++# detected when C++ support was being configured. However, when no ++# such flag is given in the command line, libtool attempts to figure ++# it out by matching the compiler name in each configuration section ++# against a prefix of the command line. The problem is that, if the ++# compiler name and its initial flags stored in the libtool ++# configuration file don't match those in the command line, libtool ++# can't decide which configuration to use, and it gives up. The ++# correct solution is to add `--tag CXX' to LTCXXCOMPILE and maybe ++# CXXLINK, just after $(LIBTOOL), so that libtool doesn't have to ++# attempt to infer which configuration to use. ++# We have to put --tag disable-shared after --tag CXX lest things ++# CXX undo the affect of disable-shared. ++LTCXXCOMPILE = $(LIBTOOL) --tag CXX --tag disable-shared $(LIBTOOLFLAGS) \ ++ --mode=compile $(CXX) $(TOPLEVEL_INCLUDES) \ ++ $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) $(EXTRA_CXX_FLAGS) ++ ++LTLDFLAGS = $(shell $(SHELL) $(top_srcdir)/../libtool-ldflags $(LDFLAGS)) ++ ++# 3) We'd have a problem when building the shared libstdc++ object if ++# the rules automake generates would be used. We cannot allow g++ to ++# be used since this would add -lstdc++ to the link line which of ++# course is problematic at this point. So, we get the top-level ++# directory to configure libstdc++-v3 to use gcc as the C++ ++# compilation driver. ++CXXLINK = $(LIBTOOL) --tag CXX --tag disable-shared $(LIBTOOLFLAGS) \ ++ --mode=link $(CXX) \ ++ $(VTV_CXXLINKFLAGS) \ ++ $(OPT_LDFLAGS) $(SECTION_LDFLAGS) $(AM_CXXFLAGS) $(LTLDFLAGS) -o $@ ++ ++all: all-am ++ ++.SUFFIXES: ++.SUFFIXES: .S .cc .lo .o .obj ++$(srcdir)/Makefile.in: @MAINTAINER_MODE_TRUE@ $(srcdir)/Makefile.am $(top_srcdir)/fragment.am $(am__configure_deps) ++ @for dep in $?; do \ ++ case '$(am__configure_deps)' in \ ++ *$$dep*) \ ++ ( cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh ) \ ++ && { if test -f $@; then exit 0; else break; fi; }; \ ++ exit 1;; \ ++ esac; \ ++ done; \ ++ echo ' cd $(top_srcdir) && $(AUTOMAKE) --foreign --ignore-deps src/nonshared11/Makefile'; \ ++ $(am__cd) $(top_srcdir) && \ ++ $(AUTOMAKE) --foreign --ignore-deps src/nonshared11/Makefile ++Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status ++ @case '$?' in \ ++ *config.status*) \ ++ cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \ ++ *) \ ++ echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)'; \ ++ cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe);; \ ++ esac; ++$(top_srcdir)/fragment.am $(am__empty): ++ ++$(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES) ++ cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh ++ ++$(top_srcdir)/configure: @MAINTAINER_MODE_TRUE@ $(am__configure_deps) ++ cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh ++$(ACLOCAL_M4): @MAINTAINER_MODE_TRUE@ $(am__aclocal_m4_deps) ++ cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh ++$(am__aclocal_m4_deps): ++ ++clean-noinstLTLIBRARIES: ++ -test -z "$(noinst_LTLIBRARIES)" || rm -f $(noinst_LTLIBRARIES) ++ @list='$(noinst_LTLIBRARIES)'; \ ++ locs=`for p in $$list; do echo $$p; done | \ ++ sed 's|^[^/]*$$|.|; s|/[^/]*$$||; s|$$|/so_locations|' | \ ++ sort -u`; \ ++ test -z "$$locs" || { \ ++ echo rm -f $${locs}; \ ++ rm -f $${locs}; \ ++ } ++ ++libnonshared11convenience110.la: $(libnonshared11convenience110_la_OBJECTS) $(libnonshared11convenience110_la_DEPENDENCIES) $(EXTRA_libnonshared11convenience110_la_DEPENDENCIES) ++ $(AM_V_CXXLD)$(CXXLINK) $(libnonshared11convenience110_la_OBJECTS) $(libnonshared11convenience110_la_LIBADD) $(LIBS) ++ ++libnonshared11convenience48.la: $(libnonshared11convenience48_la_OBJECTS) $(libnonshared11convenience48_la_DEPENDENCIES) $(EXTRA_libnonshared11convenience48_la_DEPENDENCIES) ++ $(AM_V_CXXLD)$(CXXLINK) $(libnonshared11convenience48_la_OBJECTS) $(libnonshared11convenience48_la_LIBADD) $(LIBS) ++ ++libnonshared11convenience80.la: $(libnonshared11convenience80_la_OBJECTS) $(libnonshared11convenience80_la_DEPENDENCIES) $(EXTRA_libnonshared11convenience80_la_DEPENDENCIES) ++ $(AM_V_CXXLD)$(CXXLINK) $(libnonshared11convenience80_la_OBJECTS) $(libnonshared11convenience80_la_LIBADD) $(LIBS) ++ ++mostlyclean-compile: ++ -rm -f *.$(OBJEXT) ++ ++distclean-compile: ++ -rm -f *.tab.c ++ ++.S.o: ++ $(AM_V_CPPAS)$(CPPASCOMPILE) -c -o $@ $< ++ ++.S.obj: ++ $(AM_V_CPPAS)$(CPPASCOMPILE) -c -o $@ `$(CYGPATH_W) '$<'` ++ ++.S.lo: ++ $(AM_V_CPPAS)$(LTCPPASCOMPILE) -c -o $@ $< ++ ++.cc.o: ++ $(AM_V_CXX)$(CXXCOMPILE) -c -o $@ $< ++ ++.cc.obj: ++ $(AM_V_CXX)$(CXXCOMPILE) -c -o $@ `$(CYGPATH_W) '$<'` ++ ++.cc.lo: ++ $(AM_V_CXX)$(LTCXXCOMPILE) -c -o $@ $< ++ ++mostlyclean-libtool: ++ -rm -f *.lo ++ ++clean-libtool: ++ -rm -rf .libs _libs ++ ++ID: $(am__tagged_files) ++ $(am__define_uniq_tagged_files); mkid -fID $$unique ++tags: tags-am ++TAGS: tags ++ ++tags-am: $(TAGS_DEPENDENCIES) $(am__tagged_files) ++ set x; \ ++ here=`pwd`; \ ++ $(am__define_uniq_tagged_files); \ ++ shift; \ ++ if test -z "$(ETAGS_ARGS)$$*$$unique"; then :; else \ ++ test -n "$$unique" || unique=$$empty_fix; \ ++ if test $$# -gt 0; then \ ++ $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \ ++ "$$@" $$unique; \ ++ else \ ++ $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \ ++ $$unique; \ ++ fi; \ ++ fi ++ctags: ctags-am ++ ++CTAGS: ctags ++ctags-am: $(TAGS_DEPENDENCIES) $(am__tagged_files) ++ $(am__define_uniq_tagged_files); \ ++ test -z "$(CTAGS_ARGS)$$unique" \ ++ || $(CTAGS) $(CTAGSFLAGS) $(AM_CTAGSFLAGS) $(CTAGS_ARGS) \ ++ $$unique ++ ++GTAGS: ++ here=`$(am__cd) $(top_builddir) && pwd` \ ++ && $(am__cd) $(top_srcdir) \ ++ && gtags -i $(GTAGS_ARGS) "$$here" ++cscopelist: cscopelist-am ++ ++cscopelist-am: $(am__tagged_files) ++ list='$(am__tagged_files)'; \ ++ case "$(srcdir)" in \ ++ [\\/]* | ?:[\\/]*) sdir="$(srcdir)" ;; \ ++ *) sdir=$(subdir)/$(srcdir) ;; \ ++ esac; \ ++ for i in $$list; do \ ++ if test -f "$$i"; then \ ++ echo "$(subdir)/$$i"; \ ++ else \ ++ echo "$$sdir/$$i"; \ ++ fi; \ ++ done >> $(top_builddir)/cscope.files ++ ++distclean-tags: ++ -rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags ++check-am: all-am ++check: check-am ++all-am: Makefile $(LTLIBRARIES) ++installdirs: ++install: install-am ++install-exec: install-exec-am ++install-data: install-data-am ++uninstall: uninstall-am ++ ++install-am: all-am ++ @$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am ++ ++installcheck: installcheck-am ++install-strip: ++ if test -z '$(STRIP)'; then \ ++ $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \ ++ install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \ ++ install; \ ++ else \ ++ $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \ ++ install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \ ++ "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'" install; \ ++ fi ++mostlyclean-generic: ++ ++clean-generic: ++ ++distclean-generic: ++ -test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES) ++ -test . = "$(srcdir)" || test -z "$(CONFIG_CLEAN_VPATH_FILES)" || rm -f $(CONFIG_CLEAN_VPATH_FILES) ++ ++maintainer-clean-generic: ++ @echo "This command is intended for maintainers to use" ++ @echo "it deletes files that may require special tools to rebuild." ++clean: clean-am ++ ++clean-am: clean-generic clean-libtool clean-noinstLTLIBRARIES \ ++ mostlyclean-am ++ ++distclean: distclean-am ++ -rm -f Makefile ++distclean-am: clean-am distclean-compile distclean-generic \ ++ distclean-tags ++ ++dvi: dvi-am ++ ++dvi-am: ++ ++html: html-am ++ ++html-am: ++ ++info: info-am ++ ++info-am: ++ ++install-data-am: ++ ++install-dvi: install-dvi-am ++ ++install-dvi-am: ++ ++install-exec-am: ++ ++install-html: install-html-am ++ ++install-html-am: ++ ++install-info: install-info-am ++ ++install-info-am: ++ ++install-man: ++ ++install-pdf: install-pdf-am ++ ++install-pdf-am: ++ ++install-ps: install-ps-am ++ ++install-ps-am: ++ ++installcheck-am: ++ ++maintainer-clean: maintainer-clean-am ++ -rm -f Makefile ++maintainer-clean-am: distclean-am maintainer-clean-generic ++ ++mostlyclean: mostlyclean-am ++ ++mostlyclean-am: mostlyclean-compile mostlyclean-generic \ ++ mostlyclean-libtool ++ ++pdf: pdf-am ++ ++pdf-am: ++ ++ps: ps-am ++ ++ps-am: ++ ++uninstall-am: ++ ++.MAKE: install-am install-strip ++ ++.PHONY: CTAGS GTAGS TAGS all all-am check check-am clean clean-generic \ ++ clean-libtool clean-noinstLTLIBRARIES cscopelist-am ctags \ ++ ctags-am distclean distclean-compile distclean-generic \ ++ distclean-libtool distclean-tags dvi dvi-am html html-am info \ ++ info-am install install-am install-data install-data-am \ ++ install-dvi install-dvi-am install-exec install-exec-am \ ++ install-html install-html-am install-info install-info-am \ ++ install-man install-pdf install-pdf-am install-ps \ ++ install-ps-am install-strip installcheck installcheck-am \ ++ installdirs maintainer-clean maintainer-clean-generic \ ++ mostlyclean mostlyclean-compile mostlyclean-generic \ ++ mostlyclean-libtool pdf pdf-am ps ps-am tags tags-am uninstall \ ++ uninstall-am ++ ++.PRECIOUS: Makefile ++ ++ ++vpath % $(top_srcdir)/src/nonshared11 ++vpath % $(top_srcdir) ++ ++# Use special rules for the C++14 sources so that the proper flags are passed. ++del_ops.lo: del_ops.cc ++ $(LTCXXCOMPILE) -std=gnu++14 -Wno-sized-deallocation -c $< ++del_opvs.lo: del_opvs.cc ++ $(LTCXXCOMPILE) -std=gnu++14 -Wno-sized-deallocation -c $< ++ ++# Use special rules for the C++17 sources so that the proper flags are passed. ++new_opa.lo: new_opa.cc ++ $(LTCXXCOMPILE) -std=gnu++1z -c $< ++new_opant.lo: new_opant.cc ++ $(LTCXXCOMPILE) -std=gnu++1z -c $< ++new_opva.lo: new_opva.cc ++ $(LTCXXCOMPILE) -std=gnu++1z -c $< ++new_opvant.lo: new_opvant.cc ++ $(LTCXXCOMPILE) -std=gnu++1z -c $< ++del_opa.lo: del_opa.cc ++ $(LTCXXCOMPILE) -std=gnu++1z -c $< ++del_opant.lo: del_opant.cc ++ $(LTCXXCOMPILE) -std=gnu++1z -c $< ++del_opsa.lo: del_opsa.cc ++ $(LTCXXCOMPILE) -std=gnu++1z -c $< ++del_opva.lo: del_opva.cc ++ $(LTCXXCOMPILE) -std=gnu++1z -c $< ++del_opvant.lo: del_opvant.cc ++ $(LTCXXCOMPILE) -std=gnu++1z -c $< ++del_opvsa.lo: del_opvsa.cc ++ $(LTCXXCOMPILE) -std=gnu++1z -c $< ++ ++# Use special rules for source files that require -fchar8_t. ++codecvt.lo: codecvt.cc ++ $(LTCXXCOMPILE) -fchar8_t -c $< ++codecvt80.lo: codecvt80.cc ++ $(LTCXXCOMPILE) -fchar8_t -c $< ++limits.lo: limits.cc ++ $(LTCXXCOMPILE) -fchar8_t -c $< ++ ++# Tell versions [3.59,3.63) of GNU make to not export all variables. ++# Otherwise a system limit (for SysV at least) may be exceeded. ++.NOEXPORT: +diff --git a/libstdc++-v3/src/nonshared11/bad_array_length.cc b/libstdc++-v3/src/nonshared11/bad_array_length.cc +new file mode 100644 +index 000000000..ec585eb0d +--- /dev/null ++++ b/libstdc++-v3/src/nonshared11/bad_array_length.cc +@@ -0,0 +1,23 @@ ++// Copyright (C) 2014-2023 Free Software Foundation, Inc. ++// ++// This file is part of the GNU ISO C++ Library. This library is free ++// software; you can redistribute it and/or modify it under the ++// terms of the GNU General Public License as published by the ++// Free Software Foundation; either version 3, or (at your option) ++// any later version. ++ ++// This library is distributed in the hope that it will be useful, ++// but WITHOUT ANY WARRANTY; without even the implied warranty of ++// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the ++// GNU General Public License for more details. ++ ++// Under Section 7 of GPL version 3, you are granted additional ++// permissions described in the GCC Runtime Library Exception, version ++// 3.1, as published by the Free Software Foundation. ++ ++// You should have received a copy of the GNU General Public License and ++// a copy of the GCC Runtime Library Exception along with this program; ++// see the files COPYING3 and COPYING.RUNTIME respectively. If not, see ++// . ++ ++#include "../libsupc++/bad_array_length.cc" +diff --git a/libstdc++-v3/src/nonshared11/bad_array_new.cc b/libstdc++-v3/src/nonshared11/bad_array_new.cc +new file mode 100644 +index 000000000..5d988a9f6 +--- /dev/null ++++ b/libstdc++-v3/src/nonshared11/bad_array_new.cc +@@ -0,0 +1,23 @@ ++// Copyright (C) 2014-2023 Free Software Foundation, Inc. ++// ++// This file is part of the GNU ISO C++ Library. This library is free ++// software; you can redistribute it and/or modify it under the ++// terms of the GNU General Public License as published by the ++// Free Software Foundation; either version 3, or (at your option) ++// any later version. ++ ++// This library is distributed in the hope that it will be useful, ++// but WITHOUT ANY WARRANTY; without even the implied warranty of ++// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the ++// GNU General Public License for more details. ++ ++// Under Section 7 of GPL version 3, you are granted additional ++// permissions described in the GCC Runtime Library Exception, version ++// 3.1, as published by the Free Software Foundation. ++ ++// You should have received a copy of the GNU General Public License and ++// a copy of the GCC Runtime Library Exception along with this program; ++// see the files COPYING3 and COPYING.RUNTIME respectively. If not, see ++// . ++ ++#include "../libsupc++/bad_array_new.cc" +diff --git a/libstdc++-v3/src/nonshared11/codecvt.cc b/libstdc++-v3/src/nonshared11/codecvt.cc +new file mode 100644 +index 000000000..eff95887c +--- /dev/null ++++ b/libstdc++-v3/src/nonshared11/codecvt.cc +@@ -0,0 +1,37 @@ ++// Copyright (C) 2012-2023 Free Software Foundation, Inc. ++// ++// This file is part of the GNU ISO C++ Library. This library is free ++// software; you can redistribute it and/or modify it under the ++// terms of the GNU General Public License as published by the ++// Free Software Foundation; either version 3, or (at your option) ++// any later version. ++ ++// This library is distributed in the hope that it will be useful, ++// but WITHOUT ANY WARRANTY; without even the implied warranty of ++// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the ++// GNU General Public License for more details. ++ ++// Under Section 7 of GPL version 3, you are granted additional ++// permissions described in the GCC Runtime Library Exception, version ++// 3.1, as published by the Free Software Foundation. ++ ++// You should have received a copy of the GNU General Public License and ++// a copy of the GCC Runtime Library Exception along with this program; ++// see the files COPYING3 and COPYING.RUNTIME respectively. If not, see ++// . ++ ++#include "../c++11/codecvt.cc" ++asm (".hidden _ZTISt12codecvt_base"); ++asm (".hidden _ZTSSt12codecvt_base"); ++asm (".hidden _ZTISt23__codecvt_abstract_baseIDic11__mbstate_tE"); ++asm (".hidden _ZTISt23__codecvt_abstract_baseIDsc11__mbstate_tE"); ++asm (".hidden _ZTSSt23__codecvt_abstract_baseIDic11__mbstate_tE"); ++asm (".hidden _ZTSSt23__codecvt_abstract_baseIDsc11__mbstate_tE"); ++asm (".hidden _ZTVSt23__codecvt_abstract_baseIDic11__mbstate_tE"); ++asm (".hidden _ZTVSt23__codecvt_abstract_baseIDsc11__mbstate_tE"); ++asm (".hidden _ZTISt23__codecvt_abstract_baseIDiDu11__mbstate_tE"); ++asm (".hidden _ZTISt23__codecvt_abstract_baseIDsDu11__mbstate_tE"); ++asm (".hidden _ZTSSt23__codecvt_abstract_baseIDiDu11__mbstate_tE"); ++asm (".hidden _ZTSSt23__codecvt_abstract_baseIDsDu11__mbstate_tE"); ++asm (".hidden _ZTVSt23__codecvt_abstract_baseIDiDu11__mbstate_tE"); ++asm (".hidden _ZTVSt23__codecvt_abstract_baseIDsDu11__mbstate_tE"); +diff --git a/libstdc++-v3/src/nonshared11/codecvt80.cc b/libstdc++-v3/src/nonshared11/codecvt80.cc +new file mode 100644 +index 000000000..5e41e4735 +--- /dev/null ++++ b/libstdc++-v3/src/nonshared11/codecvt80.cc +@@ -0,0 +1,24 @@ ++// Copyright (C) 2012-2023 Free Software Foundation, Inc. ++// ++// This file is part of the GNU ISO C++ Library. This library is free ++// software; you can redistribute it and/or modify it under the ++// terms of the GNU General Public License as published by the ++// Free Software Foundation; either version 3, or (at your option) ++// any later version. ++ ++// This library is distributed in the hope that it will be useful, ++// but WITHOUT ANY WARRANTY; without even the implied warranty of ++// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the ++// GNU General Public License for more details. ++ ++// Under Section 7 of GPL version 3, you are granted additional ++// permissions described in the GCC Runtime Library Exception, version ++// 3.1, as published by the Free Software Foundation. ++ ++// You should have received a copy of the GNU General Public License and ++// a copy of the GCC Runtime Library Exception along with this program; ++// see the files COPYING3 and COPYING.RUNTIME respectively. If not, see ++// . ++ ++#define _GLIBCXX_NONSHARED_CXX11_80 ++#include "codecvt.cc" +diff --git a/libstdc++-v3/src/nonshared11/condition_variable.cc b/libstdc++-v3/src/nonshared11/condition_variable.cc +new file mode 100644 +index 000000000..d4c5bbc92 +--- /dev/null ++++ b/libstdc++-v3/src/nonshared11/condition_variable.cc +@@ -0,0 +1,28 @@ ++// condition_variable -*- C++ -*- ++ ++// Copyright (C) 2008-2023 Free Software Foundation, Inc. ++// ++// This file is part of the GNU ISO C++ Library. This library is free ++// software; you can redistribute it and/or modify it under the ++// terms of the GNU General Public License as published by the ++// Free Software Foundation; either version 3, or (at your option) ++// any later version. ++ ++// This library is distributed in the hope that it will be useful, ++// but WITHOUT ANY WARRANTY; without even the implied warranty of ++// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the ++// GNU General Public License for more details. ++ ++// Under Section 7 of GPL version 3, you are granted additional ++// permissions described in the GCC Runtime Library Exception, version ++// 3.1, as published by the Free Software Foundation. ++ ++// You should have received a copy of the GNU General Public License and ++// a copy of the GCC Runtime Library Exception along with this program; ++// see the files COPYING3 and COPYING.RUNTIME respectively. If not, see ++// . ++ ++#define _GLIBCXX_NONSHARED_CXX11 ++#include "../c++11/condition_variable.cc" ++asm (".hidden _ZNSt18condition_variable4waitERSt11unique_lockISt5mutexE"); ++asm (".hidden _ZSt16__at_thread_exitPSt20__at_thread_exit_elt"); +diff --git a/libstdc++-v3/src/nonshared11/condition_variable80.cc b/libstdc++-v3/src/nonshared11/condition_variable80.cc +new file mode 100644 +index 000000000..10e51e42c +--- /dev/null ++++ b/libstdc++-v3/src/nonshared11/condition_variable80.cc +@@ -0,0 +1,44 @@ ++// condition_variable -*- C++ -*- ++ ++// Copyright (C) 2008-2023 Free Software Foundation, Inc. ++// ++// This file is part of the GNU ISO C++ Library. This library is free ++// software; you can redistribute it and/or modify it under the ++// terms of the GNU General Public License as published by the ++// Free Software Foundation; either version 3, or (at your option) ++// any later version. ++ ++// This library is distributed in the hope that it will be useful, ++// but WITHOUT ANY WARRANTY; without even the implied warranty of ++// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the ++// GNU General Public License for more details. ++ ++// Under Section 7 of GPL version 3, you are granted additional ++// permissions described in the GCC Runtime Library Exception, version ++// 3.1, as published by the Free Software Foundation. ++ ++// You should have received a copy of the GNU General Public License and ++// a copy of the GCC Runtime Library Exception along with this program; ++// see the files COPYING3 and COPYING.RUNTIME respectively. If not, see ++// . ++ ++#include ++#include ++ ++#ifdef _GLIBCXX_HAS_GTHREADS ++ ++namespace std _GLIBCXX_VISIBILITY(default) ++{ ++_GLIBCXX_BEGIN_NAMESPACE_VERSION ++ ++ void ++ condition_variable::wait(unique_lock& __lock) ++ { ++ _M_cond.wait(*__lock.mutex()); ++ } ++ ++_GLIBCXX_END_NAMESPACE_VERSION ++} // namespace ++ ++#endif // _GLIBCXX_HAS_GTHREADS ++asm (".hidden _ZNSt18condition_variable4waitERSt11unique_lockISt5mutexE"); +diff --git a/libstdc++-v3/src/nonshared11/cow-fstream-inst.cc b/libstdc++-v3/src/nonshared11/cow-fstream-inst.cc +new file mode 100644 +index 000000000..78d45c796 +--- /dev/null ++++ b/libstdc++-v3/src/nonshared11/cow-fstream-inst.cc +@@ -0,0 +1,48 @@ ++// Explicit instantiation file. ++ ++// Copyright (C) 1997-2023 Free Software Foundation, Inc. ++// ++// This file is part of the GNU ISO C++ Library. This library is free ++// software; you can redistribute it and/or modify it under the ++// terms of the GNU General Public License as published by the ++// Free Software Foundation; either version 3, or (at your option) ++// any later version. ++ ++// This library is distributed in the hope that it will be useful, ++// but WITHOUT ANY WARRANTY; without even the implied warranty of ++// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the ++// GNU General Public License for more details. ++ ++// Under Section 7 of GPL version 3, you are granted additional ++// permissions described in the GCC Runtime Library Exception, version ++// 3.1, as published by the Free Software Foundation. ++ ++// You should have received a copy of the GNU General Public License and ++// a copy of the GCC Runtime Library Exception along with this program; ++// see the files COPYING3 and COPYING.RUNTIME respectively. If not, see ++// . ++ ++// ++// ISO C++ 14882: ++// ++ ++#define _GLIBCXX_USE_CXX11_ABI 0 ++#include ++ ++namespace std _GLIBCXX_VISIBILITY(default) ++{ ++ ++ typedef basic_filebuf FIC; ++ ++ template ++ int FIC::_M_get_ext_pos(__state_type &); ++ ++#ifdef _GLIBCXX_USE_WCHAR_T ++ typedef basic_filebuf FIW; ++ ++ template ++ int FIW::_M_get_ext_pos(__state_type &); ++ ++#endif ++ ++} +diff --git a/libstdc++-v3/src/nonshared11/cow-shim_facets.cc b/libstdc++-v3/src/nonshared11/cow-shim_facets.cc +new file mode 100644 +index 000000000..48316c4da +--- /dev/null ++++ b/libstdc++-v3/src/nonshared11/cow-shim_facets.cc +@@ -0,0 +1,187 @@ ++// Copyright (C) 2012-2023 Free Software Foundation, Inc. ++// ++// This file is part of the GNU ISO C++ Library. This library is free ++// software; you can redistribute it and/or modify it under the ++// terms of the GNU General Public License as published by the ++// Free Software Foundation; either version 3, or (at your option) ++// any later version. ++ ++// This library is distributed in the hope that it will be useful, ++// but WITHOUT ANY WARRANTY; without even the implied warranty of ++// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the ++// GNU General Public License for more details. ++ ++// Under Section 7 of GPL version 3, you are granted additional ++// permissions described in the GCC Runtime Library Exception, version ++// 3.1, as published by the Free Software Foundation. ++ ++// You should have received a copy of the GNU General Public License and ++// a copy of the GCC Runtime Library Exception along with this program; ++// see the files COPYING3 and COPYING.RUNTIME respectively. If not, see ++// . ++ ++#include "../c++11/cow-shim_facets.cc" ++//asm (".hidden _ZNKSt13__facet_shims12_GLOBAL__N_112collate_shimIcE10do_compareEPKcS4_S4_S4_"); ++//asm (".hidden _ZNKSt13__facet_shims12_GLOBAL__N_112collate_shimIcE12do_transformEPKcS4_"); ++//asm (".hidden _ZNKSt13__facet_shims12_GLOBAL__N_112collate_shimIwE10do_compareEPKwS4_S4_S4_"); ++//asm (".hidden _ZNKSt13__facet_shims12_GLOBAL__N_112collate_shimIwE12do_transformEPKwS4_"); ++//asm (".hidden _ZNKSt13__facet_shims12_GLOBAL__N_113messages_shimIcE6do_getEiiiRKSs"); ++//asm (".hidden _ZNKSt13__facet_shims12_GLOBAL__N_113messages_shimIcE7do_openERKSsRKSt6locale"); ++//asm (".hidden _ZNKSt13__facet_shims12_GLOBAL__N_113messages_shimIcE8do_closeEi"); ++//asm (".hidden _ZNKSt13__facet_shims12_GLOBAL__N_113messages_shimIwE6do_getEiiiRKSbIwSt11char_traitsIwESaIwEE"); ++//asm (".hidden _ZNKSt13__facet_shims12_GLOBAL__N_113messages_shimIwE7do_openERKSsRKSt6locale"); ++//asm (".hidden _ZNKSt13__facet_shims12_GLOBAL__N_113messages_shimIwE8do_closeEi"); ++//asm (".hidden _ZNKSt13__facet_shims12_GLOBAL__N_113time_get_shimIcE11do_get_dateESt19istreambuf_iteratorIcSt11char_traitsIcEES6_RSt8ios_baseRSt12_Ios_IostateP2tm"); ++//asm (".hidden _ZNKSt13__facet_shims12_GLOBAL__N_113time_get_shimIcE11do_get_timeESt19istreambuf_iteratorIcSt11char_traitsIcEES6_RSt8ios_baseRSt12_Ios_IostateP2tm"); ++//asm (".hidden _ZNKSt13__facet_shims12_GLOBAL__N_113time_get_shimIcE11do_get_yearESt19istreambuf_iteratorIcSt11char_traitsIcEES6_RSt8ios_baseRSt12_Ios_IostateP2tm"); ++//asm (".hidden _ZNKSt13__facet_shims12_GLOBAL__N_113time_get_shimIcE13do_date_orderEv"); ++//asm (".hidden _ZNKSt13__facet_shims12_GLOBAL__N_113time_get_shimIcE14do_get_weekdayESt19istreambuf_iteratorIcSt11char_traitsIcEES6_RSt8ios_baseRSt12_Ios_IostateP2tm"); ++//asm (".hidden _ZNKSt13__facet_shims12_GLOBAL__N_113time_get_shimIcE16do_get_monthnameESt19istreambuf_iteratorIcSt11char_traitsIcEES6_RSt8ios_baseRSt12_Ios_IostateP2tm"); ++//asm (".hidden _ZNKSt13__facet_shims12_GLOBAL__N_113time_get_shimIwE11do_get_dateESt19istreambuf_iteratorIwSt11char_traitsIwEES6_RSt8ios_baseRSt12_Ios_IostateP2tm"); ++//asm (".hidden _ZNKSt13__facet_shims12_GLOBAL__N_113time_get_shimIwE11do_get_timeESt19istreambuf_iteratorIwSt11char_traitsIwEES6_RSt8ios_baseRSt12_Ios_IostateP2tm"); ++//asm (".hidden _ZNKSt13__facet_shims12_GLOBAL__N_113time_get_shimIwE11do_get_yearESt19istreambuf_iteratorIwSt11char_traitsIwEES6_RSt8ios_baseRSt12_Ios_IostateP2tm"); ++//asm (".hidden _ZNKSt13__facet_shims12_GLOBAL__N_113time_get_shimIwE13do_date_orderEv"); ++//asm (".hidden _ZNKSt13__facet_shims12_GLOBAL__N_113time_get_shimIwE14do_get_weekdayESt19istreambuf_iteratorIwSt11char_traitsIwEES6_RSt8ios_baseRSt12_Ios_IostateP2tm"); ++//asm (".hidden _ZNKSt13__facet_shims12_GLOBAL__N_113time_get_shimIwE16do_get_monthnameESt19istreambuf_iteratorIwSt11char_traitsIwEES6_RSt8ios_baseRSt12_Ios_IostateP2tm"); ++//asm (".hidden _ZNKSt13__facet_shims12_GLOBAL__N_114money_get_shimIcE6do_getESt19istreambuf_iteratorIcSt11char_traitsIcEES6_bRSt8ios_baseRSt12_Ios_IostateRSs"); ++//asm (".hidden _ZNKSt13__facet_shims12_GLOBAL__N_114money_get_shimIwE6do_getESt19istreambuf_iteratorIwSt11char_traitsIwEES6_bRSt8ios_baseRSt12_Ios_IostateRSbIwS5_SaIwEE"); ++//asm (".hidden _ZNKSt13__facet_shims12_GLOBAL__N_114money_put_shimIcE6do_putESt19ostreambuf_iteratorIcSt11char_traitsIcEEbRSt8ios_basecRKSs"); ++//asm (".hidden _ZNKSt13__facet_shims12_GLOBAL__N_114money_put_shimIwE6do_putESt19ostreambuf_iteratorIwSt11char_traitsIwEEbRSt8ios_basewRKSbIwS5_SaIwEE"); ++asm (".hidden _ZNKSt6locale5facet11_M_cow_shimEPKNS_2idE"); ++asm (".hidden _ZNKSt6locale5facet19_M_remove_referenceEv"); ++asm (".hidden _ZNSt13__facet_shims10__time_getIcEESt19istreambuf_iteratorIT_St11char_traitsIS2_EESt17integral_constantIbLb0EEPKNSt6locale5facetES5_S5_RSt8ios_baseRSt12_Ios_IostateP2tmc"); ++asm (".hidden _ZNSt13__facet_shims10__time_getIwEESt19istreambuf_iteratorIT_St11char_traitsIS2_EESt17integral_constantIbLb0EEPKNSt6locale5facetES5_S5_RSt8ios_baseRSt12_Ios_IostateP2tmc"); ++#if !defined (__powerpc__) && !defined (__s390__) && !defined (__s390x__) ++//asm (".hidden _ZNKSt13__facet_shims12_GLOBAL__N_114money_get_shimIcE6do_getESt19istreambuf_iteratorIcSt11char_traitsIcEES6_bRSt8ios_baseRSt12_Ios_IostateRe"); ++//asm (".hidden _ZNKSt13__facet_shims12_GLOBAL__N_114money_get_shimIwE6do_getESt19istreambuf_iteratorIwSt11char_traitsIwEES6_bRSt8ios_baseRSt12_Ios_IostateRe"); ++//asm (".hidden _ZNKSt13__facet_shims12_GLOBAL__N_114money_put_shimIcE6do_putESt19ostreambuf_iteratorIcSt11char_traitsIcEEbRSt8ios_basece"); ++//asm (".hidden _ZNKSt13__facet_shims12_GLOBAL__N_114money_put_shimIwE6do_putESt19ostreambuf_iteratorIwSt11char_traitsIwEEbRSt8ios_basewe"); ++asm (".hidden _ZNSt13__facet_shims11__money_getIcEESt19istreambuf_iteratorIT_St11char_traitsIS2_EESt17integral_constantIbLb0EEPKNSt6locale5facetES5_S5_bRSt8ios_baseRSt12_Ios_IostatePePNS_12__any_stringE"); ++asm (".hidden _ZNSt13__facet_shims11__money_getIwEESt19istreambuf_iteratorIT_St11char_traitsIS2_EESt17integral_constantIbLb0EEPKNSt6locale5facetES5_S5_bRSt8ios_baseRSt12_Ios_IostatePePNS_12__any_stringE"); ++asm (".hidden _ZNSt13__facet_shims11__money_putIcEESt19ostreambuf_iteratorIT_St11char_traitsIS2_EESt17integral_constantIbLb0EEPKNSt6locale5facetES5_bRSt8ios_baseS2_ePKNS_12__any_stringE"); ++asm (".hidden _ZNSt13__facet_shims11__money_putIwEESt19ostreambuf_iteratorIT_St11char_traitsIS2_EESt17integral_constantIbLb0EEPKNSt6locale5facetES5_bRSt8ios_baseS2_ePKNS_12__any_stringE"); ++#else ++//asm (".hidden _ZNKSt13__facet_shims12_GLOBAL__N_114money_get_shimIcE6do_getESt19istreambuf_iteratorIcSt11char_traitsIcEES6_bRSt8ios_baseRSt12_Ios_IostateRg"); ++//asm (".hidden _ZNKSt13__facet_shims12_GLOBAL__N_114money_get_shimIwE6do_getESt19istreambuf_iteratorIwSt11char_traitsIwEES6_bRSt8ios_baseRSt12_Ios_IostateRg"); ++//asm (".hidden _ZNKSt13__facet_shims12_GLOBAL__N_114money_put_shimIcE6do_putESt19ostreambuf_iteratorIcSt11char_traitsIcEEbRSt8ios_basecg"); ++//asm (".hidden _ZNKSt13__facet_shims12_GLOBAL__N_114money_put_shimIwE6do_putESt19ostreambuf_iteratorIwSt11char_traitsIwEEbRSt8ios_basewg"); ++//asm (".hidden _ZNSt13__facet_shims11__money_getIcEESt19istreambuf_iteratorIT_St11char_traitsIS2_EESt17integral_constantIbLb0EEPKNSt6locale5facetES5_S5_bRSt8ios_baseRSt12_Ios_IostatePgPNS_12__any_stringE"); ++//asm (".hidden _ZNSt13__facet_shims11__money_getIwEESt19istreambuf_iteratorIT_St11char_traitsIS2_EESt17integral_constantIbLb0EEPKNSt6locale5facetES5_S5_bRSt8ios_baseRSt12_Ios_IostatePgPNS_12__any_stringE"); ++//asm (".hidden _ZNSt13__facet_shims11__money_putIcEESt19ostreambuf_iteratorIT_St11char_traitsIS2_EESt17integral_constantIbLb0EEPKNSt6locale5facetES5_bRSt8ios_baseS2_gPKNS_12__any_stringE"); ++//asm (".hidden _ZNSt13__facet_shims11__money_putIwEESt19ostreambuf_iteratorIT_St11char_traitsIS2_EESt17integral_constantIbLb0EEPKNSt6locale5facetES5_bRSt8ios_baseS2_gPKNS_12__any_stringE"); ++#endif ++//asm (".hidden _ZNSt13__facet_shims12_GLOBAL__N_112collate_shimIcED0Ev"); ++//asm (".hidden _ZNSt13__facet_shims12_GLOBAL__N_112collate_shimIcED1Ev"); ++//asm (".hidden _ZNSt13__facet_shims12_GLOBAL__N_112collate_shimIcED2Ev"); ++//asm (".hidden _ZNSt13__facet_shims12_GLOBAL__N_112collate_shimIwED0Ev"); ++//asm (".hidden _ZNSt13__facet_shims12_GLOBAL__N_112collate_shimIwED1Ev"); ++//asm (".hidden _ZNSt13__facet_shims12_GLOBAL__N_112collate_shimIwED2Ev"); ++//asm (".hidden _ZNSt13__facet_shims12_GLOBAL__N_113messages_shimIcED0Ev"); ++//asm (".hidden _ZNSt13__facet_shims12_GLOBAL__N_113messages_shimIcED1Ev"); ++//asm (".hidden _ZNSt13__facet_shims12_GLOBAL__N_113messages_shimIcED2Ev"); ++//asm (".hidden _ZNSt13__facet_shims12_GLOBAL__N_113messages_shimIwED0Ev"); ++//asm (".hidden _ZNSt13__facet_shims12_GLOBAL__N_113messages_shimIwED1Ev"); ++//asm (".hidden _ZNSt13__facet_shims12_GLOBAL__N_113messages_shimIwED2Ev"); ++//asm (".hidden _ZNSt13__facet_shims12_GLOBAL__N_113numpunct_shimIcED0Ev"); ++//asm (".hidden _ZNSt13__facet_shims12_GLOBAL__N_113numpunct_shimIcED1Ev"); ++//asm (".hidden _ZNSt13__facet_shims12_GLOBAL__N_113numpunct_shimIcED2Ev"); ++//asm (".hidden _ZNSt13__facet_shims12_GLOBAL__N_113numpunct_shimIwED0Ev"); ++//asm (".hidden _ZNSt13__facet_shims12_GLOBAL__N_113numpunct_shimIwED1Ev"); ++//asm (".hidden _ZNSt13__facet_shims12_GLOBAL__N_113numpunct_shimIwED2Ev"); ++//asm (".hidden _ZNSt13__facet_shims12_GLOBAL__N_113time_get_shimIcED0Ev"); ++//asm (".hidden _ZNSt13__facet_shims12_GLOBAL__N_113time_get_shimIcED1Ev"); ++//asm (".hidden _ZNSt13__facet_shims12_GLOBAL__N_113time_get_shimIcED2Ev"); ++//asm (".hidden _ZNSt13__facet_shims12_GLOBAL__N_113time_get_shimIwED0Ev"); ++//asm (".hidden _ZNSt13__facet_shims12_GLOBAL__N_113time_get_shimIwED1Ev"); ++//asm (".hidden _ZNSt13__facet_shims12_GLOBAL__N_113time_get_shimIwED2Ev"); ++//asm (".hidden _ZNSt13__facet_shims12_GLOBAL__N_114money_get_shimIcED0Ev"); ++//asm (".hidden _ZNSt13__facet_shims12_GLOBAL__N_114money_get_shimIcED1Ev"); ++//asm (".hidden _ZNSt13__facet_shims12_GLOBAL__N_114money_get_shimIcED2Ev"); ++//asm (".hidden _ZNSt13__facet_shims12_GLOBAL__N_114money_get_shimIwED0Ev"); ++//asm (".hidden _ZNSt13__facet_shims12_GLOBAL__N_114money_get_shimIwED1Ev"); ++//asm (".hidden _ZNSt13__facet_shims12_GLOBAL__N_114money_get_shimIwED2Ev"); ++//asm (".hidden _ZNSt13__facet_shims12_GLOBAL__N_114money_put_shimIcED0Ev"); ++//asm (".hidden _ZNSt13__facet_shims12_GLOBAL__N_114money_put_shimIcED1Ev"); ++//asm (".hidden _ZNSt13__facet_shims12_GLOBAL__N_114money_put_shimIcED2Ev"); ++//asm (".hidden _ZNSt13__facet_shims12_GLOBAL__N_114money_put_shimIwED0Ev"); ++//asm (".hidden _ZNSt13__facet_shims12_GLOBAL__N_114money_put_shimIwED1Ev"); ++//asm (".hidden _ZNSt13__facet_shims12_GLOBAL__N_114money_put_shimIwED2Ev"); ++//asm (".hidden _ZNSt13__facet_shims12_GLOBAL__N_115moneypunct_shimIcLb0EED0Ev"); ++//asm (".hidden _ZNSt13__facet_shims12_GLOBAL__N_115moneypunct_shimIcLb0EED1Ev"); ++//asm (".hidden _ZNSt13__facet_shims12_GLOBAL__N_115moneypunct_shimIcLb0EED2Ev"); ++//asm (".hidden _ZNSt13__facet_shims12_GLOBAL__N_115moneypunct_shimIcLb1EED0Ev"); ++//asm (".hidden _ZNSt13__facet_shims12_GLOBAL__N_115moneypunct_shimIcLb1EED1Ev"); ++//asm (".hidden _ZNSt13__facet_shims12_GLOBAL__N_115moneypunct_shimIcLb1EED2Ev"); ++//asm (".hidden _ZNSt13__facet_shims12_GLOBAL__N_115moneypunct_shimIwLb0EED0Ev"); ++//asm (".hidden _ZNSt13__facet_shims12_GLOBAL__N_115moneypunct_shimIwLb0EED1Ev"); ++//asm (".hidden _ZNSt13__facet_shims12_GLOBAL__N_115moneypunct_shimIwLb0EED2Ev"); ++//asm (".hidden _ZNSt13__facet_shims12_GLOBAL__N_115moneypunct_shimIwLb1EED0Ev"); ++//asm (".hidden _ZNSt13__facet_shims12_GLOBAL__N_115moneypunct_shimIwLb1EED1Ev"); ++//asm (".hidden _ZNSt13__facet_shims12_GLOBAL__N_115moneypunct_shimIwLb1EED2Ev"); ++//asm (".hidden _ZNSt13__facet_shims12_GLOBAL__N_116__destroy_stringIcEEvPv"); ++//asm (".hidden _ZNSt13__facet_shims12_GLOBAL__N_116__destroy_stringIwEEvPv"); ++asm (".hidden _ZNSt13__facet_shims16__messages_closeIcEEvSt17integral_constantIbLb0EEPKNSt6locale5facetEi"); ++asm (".hidden _ZNSt13__facet_shims16__messages_closeIwEEvSt17integral_constantIbLb0EEPKNSt6locale5facetEi"); ++asm (".hidden _ZNSt13__facet_shims17__collate_compareIcEEiSt17integral_constantIbLb0EEPKNSt6locale5facetEPKT_S9_S9_S9_"); ++asm (".hidden _ZNSt13__facet_shims17__collate_compareIwEEiSt17integral_constantIbLb0EEPKNSt6locale5facetEPKT_S9_S9_S9_"); ++asm (".hidden _ZNSt13__facet_shims19__collate_transformIcEEvSt17integral_constantIbLb0EEPKNSt6locale5facetERNS_12__any_stringEPKT_SB_"); ++asm (".hidden _ZNSt13__facet_shims19__collate_transformIwEEvSt17integral_constantIbLb0EEPKNSt6locale5facetERNS_12__any_stringEPKT_SB_"); ++asm (".hidden _ZNSt13__facet_shims20__time_get_dateorderIcEENSt9time_base9dateorderESt17integral_constantIbLb0EEPKNSt6locale5facetE"); ++asm (".hidden _ZNSt13__facet_shims20__time_get_dateorderIwEENSt9time_base9dateorderESt17integral_constantIbLb0EEPKNSt6locale5facetE"); ++asm (".hidden _ZNSt13__facet_shims23__moneypunct_fill_cacheIcLb0EEEvSt17integral_constantIbLb0EEPKNSt6locale5facetEPSt18__moneypunct_cacheIT_XT0_EE"); ++asm (".hidden _ZNSt13__facet_shims23__moneypunct_fill_cacheIcLb1EEEvSt17integral_constantIbLb0EEPKNSt6locale5facetEPSt18__moneypunct_cacheIT_XT0_EE"); ++asm (".hidden _ZNSt13__facet_shims23__moneypunct_fill_cacheIwLb0EEEvSt17integral_constantIbLb0EEPKNSt6locale5facetEPSt18__moneypunct_cacheIT_XT0_EE"); ++asm (".hidden _ZNSt13__facet_shims23__moneypunct_fill_cacheIwLb1EEEvSt17integral_constantIbLb0EEPKNSt6locale5facetEPSt18__moneypunct_cacheIT_XT0_EE"); ++//asm (".hidden _ZTINSt13__facet_shims12_GLOBAL__N_112collate_shimIcEE"); ++//asm (".hidden _ZTINSt13__facet_shims12_GLOBAL__N_112collate_shimIwEE"); ++//asm (".hidden _ZTINSt13__facet_shims12_GLOBAL__N_113messages_shimIcEE"); ++//asm (".hidden _ZTINSt13__facet_shims12_GLOBAL__N_113messages_shimIwEE"); ++//asm (".hidden _ZTINSt13__facet_shims12_GLOBAL__N_113numpunct_shimIcEE"); ++//asm (".hidden _ZTINSt13__facet_shims12_GLOBAL__N_113numpunct_shimIwEE"); ++//asm (".hidden _ZTINSt13__facet_shims12_GLOBAL__N_113time_get_shimIcEE"); ++//asm (".hidden _ZTINSt13__facet_shims12_GLOBAL__N_113time_get_shimIwEE"); ++//asm (".hidden _ZTINSt13__facet_shims12_GLOBAL__N_114money_get_shimIcEE"); ++//asm (".hidden _ZTINSt13__facet_shims12_GLOBAL__N_114money_get_shimIwEE"); ++//asm (".hidden _ZTINSt13__facet_shims12_GLOBAL__N_114money_put_shimIcEE"); ++//asm (".hidden _ZTINSt13__facet_shims12_GLOBAL__N_114money_put_shimIwEE"); ++//asm (".hidden _ZTINSt13__facet_shims12_GLOBAL__N_115moneypunct_shimIcLb0EEE"); ++//asm (".hidden _ZTINSt13__facet_shims12_GLOBAL__N_115moneypunct_shimIcLb1EEE"); ++//asm (".hidden _ZTINSt13__facet_shims12_GLOBAL__N_115moneypunct_shimIwLb0EEE"); ++//asm (".hidden _ZTINSt13__facet_shims12_GLOBAL__N_115moneypunct_shimIwLb1EEE"); ++asm (".hidden _ZTINSt6locale5facet6__shimE"); ++asm (".hidden _ZTSNSt6locale5facet6__shimE"); ++//asm (".hidden _ZTVNSt13__facet_shims12_GLOBAL__N_112collate_shimIcEE"); ++//asm (".hidden _ZTVNSt13__facet_shims12_GLOBAL__N_112collate_shimIwEE"); ++//asm (".hidden _ZTVNSt13__facet_shims12_GLOBAL__N_113messages_shimIcEE"); ++//asm (".hidden _ZTVNSt13__facet_shims12_GLOBAL__N_113messages_shimIwEE"); ++//asm (".hidden _ZTVNSt13__facet_shims12_GLOBAL__N_113numpunct_shimIcEE"); ++//asm (".hidden _ZTVNSt13__facet_shims12_GLOBAL__N_113numpunct_shimIwEE"); ++//asm (".hidden _ZTVNSt13__facet_shims12_GLOBAL__N_113time_get_shimIcEE"); ++//asm (".hidden _ZTVNSt13__facet_shims12_GLOBAL__N_113time_get_shimIwEE"); ++//asm (".hidden _ZTVNSt13__facet_shims12_GLOBAL__N_114money_get_shimIcEE"); ++//asm (".hidden _ZTVNSt13__facet_shims12_GLOBAL__N_114money_get_shimIwEE"); ++//asm (".hidden _ZTVNSt13__facet_shims12_GLOBAL__N_114money_put_shimIcEE"); ++//asm (".hidden _ZTVNSt13__facet_shims12_GLOBAL__N_114money_put_shimIwEE"); ++//asm (".hidden _ZTVNSt13__facet_shims12_GLOBAL__N_115moneypunct_shimIcLb0EEE"); ++//asm (".hidden _ZTVNSt13__facet_shims12_GLOBAL__N_115moneypunct_shimIcLb1EEE"); ++//asm (".hidden _ZTVNSt13__facet_shims12_GLOBAL__N_115moneypunct_shimIwLb0EEE"); ++//asm (".hidden _ZTVNSt13__facet_shims12_GLOBAL__N_115moneypunct_shimIwLb1EEE"); ++asm (".hidden _ZNSt13__facet_shims21__numpunct_fill_cacheIcEEvSt17integral_constantIbLb0EEPKNSt6locale5facetEPSt16__numpunct_cacheIT_E"); ++asm (".hidden _ZNSt13__facet_shims21__numpunct_fill_cacheIwEEvSt17integral_constantIbLb0EEPKNSt6locale5facetEPSt16__numpunct_cacheIT_E"); ++#if defined(__i386__) || (defined(__powerpc__) && !defined(__powerpc64__)) ++asm (".hidden _ZNSt13__facet_shims14__messages_getIcEEvSt17integral_constantIbLb0EEPKNSt6locale5facetERNS_12__any_stringEiiiPKT_j"); ++asm (".hidden _ZNSt13__facet_shims14__messages_getIwEEvSt17integral_constantIbLb0EEPKNSt6locale5facetERNS_12__any_stringEiiiPKT_j"); ++asm (".hidden _ZNSt13__facet_shims15__messages_openIcEEiSt17integral_constantIbLb0EEPKNSt6locale5facetEPKcjRKS3_"); ++asm (".hidden _ZNSt13__facet_shims15__messages_openIwEEiSt17integral_constantIbLb0EEPKNSt6locale5facetEPKcjRKS3_"); ++#else ++asm (".hidden _ZNSt13__facet_shims14__messages_getIcEEvSt17integral_constantIbLb0EEPKNSt6locale5facetERNS_12__any_stringEiiiPKT_m"); ++asm (".hidden _ZNSt13__facet_shims14__messages_getIwEEvSt17integral_constantIbLb0EEPKNSt6locale5facetERNS_12__any_stringEiiiPKT_m"); ++asm (".hidden _ZNSt13__facet_shims15__messages_openIcEEiSt17integral_constantIbLb0EEPKNSt6locale5facetEPKcmRKS3_"); ++asm (".hidden _ZNSt13__facet_shims15__messages_openIwEEiSt17integral_constantIbLb0EEPKNSt6locale5facetEPKcmRKS3_"); ++#endif ++#ifdef __powerpc64__ ++//asm (".hidden _ZNSbIwSt11char_traitsIwESaIwEED1Ev"); ++//asm (".hidden _ZNSbIwSt11char_traitsIwESaIwEED2Ev"); ++//asm (".hidden _ZNSsD1Ev"); ++//asm (".hidden _ZNSsD2Ev"); ++#endif +diff --git a/libstdc++-v3/src/nonshared11/cow-sstream-inst.cc b/libstdc++-v3/src/nonshared11/cow-sstream-inst.cc +new file mode 100644 +index 000000000..1473d5a3a +--- /dev/null ++++ b/libstdc++-v3/src/nonshared11/cow-sstream-inst.cc +@@ -0,0 +1,85 @@ ++// Explicit instantiation file. ++ ++// Copyright (C) 2014-2023 Free Software Foundation, Inc. ++// ++// This file is part of the GNU ISO C++ Library. This library is free ++// software; you can redistribute it and/or modify it under the ++// terms of the GNU General Public License as published by the ++// Free Software Foundation; either version 3, or (at your option) ++// any later version. ++ ++// This library is distributed in the hope that it will be useful, ++// but WITHOUT ANY WARRANTY; without even the implied warranty of ++// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the ++// GNU General Public License for more details. ++ ++// Under Section 7 of GPL version 3, you are granted additional ++// permissions described in the GCC Runtime Library Exception, version ++// 3.1, as published by the Free Software Foundation. ++ ++// You should have received a copy of the GNU General Public License and ++// a copy of the GCC Runtime Library Exception along with this program; ++// see the files COPYING3 and COPYING.RUNTIME respectively. If not, see ++// . ++ ++// ++// ISO C++ 14882: ++// ++ ++#define _GLIBCXX_USE_CXX11_ABI 0 ++#include ++ ++namespace std _GLIBCXX_VISIBILITY(default) ++{ ++_GLIBCXX_BEGIN_NAMESPACE_VERSION ++ ++#ifndef _GLIBCXX_NONSHARED_CXX11_80 ++ template basic_stringbuf::basic_stringbuf(basic_stringbuf&&); ++ template basic_stringbuf& basic_stringbuf::operator=(basic_stringbuf&&); ++ template void basic_stringbuf::swap(basic_stringbuf&); ++ template basic_istringstream::basic_istringstream(basic_istringstream&&); ++ template basic_istringstream& basic_istringstream::operator=(basic_istringstream&&); ++ template void basic_istringstream::swap(basic_istringstream&); ++ template basic_ostringstream::basic_ostringstream(basic_ostringstream&&); ++ template basic_ostringstream& basic_ostringstream::operator=(basic_ostringstream&&); ++ template void basic_ostringstream::swap(basic_ostringstream&); ++ template basic_stringstream::basic_stringstream(basic_stringstream&&); ++ template basic_stringstream& basic_stringstream::operator=(basic_stringstream&&); ++ template void basic_stringstream::swap(basic_stringstream&); ++ ++#ifdef _GLIBCXX_USE_WCHAR_T ++ template basic_stringbuf::basic_stringbuf(basic_stringbuf&&); ++ template basic_stringbuf& basic_stringbuf::operator=(basic_stringbuf&&); ++ template void basic_stringbuf::swap(basic_stringbuf&); ++ template basic_istringstream::basic_istringstream(basic_istringstream&&); ++ template basic_istringstream& basic_istringstream::operator=(basic_istringstream&&); ++ template void basic_istringstream::swap(basic_istringstream&); ++ template basic_ostringstream::basic_ostringstream(basic_ostringstream&&); ++ template basic_ostringstream& basic_ostringstream::operator=(basic_ostringstream&&); ++ template void basic_ostringstream::swap(basic_ostringstream&); ++ template basic_stringstream::basic_stringstream(basic_stringstream&&); ++ template basic_stringstream& basic_stringstream::operator=(basic_stringstream&&); ++ template void basic_stringstream::swap(basic_stringstream&); ++#endif ++#endif ++ ++ template basic_stringbuf::basic_stringbuf(); ++ template basic_istringstream::basic_istringstream(); ++ template basic_ostringstream::basic_ostringstream(); ++ template basic_stringstream::basic_stringstream(); ++#ifdef _GLIBCXX_USE_WCHAR_T ++ template basic_stringbuf::basic_stringbuf(); ++ template basic_istringstream::basic_istringstream(); ++ template basic_ostringstream::basic_ostringstream(); ++ template basic_stringstream::basic_stringstream(); ++#endif ++ ++_GLIBCXX_END_NAMESPACE_VERSION ++} // namespace ++ ++asm (".hidden _ZNSt15basic_stringbufIcSt11char_traitsIcESaIcEED0Ev"); ++asm (".hidden _ZNSt15basic_stringbufIcSt11char_traitsIcESaIcEED1Ev"); ++asm (".hidden _ZNSt15basic_stringbufIcSt11char_traitsIcESaIcEED2Ev"); ++asm (".hidden _ZNSt15basic_stringbufIwSt11char_traitsIwESaIwEED0Ev"); ++asm (".hidden _ZNSt15basic_stringbufIwSt11char_traitsIwESaIwEED1Ev"); ++asm (".hidden _ZNSt15basic_stringbufIwSt11char_traitsIwESaIwEED2Ev"); +diff --git a/libstdc++-v3/src/nonshared11/cow-sstream-inst80.cc b/libstdc++-v3/src/nonshared11/cow-sstream-inst80.cc +new file mode 100644 +index 000000000..714e17a08 +--- /dev/null ++++ b/libstdc++-v3/src/nonshared11/cow-sstream-inst80.cc +@@ -0,0 +1,24 @@ ++// Copyright (C) 2012-2023 Free Software Foundation, Inc. ++// ++// This file is part of the GNU ISO C++ Library. This library is free ++// software; you can redistribute it and/or modify it under the ++// terms of the GNU General Public License as published by the ++// Free Software Foundation; either version 3, or (at your option) ++// any later version. ++ ++// This library is distributed in the hope that it will be useful, ++// but WITHOUT ANY WARRANTY; without even the implied warranty of ++// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the ++// GNU General Public License for more details. ++ ++// Under Section 7 of GPL version 3, you are granted additional ++// permissions described in the GCC Runtime Library Exception, version ++// 3.1, as published by the Free Software Foundation. ++ ++// You should have received a copy of the GNU General Public License and ++// a copy of the GCC Runtime Library Exception along with this program; ++// see the files COPYING3 and COPYING.RUNTIME respectively. If not, see ++// . ++ ++#define _GLIBCXX_NONSHARED_CXX11_80 ++#include "cow-sstream-inst.cc" +diff --git a/libstdc++-v3/src/nonshared11/cow-stdexcept.cc b/libstdc++-v3/src/nonshared11/cow-stdexcept.cc +new file mode 100644 +index 000000000..691a63abd +--- /dev/null ++++ b/libstdc++-v3/src/nonshared11/cow-stdexcept.cc +@@ -0,0 +1,51 @@ ++// Copyright (C) 2012-2023 Free Software Foundation, Inc. ++// ++// This file is part of the GNU ISO C++ Library. This library is free ++// software; you can redistribute it and/or modify it under the ++// terms of the GNU General Public License as published by the ++// Free Software Foundation; either version 3, or (at your option) ++// any later version. ++ ++// This library is distributed in the hope that it will be useful, ++// but WITHOUT ANY WARRANTY; without even the implied warranty of ++// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the ++// GNU General Public License for more details. ++ ++// Under Section 7 of GPL version 3, you are granted additional ++// permissions described in the GCC Runtime Library Exception, version ++// 3.1, as published by the Free Software Foundation. ++ ++// You should have received a copy of the GNU General Public License and ++// a copy of the GCC Runtime Library Exception along with this program; ++// see the files COPYING3 and COPYING.RUNTIME respectively. If not, see ++// . ++ ++#include "../c++11/cow-stdexcept.cc" ++asm (".hidden _ZNSt12__cow_stringC1EOS_"); ++asm (".hidden _ZNSt12__cow_stringC1ERKS_"); ++asm (".hidden _ZNSt12__cow_stringC1ERKSs"); ++asm (".hidden _ZNSt12__cow_stringC1Ev"); ++asm (".hidden _ZNSt12__cow_stringC2EOS_"); ++asm (".hidden _ZNSt12__cow_stringC2ERKS_"); ++asm (".hidden _ZNSt12__cow_stringC2ERKSs"); ++asm (".hidden _ZNSt12__cow_stringC2Ev"); ++asm (".hidden _ZNSt12__cow_stringD1Ev"); ++asm (".hidden _ZNSt12__cow_stringD2Ev"); ++asm (".hidden _ZNSt12__cow_stringaSEOS_"); ++asm (".hidden _ZNSt12__cow_stringaSERKS_"); ++asm (".hidden _ZNSt12__sso_stringC1ERKSs"); ++asm (".hidden _ZNSt12__sso_stringC2ERKSs"); ++#if defined(__i386__) || (defined(__powerpc__) && !defined(__powerpc64__)) ++asm (".hidden _ZNSt12__cow_stringC1EPKcj"); ++asm (".hidden _ZNSt12__cow_stringC2EPKcj"); ++#else ++asm (".hidden _ZNSt12__cow_stringC1EPKcm"); ++asm (".hidden _ZNSt12__cow_stringC2EPKcm"); ++#endif ++asm (".hidden _Z20_txnal_cow_string_D1Pv"); ++asm (".hidden _Z23_txnal_cow_string_c_strPKv"); ++asm (".hidden _Z23_txnal_sso_string_c_strPKv"); ++asm (".hidden _Z26_txnal_logic_error_get_msgPv"); ++asm (".hidden _Z27_txnal_cow_string_D1_commitPv"); ++asm (".hidden _Z28_txnal_runtime_error_get_msgPv"); ++asm (".hidden _Z35_txnal_cow_string_C1_for_exceptionsPvPKcS_"); +diff --git a/libstdc++-v3/src/nonshared11/cow-stdexcept80.cc b/libstdc++-v3/src/nonshared11/cow-stdexcept80.cc +new file mode 100644 +index 000000000..e9f279369 +--- /dev/null ++++ b/libstdc++-v3/src/nonshared11/cow-stdexcept80.cc +@@ -0,0 +1,76 @@ ++// Methods for Exception Support for -*- C++ -*- ++ ++// Copyright (C) 2014-2023 Free Software Foundation, Inc. ++// ++// This file is part of the GNU ISO C++ Library. This library is free ++// software; you can redistribute it and/or modify it under the ++// terms of the GNU General Public License as published by the ++// Free Software Foundation; either version 3, or (at your option) ++// any later version. ++ ++// This library is distributed in the hope that it will be useful, ++// but WITHOUT ANY WARRANTY; without even the implied warranty of ++// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the ++// GNU General Public License for more details. ++ ++// Under Section 7 of GPL version 3, you are granted additional ++// permissions described in the GCC Runtime Library Exception, version ++// 3.1, as published by the Free Software Foundation. ++ ++// You should have received a copy of the GNU General Public License and ++// a copy of the GCC Runtime Library Exception along with this program; ++// see the files COPYING3 and COPYING.RUNTIME respectively. If not, see ++// . ++ ++// ++// ISO C++ 14882: 19.1 Exception classes ++// ++ ++// All exception classes still use the classic COW std::string. ++#define _GLIBCXX_USE_CXX11_ABI 0 ++#define _GLIBCXX_DEFINE_STDEXCEPT_COPY_OPS 1 ++#define __cow_string __cow_stringxxx ++#include ++#include ++#undef __cow_string ++ ++namespace std _GLIBCXX_VISIBILITY(default) ++{ ++_GLIBCXX_BEGIN_NAMESPACE_VERSION ++ ++ // Copy/move constructors and assignment operators defined using COW string. ++ // These operations are noexcept even though copying a COW string is not, ++ // but we know that the string member in an exception has not been "leaked" ++ // so copying is a simple reference count increment. ++ // For the fully dynamic string moves are not noexcept (due to needing to ++ // allocate an empty string) so we just define the moves as copies here. ++ ++#if _GLIBCXX_FULLY_DYNAMIC_STRING == 0 ++ logic_error::logic_error(logic_error&& e) noexcept = default; ++ ++ logic_error& ++ logic_error::operator=(logic_error&& e) noexcept = default; ++#else ++ logic_error::logic_error(logic_error&& e) noexcept ++ : exception(e), _M_msg(e._M_msg) { } ++ ++ logic_error& ++ logic_error::operator=(logic_error&& e) noexcept ++ { _M_msg = e._M_msg; return *this; } ++#endif ++ ++#if _GLIBCXX_FULLY_DYNAMIC_STRING == 0 ++ runtime_error::runtime_error(runtime_error&& e) noexcept = default; ++ ++ runtime_error& ++ runtime_error::operator=(runtime_error&& e) noexcept = default; ++#else ++ runtime_error::runtime_error(runtime_error&& e) noexcept ++ : exception(e), _M_msg(e._M_msg) { } ++ ++ runtime_error& ++ runtime_error::operator=(runtime_error&& e) noexcept ++ { _M_msg = e._M_msg; return *this; } ++#endif ++_GLIBCXX_END_NAMESPACE_VERSION ++} // namespace +diff --git a/libstdc++-v3/src/nonshared11/cow-string-inst48.cc b/libstdc++-v3/src/nonshared11/cow-string-inst48.cc +new file mode 100644 +index 000000000..fa999f1c4 +--- /dev/null ++++ b/libstdc++-v3/src/nonshared11/cow-string-inst48.cc +@@ -0,0 +1,57 @@ ++// Components for manipulating sequences of characters -*- C++ -*- ++ ++// Copyright (C) 1997-2023 Free Software Foundation, Inc. ++// ++// This file is part of the GNU ISO C++ Library. This library is free ++// software; you can redistribute it and/or modify it under the ++// terms of the GNU General Public License as published by the ++// Free Software Foundation; either version 3, or (at your option) ++// any later version. ++ ++// This library is distributed in the hope that it will be useful, ++// but WITHOUT ANY WARRANTY; without even the implied warranty of ++// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the ++// GNU General Public License for more details. ++ ++// Under Section 7 of GPL version 3, you are granted additional ++// permissions described in the GCC Runtime Library Exception, version ++// 3.1, as published by the Free Software Foundation. ++ ++// You should have received a copy of the GNU General Public License and ++// a copy of the GCC Runtime Library Exception along with this program; ++// see the files COPYING3 and COPYING.RUNTIME respectively. If not, see ++// . ++ ++// ++// ISO C++ 14882: 21 Strings library ++// ++ ++// Written by Jason Merrill based upon the specification by Takanori Adachi ++// in ANSI X3J16/94-0013R2. Rewritten by Nathan Myers. ++ ++// Instantiation configuration. ++#ifndef C ++# define _GLIBCXX_USE_CXX11_ABI 0 ++# define C char ++#endif ++#include ++ ++namespace std _GLIBCXX_VISIBILITY(default) ++{ ++ ++ typedef basic_string S; ++ ++#ifndef _GLIBCXX_NONSHARED_CXX11_80 ++ template ++ S::basic_string(const S&, size_type, const allocator_type&); ++#endif ++ ++ template ++ S::basic_string(const S&, const allocator_type&); ++ ++ template ++ S::basic_string(S&&, const allocator_type&); ++ ++ template ++ void S::reserve(); ++} +diff --git a/libstdc++-v3/src/nonshared11/cow-string-inst80.cc b/libstdc++-v3/src/nonshared11/cow-string-inst80.cc +new file mode 100644 +index 000000000..6da58faf6 +--- /dev/null ++++ b/libstdc++-v3/src/nonshared11/cow-string-inst80.cc +@@ -0,0 +1,24 @@ ++// Copyright (C) 2012-2023 Free Software Foundation, Inc. ++// ++// This file is part of the GNU ISO C++ Library. This library is free ++// software; you can redistribute it and/or modify it under the ++// terms of the GNU General Public License as published by the ++// Free Software Foundation; either version 3, or (at your option) ++// any later version. ++ ++// This library is distributed in the hope that it will be useful, ++// but WITHOUT ANY WARRANTY; without even the implied warranty of ++// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the ++// GNU General Public License for more details. ++ ++// Under Section 7 of GPL version 3, you are granted additional ++// permissions described in the GCC Runtime Library Exception, version ++// 3.1, as published by the Free Software Foundation. ++ ++// You should have received a copy of the GNU General Public License and ++// a copy of the GCC Runtime Library Exception along with this program; ++// see the files COPYING3 and COPYING.RUNTIME respectively. If not, see ++// . ++ ++#define _GLIBCXX_NONSHARED_CXX11_80 ++#include "cow-string-inst48.cc" +diff --git a/libstdc++-v3/src/nonshared11/cow-wstring-inst48.cc b/libstdc++-v3/src/nonshared11/cow-wstring-inst48.cc +new file mode 100644 +index 000000000..b4c53e2d7 +--- /dev/null ++++ b/libstdc++-v3/src/nonshared11/cow-wstring-inst48.cc +@@ -0,0 +1,35 @@ ++// wide string support -*- C++ -*- ++ ++// Copyright (C) 1999-2023 Free Software Foundation, Inc. ++// ++// This file is part of the GNU ISO C++ Library. This library is free ++// software; you can redistribute it and/or modify it under the ++// terms of the GNU General Public License as published by the ++// Free Software Foundation; either version 3, or (at your option) ++// any later version. ++ ++// This library is distributed in the hope that it will be useful, ++// but WITHOUT ANY WARRANTY; without even the implied warranty of ++// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the ++// GNU General Public License for more details. ++ ++// Under Section 7 of GPL version 3, you are granted additional ++// permissions described in the GCC Runtime Library Exception, version ++// 3.1, as published by the Free Software Foundation. ++ ++// You should have received a copy of the GNU General Public License and ++// a copy of the GCC Runtime Library Exception along with this program; ++// see the files COPYING3 and COPYING.RUNTIME respectively. If not, see ++// . ++ ++// ++// ISO C++ 14882: 21 Strings library ++// ++ ++#define _GLIBCXX_USE_CXX11_ABI 0 ++#include ++ ++#ifdef _GLIBCXX_USE_WCHAR_T ++#define C wchar_t ++#include "cow-string-inst48.cc" ++#endif +diff --git a/libstdc++-v3/src/nonshared11/cow-wstring-inst80.cc b/libstdc++-v3/src/nonshared11/cow-wstring-inst80.cc +new file mode 100644 +index 000000000..e6ebb2f0a +--- /dev/null ++++ b/libstdc++-v3/src/nonshared11/cow-wstring-inst80.cc +@@ -0,0 +1,35 @@ ++// wide string support -*- C++ -*- ++ ++// Copyright (C) 1999-2023 Free Software Foundation, Inc. ++// ++// This file is part of the GNU ISO C++ Library. This library is free ++// software; you can redistribute it and/or modify it under the ++// terms of the GNU General Public License as published by the ++// Free Software Foundation; either version 3, or (at your option) ++// any later version. ++ ++// This library is distributed in the hope that it will be useful, ++// but WITHOUT ANY WARRANTY; without even the implied warranty of ++// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the ++// GNU General Public License for more details. ++ ++// Under Section 7 of GPL version 3, you are granted additional ++// permissions described in the GCC Runtime Library Exception, version ++// 3.1, as published by the Free Software Foundation. ++ ++// You should have received a copy of the GNU General Public License and ++// a copy of the GCC Runtime Library Exception along with this program; ++// see the files COPYING3 and COPYING.RUNTIME respectively. If not, see ++// . ++ ++// ++// ISO C++ 14882: 21 Strings library ++// ++ ++#define _GLIBCXX_USE_CXX11_ABI 0 ++#include ++ ++#ifdef _GLIBCXX_USE_WCHAR_T ++#define C wchar_t ++#include "cow-string-inst80.cc" ++#endif +diff --git a/libstdc++-v3/src/nonshared11/ctype.cc b/libstdc++-v3/src/nonshared11/ctype.cc +new file mode 100644 +index 000000000..30deac94f +--- /dev/null ++++ b/libstdc++-v3/src/nonshared11/ctype.cc +@@ -0,0 +1,35 @@ ++// Copyright (C) 1997-2023 Free Software Foundation, Inc. ++// ++// This file is part of the GNU ISO C++ Library. This library is free ++// software; you can redistribute it and/or modify it under the ++// terms of the GNU General Public License as published by the ++// Free Software Foundation; either version 3, or (at your option) ++// any later version. ++ ++// This library is distributed in the hope that it will be useful, ++// but WITHOUT ANY WARRANTY; without even the implied warranty of ++// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the ++// GNU General Public License for more details. ++ ++// Under Section 7 of GPL version 3, you are granted additional ++// permissions described in the GCC Runtime Library Exception, version ++// 3.1, as published by the Free Software Foundation. ++ ++// You should have received a copy of the GNU General Public License and ++// a copy of the GCC Runtime Library Exception along with this program; ++// see the files COPYING3 and COPYING.RUNTIME respectively. If not, see ++// . ++ ++#include ++#include ++#include ++ ++namespace std _GLIBCXX_VISIBILITY(default) ++{ ++_GLIBCXX_BEGIN_NAMESPACE_VERSION ++ ++ // Definitions for static const data members of ctype_base. ++ const ctype_base::mask ctype_base::blank; ++ ++_GLIBCXX_END_NAMESPACE_VERSION ++} // namespace +diff --git a/libstdc++-v3/src/nonshared11/cxx11-hash_tr1.cc b/libstdc++-v3/src/nonshared11/cxx11-hash_tr1.cc +new file mode 100644 +index 000000000..f6ff6aad8 +--- /dev/null ++++ b/libstdc++-v3/src/nonshared11/cxx11-hash_tr1.cc +@@ -0,0 +1,25 @@ ++// Copyright (C) 2012-2023 Free Software Foundation, Inc. ++// ++// This file is part of the GNU ISO C++ Library. This library is free ++// software; you can redistribute it and/or modify it under the ++// terms of the GNU General Public License as published by the ++// Free Software Foundation; either version 3, or (at your option) ++// any later version. ++ ++// This library is distributed in the hope that it will be useful, ++// but WITHOUT ANY WARRANTY; without even the implied warranty of ++// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the ++// GNU General Public License for more details. ++ ++// Under Section 7 of GPL version 3, you are granted additional ++// permissions described in the GCC Runtime Library Exception, version ++// 3.1, as published by the Free Software Foundation. ++ ++// You should have received a copy of the GNU General Public License and ++// a copy of the GCC Runtime Library Exception along with this program; ++// see the files COPYING3 and COPYING.RUNTIME respectively. If not, see ++// . ++ ++#include "../c++11/cxx11-hash_tr1.cc" ++asm (".hidden _ZNKSt3tr14hashIRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclES8_"); ++asm (".hidden _ZNKSt3tr14hashIRKNSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEEEEclES8_"); +diff --git a/libstdc++-v3/src/nonshared11/cxx11-ios_failure.cc b/libstdc++-v3/src/nonshared11/cxx11-ios_failure.cc +new file mode 100644 +index 000000000..349e776d9 +--- /dev/null ++++ b/libstdc++-v3/src/nonshared11/cxx11-ios_failure.cc +@@ -0,0 +1,43 @@ ++// Copyright (C) 2012-2023 Free Software Foundation, Inc. ++// ++// This file is part of the GNU ISO C++ Library. This library is free ++// software; you can redistribute it and/or modify it under the ++// terms of the GNU General Public License as published by the ++// Free Software Foundation; either version 3, or (at your option) ++// any later version. ++ ++// This library is distributed in the hope that it will be useful, ++// but WITHOUT ANY WARRANTY; without even the implied warranty of ++// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the ++// GNU General Public License for more details. ++ ++// Under Section 7 of GPL version 3, you are granted additional ++// permissions described in the GCC Runtime Library Exception, version ++// 3.1, as published by the Free Software Foundation. ++ ++// You should have received a copy of the GNU General Public License and ++// a copy of the GCC Runtime Library Exception along with this program; ++// see the files COPYING3 and COPYING.RUNTIME respectively. If not, see ++// . ++ ++#include "../c++11/cxx11-ios_failure.cc" ++asm (".hidden _ZNKSt19__iosfail_type_info11__do_upcastEPKN10__cxxabiv117__class_type_infoEPPv"); ++asm (".hidden _ZNSt13__ios_failureD0Ev"); ++asm (".hidden _ZNSt13__ios_failureD1Ev"); ++asm (".hidden _ZNSt13__ios_failureD2Ev"); ++asm (".hidden _ZNSt19__iosfail_type_infoD0Ev"); ++asm (".hidden _ZNSt19__iosfail_type_infoD1Ev"); ++asm (".hidden _ZNSt19__iosfail_type_infoD2Ev"); ++asm (".hidden _ZTISt13__ios_failure"); ++asm (".hidden _ZTISt19__iosfail_type_info"); ++asm (".hidden _ZTSSt13__ios_failure"); ++asm (".hidden _ZTSSt19__iosfail_type_info"); ++asm (".hidden _ZTVSt13__ios_failure"); ++asm (".hidden _ZTVSt19__iosfail_type_info"); ++#ifndef _GLIBCXX_NONSHARED_CXX11_80 ++asm (".hidden _ZSt19__throw_ios_failurePKc"); ++//asm (".hidden _ZNSt12system_errorC1ESt10error_codePKc"); ++//asm (".hidden _ZNSt12system_errorC2ESt10error_codePKc"); ++asm (".hidden _ZNSt12system_errorC2ESt10error_codeRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE"); ++asm (".hidden _ZNSt12system_errorC1ESt10error_codeRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE"); ++#endif +diff --git a/libstdc++-v3/src/nonshared11/cxx11-ios_failure80.cc b/libstdc++-v3/src/nonshared11/cxx11-ios_failure80.cc +new file mode 100644 +index 000000000..971c3d2eb +--- /dev/null ++++ b/libstdc++-v3/src/nonshared11/cxx11-ios_failure80.cc +@@ -0,0 +1,37 @@ ++// Copyright (C) 2012-2023 Free Software Foundation, Inc. ++// ++// This file is part of the GNU ISO C++ Library. This library is free ++// software; you can redistribute it and/or modify it under the ++// terms of the GNU General Public License as published by the ++// Free Software Foundation; either version 3, or (at your option) ++// any later version. ++ ++// This library is distributed in the hope that it will be useful, ++// but WITHOUT ANY WARRANTY; without even the implied warranty of ++// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the ++// GNU General Public License for more details. ++ ++// Under Section 7 of GPL version 3, you are granted additional ++// permissions described in the GCC Runtime Library Exception, version ++// 3.1, as published by the Free Software Foundation. ++ ++// You should have received a copy of the GNU General Public License and ++// a copy of the GCC Runtime Library Exception along with this program; ++// see the files COPYING3 and COPYING.RUNTIME respectively. If not, see ++// . ++ ++#define _GLIBCXX_NONSHARED_CXX11_80 ++#include "cxx11-ios_failure.cc" ++asm (".hidden _ZNSt8ios_base7failureB5cxx11D2Ev"); ++asm (".hidden _ZTVNSt8ios_base7failureB5cxx11E"); ++asm (".hidden _ZNSt8ios_base7failureB5cxx11D1Ev"); ++asm (".hidden _ZNSt8ios_base7failureB5cxx11D0Ev"); ++asm (".hidden _ZNKSt8ios_base7failureB5cxx114whatEv"); ++asm (".hidden _ZNSt8ios_base7failureB5cxx11C2ERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE"); ++asm (".hidden _ZNSt8ios_base7failureB5cxx11C1ERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE"); ++asm (".hidden _ZNSt8ios_base7failureB5cxx11C2ERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEERKSt10error_code"); ++asm (".hidden _ZNSt8ios_base7failureB5cxx11C1ERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEERKSt10error_code"); ++asm (".hidden _ZNSt8ios_base7failureB5cxx11C2EPKcRKSt10error_code"); ++asm (".hidden _ZNSt8ios_base7failureB5cxx11C1EPKcRKSt10error_code"); ++asm (".hidden _ZTSNSt8ios_base7failureB5cxx11E"); ++asm (".hidden _ZTINSt8ios_base7failureB5cxx11E"); +diff --git a/libstdc++-v3/src/nonshared11/cxx11-locale-inst.cc b/libstdc++-v3/src/nonshared11/cxx11-locale-inst.cc +new file mode 100644 +index 000000000..e60e180af +--- /dev/null ++++ b/libstdc++-v3/src/nonshared11/cxx11-locale-inst.cc +@@ -0,0 +1,49 @@ ++// Copyright (C) 2012-2023 Free Software Foundation, Inc. ++// ++// This file is part of the GNU ISO C++ Library. This library is free ++// software; you can redistribute it and/or modify it under the ++// terms of the GNU General Public License as published by the ++// Free Software Foundation; either version 3, or (at your option) ++// any later version. ++ ++// This library is distributed in the hope that it will be useful, ++// but WITHOUT ANY WARRANTY; without even the implied warranty of ++// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the ++// GNU General Public License for more details. ++ ++// Under Section 7 of GPL version 3, you are granted additional ++// permissions described in the GCC Runtime Library Exception, version ++// 3.1, as published by the Free Software Foundation. ++ ++// You should have received a copy of the GNU General Public License and ++// a copy of the GCC Runtime Library Exception along with this program; ++// see the files COPYING3 and COPYING.RUNTIME respectively. If not, see ++// . ++ ++#include "../c++11/cxx11-locale-inst.cc" ++#if !defined (__powerpc__) && !defined (__s390__) && !defined (__s390x__) ++asm (".hidden _ZNKSt7num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE14_M_extract_intB5cxx11IjEES3_S3_S3_RSt8ios_baseRSt12_Ios_IostateRT_"); ++asm (".hidden _ZNKSt7num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE14_M_extract_intB5cxx11IlEES3_S3_S3_RSt8ios_baseRSt12_Ios_IostateRT_"); ++asm (".hidden _ZNKSt7num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE14_M_extract_intB5cxx11ImEES3_S3_S3_RSt8ios_baseRSt12_Ios_IostateRT_"); ++asm (".hidden _ZNKSt7num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE14_M_extract_intB5cxx11ItEES3_S3_S3_RSt8ios_baseRSt12_Ios_IostateRT_"); ++asm (".hidden _ZNKSt7num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE14_M_extract_intB5cxx11IxEES3_S3_S3_RSt8ios_baseRSt12_Ios_IostateRT_"); ++asm (".hidden _ZNKSt7num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE14_M_extract_intB5cxx11IyEES3_S3_S3_RSt8ios_baseRSt12_Ios_IostateRT_"); ++#else ++//asm (".hidden _ZNKSt17__gnu_cxx_ldbl1287num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE14_M_extract_intB5cxx11IjEES4_S4_S4_RSt8ios_baseRSt12_Ios_IostateRT_"); ++//asm (".hidden _ZNKSt17__gnu_cxx_ldbl1287num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE14_M_extract_intB5cxx11IlEES4_S4_S4_RSt8ios_baseRSt12_Ios_IostateRT_"); ++//asm (".hidden _ZNKSt17__gnu_cxx_ldbl1287num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE14_M_extract_intB5cxx11ImEES4_S4_S4_RSt8ios_baseRSt12_Ios_IostateRT_"); ++//asm (".hidden _ZNKSt17__gnu_cxx_ldbl1287num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE14_M_extract_intB5cxx11ItEES4_S4_S4_RSt8ios_baseRSt12_Ios_IostateRT_"); ++//asm (".hidden _ZNKSt17__gnu_cxx_ldbl1287num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE14_M_extract_intB5cxx11IxEES4_S4_S4_RSt8ios_baseRSt12_Ios_IostateRT_"); ++//asm (".hidden _ZNKSt17__gnu_cxx_ldbl1287num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE14_M_extract_intB5cxx11IyEES4_S4_S4_RSt8ios_baseRSt12_Ios_IostateRT_"); ++#endif ++asm (".hidden _ZNKSt5ctypeIcE8do_widenEPKcS2_Pc"); ++asm (".hidden _ZNKSt5ctypeIcE9do_narrowEcc"); ++asm (".hidden _ZSt16__convert_from_vRKP15__locale_structPciPKcz"); ++asm (".hidden _ZTISt10money_base"); ++asm (".hidden _ZTISt13messages_base"); ++asm (".hidden _ZTISt9time_base"); ++asm (".hidden _ZTSSt10money_base"); ++asm (".hidden _ZTSSt13messages_base"); ++asm (".hidden _ZTSSt9time_base"); ++asm (".hidden _ZNKSt5ctypeIcE8do_widenEc"); ++asm (".hidden _ZNKSt19istreambuf_iteratorIcSt11char_traitsIcEE6_M_getEv"); +diff --git a/libstdc++-v3/src/nonshared11/cxx11-locale-inst110.cc b/libstdc++-v3/src/nonshared11/cxx11-locale-inst110.cc +new file mode 100644 +index 000000000..f8573a86e +--- /dev/null ++++ b/libstdc++-v3/src/nonshared11/cxx11-locale-inst110.cc +@@ -0,0 +1,33 @@ ++// Locale support -*- C++ -*- ++ ++// Copyright (C) 1999-2023 Free Software Foundation, Inc. ++// ++// This file is part of the GNU ISO C++ Library. This library is free ++// software; you can redistribute it and/or modify it under the ++// terms of the GNU General Public License as published by the ++// Free Software Foundation; either version 3, or (at your option) ++// any later version. ++ ++// This library is distributed in the hope that it will be useful, ++// but WITHOUT ANY WARRANTY; without even the implied warranty of ++// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the ++// GNU General Public License for more details. ++ ++// Under Section 7 of GPL version 3, you are granted additional ++// permissions described in the GCC Runtime Library Exception, version ++// 3.1, as published by the Free Software Foundation. ++ ++// You should have received a copy of the GNU General Public License and ++// a copy of the GCC Runtime Library Exception along with this program; ++// see the files COPYING3 and COPYING.RUNTIME respectively. If not, see ++// . ++ ++// ++// ISO C++ 14882: 22.1 Locales ++// ++ ++#include "cxx11-locale-inst80.cc" ++asm (".hidden _ZNKSt5ctypeIcE8do_widenEc"); ++asm (".hidden _ZNKSt5ctypeIcE9do_narrowEcc"); ++asm (".hidden _ZNKSt5ctypeIcE8do_widenEPKcS2_Pc"); ++asm (".hidden _ZNKSt19istreambuf_iteratorIcSt11char_traitsIcEE6_M_getEv"); +diff --git a/libstdc++-v3/src/nonshared11/cxx11-locale-inst80.cc b/libstdc++-v3/src/nonshared11/cxx11-locale-inst80.cc +new file mode 100644 +index 000000000..fadd719ed +--- /dev/null ++++ b/libstdc++-v3/src/nonshared11/cxx11-locale-inst80.cc +@@ -0,0 +1,69 @@ ++// Locale support -*- C++ -*- ++ ++// Copyright (C) 1999-2023 Free Software Foundation, Inc. ++// ++// This file is part of the GNU ISO C++ Library. This library is free ++// software; you can redistribute it and/or modify it under the ++// terms of the GNU General Public License as published by the ++// Free Software Foundation; either version 3, or (at your option) ++// any later version. ++ ++// This library is distributed in the hope that it will be useful, ++// but WITHOUT ANY WARRANTY; without even the implied warranty of ++// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the ++// GNU General Public License for more details. ++ ++// Under Section 7 of GPL version 3, you are granted additional ++// permissions described in the GCC Runtime Library Exception, version ++// 3.1, as published by the Free Software Foundation. ++ ++// You should have received a copy of the GNU General Public License and ++// a copy of the GCC Runtime Library Exception along with this program; ++// see the files COPYING3 and COPYING.RUNTIME respectively. If not, see ++// . ++ ++// ++// ISO C++ 14882: 22.1 Locales ++// ++ ++#ifndef _GLIBCXX_USE_CXX11_ABI ++#define _GLIBCXX_USE_CXX11_ABI 1 ++#endif ++ ++#include ++ ++// Instantiation configuration. ++#ifndef C ++# define C char ++# define C_is_char ++#endif ++ ++#define INSTANTIATE_USE_FACET(...) \ ++ template const __VA_ARGS__* \ ++ __try_use_facet< __VA_ARGS__ >(const locale&) noexcept ++ ++#define INSTANTIATE_FACET_ACCESSORS(...) \ ++ INSTANTIATE_USE_FACET(__VA_ARGS__) ++ ++namespace std _GLIBCXX_VISIBILITY(default) ++{ ++_GLIBCXX_BEGIN_NAMESPACE_VERSION ++ ++ template time_get>::iter_type time_get>::_M_extract_via_format(iter_type, iter_type, ios_base&, ios_base::iostate&, tm*, const C*, __time_get_state&) const; ++ ++INSTANTIATE_FACET_ACCESSORS(collate); ++INSTANTIATE_FACET_ACCESSORS(numpunct); ++INSTANTIATE_FACET_ACCESSORS(moneypunct); ++INSTANTIATE_USE_FACET (moneypunct); ++INSTANTIATE_FACET_ACCESSORS(time_get); ++INSTANTIATE_FACET_ACCESSORS(messages); ++INSTANTIATE_FACET_ACCESSORS(money_put); ++INSTANTIATE_FACET_ACCESSORS(money_get); ++ ++_GLIBCXX_END_NAMESPACE_VERSION ++} // namespace ++#ifdef C_is_char ++asm (".hidden _ZNKSt5ctypeIcE9do_narrowEcc"); ++asm (".hidden _ZNKSt5ctypeIcE8do_widenEPKcS2_Pc"); ++asm (".hidden _ZNKSt19istreambuf_iteratorIcSt11char_traitsIcEE6_M_getEv"); ++#endif +diff --git a/libstdc++-v3/src/nonshared11/cxx11-shim_facets.cc b/libstdc++-v3/src/nonshared11/cxx11-shim_facets.cc +new file mode 100644 +index 000000000..17e4cc429 +--- /dev/null ++++ b/libstdc++-v3/src/nonshared11/cxx11-shim_facets.cc +@@ -0,0 +1,181 @@ ++// Copyright (C) 2012-2023 Free Software Foundation, Inc. ++// ++// This file is part of the GNU ISO C++ Library. This library is free ++// software; you can redistribute it and/or modify it under the ++// terms of the GNU General Public License as published by the ++// Free Software Foundation; either version 3, or (at your option) ++// any later version. ++ ++// This library is distributed in the hope that it will be useful, ++// but WITHOUT ANY WARRANTY; without even the implied warranty of ++// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the ++// GNU General Public License for more details. ++ ++// Under Section 7 of GPL version 3, you are granted additional ++// permissions described in the GCC Runtime Library Exception, version ++// 3.1, as published by the Free Software Foundation. ++ ++// You should have received a copy of the GNU General Public License and ++// a copy of the GCC Runtime Library Exception along with this program; ++// see the files COPYING3 and COPYING.RUNTIME respectively. If not, see ++// . ++ ++#include "../c++11/cxx11-shim_facets.cc" ++//asm (".hidden _ZNKSt13__facet_shims12_GLOBAL__N_112collate_shimIcE10do_compareEPKcS4_S4_S4_"); ++//asm (".hidden _ZNKSt13__facet_shims12_GLOBAL__N_112collate_shimIcE12do_transformEPKcS4_"); ++//asm (".hidden _ZNKSt13__facet_shims12_GLOBAL__N_112collate_shimIwE10do_compareEPKwS4_S4_S4_"); ++//asm (".hidden _ZNKSt13__facet_shims12_GLOBAL__N_112collate_shimIwE12do_transformEPKwS4_"); ++//asm (".hidden _ZNKSt13__facet_shims12_GLOBAL__N_113messages_shimIcE6do_getEiiiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE"); ++//asm (".hidden _ZNKSt13__facet_shims12_GLOBAL__N_113messages_shimIcE7do_openERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEERKSt6locale"); ++//asm (".hidden _ZNKSt13__facet_shims12_GLOBAL__N_113messages_shimIcE8do_closeEi"); ++//asm (".hidden _ZNKSt13__facet_shims12_GLOBAL__N_113messages_shimIwE6do_getEiiiRKNSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEEE"); ++//asm (".hidden _ZNKSt13__facet_shims12_GLOBAL__N_113messages_shimIwE7do_openERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEERKSt6locale"); ++//asm (".hidden _ZNKSt13__facet_shims12_GLOBAL__N_113messages_shimIwE8do_closeEi"); ++//asm (".hidden _ZNKSt13__facet_shims12_GLOBAL__N_113time_get_shimIcE11do_get_dateESt19istreambuf_iteratorIcSt11char_traitsIcEES6_RSt8ios_baseRSt12_Ios_IostateP2tm"); ++//asm (".hidden _ZNKSt13__facet_shims12_GLOBAL__N_113time_get_shimIcE11do_get_timeESt19istreambuf_iteratorIcSt11char_traitsIcEES6_RSt8ios_baseRSt12_Ios_IostateP2tm"); ++//asm (".hidden _ZNKSt13__facet_shims12_GLOBAL__N_113time_get_shimIcE11do_get_yearESt19istreambuf_iteratorIcSt11char_traitsIcEES6_RSt8ios_baseRSt12_Ios_IostateP2tm"); ++//asm (".hidden _ZNKSt13__facet_shims12_GLOBAL__N_113time_get_shimIcE13do_date_orderEv"); ++//asm (".hidden _ZNKSt13__facet_shims12_GLOBAL__N_113time_get_shimIcE14do_get_weekdayESt19istreambuf_iteratorIcSt11char_traitsIcEES6_RSt8ios_baseRSt12_Ios_IostateP2tm"); ++//asm (".hidden _ZNKSt13__facet_shims12_GLOBAL__N_113time_get_shimIcE16do_get_monthnameESt19istreambuf_iteratorIcSt11char_traitsIcEES6_RSt8ios_baseRSt12_Ios_IostateP2tm"); ++//asm (".hidden _ZNKSt13__facet_shims12_GLOBAL__N_113time_get_shimIwE11do_get_dateESt19istreambuf_iteratorIwSt11char_traitsIwEES6_RSt8ios_baseRSt12_Ios_IostateP2tm"); ++//asm (".hidden _ZNKSt13__facet_shims12_GLOBAL__N_113time_get_shimIwE11do_get_timeESt19istreambuf_iteratorIwSt11char_traitsIwEES6_RSt8ios_baseRSt12_Ios_IostateP2tm"); ++//asm (".hidden _ZNKSt13__facet_shims12_GLOBAL__N_113time_get_shimIwE11do_get_yearESt19istreambuf_iteratorIwSt11char_traitsIwEES6_RSt8ios_baseRSt12_Ios_IostateP2tm"); ++//asm (".hidden _ZNKSt13__facet_shims12_GLOBAL__N_113time_get_shimIwE13do_date_orderEv"); ++//asm (".hidden _ZNKSt13__facet_shims12_GLOBAL__N_113time_get_shimIwE14do_get_weekdayESt19istreambuf_iteratorIwSt11char_traitsIwEES6_RSt8ios_baseRSt12_Ios_IostateP2tm"); ++//asm (".hidden _ZNKSt13__facet_shims12_GLOBAL__N_113time_get_shimIwE16do_get_monthnameESt19istreambuf_iteratorIwSt11char_traitsIwEES6_RSt8ios_baseRSt12_Ios_IostateP2tm"); ++//asm (".hidden _ZNKSt13__facet_shims12_GLOBAL__N_114money_get_shimIcE6do_getESt19istreambuf_iteratorIcSt11char_traitsIcEES6_bRSt8ios_baseRSt12_Ios_IostateRNSt7__cxx1112basic_stringIcS5_SaIcEEE"); ++//asm (".hidden _ZNKSt13__facet_shims12_GLOBAL__N_114money_get_shimIwE6do_getESt19istreambuf_iteratorIwSt11char_traitsIwEES6_bRSt8ios_baseRSt12_Ios_IostateRNSt7__cxx1112basic_stringIwS5_SaIwEEE"); ++//asm (".hidden _ZNKSt13__facet_shims12_GLOBAL__N_114money_put_shimIcE6do_putESt19ostreambuf_iteratorIcSt11char_traitsIcEEbRSt8ios_basecRKNSt7__cxx1112basic_stringIcS5_SaIcEEE"); ++//asm (".hidden _ZNKSt13__facet_shims12_GLOBAL__N_114money_put_shimIwE6do_putESt19ostreambuf_iteratorIwSt11char_traitsIwEEbRSt8ios_basewRKNSt7__cxx1112basic_stringIwS5_SaIwEEE"); ++asm (".hidden _ZNKSt6locale5facet11_M_sso_shimEPKNS_2idE"); ++//asm (".hidden _ZNKSt6locale5facet19_M_remove_referenceEv"); ++asm (".hidden _ZNSt13__facet_shims10__time_getIcEESt19istreambuf_iteratorIT_St11char_traitsIS2_EESt17integral_constantIbLb1EEPKNSt6locale5facetES5_S5_RSt8ios_baseRSt12_Ios_IostateP2tmc"); ++asm (".hidden _ZNSt13__facet_shims10__time_getIwEESt19istreambuf_iteratorIT_St11char_traitsIS2_EESt17integral_constantIbLb1EEPKNSt6locale5facetES5_S5_RSt8ios_baseRSt12_Ios_IostateP2tmc"); ++#if !defined (__powerpc__) && !defined (__s390__) && !defined (__s390x__) ++//asm (".hidden _ZNKSt13__facet_shims12_GLOBAL__N_114money_get_shimIcE6do_getESt19istreambuf_iteratorIcSt11char_traitsIcEES6_bRSt8ios_baseRSt12_Ios_IostateRe"); ++//asm (".hidden _ZNKSt13__facet_shims12_GLOBAL__N_114money_get_shimIwE6do_getESt19istreambuf_iteratorIwSt11char_traitsIwEES6_bRSt8ios_baseRSt12_Ios_IostateRe"); ++//asm (".hidden _ZNKSt13__facet_shims12_GLOBAL__N_114money_put_shimIcE6do_putESt19ostreambuf_iteratorIcSt11char_traitsIcEEbRSt8ios_basece"); ++//asm (".hidden _ZNKSt13__facet_shims12_GLOBAL__N_114money_put_shimIwE6do_putESt19ostreambuf_iteratorIwSt11char_traitsIwEEbRSt8ios_basewe"); ++asm (".hidden _ZNSt13__facet_shims11__money_getIcEESt19istreambuf_iteratorIT_St11char_traitsIS2_EESt17integral_constantIbLb1EEPKNSt6locale5facetES5_S5_bRSt8ios_baseRSt12_Ios_IostatePePNS_12__any_stringE"); ++asm (".hidden _ZNSt13__facet_shims11__money_getIwEESt19istreambuf_iteratorIT_St11char_traitsIS2_EESt17integral_constantIbLb1EEPKNSt6locale5facetES5_S5_bRSt8ios_baseRSt12_Ios_IostatePePNS_12__any_stringE"); ++asm (".hidden _ZNSt13__facet_shims11__money_putIcEESt19ostreambuf_iteratorIT_St11char_traitsIS2_EESt17integral_constantIbLb1EEPKNSt6locale5facetES5_bRSt8ios_baseS2_ePKNS_12__any_stringE"); ++asm (".hidden _ZNSt13__facet_shims11__money_putIwEESt19ostreambuf_iteratorIT_St11char_traitsIS2_EESt17integral_constantIbLb1EEPKNSt6locale5facetES5_bRSt8ios_baseS2_ePKNS_12__any_stringE"); ++#else ++//asm (".hidden _ZNKSt13__facet_shims12_GLOBAL__N_114money_get_shimIcE6do_getESt19istreambuf_iteratorIcSt11char_traitsIcEES6_bRSt8ios_baseRSt12_Ios_IostateRg"); ++//asm (".hidden _ZNKSt13__facet_shims12_GLOBAL__N_114money_get_shimIwE6do_getESt19istreambuf_iteratorIwSt11char_traitsIwEES6_bRSt8ios_baseRSt12_Ios_IostateRg"); ++//asm (".hidden _ZNKSt13__facet_shims12_GLOBAL__N_114money_put_shimIcE6do_putESt19ostreambuf_iteratorIcSt11char_traitsIcEEbRSt8ios_basecg"); ++//asm (".hidden _ZNKSt13__facet_shims12_GLOBAL__N_114money_put_shimIwE6do_putESt19ostreambuf_iteratorIwSt11char_traitsIwEEbRSt8ios_basewg"); ++//asm (".hidden _ZNSt13__facet_shims11__money_getIcEESt19istreambuf_iteratorIT_St11char_traitsIS2_EESt17integral_constantIbLb1EEPKNSt6locale5facetES5_S5_bRSt8ios_baseRSt12_Ios_IostatePgPNS_12__any_stringE"); ++//asm (".hidden _ZNSt13__facet_shims11__money_getIwEESt19istreambuf_iteratorIT_St11char_traitsIS2_EESt17integral_constantIbLb1EEPKNSt6locale5facetES5_S5_bRSt8ios_baseRSt12_Ios_IostatePgPNS_12__any_stringE"); ++//asm (".hidden _ZNSt13__facet_shims11__money_putIcEESt19ostreambuf_iteratorIT_St11char_traitsIS2_EESt17integral_constantIbLb1EEPKNSt6locale5facetES5_bRSt8ios_baseS2_gPKNS_12__any_stringE"); ++//asm (".hidden _ZNSt13__facet_shims11__money_putIwEESt19ostreambuf_iteratorIT_St11char_traitsIS2_EESt17integral_constantIbLb1EEPKNSt6locale5facetES5_bRSt8ios_baseS2_gPKNS_12__any_stringE"); ++#endif ++//asm (".hidden _ZNSt13__facet_shims12_GLOBAL__N_112collate_shimIcED0Ev"); ++//asm (".hidden _ZNSt13__facet_shims12_GLOBAL__N_112collate_shimIcED1Ev"); ++//asm (".hidden _ZNSt13__facet_shims12_GLOBAL__N_112collate_shimIcED2Ev"); ++//asm (".hidden _ZNSt13__facet_shims12_GLOBAL__N_112collate_shimIwED0Ev"); ++//asm (".hidden _ZNSt13__facet_shims12_GLOBAL__N_112collate_shimIwED1Ev"); ++//asm (".hidden _ZNSt13__facet_shims12_GLOBAL__N_112collate_shimIwED2Ev"); ++//asm (".hidden _ZNSt13__facet_shims12_GLOBAL__N_113messages_shimIcED0Ev"); ++//asm (".hidden _ZNSt13__facet_shims12_GLOBAL__N_113messages_shimIcED1Ev"); ++//asm (".hidden _ZNSt13__facet_shims12_GLOBAL__N_113messages_shimIcED2Ev"); ++//asm (".hidden _ZNSt13__facet_shims12_GLOBAL__N_113messages_shimIwED0Ev"); ++//asm (".hidden _ZNSt13__facet_shims12_GLOBAL__N_113messages_shimIwED1Ev"); ++//asm (".hidden _ZNSt13__facet_shims12_GLOBAL__N_113messages_shimIwED2Ev"); ++//asm (".hidden _ZNSt13__facet_shims12_GLOBAL__N_113numpunct_shimIcED0Ev"); ++//asm (".hidden _ZNSt13__facet_shims12_GLOBAL__N_113numpunct_shimIcED1Ev"); ++//asm (".hidden _ZNSt13__facet_shims12_GLOBAL__N_113numpunct_shimIcED2Ev"); ++//asm (".hidden _ZNSt13__facet_shims12_GLOBAL__N_113numpunct_shimIwED0Ev"); ++//asm (".hidden _ZNSt13__facet_shims12_GLOBAL__N_113numpunct_shimIwED1Ev"); ++//asm (".hidden _ZNSt13__facet_shims12_GLOBAL__N_113numpunct_shimIwED2Ev"); ++//asm (".hidden _ZNSt13__facet_shims12_GLOBAL__N_113time_get_shimIcED0Ev"); ++//asm (".hidden _ZNSt13__facet_shims12_GLOBAL__N_113time_get_shimIcED1Ev"); ++//asm (".hidden _ZNSt13__facet_shims12_GLOBAL__N_113time_get_shimIcED2Ev"); ++//asm (".hidden _ZNSt13__facet_shims12_GLOBAL__N_113time_get_shimIwED0Ev"); ++//asm (".hidden _ZNSt13__facet_shims12_GLOBAL__N_113time_get_shimIwED1Ev"); ++//asm (".hidden _ZNSt13__facet_shims12_GLOBAL__N_113time_get_shimIwED2Ev"); ++//asm (".hidden _ZNSt13__facet_shims12_GLOBAL__N_114money_get_shimIcED0Ev"); ++//asm (".hidden _ZNSt13__facet_shims12_GLOBAL__N_114money_get_shimIcED1Ev"); ++//asm (".hidden _ZNSt13__facet_shims12_GLOBAL__N_114money_get_shimIcED2Ev"); ++//asm (".hidden _ZNSt13__facet_shims12_GLOBAL__N_114money_get_shimIwED0Ev"); ++//asm (".hidden _ZNSt13__facet_shims12_GLOBAL__N_114money_get_shimIwED1Ev"); ++//asm (".hidden _ZNSt13__facet_shims12_GLOBAL__N_114money_get_shimIwED2Ev"); ++//asm (".hidden _ZNSt13__facet_shims12_GLOBAL__N_114money_put_shimIcED0Ev"); ++//asm (".hidden _ZNSt13__facet_shims12_GLOBAL__N_114money_put_shimIcED1Ev"); ++//asm (".hidden _ZNSt13__facet_shims12_GLOBAL__N_114money_put_shimIcED2Ev"); ++//asm (".hidden _ZNSt13__facet_shims12_GLOBAL__N_114money_put_shimIwED0Ev"); ++//asm (".hidden _ZNSt13__facet_shims12_GLOBAL__N_114money_put_shimIwED1Ev"); ++//asm (".hidden _ZNSt13__facet_shims12_GLOBAL__N_114money_put_shimIwED2Ev"); ++//asm (".hidden _ZNSt13__facet_shims12_GLOBAL__N_115moneypunct_shimIcLb0EED0Ev"); ++//asm (".hidden _ZNSt13__facet_shims12_GLOBAL__N_115moneypunct_shimIcLb0EED1Ev"); ++//asm (".hidden _ZNSt13__facet_shims12_GLOBAL__N_115moneypunct_shimIcLb0EED2Ev"); ++//asm (".hidden _ZNSt13__facet_shims12_GLOBAL__N_115moneypunct_shimIcLb1EED0Ev"); ++//asm (".hidden _ZNSt13__facet_shims12_GLOBAL__N_115moneypunct_shimIcLb1EED1Ev"); ++//asm (".hidden _ZNSt13__facet_shims12_GLOBAL__N_115moneypunct_shimIcLb1EED2Ev"); ++//asm (".hidden _ZNSt13__facet_shims12_GLOBAL__N_115moneypunct_shimIwLb0EED0Ev"); ++//asm (".hidden _ZNSt13__facet_shims12_GLOBAL__N_115moneypunct_shimIwLb0EED1Ev"); ++//asm (".hidden _ZNSt13__facet_shims12_GLOBAL__N_115moneypunct_shimIwLb0EED2Ev"); ++//asm (".hidden _ZNSt13__facet_shims12_GLOBAL__N_115moneypunct_shimIwLb1EED0Ev"); ++//asm (".hidden _ZNSt13__facet_shims12_GLOBAL__N_115moneypunct_shimIwLb1EED1Ev"); ++//asm (".hidden _ZNSt13__facet_shims12_GLOBAL__N_115moneypunct_shimIwLb1EED2Ev"); ++//asm (".hidden _ZNSt13__facet_shims12_GLOBAL__N_116__destroy_stringIcEEvPv"); ++//asm (".hidden _ZNSt13__facet_shims12_GLOBAL__N_116__destroy_stringIwEEvPv"); ++asm (".hidden _ZNSt13__facet_shims16__messages_closeIcEEvSt17integral_constantIbLb1EEPKNSt6locale5facetEi"); ++asm (".hidden _ZNSt13__facet_shims16__messages_closeIwEEvSt17integral_constantIbLb1EEPKNSt6locale5facetEi"); ++asm (".hidden _ZNSt13__facet_shims17__collate_compareIcEEiSt17integral_constantIbLb1EEPKNSt6locale5facetEPKT_S9_S9_S9_"); ++asm (".hidden _ZNSt13__facet_shims17__collate_compareIwEEiSt17integral_constantIbLb1EEPKNSt6locale5facetEPKT_S9_S9_S9_"); ++asm (".hidden _ZNSt13__facet_shims19__collate_transformIcEEvSt17integral_constantIbLb1EEPKNSt6locale5facetERNS_12__any_stringEPKT_SB_"); ++asm (".hidden _ZNSt13__facet_shims19__collate_transformIwEEvSt17integral_constantIbLb1EEPKNSt6locale5facetERNS_12__any_stringEPKT_SB_"); ++asm (".hidden _ZNSt13__facet_shims20__time_get_dateorderIcEENSt9time_base9dateorderESt17integral_constantIbLb1EEPKNSt6locale5facetE"); ++asm (".hidden _ZNSt13__facet_shims20__time_get_dateorderIwEENSt9time_base9dateorderESt17integral_constantIbLb1EEPKNSt6locale5facetE"); ++asm (".hidden _ZNSt13__facet_shims21__numpunct_fill_cacheIcEEvSt17integral_constantIbLb1EEPKNSt6locale5facetEPSt16__numpunct_cacheIT_E"); ++asm (".hidden _ZNSt13__facet_shims21__numpunct_fill_cacheIwEEvSt17integral_constantIbLb1EEPKNSt6locale5facetEPSt16__numpunct_cacheIT_E"); ++asm (".hidden _ZNSt13__facet_shims23__moneypunct_fill_cacheIcLb0EEEvSt17integral_constantIbLb1EEPKNSt6locale5facetEPSt18__moneypunct_cacheIT_XT0_EE"); ++asm (".hidden _ZNSt13__facet_shims23__moneypunct_fill_cacheIcLb1EEEvSt17integral_constantIbLb1EEPKNSt6locale5facetEPSt18__moneypunct_cacheIT_XT0_EE"); ++asm (".hidden _ZNSt13__facet_shims23__moneypunct_fill_cacheIwLb0EEEvSt17integral_constantIbLb1EEPKNSt6locale5facetEPSt18__moneypunct_cacheIT_XT0_EE"); ++asm (".hidden _ZNSt13__facet_shims23__moneypunct_fill_cacheIwLb1EEEvSt17integral_constantIbLb1EEPKNSt6locale5facetEPSt18__moneypunct_cacheIT_XT0_EE"); ++//asm (".hidden _ZTINSt13__facet_shims12_GLOBAL__N_112collate_shimIcEE"); ++//asm (".hidden _ZTINSt13__facet_shims12_GLOBAL__N_112collate_shimIwEE"); ++//asm (".hidden _ZTINSt13__facet_shims12_GLOBAL__N_113messages_shimIcEE"); ++//asm (".hidden _ZTINSt13__facet_shims12_GLOBAL__N_113messages_shimIwEE"); ++//asm (".hidden _ZTINSt13__facet_shims12_GLOBAL__N_113numpunct_shimIcEE"); ++//asm (".hidden _ZTINSt13__facet_shims12_GLOBAL__N_113numpunct_shimIwEE"); ++//asm (".hidden _ZTINSt13__facet_shims12_GLOBAL__N_113time_get_shimIcEE"); ++//asm (".hidden _ZTINSt13__facet_shims12_GLOBAL__N_113time_get_shimIwEE"); ++//asm (".hidden _ZTINSt13__facet_shims12_GLOBAL__N_114money_get_shimIcEE"); ++//asm (".hidden _ZTINSt13__facet_shims12_GLOBAL__N_114money_get_shimIwEE"); ++//asm (".hidden _ZTINSt13__facet_shims12_GLOBAL__N_114money_put_shimIcEE"); ++//asm (".hidden _ZTINSt13__facet_shims12_GLOBAL__N_114money_put_shimIwEE"); ++//asm (".hidden _ZTINSt13__facet_shims12_GLOBAL__N_115moneypunct_shimIcLb0EEE"); ++//asm (".hidden _ZTINSt13__facet_shims12_GLOBAL__N_115moneypunct_shimIcLb1EEE"); ++//asm (".hidden _ZTINSt13__facet_shims12_GLOBAL__N_115moneypunct_shimIwLb0EEE"); ++//asm (".hidden _ZTINSt13__facet_shims12_GLOBAL__N_115moneypunct_shimIwLb1EEE"); ++//asm (".hidden _ZTINSt6locale5facet6__shimE"); ++//asm (".hidden _ZTSNSt6locale5facet6__shimE"); ++//asm (".hidden _ZTVNSt13__facet_shims12_GLOBAL__N_112collate_shimIcEE"); ++//asm (".hidden _ZTVNSt13__facet_shims12_GLOBAL__N_112collate_shimIwEE"); ++//asm (".hidden _ZTVNSt13__facet_shims12_GLOBAL__N_113messages_shimIcEE"); ++//asm (".hidden _ZTVNSt13__facet_shims12_GLOBAL__N_113messages_shimIwEE"); ++//asm (".hidden _ZTVNSt13__facet_shims12_GLOBAL__N_113numpunct_shimIcEE"); ++//asm (".hidden _ZTVNSt13__facet_shims12_GLOBAL__N_113numpunct_shimIwEE"); ++//asm (".hidden _ZTVNSt13__facet_shims12_GLOBAL__N_113time_get_shimIcEE"); ++//asm (".hidden _ZTVNSt13__facet_shims12_GLOBAL__N_113time_get_shimIwEE"); ++//asm (".hidden _ZTVNSt13__facet_shims12_GLOBAL__N_114money_get_shimIcEE"); ++//asm (".hidden _ZTVNSt13__facet_shims12_GLOBAL__N_114money_get_shimIwEE"); ++//asm (".hidden _ZTVNSt13__facet_shims12_GLOBAL__N_114money_put_shimIcEE"); ++//asm (".hidden _ZTVNSt13__facet_shims12_GLOBAL__N_114money_put_shimIwEE"); ++//asm (".hidden _ZTVNSt13__facet_shims12_GLOBAL__N_115moneypunct_shimIcLb0EEE"); ++//asm (".hidden _ZTVNSt13__facet_shims12_GLOBAL__N_115moneypunct_shimIcLb1EEE"); ++//asm (".hidden _ZTVNSt13__facet_shims12_GLOBAL__N_115moneypunct_shimIwLb0EEE"); ++//asm (".hidden _ZTVNSt13__facet_shims12_GLOBAL__N_115moneypunct_shimIwLb1EEE"); ++#if defined(__i386__) || (defined(__powerpc__) && !defined(__powerpc64__)) ++//asm (".hidden _ZNSt13__facet_shims14__messages_getIcEEvSt17integral_constantIbLb1EEPKNSt6locale5facetERNS_12__any_stringEiiiPKT_j"); ++//asm (".hidden _ZNSt13__facet_shims14__messages_getIwEEvSt17integral_constantIbLb1EEPKNSt6locale5facetERNS_12__any_stringEiiiPKT_j"); ++//asm (".hidden _ZNSt13__facet_shims15__messages_openIcEEiSt17integral_constantIbLb1EEPKNSt6locale5facetEPKcjRKS3_"); ++//asm (".hidden _ZNSt13__facet_shims15__messages_openIwEEiSt17integral_constantIbLb1EEPKNSt6locale5facetEPKcjRKS3_"); ++#else ++asm (".hidden _ZNSt13__facet_shims14__messages_getIcEEvSt17integral_constantIbLb1EEPKNSt6locale5facetERNS_12__any_stringEiiiPKT_m"); ++asm (".hidden _ZNSt13__facet_shims14__messages_getIwEEvSt17integral_constantIbLb1EEPKNSt6locale5facetERNS_12__any_stringEiiiPKT_m"); ++asm (".hidden _ZNSt13__facet_shims15__messages_openIcEEiSt17integral_constantIbLb1EEPKNSt6locale5facetEPKcmRKS3_"); ++asm (".hidden _ZNSt13__facet_shims15__messages_openIwEEiSt17integral_constantIbLb1EEPKNSt6locale5facetEPKcmRKS3_"); ++#endif +diff --git a/libstdc++-v3/src/nonshared11/cxx11-stdexcept.cc b/libstdc++-v3/src/nonshared11/cxx11-stdexcept.cc +new file mode 100644 +index 000000000..7bc854068 +--- /dev/null ++++ b/libstdc++-v3/src/nonshared11/cxx11-stdexcept.cc +@@ -0,0 +1,25 @@ ++// Copyright (C) 2012-2023 Free Software Foundation, Inc. ++// ++// This file is part of the GNU ISO C++ Library. This library is free ++// software; you can redistribute it and/or modify it under the ++// terms of the GNU General Public License as published by the ++// Free Software Foundation; either version 3, or (at your option) ++// any later version. ++ ++// This library is distributed in the hope that it will be useful, ++// but WITHOUT ANY WARRANTY; without even the implied warranty of ++// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the ++// GNU General Public License for more details. ++ ++// Under Section 7 of GPL version 3, you are granted additional ++// permissions described in the GCC Runtime Library Exception, version ++// 3.1, as published by the Free Software Foundation. ++ ++// You should have received a copy of the GNU General Public License and ++// a copy of the GCC Runtime Library Exception along with this program; ++// see the files COPYING3 and COPYING.RUNTIME respectively. If not, see ++// . ++ ++#include "../c++11/cxx11-stdexcept.cc" ++asm (".hidden _ZNSt12__cow_stringC1ERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE"); ++asm (".hidden _ZNSt12__cow_stringC2ERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE"); +diff --git a/libstdc++-v3/src/nonshared11/cxx11-wlocale-inst.cc b/libstdc++-v3/src/nonshared11/cxx11-wlocale-inst.cc +new file mode 100644 +index 000000000..2b628e858 +--- /dev/null ++++ b/libstdc++-v3/src/nonshared11/cxx11-wlocale-inst.cc +@@ -0,0 +1,52 @@ ++// Copyright (C) 2012-2023 Free Software Foundation, Inc. ++// ++// This file is part of the GNU ISO C++ Library. This library is free ++// software; you can redistribute it and/or modify it under the ++// terms of the GNU General Public License as published by the ++// Free Software Foundation; either version 3, or (at your option) ++// any later version. ++ ++// This library is distributed in the hope that it will be useful, ++// but WITHOUT ANY WARRANTY; without even the implied warranty of ++// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the ++// GNU General Public License for more details. ++ ++// Under Section 7 of GPL version 3, you are granted additional ++// permissions described in the GCC Runtime Library Exception, version ++// 3.1, as published by the Free Software Foundation. ++ ++// You should have received a copy of the GNU General Public License and ++// a copy of the GCC Runtime Library Exception along with this program; ++// see the files COPYING3 and COPYING.RUNTIME respectively. If not, see ++// . ++ ++#include "../c++11/cxx11-wlocale-inst.cc" ++#if !defined (__powerpc__) && !defined (__s390__) && !defined (__s390x__) ++asm (".hidden _ZNKSt7num_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE14_M_extract_intB5cxx11IjEES3_S3_S3_RSt8ios_baseRSt12_Ios_IostateRT_"); ++asm (".hidden _ZNKSt7num_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE14_M_extract_intB5cxx11IlEES3_S3_S3_RSt8ios_baseRSt12_Ios_IostateRT_"); ++asm (".hidden _ZNKSt7num_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE14_M_extract_intB5cxx11ImEES3_S3_S3_RSt8ios_baseRSt12_Ios_IostateRT_"); ++asm (".hidden _ZNKSt7num_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE14_M_extract_intB5cxx11ItEES3_S3_S3_RSt8ios_baseRSt12_Ios_IostateRT_"); ++asm (".hidden _ZNKSt7num_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE14_M_extract_intB5cxx11IxEES3_S3_S3_RSt8ios_baseRSt12_Ios_IostateRT_"); ++asm (".hidden _ZNKSt7num_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE14_M_extract_intB5cxx11IyEES3_S3_S3_RSt8ios_baseRSt12_Ios_IostateRT_"); ++#else ++//asm (".hidden _ZNKSt17__gnu_cxx_ldbl1287num_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE14_M_extract_intB5cxx11IjEES4_S4_S4_RSt8ios_baseRSt12_Ios_IostateRT_"); ++//asm (".hidden _ZNKSt17__gnu_cxx_ldbl1287num_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE14_M_extract_intB5cxx11IlEES4_S4_S4_RSt8ios_baseRSt12_Ios_IostateRT_"); ++//asm (".hidden _ZNKSt17__gnu_cxx_ldbl1287num_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE14_M_extract_intB5cxx11ImEES4_S4_S4_RSt8ios_baseRSt12_Ios_IostateRT_"); ++//asm (".hidden _ZNKSt17__gnu_cxx_ldbl1287num_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE14_M_extract_intB5cxx11ItEES4_S4_S4_RSt8ios_baseRSt12_Ios_IostateRT_"); ++//asm (".hidden _ZNKSt17__gnu_cxx_ldbl1287num_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE14_M_extract_intB5cxx11IxEES4_S4_S4_RSt8ios_baseRSt12_Ios_IostateRT_"); ++//asm (".hidden _ZNKSt17__gnu_cxx_ldbl1287num_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE14_M_extract_intB5cxx11IyEES4_S4_S4_RSt8ios_baseRSt12_Ios_IostateRT_"); ++#endif ++#if defined(__i386__) || (defined(__powerpc__) && !defined(__powerpc64__)) ++//asm (".hidden _ZNSt15time_put_bynameIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEEC1ERKNSt7__cxx1112basic_stringIcS1_IcESaIcEEEj"); ++//asm (".hidden _ZNSt15time_put_bynameIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEEC2ERKNSt7__cxx1112basic_stringIcS1_IcESaIcEEEj"); ++#else ++asm (".hidden _ZNSt15time_put_bynameIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEEC1ERKNSt7__cxx1112basic_stringIcS1_IcESaIcEEEm"); ++asm (".hidden _ZNSt15time_put_bynameIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEEC2ERKNSt7__cxx1112basic_stringIcS1_IcESaIcEEEm"); ++#endif ++asm (".hidden _ZSt16__convert_from_vRKP15__locale_structPciPKcz"); ++asm (".hidden _ZTISt10money_base"); ++asm (".hidden _ZTISt13messages_base"); ++asm (".hidden _ZTISt9time_base"); ++asm (".hidden _ZTSSt10money_base"); ++asm (".hidden _ZTSSt13messages_base"); ++asm (".hidden _ZTSSt9time_base"); +diff --git a/libstdc++-v3/src/nonshared11/cxx11-wlocale-inst80.cc b/libstdc++-v3/src/nonshared11/cxx11-wlocale-inst80.cc +new file mode 100644 +index 000000000..0353dbb93 +--- /dev/null ++++ b/libstdc++-v3/src/nonshared11/cxx11-wlocale-inst80.cc +@@ -0,0 +1,29 @@ ++// Copyright (C) 2022 Free Software Foundation, Inc. ++// ++// This file is part of the GNU ISO C++ Library. This library is free ++// software; you can redistribute it and/or modify it under the ++// terms of the GNU General Public License as published by the ++// Free Software Foundation; either version 3, or (at your option) ++// any later version. ++ ++// This library is distributed in the hope that it will be useful, ++// but WITHOUT ANY WARRANTY; without even the implied warranty of ++// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the ++// GNU General Public License for more details. ++ ++// Under Section 7 of GPL version 3, you are granted additional ++// permissions described in the GCC Runtime Library Exception, version ++// 3.1, as published by the Free Software Foundation. ++ ++// You should have received a copy of the GNU General Public License and ++// a copy of the GCC Runtime Library Exception along with this program; ++// see the files COPYING3 and COPYING.RUNTIME respectively. If not, see ++// . ++ ++#define _GLIBCXX_USE_CXX11_ABI 1 ++#include ++ ++#ifdef _GLIBCXX_USE_WCHAR_T ++#define C wchar_t ++#include "cxx11-locale-inst80.cc" ++#endif +diff --git a/libstdc++-v3/src/nonshared11/debug.cc b/libstdc++-v3/src/nonshared11/debug.cc +new file mode 100644 +index 000000000..a9fa99f8f +--- /dev/null ++++ b/libstdc++-v3/src/nonshared11/debug.cc +@@ -0,0 +1,131 @@ ++// Copyright (C) 2003-2023 Free Software Foundation, Inc. ++// ++// This file is part of the GNU ISO C++ Library. This library is free ++// software; you can redistribute it and/or modify it under the ++// terms of the GNU General Public License as published by the ++// Free Software Foundation; either version 3, or (at your option) ++// any later version. ++ ++// This library is distributed in the hope that it will be useful, ++// but WITHOUT ANY WARRANTY; without even the implied warranty of ++// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the ++// GNU General Public License for more details. ++ ++// Under Section 7 of GPL version 3, you are granted additional ++// permissions described in the GCC Runtime Library Exception, version ++// 3.1, as published by the Free Software Foundation. ++ ++// You should have received a copy of the GNU General Public License and ++// a copy of the GCC Runtime Library Exception along with this program; ++// see the files COPYING3 and COPYING.RUNTIME respectively. If not, see ++// . ++ ++#include ++#include ++ ++#include ++#include ++#include ++#include ++#include ++#include ++#include ++#include ++#include ++#include ++#include ++ ++namespace std ++{ ++ [[__noreturn__]] ++ void ++ __glibcxx_assert_fail(const char* file, int line, ++ const char* function, const char* condition) noexcept ++ { ++ if (file && function && condition) ++ fprintf(stderr, "%s:%d: %s: Assertion '%s' failed.\n", ++ file, line, function, condition); ++ else if (function) ++ fprintf(stderr, "%s: Undefined behavior detected.\n", function); ++ abort(); ++ } ++} ++ ++#ifndef _GLIBCXX_NONSHARED_CXX11_110 ++using namespace std; ++ ++namespace __gnu_debug ++{ ++ void ++ _Safe_iterator_base:: ++ _M_reset() throw () ++ { ++ _M_sequence = 0; ++ _M_version = 0; ++ _M_prior = 0; ++ _M_next = 0; ++ } ++ ++ _Safe_unordered_container_base* ++ _Safe_local_iterator_base:: ++ _M_get_container() const _GLIBCXX_NOEXCEPT ++ { return static_cast<_Safe_unordered_container_base*>(_M_sequence); } ++ ++ void ++ _Safe_local_iterator_base:: ++ _M_attach_single(_Safe_sequence_base* __cont, bool __constant) throw () ++ { ++ _M_detach_single(); ++ ++ // Attach to the new container (if there is one) ++ if (__cont) ++ { ++ _M_sequence = __cont; ++ _M_version = _M_sequence->_M_version; ++ _M_get_container()->_M_attach_local_single(this, __constant); ++ } ++ } ++ ++ void ++ _Safe_local_iterator_base:: ++ _M_detach_single() throw () ++ { ++ if (_M_sequence) ++ { ++ _M_get_container()->_M_detach_local_single(this); ++ _M_reset(); ++ } ++ } ++ ++ void ++ _Safe_unordered_container_base:: ++ _M_attach_local_single(_Safe_iterator_base* __it, bool __constant) throw () ++ { ++ _Safe_iterator_base*& __its = ++ __constant ? _M_const_local_iterators : _M_local_iterators; ++ __it->_M_next = __its; ++ if (__it->_M_next) ++ __it->_M_next->_M_prior = __it; ++ __its = __it; ++ } ++ ++ void ++ _Safe_unordered_container_base:: ++ _M_detach_local_single(_Safe_iterator_base* __it) throw () ++ { ++ // Remove __it from this container's list ++ __it->_M_unlink(); ++ if (_M_const_local_iterators == __it) ++ _M_const_local_iterators = __it->_M_next; ++ if (_M_local_iterators == __it) ++ _M_local_iterators = __it->_M_next; ++ } ++ ++} // namespace __gnu_debug ++ ++asm (".hidden _ZN11__gnu_debug19_Safe_iterator_base8_M_resetEv"); ++asm (".hidden _ZN11__gnu_debug25_Safe_local_iterator_base16_M_detach_singleEv"); ++asm (".hidden _ZN11__gnu_debug30_Safe_unordered_container_base22_M_attach_local_singleEPNS_19_Safe_iterator_baseEb"); ++asm (".hidden _ZN11__gnu_debug30_Safe_unordered_container_base22_M_detach_local_singleEPNS_19_Safe_iterator_baseE"); ++asm (".hidden _ZNK11__gnu_debug25_Safe_local_iterator_base16_M_get_containerEv"); ++#endif +diff --git a/libstdc++-v3/src/nonshared11/debug110.cc b/libstdc++-v3/src/nonshared11/debug110.cc +new file mode 100644 +index 000000000..364a72022 +--- /dev/null ++++ b/libstdc++-v3/src/nonshared11/debug110.cc +@@ -0,0 +1,30 @@ ++// Locale support -*- C++ -*- ++ ++// Copyright (C) 1999-2023 Free Software Foundation, Inc. ++// ++// This file is part of the GNU ISO C++ Library. This library is free ++// software; you can redistribute it and/or modify it under the ++// terms of the GNU General Public License as published by the ++// Free Software Foundation; either version 3, or (at your option) ++// any later version. ++ ++// This library is distributed in the hope that it will be useful, ++// but WITHOUT ANY WARRANTY; without even the implied warranty of ++// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the ++// GNU General Public License for more details. ++ ++// Under Section 7 of GPL version 3, you are granted additional ++// permissions described in the GCC Runtime Library Exception, version ++// 3.1, as published by the Free Software Foundation. ++ ++// You should have received a copy of the GNU General Public License and ++// a copy of the GCC Runtime Library Exception along with this program; ++// see the files COPYING3 and COPYING.RUNTIME respectively. If not, see ++// . ++ ++// ++// ISO C++ 14882: 22.1 Locales ++// ++ ++#define _GLIBCXX_NONSHARED_CXX11_110 ++#include "debug.cc" +diff --git a/libstdc++-v3/src/nonshared11/del_opa.cc b/libstdc++-v3/src/nonshared11/del_opa.cc +new file mode 100644 +index 000000000..57f09aa14 +--- /dev/null ++++ b/libstdc++-v3/src/nonshared11/del_opa.cc +@@ -0,0 +1,23 @@ ++// Copyright (C) 2017-2023 Free Software Foundation, Inc. ++// ++// This file is part of the GNU ISO C++ Library. This library is free ++// software; you can redistribute it and/or modify it under the ++// terms of the GNU General Public License as published by the ++// Free Software Foundation; either version 3, or (at your option) ++// any later version. ++ ++// This library is distributed in the hope that it will be useful, ++// but WITHOUT ANY WARRANTY; without even the implied warranty of ++// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the ++// GNU General Public License for more details. ++ ++// Under Section 7 of GPL version 3, you are granted additional ++// permissions described in the GCC Runtime Library Exception, version ++// 3.1, as published by the Free Software Foundation. ++ ++// You should have received a copy of the GNU General Public License and ++// a copy of the GCC Runtime Library Exception along with this program; ++// see the files COPYING3 and COPYING.RUNTIME respectively. If not, see ++// . ++ ++#include "../libsupc++/del_opa.cc" +diff --git a/libstdc++-v3/src/nonshared11/del_opant.cc b/libstdc++-v3/src/nonshared11/del_opant.cc +new file mode 100644 +index 000000000..02930dc8c +--- /dev/null ++++ b/libstdc++-v3/src/nonshared11/del_opant.cc +@@ -0,0 +1,23 @@ ++// Copyright (C) 2017-2023 Free Software Foundation, Inc. ++// ++// This file is part of the GNU ISO C++ Library. This library is free ++// software; you can redistribute it and/or modify it under the ++// terms of the GNU General Public License as published by the ++// Free Software Foundation; either version 3, or (at your option) ++// any later version. ++ ++// This library is distributed in the hope that it will be useful, ++// but WITHOUT ANY WARRANTY; without even the implied warranty of ++// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the ++// GNU General Public License for more details. ++ ++// Under Section 7 of GPL version 3, you are granted additional ++// permissions described in the GCC Runtime Library Exception, version ++// 3.1, as published by the Free Software Foundation. ++ ++// You should have received a copy of the GNU General Public License and ++// a copy of the GCC Runtime Library Exception along with this program; ++// see the files COPYING3 and COPYING.RUNTIME respectively. If not, see ++// . ++ ++#include "../libsupc++/del_opant.cc" +diff --git a/libstdc++-v3/src/nonshared11/del_ops.cc b/libstdc++-v3/src/nonshared11/del_ops.cc +new file mode 100644 +index 000000000..cd30052d7 +--- /dev/null ++++ b/libstdc++-v3/src/nonshared11/del_ops.cc +@@ -0,0 +1,23 @@ ++// Copyright (C) 2013-2023 Free Software Foundation, Inc. ++// ++// This file is part of the GNU ISO C++ Library. This library is free ++// software; you can redistribute it and/or modify it under the ++// terms of the GNU General Public License as published by the ++// Free Software Foundation; either version 3, or (at your option) ++// any later version. ++ ++// This library is distributed in the hope that it will be useful, ++// but WITHOUT ANY WARRANTY; without even the implied warranty of ++// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the ++// GNU General Public License for more details. ++ ++// Under Section 7 of GPL version 3, you are granted additional ++// permissions described in the GCC Runtime Library Exception, version ++// 3.1, as published by the Free Software Foundation. ++ ++// You should have received a copy of the GNU General Public License and ++// a copy of the GCC Runtime Library Exception along with this program; ++// see the files COPYING3 and COPYING.RUNTIME respectively. If not, see ++// . ++ ++#include "../libsupc++/del_ops.cc" +diff --git a/libstdc++-v3/src/nonshared11/del_opsa.cc b/libstdc++-v3/src/nonshared11/del_opsa.cc +new file mode 100644 +index 000000000..688b483de +--- /dev/null ++++ b/libstdc++-v3/src/nonshared11/del_opsa.cc +@@ -0,0 +1,23 @@ ++// Copyright (C) 2017-2023 Free Software Foundation, Inc. ++// ++// This file is part of the GNU ISO C++ Library. This library is free ++// software; you can redistribute it and/or modify it under the ++// terms of the GNU General Public License as published by the ++// Free Software Foundation; either version 3, or (at your option) ++// any later version. ++ ++// This library is distributed in the hope that it will be useful, ++// but WITHOUT ANY WARRANTY; without even the implied warranty of ++// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the ++// GNU General Public License for more details. ++ ++// Under Section 7 of GPL version 3, you are granted additional ++// permissions described in the GCC Runtime Library Exception, version ++// 3.1, as published by the Free Software Foundation. ++ ++// You should have received a copy of the GNU General Public License and ++// a copy of the GCC Runtime Library Exception along with this program; ++// see the files COPYING3 and COPYING.RUNTIME respectively. If not, see ++// . ++ ++#include "../libsupc++/del_opsa.cc" +diff --git a/libstdc++-v3/src/nonshared11/del_opv.cc b/libstdc++-v3/src/nonshared11/del_opv.cc +new file mode 100644 +index 000000000..242ecf90e +--- /dev/null ++++ b/libstdc++-v3/src/nonshared11/del_opv.cc +@@ -0,0 +1,23 @@ ++// Copyright (C) 2013-2023 Free Software Foundation, Inc. ++// ++// This file is part of the GNU ISO C++ Library. This library is free ++// software; you can redistribute it and/or modify it under the ++// terms of the GNU General Public License as published by the ++// Free Software Foundation; either version 3, or (at your option) ++// any later version. ++ ++// This library is distributed in the hope that it will be useful, ++// but WITHOUT ANY WARRANTY; without even the implied warranty of ++// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the ++// GNU General Public License for more details. ++ ++// Under Section 7 of GPL version 3, you are granted additional ++// permissions described in the GCC Runtime Library Exception, version ++// 3.1, as published by the Free Software Foundation. ++ ++// You should have received a copy of the GNU General Public License and ++// a copy of the GCC Runtime Library Exception along with this program; ++// see the files COPYING3 and COPYING.RUNTIME respectively. If not, see ++// . ++ ++#include "../libsupc++/del_opv.cc" +diff --git a/libstdc++-v3/src/nonshared11/del_opva.cc b/libstdc++-v3/src/nonshared11/del_opva.cc +new file mode 100644 +index 000000000..2b6820590 +--- /dev/null ++++ b/libstdc++-v3/src/nonshared11/del_opva.cc +@@ -0,0 +1,23 @@ ++// Copyright (C) 2017-2023 Free Software Foundation, Inc. ++// ++// This file is part of the GNU ISO C++ Library. This library is free ++// software; you can redistribute it and/or modify it under the ++// terms of the GNU General Public License as published by the ++// Free Software Foundation; either version 3, or (at your option) ++// any later version. ++ ++// This library is distributed in the hope that it will be useful, ++// but WITHOUT ANY WARRANTY; without even the implied warranty of ++// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the ++// GNU General Public License for more details. ++ ++// Under Section 7 of GPL version 3, you are granted additional ++// permissions described in the GCC Runtime Library Exception, version ++// 3.1, as published by the Free Software Foundation. ++ ++// You should have received a copy of the GNU General Public License and ++// a copy of the GCC Runtime Library Exception along with this program; ++// see the files COPYING3 and COPYING.RUNTIME respectively. If not, see ++// . ++ ++#include "../libsupc++/del_opva.cc" +diff --git a/libstdc++-v3/src/nonshared11/del_opvant.cc b/libstdc++-v3/src/nonshared11/del_opvant.cc +new file mode 100644 +index 000000000..082c50579 +--- /dev/null ++++ b/libstdc++-v3/src/nonshared11/del_opvant.cc +@@ -0,0 +1,23 @@ ++// Copyright (C) 2017-2023 Free Software Foundation, Inc. ++// ++// This file is part of the GNU ISO C++ Library. This library is free ++// software; you can redistribute it and/or modify it under the ++// terms of the GNU General Public License as published by the ++// Free Software Foundation; either version 3, or (at your option) ++// any later version. ++ ++// This library is distributed in the hope that it will be useful, ++// but WITHOUT ANY WARRANTY; without even the implied warranty of ++// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the ++// GNU General Public License for more details. ++ ++// Under Section 7 of GPL version 3, you are granted additional ++// permissions described in the GCC Runtime Library Exception, version ++// 3.1, as published by the Free Software Foundation. ++ ++// You should have received a copy of the GNU General Public License and ++// a copy of the GCC Runtime Library Exception along with this program; ++// see the files COPYING3 and COPYING.RUNTIME respectively. If not, see ++// . ++ ++#include "../libsupc++/del_opvant.cc" +diff --git a/libstdc++-v3/src/nonshared11/del_opvnt.cc b/libstdc++-v3/src/nonshared11/del_opvnt.cc +new file mode 100644 +index 000000000..c989d4c97 +--- /dev/null ++++ b/libstdc++-v3/src/nonshared11/del_opvnt.cc +@@ -0,0 +1,23 @@ ++// Copyright (C) 2013-2023 Free Software Foundation, Inc. ++// ++// This file is part of the GNU ISO C++ Library. This library is free ++// software; you can redistribute it and/or modify it under the ++// terms of the GNU General Public License as published by the ++// Free Software Foundation; either version 3, or (at your option) ++// any later version. ++ ++// This library is distributed in the hope that it will be useful, ++// but WITHOUT ANY WARRANTY; without even the implied warranty of ++// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the ++// GNU General Public License for more details. ++ ++// Under Section 7 of GPL version 3, you are granted additional ++// permissions described in the GCC Runtime Library Exception, version ++// 3.1, as published by the Free Software Foundation. ++ ++// You should have received a copy of the GNU General Public License and ++// a copy of the GCC Runtime Library Exception along with this program; ++// see the files COPYING3 and COPYING.RUNTIME respectively. If not, see ++// . ++ ++#include "../libsupc++/del_opvnt.cc" +diff --git a/libstdc++-v3/src/nonshared11/del_opvs.cc b/libstdc++-v3/src/nonshared11/del_opvs.cc +new file mode 100644 +index 000000000..77c09eb06 +--- /dev/null ++++ b/libstdc++-v3/src/nonshared11/del_opvs.cc +@@ -0,0 +1,23 @@ ++// Copyright (C) 2013-2023 Free Software Foundation, Inc. ++// ++// This file is part of the GNU ISO C++ Library. This library is free ++// software; you can redistribute it and/or modify it under the ++// terms of the GNU General Public License as published by the ++// Free Software Foundation; either version 3, or (at your option) ++// any later version. ++ ++// This library is distributed in the hope that it will be useful, ++// but WITHOUT ANY WARRANTY; without even the implied warranty of ++// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the ++// GNU General Public License for more details. ++ ++// Under Section 7 of GPL version 3, you are granted additional ++// permissions described in the GCC Runtime Library Exception, version ++// 3.1, as published by the Free Software Foundation. ++ ++// You should have received a copy of the GNU General Public License and ++// a copy of the GCC Runtime Library Exception along with this program; ++// see the files COPYING3 and COPYING.RUNTIME respectively. If not, see ++// . ++ ++#include "../libsupc++/del_opvs.cc" +diff --git a/libstdc++-v3/src/nonshared11/del_opvsa.cc b/libstdc++-v3/src/nonshared11/del_opvsa.cc +new file mode 100644 +index 000000000..235a5480e +--- /dev/null ++++ b/libstdc++-v3/src/nonshared11/del_opvsa.cc +@@ -0,0 +1,23 @@ ++// Copyright (C) 2017-2023 Free Software Foundation, Inc. ++// ++// This file is part of the GNU ISO C++ Library. This library is free ++// software; you can redistribute it and/or modify it under the ++// terms of the GNU General Public License as published by the ++// Free Software Foundation; either version 3, or (at your option) ++// any later version. ++ ++// This library is distributed in the hope that it will be useful, ++// but WITHOUT ANY WARRANTY; without even the implied warranty of ++// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the ++// GNU General Public License for more details. ++ ++// Under Section 7 of GPL version 3, you are granted additional ++// permissions described in the GCC Runtime Library Exception, version ++// 3.1, as published by the Free Software Foundation. ++ ++// You should have received a copy of the GNU General Public License and ++// a copy of the GCC Runtime Library Exception along with this program; ++// see the files COPYING3 and COPYING.RUNTIME respectively. If not, see ++// . ++ ++#include "../libsupc++/del_opvsa.cc" +diff --git a/libstdc++-v3/src/nonshared11/eh_aux_runtime.cc b/libstdc++-v3/src/nonshared11/eh_aux_runtime.cc +new file mode 100644 +index 000000000..98868a8f9 +--- /dev/null ++++ b/libstdc++-v3/src/nonshared11/eh_aux_runtime.cc +@@ -0,0 +1,38 @@ ++// -*- C++ -*- Common throw conditions. ++// Copyright (C) 1994-2023 Free Software Foundation, Inc. ++// ++// This file is part of GCC. ++// ++// GCC is free software; you can redistribute it and/or modify ++// it under the terms of the GNU General Public License as published by ++// the Free Software Foundation; either version 3, or (at your option) ++// any later version. ++// ++// GCC is distributed in the hope that it will be useful, ++// but WITHOUT ANY WARRANTY; without even the implied warranty of ++// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the ++// GNU General Public License for more details. ++// ++// Under Section 7 of GPL version 3, you are granted additional ++// permissions described in the GCC Runtime Library Exception, version ++// 3.1, as published by the Free Software Foundation. ++// ++// You should have received a copy of the GNU General Public License and ++// a copy of the GCC Runtime Library Exception along with this program; ++// see the files COPYING3 and COPYING.RUNTIME respectively. If not, see ++// . ++ ++#include "typeinfo" ++#include "exception" ++#include "new" ++#include ++#include "unwind-cxx.h" ++#include ++ ++extern "C" void ++__cxxabiv1::__cxa_throw_bad_array_new_length () ++{ _GLIBCXX_THROW_OR_ABORT(std::bad_array_new_length()); } ++ ++//extern "C" void ++//__cxxabiv1::__cxa_throw_bad_array_length () ++//{ _GLIBCXX_THROW_OR_ABORT(std::bad_array_length()); } +diff --git a/libstdc++-v3/src/nonshared11/eh_ptr.cc b/libstdc++-v3/src/nonshared11/eh_ptr.cc +new file mode 100644 +index 000000000..51388e3fb +--- /dev/null ++++ b/libstdc++-v3/src/nonshared11/eh_ptr.cc +@@ -0,0 +1,81 @@ ++// -*- C++ -*- Implement the members of exception_ptr. ++// Copyright (C) 2008-2023 Free Software Foundation, Inc. ++// ++// This file is part of GCC. ++// ++// GCC is free software; you can redistribute it and/or modify ++// it under the terms of the GNU General Public License as published by ++// the Free Software Foundation; either version 3, or (at your option) ++// any later version. ++// ++// GCC is distributed in the hope that it will be useful, ++// but WITHOUT ANY WARRANTY; without even the implied warranty of ++// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the ++// GNU General Public License for more details. ++// ++// Under Section 7 of GPL version 3, you are granted additional ++// permissions described in the GCC Runtime Library Exception, version ++// 3.1, as published by the Free Software Foundation. ++ ++// You should have received a copy of the GNU General Public License and ++// a copy of the GCC Runtime Library Exception along with this program; ++// see the files COPYING3 and COPYING.RUNTIME respectively. If not, see ++// . ++ ++#include ++#include "eh_atomics.h" ++ ++#define _GLIBCXX_EH_PTR_COMPAT ++ ++#include ++#include ++#include "unwind-cxx.h" ++ ++using namespace __cxxabiv1; ++ ++#ifndef _GLIBCXX_NONSHARED_CXX11_80 ++std::__exception_ptr::exception_ptr::exception_ptr(void* obj) noexcept ++: _M_exception_object(obj) ++{ ++ if (_M_exception_object) ++ { ++ __cxa_refcounted_exception *eh = ++ __get_refcounted_exception_header_from_obj (_M_exception_object); ++ __gnu_cxx::__eh_atomic_inc (&eh->referenceCount); ++ } ++} ++#endif ++ ++void ++std::__exception_ptr::exception_ptr::_M_addref() noexcept ++{ ++ if (__builtin_expect(_M_exception_object != nullptr, true)) ++ { ++ __cxa_refcounted_exception *eh = ++ __get_refcounted_exception_header_from_obj (_M_exception_object); ++ __gnu_cxx::__eh_atomic_inc (&eh->referenceCount); ++ } ++} ++ ++void ++std::__exception_ptr::exception_ptr::_M_release() noexcept ++{ ++ if (__builtin_expect(_M_exception_object != nullptr, true)) ++ { ++ __cxa_refcounted_exception *eh = ++ __get_refcounted_exception_header_from_obj (_M_exception_object); ++ if (__gnu_cxx::__eh_atomic_dec (&eh->referenceCount)) ++ { ++ if (eh->exc.exceptionDestructor) ++ eh->exc.exceptionDestructor (_M_exception_object); ++ ++ __cxa_free_exception (_M_exception_object); ++ _M_exception_object = nullptr; ++ } ++ } ++} ++ ++#ifndef _GLIBCXX_NONSHARED_CXX11_80 ++asm (".hidden _ZNSt15__exception_ptr13exception_ptrC2EPv"); ++#endif ++ +diff --git a/libstdc++-v3/src/nonshared11/eh_ptr80.cc b/libstdc++-v3/src/nonshared11/eh_ptr80.cc +new file mode 100644 +index 000000000..88e5624e6 +--- /dev/null ++++ b/libstdc++-v3/src/nonshared11/eh_ptr80.cc +@@ -0,0 +1,26 @@ ++// -*- C++ -*- Implement the members of exception_ptr. ++// Copyright (C) 2008-2023 Free Software Foundation, Inc. ++// ++// This file is part of GCC. ++// ++// GCC is free software; you can redistribute it and/or modify ++// it under the terms of the GNU General Public License as published by ++// the Free Software Foundation; either version 3, or (at your option) ++// any later version. ++// ++// GCC is distributed in the hope that it will be useful, ++// but WITHOUT ANY WARRANTY; without even the implied warranty of ++// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the ++// GNU General Public License for more details. ++// ++// Under Section 7 of GPL version 3, you are granted additional ++// permissions described in the GCC Runtime Library Exception, version ++// 3.1, as published by the Free Software Foundation. ++ ++// You should have received a copy of the GNU General Public License and ++// a copy of the GCC Runtime Library Exception along with this program; ++// see the files COPYING3 and COPYING.RUNTIME respectively. If not, see ++// . ++ ++#define _GLIBCXX_NONSHARED_CXX11_80 ++#include "eh_ptr.cc" +diff --git a/libstdc++-v3/src/nonshared11/eh_terminate.cc b/libstdc++-v3/src/nonshared11/eh_terminate.cc +new file mode 100644 +index 000000000..294697dd2 +--- /dev/null ++++ b/libstdc++-v3/src/nonshared11/eh_terminate.cc +@@ -0,0 +1,91 @@ ++// Implementation file for the -*- C++ -*- dynamic memory management header. ++ ++// Copyright (C) 1994-2023 Free Software Foundation, Inc. ++// ++// This file is part of GCC. ++// ++// GCC is free software; you can redistribute it and/or modify ++// it under the terms of the GNU General Public License as published by ++// the Free Software Foundation; either version 3, or (at your option) ++// any later version. ++// ++// GCC is distributed in the hope that it will be useful, ++// but WITHOUT ANY WARRANTY; without even the implied warranty of ++// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the ++// GNU General Public License for more details. ++// ++// Under Section 7 of GPL version 3, you are granted additional ++// permissions described in the GCC Runtime Library Exception, version ++// 3.1, as published by the Free Software Foundation. ++ ++// You should have received a copy of the GNU General Public License and ++// a copy of the GCC Runtime Library Exception along with this program; ++// see the files COPYING3 and COPYING.RUNTIME respectively. If not, see ++// . ++ ++#include ++#include ++ ++// This is inherently thread-unsafe, but so is libstdc++ < 4.9 ++// std::set_terminate and std::set_unexpected and this hopefully ++// doesn't make things much worse than that. ++namespace ++{ ++ __gnu_cxx::__mutex mx; ++ std::terminate_handler thandler; ++ std::unexpected_handler uhandler; ++ ++ void terminate_handler_wrapper () ++ { ++ std::terminate_handler h; ++ { ++ __gnu_cxx::__scoped_lock l(mx); ++ h = thandler; ++ } ++ h (); ++ } ++ ++ void unexpected_handler_wrapper () ++ { ++ std::terminate_handler h; ++ { ++ __gnu_cxx::__scoped_lock l(mx); ++ h = uhandler; ++ } ++ h (); ++ } ++} ++ ++std::terminate_handler ++std::get_terminate () noexcept ++{ ++ __gnu_cxx::__scoped_lock l(mx); ++ thandler = std::set_terminate (terminate_handler_wrapper); ++ std::set_terminate (thandler); ++ return thandler; ++} ++ ++std::unexpected_handler ++std::get_unexpected () noexcept ++{ ++ __gnu_cxx::__scoped_lock l(mx); ++ uhandler = std::set_unexpected (unexpected_handler_wrapper); ++ std::set_unexpected (uhandler); ++ return uhandler; ++} ++ ++asm (".hidden _ZN9__gnu_cxx24__concurrence_lock_errorD0Ev"); ++asm (".hidden _ZN9__gnu_cxx24__concurrence_lock_errorD1Ev"); ++asm (".hidden _ZN9__gnu_cxx24__concurrence_lock_errorD2Ev"); ++asm (".hidden _ZN9__gnu_cxx26__concurrence_unlock_errorD0Ev"); ++asm (".hidden _ZN9__gnu_cxx26__concurrence_unlock_errorD1Ev"); ++asm (".hidden _ZN9__gnu_cxx26__concurrence_unlock_errorD2Ev"); ++asm (".hidden _ZN9__gnu_cxx30__throw_concurrence_lock_errorEv"); ++asm (".hidden _ZNK9__gnu_cxx24__concurrence_lock_error4whatEv"); ++asm (".hidden _ZNK9__gnu_cxx26__concurrence_unlock_error4whatEv"); ++asm (".hidden _ZTIN9__gnu_cxx24__concurrence_lock_errorE"); ++asm (".hidden _ZTIN9__gnu_cxx26__concurrence_unlock_errorE"); ++asm (".hidden _ZTSN9__gnu_cxx24__concurrence_lock_errorE"); ++asm (".hidden _ZTSN9__gnu_cxx26__concurrence_unlock_errorE"); ++asm (".hidden _ZTVN9__gnu_cxx24__concurrence_lock_errorE"); ++asm (".hidden _ZTVN9__gnu_cxx26__concurrence_unlock_errorE"); +diff --git a/libstdc++-v3/src/nonshared11/eh_throw.cc b/libstdc++-v3/src/nonshared11/eh_throw.cc +new file mode 100644 +index 000000000..03da0d641 +--- /dev/null ++++ b/libstdc++-v3/src/nonshared11/eh_throw.cc +@@ -0,0 +1,78 @@ ++// -*- C++ -*- Exception handling routines for throwing. ++// Copyright (C) 2001-2023 Free Software Foundation, Inc. ++// ++// This file is part of GCC. ++// ++// GCC is free software; you can redistribute it and/or modify ++// it under the terms of the GNU General Public License as published by ++// the Free Software Foundation; either version 3, or (at your option) ++// any later version. ++// ++// GCC is distributed in the hope that it will be useful, ++// but WITHOUT ANY WARRANTY; without even the implied warranty of ++// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the ++// GNU General Public License for more details. ++// ++// Under Section 7 of GPL version 3, you are granted additional ++// permissions described in the GCC Runtime Library Exception, version ++// 3.1, as published by the Free Software Foundation. ++ ++// You should have received a copy of the GNU General Public License and ++// a copy of the GCC Runtime Library Exception along with this program; ++// see the files COPYING3 and COPYING.RUNTIME respectively. If not, see ++// . ++ ++#include ++#include "unwind-cxx.h" ++#include "eh_atomics.h" ++ ++using namespace __cxxabiv1; ++ ++ ++static void ++__gxx_exception_cleanup (_Unwind_Reason_Code code, _Unwind_Exception *exc) ++{ ++ // This cleanup is set only for primaries. ++ __cxa_refcounted_exception *header ++ = __get_refcounted_exception_header_from_ue (exc); ++ ++ // We only want to be called through _Unwind_DeleteException. ++ // _Unwind_DeleteException in the HP-UX IA64 libunwind library ++ // returns _URC_NO_REASON and not _URC_FOREIGN_EXCEPTION_CAUGHT ++ // like the GCC _Unwind_DeleteException function does. ++ if (code != _URC_FOREIGN_EXCEPTION_CAUGHT && code != _URC_NO_REASON) ++ { ++ __try ++ { ++ header->exc.terminateHandler (); ++ __builtin_abort (); ++ } ++ __catch(...) ++ { __builtin_abort (); } ++ } ++ ++ if (__gnu_cxx::__eh_atomic_dec (&header->referenceCount)) ++ { ++ if (header->exc.exceptionDestructor) ++ header->exc.exceptionDestructor (header + 1); ++ ++ __cxa_free_exception (header + 1); ++ } ++} ++ ++extern "C" __cxa_refcounted_exception* ++__cxxabiv1::__cxa_init_primary_exception(void *obj, std::type_info *tinfo, ++ void (_GLIBCXX_CDTOR_CALLABI *dest) (void *)) ++{ ++ __cxa_refcounted_exception *header ++ = __get_refcounted_exception_header_from_obj (obj); ++ header->referenceCount = 0; ++ header->exc.exceptionType = tinfo; ++ header->exc.exceptionDestructor = dest; ++ header->exc.unexpectedHandler = std::get_unexpected (); ++ header->exc.terminateHandler = std::get_terminate (); ++ __GXX_INIT_PRIMARY_EXCEPTION_CLASS(header->exc.unwindHeader.exception_class); ++ header->exc.unwindHeader.exception_cleanup = __gxx_exception_cleanup; ++ ++ return header; ++} +diff --git a/libstdc++-v3/src/nonshared11/ext11-inst.cc b/libstdc++-v3/src/nonshared11/ext11-inst.cc +new file mode 100644 +index 000000000..aed1f1d56 +--- /dev/null ++++ b/libstdc++-v3/src/nonshared11/ext11-inst.cc +@@ -0,0 +1,38 @@ ++// Copyright (C) 2012-2023 Free Software Foundation, Inc. ++// ++// This file is part of the GNU ISO C++ Library. This library is free ++// software; you can redistribute it and/or modify it under the ++// terms of the GNU General Public License as published by the ++// Free Software Foundation; either version 3, or (at your option) ++// any later version. ++ ++// This library is distributed in the hope that it will be useful, ++// but WITHOUT ANY WARRANTY; without even the implied warranty of ++// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the ++// GNU General Public License for more details. ++ ++// Under Section 7 of GPL version 3, you are granted additional ++// permissions described in the GCC Runtime Library Exception, version ++// 3.1, as published by the Free Software Foundation. ++ ++// You should have received a copy of the GNU General Public License and ++// a copy of the GCC Runtime Library Exception along with this program; ++// see the files COPYING3 and COPYING.RUNTIME respectively. If not, see ++// . ++ ++#include ++#include ++ ++namespace __gnu_cxx _GLIBCXX_VISIBILITY(default) ++{ ++_GLIBCXX_BEGIN_NAMESPACE_VERSION ++ ++ template stdio_sync_filebuf::stdio_sync_filebuf(stdio_sync_filebuf&&) noexcept; ++ template stdio_sync_filebuf& stdio_sync_filebuf::operator=(stdio_sync_filebuf&&) noexcept; ++#ifdef _GLIBCXX_USE_WCHAR_T ++ template stdio_sync_filebuf::stdio_sync_filebuf(stdio_sync_filebuf&&) noexcept; ++ template stdio_sync_filebuf& stdio_sync_filebuf::operator=(stdio_sync_filebuf&&) noexcept; ++#endif ++ ++_GLIBCXX_END_NAMESPACE_VERSION ++} // namespace +diff --git a/libstdc++-v3/src/nonshared11/fstream-inst.cc b/libstdc++-v3/src/nonshared11/fstream-inst.cc +new file mode 100644 +index 000000000..2fd4a7f1c +--- /dev/null ++++ b/libstdc++-v3/src/nonshared11/fstream-inst.cc +@@ -0,0 +1,79 @@ ++// Explicit instantiation file. ++ ++// Copyright (C) 1997-2023 Free Software Foundation, Inc. ++// ++// This file is part of the GNU ISO C++ Library. This library is free ++// software; you can redistribute it and/or modify it under the ++// terms of the GNU General Public License as published by the ++// Free Software Foundation; either version 3, or (at your option) ++// any later version. ++ ++// This library is distributed in the hope that it will be useful, ++// but WITHOUT ANY WARRANTY; without even the implied warranty of ++// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the ++// GNU General Public License for more details. ++ ++// Under Section 7 of GPL version 3, you are granted additional ++// permissions described in the GCC Runtime Library Exception, version ++// 3.1, as published by the Free Software Foundation. ++ ++// You should have received a copy of the GNU General Public License and ++// a copy of the GCC Runtime Library Exception along with this program; ++// see the files COPYING3 and COPYING.RUNTIME respectively. If not, see ++// . ++ ++// ++// ISO C++ 14882: ++// ++ ++#define _GLIBCXX_USE_CXX11_ABI 1 ++#include ++ ++namespace std _GLIBCXX_VISIBILITY(default) ++{ ++_GLIBCXX_BEGIN_NAMESPACE_VERSION ++ ++ template basic_filebuf>::basic_filebuf(basic_filebuf&&); ++ template basic_filebuf>& basic_filebuf>::operator=(basic_filebuf&&); ++ template void basic_filebuf>::swap(basic_filebuf&); ++ template basic_filebuf>::__filebuf_type* basic_filebuf>::open(const std::string &, ios_base::openmode); ++ template basic_ifstream::basic_ifstream(basic_ifstream&&); ++ template basic_ifstream& basic_ifstream::operator=(basic_ifstream&&); ++ template void basic_ifstream::swap(basic_ifstream&); ++ template void basic_ifstream::open(const std::string &, ios_base::openmode); ++ template basic_ifstream::basic_ifstream(const std::string &, ios_base::openmode); ++ template basic_ofstream::basic_ofstream(basic_ofstream&&); ++ template basic_ofstream& basic_ofstream::operator=(basic_ofstream&&); ++ template void basic_ofstream::swap(basic_ofstream&); ++ template void basic_ofstream::open(const std::string &, ios_base::openmode); ++ template basic_ofstream::basic_ofstream(const std::string &, ios_base::openmode); ++ template basic_fstream::basic_fstream(basic_fstream&&); ++ template basic_fstream& basic_fstream::operator=(basic_fstream&&); ++ template void basic_fstream::swap(basic_fstream&); ++ template void basic_fstream::open(const std::string &, ios_base::openmode); ++ template basic_fstream::basic_fstream(const std::string &, ios_base::openmode); ++ ++#ifdef _GLIBCXX_USE_WCHAR_T ++ template basic_filebuf>::basic_filebuf(basic_filebuf&&); ++ template basic_filebuf>& basic_filebuf>::operator=(basic_filebuf&&); ++ template void basic_filebuf>::swap(basic_filebuf&); ++ template basic_filebuf>::__filebuf_type* basic_filebuf>::open(const std::string &, ios_base::openmode); ++ template basic_ifstream::basic_ifstream(basic_ifstream&&); ++ template basic_ifstream& basic_ifstream::operator=(basic_ifstream&&); ++ template void basic_ifstream::swap(basic_ifstream&); ++ template void basic_ifstream::open(const std::string &, ios_base::openmode); ++ template basic_ifstream::basic_ifstream(const std::string &, ios_base::openmode); ++ template basic_ofstream::basic_ofstream(basic_ofstream&&); ++ template basic_ofstream& basic_ofstream::operator=(basic_ofstream&&); ++ template void basic_ofstream::swap(basic_ofstream&); ++ template void basic_ofstream::open(const std::string &, ios_base::openmode); ++ template basic_ofstream::basic_ofstream(const std::string &, ios_base::openmode); ++ template basic_fstream::basic_fstream(basic_fstream&&); ++ template basic_fstream& basic_fstream::operator=(basic_fstream&&); ++ template void basic_fstream::swap(basic_fstream&); ++ template void basic_fstream::open(const std::string &, ios_base::openmode); ++ template basic_fstream::basic_fstream(const std::string &, ios_base::openmode); ++#endif ++ ++_GLIBCXX_END_NAMESPACE_VERSION ++} // namespace +diff --git a/libstdc++-v3/src/nonshared11/functexcept48.cc b/libstdc++-v3/src/nonshared11/functexcept48.cc +new file mode 100644 +index 000000000..487116d01 +--- /dev/null ++++ b/libstdc++-v3/src/nonshared11/functexcept48.cc +@@ -0,0 +1,70 @@ ++// Copyright (C) 2001-2023 Free Software Foundation, Inc. ++// ++// This file is part of the GNU ISO C++ Library. This library is free ++// software; you can redistribute it and/or modify it under the ++// terms of the GNU General Public License as published by the ++// Free Software Foundation; either version 3, or (at your option) ++// any later version. ++ ++// This library is distributed in the hope that it will be useful, ++// but WITHOUT ANY WARRANTY; without even the implied warranty of ++// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the ++// GNU General Public License for more details. ++ ++// Under Section 7 of GPL version 3, you are granted additional ++// permissions described in the GCC Runtime Library Exception, version ++// 3.1, as published by the Free Software Foundation. ++ ++// You should have received a copy of the GNU General Public License and ++// a copy of the GCC Runtime Library Exception along with this program; ++// see the files COPYING3 and COPYING.RUNTIME respectively. If not, see ++// . ++ ++#include ++#include ++#include ++#include ++#include ++#include ++#include ++#include ++ ++#ifdef _GLIBCXX_USE_NLS ++# include ++# define _(msgid) gettext (msgid) ++#else ++# define _(msgid) (msgid) ++#endif ++ ++namespace __gnu_cxx ++{ ++ int __snprintf_lite(char *__buf, size_t __bufsize, const char *__fmt, ++ va_list __ap); ++} ++ ++namespace std _GLIBCXX_VISIBILITY(default) ++{ ++_GLIBCXX_BEGIN_NAMESPACE_VERSION ++ ++ void ++ __throw_out_of_range_fmt(const char* __fmt, ...) ++ { ++ const size_t __len = __builtin_strlen(__fmt); ++ // We expect at most 2 numbers, and 1 short string. The additional ++ // 512 bytes should provide more than enough space for expansion. ++ const size_t __alloca_size = __len + 512; ++ char *const __s = static_cast(__builtin_alloca(__alloca_size)); ++ va_list __ap; ++ ++ va_start(__ap, __fmt); ++ __gnu_cxx::__snprintf_lite(__s, __alloca_size, __fmt, __ap); ++ _GLIBCXX_THROW_OR_ABORT(out_of_range(_(__s))); ++ va_end(__ap); // Not reached. ++ } ++ ++ void ++ __throw_bad_array_new_length() ++ { _GLIBCXX_THROW_OR_ABORT(bad_array_new_length()); } ++ ++_GLIBCXX_END_NAMESPACE_VERSION ++} // namespace +diff --git a/libstdc++-v3/src/nonshared11/functexcept80.cc b/libstdc++-v3/src/nonshared11/functexcept80.cc +new file mode 100644 +index 000000000..c9e134e7d +--- /dev/null ++++ b/libstdc++-v3/src/nonshared11/functexcept80.cc +@@ -0,0 +1,48 @@ ++// Copyright (C) 2001-2023 Free Software Foundation, Inc. ++// ++// This file is part of the GNU ISO C++ Library. This library is free ++// software; you can redistribute it and/or modify it under the ++// terms of the GNU General Public License as published by the ++// Free Software Foundation; either version 3, or (at your option) ++// any later version. ++ ++// This library is distributed in the hope that it will be useful, ++// but WITHOUT ANY WARRANTY; without even the implied warranty of ++// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the ++// GNU General Public License for more details. ++ ++// Under Section 7 of GPL version 3, you are granted additional ++// permissions described in the GCC Runtime Library Exception, version ++// 3.1, as published by the Free Software Foundation. ++ ++// You should have received a copy of the GNU General Public License and ++// a copy of the GCC Runtime Library Exception along with this program; ++// see the files COPYING3 and COPYING.RUNTIME respectively. If not, see ++// . ++ ++#include ++#include ++#include ++#include ++#include ++#include ++#include ++#include ++ ++#ifdef _GLIBCXX_USE_NLS ++# include ++# define _(msgid) gettext (msgid) ++#else ++# define _(msgid) (msgid) ++#endif ++ ++namespace std _GLIBCXX_VISIBILITY(default) ++{ ++_GLIBCXX_BEGIN_NAMESPACE_VERSION ++ ++ void ++ __throw_bad_array_new_length() ++ { _GLIBCXX_THROW_OR_ABORT(bad_array_new_length()); } ++ ++_GLIBCXX_END_NAMESPACE_VERSION ++} // namespace +diff --git a/libstdc++-v3/src/nonshared11/futex.cc b/libstdc++-v3/src/nonshared11/futex.cc +new file mode 100644 +index 000000000..a217117c1 +--- /dev/null ++++ b/libstdc++-v3/src/nonshared11/futex.cc +@@ -0,0 +1,23 @@ ++// Copyright (C) 2012-2023 Free Software Foundation, Inc. ++// ++// This file is part of the GNU ISO C++ Library. This library is free ++// software; you can redistribute it and/or modify it under the ++// terms of the GNU General Public License as published by the ++// Free Software Foundation; either version 3, or (at your option) ++// any later version. ++ ++// This library is distributed in the hope that it will be useful, ++// but WITHOUT ANY WARRANTY; without even the implied warranty of ++// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the ++// GNU General Public License for more details. ++ ++// Under Section 7 of GPL version 3, you are granted additional ++// permissions described in the GCC Runtime Library Exception, version ++// 3.1, as published by the Free Software Foundation. ++ ++// You should have received a copy of the GNU General Public License and ++// a copy of the GCC Runtime Library Exception along with this program; ++// see the files COPYING3 and COPYING.RUNTIME respectively. If not, see ++// . ++ ++#include "../c++11/futex.cc" +diff --git a/libstdc++-v3/src/nonshared11/futex80.cc b/libstdc++-v3/src/nonshared11/futex80.cc +new file mode 100644 +index 000000000..927de9fa0 +--- /dev/null ++++ b/libstdc++-v3/src/nonshared11/futex80.cc +@@ -0,0 +1,24 @@ ++// Copyright (C) 2012-2023 Free Software Foundation, Inc. ++// ++// This file is part of the GNU ISO C++ Library. This library is free ++// software; you can redistribute it and/or modify it under the ++// terms of the GNU General Public License as published by the ++// Free Software Foundation; either version 3, or (at your option) ++// any later version. ++ ++// This library is distributed in the hope that it will be useful, ++// but WITHOUT ANY WARRANTY; without even the implied warranty of ++// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the ++// GNU General Public License for more details. ++ ++// Under Section 7 of GPL version 3, you are granted additional ++// permissions described in the GCC Runtime Library Exception, version ++// 3.1, as published by the Free Software Foundation. ++ ++// You should have received a copy of the GNU General Public License and ++// a copy of the GCC Runtime Library Exception along with this program; ++// see the files COPYING3 and COPYING.RUNTIME respectively. If not, see ++// . ++ ++#define _GLIBCXX_NONSHARED_CXX11_80 ++#include "../c++11/futex.cc" +diff --git a/libstdc++-v3/src/nonshared11/future48.cc b/libstdc++-v3/src/nonshared11/future48.cc +new file mode 100644 +index 000000000..eaed2c9f6 +--- /dev/null ++++ b/libstdc++-v3/src/nonshared11/future48.cc +@@ -0,0 +1,33 @@ ++// Copyright (C) 2012-2023 Free Software Foundation, Inc. ++// ++// This file is part of the GNU ISO C++ Library. This library is free ++// software; you can redistribute it and/or modify it under the ++// terms of the GNU General Public License as published by the ++// Free Software Foundation; either version 3, or (at your option) ++// any later version. ++ ++// This library is distributed in the hope that it will be useful, ++// but WITHOUT ANY WARRANTY; without even the implied warranty of ++// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the ++// GNU General Public License for more details. ++ ++// Under Section 7 of GPL version 3, you are granted additional ++// permissions described in the GCC Runtime Library Exception, version ++// 3.1, as published by the Free Software Foundation. ++ ++// You should have received a copy of the GNU General Public License and ++// a copy of the GCC Runtime Library Exception along with this program; ++// see the files COPYING3 and COPYING.RUNTIME respectively. If not, see ++// . ++ ++#define _GLIBCXX_NONSHARED_CXX11_48 ++#include "../c++11/future.cc" ++asm (".hidden _ZNSt13__future_base13_State_baseV211_Make_ready6_S_runEPv"); ++//asm (".hidden _ZNSt12future_errorC1ESt10error_code"); ++//asm (".hidden _ZNSt12future_errorC2ESt10error_code"); ++asm (".hidden _ZSt20__throw_future_errori"); ++asm (".hidden _ZNSt15_Sp_counted_ptrIDnLN9__gnu_cxx12_Lock_policyE2EE10_M_disposeEv"); ++asm (".hidden _ZNSt16_Sp_counted_baseILN9__gnu_cxx12_Lock_policyE2EE10_M_destroyEv"); ++asm (".hidden _ZNSt16_Sp_counted_baseILN9__gnu_cxx12_Lock_policyE2EE10_M_releaseEv"); ++asm (".hidden _ZNSt10unique_ptrINSt13__future_base13_State_baseV211_Make_readyESt14default_deleteIS2_EED1Ev"); ++asm (".hidden _ZNSt10unique_ptrINSt13__future_base13_State_baseV211_Make_readyESt14default_deleteIS2_EED2Ev"); +diff --git a/libstdc++-v3/src/nonshared11/ios-inst.cc b/libstdc++-v3/src/nonshared11/ios-inst.cc +new file mode 100644 +index 000000000..358e86b0f +--- /dev/null ++++ b/libstdc++-v3/src/nonshared11/ios-inst.cc +@@ -0,0 +1,49 @@ ++// Explicit instantiation file. ++ ++// Copyright (C) 1997-2023 Free Software Foundation, Inc. ++// ++// This file is part of the GNU ISO C++ Library. This library is free ++// software; you can redistribute it and/or modify it under the ++// terms of the GNU General Public License as published by the ++// Free Software Foundation; either version 3, or (at your option) ++// any later version. ++ ++// This library is distributed in the hope that it will be useful, ++// but WITHOUT ANY WARRANTY; without even the implied warranty of ++// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the ++// GNU General Public License for more details. ++ ++// Under Section 7 of GPL version 3, you are granted additional ++// permissions described in the GCC Runtime Library Exception, version ++// 3.1, as published by the Free Software Foundation. ++ ++// You should have received a copy of the GNU General Public License and ++// a copy of the GCC Runtime Library Exception along with this program; ++// see the files COPYING3 and COPYING.RUNTIME respectively. If not, see ++// . ++ ++// ++// ISO C++ 14882: ++// ++ ++#include ++ ++namespace std _GLIBCXX_VISIBILITY(default) ++{ ++_GLIBCXX_BEGIN_NAMESPACE_VERSION ++ ++ template void basic_ios::move(basic_ios&&); ++ template void basic_ios::move(basic_ios&); ++ template void basic_ios::swap(basic_ios&); ++ template void basic_ios::set_rdbuf(basic_streambuf*); ++ template basic_ios::operator bool() const; ++#ifdef _GLIBCXX_USE_WCHAR_T ++ template void basic_ios::move(basic_ios&&); ++ template void basic_ios::move(basic_ios&); ++ template void basic_ios::swap(basic_ios&); ++ template void basic_ios::set_rdbuf(basic_streambuf*); ++ template basic_ios::operator bool() const; ++#endif ++ ++_GLIBCXX_END_NAMESPACE_VERSION ++} // namespace +diff --git a/libstdc++-v3/src/nonshared11/ios.cc b/libstdc++-v3/src/nonshared11/ios.cc +new file mode 100644 +index 000000000..22f2b4210 +--- /dev/null ++++ b/libstdc++-v3/src/nonshared11/ios.cc +@@ -0,0 +1,30 @@ ++// Iostreams base classes -*- C++ -*- ++ ++// Copyright (C) 1997-2023 Free Software Foundation, Inc. ++// ++// This file is part of the GNU ISO C++ Library. This library is free ++// software; you can redistribute it and/or modify it under the ++// terms of the GNU General Public License as published by the ++// Free Software Foundation; either version 3, or (at your option) ++// any later version. ++ ++// This library is distributed in the hope that it will be useful, ++// but WITHOUT ANY WARRANTY; without even the implied warranty of ++// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the ++// GNU General Public License for more details. ++ ++// Under Section 7 of GPL version 3, you are granted additional ++// permissions described in the GCC Runtime Library Exception, version ++// 3.1, as published by the Free Software Foundation. ++ ++// You should have received a copy of the GNU General Public License and ++// a copy of the GCC Runtime Library Exception along with this program; ++// see the files COPYING3 and COPYING.RUNTIME respectively. If not, see ++// . ++ ++// ++// ISO C++ 14882: 27.4 Iostreams base classes ++// ++ ++#define _GLIBCXX_NONSHARED_CXX11 ++#include "../c++11/ios.cc" +diff --git a/libstdc++-v3/src/nonshared11/ios_errcat.cc b/libstdc++-v3/src/nonshared11/ios_errcat.cc +new file mode 100644 +index 000000000..9bb42a833 +--- /dev/null ++++ b/libstdc++-v3/src/nonshared11/ios_errcat.cc +@@ -0,0 +1,29 @@ ++// std::iostream_category() definition -*- C++ -*- ++ ++// Copyright (C) 2014-2023 Free Software Foundation, Inc. ++// ++// This file is part of the GNU ISO C++ Library. This library is free ++// software; you can redistribute it and/or modify it under the ++// terms of the GNU General Public License as published by the ++// Free Software Foundation; either version 3, or (at your option) ++// any later version. ++ ++// This library is distributed in the hope that it will be useful, ++// but WITHOUT ANY WARRANTY; without even the implied warranty of ++// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the ++// GNU General Public License for more details. ++ ++// Under Section 7 of GPL version 3, you are granted additional ++// permissions described in the GCC Runtime Library Exception, version ++// 3.1, as published by the Free Software Foundation. ++ ++// You should have received a copy of the GNU General Public License and ++// a copy of the GCC Runtime Library Exception along with this program; ++// see the files COPYING3 and COPYING.RUNTIME respectively. If not, see ++// . ++ ++// ++// ISO C++ 14882:2011: 27.5.6.5 Error reporting [error.reporting] ++// ++ ++#include "../c++11/ios_errcat.cc" +diff --git a/libstdc++-v3/src/nonshared11/iostream-inst.cc b/libstdc++-v3/src/nonshared11/iostream-inst.cc +new file mode 100644 +index 000000000..f479d9e63 +--- /dev/null ++++ b/libstdc++-v3/src/nonshared11/iostream-inst.cc +@@ -0,0 +1,46 @@ ++// Explicit instantiation file. ++ ++// Copyright (C) 1997-2023 Free Software Foundation, Inc. ++// ++// This file is part of the GNU ISO C++ Library. This library is free ++// software; you can redistribute it and/or modify it under the ++// terms of the GNU General Public License as published by the ++// Free Software Foundation; either version 3, or (at your option) ++// any later version. ++ ++// This library is distributed in the hope that it will be useful, ++// but WITHOUT ANY WARRANTY; without even the implied warranty of ++// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the ++// GNU General Public License for more details. ++ ++// Under Section 7 of GPL version 3, you are granted additional ++// permissions described in the GCC Runtime Library Exception, version ++// 3.1, as published by the Free Software Foundation. ++ ++// You should have received a copy of the GNU General Public License and ++// a copy of the GCC Runtime Library Exception along with this program; ++// see the files COPYING3 and COPYING.RUNTIME respectively. If not, see ++// . ++ ++// ++// ISO C++ 14882: ++// ++ ++#include ++#include ++ ++namespace std _GLIBCXX_VISIBILITY(default) ++{ ++_GLIBCXX_BEGIN_NAMESPACE_VERSION ++ ++ template basic_iostream::basic_iostream(basic_iostream&&); ++ template basic_iostream& basic_iostream::operator=(basic_iostream&&); ++ template void basic_iostream::swap(basic_iostream&); ++#ifdef _GLIBCXX_USE_WCHAR_T ++ template basic_iostream::basic_iostream(basic_iostream&&); ++ template basic_iostream& basic_iostream::operator=(basic_iostream&&); ++ template void basic_iostream::swap(basic_iostream&); ++#endif ++ ++_GLIBCXX_END_NAMESPACE_VERSION ++} // namespace +diff --git a/libstdc++-v3/src/nonshared11/istream-inst.cc b/libstdc++-v3/src/nonshared11/istream-inst.cc +new file mode 100644 +index 000000000..bf896a1f7 +--- /dev/null ++++ b/libstdc++-v3/src/nonshared11/istream-inst.cc +@@ -0,0 +1,132 @@ ++// Explicit instantiation file. ++ ++// Copyright (C) 1997-2023 Free Software Foundation, Inc. ++// ++// This file is part of the GNU ISO C++ Library. This library is free ++// software; you can redistribute it and/or modify it under the ++// terms of the GNU General Public License as published by the ++// Free Software Foundation; either version 3, or (at your option) ++// any later version. ++ ++// This library is distributed in the hope that it will be useful, ++// but WITHOUT ANY WARRANTY; without even the implied warranty of ++// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the ++// GNU General Public License for more details. ++ ++// Under Section 7 of GPL version 3, you are granted additional ++// permissions described in the GCC Runtime Library Exception, version ++// 3.1, as published by the Free Software Foundation. ++ ++// You should have received a copy of the GNU General Public License and ++// a copy of the GCC Runtime Library Exception along with this program; ++// see the files COPYING3 and COPYING.RUNTIME respectively. If not, see ++// . ++ ++// ++// ISO C++ 14882: ++// ++ ++#include ++#include ++ ++namespace std _GLIBCXX_VISIBILITY(default) ++{ ++_GLIBCXX_BEGIN_NAMESPACE_VERSION ++ ++#ifndef _GLIBCXX_NONSHARED_CXX11_80 ++ template basic_istream::basic_istream(basic_istream&&); ++ template basic_istream& basic_istream::operator=(basic_istream&&); ++ template void basic_istream::swap(basic_istream&); ++#ifdef _GLIBCXX_USE_WCHAR_T ++ template basic_istream::basic_istream(basic_istream&&); ++ template basic_istream& basic_istream::operator=(basic_istream&&); ++ template void basic_istream::swap(basic_istream&); ++#endif ++#endif ++ ++#ifdef _GLIBCXX_USE_WCHAR_T ++ template void __istream_extract(wistream&, wchar_t*, streamsize); ++#endif ++ ++ void ++ __istream_extract(istream& __in, char* __s, streamsize __num) ++ { ++ typedef basic_istream __istream_type; ++ typedef __istream_type::int_type __int_type; ++ typedef __istream_type::char_type __char_type; ++ typedef __istream_type::traits_type __traits_type; ++ typedef __istream_type::__streambuf_type __streambuf_type; ++ typedef __istream_type::__ctype_type __ctype_type; ++ ++ streamsize __extracted = 0; ++ ios_base::iostate __err = ios_base::goodbit; ++ __istream_type::sentry __cerb(__in, false); ++ if (__cerb) ++ { ++ __try ++ { ++ // Figure out how many characters to extract. ++ streamsize __width = __in.width(); ++ if (0 < __width && __width < __num) ++ __num = __width; ++ ++ const __ctype_type& __ct = use_facet<__ctype_type>(__in.getloc()); ++ ++ const __int_type __eof = __traits_type::eof(); ++ __streambuf_type* __sb = __in.rdbuf(); ++ __int_type __c = __sb->sgetc(); ++ ++ while (__extracted < __num - 1 ++ && !__traits_type::eq_int_type(__c, __eof) ++ && !__ct.is(ctype_base::space, ++ __traits_type::to_char_type(__c))) ++ { ++ streamsize __size = std::min(streamsize(__sb->egptr() ++ - __sb->gptr()), ++ streamsize(__num - __extracted ++ - 1)); ++ if (__size > 1) ++ { ++ __size = (__ct.scan_is(ctype_base::space, ++ __sb->gptr() + 1, ++ __sb->gptr() + __size) ++ - __sb->gptr()); ++ __traits_type::copy(__s, __sb->gptr(), __size); ++ __s += __size; ++ __sb->__safe_gbump(__size); ++ __extracted += __size; ++ __c = __sb->sgetc(); ++ } ++ else ++ { ++ *__s++ = __traits_type::to_char_type(__c); ++ ++__extracted; ++ __c = __sb->snextc(); ++ } ++ } ++ ++ if (__extracted < __num - 1 ++ && __traits_type::eq_int_type(__c, __eof)) ++ __err |= ios_base::eofbit; ++ ++ // _GLIBCXX_RESOLVE_LIB_DEFECTS ++ // 68. Extractors for char* should store null at end ++ *__s = __char_type(); ++ __in.width(0); ++ } ++ __catch(__cxxabiv1::__forced_unwind&) ++ { ++ __in._M_setstate(ios_base::badbit); ++ __throw_exception_again; ++ } ++ __catch(...) ++ { __in._M_setstate(ios_base::badbit); } ++ } ++ if (!__extracted) ++ __err |= ios_base::failbit; ++ if (__err) ++ __in.setstate(__err); ++ } ++ ++_GLIBCXX_END_NAMESPACE_VERSION ++} // namespace +diff --git a/libstdc++-v3/src/nonshared11/istream-inst80.cc b/libstdc++-v3/src/nonshared11/istream-inst80.cc +new file mode 100644 +index 000000000..04e627f80 +--- /dev/null ++++ b/libstdc++-v3/src/nonshared11/istream-inst80.cc +@@ -0,0 +1,24 @@ ++// Copyright (C) 2012-2023 Free Software Foundation, Inc. ++// ++// This file is part of the GNU ISO C++ Library. This library is free ++// software; you can redistribute it and/or modify it under the ++// terms of the GNU General Public License as published by the ++// Free Software Foundation; either version 3, or (at your option) ++// any later version. ++ ++// This library is distributed in the hope that it will be useful, ++// but WITHOUT ANY WARRANTY; without even the implied warranty of ++// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the ++// GNU General Public License for more details. ++ ++// Under Section 7 of GPL version 3, you are granted additional ++// permissions described in the GCC Runtime Library Exception, version ++// 3.1, as published by the Free Software Foundation. ++ ++// You should have received a copy of the GNU General Public License and ++// a copy of the GCC Runtime Library Exception along with this program; ++// see the files COPYING3 and COPYING.RUNTIME respectively. If not, see ++// . ++ ++#define _GLIBCXX_NONSHARED_CXX11_80 ++#include "istream-inst.cc" +diff --git a/libstdc++-v3/src/nonshared11/limits.cc b/libstdc++-v3/src/nonshared11/limits.cc +new file mode 100644 +index 000000000..1af5a5e73 +--- /dev/null ++++ b/libstdc++-v3/src/nonshared11/limits.cc +@@ -0,0 +1,57 @@ ++// Copyright (C) 2019-2023 Free Software Foundation, Inc. ++// ++// This file is part of the GNU ISO C++ Library. This library is free ++// software; you can redistribute it and/or modify it under the ++// terms of the GNU General Public License as published by the ++// Free Software Foundation; either version 3, or (at your option) ++// any later version. ++ ++// This library is distributed in the hope that it will be useful, ++// but WITHOUT ANY WARRANTY; without even the implied warranty of ++// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the ++// GNU General Public License for more details. ++ ++// Under Section 7 of GPL version 3, you are granted additional ++// permissions described in the GCC Runtime Library Exception, version ++// 3.1, as published by the Free Software Foundation. ++ ++// You should have received a copy of the GNU General Public License and ++// a copy of the GCC Runtime Library Exception along with this program; ++// see the files COPYING3 and COPYING.RUNTIME respectively. If not, see ++// . ++ ++#include ++ ++namespace std _GLIBCXX_VISIBILITY(default) ++{ ++ ++#define const _GLIBCXX_USE_CONSTEXPR ++ ++#ifdef _GLIBCXX_USE_CHAR8_T ++ // char8_t ++ const bool numeric_limits::is_specialized; ++ const int numeric_limits::digits; ++ const int numeric_limits::digits10; ++// const int numeric_limits::max_digits10; ++ const bool numeric_limits::is_signed; ++ const bool numeric_limits::is_integer; ++ const bool numeric_limits::is_exact; ++ const int numeric_limits::radix; ++ const int numeric_limits::min_exponent; ++ const int numeric_limits::min_exponent10; ++ const int numeric_limits::max_exponent; ++ const int numeric_limits::max_exponent10; ++ const bool numeric_limits::has_infinity; ++ const bool numeric_limits::has_quiet_NaN; ++ const bool numeric_limits::has_signaling_NaN; ++ const float_denorm_style numeric_limits::has_denorm; ++ const bool numeric_limits::has_denorm_loss; ++ const bool numeric_limits::is_iec559; ++ const bool numeric_limits::is_bounded; ++ const bool numeric_limits::is_modulo; ++ const bool numeric_limits::traps; ++ const bool numeric_limits::tinyness_before; ++ const float_round_style numeric_limits::round_style; ++#endif // _GLIBCXX_USE_CHAR8_T ++ ++} +diff --git a/libstdc++-v3/src/nonshared11/locale-inst-asm.S b/libstdc++-v3/src/nonshared11/locale-inst-asm.S +new file mode 100644 +index 000000000..92d7b6afc +--- /dev/null ++++ b/libstdc++-v3/src/nonshared11/locale-inst-asm.S +@@ -0,0 +1,291 @@ ++/* Copyright (C) 2015-2023 Free Software Foundation, Inc. ++ ++ This file is part of the GNU ISO C++ Library. This library is free ++ software; you can redistribute it and/or modify it under the ++ terms of the GNU General Public License as published by the ++ Free Software Foundation; either version 3, or (at your option) ++ any later version. ++ ++ This library is distributed in the hope that it will be useful, ++ but WITHOUT ANY WARRANTY; without even the implied warranty of ++ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the ++ GNU General Public License for more details. ++ ++ Under Section 7 of GPL version 3, you are granted additional ++ permissions described in the GCC Runtime Library Exception, version ++ 3.1, as published by the Free Software Foundation. ++ ++ You should have received a copy of the GNU General Public License and ++ a copy of the GCC Runtime Library Exception along with this program; ++ see the files COPYING3 and COPYING.RUNTIME respectively. If not, see ++ . */ ++ ++#ifdef __i386__ ++#define ALIGN1 .align 4 ++#elif defined __x86_64__ ++#define ALIGN1 .align 32 ++#define ALIGN2 .align 16 ++#elif defined __ia64__ ++#define ALIGN1 .align 8 ++#define ALIGN3 .align 8 ++#define SECTION3(x).section .gnu.linkonce.s.x,"aws",@progbits ++#define POINTER data8 ++#define FLAGS data4 ++#define PAD .skip 4 ++#define STRING stringz ++#define VPTR(x) data16.ua @iplt(x) ++#define SIZE3 48 ++#elif defined __powerpc64__ ++#define ALIGN1 .align 3 ++#define ALIGN3 .align 3 ++#elif defined __powerpc__ ++#define ALIGN1 .align 2 ++#define ALIGN3 .align 2 ++#define SECTION2(x).section .gnu.linkonce.s.x,"aw",@progbits ++#define SECTION3(x)SECTION2(x) ++#elif defined __aarch64__ ++#define ALIGN1 .align 3 ++#define ALIGN3 .align 3 ++#define POINTER .xword ++#define FLAGS .word ++#define OBJECT %object ++#elif defined __s390x__ ++#define ALIGN1 .align 8 ++#define ALIGN3 .align 2 ++#elif defined __s390__ ++#define ALIGN1 .align 4 ++#define ALIGN3 .align 2 ++#endif ++#if defined __x86_64__ || defined __powerpc64__ || defined __s390x__ || defined __ia64__ || defined __aarch64__ ++#define SIZE1 32 ++#define SIZE2 16 ++#define OFF 16 ++#ifndef POINTER ++#define POINTER .quad ++#endif ++#ifndef FLAGS ++#define FLAGS .long ++#endif ++#ifndef PAD ++#define PAD .zero 4 ++#endif ++#else ++#define SIZE1 16 ++#define SIZE2 8 ++#define OFF 8 ++#ifndef POINTER ++#define POINTER .long ++#endif ++#ifndef FLAGS ++#define FLAGS .long ++#endif ++#ifndef PAD ++#define PAD ++#endif ++#endif ++#ifndef SYM ++#define SYM(x)x ++#endif ++#ifndef ALIGN2 ++#define ALIGN2 ALIGN1 ++#endif ++#ifndef ALIGN3 ++#define ALIGN3 ++#endif ++#ifndef OBJECT ++#define OBJECT @object ++#endif ++#ifndef SECTION1 ++#define SECTION1(x).section .gnu.linkonce.d.rel.ro.x,"aw",@progbits ++#endif ++#ifndef SECTION2 ++#define SECTION2(x)SECTION1(x) ++#endif ++#ifndef SECTION3 ++#define SECTION3(x).section .gnu.linkonce.r.x,"a",@progbits ++#endif ++#ifndef STRING ++#define STRING .string ++#endif ++#ifndef SIZE3 ++#define SIZE3 SIZE1 ++#endif ++#ifndef VPTR ++#define VPTR(x) POINTER SYM(x) ++#endif ++ ++ .weak SYM(_ZTISt18__moneypunct_cacheIcLb0EE) ++ .hidden SYM(_ZTISt18__moneypunct_cacheIcLb0EE) ++ SECTION1(_ZTISt18__moneypunct_cacheIcLb0EE) ++ ALIGN1 ++ .type SYM(_ZTISt18__moneypunct_cacheIcLb0EE), OBJECT ++ .size SYM(_ZTISt18__moneypunct_cacheIcLb0EE), SIZE1+SIZE2 ++_ZTISt18__moneypunct_cacheIcLb0EE: ++ POINTER SYM(_ZTVN10__cxxabiv120__si_class_type_infoE)+OFF ++ POINTER SYM(_ZTSSt18__moneypunct_cacheIcLb0EE) ++ POINTER SYM(_ZTINSt6locale5facetE) ++ .weak SYM(_ZTSSt18__moneypunct_cacheIcLb0EE) ++ .hidden SYM(_ZTSSt18__moneypunct_cacheIcLb0EE) ++ SECTION3(_ZTSSt18__moneypunct_cacheIcLb0EE) ++ ALIGN3 ++ .type SYM(_ZTSSt18__moneypunct_cacheIcLb0EE), OBJECT ++ .size SYM(_ZTSSt18__moneypunct_cacheIcLb0EE), 30 ++_ZTSSt18__moneypunct_cacheIcLb0EE: ++ STRING "St18__moneypunct_cacheIcLb0EE" ++ .weak SYM(_ZTVSt18__moneypunct_cacheIcLb0EE) ++ .hidden SYM(_ZTVSt18__moneypunct_cacheIcLb0EE) ++ SECTION1(_ZTVSt18__moneypunct_cacheIcLb0EE) ++ ALIGN1 ++ .type SYM(_ZTVSt18__moneypunct_cacheIcLb0EE), OBJECT ++ .size SYM(_ZTVSt18__moneypunct_cacheIcLb0EE), SIZE3 ++_ZTVSt18__moneypunct_cacheIcLb0EE: ++ POINTER 0 ++ POINTER SYM(_ZTISt18__moneypunct_cacheIcLb0EE) ++ VPTR(_ZNSt18__moneypunct_cacheIcLb0EED1Ev) ++ VPTR(_ZNSt18__moneypunct_cacheIcLb0EED0Ev) ++ .weak SYM(_ZTISt18__moneypunct_cacheIcLb1EE) ++ .hidden SYM(_ZTISt18__moneypunct_cacheIcLb1EE) ++ SECTION1(_ZTISt18__moneypunct_cacheIcLb1EE) ++ ALIGN1 ++ .type SYM(_ZTISt18__moneypunct_cacheIcLb1EE), OBJECT ++ .size SYM(_ZTISt18__moneypunct_cacheIcLb1EE), SIZE1+SIZE2 ++_ZTISt18__moneypunct_cacheIcLb1EE: ++ POINTER SYM(_ZTVN10__cxxabiv120__si_class_type_infoE)+OFF ++ POINTER SYM(_ZTSSt18__moneypunct_cacheIcLb1EE) ++ POINTER SYM(_ZTINSt6locale5facetE) ++ .weak SYM(_ZTSSt18__moneypunct_cacheIcLb1EE) ++ .hidden SYM(_ZTSSt18__moneypunct_cacheIcLb1EE) ++ SECTION3(_ZTSSt18__moneypunct_cacheIcLb1EE) ++ ALIGN3 ++ .type SYM(_ZTSSt18__moneypunct_cacheIcLb1EE), OBJECT ++ .size SYM(_ZTSSt18__moneypunct_cacheIcLb1EE), 30 ++_ZTSSt18__moneypunct_cacheIcLb1EE: ++ STRING "St18__moneypunct_cacheIcLb1EE" ++ .weak SYM(_ZTVSt18__moneypunct_cacheIcLb1EE) ++ .hidden SYM(_ZTVSt18__moneypunct_cacheIcLb1EE) ++ SECTION1(_ZTVSt18__moneypunct_cacheIcLb1EE) ++ ALIGN1 ++ .type SYM(_ZTVSt18__moneypunct_cacheIcLb1EE), OBJECT ++ .size SYM(_ZTVSt18__moneypunct_cacheIcLb1EE), SIZE3 ++_ZTVSt18__moneypunct_cacheIcLb1EE: ++ POINTER 0 ++ POINTER SYM(_ZTISt18__moneypunct_cacheIcLb1EE) ++ VPTR(_ZNSt18__moneypunct_cacheIcLb1EED1Ev) ++ VPTR(_ZNSt18__moneypunct_cacheIcLb1EED0Ev) ++ .weak SYM(_ZTISt18__moneypunct_cacheIwLb0EE) ++ .hidden SYM(_ZTISt18__moneypunct_cacheIwLb0EE) ++ SECTION1(_ZTISt18__moneypunct_cacheIwLb0EE) ++ ALIGN1 ++ .type SYM(_ZTISt18__moneypunct_cacheIwLb0EE), OBJECT ++ .size SYM(_ZTISt18__moneypunct_cacheIwLb0EE), SIZE1+SIZE2 ++_ZTISt18__moneypunct_cacheIwLb0EE: ++ POINTER SYM(_ZTVN10__cxxabiv120__si_class_type_infoE)+OFF ++ POINTER SYM(_ZTSSt18__moneypunct_cacheIwLb0EE) ++ POINTER SYM(_ZTINSt6locale5facetE) ++ .weak SYM(_ZTSSt18__moneypunct_cacheIwLb0EE) ++ .hidden SYM(_ZTSSt18__moneypunct_cacheIwLb0EE) ++ SECTION3(_ZTSSt18__moneypunct_cacheIwLb0EE) ++ ALIGN3 ++ .type SYM(_ZTSSt18__moneypunct_cacheIwLb0EE), OBJECT ++ .size SYM(_ZTSSt18__moneypunct_cacheIwLb0EE), 30 ++_ZTSSt18__moneypunct_cacheIwLb0EE: ++ STRING "St18__moneypunct_cacheIwLb0EE" ++ .weak SYM(_ZTVSt18__moneypunct_cacheIwLb0EE) ++ .hidden SYM(_ZTVSt18__moneypunct_cacheIwLb0EE) ++ SECTION1(_ZTVSt18__moneypunct_cacheIwLb0EE) ++ ALIGN1 ++ .type SYM(_ZTVSt18__moneypunct_cacheIwLb0EE), OBJECT ++ .size SYM(_ZTVSt18__moneypunct_cacheIwLb0EE), SIZE3 ++_ZTVSt18__moneypunct_cacheIwLb0EE: ++ POINTER 0 ++ POINTER SYM(_ZTISt18__moneypunct_cacheIwLb0EE) ++ VPTR(_ZNSt18__moneypunct_cacheIwLb0EED1Ev) ++ VPTR(_ZNSt18__moneypunct_cacheIwLb0EED0Ev) ++ .weak SYM(_ZTISt18__moneypunct_cacheIwLb1EE) ++ .hidden SYM(_ZTISt18__moneypunct_cacheIwLb1EE) ++ SECTION1(_ZTISt18__moneypunct_cacheIwLb1EE) ++ ALIGN1 ++ .type SYM(_ZTISt18__moneypunct_cacheIwLb1EE), OBJECT ++ .size SYM(_ZTISt18__moneypunct_cacheIwLb1EE), SIZE1+SIZE2 ++_ZTISt18__moneypunct_cacheIwLb1EE: ++ POINTER SYM(_ZTVN10__cxxabiv120__si_class_type_infoE)+OFF ++ POINTER SYM(_ZTSSt18__moneypunct_cacheIwLb1EE) ++ POINTER SYM(_ZTINSt6locale5facetE) ++ .weak SYM(_ZTSSt18__moneypunct_cacheIwLb1EE) ++ .hidden SYM(_ZTSSt18__moneypunct_cacheIwLb1EE) ++ SECTION3(_ZTSSt18__moneypunct_cacheIwLb1EE) ++ ALIGN3 ++ .type SYM(_ZTSSt18__moneypunct_cacheIwLb1EE), OBJECT ++ .size SYM(_ZTSSt18__moneypunct_cacheIwLb1EE), 30 ++_ZTSSt18__moneypunct_cacheIwLb1EE: ++ STRING "St18__moneypunct_cacheIwLb1EE" ++ .weak SYM(_ZTVSt18__moneypunct_cacheIwLb1EE) ++ .hidden SYM(_ZTVSt18__moneypunct_cacheIwLb1EE) ++ SECTION1(_ZTVSt18__moneypunct_cacheIwLb1EE) ++ ALIGN1 ++ .type SYM(_ZTVSt18__moneypunct_cacheIwLb1EE), OBJECT ++ .size SYM(_ZTVSt18__moneypunct_cacheIwLb1EE), SIZE3 ++_ZTVSt18__moneypunct_cacheIwLb1EE: ++ POINTER 0 ++ POINTER SYM(_ZTISt18__moneypunct_cacheIwLb1EE) ++ VPTR(_ZNSt18__moneypunct_cacheIwLb1EED1Ev) ++ VPTR(_ZNSt18__moneypunct_cacheIwLb1EED0Ev) ++ .weak SYM(_ZTISt16__numpunct_cacheIcE) ++ .hidden SYM(_ZTISt16__numpunct_cacheIcE) ++ SECTION1(_ZTISt16__numpunct_cacheIcE) ++ ALIGN1 ++ .type SYM(_ZTISt16__numpunct_cacheIcE), OBJECT ++ .size SYM(_ZTISt16__numpunct_cacheIcE), SIZE1+SIZE2 ++_ZTISt16__numpunct_cacheIcE: ++ POINTER SYM(_ZTVN10__cxxabiv120__si_class_type_infoE)+OFF ++ POINTER SYM(_ZTSSt16__numpunct_cacheIcE) ++ POINTER SYM(_ZTINSt6locale5facetE) ++ .weak SYM(_ZTSSt16__numpunct_cacheIcE) ++ .hidden SYM(_ZTSSt16__numpunct_cacheIcE) ++ SECTION3(_ZTSSt16__numpunct_cacheIcE) ++ ALIGN3 ++ .type SYM(_ZTSSt16__numpunct_cacheIcE), OBJECT ++ .size SYM(_ZTSSt16__numpunct_cacheIcE), 24 ++_ZTSSt16__numpunct_cacheIcE: ++ STRING "St16__numpunct_cacheIcE" ++ .weak SYM(_ZTVSt16__numpunct_cacheIcE) ++ .hidden SYM(_ZTVSt16__numpunct_cacheIcE) ++ SECTION1(_ZTVSt16__numpunct_cacheIcE) ++ ALIGN1 ++ .type SYM(_ZTVSt16__numpunct_cacheIcE), OBJECT ++ .size SYM(_ZTVSt16__numpunct_cacheIcE), SIZE3 ++_ZTVSt16__numpunct_cacheIcE: ++ POINTER 0 ++ POINTER SYM(_ZTISt16__numpunct_cacheIcE) ++ VPTR(_ZNSt16__numpunct_cacheIcED1Ev) ++ VPTR(_ZNSt16__numpunct_cacheIcED0Ev) ++ .weak SYM(_ZTISt16__numpunct_cacheIwE) ++ .hidden SYM(_ZTISt16__numpunct_cacheIwE) ++ SECTION1(_ZTISt16__numpunct_cacheIwE) ++ ALIGN1 ++ .type SYM(_ZTISt16__numpunct_cacheIwE), OBJECT ++ .size SYM(_ZTISt16__numpunct_cacheIwE), SIZE1+SIZE2 ++_ZTISt16__numpunct_cacheIwE: ++ POINTER SYM(_ZTVN10__cxxabiv120__si_class_type_infoE)+OFF ++ POINTER SYM(_ZTSSt16__numpunct_cacheIwE) ++ POINTER SYM(_ZTINSt6locale5facetE) ++ .weak SYM(_ZTSSt16__numpunct_cacheIwE) ++ .hidden SYM(_ZTSSt16__numpunct_cacheIwE) ++ SECTION3(_ZTSSt16__numpunct_cacheIwE) ++ ALIGN3 ++ .type SYM(_ZTSSt16__numpunct_cacheIwE), OBJECT ++ .size SYM(_ZTSSt16__numpunct_cacheIwE), 24 ++_ZTSSt16__numpunct_cacheIwE: ++ STRING "St16__numpunct_cacheIwE" ++ .weak SYM(_ZTVSt16__numpunct_cacheIwE) ++ .hidden SYM(_ZTVSt16__numpunct_cacheIwE) ++ SECTION1(_ZTVSt16__numpunct_cacheIwE) ++ ALIGN1 ++ .type SYM(_ZTVSt16__numpunct_cacheIwE), OBJECT ++ .size SYM(_ZTVSt16__numpunct_cacheIwE), SIZE3 ++_ZTVSt16__numpunct_cacheIwE: ++ POINTER 0 ++ POINTER SYM(_ZTISt16__numpunct_cacheIwE) ++ VPTR(_ZNSt16__numpunct_cacheIwED1Ev) ++ VPTR(_ZNSt16__numpunct_cacheIwED0Ev) ++ .section .note.GNU-stack,"",@progbits +diff --git a/libstdc++-v3/src/nonshared11/locale-inst.cc b/libstdc++-v3/src/nonshared11/locale-inst.cc +new file mode 100644 +index 000000000..502bf0e86 +--- /dev/null ++++ b/libstdc++-v3/src/nonshared11/locale-inst.cc +@@ -0,0 +1,126 @@ ++// Locale support -*- C++ -*- ++ ++// Copyright (C) 1999-2023 Free Software Foundation, Inc. ++// ++// This file is part of the GNU ISO C++ Library. This library is free ++// software; you can redistribute it and/or modify it under the ++// terms of the GNU General Public License as published by the ++// Free Software Foundation; either version 3, or (at your option) ++// any later version. ++ ++// This library is distributed in the hope that it will be useful, ++// but WITHOUT ANY WARRANTY; without even the implied warranty of ++// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the ++// GNU General Public License for more details. ++ ++// Under Section 7 of GPL version 3, you are granted additional ++// permissions described in the GCC Runtime Library Exception, version ++// 3.1, as published by the Free Software Foundation. ++ ++// You should have received a copy of the GNU General Public License and ++// a copy of the GCC Runtime Library Exception along with this program; ++// see the files COPYING3 and COPYING.RUNTIME respectively. If not, see ++// . ++ ++// ++// ISO C++ 14882: 22.1 Locales ++// ++ ++#ifndef _GLIBCXX_USE_CXX11_ABI ++// Instantiations in this file use the old COW std::string ABI unless included ++// by another file which defines _GLIBCXX_USE_CXX11_ABI=1. Some instantiations ++// are guarded by a check for !_GLIBCXX_USE_CXX11_ABI so that they are only ++// instantiated once, because they are not tagged with abi_tag so should not ++// be instantiated twice. ++# define _GLIBCXX_USE_CXX11_ABI 0 ++#endif ++ ++#include ++ ++// Instantiation configuration. ++#ifndef C ++# define C char ++# define C_is_char ++#endif ++ ++#define INSTANTIATE_USE_FACET(...) \ ++ template const __VA_ARGS__* \ ++ __try_use_facet< __VA_ARGS__ >(const locale&) noexcept ++ ++#define INSTANTIATE_FACET_ACCESSORS(...) \ ++ INSTANTIATE_USE_FACET(__VA_ARGS__) ++ ++namespace std _GLIBCXX_VISIBILITY(default) ++{ ++_GLIBCXX_BEGIN_NAMESPACE_VERSION ++ ++#ifndef _GLIBCXX_NONSHARED_CXX11_110 ++#ifndef _GLIBCXX_NONSHARED_CXX11_80 ++ ++ template C* __add_grouping(C*, C, char const*, size_t, C const*, C const*); ++ ++ template moneypunct_byname::moneypunct_byname(const string&, size_t); ++ template moneypunct_byname::moneypunct_byname(const string&, size_t); ++ template numpunct_byname::numpunct_byname(const string&, size_t); ++ template time_put_byname::time_put_byname(const string&, size_t); ++ template time_get_byname::time_get_byname(const string&, size_t); ++ template time_get>::iter_type time_get>::get(iter_type, iter_type, ios_base&, ios_base::iostate&, tm*, const C*, const C*) const; ++ template time_get>::iter_type time_get>::do_get(iter_type, iter_type, ios_base&, ios_base::iostate&, tm*, char, char) const; ++ template messages_byname::messages_byname(const string&, size_t); ++ ctype_byname::ctype_byname(const string& __s, size_t __refs) ++ : ctype_byname(__s.c_str(), __refs) { } ++ template codecvt_byname::codecvt_byname(const string&, size_t); ++#endif ++ ++ template time_get>::iter_type time_get>::get(iter_type, iter_type, ios_base&, ios_base::iostate&, tm*, char, char) const; ++ template collate_byname::collate_byname(const string&, size_t); ++#endif ++ template time_get>::iter_type time_get>::_M_extract_via_format(iter_type, iter_type, ios_base&, ios_base::iostate&, tm*, const C*, __time_get_state&) const; ++ template void __timepunct::_M_am_pm_format(C const**) const; ++ ++#if ! _GLIBCXX_USE_CXX11_ABI ++INSTANTIATE_FACET_ACCESSORS(ctype); ++INSTANTIATE_FACET_ACCESSORS(codecvt); ++#endif ++INSTANTIATE_FACET_ACCESSORS(collate); ++INSTANTIATE_FACET_ACCESSORS(numpunct); ++INSTANTIATE_FACET_ACCESSORS(moneypunct); ++INSTANTIATE_USE_FACET (moneypunct); ++#if ! _GLIBCXX_USE_CXX11_ABI ++INSTANTIATE_FACET_ACCESSORS(__timepunct); ++INSTANTIATE_FACET_ACCESSORS(time_put); ++#endif ++INSTANTIATE_FACET_ACCESSORS(time_get); ++INSTANTIATE_FACET_ACCESSORS(messages); ++ ++INSTANTIATE_FACET_ACCESSORS(money_put); ++INSTANTIATE_FACET_ACCESSORS(money_get); ++ ++#if ! _GLIBCXX_USE_CXX11_ABI ++INSTANTIATE_FACET_ACCESSORS(num_get); ++INSTANTIATE_FACET_ACCESSORS(num_put); ++#endif ++ ++_GLIBCXX_END_NAMESPACE_VERSION ++} // namespace ++ ++#ifndef _GLIBCXX_NONSHARED_CXX11_110 ++#ifndef _GLIBCXX_NONSHARED_CXX11_80 ++#ifdef C_is_char ++#if defined(__i386__) || (defined(__powerpc__) && !defined(__powerpc64__)) ++//asm (".hidden _ZSt14__add_groupingIcEPT_S1_S0_PKcjPKS0_S5_"); ++#else ++asm (".hidden _ZSt14__add_groupingIcEPT_S1_S0_PKcmPKS0_S5_"); ++#endif ++#else ++#if defined(__i386__) || (defined(__powerpc__) && !defined(__powerpc64__)) ++//asm (".hidden _ZSt14__add_groupingIwEPT_S1_S0_PKcjPKS0_S5_"); ++#else ++//asm (".hidden _ZSt14__add_groupingIwEPT_S1_S0_PKcmPKS0_S5_"); ++#endif ++#endif ++#endif ++#ifdef C_is_char ++asm (".hidden _ZNKSt5ctypeIcE8do_widenEc"); ++#endif ++#endif +diff --git a/libstdc++-v3/src/nonshared11/locale-inst110.cc b/libstdc++-v3/src/nonshared11/locale-inst110.cc +new file mode 100644 +index 000000000..98bb81522 +--- /dev/null ++++ b/libstdc++-v3/src/nonshared11/locale-inst110.cc +@@ -0,0 +1,25 @@ ++// Copyright (C) 1999-2023 Free Software Foundation, Inc. ++// ++// This file is part of the GNU ISO C++ Library. This library is free ++// software; you can redistribute it and/or modify it under the ++// terms of the GNU General Public License as published by the ++// Free Software Foundation; either version 3, or (at your option) ++// any later version. ++ ++// This library is distributed in the hope that it will be useful, ++// but WITHOUT ANY WARRANTY; without even the implied warranty of ++// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the ++// GNU General Public License for more details. ++ ++// Under Section 7 of GPL version 3, you are granted additional ++// permissions described in the GCC Runtime Library Exception, version ++// 3.1, as published by the Free Software Foundation. ++ ++// You should have received a copy of the GNU General Public License and ++// a copy of the GCC Runtime Library Exception along with this program; ++// see the files COPYING3 and COPYING.RUNTIME respectively. If not, see ++// . ++ ++#define _GLIBCXX_NONSHARED_CXX11_110 ++#include "locale-inst.cc" ++asm (".hidden _ZNKSt5ctypeIcE8do_widenEc"); +diff --git a/libstdc++-v3/src/nonshared11/locale-inst80.cc b/libstdc++-v3/src/nonshared11/locale-inst80.cc +new file mode 100644 +index 000000000..8e550f612 +--- /dev/null ++++ b/libstdc++-v3/src/nonshared11/locale-inst80.cc +@@ -0,0 +1,29 @@ ++// Copyright (C) 1999-2023 Free Software Foundation, Inc. ++// ++// This file is part of the GNU ISO C++ Library. This library is free ++// software; you can redistribute it and/or modify it under the ++// terms of the GNU General Public License as published by the ++// Free Software Foundation; either version 3, or (at your option) ++// any later version. ++ ++// This library is distributed in the hope that it will be useful, ++// but WITHOUT ANY WARRANTY; without even the implied warranty of ++// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the ++// GNU General Public License for more details. ++ ++// Under Section 7 of GPL version 3, you are granted additional ++// permissions described in the GCC Runtime Library Exception, version ++// 3.1, as published by the Free Software Foundation. ++ ++// You should have received a copy of the GNU General Public License and ++// a copy of the GCC Runtime Library Exception along with this program; ++// see the files COPYING3 and COPYING.RUNTIME respectively. If not, see ++// . ++ ++#define _GLIBCXX_NONSHARED_CXX11_80 ++#include "locale-inst.cc" ++#ifdef C_is_char ++asm (".hidden _ZNKSt5ctypeIcE9do_narrowEcc"); ++asm (".hidden _ZNKSt5ctypeIcE8do_widenEPKcS2_Pc"); ++asm (".hidden _ZNKSt19istreambuf_iteratorIcSt11char_traitsIcEE6_M_getEv"); ++#endif +diff --git a/libstdc++-v3/src/nonshared11/new_handler.cc b/libstdc++-v3/src/nonshared11/new_handler.cc +new file mode 100644 +index 000000000..cea209700 +--- /dev/null ++++ b/libstdc++-v3/src/nonshared11/new_handler.cc +@@ -0,0 +1,72 @@ ++// Implementation file for the -*- C++ -*- dynamic memory management header. ++ ++// Copyright (C) 1996-2023 Free Software Foundation, Inc. ++// ++// This file is part of GCC. ++// ++// GCC is free software; you can redistribute it and/or modify ++// it under the terms of the GNU General Public License as published by ++// the Free Software Foundation; either version 3, or (at your option) ++// any later version. ++// ++// GCC is distributed in the hope that it will be useful, ++// but WITHOUT ANY WARRANTY; without even the implied warranty of ++// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the ++// GNU General Public License for more details. ++// ++// Under Section 7 of GPL version 3, you are granted additional ++// permissions described in the GCC Runtime Library Exception, version ++// 3.1, as published by the Free Software Foundation. ++ ++// You should have received a copy of the GNU General Public License and ++// a copy of the GCC Runtime Library Exception along with this program; ++// see the files COPYING3 and COPYING.RUNTIME respectively. If not, see ++// . ++ ++#include ++#include ++ ++// This is inherently thread-unsafe, but so is libstdc++ < 4.9 ++// std::set_new_handler and this hopefully doesn't make things much worse ++// than that. ++namespace ++{ ++ __gnu_cxx::__mutex mx; ++ std::new_handler handler; ++ ++ void new_handler_wrapper () ++ { ++ std::new_handler h; ++ { ++ __gnu_cxx::__scoped_lock l(mx); ++ h = handler; ++ } ++ h (); ++ } ++} ++ ++std::new_handler ++std::get_new_handler () noexcept ++{ ++ __gnu_cxx::__scoped_lock l(mx); ++ handler = std::set_new_handler (new_handler_wrapper); ++ std::set_new_handler (handler); ++ return handler; ++} ++ ++asm (".hidden _ZN9__gnu_cxx24__concurrence_lock_errorD0Ev"); ++asm (".hidden _ZN9__gnu_cxx24__concurrence_lock_errorD1Ev"); ++asm (".hidden _ZN9__gnu_cxx24__concurrence_lock_errorD2Ev"); ++asm (".hidden _ZN9__gnu_cxx26__concurrence_unlock_errorD0Ev"); ++asm (".hidden _ZN9__gnu_cxx26__concurrence_unlock_errorD1Ev"); ++asm (".hidden _ZN9__gnu_cxx26__concurrence_unlock_errorD2Ev"); ++asm (".hidden _ZN9__gnu_cxx30__throw_concurrence_lock_errorEv"); ++asm (".hidden _ZNK9__gnu_cxx24__concurrence_lock_error4whatEv"); ++asm (".hidden _ZNK9__gnu_cxx26__concurrence_unlock_error4whatEv"); ++asm (".hidden _ZTIN9__gnu_cxx24__concurrence_lock_errorE"); ++asm (".hidden _ZTIN9__gnu_cxx26__concurrence_unlock_errorE"); ++asm (".hidden _ZTSN9__gnu_cxx24__concurrence_lock_errorE"); ++asm (".hidden _ZTSN9__gnu_cxx26__concurrence_unlock_errorE"); ++asm (".hidden _ZTVN9__gnu_cxx24__concurrence_lock_errorE"); ++asm (".hidden _ZTVN9__gnu_cxx26__concurrence_unlock_errorE"); ++asm (".hidden _ZN9__gnu_cxx32__throw_concurrence_unlock_errorEv"); +diff --git a/libstdc++-v3/src/nonshared11/new_opa.cc b/libstdc++-v3/src/nonshared11/new_opa.cc +new file mode 100644 +index 000000000..8d2887146 +--- /dev/null ++++ b/libstdc++-v3/src/nonshared11/new_opa.cc +@@ -0,0 +1,23 @@ ++// Copyright (C) 2017-2023 Free Software Foundation, Inc. ++// ++// This file is part of the GNU ISO C++ Library. This library is free ++// software; you can redistribute it and/or modify it under the ++// terms of the GNU General Public License as published by the ++// Free Software Foundation; either version 3, or (at your option) ++// any later version. ++ ++// This library is distributed in the hope that it will be useful, ++// but WITHOUT ANY WARRANTY; without even the implied warranty of ++// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the ++// GNU General Public License for more details. ++ ++// Under Section 7 of GPL version 3, you are granted additional ++// permissions described in the GCC Runtime Library Exception, version ++// 3.1, as published by the Free Software Foundation. ++ ++// You should have received a copy of the GNU General Public License and ++// a copy of the GCC Runtime Library Exception along with this program; ++// see the files COPYING3 and COPYING.RUNTIME respectively. If not, see ++// . ++ ++#include "../libsupc++/new_opa.cc" +diff --git a/libstdc++-v3/src/nonshared11/new_opant.cc b/libstdc++-v3/src/nonshared11/new_opant.cc +new file mode 100644 +index 000000000..8ae3d7203 +--- /dev/null ++++ b/libstdc++-v3/src/nonshared11/new_opant.cc +@@ -0,0 +1,23 @@ ++// Copyright (C) 2017-2023 Free Software Foundation, Inc. ++// ++// This file is part of the GNU ISO C++ Library. This library is free ++// software; you can redistribute it and/or modify it under the ++// terms of the GNU General Public License as published by the ++// Free Software Foundation; either version 3, or (at your option) ++// any later version. ++ ++// This library is distributed in the hope that it will be useful, ++// but WITHOUT ANY WARRANTY; without even the implied warranty of ++// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the ++// GNU General Public License for more details. ++ ++// Under Section 7 of GPL version 3, you are granted additional ++// permissions described in the GCC Runtime Library Exception, version ++// 3.1, as published by the Free Software Foundation. ++ ++// You should have received a copy of the GNU General Public License and ++// a copy of the GCC Runtime Library Exception along with this program; ++// see the files COPYING3 and COPYING.RUNTIME respectively. If not, see ++// . ++ ++#include "../libsupc++/new_opant.cc" +diff --git a/libstdc++-v3/src/nonshared11/new_opva.cc b/libstdc++-v3/src/nonshared11/new_opva.cc +new file mode 100644 +index 000000000..632536d98 +--- /dev/null ++++ b/libstdc++-v3/src/nonshared11/new_opva.cc +@@ -0,0 +1,23 @@ ++// Copyright (C) 2017-2023 Free Software Foundation, Inc. ++// ++// This file is part of the GNU ISO C++ Library. This library is free ++// software; you can redistribute it and/or modify it under the ++// terms of the GNU General Public License as published by the ++// Free Software Foundation; either version 3, or (at your option) ++// any later version. ++ ++// This library is distributed in the hope that it will be useful, ++// but WITHOUT ANY WARRANTY; without even the implied warranty of ++// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the ++// GNU General Public License for more details. ++ ++// Under Section 7 of GPL version 3, you are granted additional ++// permissions described in the GCC Runtime Library Exception, version ++// 3.1, as published by the Free Software Foundation. ++ ++// You should have received a copy of the GNU General Public License and ++// a copy of the GCC Runtime Library Exception along with this program; ++// see the files COPYING3 and COPYING.RUNTIME respectively. If not, see ++// . ++ ++#include "../libsupc++/new_opva.cc" +diff --git a/libstdc++-v3/src/nonshared11/new_opvant.cc b/libstdc++-v3/src/nonshared11/new_opvant.cc +new file mode 100644 +index 000000000..cbfb22203 +--- /dev/null ++++ b/libstdc++-v3/src/nonshared11/new_opvant.cc +@@ -0,0 +1,23 @@ ++// Copyright (C) 2017-2023 Free Software Foundation, Inc. ++// ++// This file is part of the GNU ISO C++ Library. This library is free ++// software; you can redistribute it and/or modify it under the ++// terms of the GNU General Public License as published by the ++// Free Software Foundation; either version 3, or (at your option) ++// any later version. ++ ++// This library is distributed in the hope that it will be useful, ++// but WITHOUT ANY WARRANTY; without even the implied warranty of ++// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the ++// GNU General Public License for more details. ++ ++// Under Section 7 of GPL version 3, you are granted additional ++// permissions described in the GCC Runtime Library Exception, version ++// 3.1, as published by the Free Software Foundation. ++ ++// You should have received a copy of the GNU General Public License and ++// a copy of the GCC Runtime Library Exception along with this program; ++// see the files COPYING3 and COPYING.RUNTIME respectively. If not, see ++// . ++ ++#include "../libsupc++/new_opvant.cc" +diff --git a/libstdc++-v3/src/nonshared11/ostream-inst.cc b/libstdc++-v3/src/nonshared11/ostream-inst.cc +new file mode 100644 +index 000000000..26d030228 +--- /dev/null ++++ b/libstdc++-v3/src/nonshared11/ostream-inst.cc +@@ -0,0 +1,48 @@ ++// Explicit instantiation file. ++ ++// Copyright (C) 1997-2023 Free Software Foundation, Inc. ++// ++// This file is part of the GNU ISO C++ Library. This library is free ++// software; you can redistribute it and/or modify it under the ++// terms of the GNU General Public License as published by the ++// Free Software Foundation; either version 3, or (at your option) ++// any later version. ++ ++// This library is distributed in the hope that it will be useful, ++// but WITHOUT ANY WARRANTY; without even the implied warranty of ++// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the ++// GNU General Public License for more details. ++ ++// Under Section 7 of GPL version 3, you are granted additional ++// permissions described in the GCC Runtime Library Exception, version ++// 3.1, as published by the Free Software Foundation. ++ ++// You should have received a copy of the GNU General Public License and ++// a copy of the GCC Runtime Library Exception along with this program; ++// see the files COPYING3 and COPYING.RUNTIME respectively. If not, see ++// . ++ ++// ++// ISO C++ 14882: ++// ++ ++#include ++#include ++ ++namespace std _GLIBCXX_VISIBILITY(default) ++{ ++_GLIBCXX_BEGIN_NAMESPACE_VERSION ++ ++ template basic_ostream::basic_ostream(basic_ostream&&); ++ template basic_ostream& basic_ostream::operator=(basic_ostream&&); ++ template void basic_ostream::swap(basic_ostream&); ++ template basic_ostream::basic_ostream(basic_iostream&); ++#ifdef _GLIBCXX_USE_WCHAR_T ++ template basic_ostream::basic_ostream(basic_ostream&&); ++ template basic_ostream& basic_ostream::operator=(basic_ostream&&); ++ template void basic_ostream::swap(basic_ostream&); ++ template basic_ostream::basic_ostream(basic_iostream&); ++#endif ++ ++_GLIBCXX_END_NAMESPACE_VERSION ++} // namespace +diff --git a/libstdc++-v3/src/nonshared11/random.cc b/libstdc++-v3/src/nonshared11/random.cc +new file mode 100644 +index 000000000..57dae5d4b +--- /dev/null ++++ b/libstdc++-v3/src/nonshared11/random.cc +@@ -0,0 +1,24 @@ ++// Copyright (C) 2013-2023 Free Software Foundation, Inc. ++// ++// This file is part of the GNU ISO C++ Library. This library is free ++// software; you can redistribute it and/or modify it under the ++// terms of the GNU General Public License as published by the ++// Free Software Foundation; either version 3, or (at your option) ++// any later version. ++ ++// This library is distributed in the hope that it will be useful, ++// but WITHOUT ANY WARRANTY; without even the implied warranty of ++// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the ++// GNU General Public License for more details. ++ ++// Under Section 7 of GPL version 3, you are granted additional ++// permissions described in the GCC Runtime Library Exception, version ++// 3.1, as published by the Free Software Foundation. ++ ++// You should have received a copy of the GNU General Public License and ++// a copy of the GCC Runtime Library Exception along with this program; ++// see the files COPYING3 and COPYING.RUNTIME respectively. If not, see ++// . ++ ++#define _GLIBCXX_NONSHARED_CXX11_48 ++#include "../c++11/random.cc" +diff --git a/libstdc++-v3/src/nonshared11/regex48.cc b/libstdc++-v3/src/nonshared11/regex48.cc +new file mode 100644 +index 000000000..f530fc067 +--- /dev/null ++++ b/libstdc++-v3/src/nonshared11/regex48.cc +@@ -0,0 +1,31 @@ ++// Copyright (C) 2012-2023 Free Software Foundation, Inc. ++// ++// This file is part of the GNU ISO C++ Library. This library is free ++// software; you can redistribute it and/or modify it under the ++// terms of the GNU General Public License as published by the ++// Free Software Foundation; either version 3, or (at your option) ++// any later version. ++ ++// This library is distributed in the hope that it will be useful, ++// but WITHOUT ANY WARRANTY; without even the implied warranty of ++// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the ++// GNU General Public License for more details. ++ ++// Under Section 7 of GPL version 3, you are granted additional ++// permissions described in the GCC Runtime Library Exception, version ++// 3.1, as published by the Free Software Foundation. ++ ++// You should have received a copy of the GNU General Public License and ++// a copy of the GCC Runtime Library Exception along with this program; ++// see the files COPYING3 and COPYING.RUNTIME respectively. If not, see ++// . ++ ++#include "../c++11/regex.cc" ++ ++asm (".hidden _ZNSt11regex_errorD0Ev"); ++asm (".hidden _ZNSt11regex_errorD1Ev"); ++asm (".hidden _ZNSt11regex_errorD2Ev"); ++asm (".hidden _ZTSSt11regex_error"); ++asm (".hidden _ZTISt11regex_error"); ++asm (".hidden _ZTVSt11regex_error"); ++asm (".hidden _ZSt19__throw_regex_errorNSt15regex_constants10error_typeE"); +diff --git a/libstdc++-v3/src/nonshared11/shared_ptr48.cc b/libstdc++-v3/src/nonshared11/shared_ptr48.cc +new file mode 100644 +index 000000000..9aa6efce4 +--- /dev/null ++++ b/libstdc++-v3/src/nonshared11/shared_ptr48.cc +@@ -0,0 +1,41 @@ ++// Copyright (C) 2012-2023 Free Software Foundation, Inc. ++// ++// This file is part of the GNU ISO C++ Library. This library is free ++// software; you can redistribute it and/or modify it under the ++// terms of the GNU General Public License as published by the ++// Free Software Foundation; either version 3, or (at your option) ++// any later version. ++ ++// This library is distributed in the hope that it will be useful, ++// but WITHOUT ANY WARRANTY; without even the implied warranty of ++// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the ++// GNU General Public License for more details. ++ ++// Under Section 7 of GPL version 3, you are granted additional ++// permissions described in the GCC Runtime Library Exception, version ++// 3.1, as published by the Free Software Foundation. ++ ++// You should have received a copy of the GNU General Public License and ++// a copy of the GCC Runtime Library Exception along with this program; ++// see the files COPYING3 and COPYING.RUNTIME respectively. If not, see ++// . ++ ++#define _GLIBCXX_NONSHARED_CXX11_48 ++#include "../c++11/shared_ptr.cc" ++asm (".hidden _ZN9__gnu_cxx24__concurrence_lock_errorD0Ev"); ++asm (".hidden _ZN9__gnu_cxx24__concurrence_lock_errorD1Ev"); ++asm (".hidden _ZN9__gnu_cxx24__concurrence_lock_errorD2Ev"); ++asm (".hidden _ZN9__gnu_cxx26__concurrence_unlock_errorD0Ev"); ++asm (".hidden _ZN9__gnu_cxx26__concurrence_unlock_errorD1Ev"); ++asm (".hidden _ZN9__gnu_cxx26__concurrence_unlock_errorD2Ev"); ++asm (".hidden _ZN9__gnu_cxx30__throw_concurrence_lock_errorEv"); ++asm (".hidden _ZNK9__gnu_cxx24__concurrence_lock_error4whatEv"); ++asm (".hidden _ZNK9__gnu_cxx26__concurrence_unlock_error4whatEv"); ++asm (".hidden _ZTIN9__gnu_cxx24__concurrence_lock_errorE"); ++asm (".hidden _ZTIN9__gnu_cxx26__concurrence_unlock_errorE"); ++asm (".hidden _ZTSN9__gnu_cxx24__concurrence_lock_errorE"); ++asm (".hidden _ZTSN9__gnu_cxx26__concurrence_unlock_errorE"); ++asm (".hidden _ZTVN9__gnu_cxx24__concurrence_lock_errorE"); ++asm (".hidden _ZTVN9__gnu_cxx26__concurrence_unlock_errorE"); ++asm (".hidden _ZTSSt19_Sp_make_shared_tag"); ++asm (".hidden _ZN9__gnu_cxx32__throw_concurrence_unlock_errorEv"); +diff --git a/libstdc++-v3/src/nonshared11/shared_ptr80.cc b/libstdc++-v3/src/nonshared11/shared_ptr80.cc +new file mode 100644 +index 000000000..d5b0c4d1e +--- /dev/null ++++ b/libstdc++-v3/src/nonshared11/shared_ptr80.cc +@@ -0,0 +1,25 @@ ++// Copyright (C) 2012-2023 Free Software Foundation, Inc. ++// ++// This file is part of the GNU ISO C++ Library. This library is free ++// software; you can redistribute it and/or modify it under the ++// terms of the GNU General Public License as published by the ++// Free Software Foundation; either version 3, or (at your option) ++// any later version. ++ ++// This library is distributed in the hope that it will be useful, ++// but WITHOUT ANY WARRANTY; without even the implied warranty of ++// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the ++// GNU General Public License for more details. ++ ++// Under Section 7 of GPL version 3, you are granted additional ++// permissions described in the GCC Runtime Library Exception, version ++// 3.1, as published by the Free Software Foundation. ++ ++// You should have received a copy of the GNU General Public License and ++// a copy of the GCC Runtime Library Exception along with this program; ++// see the files COPYING3 and COPYING.RUNTIME respectively. If not, see ++// . ++ ++#define _GLIBCXX_NONSHARED_CXX11_80 ++#include "../c++11/shared_ptr.cc" ++//asm (".hidden _ZTSSt19_Sp_make_shared_tag"); +diff --git a/libstdc++-v3/src/nonshared11/snprintf_lite.cc b/libstdc++-v3/src/nonshared11/snprintf_lite.cc +new file mode 100644 +index 000000000..2aa22d1ea +--- /dev/null ++++ b/libstdc++-v3/src/nonshared11/snprintf_lite.cc +@@ -0,0 +1,40 @@ ++// Copyright (C) 2014-2023 Free Software Foundation, Inc. ++// ++// This file is part of the GNU ISO C++ Library. This library is free ++// software; you can redistribute it and/or modify it under the ++// terms of the GNU General Public License as published by the ++// Free Software Foundation; either version 3, or (at your option) ++// any later version. ++ ++// This library is distributed in the hope that it will be useful, ++// but WITHOUT ANY WARRANTY; without even the implied warranty of ++// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the ++// GNU General Public License for more details. ++ ++// Under Section 7 of GPL version 3, you are granted additional ++// permissions described in the GCC Runtime Library Exception, version ++// 3.1, as published by the Free Software Foundation. ++ ++// You should have received a copy of the GNU General Public License and ++// a copy of the GCC Runtime Library Exception along with this program; ++// see the files COPYING3 and COPYING.RUNTIME respectively. If not, see ++// . ++ ++#include "../c++11/snprintf_lite.cc" ++#ifdef __powerpc64__ ++asm (".hidden _ZN9__gnu_cxx15__concat_size_tEPcmm"); ++//asm (".hidden _ZN9__gnu_cxx15__snprintf_liteEPcmPKcS0_"); ++#elif defined(__i386__) ++//asm (".hidden _ZN9__gnu_cxx15__concat_size_tEPcjj"); ++//asm (".hidden _ZN9__gnu_cxx15__snprintf_liteEPcjPKcS0_"); ++#elif defined(__powerpc__) ++//asm (".hidden _ZN9__gnu_cxx15__concat_size_tEPcjj"); ++//asm (".hidden _ZN9__gnu_cxx15__snprintf_liteEPcjPKcP13__va_list_tag"); ++#elif defined(__aarch64__) ++asm (".hidden _ZN9__gnu_cxx15__concat_size_tEPcmm"); ++//asm (".hidden _ZN9__gnu_cxx15__snprintf_liteEPcmPKcSt9__va_list"); ++#else ++asm (".hidden _ZN9__gnu_cxx15__concat_size_tEPcmm"); ++asm (".hidden _ZN9__gnu_cxx15__snprintf_liteEPcmPKcP13__va_list_tag"); ++#endif ++asm (".hidden _ZN9__gnu_cxx26__throw_insufficient_spaceEPKcS1_"); +diff --git a/libstdc++-v3/src/nonshared11/sso_string.cc b/libstdc++-v3/src/nonshared11/sso_string.cc +new file mode 100644 +index 000000000..2d1476670 +--- /dev/null ++++ b/libstdc++-v3/src/nonshared11/sso_string.cc +@@ -0,0 +1,48 @@ ++// wide string support -*- C++ -*- ++ ++// Copyright (C) 2014-2023 Free Software Foundation, Inc. ++// ++// This file is part of the GNU ISO C++ Library. This library is free ++// software; you can redistribute it and/or modify it under the ++// terms of the GNU General Public License as published by the ++// Free Software Foundation; either version 3, or (at your option) ++// any later version. ++ ++// This library is distributed in the hope that it will be useful, ++// but WITHOUT ANY WARRANTY; without even the implied warranty of ++// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the ++// GNU General Public License for more details. ++ ++// Under Section 7 of GPL version 3, you are granted additional ++// permissions described in the GCC Runtime Library Exception, version ++// 3.1, as published by the Free Software Foundation. ++ ++// You should have received a copy of the GNU General Public License and ++// a copy of the GCC Runtime Library Exception along with this program; ++// see the files COPYING3 and COPYING.RUNTIME respectively. If not, see ++// . ++ ++// ++// ISO C++ 14882: 21 Strings library ++// ++ ++#include "../c++11/sso_string.cc" ++asm (".hidden _ZNSt12__sso_stringC1EOS_"); ++asm (".hidden _ZNSt12__sso_stringC1ERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE"); ++asm (".hidden _ZNSt12__sso_stringC1ERKS_"); ++asm (".hidden _ZNSt12__sso_stringC1Ev"); ++asm (".hidden _ZNSt12__sso_stringC2EOS_"); ++asm (".hidden _ZNSt12__sso_stringC2ERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE"); ++asm (".hidden _ZNSt12__sso_stringC2ERKS_"); ++asm (".hidden _ZNSt12__sso_stringC2Ev"); ++asm (".hidden _ZNSt12__sso_stringD1Ev"); ++asm (".hidden _ZNSt12__sso_stringD2Ev"); ++asm (".hidden _ZNSt12__sso_stringaSEOS_"); ++asm (".hidden _ZNSt12__sso_stringaSERKS_"); ++#if defined(__i386__) || (defined(__powerpc__) && !defined(__powerpc64__)) ++//asm (".hidden _ZNSt12__sso_stringC1EPKcj"); ++//asm (".hidden _ZNSt12__sso_stringC2EPKcj"); ++#else ++asm (".hidden _ZNSt12__sso_stringC1EPKcm"); ++asm (".hidden _ZNSt12__sso_stringC2EPKcm"); ++#endif +diff --git a/libstdc++-v3/src/nonshared11/sstream-inst.cc b/libstdc++-v3/src/nonshared11/sstream-inst.cc +new file mode 100644 +index 000000000..f5fd0efb6 +--- /dev/null ++++ b/libstdc++-v3/src/nonshared11/sstream-inst.cc +@@ -0,0 +1,25 @@ ++// Copyright (C) 2012-2023 Free Software Foundation, Inc. ++// ++// This file is part of the GNU ISO C++ Library. This library is free ++// software; you can redistribute it and/or modify it under the ++// terms of the GNU General Public License as published by the ++// Free Software Foundation; either version 3, or (at your option) ++// any later version. ++ ++// This library is distributed in the hope that it will be useful, ++// but WITHOUT ANY WARRANTY; without even the implied warranty of ++// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the ++// GNU General Public License for more details. ++ ++// Under Section 7 of GPL version 3, you are granted additional ++// permissions described in the GCC Runtime Library Exception, version ++// 3.1, as published by the Free Software Foundation. ++ ++// You should have received a copy of the GNU General Public License and ++// a copy of the GCC Runtime Library Exception along with this program; ++// see the files COPYING3 and COPYING.RUNTIME respectively. If not, see ++// . ++ ++#include "../c++11/sstream-inst.cc" ++asm (".hidden _ZNKSt7__cxx1115basic_stringbufIcSt11char_traitsIcESaIcEE12_M_high_markEv"); ++asm (".hidden _ZNKSt7__cxx1115basic_stringbufIwSt11char_traitsIwESaIwEE12_M_high_markEv"); +diff --git a/libstdc++-v3/src/nonshared11/sstream-inst80.cc b/libstdc++-v3/src/nonshared11/sstream-inst80.cc +new file mode 100644 +index 000000000..574f86d59 +--- /dev/null ++++ b/libstdc++-v3/src/nonshared11/sstream-inst80.cc +@@ -0,0 +1,55 @@ ++// Explicit instantiation file. ++ ++// Copyright (C) 2014-2023 Free Software Foundation, Inc. ++// ++// This file is part of the GNU ISO C++ Library. This library is free ++// software; you can redistribute it and/or modify it under the ++// terms of the GNU General Public License as published by the ++// Free Software Foundation; either version 3, or (at your option) ++// any later version. ++ ++// This library is distributed in the hope that it will be useful, ++// but WITHOUT ANY WARRANTY; without even the implied warranty of ++// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the ++// GNU General Public License for more details. ++ ++// Under Section 7 of GPL version 3, you are granted additional ++// permissions described in the GCC Runtime Library Exception, version ++// 3.1, as published by the Free Software Foundation. ++ ++// You should have received a copy of the GNU General Public License and ++// a copy of the GCC Runtime Library Exception along with this program; ++// see the files COPYING3 and COPYING.RUNTIME respectively. If not, see ++// . ++ ++// ++// ISO C++ 14882: ++// ++ ++#define _GLIBCXX_USE_CXX11_ABI 1 ++#include ++ ++namespace std _GLIBCXX_VISIBILITY(default) ++{ ++_GLIBCXX_BEGIN_NAMESPACE_VERSION ++ ++ template basic_stringbuf::basic_stringbuf(); ++ template basic_istringstream::basic_istringstream(); ++ template basic_ostringstream::basic_ostringstream(); ++ template basic_stringstream::basic_stringstream(); ++#ifdef _GLIBCXX_USE_WCHAR_T ++ template basic_stringbuf::basic_stringbuf(); ++ template basic_istringstream::basic_istringstream(); ++ template basic_ostringstream::basic_ostringstream(); ++ template basic_stringstream::basic_stringstream(); ++#endif ++ ++_GLIBCXX_END_NAMESPACE_VERSION ++} // namespace ++ ++asm (".hidden _ZNSt7__cxx1115basic_stringbufIcSt11char_traitsIcESaIcEED0Ev"); ++asm (".hidden _ZNSt7__cxx1115basic_stringbufIcSt11char_traitsIcESaIcEED1Ev"); ++asm (".hidden _ZNSt7__cxx1115basic_stringbufIcSt11char_traitsIcESaIcEED2Ev"); ++asm (".hidden _ZNSt7__cxx1115basic_stringbufIwSt11char_traitsIwESaIwEED0Ev"); ++asm (".hidden _ZNSt7__cxx1115basic_stringbufIwSt11char_traitsIwESaIwEED1Ev"); ++asm (".hidden _ZNSt7__cxx1115basic_stringbufIwSt11char_traitsIwESaIwEED2Ev"); +diff --git a/libstdc++-v3/src/nonshared11/streambuf-inst.cc b/libstdc++-v3/src/nonshared11/streambuf-inst.cc +new file mode 100644 +index 000000000..ea5f89a13 +--- /dev/null ++++ b/libstdc++-v3/src/nonshared11/streambuf-inst.cc +@@ -0,0 +1,42 @@ ++// Explicit instantiation file. ++ ++// Copyright (C) 1997-2023 Free Software Foundation, Inc. ++// ++// This file is part of the GNU ISO C++ Library. This library is free ++// software; you can redistribute it and/or modify it under the ++// terms of the GNU General Public License as published by the ++// Free Software Foundation; either version 3, or (at your option) ++// any later version. ++ ++// This library is distributed in the hope that it will be useful, ++// but WITHOUT ANY WARRANTY; without even the implied warranty of ++// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the ++// GNU General Public License for more details. ++ ++// Under Section 7 of GPL version 3, you are granted additional ++// permissions described in the GCC Runtime Library Exception, version ++// 3.1, as published by the Free Software Foundation. ++ ++// You should have received a copy of the GNU General Public License and ++// a copy of the GCC Runtime Library Exception along with this program; ++// see the files COPYING3 and COPYING.RUNTIME respectively. If not, see ++// . ++ ++// ++// ISO C++ 14882: ++// ++ ++#include ++ ++namespace std _GLIBCXX_VISIBILITY(default) ++{ ++_GLIBCXX_BEGIN_NAMESPACE_VERSION ++ ++ template void basic_streambuf::swap(basic_streambuf&); ++ ++#ifdef _GLIBCXX_USE_WCHAR_T ++ template void basic_streambuf::swap(basic_streambuf&); ++#endif ++ ++_GLIBCXX_END_NAMESPACE_VERSION ++} // namespace +diff --git a/libstdc++-v3/src/nonshared11/string-inst.cc b/libstdc++-v3/src/nonshared11/string-inst.cc +new file mode 100644 +index 000000000..fc248e295 +--- /dev/null ++++ b/libstdc++-v3/src/nonshared11/string-inst.cc +@@ -0,0 +1,36 @@ ++// Components for manipulating sequences of characters -*- C++ -*- ++ ++// Copyright (C) 1997-2023 Free Software Foundation, Inc. ++// ++// This file is part of the GNU ISO C++ Library. This library is free ++// software; you can redistribute it and/or modify it under the ++// terms of the GNU General Public License as published by the ++// Free Software Foundation; either version 3, or (at your option) ++// any later version. ++ ++// This library is distributed in the hope that it will be useful, ++// but WITHOUT ANY WARRANTY; without even the implied warranty of ++// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the ++// GNU General Public License for more details. ++ ++// Under Section 7 of GPL version 3, you are granted additional ++// permissions described in the GCC Runtime Library Exception, version ++// 3.1, as published by the Free Software Foundation. ++ ++// You should have received a copy of the GNU General Public License and ++// a copy of the GCC Runtime Library Exception along with this program; ++// see the files COPYING3 and COPYING.RUNTIME respectively. If not, see ++// . ++ ++// ++// ISO C++ 14882: 21 Strings library ++// ++ ++// Written by Jason Merrill based upon the specification by Takanori Adachi ++// in ANSI X3J16/94-0013R2. Rewritten by Nathan Myers. ++ ++#include "../c++11/string-inst.cc" ++asm (".hidden _ZN9__gnu_cxxeqIPKcNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEEbRKNS_17__normal_iteratorIT_T0_EESE_"); ++asm (".hidden _ZN9__gnu_cxxeqIPcNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEEbRKNS_17__normal_iteratorIT_T0_EESD_"); ++asm (".hidden _ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE17_M_use_local_dataEv"); ++asm (".hidden _ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE11_S_allocateERS3_m"); +diff --git a/libstdc++-v3/src/nonshared11/string-inst110.cc b/libstdc++-v3/src/nonshared11/string-inst110.cc +new file mode 100644 +index 000000000..6b5365bb4 +--- /dev/null ++++ b/libstdc++-v3/src/nonshared11/string-inst110.cc +@@ -0,0 +1,26 @@ ++// Components for manipulating sequences of characters -*- C++ -*- ++ ++// Copyright (C) 1997-2023 Free Software Foundation, Inc. ++// ++// This file is part of the GNU ISO C++ Library. This library is free ++// software; you can redistribute it and/or modify it under the ++// terms of the GNU General Public License as published by the ++// Free Software Foundation; either version 3, or (at your option) ++// any later version. ++ ++// This library is distributed in the hope that it will be useful, ++// but WITHOUT ANY WARRANTY; without even the implied warranty of ++// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the ++// GNU General Public License for more details. ++ ++// Under Section 7 of GPL version 3, you are granted additional ++// permissions described in the GCC Runtime Library Exception, version ++// 3.1, as published by the Free Software Foundation. ++ ++// You should have received a copy of the GNU General Public License and ++// a copy of the GCC Runtime Library Exception along with this program; ++// see the files COPYING3 and COPYING.RUNTIME respectively. If not, see ++// . ++ ++#define _GLIBCXX_NONSHARED_CXX11_110 ++#include "string-inst80.cc" +diff --git a/libstdc++-v3/src/nonshared11/string-inst80.cc b/libstdc++-v3/src/nonshared11/string-inst80.cc +new file mode 100644 +index 000000000..4e0fa8390 +--- /dev/null ++++ b/libstdc++-v3/src/nonshared11/string-inst80.cc +@@ -0,0 +1,65 @@ ++// Components for manipulating sequences of characters -*- C++ -*- ++ ++// Copyright (C) 1997-2023 Free Software Foundation, Inc. ++// ++// This file is part of the GNU ISO C++ Library. This library is free ++// software; you can redistribute it and/or modify it under the ++// terms of the GNU General Public License as published by the ++// Free Software Foundation; either version 3, or (at your option) ++// any later version. ++ ++// This library is distributed in the hope that it will be useful, ++// but WITHOUT ANY WARRANTY; without even the implied warranty of ++// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the ++// GNU General Public License for more details. ++ ++// Under Section 7 of GPL version 3, you are granted additional ++// permissions described in the GCC Runtime Library Exception, version ++// 3.1, as published by the Free Software Foundation. ++ ++// You should have received a copy of the GNU General Public License and ++// a copy of the GCC Runtime Library Exception along with this program; ++// see the files COPYING3 and COPYING.RUNTIME respectively. If not, see ++// . ++ ++// ++// ISO C++ 14882: 21 Strings library ++// ++ ++// Written by Jason Merrill based upon the specification by Takanori Adachi ++// in ANSI X3J16/94-0013R2. Rewritten by Nathan Myers. ++ ++#ifndef _GLIBCXX_USE_CXX11_ABI ++// Instantiations in this file use the new SSO std::string ABI unless included ++// by another file which defines _GLIBCXX_USE_CXX11_ABI=0. ++# define _GLIBCXX_USE_CXX11_ABI 1 ++#endif ++ ++#include ++ ++// Instantiation configuration. ++#ifndef C ++# define C char ++#endif ++ ++namespace std _GLIBCXX_VISIBILITY(default) ++{ ++_GLIBCXX_BEGIN_NAMESPACE_VERSION ++ ++ typedef basic_string S; ++ ++#ifndef _GLIBCXX_NONSHARED_CXX11_110 ++ template ++ S::iterator ++ S::insert(S::const_iterator, initializer_list); ++ ++ template ++ void S::reserve(); ++#endif ++ ++ template ++ void S::_M_replace_cold(S::pointer, size_type, const C*, const size_type, ++ const size_type); ++ ++_GLIBCXX_END_NAMESPACE_VERSION ++} // namespace +diff --git a/libstdc++-v3/src/nonshared11/string-io-inst.cc b/libstdc++-v3/src/nonshared11/string-io-inst.cc +new file mode 100644 +index 000000000..f4aa629d2 +--- /dev/null ++++ b/libstdc++-v3/src/nonshared11/string-io-inst.cc +@@ -0,0 +1,58 @@ ++// SSO string instantiations for I/O -*- C++ -*- ++ ++// Copyright (C) 1997-2023 Free Software Foundation, Inc. ++// ++// This file is part of the GNU ISO C++ Library. This library is free ++// software; you can redistribute it and/or modify it under the ++// terms of the GNU General Public License as published by the ++// Free Software Foundation; either version 3, or (at your option) ++// any later version. ++ ++// This library is distributed in the hope that it will be useful, ++// but WITHOUT ANY WARRANTY; without even the implied warranty of ++// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the ++// GNU General Public License for more details. ++ ++// Under Section 7 of GPL version 3, you are granted additional ++// permissions described in the GCC Runtime Library Exception, version ++// 3.1, as published by the Free Software Foundation. ++ ++// You should have received a copy of the GNU General Public License and ++// a copy of the GCC Runtime Library Exception along with this program; ++// see the files COPYING3 and COPYING.RUNTIME respectively. If not, see ++// . ++ ++// ++// ISO C++ 14882: 21 Strings library ++// ++ ++#ifndef C ++# define _GLIBCXX_USE_CXX11_ABI 1 ++# define C char ++# define NARROW ++#endif ++#include ++#include ++ ++namespace std _GLIBCXX_VISIBILITY(default) ++{ ++ // string related to iostreams. ++ typedef basic_istream I; ++ typedef basic_ostream O; ++ typedef basic_string S; ++ ++#ifndef NARROW ++ template ++ I& operator>>(I&, S&); ++#endif ++ ++ template ++ O& operator<<(O&, const S&); ++ ++ template ++ I& getline(I&, S&); ++} ++ ++#ifdef NARROW ++asm (".hidden _ZNKSt5ctypeIcE8do_widenEc"); ++#endif +diff --git a/libstdc++-v3/src/nonshared11/system_error48.cc b/libstdc++-v3/src/nonshared11/system_error48.cc +new file mode 100644 +index 000000000..719808747 +--- /dev/null ++++ b/libstdc++-v3/src/nonshared11/system_error48.cc +@@ -0,0 +1,28 @@ ++// implementation file ++ ++// Copyright (C) 2007-2023 Free Software Foundation, Inc. ++// ++// This file is part of the GNU ISO C++ Library. This library is free ++// software; you can redistribute it and/or modify it under the ++// terms of the GNU General Public License as published by the ++// Free Software Foundation; either version 3, or (at your option) ++// any later version. ++ ++// This library is distributed in the hope that it will be useful, ++// but WITHOUT ANY WARRANTY; without even the implied warranty of ++// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the ++// GNU General Public License for more details. ++ ++// Under Section 7 of GPL version 3, you are granted additional ++// permissions described in the GCC Runtime Library Exception, version ++// 3.1, as published by the Free Software Foundation. ++ ++// You should have received a copy of the GNU General Public License and ++// a copy of the GCC Runtime Library Exception along with this program; ++// see the files COPYING3 and COPYING.RUNTIME respectively. If not, see ++// . ++ ++#define _GLIBCXX_NONSHARED_CXX11 ++#include "../c++11/system_error.cc" ++asm (".hidden _ZTSNSt3_V214error_categoryE"); ++asm (".hidden _ZSt20__throw_system_errori"); +diff --git a/libstdc++-v3/src/nonshared11/thread48.cc b/libstdc++-v3/src/nonshared11/thread48.cc +new file mode 100644 +index 000000000..8ad19e13c +--- /dev/null ++++ b/libstdc++-v3/src/nonshared11/thread48.cc +@@ -0,0 +1,30 @@ ++// Copyright (C) 2008-2023 Free Software Foundation, Inc. ++// ++// This file is part of the GNU ISO C++ Library. This library is free ++// software; you can redistribute it and/or modify it under the ++// terms of the GNU General Public License as published by the ++// Free Software Foundation; either version 3, or (at your option) ++// any later version. ++ ++// This library is distributed in the hope that it will be useful, ++// but WITHOUT ANY WARRANTY; without even the implied warranty of ++// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the ++// GNU General Public License for more details. ++ ++// Under Section 7 of GPL version 3, you are granted additional ++// permissions described in the GCC Runtime Library Exception, version ++// 3.1, as published by the Free Software Foundation. ++ ++// You should have received a copy of the GNU General Public License and ++// a copy of the GCC Runtime Library Exception along with this program; ++// see the files COPYING3 and COPYING.RUNTIME respectively. If not, see ++// . ++ ++#define _GLIBCXX_NONSHARED_CXX11_48 ++#include "../c++11/thread.cc" ++asm (".hidden _ZNSt15_Sp_counted_ptrIDnLN9__gnu_cxx12_Lock_policyE2EE10_M_disposeEv"); ++asm (".hidden _ZNSt16_Sp_counted_baseILN9__gnu_cxx12_Lock_policyE2EE10_M_destroyEv"); ++asm (".hidden _ZNSt16_Sp_counted_baseILN9__gnu_cxx12_Lock_policyE2EE10_M_releaseEv"); ++asm (".hidden _ZNSt6thread4joinEv"); ++asm (".hidden _ZNSt6thread6detachEv"); ++asm (".hidden _ZNSt6thread15_M_start_threadESt10shared_ptrINS_10_Impl_baseEE"); +diff --git a/libstdc++-v3/src/nonshared11/wlocale-inst.cc b/libstdc++-v3/src/nonshared11/wlocale-inst.cc +new file mode 100644 +index 000000000..ccb5eca9c +--- /dev/null ++++ b/libstdc++-v3/src/nonshared11/wlocale-inst.cc +@@ -0,0 +1,37 @@ ++// Locale support -*- C++ -*- ++ ++// Copyright (C) 1999-2023 Free Software Foundation, Inc. ++// ++// This file is part of the GNU ISO C++ Library. This library is free ++// software; you can redistribute it and/or modify it under the ++// terms of the GNU General Public License as published by the ++// Free Software Foundation; either version 3, or (at your option) ++// any later version. ++ ++// This library is distributed in the hope that it will be useful, ++// but WITHOUT ANY WARRANTY; without even the implied warranty of ++// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the ++// GNU General Public License for more details. ++ ++// Under Section 7 of GPL version 3, you are granted additional ++// permissions described in the GCC Runtime Library Exception, version ++// 3.1, as published by the Free Software Foundation. ++ ++// You should have received a copy of the GNU General Public License and ++// a copy of the GCC Runtime Library Exception along with this program; ++// see the files COPYING3 and COPYING.RUNTIME respectively. If not, see ++// . ++ ++// ++// ISO C++ 14882: 22.1 Locales ++// ++ ++// Instantiate locales using COW std::wstring ABI ++#define _GLIBCXX_USE_CXX11_ABI 0 ++#include ++ ++#ifdef _GLIBCXX_USE_WCHAR_T ++#define C wchar_t ++#include "locale-inst.cc" ++#endif ++asm (".hidden _ZSt14__add_groupingIwEPT_S1_S0_PKcmPKS0_S5_"); +diff --git a/libstdc++-v3/src/nonshared11/wlocale-inst110.cc b/libstdc++-v3/src/nonshared11/wlocale-inst110.cc +new file mode 100644 +index 000000000..6c200978c +--- /dev/null ++++ b/libstdc++-v3/src/nonshared11/wlocale-inst110.cc +@@ -0,0 +1,31 @@ ++// Copyright (C) 1999-2023 Free Software Foundation, Inc. ++// ++// This file is part of the GNU ISO C++ Library. This library is free ++// software; you can redistribute it and/or modify it under the ++// terms of the GNU General Public License as published by the ++// Free Software Foundation; either version 3, or (at your option) ++// any later version. ++ ++// This library is distributed in the hope that it will be useful, ++// but WITHOUT ANY WARRANTY; without even the implied warranty of ++// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the ++// GNU General Public License for more details. ++ ++// Under Section 7 of GPL version 3, you are granted additional ++// permissions described in the GCC Runtime Library Exception, version ++// 3.1, as published by the Free Software Foundation. ++ ++// You should have received a copy of the GNU General Public License and ++// a copy of the GCC Runtime Library Exception along with this program; ++// see the files COPYING3 and COPYING.RUNTIME respectively. If not, see ++// . ++ ++// Instantiate locales using COW std::wstring ABI ++#define _GLIBCXX_USE_CXX11_ABI 0 ++#include ++ ++#ifdef _GLIBCXX_USE_WCHAR_T ++#define C wchar_t ++#define _GLIBCXX_NONSHARED_CXX11_110 ++#include "locale-inst.cc" ++#endif +diff --git a/libstdc++-v3/src/nonshared11/wlocale-inst80.cc b/libstdc++-v3/src/nonshared11/wlocale-inst80.cc +new file mode 100644 +index 000000000..79d879911 +--- /dev/null ++++ b/libstdc++-v3/src/nonshared11/wlocale-inst80.cc +@@ -0,0 +1,31 @@ ++// Copyright (C) 1999-2023 Free Software Foundation, Inc. ++// ++// This file is part of the GNU ISO C++ Library. This library is free ++// software; you can redistribute it and/or modify it under the ++// terms of the GNU General Public License as published by the ++// Free Software Foundation; either version 3, or (at your option) ++// any later version. ++ ++// This library is distributed in the hope that it will be useful, ++// but WITHOUT ANY WARRANTY; without even the implied warranty of ++// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the ++// GNU General Public License for more details. ++ ++// Under Section 7 of GPL version 3, you are granted additional ++// permissions described in the GCC Runtime Library Exception, version ++// 3.1, as published by the Free Software Foundation. ++ ++// You should have received a copy of the GNU General Public License and ++// a copy of the GCC Runtime Library Exception along with this program; ++// see the files COPYING3 and COPYING.RUNTIME respectively. If not, see ++// . ++ ++// Instantiate locales using COW std::wstring ABI ++#define _GLIBCXX_USE_CXX11_ABI 0 ++#include ++ ++#ifdef _GLIBCXX_USE_WCHAR_T ++#define C wchar_t ++#define _GLIBCXX_NONSHARED_CXX11_80 ++#include "locale-inst.cc" ++#endif +diff --git a/libstdc++-v3/src/nonshared11/wstring-inst.cc b/libstdc++-v3/src/nonshared11/wstring-inst.cc +new file mode 100644 +index 000000000..b3c8b7a36 +--- /dev/null ++++ b/libstdc++-v3/src/nonshared11/wstring-inst.cc +@@ -0,0 +1,33 @@ ++// wide string support -*- C++ -*- ++ ++// Copyright (C) 1999-2023 Free Software Foundation, Inc. ++// ++// This file is part of the GNU ISO C++ Library. This library is free ++// software; you can redistribute it and/or modify it under the ++// terms of the GNU General Public License as published by the ++// Free Software Foundation; either version 3, or (at your option) ++// any later version. ++ ++// This library is distributed in the hope that it will be useful, ++// but WITHOUT ANY WARRANTY; without even the implied warranty of ++// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the ++// GNU General Public License for more details. ++ ++// Under Section 7 of GPL version 3, you are granted additional ++// permissions described in the GCC Runtime Library Exception, version ++// 3.1, as published by the Free Software Foundation. ++ ++// You should have received a copy of the GNU General Public License and ++// a copy of the GCC Runtime Library Exception along with this program; ++// see the files COPYING3 and COPYING.RUNTIME respectively. If not, see ++// . ++ ++// ++// ISO C++ 14882: 21 Strings library ++// ++ ++#include "../c++11/wstring-inst.cc" ++asm (".hidden _ZN9__gnu_cxxeqIPKwNSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEEEEEbRKNS_17__normal_iteratorIT_T0_EESE_"); ++asm (".hidden _ZN9__gnu_cxxeqIPwNSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEEEEEbRKNS_17__normal_iteratorIT_T0_EESD_"); ++asm (".hidden _ZNSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEE17_M_use_local_dataEv"); ++asm (".hidden _ZNSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEE11_S_allocateERS3_m"); +diff --git a/libstdc++-v3/src/nonshared11/wstring-inst110.cc b/libstdc++-v3/src/nonshared11/wstring-inst110.cc +new file mode 100644 +index 000000000..8c2797167 +--- /dev/null ++++ b/libstdc++-v3/src/nonshared11/wstring-inst110.cc +@@ -0,0 +1,26 @@ ++// Components for manipulating sequences of characters -*- C++ -*- ++ ++// Copyright (C) 1997-2023 Free Software Foundation, Inc. ++// ++// This file is part of the GNU ISO C++ Library. This library is free ++// software; you can redistribute it and/or modify it under the ++// terms of the GNU General Public License as published by the ++// Free Software Foundation; either version 3, or (at your option) ++// any later version. ++ ++// This library is distributed in the hope that it will be useful, ++// but WITHOUT ANY WARRANTY; without even the implied warranty of ++// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the ++// GNU General Public License for more details. ++ ++// Under Section 7 of GPL version 3, you are granted additional ++// permissions described in the GCC Runtime Library Exception, version ++// 3.1, as published by the Free Software Foundation. ++ ++// You should have received a copy of the GNU General Public License and ++// a copy of the GCC Runtime Library Exception along with this program; ++// see the files COPYING3 and COPYING.RUNTIME respectively. If not, see ++// . ++ ++#define _GLIBCXX_NONSHARED_CXX11_110 ++#include "wstring-inst80.cc" +diff --git a/libstdc++-v3/src/nonshared11/wstring-inst80.cc b/libstdc++-v3/src/nonshared11/wstring-inst80.cc +new file mode 100644 +index 000000000..163259625 +--- /dev/null ++++ b/libstdc++-v3/src/nonshared11/wstring-inst80.cc +@@ -0,0 +1,29 @@ ++// Copyright (C) 1999-2023 Free Software Foundation, Inc. ++// ++// This file is part of the GNU ISO C++ Library. This library is free ++// software; you can redistribute it and/or modify it under the ++// terms of the GNU General Public License as published by the ++// Free Software Foundation; either version 3, or (at your option) ++// any later version. ++ ++// This library is distributed in the hope that it will be useful, ++// but WITHOUT ANY WARRANTY; without even the implied warranty of ++// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the ++// GNU General Public License for more details. ++ ++// Under Section 7 of GPL version 3, you are granted additional ++// permissions described in the GCC Runtime Library Exception, version ++// 3.1, as published by the Free Software Foundation. ++ ++// You should have received a copy of the GNU General Public License and ++// a copy of the GCC Runtime Library Exception along with this program; ++// see the files COPYING3 and COPYING.RUNTIME respectively. If not, see ++// . ++ ++#define _GLIBCXX_USE_CXX11_ABI 1 ++#include ++ ++#ifdef _GLIBCXX_USE_WCHAR_T ++#define C wchar_t ++#include "string-inst80.cc" ++#endif +diff --git a/libstdc++-v3/src/nonshared11/wstring-io-inst.cc b/libstdc++-v3/src/nonshared11/wstring-io-inst.cc +new file mode 100644 +index 000000000..75b666dbd +--- /dev/null ++++ b/libstdc++-v3/src/nonshared11/wstring-io-inst.cc +@@ -0,0 +1,35 @@ ++// SSO string instantiations for I/O -*- C++ -*- ++ ++// Copyright (C) 2014-2023 Free Software Foundation, Inc. ++// ++// This file is part of the GNU ISO C++ Library. This library is free ++// software; you can redistribute it and/or modify it under the ++// terms of the GNU General Public License as published by the ++// Free Software Foundation; either version 3, or (at your option) ++// any later version. ++ ++// This library is distributed in the hope that it will be useful, ++// but WITHOUT ANY WARRANTY; without even the implied warranty of ++// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the ++// GNU General Public License for more details. ++ ++// Under Section 7 of GPL version 3, you are granted additional ++// permissions described in the GCC Runtime Library Exception, version ++// 3.1, as published by the Free Software Foundation. ++ ++// You should have received a copy of the GNU General Public License and ++// a copy of the GCC Runtime Library Exception along with this program; ++// see the files COPYING3 and COPYING.RUNTIME respectively. If not, see ++// . ++ ++// ++// ISO C++ 14882: 21 Strings library ++// ++ ++#define _GLIBCXX_USE_CXX11_ABI 1 ++#include ++ ++#ifdef _GLIBCXX_USE_WCHAR_T ++#define C wchar_t ++#include "string-io-inst.cc" ++#endif +diff --git a/libstdc++-v3/src/nonshared17/Makefile.am b/libstdc++-v3/src/nonshared17/Makefile.am +new file mode 100644 +index 000000000..1638f60d4 +--- /dev/null ++++ b/libstdc++-v3/src/nonshared17/Makefile.am +@@ -0,0 +1,148 @@ ++## Makefile for the C++17 sources of the GNU C++ Standard library. ++## ++## Copyright (C) 1997-2023 Free Software Foundation, Inc. ++## ++## This file is part of the libstdc++ version 3 distribution. ++## Process this file with automake to produce Makefile.in. ++ ++## This file is part of the GNU ISO C++ Library. This library is free ++## software; you can redistribute it and/or modify it under the ++## terms of the GNU General Public License as published by the ++## Free Software Foundation; either version 3, or (at your option) ++## any later version. ++ ++## This library is distributed in the hope that it will be useful, ++## but WITHOUT ANY WARRANTY; without even the implied warranty of ++## MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the ++## GNU General Public License for more details. ++ ++## You should have received a copy of the GNU General Public License along ++## with this library; see the file COPYING3. If not see ++## . ++ ++include $(top_srcdir)/fragment.am ++ ++# Convenience library for C++17 runtime. ++noinst_LTLIBRARIES = libnonshared17convenience48.la \ ++ libnonshared17convenience80.la \ ++ libnonshared17convenience110.la ++ ++headers = ++ ++if ENABLE_DUAL_ABI ++extra_string_inst_sources = cow-string-inst.cc ++extra_string_inst_sources110 = cow-string-inst110.cc ++extra_fs_sources = \ ++ cow-fs_dir.cc \ ++ cow-fs_ops.cc \ ++ cow-fs_path.cc ++extra_fs_sources110 = \ ++ cow-fs_dir110.cc ++else ++extra_string_inst_sources = ++extra_string_inst_sources110 = ++extra_fs_sources = ++extra_fs_sources110 = ++endif ++ ++if ENABLE_EXTERN_TEMPLATE ++# XTEMPLATE_FLAGS = -fno-implicit-templates ++inst_sources = \ ++ ostream-inst.cc \ ++ string-inst.cc \ ++ $(extra_string_inst_sources) ++inst_sources110 = \ ++ ostream-inst110.cc \ ++ string-inst110.cc \ ++ $(extra_string_inst_sources110) ++else ++# XTEMPLATE_FLAGS = ++inst_sources = ++inst_sources110 = ++endif ++ ++sources = \ ++ floating_from_chars.cc \ ++ floating_to_chars.cc \ ++ fs_dir.cc \ ++ memory_resource.cc \ ++ $(extra_fs_sources) ++sources48 = \ ++ fs_path.cc \ ++ fs_ops.cc ++sources80 = \ ++ fs_path80.cc \ ++ fs_ops80.cc ++sources110 = \ ++ fs_dir110.cc \ ++ floating_from_chars110.cc \ ++ floating_to_chars110.cc \ ++ $(extra_fs_sources110) ++ ++vpath % $(top_srcdir)/src/nonshared17 ++ ++libnonshared17convenience48_la_SOURCES = $(sources) $(sources48) $(inst_sources) ++libnonshared17convenience80_la_SOURCES = $(sources) $(sources80) $(inst_sources) ++libnonshared17convenience110_la_SOURCES = $(sources110) $(inst_sources110) ++ ++# AM_CXXFLAGS needs to be in each subdirectory so that it can be ++# modified in a per-library or per-sub-library way. Need to manually ++# set this option because CONFIG_CXXFLAGS has to be after ++# OPTIMIZE_CXXFLAGS on the compile line so that -O2 can be overridden ++# as the occasion calls for it. ++AM_CXXFLAGS = \ ++ -std=gnu++17 \ ++ $(glibcxx_lt_pic_flag) $(glibcxx_compiler_shared_flag) \ ++ $(XTEMPLATE_FLAGS) $(VTV_CXXFLAGS) \ ++ $(WARN_CXXFLAGS) $(OPTIMIZE_CXXFLAGS) $(CONFIG_CXXFLAGS) \ ++ -fimplicit-templates ++ ++AM_MAKEFLAGS = \ ++ "gxx_include_dir=$(gxx_include_dir)" ++ ++# Libtool notes ++ ++# 1) In general, libtool expects an argument such as `--tag=CXX' when ++# using the C++ compiler, because that will enable the settings ++# detected when C++ support was being configured. However, when no ++# such flag is given in the command line, libtool attempts to figure ++# it out by matching the compiler name in each configuration section ++# against a prefix of the command line. The problem is that, if the ++# compiler name and its initial flags stored in the libtool ++# configuration file don't match those in the command line, libtool ++# can't decide which configuration to use, and it gives up. The ++# correct solution is to add `--tag CXX' to LTCXXCOMPILE and maybe ++# CXXLINK, just after $(LIBTOOL), so that libtool doesn't have to ++# attempt to infer which configuration to use. ++# ++# The second tag argument, `--tag disable-shared` means that libtool ++# only compiles each source once, for static objects. In actuality, ++# glibcxx_lt_pic_flag and glibcxx_compiler_shared_flag are added to ++# the libtool command that is used create the object, which is ++# suitable for shared libraries. The `--tag disable-shared` must be ++# placed after --tag CXX lest things CXX undo the affect of ++# disable-shared. ++ ++# 2) Need to explicitly set LTCXXCOMPILE so that EXTRA_CXX_FLAGS is ++# last. (That way, things like -O2 passed down from the toplevel can ++# be overridden by --enable-debug.) ++LTCXXCOMPILE = \ ++ $(LIBTOOL) --tag CXX --tag disable-shared \ ++ $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) \ ++ --mode=compile $(CXX) $(TOPLEVEL_INCLUDES) \ ++ $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) $(EXTRA_CXX_FLAGS) ++ ++LTLDFLAGS = $(shell $(SHELL) $(top_srcdir)/../libtool-ldflags $(LDFLAGS)) ++ ++# 3) We'd have a problem when building the shared libstdc++ object if ++# the rules automake generates would be used. We cannot allow g++ to ++# be used since this would add -lstdc++ to the link line which of ++# course is problematic at this point. So, we get the top-level ++# directory to configure libstdc++-v3 to use gcc as the C++ ++# compilation driver. ++CXXLINK = \ ++ $(LIBTOOL) --tag CXX --tag disable-shared \ ++ $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) \ ++ --mode=link $(CXX) \ ++ $(VTV_CXXLINKFLAGS) \ ++ $(OPT_LDFLAGS) $(SECTION_LDFLAGS) $(AM_CXXFLAGS) $(LTLDFLAGS) -o $@ +diff --git a/libstdc++-v3/src/nonshared17/Makefile.in b/libstdc++-v3/src/nonshared17/Makefile.in +new file mode 100644 +index 000000000..1cf4e8d20 +--- /dev/null ++++ b/libstdc++-v3/src/nonshared17/Makefile.in +@@ -0,0 +1,830 @@ ++# Makefile.in generated by automake 1.15.1 from Makefile.am. ++# @configure_input@ ++ ++# Copyright (C) 1994-2017 Free Software Foundation, Inc. ++ ++# This Makefile.in is free software; the Free Software Foundation ++# gives unlimited permission to copy and/or distribute it, ++# with or without modifications, as long as this notice is preserved. ++ ++# This program is distributed in the hope that it will be useful, ++# but WITHOUT ANY WARRANTY, to the extent permitted by law; without ++# even the implied warranty of MERCHANTABILITY or FITNESS FOR A ++# PARTICULAR PURPOSE. ++ ++@SET_MAKE@ ++ ++VPATH = @srcdir@ ++am__is_gnu_make = { \ ++ if test -z '$(MAKELEVEL)'; then \ ++ false; \ ++ elif test -n '$(MAKE_HOST)'; then \ ++ true; \ ++ elif test -n '$(MAKE_VERSION)' && test -n '$(CURDIR)'; then \ ++ true; \ ++ else \ ++ false; \ ++ fi; \ ++} ++am__make_running_with_option = \ ++ case $${target_option-} in \ ++ ?) ;; \ ++ *) echo "am__make_running_with_option: internal error: invalid" \ ++ "target option '$${target_option-}' specified" >&2; \ ++ exit 1;; \ ++ esac; \ ++ has_opt=no; \ ++ sane_makeflags=$$MAKEFLAGS; \ ++ if $(am__is_gnu_make); then \ ++ sane_makeflags=$$MFLAGS; \ ++ else \ ++ case $$MAKEFLAGS in \ ++ *\\[\ \ ]*) \ ++ bs=\\; \ ++ sane_makeflags=`printf '%s\n' "$$MAKEFLAGS" \ ++ | sed "s/$$bs$$bs[$$bs $$bs ]*//g"`;; \ ++ esac; \ ++ fi; \ ++ skip_next=no; \ ++ strip_trailopt () \ ++ { \ ++ flg=`printf '%s\n' "$$flg" | sed "s/$$1.*$$//"`; \ ++ }; \ ++ for flg in $$sane_makeflags; do \ ++ test $$skip_next = yes && { skip_next=no; continue; }; \ ++ case $$flg in \ ++ *=*|--*) continue;; \ ++ -*I) strip_trailopt 'I'; skip_next=yes;; \ ++ -*I?*) strip_trailopt 'I';; \ ++ -*O) strip_trailopt 'O'; skip_next=yes;; \ ++ -*O?*) strip_trailopt 'O';; \ ++ -*l) strip_trailopt 'l'; skip_next=yes;; \ ++ -*l?*) strip_trailopt 'l';; \ ++ -[dEDm]) skip_next=yes;; \ ++ -[JT]) skip_next=yes;; \ ++ esac; \ ++ case $$flg in \ ++ *$$target_option*) has_opt=yes; break;; \ ++ esac; \ ++ done; \ ++ test $$has_opt = yes ++am__make_dryrun = (target_option=n; $(am__make_running_with_option)) ++am__make_keepgoing = (target_option=k; $(am__make_running_with_option)) ++pkgdatadir = $(datadir)/@PACKAGE@ ++pkgincludedir = $(includedir)/@PACKAGE@ ++pkglibdir = $(libdir)/@PACKAGE@ ++pkglibexecdir = $(libexecdir)/@PACKAGE@ ++am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd ++install_sh_DATA = $(install_sh) -c -m 644 ++install_sh_PROGRAM = $(install_sh) -c ++install_sh_SCRIPT = $(install_sh) -c ++INSTALL_HEADER = $(INSTALL_DATA) ++transform = $(program_transform_name) ++NORMAL_INSTALL = : ++PRE_INSTALL = : ++POST_INSTALL = : ++NORMAL_UNINSTALL = : ++PRE_UNINSTALL = : ++POST_UNINSTALL = : ++build_triplet = @build@ ++host_triplet = @host@ ++target_triplet = @target@ ++subdir = src/nonshared17 ++ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 ++am__aclocal_m4_deps = $(top_srcdir)/../config/acx.m4 \ ++ $(top_srcdir)/../config/enable.m4 \ ++ $(top_srcdir)/../config/futex.m4 \ ++ $(top_srcdir)/../config/hwcaps.m4 \ ++ $(top_srcdir)/../config/iconv.m4 \ ++ $(top_srcdir)/../config/lead-dot.m4 \ ++ $(top_srcdir)/../config/lib-ld.m4 \ ++ $(top_srcdir)/../config/lib-link.m4 \ ++ $(top_srcdir)/../config/lib-prefix.m4 \ ++ $(top_srcdir)/../config/lthostflags.m4 \ ++ $(top_srcdir)/../config/multi.m4 \ ++ $(top_srcdir)/../config/no-executables.m4 \ ++ $(top_srcdir)/../config/override.m4 \ ++ $(top_srcdir)/../config/toolexeclibdir.m4 \ ++ $(top_srcdir)/../config/unwind_ipinfo.m4 \ ++ $(top_srcdir)/../libtool.m4 $(top_srcdir)/../ltoptions.m4 \ ++ $(top_srcdir)/../ltsugar.m4 $(top_srcdir)/../ltversion.m4 \ ++ $(top_srcdir)/../lt~obsolete.m4 $(top_srcdir)/crossconfig.m4 \ ++ $(top_srcdir)/linkage.m4 $(top_srcdir)/acinclude.m4 \ ++ $(top_srcdir)/../config/gc++filt.m4 \ ++ $(top_srcdir)/../config/tls.m4 $(top_srcdir)/../config/gthr.m4 \ ++ $(top_srcdir)/../config/cet.m4 $(top_srcdir)/configure.ac ++am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \ ++ $(ACLOCAL_M4) ++DIST_COMMON = $(srcdir)/Makefile.am ++CONFIG_HEADER = $(top_builddir)/config.h ++CONFIG_CLEAN_FILES = ++CONFIG_CLEAN_VPATH_FILES = ++LTLIBRARIES = $(noinst_LTLIBRARIES) ++libnonshared17convenience110_la_LIBADD = ++@ENABLE_DUAL_ABI_TRUE@am__objects_1 = cow-fs_dir110.lo ++am__objects_2 = fs_dir110.lo floating_from_chars110.lo \ ++ floating_to_chars110.lo $(am__objects_1) ++@ENABLE_DUAL_ABI_TRUE@am__objects_3 = cow-string-inst110.lo ++@ENABLE_EXTERN_TEMPLATE_TRUE@am__objects_4 = ostream-inst110.lo \ ++@ENABLE_EXTERN_TEMPLATE_TRUE@ string-inst110.lo \ ++@ENABLE_EXTERN_TEMPLATE_TRUE@ $(am__objects_3) ++am_libnonshared17convenience110_la_OBJECTS = $(am__objects_2) \ ++ $(am__objects_4) ++libnonshared17convenience110_la_OBJECTS = \ ++ $(am_libnonshared17convenience110_la_OBJECTS) ++AM_V_lt = $(am__v_lt_@AM_V@) ++am__v_lt_ = $(am__v_lt_@AM_DEFAULT_V@) ++am__v_lt_0 = --silent ++am__v_lt_1 = ++libnonshared17convenience48_la_LIBADD = ++@ENABLE_DUAL_ABI_TRUE@am__objects_5 = cow-fs_dir.lo cow-fs_ops.lo \ ++@ENABLE_DUAL_ABI_TRUE@ cow-fs_path.lo ++am__objects_6 = floating_from_chars.lo floating_to_chars.lo fs_dir.lo \ ++ memory_resource.lo $(am__objects_5) ++am__objects_7 = fs_path.lo fs_ops.lo ++@ENABLE_DUAL_ABI_TRUE@am__objects_8 = cow-string-inst.lo ++@ENABLE_EXTERN_TEMPLATE_TRUE@am__objects_9 = ostream-inst.lo \ ++@ENABLE_EXTERN_TEMPLATE_TRUE@ string-inst.lo $(am__objects_8) ++am_libnonshared17convenience48_la_OBJECTS = $(am__objects_6) \ ++ $(am__objects_7) $(am__objects_9) ++libnonshared17convenience48_la_OBJECTS = \ ++ $(am_libnonshared17convenience48_la_OBJECTS) ++libnonshared17convenience80_la_LIBADD = ++am__objects_10 = fs_path80.lo fs_ops80.lo ++am_libnonshared17convenience80_la_OBJECTS = $(am__objects_6) \ ++ $(am__objects_10) $(am__objects_9) ++libnonshared17convenience80_la_OBJECTS = \ ++ $(am_libnonshared17convenience80_la_OBJECTS) ++AM_V_P = $(am__v_P_@AM_V@) ++am__v_P_ = $(am__v_P_@AM_DEFAULT_V@) ++am__v_P_0 = false ++am__v_P_1 = : ++AM_V_GEN = $(am__v_GEN_@AM_V@) ++am__v_GEN_ = $(am__v_GEN_@AM_DEFAULT_V@) ++am__v_GEN_0 = @echo " GEN " $@; ++am__v_GEN_1 = ++AM_V_at = $(am__v_at_@AM_V@) ++am__v_at_ = $(am__v_at_@AM_DEFAULT_V@) ++am__v_at_0 = @ ++am__v_at_1 = ++DEFAULT_INCLUDES = -I.@am__isrc@ -I$(top_builddir) ++depcomp = ++am__depfiles_maybe = ++CXXCOMPILE = $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) \ ++ $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) ++AM_V_CXX = $(am__v_CXX_@AM_V@) ++am__v_CXX_ = $(am__v_CXX_@AM_DEFAULT_V@) ++am__v_CXX_0 = @echo " CXX " $@; ++am__v_CXX_1 = ++CXXLD = $(CXX) ++AM_V_CXXLD = $(am__v_CXXLD_@AM_V@) ++am__v_CXXLD_ = $(am__v_CXXLD_@AM_DEFAULT_V@) ++am__v_CXXLD_0 = @echo " CXXLD " $@; ++am__v_CXXLD_1 = ++SOURCES = $(libnonshared17convenience110_la_SOURCES) \ ++ $(libnonshared17convenience48_la_SOURCES) \ ++ $(libnonshared17convenience80_la_SOURCES) ++am__can_run_installinfo = \ ++ case $$AM_UPDATE_INFO_DIR in \ ++ n|no|NO) false;; \ ++ *) (install-info --version) >/dev/null 2>&1;; \ ++ esac ++am__tagged_files = $(HEADERS) $(SOURCES) $(TAGS_FILES) $(LISP) ++# Read a list of newline-separated strings from the standard input, ++# and print each of them once, without duplicates. Input order is ++# *not* preserved. ++am__uniquify_input = $(AWK) '\ ++ BEGIN { nonempty = 0; } \ ++ { items[$$0] = 1; nonempty = 1; } \ ++ END { if (nonempty) { for (i in items) print i; }; } \ ++' ++# Make sure the list of sources is unique. This is necessary because, ++# e.g., the same source file might be shared among _SOURCES variables ++# for different programs/libraries. ++am__define_uniq_tagged_files = \ ++ list='$(am__tagged_files)'; \ ++ unique=`for i in $$list; do \ ++ if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ ++ done | $(am__uniquify_input)` ++ETAGS = etags ++CTAGS = ctags ++ABI_TWEAKS_SRCDIR = @ABI_TWEAKS_SRCDIR@ ++ACLOCAL = @ACLOCAL@ ++ALLOCATOR_H = @ALLOCATOR_H@ ++ALLOCATOR_NAME = @ALLOCATOR_NAME@ ++ALLOC_FILE = @ALLOC_FILE@ ++AMTAR = @AMTAR@ ++AM_DEFAULT_VERBOSITY = @AM_DEFAULT_VERBOSITY@ ++AR = @AR@ ++AS = @AS@ ++ATOMICITY_SRCDIR = @ATOMICITY_SRCDIR@ ++ATOMIC_FLAGS = @ATOMIC_FLAGS@ ++ATOMIC_WORD_SRCDIR = @ATOMIC_WORD_SRCDIR@ ++AUTOCONF = @AUTOCONF@ ++AUTOHEADER = @AUTOHEADER@ ++AUTOMAKE = @AUTOMAKE@ ++AWK = @AWK@ ++BACKTRACE_CPPFLAGS = @BACKTRACE_CPPFLAGS@ ++BACKTRACE_SUPPORTED = @BACKTRACE_SUPPORTED@ ++BACKTRACE_SUPPORTS_THREADS = @BACKTRACE_SUPPORTS_THREADS@ ++BACKTRACE_USES_MALLOC = @BACKTRACE_USES_MALLOC@ ++BASIC_FILE_CC = @BASIC_FILE_CC@ ++BASIC_FILE_H = @BASIC_FILE_H@ ++CC = @CC@ ++CCAS = @CCAS@ ++CCASFLAGS = @CCASFLAGS@ ++CCODECVT_CC = @CCODECVT_CC@ ++CCOLLATE_CC = @CCOLLATE_CC@ ++CCTYPE_CC = @CCTYPE_CC@ ++CFLAGS = @CFLAGS@ ++CLOCALE_CC = @CLOCALE_CC@ ++CLOCALE_H = @CLOCALE_H@ ++CLOCALE_INTERNAL_H = @CLOCALE_INTERNAL_H@ ++CMESSAGES_CC = @CMESSAGES_CC@ ++CMESSAGES_H = @CMESSAGES_H@ ++CMONEY_CC = @CMONEY_CC@ ++CNUMERIC_CC = @CNUMERIC_CC@ ++CPP = @CPP@ ++CPPFLAGS = @CPPFLAGS@ ++CPU_DEFINES_SRCDIR = @CPU_DEFINES_SRCDIR@ ++CPU_OPT_BITS_RANDOM = @CPU_OPT_BITS_RANDOM@ ++CPU_OPT_EXT_RANDOM = @CPU_OPT_EXT_RANDOM@ ++CSTDIO_H = @CSTDIO_H@ ++CTIME_CC = @CTIME_CC@ ++CTIME_H = @CTIME_H@ ++CXX = @CXX@ ++CXXCPP = @CXXCPP@ ++CXXFILT = @CXXFILT@ ++CXXFLAGS = @CXXFLAGS@ ++CYGPATH_W = @CYGPATH_W@ ++C_INCLUDE_DIR = @C_INCLUDE_DIR@ ++DBLATEX = @DBLATEX@ ++DEBUG_FLAGS = @DEBUG_FLAGS@ ++DEFS = @DEFS@ ++DOT = @DOT@ ++DOXYGEN = @DOXYGEN@ ++DSYMUTIL = @DSYMUTIL@ ++DUMPBIN = @DUMPBIN@ ++ECHO_C = @ECHO_C@ ++ECHO_N = @ECHO_N@ ++ECHO_T = @ECHO_T@ ++EGREP = @EGREP@ ++EH_POOL_FLAGS = @EH_POOL_FLAGS@ ++ERROR_CONSTANTS_SRCDIR = @ERROR_CONSTANTS_SRCDIR@ ++EXEEXT = @EXEEXT@ ++EXTRA_CFLAGS = @EXTRA_CFLAGS@ ++EXTRA_CXX_FLAGS = @EXTRA_CXX_FLAGS@ ++FGREP = @FGREP@ ++FORMAT_FILE = @FORMAT_FILE@ ++FREESTANDING_FLAGS = @FREESTANDING_FLAGS@ ++GLIBCXX_INCLUDES = @GLIBCXX_INCLUDES@ ++GLIBCXX_LIBS = @GLIBCXX_LIBS@ ++GREP = @GREP@ ++HWCAP_CFLAGS = @HWCAP_CFLAGS@ ++INSTALL = @INSTALL@ ++INSTALL_DATA = @INSTALL_DATA@ ++INSTALL_PROGRAM = @INSTALL_PROGRAM@ ++INSTALL_SCRIPT = @INSTALL_SCRIPT@ ++INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@ ++LD = @LD@ ++LDFLAGS = @LDFLAGS@ ++LIBICONV = @LIBICONV@ ++LIBOBJS = @LIBOBJS@ ++LIBS = @LIBS@ ++LIBTOOL = @LIBTOOL@ ++LIPO = @LIPO@ ++LN_S = @LN_S@ ++LONG_DOUBLE_128_FLAGS = @LONG_DOUBLE_128_FLAGS@ ++LONG_DOUBLE_ALT128_COMPAT_FLAGS = @LONG_DOUBLE_ALT128_COMPAT_FLAGS@ ++LONG_DOUBLE_COMPAT_FLAGS = @LONG_DOUBLE_COMPAT_FLAGS@ ++LTLIBICONV = @LTLIBICONV@ ++LTLIBOBJS = @LTLIBOBJS@ ++MAINT = @MAINT@ ++MAKEINFO = @MAKEINFO@ ++MKDIR_P = @MKDIR_P@ ++NM = @NM@ ++NMEDIT = @NMEDIT@ ++OBJDUMP = @OBJDUMP@ ++OBJEXT = @OBJEXT@ ++OPTIMIZE_CXXFLAGS = @OPTIMIZE_CXXFLAGS@ ++OPT_LDFLAGS = @OPT_LDFLAGS@ ++OS_INC_SRCDIR = @OS_INC_SRCDIR@ ++OTOOL = @OTOOL@ ++OTOOL64 = @OTOOL64@ ++PACKAGE = @PACKAGE@ ++PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@ ++PACKAGE_NAME = @PACKAGE_NAME@ ++PACKAGE_STRING = @PACKAGE_STRING@ ++PACKAGE_TARNAME = @PACKAGE_TARNAME@ ++PACKAGE_URL = @PACKAGE_URL@ ++PACKAGE_VERSION = @PACKAGE_VERSION@ ++PATH_SEPARATOR = @PATH_SEPARATOR@ ++PDFLATEX = @PDFLATEX@ ++RANLIB = @RANLIB@ ++SECTION_FLAGS = @SECTION_FLAGS@ ++SECTION_LDFLAGS = @SECTION_LDFLAGS@ ++SED = @SED@ ++SET_MAKE = @SET_MAKE@ ++SHELL = @SHELL@ ++STRIP = @STRIP@ ++SYMVER_FILE = @SYMVER_FILE@ ++TOPLEVEL_INCLUDES = @TOPLEVEL_INCLUDES@ ++USE_NLS = @USE_NLS@ ++VERSION = @VERSION@ ++VIEW_FILE = @VIEW_FILE@ ++VTV_CXXFLAGS = @VTV_CXXFLAGS@ ++VTV_CXXLINKFLAGS = @VTV_CXXLINKFLAGS@ ++VTV_PCH_CXXFLAGS = @VTV_PCH_CXXFLAGS@ ++WARN_FLAGS = @WARN_FLAGS@ ++XMLCATALOG = @XMLCATALOG@ ++XMLLINT = @XMLLINT@ ++XSLTPROC = @XSLTPROC@ ++XSL_STYLE_DIR = @XSL_STYLE_DIR@ ++abs_builddir = @abs_builddir@ ++abs_srcdir = @abs_srcdir@ ++abs_top_builddir = @abs_top_builddir@ ++abs_top_srcdir = @abs_top_srcdir@ ++ac_ct_CC = @ac_ct_CC@ ++ac_ct_CXX = @ac_ct_CXX@ ++ac_ct_DUMPBIN = @ac_ct_DUMPBIN@ ++am__leading_dot = @am__leading_dot@ ++am__tar = @am__tar@ ++am__untar = @am__untar@ ++baseline_dir = @baseline_dir@ ++baseline_subdir_switch = @baseline_subdir_switch@ ++bindir = @bindir@ ++build = @build@ ++build_alias = @build_alias@ ++build_cpu = @build_cpu@ ++build_os = @build_os@ ++build_vendor = @build_vendor@ ++builddir = @builddir@ ++check_msgfmt = @check_msgfmt@ ++datadir = @datadir@ ++datarootdir = @datarootdir@ ++docdir = @docdir@ ++dvidir = @dvidir@ ++enable_shared = @enable_shared@ ++enable_static = @enable_static@ ++exec_prefix = @exec_prefix@ ++get_gcc_base_ver = @get_gcc_base_ver@ ++glibcxx_MOFILES = @glibcxx_MOFILES@ ++glibcxx_PCHFLAGS = @glibcxx_PCHFLAGS@ ++glibcxx_POFILES = @glibcxx_POFILES@ ++glibcxx_builddir = @glibcxx_builddir@ ++glibcxx_compiler_pic_flag = @glibcxx_compiler_pic_flag@ ++glibcxx_compiler_shared_flag = @glibcxx_compiler_shared_flag@ ++glibcxx_cxx98_abi = @glibcxx_cxx98_abi@ ++glibcxx_localedir = @glibcxx_localedir@ ++glibcxx_lt_pic_flag = @glibcxx_lt_pic_flag@ ++glibcxx_prefixdir = @glibcxx_prefixdir@ ++glibcxx_srcdir = @glibcxx_srcdir@ ++glibcxx_toolexecdir = @glibcxx_toolexecdir@ ++glibcxx_toolexeclibdir = @glibcxx_toolexeclibdir@ ++gxx_include_dir = @gxx_include_dir@ ++host = @host@ ++host_alias = @host_alias@ ++host_cpu = @host_cpu@ ++host_os = @host_os@ ++host_vendor = @host_vendor@ ++htmldir = @htmldir@ ++includedir = @includedir@ ++infodir = @infodir@ ++install_sh = @install_sh@ ++libdir = @libdir@ ++libexecdir = @libexecdir@ ++libtool_VERSION = @libtool_VERSION@ ++localedir = @localedir@ ++localstatedir = @localstatedir@ ++lt_host_flags = @lt_host_flags@ ++mandir = @mandir@ ++mkdir_p = @mkdir_p@ ++multi_basedir = @multi_basedir@ ++oldincludedir = @oldincludedir@ ++pdfdir = @pdfdir@ ++port_specific_symbol_files = @port_specific_symbol_files@ ++prefix = @prefix@ ++program_transform_name = @program_transform_name@ ++psdir = @psdir@ ++python_mod_dir = @python_mod_dir@ ++sbindir = @sbindir@ ++sharedstatedir = @sharedstatedir@ ++srcdir = @srcdir@ ++sysconfdir = @sysconfdir@ ++target = @target@ ++target_alias = @target_alias@ ++target_cpu = @target_cpu@ ++target_os = @target_os@ ++target_vendor = @target_vendor@ ++thread_header = @thread_header@ ++tmake_file = @tmake_file@ ++top_build_prefix = @top_build_prefix@ ++top_builddir = @top_builddir@ ++top_srcdir = @top_srcdir@ ++toplevel_builddir = @toplevel_builddir@ ++toplevel_srcdir = @toplevel_srcdir@ ++ ++# May be used by various substitution variables. ++gcc_version := $(shell @get_gcc_base_ver@ $(top_srcdir)/../gcc/BASE-VER) ++MAINT_CHARSET = latin1 ++mkinstalldirs = $(SHELL) $(toplevel_srcdir)/mkinstalldirs ++PWD_COMMAND = $${PWDCMD-pwd} ++STAMP = echo timestamp > ++toolexecdir = $(glibcxx_toolexecdir) ++toolexeclibdir = $(glibcxx_toolexeclibdir) ++@ENABLE_WERROR_FALSE@WERROR_FLAG = ++@ENABLE_WERROR_TRUE@WERROR_FLAG = -Werror ++@ENABLE_EXTERN_TEMPLATE_FALSE@XTEMPLATE_FLAGS = ++@ENABLE_EXTERN_TEMPLATE_TRUE@XTEMPLATE_FLAGS = -fno-implicit-templates ++@GLIBCXX_LDBL_ALT128_COMPAT_FALSE@LDBL_128_FLAGS = ++@GLIBCXX_LDBL_ALT128_COMPAT_TRUE@LDBL_128_FLAGS = $(LONG_DOUBLE_128_FLAGS) ++ ++# These bits are all figured out from configure. Look in acinclude.m4 ++# or configure.ac to see how they are set. See GLIBCXX_EXPORT_FLAGS. ++CONFIG_CXXFLAGS = \ ++ $(SECTION_FLAGS) $(HWCAP_CFLAGS) -frandom-seed=$@ $(LDBL_128_FLAGS) ++ ++WARN_CXXFLAGS = \ ++ $(WARN_FLAGS) $(WERROR_FLAG) -fdiagnostics-show-location=once ++ ++ ++# -I/-D flags to pass when compiling. ++AM_CPPFLAGS = $(GLIBCXX_INCLUDES) $(CPPFLAGS) ++ ++# Convenience library for C++17 runtime. ++noinst_LTLIBRARIES = libnonshared17convenience48.la \ ++ libnonshared17convenience80.la \ ++ libnonshared17convenience110.la ++ ++headers = ++@ENABLE_DUAL_ABI_FALSE@extra_string_inst_sources = ++@ENABLE_DUAL_ABI_TRUE@extra_string_inst_sources = cow-string-inst.cc ++@ENABLE_DUAL_ABI_FALSE@extra_string_inst_sources110 = ++@ENABLE_DUAL_ABI_TRUE@extra_string_inst_sources110 = cow-string-inst110.cc ++@ENABLE_DUAL_ABI_FALSE@extra_fs_sources = ++@ENABLE_DUAL_ABI_TRUE@extra_fs_sources = \ ++@ENABLE_DUAL_ABI_TRUE@ cow-fs_dir.cc \ ++@ENABLE_DUAL_ABI_TRUE@ cow-fs_ops.cc \ ++@ENABLE_DUAL_ABI_TRUE@ cow-fs_path.cc ++ ++@ENABLE_DUAL_ABI_FALSE@extra_fs_sources110 = ++@ENABLE_DUAL_ABI_TRUE@extra_fs_sources110 = \ ++@ENABLE_DUAL_ABI_TRUE@ cow-fs_dir110.cc ++ ++# XTEMPLATE_FLAGS = ++@ENABLE_EXTERN_TEMPLATE_FALSE@inst_sources = ++ ++# XTEMPLATE_FLAGS = -fno-implicit-templates ++@ENABLE_EXTERN_TEMPLATE_TRUE@inst_sources = \ ++@ENABLE_EXTERN_TEMPLATE_TRUE@ ostream-inst.cc \ ++@ENABLE_EXTERN_TEMPLATE_TRUE@ string-inst.cc \ ++@ENABLE_EXTERN_TEMPLATE_TRUE@ $(extra_string_inst_sources) ++ ++@ENABLE_EXTERN_TEMPLATE_FALSE@inst_sources110 = ++@ENABLE_EXTERN_TEMPLATE_TRUE@inst_sources110 = \ ++@ENABLE_EXTERN_TEMPLATE_TRUE@ ostream-inst110.cc \ ++@ENABLE_EXTERN_TEMPLATE_TRUE@ string-inst110.cc \ ++@ENABLE_EXTERN_TEMPLATE_TRUE@ $(extra_string_inst_sources110) ++ ++sources = \ ++ floating_from_chars.cc \ ++ floating_to_chars.cc \ ++ fs_dir.cc \ ++ memory_resource.cc \ ++ $(extra_fs_sources) ++ ++sources48 = \ ++ fs_path.cc \ ++ fs_ops.cc ++ ++sources80 = \ ++ fs_path80.cc \ ++ fs_ops80.cc ++ ++sources110 = \ ++ fs_dir110.cc \ ++ floating_from_chars110.cc \ ++ floating_to_chars110.cc \ ++ $(extra_fs_sources110) ++ ++libnonshared17convenience48_la_SOURCES = $(sources) $(sources48) $(inst_sources) ++libnonshared17convenience80_la_SOURCES = $(sources) $(sources80) $(inst_sources) ++libnonshared17convenience110_la_SOURCES = $(sources110) $(inst_sources110) ++ ++# AM_CXXFLAGS needs to be in each subdirectory so that it can be ++# modified in a per-library or per-sub-library way. Need to manually ++# set this option because CONFIG_CXXFLAGS has to be after ++# OPTIMIZE_CXXFLAGS on the compile line so that -O2 can be overridden ++# as the occasion calls for it. ++AM_CXXFLAGS = \ ++ -std=gnu++17 \ ++ $(glibcxx_lt_pic_flag) $(glibcxx_compiler_shared_flag) \ ++ $(XTEMPLATE_FLAGS) $(VTV_CXXFLAGS) \ ++ $(WARN_CXXFLAGS) $(OPTIMIZE_CXXFLAGS) $(CONFIG_CXXFLAGS) \ ++ -fimplicit-templates ++ ++AM_MAKEFLAGS = \ ++ "gxx_include_dir=$(gxx_include_dir)" ++ ++ ++# Libtool notes ++ ++# 1) In general, libtool expects an argument such as `--tag=CXX' when ++# using the C++ compiler, because that will enable the settings ++# detected when C++ support was being configured. However, when no ++# such flag is given in the command line, libtool attempts to figure ++# it out by matching the compiler name in each configuration section ++# against a prefix of the command line. The problem is that, if the ++# compiler name and its initial flags stored in the libtool ++# configuration file don't match those in the command line, libtool ++# can't decide which configuration to use, and it gives up. The ++# correct solution is to add `--tag CXX' to LTCXXCOMPILE and maybe ++# CXXLINK, just after $(LIBTOOL), so that libtool doesn't have to ++# attempt to infer which configuration to use. ++# ++# The second tag argument, `--tag disable-shared` means that libtool ++# only compiles each source once, for static objects. In actuality, ++# glibcxx_lt_pic_flag and glibcxx_compiler_shared_flag are added to ++# the libtool command that is used create the object, which is ++# suitable for shared libraries. The `--tag disable-shared` must be ++# placed after --tag CXX lest things CXX undo the affect of ++# disable-shared. ++ ++# 2) Need to explicitly set LTCXXCOMPILE so that EXTRA_CXX_FLAGS is ++# last. (That way, things like -O2 passed down from the toplevel can ++# be overridden by --enable-debug.) ++LTCXXCOMPILE = \ ++ $(LIBTOOL) --tag CXX --tag disable-shared \ ++ $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) \ ++ --mode=compile $(CXX) $(TOPLEVEL_INCLUDES) \ ++ $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) $(EXTRA_CXX_FLAGS) ++ ++LTLDFLAGS = $(shell $(SHELL) $(top_srcdir)/../libtool-ldflags $(LDFLAGS)) ++ ++# 3) We'd have a problem when building the shared libstdc++ object if ++# the rules automake generates would be used. We cannot allow g++ to ++# be used since this would add -lstdc++ to the link line which of ++# course is problematic at this point. So, we get the top-level ++# directory to configure libstdc++-v3 to use gcc as the C++ ++# compilation driver. ++CXXLINK = \ ++ $(LIBTOOL) --tag CXX --tag disable-shared \ ++ $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) \ ++ --mode=link $(CXX) \ ++ $(VTV_CXXLINKFLAGS) \ ++ $(OPT_LDFLAGS) $(SECTION_LDFLAGS) $(AM_CXXFLAGS) $(LTLDFLAGS) -o $@ ++ ++all: all-am ++ ++.SUFFIXES: ++.SUFFIXES: .cc .lo .o .obj ++$(srcdir)/Makefile.in: @MAINTAINER_MODE_TRUE@ $(srcdir)/Makefile.am $(top_srcdir)/fragment.am $(am__configure_deps) ++ @for dep in $?; do \ ++ case '$(am__configure_deps)' in \ ++ *$$dep*) \ ++ ( cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh ) \ ++ && { if test -f $@; then exit 0; else break; fi; }; \ ++ exit 1;; \ ++ esac; \ ++ done; \ ++ echo ' cd $(top_srcdir) && $(AUTOMAKE) --foreign --ignore-deps src/nonshared17/Makefile'; \ ++ $(am__cd) $(top_srcdir) && \ ++ $(AUTOMAKE) --foreign --ignore-deps src/nonshared17/Makefile ++Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status ++ @case '$?' in \ ++ *config.status*) \ ++ cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \ ++ *) \ ++ echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)'; \ ++ cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe);; \ ++ esac; ++$(top_srcdir)/fragment.am $(am__empty): ++ ++$(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES) ++ cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh ++ ++$(top_srcdir)/configure: @MAINTAINER_MODE_TRUE@ $(am__configure_deps) ++ cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh ++$(ACLOCAL_M4): @MAINTAINER_MODE_TRUE@ $(am__aclocal_m4_deps) ++ cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh ++$(am__aclocal_m4_deps): ++ ++clean-noinstLTLIBRARIES: ++ -test -z "$(noinst_LTLIBRARIES)" || rm -f $(noinst_LTLIBRARIES) ++ @list='$(noinst_LTLIBRARIES)'; \ ++ locs=`for p in $$list; do echo $$p; done | \ ++ sed 's|^[^/]*$$|.|; s|/[^/]*$$||; s|$$|/so_locations|' | \ ++ sort -u`; \ ++ test -z "$$locs" || { \ ++ echo rm -f $${locs}; \ ++ rm -f $${locs}; \ ++ } ++ ++libnonshared17convenience110.la: $(libnonshared17convenience110_la_OBJECTS) $(libnonshared17convenience110_la_DEPENDENCIES) $(EXTRA_libnonshared17convenience110_la_DEPENDENCIES) ++ $(AM_V_CXXLD)$(CXXLINK) $(libnonshared17convenience110_la_OBJECTS) $(libnonshared17convenience110_la_LIBADD) $(LIBS) ++ ++libnonshared17convenience48.la: $(libnonshared17convenience48_la_OBJECTS) $(libnonshared17convenience48_la_DEPENDENCIES) $(EXTRA_libnonshared17convenience48_la_DEPENDENCIES) ++ $(AM_V_CXXLD)$(CXXLINK) $(libnonshared17convenience48_la_OBJECTS) $(libnonshared17convenience48_la_LIBADD) $(LIBS) ++ ++libnonshared17convenience80.la: $(libnonshared17convenience80_la_OBJECTS) $(libnonshared17convenience80_la_DEPENDENCIES) $(EXTRA_libnonshared17convenience80_la_DEPENDENCIES) ++ $(AM_V_CXXLD)$(CXXLINK) $(libnonshared17convenience80_la_OBJECTS) $(libnonshared17convenience80_la_LIBADD) $(LIBS) ++ ++mostlyclean-compile: ++ -rm -f *.$(OBJEXT) ++ ++distclean-compile: ++ -rm -f *.tab.c ++ ++.cc.o: ++ $(AM_V_CXX)$(CXXCOMPILE) -c -o $@ $< ++ ++.cc.obj: ++ $(AM_V_CXX)$(CXXCOMPILE) -c -o $@ `$(CYGPATH_W) '$<'` ++ ++.cc.lo: ++ $(AM_V_CXX)$(LTCXXCOMPILE) -c -o $@ $< ++ ++mostlyclean-libtool: ++ -rm -f *.lo ++ ++clean-libtool: ++ -rm -rf .libs _libs ++ ++ID: $(am__tagged_files) ++ $(am__define_uniq_tagged_files); mkid -fID $$unique ++tags: tags-am ++TAGS: tags ++ ++tags-am: $(TAGS_DEPENDENCIES) $(am__tagged_files) ++ set x; \ ++ here=`pwd`; \ ++ $(am__define_uniq_tagged_files); \ ++ shift; \ ++ if test -z "$(ETAGS_ARGS)$$*$$unique"; then :; else \ ++ test -n "$$unique" || unique=$$empty_fix; \ ++ if test $$# -gt 0; then \ ++ $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \ ++ "$$@" $$unique; \ ++ else \ ++ $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \ ++ $$unique; \ ++ fi; \ ++ fi ++ctags: ctags-am ++ ++CTAGS: ctags ++ctags-am: $(TAGS_DEPENDENCIES) $(am__tagged_files) ++ $(am__define_uniq_tagged_files); \ ++ test -z "$(CTAGS_ARGS)$$unique" \ ++ || $(CTAGS) $(CTAGSFLAGS) $(AM_CTAGSFLAGS) $(CTAGS_ARGS) \ ++ $$unique ++ ++GTAGS: ++ here=`$(am__cd) $(top_builddir) && pwd` \ ++ && $(am__cd) $(top_srcdir) \ ++ && gtags -i $(GTAGS_ARGS) "$$here" ++cscopelist: cscopelist-am ++ ++cscopelist-am: $(am__tagged_files) ++ list='$(am__tagged_files)'; \ ++ case "$(srcdir)" in \ ++ [\\/]* | ?:[\\/]*) sdir="$(srcdir)" ;; \ ++ *) sdir=$(subdir)/$(srcdir) ;; \ ++ esac; \ ++ for i in $$list; do \ ++ if test -f "$$i"; then \ ++ echo "$(subdir)/$$i"; \ ++ else \ ++ echo "$$sdir/$$i"; \ ++ fi; \ ++ done >> $(top_builddir)/cscope.files ++ ++distclean-tags: ++ -rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags ++check-am: all-am ++check: check-am ++all-am: Makefile $(LTLIBRARIES) ++installdirs: ++install: install-am ++install-exec: install-exec-am ++install-data: install-data-am ++uninstall: uninstall-am ++ ++install-am: all-am ++ @$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am ++ ++installcheck: installcheck-am ++install-strip: ++ if test -z '$(STRIP)'; then \ ++ $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \ ++ install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \ ++ install; \ ++ else \ ++ $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \ ++ install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \ ++ "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'" install; \ ++ fi ++mostlyclean-generic: ++ ++clean-generic: ++ ++distclean-generic: ++ -test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES) ++ -test . = "$(srcdir)" || test -z "$(CONFIG_CLEAN_VPATH_FILES)" || rm -f $(CONFIG_CLEAN_VPATH_FILES) ++ ++maintainer-clean-generic: ++ @echo "This command is intended for maintainers to use" ++ @echo "it deletes files that may require special tools to rebuild." ++clean: clean-am ++ ++clean-am: clean-generic clean-libtool clean-noinstLTLIBRARIES \ ++ mostlyclean-am ++ ++distclean: distclean-am ++ -rm -f Makefile ++distclean-am: clean-am distclean-compile distclean-generic \ ++ distclean-tags ++ ++dvi: dvi-am ++ ++dvi-am: ++ ++html: html-am ++ ++html-am: ++ ++info: info-am ++ ++info-am: ++ ++install-data-am: ++ ++install-dvi: install-dvi-am ++ ++install-dvi-am: ++ ++install-exec-am: ++ ++install-html: install-html-am ++ ++install-html-am: ++ ++install-info: install-info-am ++ ++install-info-am: ++ ++install-man: ++ ++install-pdf: install-pdf-am ++ ++install-pdf-am: ++ ++install-ps: install-ps-am ++ ++install-ps-am: ++ ++installcheck-am: ++ ++maintainer-clean: maintainer-clean-am ++ -rm -f Makefile ++maintainer-clean-am: distclean-am maintainer-clean-generic ++ ++mostlyclean: mostlyclean-am ++ ++mostlyclean-am: mostlyclean-compile mostlyclean-generic \ ++ mostlyclean-libtool ++ ++pdf: pdf-am ++ ++pdf-am: ++ ++ps: ps-am ++ ++ps-am: ++ ++uninstall-am: ++ ++.MAKE: install-am install-strip ++ ++.PHONY: CTAGS GTAGS TAGS all all-am check check-am clean clean-generic \ ++ clean-libtool clean-noinstLTLIBRARIES cscopelist-am ctags \ ++ ctags-am distclean distclean-compile distclean-generic \ ++ distclean-libtool distclean-tags dvi dvi-am html html-am info \ ++ info-am install install-am install-data install-data-am \ ++ install-dvi install-dvi-am install-exec install-exec-am \ ++ install-html install-html-am install-info install-info-am \ ++ install-man install-pdf install-pdf-am install-ps \ ++ install-ps-am install-strip installcheck installcheck-am \ ++ installdirs maintainer-clean maintainer-clean-generic \ ++ mostlyclean mostlyclean-compile mostlyclean-generic \ ++ mostlyclean-libtool pdf pdf-am ps ps-am tags tags-am uninstall \ ++ uninstall-am ++ ++.PRECIOUS: Makefile ++ ++ ++vpath % $(top_srcdir)/src/nonshared17 ++ ++# Tell versions [3.59,3.63) of GNU make to not export all variables. ++# Otherwise a system limit (for SysV at least) may be exceeded. ++.NOEXPORT: +diff --git a/libstdc++-v3/src/nonshared17/cow-fs_dir.cc b/libstdc++-v3/src/nonshared17/cow-fs_dir.cc +new file mode 100644 +index 000000000..964a9dd7e +--- /dev/null ++++ b/libstdc++-v3/src/nonshared17/cow-fs_dir.cc +@@ -0,0 +1,109 @@ ++// Copyright (C) 2019-2023 Free Software Foundation, Inc. ++// ++// This file is part of the GNU ISO C++ Library. This library is free ++// software; you can redistribute it and/or modify it under the ++// terms of the GNU General Public License as published by the ++// Free Software Foundation; either version 3, or (at your option) ++// any later version. ++ ++// This library is distributed in the hope that it will be useful, ++// but WITHOUT ANY WARRANTY; without even the implied warranty of ++// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the ++// GNU General Public License for more details. ++ ++// Under Section 7 of GPL version 3, you are granted additional ++// permissions described in the GCC Runtime Library Exception, version ++// 3.1, as published by the Free Software Foundation. ++ ++// You should have received a copy of the GNU General Public License and ++// a copy of the GCC Runtime Library Exception along with this program; ++// see the files COPYING3 and COPYING.RUNTIME respectively. If not, see ++// . ++ ++#include "../c++17/cow-fs_dir.cc" ++asm (".hidden _ZNKSt12__shared_ptrINSt10filesystem28recursive_directory_iterator10_Dir_stackELN9__gnu_cxx12_Lock_policyE2EE14_M_get_deleterERKSt9type_info"); ++asm (".hidden _ZNKSt12__shared_ptrINSt10filesystem28recursive_directory_iterator10_Dir_stackELN9__gnu_cxx12_Lock_policyE2EE3getEv"); ++asm (".hidden _ZNKSt12__shared_ptrINSt10filesystem28recursive_directory_iterator10_Dir_stackELN9__gnu_cxx12_Lock_policyE2EE6uniqueEv"); ++asm (".hidden _ZNKSt12__shared_ptrINSt10filesystem28recursive_directory_iterator10_Dir_stackELN9__gnu_cxx12_Lock_policyE2EE9use_countEv"); ++//asm (".hidden _ZNKSt12__shared_ptrINSt10filesystem28recursive_directory_iterator10_Dir_stackELN9__gnu_cxx12_Lock_policyE2EEcvbEv"); ++asm (".hidden _ZNKSt12__shared_ptrINSt10filesystem4_DirELN9__gnu_cxx12_Lock_policyE2EE14_M_get_deleterERKSt9type_info"); ++asm (".hidden _ZNKSt12__shared_ptrINSt10filesystem4_DirELN9__gnu_cxx12_Lock_policyE2EE3getEv"); ++asm (".hidden _ZNKSt12__shared_ptrINSt10filesystem4_DirELN9__gnu_cxx12_Lock_policyE2EE6uniqueEv"); ++asm (".hidden _ZNKSt12__shared_ptrINSt10filesystem4_DirELN9__gnu_cxx12_Lock_policyE2EE9use_countEv"); ++//asm (".hidden _ZNKSt12__shared_ptrINSt10filesystem4_DirELN9__gnu_cxx12_Lock_policyE2EEcvbEv"); ++asm (".hidden _ZNSt10filesystem4_Dir7advanceEbRSt10error_code"); ++asm (".hidden _ZNSt10filesystem4_DirD1Ev"); ++asm (".hidden _ZNSt10filesystem4_DirD2Ev"); ++#ifdef __i386__ ++asm (".hidden _ZNSt10filesystem9_Dir_base7advanceEbRSt10error_code"); ++#endif ++asm (".hidden _ZNSt12__shared_ptrINSt10filesystem28recursive_directory_iterator10_Dir_stackELN9__gnu_cxx12_Lock_policyE2EE4swapERS5_"); ++asm (".hidden _ZNSt12__shared_ptrINSt10filesystem28recursive_directory_iterator10_Dir_stackELN9__gnu_cxx12_Lock_policyE2EE5resetEv"); ++asm (".hidden _ZNSt12__shared_ptrINSt10filesystem28recursive_directory_iterator10_Dir_stackELN9__gnu_cxx12_Lock_policyE2EEaSEOS5_"); ++asm (".hidden _ZNSt12__shared_ptrINSt10filesystem28recursive_directory_iterator10_Dir_stackELN9__gnu_cxx12_Lock_policyE2EEC1EDn"); ++asm (".hidden _ZNSt12__shared_ptrINSt10filesystem28recursive_directory_iterator10_Dir_stackELN9__gnu_cxx12_Lock_policyE2EEC1ERKSt10__weak_ptrIS2_LS4_2EESt9nothrow_t"); ++asm (".hidden _ZNSt12__shared_ptrINSt10filesystem28recursive_directory_iterator10_Dir_stackELN9__gnu_cxx12_Lock_policyE2EEC2EDn"); ++asm (".hidden _ZNSt12__shared_ptrINSt10filesystem28recursive_directory_iterator10_Dir_stackELN9__gnu_cxx12_Lock_policyE2EEC2ERKSt10__weak_ptrIS2_LS4_2EESt9nothrow_t"); ++asm (".hidden _ZNSt12__shared_ptrINSt10filesystem4_DirELN9__gnu_cxx12_Lock_policyE2EE4swapERS4_"); ++asm (".hidden _ZNSt12__shared_ptrINSt10filesystem4_DirELN9__gnu_cxx12_Lock_policyE2EE5resetEv"); ++asm (".hidden _ZNSt12__shared_ptrINSt10filesystem4_DirELN9__gnu_cxx12_Lock_policyE2EEC1EDn"); ++asm (".hidden _ZNSt12__shared_ptrINSt10filesystem4_DirELN9__gnu_cxx12_Lock_policyE2EEC1ERKSt10__weak_ptrIS1_LS3_2EESt9nothrow_t"); ++asm (".hidden _ZNSt12__shared_ptrINSt10filesystem4_DirELN9__gnu_cxx12_Lock_policyE2EEC2EDn"); ++asm (".hidden _ZNSt12__shared_ptrINSt10filesystem4_DirELN9__gnu_cxx12_Lock_policyE2EEC2ERKSt10__weak_ptrIS1_LS3_2EESt9nothrow_t"); ++asm (".hidden _ZNSt16_Sp_counted_baseILN9__gnu_cxx12_Lock_policyE2EE10_M_releaseEv"); ++asm (".hidden _ZNSt23_Sp_counted_ptr_inplaceINSt10filesystem28recursive_directory_iterator10_Dir_stackESaIS2_ELN9__gnu_cxx12_Lock_policyE2EE10_M_destroyEv"); ++asm (".hidden _ZNSt23_Sp_counted_ptr_inplaceINSt10filesystem28recursive_directory_iterator10_Dir_stackESaIS2_ELN9__gnu_cxx12_Lock_policyE2EE10_M_disposeEv"); ++asm (".hidden _ZNSt23_Sp_counted_ptr_inplaceINSt10filesystem28recursive_directory_iterator10_Dir_stackESaIS2_ELN9__gnu_cxx12_Lock_policyE2EE14_M_get_deleterERKSt9type_info"); ++asm (".hidden _ZNSt23_Sp_counted_ptr_inplaceINSt10filesystem28recursive_directory_iterator10_Dir_stackESaIS2_ELN9__gnu_cxx12_Lock_policyE2EED0Ev"); ++asm (".hidden _ZNSt23_Sp_counted_ptr_inplaceINSt10filesystem28recursive_directory_iterator10_Dir_stackESaIS2_ELN9__gnu_cxx12_Lock_policyE2EED1Ev"); ++asm (".hidden _ZNSt23_Sp_counted_ptr_inplaceINSt10filesystem4_DirESaIS1_ELN9__gnu_cxx12_Lock_policyE2EE10_M_destroyEv"); ++asm (".hidden _ZNSt23_Sp_counted_ptr_inplaceINSt10filesystem4_DirESaIS1_ELN9__gnu_cxx12_Lock_policyE2EE10_M_disposeEv"); ++asm (".hidden _ZNSt23_Sp_counted_ptr_inplaceINSt10filesystem4_DirESaIS1_ELN9__gnu_cxx12_Lock_policyE2EE14_M_get_deleterERKSt9type_info"); ++asm (".hidden _ZNSt23_Sp_counted_ptr_inplaceINSt10filesystem4_DirESaIS1_ELN9__gnu_cxx12_Lock_policyE2EED0Ev"); ++asm (".hidden _ZNSt23_Sp_counted_ptr_inplaceINSt10filesystem4_DirESaIS1_ELN9__gnu_cxx12_Lock_policyE2EED1Ev"); ++asm (".hidden _ZNSt5dequeINSt10filesystem4_DirESaIS1_EE12emplace_backIIS1_EEERS1_DpOT_"); ++asm (".hidden _ZNSt5dequeINSt10filesystem4_DirESaIS1_EE12emplace_backIJS1_EEERS1_DpOT_"); ++//asm (".hidden _ZNSt5dequeINSt10filesystem4_DirESaIS1_EE16_M_push_back_auxIIRP11__dirstreamRKNS0_4pathEEEEvDpOT_"); ++//asm (".hidden _ZNSt5dequeINSt10filesystem4_DirESaIS1_EE16_M_push_back_auxIJRP11__dirstreamRKNS0_4pathEEEEvDpOT_"); ++asm (".hidden _ZNSt5dequeINSt10filesystem4_DirESaIS1_EED1Ev"); ++asm (".hidden _ZNSt5dequeINSt10filesystem4_DirESaIS1_EED2Ev"); ++asm (".hidden _ZTISt11_Mutex_baseILN9__gnu_cxx12_Lock_policyE2EE"); ++asm (".hidden _ZTISt16_Sp_counted_baseILN9__gnu_cxx12_Lock_policyE2EE"); ++asm (".hidden _ZTISt23_Sp_counted_ptr_inplaceINSt10filesystem28recursive_directory_iterator10_Dir_stackESaIS2_ELN9__gnu_cxx12_Lock_policyE2EE"); ++asm (".hidden _ZTISt23_Sp_counted_ptr_inplaceINSt10filesystem4_DirESaIS1_ELN9__gnu_cxx12_Lock_policyE2EE"); ++asm (".hidden _ZTSSt11_Mutex_baseILN9__gnu_cxx12_Lock_policyE2EE"); ++asm (".hidden _ZTSSt16_Sp_counted_baseILN9__gnu_cxx12_Lock_policyE2EE"); ++asm (".hidden _ZTSSt19_Sp_make_shared_tag"); ++asm (".hidden _ZTSSt23_Sp_counted_ptr_inplaceINSt10filesystem28recursive_directory_iterator10_Dir_stackESaIS2_ELN9__gnu_cxx12_Lock_policyE2EE"); ++asm (".hidden _ZTSSt23_Sp_counted_ptr_inplaceINSt10filesystem4_DirESaIS1_ELN9__gnu_cxx12_Lock_policyE2EE"); ++asm (".hidden _ZTVSt23_Sp_counted_ptr_inplaceINSt10filesystem28recursive_directory_iterator10_Dir_stackESaIS2_ELN9__gnu_cxx12_Lock_policyE2EE"); ++asm (".hidden _ZTVSt23_Sp_counted_ptr_inplaceINSt10filesystem4_DirESaIS1_ELN9__gnu_cxx12_Lock_policyE2EE"); ++asm (".hidden _ZZNSt19_Sp_make_shared_tag5_S_tiEvE5__tag"); ++#ifndef __aarch64__ ++asm (".hidden _ZNSsC1ISaIcEEEPKcRKS0_"); ++asm (".hidden _ZNSsC2ISaIcEEEPKcRKS0_"); ++#endif ++asm (".hidden _ZNSt23_Sp_counted_ptr_inplaceINSt10filesystem28recursive_directory_iterator10_Dir_stackESaIS2_ELN9__gnu_cxx12_Lock_policyE2EED2Ev"); ++asm (".hidden _ZNSt23_Sp_counted_ptr_inplaceINSt10filesystem4_DirESaIS1_ELN9__gnu_cxx12_Lock_policyE2EED2Ev"); ++#ifndef __i386__ ++//asm (".hidden _ZNSt5dequeINSt10filesystem4_DirESaIS1_EE17_M_reallocate_mapEmb"); ++asm (".hidden _ZNSt16_Sp_counted_baseILN9__gnu_cxx12_Lock_policyE2EE24_M_release_last_use_coldEv"); ++#endif ++#ifndef __powerpc64__ ++asm (".hidden _ZNSt10unique_ptrINSt10filesystem4path5_List5_ImplENS2_13_Impl_deleterEED1Ev"); ++asm (".hidden _ZNSt10unique_ptrINSt10filesystem4path5_List5_ImplENS2_13_Impl_deleterEED2Ev"); ++#endif ++#ifdef __i386__ ++//asm (".hidden _ZNSt5dequeINSt10filesystem4_DirESaIS1_EE17_M_reallocate_mapEjb"); ++#endif ++//asm (".hidden _ZNKSt10filesystem4_Dir11open_subdirEbbRSt10error_code"); ++asm (".hidden _ZNKSt10filesystem28recursive_directory_iterator10_Dir_stack12current_pathEv"); ++//asm (".hidden _ZNSt10filesystem4pathC2ISsS0_EERKT_NS0_6formatE"); ++//asm (".hidden _ZNSt10filesystem4pathC1ISsS0_EERKT_NS0_6formatE"); ++asm (".hidden _ZNSt10filesystem28recursive_directory_iterator7__eraseEPSt10error_code"); ++//asm (".hidden _ZNKSt10filesystem4_Dir16dir_and_pathnameEv"); ++#if defined(__x86_64__) || defined(__aarch64__) || defined(__powerpc64__) ++asm (".hidden _ZNSt10filesystem4pathD1Ev"); ++asm (".hidden _ZNSt10filesystem4pathD2Ev"); ++#endif ++asm (".hidden _ZNKSt10filesystem4_Dir7currentEv"); +diff --git a/libstdc++-v3/src/nonshared17/cow-fs_dir110.cc b/libstdc++-v3/src/nonshared17/cow-fs_dir110.cc +new file mode 100644 +index 000000000..f12a8bf95 +--- /dev/null ++++ b/libstdc++-v3/src/nonshared17/cow-fs_dir110.cc +@@ -0,0 +1,26 @@ ++// Class filesystem::directory_entry etc. -*- C++ -*- ++ ++// Copyright (C) 2015-2023 Free Software Foundation, Inc. ++// ++// This file is part of the GNU ISO C++ Library. This library is free ++// software; you can redistribute it and/or modify it under the ++// terms of the GNU General Public License as published by the ++// Free Software Foundation; either version 3, or (at your option) ++// any later version. ++ ++// This library is distributed in the hope that it will be useful, ++// but WITHOUT ANY WARRANTY; without even the implied warranty of ++// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the ++// GNU General Public License for more details. ++ ++// Under Section 7 of GPL version 3, you are granted additional ++// permissions described in the GCC Runtime Library Exception, version ++// 3.1, as published by the Free Software Foundation. ++ ++// You should have received a copy of the GNU General Public License and ++// a copy of the GCC Runtime Library Exception along with this program; ++// see the files COPYING3 and COPYING.RUNTIME respectively. If not, see ++// . ++ ++#define _GLIBCXX_USE_CXX11_ABI 0 ++#include "fs_dir110.cc" +diff --git a/libstdc++-v3/src/nonshared17/cow-fs_ops.cc b/libstdc++-v3/src/nonshared17/cow-fs_ops.cc +new file mode 100644 +index 000000000..0155b4ae7 +--- /dev/null ++++ b/libstdc++-v3/src/nonshared17/cow-fs_ops.cc +@@ -0,0 +1,83 @@ ++// Copyright (C) 2019-2023 Free Software Foundation, Inc. ++// ++// This file is part of the GNU ISO C++ Library. This library is free ++// software; you can redistribute it and/or modify it under the ++// terms of the GNU General Public License as published by the ++// Free Software Foundation; either version 3, or (at your option) ++// any later version. ++ ++// This library is distributed in the hope that it will be useful, ++// but WITHOUT ANY WARRANTY; without even the implied warranty of ++// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the ++// GNU General Public License for more details. ++ ++// Under Section 7 of GPL version 3, you are granted additional ++// permissions described in the GCC Runtime Library Exception, version ++// 3.1, as published by the Free Software Foundation. ++ ++// You should have received a copy of the GNU General Public License and ++// a copy of the GCC Runtime Library Exception along with this program; ++// see the files COPYING3 and COPYING.RUNTIME respectively. If not, see ++// . ++ ++#include "../c++17/cow-fs_ops.cc" ++asm (".hidden _ZNSt15_Sp_counted_ptrIDnLN9__gnu_cxx12_Lock_policyE2EE10_M_disposeEv"); ++asm (".hidden _ZNSt16_Sp_counted_baseILN9__gnu_cxx12_Lock_policyE2EE10_M_destroyEv"); ++asm (".hidden _ZNSt16_Sp_counted_baseILN9__gnu_cxx12_Lock_policyE2EE10_M_releaseEv"); ++//asm (".hidden _ZNSt5dequeINSt10filesystem4pathESaIS1_EE16_M_push_back_auxIJRKS1_EEEvDpOT_"); ++//asm (".hidden _ZNSt5dequeINSt10filesystem4pathESaIS1_EE16_M_push_back_auxIIRKS1_EEEvDpOT_"); ++//asm (".hidden _ZNSt5dequeINSt10filesystem4pathESaIS1_EE12emplace_backIJS1_EEERS1_DpOT_"); ++//asm (".hidden _ZNSt5dequeINSt10filesystem4pathESaIS1_EE12emplace_backIIS1_EEERS1_DpOT_"); ++asm (".hidden _ZNSt5dequeINSt10filesystem4pathESaIS1_EED1Ev"); ++asm (".hidden _ZNSt5dequeINSt10filesystem4pathESaIS1_EED2Ev"); ++asm (".hidden _ZNSt10unique_ptrINSt10filesystem4path5_List5_ImplENS2_13_Impl_deleterEED1Ev"); ++asm (".hidden _ZNSt10unique_ptrINSt10filesystem4path5_List5_ImplENS2_13_Impl_deleterEED2Ev"); ++asm (".hidden _ZSt14__copy_move_a1ILb1EPNSt10filesystem4pathES1_EN9__gnu_cxx11__enable_ifIXsrSt23__is_random_access_iterIT0_NSt15iterator_traitsIS6_E17iterator_categoryEE7__valueESt15_Deque_iteratorIT1_RSC_PSC_EE6__typeES6_S6_SF_"); ++asm (".hidden _ZSt23__copy_move_backward_a1ILb1EPNSt10filesystem4pathES1_EN9__gnu_cxx11__enable_ifIXsrSt23__is_random_access_iterIT0_NSt15iterator_traitsIS6_E17iterator_categoryEE7__valueESt15_Deque_iteratorIT1_RSC_PSC_EE6__typeES6_S6_SF_"); ++//asm (".hidden _ZSt8_DestroyISt15_Deque_iteratorINSt10filesystem4pathERS2_PS2_EEvT_S6_"); ++asm (".hidden _ZNSsC1ISaIcEEEPKcRKS0_"); ++asm (".hidden _ZNSsC2ISaIcEEEPKcRKS0_"); ++#ifndef __i386__ ++asm (".hidden _ZNSt11_Deque_baseINSt10filesystem4pathESaIS1_EE17_M_initialize_mapEm"); ++asm (".hidden _ZNSt5dequeINSt10filesystem4pathESaIS1_EE13_M_insert_auxINS1_8iteratorEEEvSt15_Deque_iteratorIS1_RS1_PS1_ET_SA_m"); ++asm (".hidden _ZNSt5dequeINSt10filesystem4pathESaIS1_EE17_M_reallocate_mapEmb"); ++asm (".hidden _ZNSt5dequeINSt10filesystem4pathESaIS1_EE23_M_new_elements_at_backEm"); ++asm (".hidden _ZNSt5dequeINSt10filesystem4pathESaIS1_EE24_M_new_elements_at_frontEm"); ++asm (".hidden _ZNSt16_Sp_counted_baseILN9__gnu_cxx12_Lock_policyE2EE24_M_release_last_use_coldEv"); ++asm (".hidden _ZNSs9_M_mutateEmmm"); ++asm (".hidden _ZNSs6resizeEmc"); ++#endif ++asm (".hidden _ZNSt10filesystem4pathD2Ev"); ++asm (".hidden _ZNSt10filesystem4pathD1Ev"); ++#if defined(__x86_64__) ++//asm (".hidden _ZSt13move_backwardISt15_Deque_iteratorINSt10filesystem4pathERS2_PS2_ES5_ET0_T_S7_S6_"); ++//asm (".hidden _ZSt4moveISt15_Deque_iteratorINSt10filesystem4pathERS2_PS2_ES5_ET0_T_S7_S6_"); ++#endif ++#ifdef __i386__ ++asm (".hidden _ZNSt11_Deque_baseINSt10filesystem4pathESaIS1_EE17_M_initialize_mapEj"); ++asm (".hidden _ZNSt5dequeINSt10filesystem4pathESaIS1_EE13_M_insert_auxINS1_8iteratorEEEvSt15_Deque_iteratorIS1_RS1_PS1_ET_SA_j"); ++asm (".hidden _ZNSt5dequeINSt10filesystem4pathESaIS1_EE17_M_reallocate_mapEjb"); ++asm (".hidden _ZNSt5dequeINSt10filesystem4pathESaIS1_EE23_M_new_elements_at_backEj"); ++asm (".hidden _ZNSt5dequeINSt10filesystem4pathESaIS1_EE24_M_new_elements_at_frontEj"); ++//asm (".hidden _ZNSs6resizeEjc"); ++//asm (".hidden _ZNSs9_M_mutateEjjj"); ++//asm (".hidden _ZSt13move_backwardISt15_Deque_iteratorINSt10filesystem4pathERS2_PS2_ES5_ET0_T_S7_S6_"); ++//asm (".hidden _ZSt4moveISt15_Deque_iteratorINSt10filesystem4pathERS2_PS2_ES5_ET0_T_S7_S6_"); ++#endif ++#if defined(__s390x__) ++asm (".hidden _ZNSs4swapERSs"); ++asm (".hidden _ZSt16__do_uninit_copyINSt10filesystem4path8iteratorESt15_Deque_iteratorIS1_RS1_PS1_EET0_T_S8_S7_"); ++//asm (".hidden _ZSt4copyINSt10filesystem4path8iteratorESt15_Deque_iteratorIS1_RS1_PS1_EET0_T_S8_S7_"); ++#endif ++#ifdef __aarch64__ ++asm (".hidden _ZNSs4swapERSs"); ++//asm (".hidden _ZSt4copyINSt10filesystem4path8iteratorESt15_Deque_iteratorIS1_RS1_PS1_EET0_T_S8_S7_"); ++//asm (".hidden _ZSt13move_backwardISt15_Deque_iteratorINSt10filesystem4pathERS2_PS2_ES5_ET0_T_S7_S6_"); ++//asm (".hidden _ZSt4moveISt15_Deque_iteratorINSt10filesystem4pathERS2_PS2_ES5_ET0_T_S7_S6_"); ++#endif ++asm (".hidden _ZNKSt10filesystem4path8filenameEv"); ++#ifdef __powerpc64__ ++asm (".hidden _ZSt16__do_uninit_copyINSt10filesystem4path8iteratorESt15_Deque_iteratorIS1_RS1_PS1_EET0_T_S8_S7_"); ++//asm (".hidden _ZSt4copyINSt10filesystem4path8iteratorESt15_Deque_iteratorIS1_RS1_PS1_EET0_T_S8_S7_"); ++//asm (".hidden _ZNSs4swapERSs"); ++#endif +diff --git a/libstdc++-v3/src/nonshared17/cow-fs_path.cc b/libstdc++-v3/src/nonshared17/cow-fs_path.cc +new file mode 100644 +index 000000000..1a53c411f +--- /dev/null ++++ b/libstdc++-v3/src/nonshared17/cow-fs_path.cc +@@ -0,0 +1,128 @@ ++// Copyright (C) 2019-2023 Free Software Foundation, Inc. ++// ++// This file is part of the GNU ISO C++ Library. This library is free ++// software; you can redistribute it and/or modify it under the ++// terms of the GNU General Public License as published by the ++// Free Software Foundation; either version 3, or (at your option) ++// any later version. ++ ++// This library is distributed in the hope that it will be useful, ++// but WITHOUT ANY WARRANTY; without even the implied warranty of ++// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the ++// GNU General Public License for more details. ++ ++// Under Section 7 of GPL version 3, you are granted additional ++// permissions described in the GCC Runtime Library Exception, version ++// 3.1, as published by the Free Software Foundation. ++ ++// You should have received a copy of the GNU General Public License and ++// a copy of the GCC Runtime Library Exception along with this program; ++// see the files COPYING3 and COPYING.RUNTIME respectively. If not, see ++// . ++ ++#include "../c++17/cow-fs_path.cc" ++asm (".hidden _ZNKSt12__shared_ptrIKNSt10filesystem16filesystem_error5_ImplELN9__gnu_cxx12_Lock_policyE2EE14_M_get_deleterERKSt9type_info"); ++asm (".hidden _ZNKSt12__shared_ptrIKNSt10filesystem16filesystem_error5_ImplELN9__gnu_cxx12_Lock_policyE2EE3getEv"); ++asm (".hidden _ZNKSt12__shared_ptrIKNSt10filesystem16filesystem_error5_ImplELN9__gnu_cxx12_Lock_policyE2EE6uniqueEv"); ++asm (".hidden _ZNKSt12__shared_ptrIKNSt10filesystem16filesystem_error5_ImplELN9__gnu_cxx12_Lock_policyE2EE9use_countEv"); ++asm (".hidden _ZNKSt12__shared_ptrIKNSt10filesystem16filesystem_error5_ImplELN9__gnu_cxx12_Lock_policyE2EEcvbEv"); ++asm (".hidden _ZNKSt23__codecvt_abstract_baseIwc11__mbstate_tE2inERS0_PKcS4_RS4_PwS6_RS6_"); ++asm (".hidden _ZNKSt23__codecvt_abstract_baseIwc11__mbstate_tE3outERS0_PKwS4_RS4_PcS6_RS6_"); ++asm (".hidden _ZNSt10filesystem4path19preferred_separatorE"); ++asm (".hidden _ZNSt10filesystem4path5_List5clearEv"); ++asm (".hidden _ZNSt10filesystem4path5_List5_Impl13_M_erase_fromEPKNS0_5_CmptE"); ++asm (".hidden _ZNSt10filesystem4path5_List7reserveEib"); ++asm (".hidden _ZNSt10filesystem4path5_ListaSERKS1_"); ++asm (".hidden _ZNSt10filesystem4path5_ListC2ERKS1_"); ++asm (".hidden _ZNSt10filesystem4path5_ListC2Ev"); ++asm (".hidden _ZNSt12__shared_ptrIKNSt10filesystem16filesystem_error5_ImplELN9__gnu_cxx12_Lock_policyE2EE4swapERS6_"); ++asm (".hidden _ZNSt12__shared_ptrIKNSt10filesystem16filesystem_error5_ImplELN9__gnu_cxx12_Lock_policyE2EE5resetEv"); ++asm (".hidden _ZNSt12__shared_ptrIKNSt10filesystem16filesystem_error5_ImplELN9__gnu_cxx12_Lock_policyE2EEaSEOS6_"); ++asm (".hidden _ZNSt12__shared_ptrIKNSt10filesystem16filesystem_error5_ImplELN9__gnu_cxx12_Lock_policyE2EEC1EDn"); ++asm (".hidden _ZNSt12__shared_ptrIKNSt10filesystem16filesystem_error5_ImplELN9__gnu_cxx12_Lock_policyE2EEC1EOS6_"); ++asm (".hidden _ZNSt12__shared_ptrIKNSt10filesystem16filesystem_error5_ImplELN9__gnu_cxx12_Lock_policyE2EEC1ERKSt10__weak_ptrIS3_LS5_2EESt9nothrow_t"); ++asm (".hidden _ZNSt12__shared_ptrIKNSt10filesystem16filesystem_error5_ImplELN9__gnu_cxx12_Lock_policyE2EEC1Ev"); ++asm (".hidden _ZNSt12__shared_ptrIKNSt10filesystem16filesystem_error5_ImplELN9__gnu_cxx12_Lock_policyE2EEC2EDn"); ++asm (".hidden _ZNSt12__shared_ptrIKNSt10filesystem16filesystem_error5_ImplELN9__gnu_cxx12_Lock_policyE2EEC2EOS6_"); ++asm (".hidden _ZNSt12__shared_ptrIKNSt10filesystem16filesystem_error5_ImplELN9__gnu_cxx12_Lock_policyE2EEC2ERKSt10__weak_ptrIS3_LS5_2EESt9nothrow_t"); ++asm (".hidden _ZNSt12__shared_ptrIKNSt10filesystem16filesystem_error5_ImplELN9__gnu_cxx12_Lock_policyE2EEC2Ev"); ++asm (".hidden _ZNSt23_Sp_counted_ptr_inplaceINSt10filesystem16filesystem_error5_ImplESaIS2_ELN9__gnu_cxx12_Lock_policyE2EE10_M_destroyEv"); ++asm (".hidden _ZNSt23_Sp_counted_ptr_inplaceINSt10filesystem16filesystem_error5_ImplESaIS2_ELN9__gnu_cxx12_Lock_policyE2EE10_M_disposeEv"); ++asm (".hidden _ZNSt23_Sp_counted_ptr_inplaceINSt10filesystem16filesystem_error5_ImplESaIS2_ELN9__gnu_cxx12_Lock_policyE2EE14_M_get_deleterERKSt9type_info"); ++asm (".hidden _ZNSt23_Sp_counted_ptr_inplaceINSt10filesystem16filesystem_error5_ImplESaIS2_ELN9__gnu_cxx12_Lock_policyE2EED0Ev"); ++asm (".hidden _ZNSt23_Sp_counted_ptr_inplaceINSt10filesystem16filesystem_error5_ImplESaIS2_ELN9__gnu_cxx12_Lock_policyE2EED1Ev"); ++asm (".hidden _ZTISt11_Mutex_baseILN9__gnu_cxx12_Lock_policyE2EE"); ++asm (".hidden _ZTISt16_Sp_counted_baseILN9__gnu_cxx12_Lock_policyE2EE"); ++asm (".hidden _ZTISt23_Sp_counted_ptr_inplaceINSt10filesystem16filesystem_error5_ImplESaIS2_ELN9__gnu_cxx12_Lock_policyE2EE"); ++asm (".hidden _ZTSNSt10filesystem16filesystem_errorE"); ++asm (".hidden _ZTSSt11_Mutex_baseILN9__gnu_cxx12_Lock_policyE2EE"); ++asm (".hidden _ZTSSt16_Sp_counted_baseILN9__gnu_cxx12_Lock_policyE2EE"); ++asm (".hidden _ZTSSt19_Sp_make_shared_tag"); ++asm (".hidden _ZTSSt23_Sp_counted_ptr_inplaceINSt10filesystem16filesystem_error5_ImplESaIS2_ELN9__gnu_cxx12_Lock_policyE2EE"); ++asm (".hidden _ZTVSt23_Sp_counted_ptr_inplaceINSt10filesystem16filesystem_error5_ImplESaIS2_ELN9__gnu_cxx12_Lock_policyE2EE"); ++asm (".hidden _ZZNSt19_Sp_make_shared_tag5_S_tiEvE5__tag"); ++asm (".hidden _ZNSt10filesystem16filesystem_error5_Impl9make_whatESt17basic_string_viewIcSt11char_traitsIcEEPKNS_4pathES8_"); ++asm (".hidden _ZNSt10unique_ptrINSt10filesystem4path5_List5_ImplENS2_13_Impl_deleterEED1Ev"); ++asm (".hidden _ZNSt10unique_ptrINSt10filesystem4path5_List5_ImplENS2_13_Impl_deleterEED2Ev"); ++asm (".hidden _ZNSt12system_errorC1ESt10error_codeRKSs"); ++asm (".hidden _ZNSt12system_errorC2ESt10error_codeRKSs"); ++asm (".hidden _ZNSt15__allocated_ptrISaISt23_Sp_counted_ptr_inplaceINSt10filesystem16filesystem_error5_ImplESaIS3_ELN9__gnu_cxx12_Lock_policyE2EEEED1Ev"); ++asm (".hidden _ZNSt15__allocated_ptrISaISt23_Sp_counted_ptr_inplaceINSt10filesystem16filesystem_error5_ImplESaIS3_ELN9__gnu_cxx12_Lock_policyE2EEEED2Ev"); ++asm (".hidden _ZNSt23_Sp_counted_ptr_inplaceINSt10filesystem16filesystem_error5_ImplESaIS2_ELN9__gnu_cxx12_Lock_policyE2EED2Ev"); ++asm (".hidden _ZNSt10filesystem4path10_S_convertIwEEDaPKT_S4_"); ++asm (".hidden _ZNSt10filesystem8__detail24__throw_conversion_errorEv"); ++//asm (".hidden _ZTIZNSt10filesystem4path10_S_convertIwEEDaPKT_S4_E5_UCvt"); ++//asm (".hidden _ZTSZNSt10filesystem4path10_S_convertIwEEDaPKT_S4_E5_UCvt"); ++//asm (".hidden _ZTVZNSt10filesystem4path10_S_convertIwEEDaPKT_S4_E5_UCvt"); ++//asm (".hidden _ZZNSt10filesystem4path10_S_convertIwEEDaPKT_S4_EN5_UCvtD0Ev"); ++//asm (".hidden _ZZNSt10filesystem4path10_S_convertIwEEDaPKT_S4_EN5_UCvtD1Ev"); ++//asm (".hidden _ZZNSt10filesystem4path10_S_convertIwEEDaPKT_S4_EN5_UCvtD2Ev"); ++asm (".hidden _ZNKSt10filesystem4path5_List5_Impl4copyEv"); ++asm (".hidden _ZNSbIwSt11char_traitsIwESaIwEE12_M_leak_hardEv"); ++asm (".hidden _ZNSs12_M_leak_hardEv"); ++asm (".hidden _ZNSs4swapERSs"); ++//asm (".hidden _ZNSs6appendERKSs"); ++asm (".hidden _ZNSt10filesystem4path5_List5beginEv"); ++asm (".hidden _ZNSt10filesystem4path7_Parser4nextEv"); ++asm (".hidden _ZNSt10filesystem4pathD1Ev"); ++asm (".hidden _ZNSt10filesystem4pathD2Ev"); ++#ifndef __i386__ ++asm (".hidden _ZNSs6resizeEmc"); ++asm (".hidden _ZNSs9_M_mutateEmmm"); ++asm (".hidden _ZNSs6insertEmPKcm"); ++asm (".hidden _ZNSbIwSt11char_traitsIwESaIwEE9_M_mutateEmmm"); ++//asm (".hidden _ZSt16__do_str_codecvtISswSt7codecvtIwc11__mbstate_tES1_MS2_KFNSt12codecvt_base6resultERS1_PKwS7_RS7_PcS9_RS9_EEbPKT0_SF_RT_RKT1_RT2_RmT3_"); ++asm (".hidden _ZNSsC2ERKSsmm"); ++asm (".hidden _ZNSsC1ERKSsmm"); ++asm (".hidden _ZNSbIwSt11char_traitsIwESaIwEE7reserveEm"); ++asm (".hidden _ZNSs7reserveEm"); ++asm (".hidden _ZNSbIwSt11char_traitsIwESaIwEE6resizeEmw"); ++asm (".hidden _ZNSt16_Sp_counted_baseILN9__gnu_cxx12_Lock_policyE2EE24_M_release_last_use_coldEv"); ++asm (".hidden _ZSt16__do_str_codecvtISbIwSt11char_traitsIwESaIwEEcSt7codecvtIwc11__mbstate_tES5_MS6_KFNSt12codecvt_base6resultERS5_PKcSB_RSB_PwSD_RSD_EEbPKT0_SJ_RT_RKT1_RT2_RmT3_"); ++#endif ++#ifdef __i386__ ++asm (".hidden _ZNSbIwSt11char_traitsIwESaIwEE6resizeEjw"); ++asm (".hidden _ZNSbIwSt11char_traitsIwESaIwEE7reserveEj"); ++asm (".hidden _ZNSbIwSt11char_traitsIwESaIwEE9_M_mutateEjjj"); ++asm (".hidden _ZNSs6insertEjPKcj"); ++asm (".hidden _ZNSs6resizeEjc"); ++asm (".hidden _ZNSs7reserveEj"); ++asm (".hidden _ZNSs9_M_mutateEjjj"); ++asm (".hidden _ZNSsC1ERKSsjj"); ++asm (".hidden _ZNSsC2ERKSsjj"); ++asm (".hidden _ZSt16__do_str_codecvtISbIwSt11char_traitsIwESaIwEEcSt7codecvtIwc11__mbstate_tES5_MS6_KFNSt12codecvt_base6resultERS5_PKcSB_RSB_PwSD_RSD_EEbPKT0_SJ_RT_RKT1_RT2_RjT3_"); ++asm (".hidden _ZSt16__do_str_codecvtISswSt7codecvtIwc11__mbstate_tES1_MS2_KFNSt12codecvt_base6resultERS1_PKwS7_RS7_PcS9_RS9_EEbPKT0_SF_RT_RKT1_RT2_RjT3_"); ++#endif ++asm (".hidden _ZNSt10filesystem4path8_CodecvtIwED0Ev"); ++asm (".hidden _ZNSt10filesystem4path8_CodecvtIwED1Ev"); ++asm (".hidden _ZNSt10filesystem4path8_CodecvtIwED2Ev"); ++asm (".hidden _ZNSt12codecvt_utf8IwLm1114111ELSt12codecvt_mode0EED0Ev"); ++asm (".hidden _ZNSt12codecvt_utf8IwLm1114111ELSt12codecvt_mode0EED1Ev"); ++asm (".hidden _ZNSt12codecvt_utf8IwLm1114111ELSt12codecvt_mode0EED2Ev"); ++asm (".hidden _ZTINSt10filesystem4path8_CodecvtIwEE"); ++asm (".hidden _ZTISt12codecvt_utf8IwLm1114111ELSt12codecvt_mode0EE"); ++asm (".hidden _ZTSNSt10filesystem4path8_CodecvtIwEE"); ++asm (".hidden _ZTSSt12codecvt_utf8IwLm1114111ELSt12codecvt_mode0EE"); ++asm (".hidden _ZTVNSt10filesystem4path8_CodecvtIwEE"); ++asm (".hidden _ZTVSt12codecvt_utf8IwLm1114111ELSt12codecvt_mode0EE"); ++//asm (".hidden _ZNSt12_Destroy_auxILb0EE9__destroyIPNSt10filesystem4path5_CmptEEEvT_S6_"); +diff --git a/libstdc++-v3/src/nonshared17/cow-string-inst.cc b/libstdc++-v3/src/nonshared17/cow-string-inst.cc +new file mode 100644 +index 000000000..8c28b1249 +--- /dev/null ++++ b/libstdc++-v3/src/nonshared17/cow-string-inst.cc +@@ -0,0 +1,23 @@ ++// Copyright (C) 2019-2023 Free Software Foundation, Inc. ++// ++// This file is part of the GNU ISO C++ Library. This library is free ++// software; you can redistribute it and/or modify it under the ++// terms of the GNU General Public License as published by the ++// Free Software Foundation; either version 3, or (at your option) ++// any later version. ++ ++// This library is distributed in the hope that it will be useful, ++// but WITHOUT ANY WARRANTY; without even the implied warranty of ++// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the ++// GNU General Public License for more details. ++ ++// Under Section 7 of GPL version 3, you are granted additional ++// permissions described in the GCC Runtime Library Exception, version ++// 3.1, as published by the Free Software Foundation. ++ ++// You should have received a copy of the GNU General Public License and ++// a copy of the GCC Runtime Library Exception along with this program; ++// see the files COPYING3 and COPYING.RUNTIME respectively. If not, see ++// . ++ ++#include "../c++17/cow-string-inst.cc" +diff --git a/libstdc++-v3/src/nonshared17/cow-string-inst110.cc b/libstdc++-v3/src/nonshared17/cow-string-inst110.cc +new file mode 100644 +index 000000000..26bb5d6ef +--- /dev/null ++++ b/libstdc++-v3/src/nonshared17/cow-string-inst110.cc +@@ -0,0 +1,37 @@ ++// Copyright (C) 2019-2023 Free Software Foundation, Inc. ++// ++// This file is part of the GNU ISO C++ Library. This library is free ++// software; you can redistribute it and/or modify it under the ++// terms of the GNU General Public License as published by the ++// Free Software Foundation; either version 3, or (at your option) ++// any later version. ++ ++// This library is distributed in the hope that it will be useful, ++// but WITHOUT ANY WARRANTY; without even the implied warranty of ++// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the ++// GNU General Public License for more details. ++ ++// Under Section 7 of GPL version 3, you are granted additional ++// permissions described in the GCC Runtime Library Exception, version ++// 3.1, as published by the Free Software Foundation. ++ ++// You should have received a copy of the GNU General Public License and ++// a copy of the GCC Runtime Library Exception along with this program; ++// see the files COPYING3 and COPYING.RUNTIME respectively. If not, see ++// . ++ ++#include "../c++17/cow-string-inst.cc" ++asm (".hidden _ZNSsC2ENSs12__sv_wrapperERKSaIcE"); ++asm (".hidden _ZNSsC1ENSs12__sv_wrapperERKSaIcE"); ++asm (".hidden _ZNSs12__sv_wrapperC2ESt17basic_string_viewIcSt11char_traitsIcEE"); ++asm (".hidden _ZNSs12__sv_wrapperC1ESt17basic_string_viewIcSt11char_traitsIcEE"); ++asm (".hidden _ZNSs17_S_to_string_viewESt17basic_string_viewIcSt11char_traitsIcEE"); ++asm (".hidden _ZNKSscvSt17basic_string_viewIcSt11char_traitsIcEEEv"); ++asm (".hidden _ZNSs4dataEv"); ++asm (".hidden _ZNSbIwSt11char_traitsIwESaIwEEC2ENS2_12__sv_wrapperERKS1_"); ++asm (".hidden _ZNSbIwSt11char_traitsIwESaIwEEC1ENS2_12__sv_wrapperERKS1_"); ++asm (".hidden _ZNSbIwSt11char_traitsIwESaIwEE12__sv_wrapperC2ESt17basic_string_viewIwS0_E"); ++asm (".hidden _ZNSbIwSt11char_traitsIwESaIwEE12__sv_wrapperC1ESt17basic_string_viewIwS0_E"); ++asm (".hidden _ZNSbIwSt11char_traitsIwESaIwEE17_S_to_string_viewESt17basic_string_viewIwS0_E"); ++asm (".hidden _ZNKSbIwSt11char_traitsIwESaIwEEcvSt17basic_string_viewIwS0_EEv"); ++asm (".hidden _ZNSbIwSt11char_traitsIwESaIwEE4dataEv"); +diff --git a/libstdc++-v3/src/nonshared17/floating_from_chars.cc b/libstdc++-v3/src/nonshared17/floating_from_chars.cc +new file mode 100644 +index 000000000..1a9cf1e50 +--- /dev/null ++++ b/libstdc++-v3/src/nonshared17/floating_from_chars.cc +@@ -0,0 +1,45 @@ ++// Copyright (C) 2019-2023 Free Software Foundation, Inc. ++// ++// This file is part of the GNU ISO C++ Library. This library is free ++// software; you can redistribute it and/or modify it under the ++// terms of the GNU General Public License as published by the ++// Free Software Foundation; either version 3, or (at your option) ++// any later version. ++ ++// This library is distributed in the hope that it will be useful, ++// but WITHOUT ANY WARRANTY; without even the implied warranty of ++// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the ++// GNU General Public License for more details. ++ ++// Under Section 7 of GPL version 3, you are granted additional ++// permissions described in the GCC Runtime Library Exception, version ++// 3.1, as published by the Free Software Foundation. ++ ++// You should have received a copy of the GNU General Public License and ++// a copy of the GCC Runtime Library Exception along with this program; ++// see the files COPYING3 and COPYING.RUNTIME respectively. If not, see ++// . ++ ++#include "../c++17/floating_from_chars.cc" ++#if defined(__i386__) || (defined(__powerpc__) && !defined(__powerpc64__)) ++#else ++//asm (".hidden _ZNSt7__cxx1112basic_stringIcSt11char_traitsIcENSt3pmr21polymorphic_allocatorIcEEE9_M_createERmm"); ++asm (".hidden _ZNSt7__cxx1112basic_stringIcSt11char_traitsIcENSt3pmr21polymorphic_allocatorIcEEE9_M_mutateEmmPKcm"); ++#endif ++#if defined(__s390x__) || defined(__powerpc64__) ++//asm (".hidden _ZSt10from_charsPKcS0_RgSt12chars_format"); ++#endif ++#if !defined(__i386__) ++//asm (".hidden _ZSt10from_charsIiENSt9enable_ifIXsrSt5__or_IJS1_IJSt7is_sameINSt9remove_cvIT_E4typeEaES2_IS6_sES2_IS6_iES2_IS6_lES2_IS6_xES2_IS6_nEEES1_IJS2_IS6_hES2_IS6_tES2_IS6_jES2_IS6_mES2_IS6_yES2_IS6_oEEES2_IcS6_EEE5valueESt17from_chars_resultE4typeEPKcSR_RS4_i"); ++//asm (".hidden _ZSt10from_charsIiENSt9enable_ifIXsrSt5__or_IIS1_IISt7is_sameINSt9remove_cvIT_E4typeEaES2_IS6_sES2_IS6_iES2_IS6_lES2_IS6_xES2_IS6_nEEES1_IIS2_IS6_hES2_IS6_tES2_IS6_jES2_IS6_mES2_IS6_yES2_IS6_oEEES2_IcS6_EEE5valueESt17from_chars_resultE4typeEPKcSR_RS4_i"); ++asm (".hidden _ZNSt7__cxx1112basic_stringIcSt11char_traitsIcENSt3pmr21polymorphic_allocatorIcEEE15_M_replace_coldEPcmPKcmm"); ++#endif ++//asm (".hidden _ZZNSt8__detail25__from_chars_alnum_to_valILb0EEEhhE7__table"); ++#ifdef __i386__ ++asm (".hidden _ZNSt7__cxx1112basic_stringIcSt11char_traitsIcENSt3pmr21polymorphic_allocatorIcEEE9_M_mutateEjjPKcj"); ++asm (".hidden _ZNSt7__cxx1112basic_stringIcSt11char_traitsIcENSt3pmr21polymorphic_allocatorIcEEE9_M_createERjj"); ++asm (".hidden _ZNSt7__cxx1112basic_stringIcSt11char_traitsIcENSt3pmr21polymorphic_allocatorIcEEE15_M_replace_coldEPcjPKcjj"); ++asm (".hidden _ZSt10from_charsIiENSt9enable_ifIXsrSt5__or_IIS1_IISt7is_sameINSt9remove_cvIT_E4typeEaES2_IS6_sES2_IS6_iES2_IS6_lES2_IS6_xEEES1_IIS2_IS6_hES2_IS6_tES2_IS6_jES2_IS6_mES2_IS6_yEEES2_IcS6_EEE5valueESt17from_chars_resultE4typeEPKcSP_RS4_i"); ++asm (".hidden _ZSt10from_charsIiENSt9enable_ifIXsrSt5__or_IJS1_IJSt7is_sameINSt9remove_cvIT_E4typeEaES2_IS6_sES2_IS6_iES2_IS6_lES2_IS6_xEEES1_IJS2_IS6_hES2_IS6_tES2_IS6_jES2_IS6_mES2_IS6_yEEES2_IcS6_EEE5valueESt17from_chars_resultE4typeEPKcSP_RS4_i"); ++#endif ++asm (".hidden _ZNSt8__detail31__from_chars_alnum_to_val_tableILb0EE5valueE"); +diff --git a/libstdc++-v3/src/nonshared17/floating_from_chars110.cc b/libstdc++-v3/src/nonshared17/floating_from_chars110.cc +new file mode 100644 +index 000000000..d4b8fca1c +--- /dev/null ++++ b/libstdc++-v3/src/nonshared17/floating_from_chars110.cc +@@ -0,0 +1,34 @@ ++// Copyright (C) 2019-2023 Free Software Foundation, Inc. ++// ++// This file is part of the GNU ISO C++ Library. This library is free ++// software; you can redistribute it and/or modify it under the ++// terms of the GNU General Public License as published by the ++// Free Software Foundation; either version 3, or (at your option) ++// any later version. ++ ++// This library is distributed in the hope that it will be useful, ++// but WITHOUT ANY WARRANTY; without even the implied warranty of ++// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the ++// GNU General Public License for more details. ++ ++// Under Section 7 of GPL version 3, you are granted additional ++// permissions described in the GCC Runtime Library Exception, version ++// 3.1, as published by the Free Software Foundation. ++ ++// You should have received a copy of the GNU General Public License and ++// a copy of the GCC Runtime Library Exception along with this program; ++// see the files COPYING3 and COPYING.RUNTIME respectively. If not, see ++// . ++ ++#define _GLIBCXX_NONSHARED_CXX11_110 ++#include "../c++17/floating_from_chars.cc" ++asm (".hidden _ZSt10from_charsIiENSt9enable_ifIXsrSt5__or_IJS1_IJSt7is_sameINSt9remove_cvIT_E4typeEaES2_IS6_sES2_IS6_iES2_IS6_lES2_IS6_xES2_IS6_nEEES1_IJS2_IS6_hES2_IS6_tES2_IS6_jES2_IS6_mES2_IS6_yES2_IS6_oEEES2_IcS6_EEE5valueESt17from_chars_resultE4typeEPKcSR_RS4_i"); ++asm (".hidden _ZSt10from_charsIiENSt9enable_ifIXsrSt5__or_IIS1_IISt7is_sameINSt9remove_cvIT_E4typeEaES2_IS6_sES2_IS6_iES2_IS6_lES2_IS6_xES2_IS6_nEEES1_IIS2_IS6_hES2_IS6_tES2_IS6_jES2_IS6_mES2_IS6_yES2_IS6_oEEES2_IcS6_EEE5valueESt17from_chars_resultE4typeEPKcSR_RS4_i"); ++#ifndef __s390x__ ++asm (".hidden _ZNSt7__cxx1112basic_stringIcSt11char_traitsIcENSt3pmr21polymorphic_allocatorIcEEE9_M_createERmm"); ++#ifndef __i386__ ++asm (".hidden _ZNSt7__cxx1112basic_stringIcSt11char_traitsIcENSt3pmr21polymorphic_allocatorIcEEE15_M_replace_coldEPcmPKcmm"); ++#endif ++#endif ++asm (".hidden _ZNSt7__cxx1112basic_stringIcSt11char_traitsIcENSt3pmr21polymorphic_allocatorIcEEE9_M_mutateEmmPKcm"); ++asm (".hidden _ZNSt8__detail31__from_chars_alnum_to_val_tableILb0EE5valueE"); +diff --git a/libstdc++-v3/src/nonshared17/floating_to_chars.cc b/libstdc++-v3/src/nonshared17/floating_to_chars.cc +new file mode 100644 +index 000000000..02cab7eed +--- /dev/null ++++ b/libstdc++-v3/src/nonshared17/floating_to_chars.cc +@@ -0,0 +1,93 @@ ++// Copyright (C) 2019-2023 Free Software Foundation, Inc. ++// ++// This file is part of the GNU ISO C++ Library. This library is free ++// software; you can redistribute it and/or modify it under the ++// terms of the GNU General Public License as published by the ++// Free Software Foundation; either version 3, or (at your option) ++// any later version. ++ ++// This library is distributed in the hope that it will be useful, ++// but WITHOUT ANY WARRANTY; without even the implied warranty of ++// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the ++// GNU General Public License for more details. ++ ++// Under Section 7 of GPL version 3, you are granted additional ++// permissions described in the GCC Runtime Library Exception, version ++// 3.1, as published by the Free Software Foundation. ++ ++// You should have received a copy of the GNU General Public License and ++// a copy of the GCC Runtime Library Exception along with this program; ++// see the files COPYING3 and COPYING.RUNTIME respectively. If not, see ++// . ++ ++#include "../c++17/floating_to_chars.cc" ++#ifdef __SIZEOF_INT128__ ++#if defined (__x86_64__) || defined(__powerpc64__) ++#if __BYTE_ORDER__ == __ORDER_LITTLE_ENDIAN__ ++//asm (".hidden _ZNSt8__detail13__to_chars_10IjEENSt9enable_ifIXsrSt5__or_IIS2_IISt7is_sameINSt9remove_cvIT_E4typeEaES3_IS7_sES3_IS7_iES3_IS7_lES3_IS7_xES3_IS7_nEEES2_IIS3_IS7_hES3_IS7_tES3_IS7_jES3_IS7_mES3_IS7_yES3_IS7_oEEES3_IcS7_EEE5valueESt15to_chars_resultE4typeEPcSR_S5_"); ++//asm (".hidden _ZNSt8__detail13__to_chars_10IjEENSt9enable_ifIXsrSt5__or_IJS2_IJSt7is_sameINSt9remove_cvIT_E4typeEaES3_IS7_sES3_IS7_iES3_IS7_lES3_IS7_xES3_IS7_nEEES2_IJS3_IS7_hES3_IS7_tES3_IS7_jES3_IS7_mES3_IS7_yES3_IS7_oEEES3_IcS7_EEE5valueESt15to_chars_resultE4typeEPcSR_S5_"); ++#endif ++#endif ++#if defined (__powerpc64__) ++#if __BYTE_ORDER__ == __ORDER_BIG_ENDIAN__ ++//asm (".hidden _ZNSt8__detail10__to_charsIjEESt15to_chars_resultPcS2_T_i"); ++//asm (".hidden _ZNSt8__detail12__to_chars_8IjEENSt9enable_ifIXsrSt5__or_IIS2_IISt7is_sameINSt9remove_cvIT_E4typeEaES3_IS7_sES3_IS7_iES3_IS7_lES3_IS7_xES3_IS7_nEEES2_IIS3_IS7_hES3_IS7_tES3_IS7_jES3_IS7_mES3_IS7_yES3_IS7_oEEES3_IcS7_EEE5valueESt15to_chars_resultE4typeEPcSR_S5_"); ++//asm (".hidden _ZNSt8__detail12__to_chars_8IjEENSt9enable_ifIXsrSt5__or_IJS2_IJSt7is_sameINSt9remove_cvIT_E4typeEaES3_IS7_sES3_IS7_iES3_IS7_lES3_IS7_xES3_IS7_nEEES2_IJS3_IS7_hES3_IS7_tES3_IS7_jES3_IS7_mES3_IS7_yES3_IS7_oEEES3_IcS7_EEE5valueESt15to_chars_resultE4typeEPcSR_S5_"); ++//asm (".hidden _ZNSt8__detail13__to_chars_16IjEENSt9enable_ifIXsrSt5__or_IIS2_IISt7is_sameINSt9remove_cvIT_E4typeEaES3_IS7_sES3_IS7_iES3_IS7_lES3_IS7_xES3_IS7_nEEES2_IIS3_IS7_hES3_IS7_tES3_IS7_jES3_IS7_mES3_IS7_yES3_IS7_oEEES3_IcS7_EEE5valueESt15to_chars_resultE4typeEPcSR_S5_"); ++//asm (".hidden _ZNSt8__detail13__to_chars_16IjEENSt9enable_ifIXsrSt5__or_IJS2_IJSt7is_sameINSt9remove_cvIT_E4typeEaES3_IS7_sES3_IS7_iES3_IS7_lES3_IS7_xES3_IS7_nEEES2_IJS3_IS7_hES3_IS7_tES3_IS7_jES3_IS7_mES3_IS7_yES3_IS7_oEEES3_IcS7_EEE5valueESt15to_chars_resultE4typeEPcSR_S5_"); ++//asm (".hidden _ZSt12__to_chars_iIjENSt9enable_ifIXsrSt5__or_IIS1_IISt7is_sameINSt9remove_cvIT_E4typeEaES2_IS6_sES2_IS6_iES2_IS6_lES2_IS6_xES2_IS6_nEEES1_IIS2_IS6_hES2_IS6_tES2_IS6_jES2_IS6_mES2_IS6_yES2_IS6_oEEES2_IcS6_EEE5valueESt15to_chars_resultE4typeEPcSQ_S4_i"); ++//asm (".hidden _ZSt12__to_chars_iIjENSt9enable_ifIXsrSt5__or_IJS1_IJSt7is_sameINSt9remove_cvIT_E4typeEaES2_IS6_sES2_IS6_iES2_IS6_lES2_IS6_xES2_IS6_nEEES1_IJS2_IS6_hES2_IS6_tES2_IS6_jES2_IS6_mES2_IS6_yES2_IS6_oEEES2_IcS6_EEE5valueESt15to_chars_resultE4typeEPcSQ_S4_i"); ++#endif ++#endif ++#if defined (__s390x__) ++//asm (".hidden _ZNSt8__detail12__to_chars_8IjEENSt9enable_ifIXsrSt5__or_IIS2_IISt7is_sameINSt9remove_cvIT_E4typeEaES3_IS7_sES3_IS7_iES3_IS7_lES3_IS7_xES3_IS7_nEEES2_IIS3_IS7_hES3_IS7_tES3_IS7_jES3_IS7_mES3_IS7_yES3_IS7_oEEES3_IcS7_EEE5valueESt15to_chars_resultE4typeEPcSR_S5_"); ++//asm (".hidden _ZNSt8__detail12__to_chars_8IjEENSt9enable_ifIXsrSt5__or_IJS2_IJSt7is_sameINSt9remove_cvIT_E4typeEaES3_IS7_sES3_IS7_iES3_IS7_lES3_IS7_xES3_IS7_nEEES2_IJS3_IS7_hES3_IS7_tES3_IS7_jES3_IS7_mES3_IS7_yES3_IS7_oEEES3_IcS7_EEE5valueESt15to_chars_resultE4typeEPcSR_S5_"); ++//asm (".hidden _ZNSt8__detail13__to_chars_16IjEENSt9enable_ifIXsrSt5__or_IIS2_IISt7is_sameINSt9remove_cvIT_E4typeEaES3_IS7_sES3_IS7_iES3_IS7_lES3_IS7_xES3_IS7_nEEES2_IIS3_IS7_hES3_IS7_tES3_IS7_jES3_IS7_mES3_IS7_yES3_IS7_oEEES3_IcS7_EEE5valueESt15to_chars_resultE4typeEPcSR_S5_"); ++//asm (".hidden _ZNSt8__detail13__to_chars_16IjEENSt9enable_ifIXsrSt5__or_IJS2_IJSt7is_sameINSt9remove_cvIT_E4typeEaES3_IS7_sES3_IS7_iES3_IS7_lES3_IS7_xES3_IS7_nEEES2_IJS3_IS7_hES3_IS7_tES3_IS7_jES3_IS7_mES3_IS7_yES3_IS7_oEEES3_IcS7_EEE5valueESt15to_chars_resultE4typeEPcSR_S5_"); ++//asm (".hidden _ZSt12__to_chars_iIjENSt9enable_ifIXsrSt5__or_IIS1_IISt7is_sameINSt9remove_cvIT_E4typeEaES2_IS6_sES2_IS6_iES2_IS6_lES2_IS6_xES2_IS6_nEEES1_IIS2_IS6_hES2_IS6_tES2_IS6_jES2_IS6_mES2_IS6_yES2_IS6_oEEES2_IcS6_EEE5valueESt15to_chars_resultE4typeEPcSQ_S4_i"); ++//asm (".hidden _ZSt12__to_chars_iIjENSt9enable_ifIXsrSt5__or_IJS1_IJSt7is_sameINSt9remove_cvIT_E4typeEaES2_IS6_sES2_IS6_iES2_IS6_lES2_IS6_xES2_IS6_nEEES1_IJS2_IS6_hES2_IS6_tES2_IS6_jES2_IS6_mES2_IS6_yES2_IS6_oEEES2_IcS6_EEE5valueESt15to_chars_resultE4typeEPcSQ_S4_i"); ++#endif ++#if defined (__powerpc64__) || defined (__s390x__) ++//asm (".hidden _ZSt8to_charsPcS_g"); ++//asm (".hidden _ZSt8to_charsPcS_gSt12chars_format"); ++//asm (".hidden _ZSt8to_charsPcS_gSt12chars_formati"); ++#endif ++#if !defined (__powerpc64__) && !defined (__s390x__) ++//asm (".hidden _ZNSt8__detail13__to_chars_16IoEENSt9enable_ifIXsrSt5__or_IIS2_IISt7is_sameINSt9remove_cvIT_E4typeEaES3_IS7_sES3_IS7_iES3_IS7_lES3_IS7_xES3_IS7_nEEES2_IIS3_IS7_hES3_IS7_tES3_IS7_jES3_IS7_mES3_IS7_yES3_IS7_oEEES3_IcS7_EEE5valueESt15to_chars_resultE4typeEPcSR_S5_"); ++//asm (".hidden _ZNSt8__detail13__to_chars_16IoEENSt9enable_ifIXsrSt5__or_IJS2_IJSt7is_sameINSt9remove_cvIT_E4typeEaES3_IS7_sES3_IS7_iES3_IS7_lES3_IS7_xES3_IS7_nEEES2_IJS3_IS7_hES3_IS7_tES3_IS7_jES3_IS7_mES3_IS7_yES3_IS7_oEEES3_IcS7_EEE5valueESt15to_chars_resultE4typeEPcSR_S5_"); ++//asm (".hidden _ZZNSt8__detail13__to_chars_16IoEENSt9enable_ifIXsrSt5__or_IIS2_IISt7is_sameINSt9remove_cvIT_E4typeEaES3_IS7_sES3_IS7_iES3_IS7_lES3_IS7_xES3_IS7_nEEES2_IIS3_IS7_hES3_IS7_tES3_IS7_jES3_IS7_mES3_IS7_yES3_IS7_oEEES3_IcS7_EEE5valueESt15to_chars_resultE4typeEPcSR_S5_E8__digits"); ++//asm (".hidden _ZZNSt8__detail13__to_chars_16IoEENSt9enable_ifIXsrSt5__or_IJS2_IJSt7is_sameINSt9remove_cvIT_E4typeEaES3_IS7_sES3_IS7_iES3_IS7_lES3_IS7_xES3_IS7_nEEES2_IJS3_IS7_hES3_IS7_tES3_IS7_jES3_IS7_mES3_IS7_yES3_IS7_oEEES3_IcS7_EEE5valueESt15to_chars_resultE4typeEPcSR_S5_E8__digits"); ++//asm (".hidden _ZZNSt8__detail10__to_charsIoEESt15to_chars_resultPcS2_T_iE8__digits"); ++#endif ++//asm (".hidden _ZZNSt8__detail18__to_chars_10_implIoEEvPcjT_E8__digits"); ++//asm (".hidden _ZZNSt8__detail18__to_chars_10_implIjEEvPcjT_E8__digits"); ++//asm (".hidden _ZZNSt8__detail18__to_chars_10_implImEEvPcjT_E8__digits"); ++#else ++//asm (".hidden _ZSt12__to_chars_iIiENSt9enable_ifIXsrSt5__or_IIS1_IISt7is_sameINSt9remove_cvIT_E4typeEaES2_IS6_sES2_IS6_iES2_IS6_lES2_IS6_xEEES1_IIS2_IS6_hES2_IS6_tES2_IS6_jES2_IS6_mES2_IS6_yEEES2_IcS6_EEE5valueESt15to_chars_resultE4typeEPcSO_S4_i"); ++//asm (".hidden _ZSt12__to_chars_iIiENSt9enable_ifIXsrSt5__or_IJS1_IJSt7is_sameINSt9remove_cvIT_E4typeEaES2_IS6_sES2_IS6_iES2_IS6_lES2_IS6_xEEES1_IJS2_IS6_hES2_IS6_tES2_IS6_jES2_IS6_mES2_IS6_yEEES2_IcS6_EEE5valueESt15to_chars_resultE4typeEPcSO_S4_i"); ++//asm (".hidden _ZZNSt8__detail13__to_chars_16IjEENSt9enable_ifIXsrSt5__or_IIS2_IISt7is_sameINSt9remove_cvIT_E4typeEaES3_IS7_sES3_IS7_iES3_IS7_lES3_IS7_xEEES2_IIS3_IS7_hES3_IS7_tES3_IS7_jES3_IS7_mES3_IS7_yEEES3_IcS7_EEE5valueESt15to_chars_resultE4typeEPcSP_S5_E8__digits"); ++//asm (".hidden _ZZNSt8__detail13__to_chars_16IjEENSt9enable_ifIXsrSt5__or_IJS2_IJSt7is_sameINSt9remove_cvIT_E4typeEaES3_IS7_sES3_IS7_iES3_IS7_lES3_IS7_xEEES2_IJS3_IS7_hES3_IS7_tES3_IS7_jES3_IS7_mES3_IS7_yEEES3_IcS7_EEE5valueESt15to_chars_resultE4typeEPcSP_S5_E8__digits"); ++//asm (".hidden _ZZNSt8__detail18__to_chars_10_implIjEEvPcjT_E8__digits"); ++//asm (".hidden _ZZNSt8__detail18__to_chars_10_implIyEEvPcjT_E8__digits"); ++#if !defined(__i386__) ++//asm (".hidden _ZNSt8__detail12__to_chars_8IjEENSt9enable_ifIXsrSt5__or_IIS2_IISt7is_sameINSt9remove_cvIT_E4typeEaES3_IS7_sES3_IS7_iES3_IS7_lES3_IS7_xEEES2_IIS3_IS7_hES3_IS7_tES3_IS7_jES3_IS7_mES3_IS7_yEEES3_IcS7_EEE5valueESt15to_chars_resultE4typeEPcSP_S5_"); ++//asm (".hidden _ZNSt8__detail12__to_chars_8IjEENSt9enable_ifIXsrSt5__or_IJS2_IJSt7is_sameINSt9remove_cvIT_E4typeEaES3_IS7_sES3_IS7_iES3_IS7_lES3_IS7_xEEES2_IJS3_IS7_hES3_IS7_tES3_IS7_jES3_IS7_mES3_IS7_yEEES3_IcS7_EEE5valueESt15to_chars_resultE4typeEPcSP_S5_"); ++//asm (".hidden _ZNSt8__detail13__to_chars_16IjEENSt9enable_ifIXsrSt5__or_IJS2_IJSt7is_sameINSt9remove_cvIT_E4typeEaES3_IS7_sES3_IS7_iES3_IS7_lES3_IS7_xEEES2_IJS3_IS7_hES3_IS7_tES3_IS7_jES3_IS7_mES3_IS7_yEEES3_IcS7_EEE5valueESt15to_chars_resultE4typeEPcSP_S5_"); ++//asm (".hidden _ZNSt8__detail13__to_chars_16IjEENSt9enable_ifIXsrSt5__or_IIS2_IISt7is_sameINSt9remove_cvIT_E4typeEaES3_IS7_sES3_IS7_iES3_IS7_lES3_IS7_xEEES2_IIS3_IS7_hES3_IS7_tES3_IS7_jES3_IS7_mES3_IS7_yEEES3_IcS7_EEE5valueESt15to_chars_resultE4typeEPcSP_S5_"); ++//asm (".hidden _ZSt12__to_chars_iIjENSt9enable_ifIXsrSt5__or_IIS1_IISt7is_sameINSt9remove_cvIT_E4typeEaES2_IS6_sES2_IS6_iES2_IS6_lES2_IS6_xEEES1_IIS2_IS6_hES2_IS6_tES2_IS6_jES2_IS6_mES2_IS6_yEEES2_IcS6_EEE5valueESt15to_chars_resultE4typeEPcSO_S4_i"); ++//asm (".hidden _ZSt12__to_chars_iIjENSt9enable_ifIXsrSt5__or_IJS1_IJSt7is_sameINSt9remove_cvIT_E4typeEaES2_IS6_sES2_IS6_iES2_IS6_lES2_IS6_xEEES1_IJS2_IS6_hES2_IS6_tES2_IS6_jES2_IS6_mES2_IS6_yEEES2_IcS6_EEE5valueESt15to_chars_resultE4typeEPcSO_S4_i"); ++#endif ++#endif ++#if !defined(__i386__) ++asm (".hidden _ZNSt8__detail18__to_chars_10_implImEEvPcjT_"); ++//asm (".hidden _ZSt12__to_chars_iIoENSt9enable_ifIXsrSt5__or_IJS1_IJSt7is_sameINSt9remove_cvIT_E4typeEaES2_IS6_sES2_IS6_iES2_IS6_lES2_IS6_xES2_IS6_nEEES1_IJS2_IS6_hES2_IS6_tES2_IS6_jES2_IS6_mES2_IS6_yES2_IS6_oEEES2_IcS6_EEE5valueESt15to_chars_resultE4typeEPcSQ_S4_i"); ++//asm (".hidden _ZSt12__to_chars_iIiENSt9enable_ifIXsrSt5__or_IIS1_IISt7is_sameINSt9remove_cvIT_E4typeEaES2_IS6_sES2_IS6_iES2_IS6_lES2_IS6_xES2_IS6_nEEES1_IIS2_IS6_hES2_IS6_tES2_IS6_jES2_IS6_mES2_IS6_yES2_IS6_oEEES2_IcS6_EEE5valueESt15to_chars_resultE4typeEPcSQ_S4_i"); ++//asm (".hidden _ZSt12__to_chars_iIiENSt9enable_ifIXsrSt5__or_IJS1_IJSt7is_sameINSt9remove_cvIT_E4typeEaES2_IS6_sES2_IS6_iES2_IS6_lES2_IS6_xES2_IS6_nEEES1_IJS2_IS6_hES2_IS6_tES2_IS6_jES2_IS6_mES2_IS6_yES2_IS6_oEEES2_IcS6_EEE5valueESt15to_chars_resultE4typeEPcSQ_S4_i"); ++//asm (".hidden _ZZNSt8__detail13__to_chars_16IjEENSt9enable_ifIXsrSt5__or_IIS2_IISt7is_sameINSt9remove_cvIT_E4typeEaES3_IS7_sES3_IS7_iES3_IS7_lES3_IS7_xES3_IS7_nEEES2_IIS3_IS7_hES3_IS7_tES3_IS7_jES3_IS7_mES3_IS7_yES3_IS7_oEEES3_IcS7_EEE5valueESt15to_chars_resultE4typeEPcSR_S5_E8__digits"); ++//asm (".hidden _ZZNSt8__detail13__to_chars_16IjEENSt9enable_ifIXsrSt5__or_IJS2_IJSt7is_sameINSt9remove_cvIT_E4typeEaES3_IS7_sES3_IS7_iES3_IS7_lES3_IS7_xES3_IS7_nEEES2_IJS3_IS7_hES3_IS7_tES3_IS7_jES3_IS7_mES3_IS7_yES3_IS7_oEEES3_IcS7_EEE5valueESt15to_chars_resultE4typeEPcSR_S5_E8__digits"); ++//asm (".hidden _ZSt12__to_chars_iIoENSt9enable_ifIXsrSt5__or_IIS1_IISt7is_sameINSt9remove_cvIT_E4typeEaES2_IS6_sES2_IS6_iES2_IS6_lES2_IS6_xES2_IS6_nEEES1_IIS2_IS6_hES2_IS6_tES2_IS6_jES2_IS6_mES2_IS6_yES2_IS6_oEEES2_IcS6_EEE5valueESt15to_chars_resultE4typeEPcSQ_S4_i"); ++#endif ++//asm (".hidden _ZZNSt8__detail10__to_charsIjEESt15to_chars_resultPcS2_T_iE8__digits"); ++#if defined(__i386__) ++asm (".hidden _ZNSt8__detail18__to_chars_10_implIyEEvPcjT_"); ++#endif +diff --git a/libstdc++-v3/src/nonshared17/floating_to_chars110.cc b/libstdc++-v3/src/nonshared17/floating_to_chars110.cc +new file mode 100644 +index 000000000..939e40583 +--- /dev/null ++++ b/libstdc++-v3/src/nonshared17/floating_to_chars110.cc +@@ -0,0 +1,27 @@ ++// Copyright (C) 2019-2023 Free Software Foundation, Inc. ++// ++// This file is part of the GNU ISO C++ Library. This library is free ++// software; you can redistribute it and/or modify it under the ++// terms of the GNU General Public License as published by the ++// Free Software Foundation; either version 3, or (at your option) ++// any later version. ++ ++// This library is distributed in the hope that it will be useful, ++// but WITHOUT ANY WARRANTY; without even the implied warranty of ++// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the ++// GNU General Public License for more details. ++ ++// Under Section 7 of GPL version 3, you are granted additional ++// permissions described in the GCC Runtime Library Exception, version ++// 3.1, as published by the Free Software Foundation. ++ ++// You should have received a copy of the GNU General Public License and ++// a copy of the GCC Runtime Library Exception along with this program; ++// see the files COPYING3 and COPYING.RUNTIME respectively. If not, see ++// . ++ ++#define _GLIBCXX_NONSHARED_CXX11_110 ++#include "../c++17/floating_to_chars.cc" ++asm (".hidden _ZSt12__to_chars_iIoENSt9enable_ifIXsrSt5__or_IJS1_IJSt7is_sameINSt9remove_cvIT_E4typeEaES2_IS6_sES2_IS6_iES2_IS6_lES2_IS6_xES2_IS6_nEEES1_IJS2_IS6_hES2_IS6_tES2_IS6_jES2_IS6_mES2_IS6_yES2_IS6_oEEES2_IcS6_EEE5valueESt15to_chars_resultE4typeEPcSQ_S4_i"); ++asm (".hidden _ZSt12__to_chars_iIoENSt9enable_ifIXsrSt5__or_IIS1_IISt7is_sameINSt9remove_cvIT_E4typeEaES2_IS6_sES2_IS6_iES2_IS6_lES2_IS6_xES2_IS6_nEEES1_IIS2_IS6_hES2_IS6_tES2_IS6_jES2_IS6_mES2_IS6_yES2_IS6_oEEES2_IcS6_EEE5valueESt15to_chars_resultE4typeEPcSQ_S4_i"); ++asm (".hidden _ZNSt8__detail18__to_chars_10_implIjEEvPcjT_"); +diff --git a/libstdc++-v3/src/nonshared17/fs_dir.cc b/libstdc++-v3/src/nonshared17/fs_dir.cc +new file mode 100644 +index 000000000..6b81bbb2c +--- /dev/null ++++ b/libstdc++-v3/src/nonshared17/fs_dir.cc +@@ -0,0 +1,103 @@ ++// Copyright (C) 2019-2023 Free Software Foundation, Inc. ++// ++// This file is part of the GNU ISO C++ Library. This library is free ++// software; you can redistribute it and/or modify it under the ++// terms of the GNU General Public License as published by the ++// Free Software Foundation; either version 3, or (at your option) ++// any later version. ++ ++// This library is distributed in the hope that it will be useful, ++// but WITHOUT ANY WARRANTY; without even the implied warranty of ++// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the ++// GNU General Public License for more details. ++ ++// Under Section 7 of GPL version 3, you are granted additional ++// permissions described in the GCC Runtime Library Exception, version ++// 3.1, as published by the Free Software Foundation. ++ ++// You should have received a copy of the GNU General Public License and ++// a copy of the GCC Runtime Library Exception along with this program; ++// see the files COPYING3 and COPYING.RUNTIME respectively. If not, see ++// . ++ ++#include "../c++17/fs_dir.cc" ++asm (".hidden _ZNKSt12__shared_ptrINSt10filesystem7__cxx1128recursive_directory_iterator10_Dir_stackELN9__gnu_cxx12_Lock_policyE2EE14_M_get_deleterERKSt9type_info"); ++asm (".hidden _ZNKSt12__shared_ptrINSt10filesystem7__cxx1128recursive_directory_iterator10_Dir_stackELN9__gnu_cxx12_Lock_policyE2EE3getEv"); ++asm (".hidden _ZNKSt12__shared_ptrINSt10filesystem7__cxx1128recursive_directory_iterator10_Dir_stackELN9__gnu_cxx12_Lock_policyE2EE6uniqueEv"); ++asm (".hidden _ZNKSt12__shared_ptrINSt10filesystem7__cxx1128recursive_directory_iterator10_Dir_stackELN9__gnu_cxx12_Lock_policyE2EE9use_countEv"); ++//asm (".hidden _ZNKSt12__shared_ptrINSt10filesystem7__cxx1128recursive_directory_iterator10_Dir_stackELN9__gnu_cxx12_Lock_policyE2EEcvbEv"); ++asm (".hidden _ZNKSt12__shared_ptrINSt10filesystem7__cxx114_DirELN9__gnu_cxx12_Lock_policyE2EE14_M_get_deleterERKSt9type_info"); ++asm (".hidden _ZNKSt12__shared_ptrINSt10filesystem7__cxx114_DirELN9__gnu_cxx12_Lock_policyE2EE3getEv"); ++asm (".hidden _ZNKSt12__shared_ptrINSt10filesystem7__cxx114_DirELN9__gnu_cxx12_Lock_policyE2EE6uniqueEv"); ++asm (".hidden _ZNKSt12__shared_ptrINSt10filesystem7__cxx114_DirELN9__gnu_cxx12_Lock_policyE2EE9use_countEv"); ++//asm (".hidden _ZNKSt12__shared_ptrINSt10filesystem7__cxx114_DirELN9__gnu_cxx12_Lock_policyE2EEcvbEv"); ++asm (".hidden _ZNSt10filesystem7__cxx114_Dir7advanceEbRSt10error_code"); ++asm (".hidden _ZNSt10filesystem7__cxx114_DirD1Ev"); ++asm (".hidden _ZNSt10filesystem7__cxx114_DirD2Ev"); ++#ifdef __x86_64__ ++asm (".hidden _ZNSt10filesystem9_Dir_base7advanceEbRSt10error_code"); ++//asm (".hidden _ZNSt10filesystem9_Dir_baseC1EPKcbRSt10error_code"); ++//asm (".hidden _ZNSt10filesystem9_Dir_baseC2EPKcbRSt10error_code"); ++#endif ++asm (".hidden _ZNSt12__shared_ptrINSt10filesystem7__cxx1128recursive_directory_iterator10_Dir_stackELN9__gnu_cxx12_Lock_policyE2EE4swapERS6_"); ++asm (".hidden _ZNSt12__shared_ptrINSt10filesystem7__cxx1128recursive_directory_iterator10_Dir_stackELN9__gnu_cxx12_Lock_policyE2EE5resetEv"); ++asm (".hidden _ZNSt12__shared_ptrINSt10filesystem7__cxx1128recursive_directory_iterator10_Dir_stackELN9__gnu_cxx12_Lock_policyE2EEaSEOS6_"); ++asm (".hidden _ZNSt12__shared_ptrINSt10filesystem7__cxx1128recursive_directory_iterator10_Dir_stackELN9__gnu_cxx12_Lock_policyE2EEC1EDn"); ++asm (".hidden _ZNSt12__shared_ptrINSt10filesystem7__cxx1128recursive_directory_iterator10_Dir_stackELN9__gnu_cxx12_Lock_policyE2EEC1ERKSt10__weak_ptrIS3_LS5_2EESt9nothrow_t"); ++asm (".hidden _ZNSt12__shared_ptrINSt10filesystem7__cxx1128recursive_directory_iterator10_Dir_stackELN9__gnu_cxx12_Lock_policyE2EEC2EDn"); ++asm (".hidden _ZNSt12__shared_ptrINSt10filesystem7__cxx1128recursive_directory_iterator10_Dir_stackELN9__gnu_cxx12_Lock_policyE2EEC2ERKSt10__weak_ptrIS3_LS5_2EESt9nothrow_t"); ++asm (".hidden _ZNSt12__shared_ptrINSt10filesystem7__cxx114_DirELN9__gnu_cxx12_Lock_policyE2EE4swapERS5_"); ++asm (".hidden _ZNSt12__shared_ptrINSt10filesystem7__cxx114_DirELN9__gnu_cxx12_Lock_policyE2EE5resetEv"); ++asm (".hidden _ZNSt12__shared_ptrINSt10filesystem7__cxx114_DirELN9__gnu_cxx12_Lock_policyE2EEC1EDn"); ++asm (".hidden _ZNSt12__shared_ptrINSt10filesystem7__cxx114_DirELN9__gnu_cxx12_Lock_policyE2EEC1ERKSt10__weak_ptrIS2_LS4_2EESt9nothrow_t"); ++asm (".hidden _ZNSt12__shared_ptrINSt10filesystem7__cxx114_DirELN9__gnu_cxx12_Lock_policyE2EEC2EDn"); ++asm (".hidden _ZNSt12__shared_ptrINSt10filesystem7__cxx114_DirELN9__gnu_cxx12_Lock_policyE2EEC2ERKSt10__weak_ptrIS2_LS4_2EESt9nothrow_t"); ++asm (".hidden _ZNSt16_Sp_counted_baseILN9__gnu_cxx12_Lock_policyE2EE10_M_releaseEv"); ++asm (".hidden _ZNSt23_Sp_counted_ptr_inplaceINSt10filesystem7__cxx1128recursive_directory_iterator10_Dir_stackESaIS3_ELN9__gnu_cxx12_Lock_policyE2EE10_M_destroyEv"); ++asm (".hidden _ZNSt23_Sp_counted_ptr_inplaceINSt10filesystem7__cxx1128recursive_directory_iterator10_Dir_stackESaIS3_ELN9__gnu_cxx12_Lock_policyE2EE10_M_disposeEv"); ++asm (".hidden _ZNSt23_Sp_counted_ptr_inplaceINSt10filesystem7__cxx1128recursive_directory_iterator10_Dir_stackESaIS3_ELN9__gnu_cxx12_Lock_policyE2EE14_M_get_deleterERKSt9type_info"); ++asm (".hidden _ZNSt23_Sp_counted_ptr_inplaceINSt10filesystem7__cxx1128recursive_directory_iterator10_Dir_stackESaIS3_ELN9__gnu_cxx12_Lock_policyE2EED0Ev"); ++asm (".hidden _ZNSt23_Sp_counted_ptr_inplaceINSt10filesystem7__cxx1128recursive_directory_iterator10_Dir_stackESaIS3_ELN9__gnu_cxx12_Lock_policyE2EED1Ev"); ++asm (".hidden _ZNSt23_Sp_counted_ptr_inplaceINSt10filesystem7__cxx114_DirESaIS2_ELN9__gnu_cxx12_Lock_policyE2EE10_M_destroyEv"); ++asm (".hidden _ZNSt23_Sp_counted_ptr_inplaceINSt10filesystem7__cxx114_DirESaIS2_ELN9__gnu_cxx12_Lock_policyE2EE10_M_disposeEv"); ++asm (".hidden _ZNSt23_Sp_counted_ptr_inplaceINSt10filesystem7__cxx114_DirESaIS2_ELN9__gnu_cxx12_Lock_policyE2EE14_M_get_deleterERKSt9type_info"); ++asm (".hidden _ZNSt23_Sp_counted_ptr_inplaceINSt10filesystem7__cxx114_DirESaIS2_ELN9__gnu_cxx12_Lock_policyE2EED0Ev"); ++asm (".hidden _ZNSt23_Sp_counted_ptr_inplaceINSt10filesystem7__cxx114_DirESaIS2_ELN9__gnu_cxx12_Lock_policyE2EED1Ev"); ++asm (".hidden _ZNSt5dequeINSt10filesystem7__cxx114_DirESaIS2_EE12emplace_backIIS2_EEERS2_DpOT_"); ++asm (".hidden _ZNSt5dequeINSt10filesystem7__cxx114_DirESaIS2_EE12emplace_backIJS2_EEERS2_DpOT_"); ++//asm (".hidden _ZNSt5dequeINSt10filesystem7__cxx114_DirESaIS2_EE16_M_push_back_auxIIRP11__dirstreamRKNS1_4pathEEEEvDpOT_"); ++//asm (".hidden _ZNSt5dequeINSt10filesystem7__cxx114_DirESaIS2_EE16_M_push_back_auxIJRP11__dirstreamRKNS1_4pathEEEEvDpOT_"); ++asm (".hidden _ZNSt5dequeINSt10filesystem7__cxx114_DirESaIS2_EED1Ev"); ++asm (".hidden _ZNSt5dequeINSt10filesystem7__cxx114_DirESaIS2_EED2Ev"); ++asm (".hidden _ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC1IS3_EEPKcRKS3_"); ++asm (".hidden _ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2IS3_EEPKcRKS3_"); ++asm (".hidden _ZTISt11_Mutex_baseILN9__gnu_cxx12_Lock_policyE2EE"); ++asm (".hidden _ZTISt16_Sp_counted_baseILN9__gnu_cxx12_Lock_policyE2EE"); ++asm (".hidden _ZTISt23_Sp_counted_ptr_inplaceINSt10filesystem7__cxx1128recursive_directory_iterator10_Dir_stackESaIS3_ELN9__gnu_cxx12_Lock_policyE2EE"); ++asm (".hidden _ZTISt23_Sp_counted_ptr_inplaceINSt10filesystem7__cxx114_DirESaIS2_ELN9__gnu_cxx12_Lock_policyE2EE"); ++asm (".hidden _ZTSSt11_Mutex_baseILN9__gnu_cxx12_Lock_policyE2EE"); ++asm (".hidden _ZTSSt16_Sp_counted_baseILN9__gnu_cxx12_Lock_policyE2EE"); ++asm (".hidden _ZTSSt19_Sp_make_shared_tag"); ++asm (".hidden _ZTSSt23_Sp_counted_ptr_inplaceINSt10filesystem7__cxx1128recursive_directory_iterator10_Dir_stackESaIS3_ELN9__gnu_cxx12_Lock_policyE2EE"); ++asm (".hidden _ZTSSt23_Sp_counted_ptr_inplaceINSt10filesystem7__cxx114_DirESaIS2_ELN9__gnu_cxx12_Lock_policyE2EE"); ++asm (".hidden _ZTVSt23_Sp_counted_ptr_inplaceINSt10filesystem7__cxx1128recursive_directory_iterator10_Dir_stackESaIS3_ELN9__gnu_cxx12_Lock_policyE2EE"); ++asm (".hidden _ZTVSt23_Sp_counted_ptr_inplaceINSt10filesystem7__cxx114_DirESaIS2_ELN9__gnu_cxx12_Lock_policyE2EE"); ++asm (".hidden _ZNSt23_Sp_counted_ptr_inplaceINSt10filesystem7__cxx1128recursive_directory_iterator10_Dir_stackESaIS3_ELN9__gnu_cxx12_Lock_policyE2EED2Ev"); ++asm (".hidden _ZZNSt19_Sp_make_shared_tag5_S_tiEvE5__tag"); ++asm (".hidden _ZNSt23_Sp_counted_ptr_inplaceINSt10filesystem7__cxx114_DirESaIS2_ELN9__gnu_cxx12_Lock_policyE2EED2Ev"); ++#ifndef __i386__ ++asm (".hidden _ZNSt16_Sp_counted_baseILN9__gnu_cxx12_Lock_policyE2EE24_M_release_last_use_coldEv"); ++//asm (".hidden _ZNSt5dequeINSt10filesystem7__cxx114_DirESaIS2_EE17_M_reallocate_mapEmb"); ++#endif ++asm (".hidden _ZNSt10unique_ptrINSt10filesystem7__cxx114path5_List5_ImplENS3_13_Impl_deleterEED1Ev"); ++asm (".hidden _ZNSt10unique_ptrINSt10filesystem7__cxx114path5_List5_ImplENS3_13_Impl_deleterEED2Ev"); ++#ifdef __i386__ ++asm (".hidden _ZNSt10filesystem9_Dir_base7advanceEbRSt10error_code"); ++#endif ++//asm (".hidden _ZNKSt10filesystem7__cxx114_Dir11open_subdirEbbRSt10error_code"); ++asm (".hidden _ZNKSt10filesystem7__cxx1128recursive_directory_iterator10_Dir_stack12current_pathEv"); ++asm (".hidden _ZNSt10filesystem7__cxx1128recursive_directory_iterator7__eraseEPSt10error_code"); ++//asm (".hidden _ZNKSt10filesystem7__cxx114_Dir16dir_and_pathnameEv"); ++asm (".hidden _ZNKSt10filesystem7__cxx114_Dir7currentEv"); ++//asm (".hidden _ZNSt10filesystem7__cxx114_DirC1ERKNS0_4pathEbbbRSt10error_code"); ++//asm (".hidden _ZNSt10filesystem7__cxx114_DirC2ERKNS0_4pathEbbbRSt10error_code"); +diff --git a/libstdc++-v3/src/nonshared17/fs_dir110.cc b/libstdc++-v3/src/nonshared17/fs_dir110.cc +new file mode 100644 +index 000000000..eebc000f2 +--- /dev/null ++++ b/libstdc++-v3/src/nonshared17/fs_dir110.cc +@@ -0,0 +1,41 @@ ++// Class filesystem::directory_entry etc. -*- C++ -*- ++ ++// Copyright (C) 2014-2023 Free Software Foundation, Inc. ++// ++// This file is part of the GNU ISO C++ Library. This library is free ++// software; you can redistribute it and/or modify it under the ++// terms of the GNU General Public License as published by the ++// Free Software Foundation; either version 3, or (at your option) ++// any later version. ++ ++// This library is distributed in the hope that it will be useful, ++// but WITHOUT ANY WARRANTY; without even the implied warranty of ++// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the ++// GNU General Public License for more details. ++ ++// Under Section 7 of GPL version 3, you are granted additional ++// permissions described in the GCC Runtime Library Exception, version ++// 3.1, as published by the Free Software Foundation. ++ ++// You should have received a copy of the GNU General Public License and ++// a copy of the GCC Runtime Library Exception along with this program; ++// see the files COPYING3 and COPYING.RUNTIME respectively. If not, see ++// . ++ ++#ifndef _GLIBCXX_USE_CXX11_ABI ++# define _GLIBCXX_USE_CXX11_ABI 1 ++#endif ++ ++#include ++#include ++#include ++#include ++#include ++#include ++ ++namespace fs = std::filesystem; ++ ++template ++std::__shared_ptr::operator bool () const noexcept; ++template ++std::__shared_ptr::operator bool () const noexcept; +diff --git a/libstdc++-v3/src/nonshared17/fs_ops.cc b/libstdc++-v3/src/nonshared17/fs_ops.cc +new file mode 100644 +index 000000000..eccecc621 +--- /dev/null ++++ b/libstdc++-v3/src/nonshared17/fs_ops.cc +@@ -0,0 +1,83 @@ ++// Copyright (C) 2019-2023 Free Software Foundation, Inc. ++// ++// This file is part of the GNU ISO C++ Library. This library is free ++// software; you can redistribute it and/or modify it under the ++// terms of the GNU General Public License as published by the ++// Free Software Foundation; either version 3, or (at your option) ++// any later version. ++ ++// This library is distributed in the hope that it will be useful, ++// but WITHOUT ANY WARRANTY; without even the implied warranty of ++// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the ++// GNU General Public License for more details. ++ ++// Under Section 7 of GPL version 3, you are granted additional ++// permissions described in the GCC Runtime Library Exception, version ++// 3.1, as published by the Free Software Foundation. ++ ++// You should have received a copy of the GNU General Public License and ++// a copy of the GCC Runtime Library Exception along with this program; ++// see the files COPYING3 and COPYING.RUNTIME respectively. If not, see ++// . ++ ++#include "../c++17/fs_ops.cc" ++asm (".hidden _ZN9__gnu_cxx13stdio_filebufIcSt11char_traitsIcEED0Ev"); ++asm (".hidden _ZN9__gnu_cxx13stdio_filebufIcSt11char_traitsIcEED1Ev"); ++asm (".hidden _ZN9__gnu_cxx13stdio_filebufIcSt11char_traitsIcEED2Ev"); ++asm (".hidden _ZNSt10filesystem12do_copy_fileEPKcS1_NS_26copy_options_existing_fileEP4statS4_RSt10error_code"); ++asm (".hidden _ZNSt15_Sp_counted_ptrIDnLN9__gnu_cxx12_Lock_policyE2EE10_M_disposeEv"); ++asm (".hidden _ZNSt16_Sp_counted_baseILN9__gnu_cxx12_Lock_policyE2EE10_M_destroyEv"); ++asm (".hidden _ZNSt16_Sp_counted_baseILN9__gnu_cxx12_Lock_policyE2EE10_M_releaseEv"); ++//asm (".hidden _ZNSt5dequeINSt10filesystem7__cxx114pathESaIS2_EE16_M_push_back_auxIJRKS2_EEEvDpOT_"); ++//asm (".hidden _ZNSt5dequeINSt10filesystem7__cxx114pathESaIS2_EE16_M_push_back_auxIIRKS2_EEEvDpOT_"); ++asm (".hidden _ZNSt5dequeINSt10filesystem7__cxx114pathESaIS2_EED1Ev"); ++asm (".hidden _ZNSt5dequeINSt10filesystem7__cxx114pathESaIS2_EED2Ev"); ++asm (".hidden _ZTIN9__gnu_cxx13stdio_filebufIcSt11char_traitsIcEEE"); ++asm (".hidden _ZTSN9__gnu_cxx13stdio_filebufIcSt11char_traitsIcEEE"); ++asm (".hidden _ZTVN9__gnu_cxx13stdio_filebufIcSt11char_traitsIcEEE"); ++asm (".hidden _ZNKSt10filesystem7__cxx114path8filenameEv"); ++asm (".hidden _ZNSt10unique_ptrINSt10filesystem7__cxx114path5_List5_ImplENS3_13_Impl_deleterEED1Ev"); ++asm (".hidden _ZNSt10unique_ptrINSt10filesystem7__cxx114path5_List5_ImplENS3_13_Impl_deleterEED2Ev"); ++asm (".hidden _ZSt14__copy_move_a1ILb1EPNSt10filesystem7__cxx114pathES2_EN9__gnu_cxx11__enable_ifIXsrSt23__is_random_access_iterIT0_NSt15iterator_traitsIS7_E17iterator_categoryEE7__valueESt15_Deque_iteratorIT1_RSD_PSD_EE6__typeES7_S7_SG_"); ++asm (".hidden _ZSt23__copy_move_backward_a1ILb1EPNSt10filesystem7__cxx114pathES2_EN9__gnu_cxx11__enable_ifIXsrSt23__is_random_access_iterIT0_NSt15iterator_traitsIS7_E17iterator_categoryEE7__valueESt15_Deque_iteratorIT1_RSD_PSD_EE6__typeES7_S7_SG_"); ++//asm (".hidden _ZSt8_DestroyISt15_Deque_iteratorINSt10filesystem7__cxx114pathERS3_PS3_EEvT_S7_"); ++#ifndef __i386__ ++asm (".hidden _ZN9__gnu_cxx13stdio_filebufIcSt11char_traitsIcEEC1EiSt13_Ios_Openmodem"); ++asm (".hidden _ZN9__gnu_cxx13stdio_filebufIcSt11char_traitsIcEEC2EiSt13_Ios_Openmodem"); ++asm (".hidden _ZNSt10filesystem8do_spaceEPKcRmS2_S2_RSt10error_code"); ++asm (".hidden _ZNSt11_Deque_baseINSt10filesystem7__cxx114pathESaIS2_EE17_M_initialize_mapEm"); ++asm (".hidden _ZNSt5dequeINSt10filesystem7__cxx114pathESaIS2_EE13_M_insert_auxINS2_8iteratorEEEvSt15_Deque_iteratorIS2_RS2_PS2_ET_SB_m"); ++asm (".hidden _ZNSt5dequeINSt10filesystem7__cxx114pathESaIS2_EE17_M_reallocate_mapEmb"); ++asm (".hidden _ZNSt5dequeINSt10filesystem7__cxx114pathESaIS2_EE23_M_new_elements_at_backEm"); ++asm (".hidden _ZNSt5dequeINSt10filesystem7__cxx114pathESaIS2_EE24_M_new_elements_at_frontEm"); ++#if !defined(__powerpc64__) && !defined(__s390x__) ++//asm (".hidden _ZSt13move_backwardISt15_Deque_iteratorINSt10filesystem7__cxx114pathERS3_PS3_ES6_ET0_T_S8_S7_"); ++//asm (".hidden _ZSt4moveISt15_Deque_iteratorINSt10filesystem7__cxx114pathERS3_PS3_ES6_ET0_T_S8_S7_"); ++#endif ++#endif ++#if defined(__s390x__) || defined(__powerpc64__) ++//asm (".hidden _ZSt13__copy_move_aILb0ENSt10filesystem7__cxx114path8iteratorESt15_Deque_iteratorIS2_RS2_PS2_EET1_T0_S9_S8_"); ++#endif ++#ifdef __i386__ ++asm (".hidden _ZN9__gnu_cxx13stdio_filebufIcSt11char_traitsIcEEC1EiSt13_Ios_Openmodej"); ++asm (".hidden _ZN9__gnu_cxx13stdio_filebufIcSt11char_traitsIcEEC2EiSt13_Ios_Openmodej"); ++asm (".hidden _ZNSt10filesystem8do_spaceEPKcRyS2_S2_RSt10error_code"); ++asm (".hidden _ZNSt11_Deque_baseINSt10filesystem7__cxx114pathESaIS2_EE17_M_initialize_mapEj"); ++asm (".hidden _ZNSt5dequeINSt10filesystem7__cxx114pathESaIS2_EE13_M_insert_auxINS2_8iteratorEEEvSt15_Deque_iteratorIS2_RS2_PS2_ET_SB_j"); ++asm (".hidden _ZNSt5dequeINSt10filesystem7__cxx114pathESaIS2_EE17_M_reallocate_mapEjb"); ++asm (".hidden _ZNSt5dequeINSt10filesystem7__cxx114pathESaIS2_EE23_M_new_elements_at_backEj"); ++asm (".hidden _ZNSt5dequeINSt10filesystem7__cxx114pathESaIS2_EE24_M_new_elements_at_frontEj"); ++#endif ++#ifdef __aarch64__ ++//asm (".hidden _ZSt4copyINSt10filesystem7__cxx114path8iteratorESt15_Deque_iteratorIS2_RS2_PS2_EET0_T_S9_S8_"); ++//asm (".hidden _ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE4swapERS4_"); ++//asm (".hidden _ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE6resizeEmc"); ++#endif ++//asm (".hidden _ZNSt5dequeINSt10filesystem7__cxx114pathESaIS2_EE12emplace_backIIS2_EEERS2_DpOT_"); ++//asm (".hidden _ZNSt5dequeINSt10filesystem7__cxx114pathESaIS2_EE12emplace_backIJS2_EEERS2_DpOT_"); ++#ifdef __powerpc64__ ++#ifdef _GLIBCXX_NONSHARED_CXX17_80 ++//asm (".hidden _ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE4swapERS4_"); ++#endif ++//asm (".hidden _ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE6resizeEmc"); ++#endif +diff --git a/libstdc++-v3/src/nonshared17/fs_ops80.cc b/libstdc++-v3/src/nonshared17/fs_ops80.cc +new file mode 100644 +index 000000000..d65cce8cc +--- /dev/null ++++ b/libstdc++-v3/src/nonshared17/fs_ops80.cc +@@ -0,0 +1,39 @@ ++// Copyright (C) 2019-2023 Free Software Foundation, Inc. ++// ++// This file is part of the GNU ISO C++ Library. This library is free ++// software; you can redistribute it and/or modify it under the ++// terms of the GNU General Public License as published by the ++// Free Software Foundation; either version 3, or (at your option) ++// any later version. ++ ++// This library is distributed in the hope that it will be useful, ++// but WITHOUT ANY WARRANTY; without even the implied warranty of ++// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the ++// GNU General Public License for more details. ++ ++// Under Section 7 of GPL version 3, you are granted additional ++// permissions described in the GCC Runtime Library Exception, version ++// 3.1, as published by the Free Software Foundation. ++ ++// You should have received a copy of the GNU General Public License and ++// a copy of the GCC Runtime Library Exception along with this program; ++// see the files COPYING3 and COPYING.RUNTIME respectively. If not, see ++// . ++ ++#define _GLIBCXX_NONSHARED_CXX17_80 ++#include "fs_ops.cc" ++#ifndef __i386__ ++//asm (".hidden _ZNSt16_Sp_counted_baseILN9__gnu_cxx12_Lock_policyE2EE24_M_release_last_use_coldEv"); ++asm (".hidden _ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE6resizeEmc"); ++#endif ++#if defined(__s390x__) || defined(__powerpc64__) ++asm (".hidden _ZSt16__do_uninit_copyINSt10filesystem7__cxx114path8iteratorESt15_Deque_iteratorIS2_RS2_PS2_EET0_T_S9_S8_"); ++//asm (".hidden _ZSt4copyINSt10filesystem7__cxx114path8iteratorESt15_Deque_iteratorIS2_RS2_PS2_EET0_T_S9_S8_"); ++#endif ++asm (".hidden _ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE4swapERS4_"); ++#ifdef __i386__ ++//asm (".hidden _ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE4swapERS4_"); ++asm (".hidden _ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE6resizeEjc"); ++//asm (".hidden _ZSt13move_backwardISt15_Deque_iteratorINSt10filesystem7__cxx114pathERS3_PS3_ES6_ET0_T_S8_S7_"); ++//asm (".hidden _ZSt4moveISt15_Deque_iteratorINSt10filesystem7__cxx114pathERS3_PS3_ES6_ET0_T_S8_S7_"); ++#endif +diff --git a/libstdc++-v3/src/nonshared17/fs_path.cc b/libstdc++-v3/src/nonshared17/fs_path.cc +new file mode 100644 +index 000000000..2f3a81397 +--- /dev/null ++++ b/libstdc++-v3/src/nonshared17/fs_path.cc +@@ -0,0 +1,105 @@ ++// Copyright (C) 2019-2023 Free Software Foundation, Inc. ++// ++// This file is part of the GNU ISO C++ Library. This library is free ++// software; you can redistribute it and/or modify it under the ++// terms of the GNU General Public License as published by the ++// Free Software Foundation; either version 3, or (at your option) ++// any later version. ++ ++// This library is distributed in the hope that it will be useful, ++// but WITHOUT ANY WARRANTY; without even the implied warranty of ++// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the ++// GNU General Public License for more details. ++ ++// Under Section 7 of GPL version 3, you are granted additional ++// permissions described in the GCC Runtime Library Exception, version ++// 3.1, as published by the Free Software Foundation. ++ ++// You should have received a copy of the GNU General Public License and ++// a copy of the GCC Runtime Library Exception along with this program; ++// see the files COPYING3 and COPYING.RUNTIME respectively. If not, see ++// . ++ ++#include "../c++17/fs_path.cc" ++asm (".hidden _ZNKSt12__shared_ptrIKNSt10filesystem7__cxx1116filesystem_error5_ImplELN9__gnu_cxx12_Lock_policyE2EE14_M_get_deleterERKSt9type_info"); ++asm (".hidden _ZNKSt12__shared_ptrIKNSt10filesystem7__cxx1116filesystem_error5_ImplELN9__gnu_cxx12_Lock_policyE2EE3getEv"); ++asm (".hidden _ZNKSt12__shared_ptrIKNSt10filesystem7__cxx1116filesystem_error5_ImplELN9__gnu_cxx12_Lock_policyE2EE6uniqueEv"); ++asm (".hidden _ZNKSt12__shared_ptrIKNSt10filesystem7__cxx1116filesystem_error5_ImplELN9__gnu_cxx12_Lock_policyE2EE9use_countEv"); ++asm (".hidden _ZNKSt12__shared_ptrIKNSt10filesystem7__cxx1116filesystem_error5_ImplELN9__gnu_cxx12_Lock_policyE2EEcvbEv"); ++asm (".hidden _ZNKSt23__codecvt_abstract_baseIwc11__mbstate_tE2inERS0_PKcS4_RS4_PwS6_RS6_"); ++asm (".hidden _ZNKSt23__codecvt_abstract_baseIwc11__mbstate_tE3outERS0_PKwS4_RS4_PcS6_RS6_"); ++asm (".hidden _ZNSt10filesystem7__cxx114path19preferred_separatorE"); ++asm (".hidden _ZNSt10filesystem7__cxx114path5_List5clearEv"); ++asm (".hidden _ZNSt10filesystem7__cxx114path5_List5_Impl13_M_erase_fromEPKNS1_5_CmptE"); ++asm (".hidden _ZNSt10filesystem7__cxx114path5_List7reserveEib"); ++asm (".hidden _ZNSt10filesystem7__cxx114path5_ListaSERKS2_"); ++asm (".hidden _ZNSt10filesystem7__cxx114path5_ListC2ERKS2_"); ++asm (".hidden _ZNSt10filesystem7__cxx114path5_ListC2Ev"); ++asm (".hidden _ZNSt12__shared_ptrIKNSt10filesystem7__cxx1116filesystem_error5_ImplELN9__gnu_cxx12_Lock_policyE2EE4swapERS7_"); ++asm (".hidden _ZNSt12__shared_ptrIKNSt10filesystem7__cxx1116filesystem_error5_ImplELN9__gnu_cxx12_Lock_policyE2EE5resetEv"); ++asm (".hidden _ZNSt12__shared_ptrIKNSt10filesystem7__cxx1116filesystem_error5_ImplELN9__gnu_cxx12_Lock_policyE2EEaSEOS7_"); ++asm (".hidden _ZNSt12__shared_ptrIKNSt10filesystem7__cxx1116filesystem_error5_ImplELN9__gnu_cxx12_Lock_policyE2EEC1EDn"); ++asm (".hidden _ZNSt12__shared_ptrIKNSt10filesystem7__cxx1116filesystem_error5_ImplELN9__gnu_cxx12_Lock_policyE2EEC1EOS7_"); ++asm (".hidden _ZNSt12__shared_ptrIKNSt10filesystem7__cxx1116filesystem_error5_ImplELN9__gnu_cxx12_Lock_policyE2EEC1ERKSt10__weak_ptrIS4_LS6_2EESt9nothrow_t"); ++asm (".hidden _ZNSt12__shared_ptrIKNSt10filesystem7__cxx1116filesystem_error5_ImplELN9__gnu_cxx12_Lock_policyE2EEC1Ev"); ++asm (".hidden _ZNSt12__shared_ptrIKNSt10filesystem7__cxx1116filesystem_error5_ImplELN9__gnu_cxx12_Lock_policyE2EEC2EDn"); ++asm (".hidden _ZNSt12__shared_ptrIKNSt10filesystem7__cxx1116filesystem_error5_ImplELN9__gnu_cxx12_Lock_policyE2EEC2EOS7_"); ++asm (".hidden _ZNSt12__shared_ptrIKNSt10filesystem7__cxx1116filesystem_error5_ImplELN9__gnu_cxx12_Lock_policyE2EEC2ERKSt10__weak_ptrIS4_LS6_2EESt9nothrow_t"); ++asm (".hidden _ZNSt12__shared_ptrIKNSt10filesystem7__cxx1116filesystem_error5_ImplELN9__gnu_cxx12_Lock_policyE2EEC2Ev"); ++asm (".hidden _ZNSt23_Sp_counted_ptr_inplaceINSt10filesystem7__cxx1116filesystem_error5_ImplESaIS3_ELN9__gnu_cxx12_Lock_policyE2EE10_M_destroyEv"); ++asm (".hidden _ZNSt23_Sp_counted_ptr_inplaceINSt10filesystem7__cxx1116filesystem_error5_ImplESaIS3_ELN9__gnu_cxx12_Lock_policyE2EE10_M_disposeEv"); ++asm (".hidden _ZNSt23_Sp_counted_ptr_inplaceINSt10filesystem7__cxx1116filesystem_error5_ImplESaIS3_ELN9__gnu_cxx12_Lock_policyE2EE14_M_get_deleterERKSt9type_info"); ++asm (".hidden _ZNSt23_Sp_counted_ptr_inplaceINSt10filesystem7__cxx1116filesystem_error5_ImplESaIS3_ELN9__gnu_cxx12_Lock_policyE2EED0Ev"); ++asm (".hidden _ZNSt23_Sp_counted_ptr_inplaceINSt10filesystem7__cxx1116filesystem_error5_ImplESaIS3_ELN9__gnu_cxx12_Lock_policyE2EED1Ev"); ++asm (".hidden _ZNSt23_Sp_counted_ptr_inplaceINSt10filesystem7__cxx1116filesystem_error5_ImplESaIS3_ELN9__gnu_cxx12_Lock_policyE2EED2Ev"); ++asm (".hidden _ZTISt11_Mutex_baseILN9__gnu_cxx12_Lock_policyE2EE"); ++asm (".hidden _ZTISt16_Sp_counted_baseILN9__gnu_cxx12_Lock_policyE2EE"); ++asm (".hidden _ZTISt23_Sp_counted_ptr_inplaceINSt10filesystem7__cxx1116filesystem_error5_ImplESaIS3_ELN9__gnu_cxx12_Lock_policyE2EE"); ++asm (".hidden _ZTSNSt10filesystem7__cxx1116filesystem_errorE"); ++asm (".hidden _ZTSSt11_Mutex_baseILN9__gnu_cxx12_Lock_policyE2EE"); ++asm (".hidden _ZTSSt16_Sp_counted_baseILN9__gnu_cxx12_Lock_policyE2EE"); ++asm (".hidden _ZTSSt19_Sp_make_shared_tag"); ++asm (".hidden _ZTSSt23_Sp_counted_ptr_inplaceINSt10filesystem7__cxx1116filesystem_error5_ImplESaIS3_ELN9__gnu_cxx12_Lock_policyE2EE"); ++asm (".hidden _ZTVSt23_Sp_counted_ptr_inplaceINSt10filesystem7__cxx1116filesystem_error5_ImplESaIS3_ELN9__gnu_cxx12_Lock_policyE2EE"); ++asm (".hidden _ZZNSt19_Sp_make_shared_tag5_S_tiEvE5__tag"); ++asm (".hidden _ZNSt10filesystem7__cxx1116filesystem_error5_Impl9make_whatESt17basic_string_viewIcSt11char_traitsIcEEPKNS0_4pathES9_"); ++//asm (".hidden _ZNSt10filesystem7__cxx114path5_CmptD1Ev"); ++//asm (".hidden _ZNSt10filesystem7__cxx114path5_CmptD2Ev"); ++asm (".hidden _ZNSt10unique_ptrINSt10filesystem7__cxx114path5_List5_ImplENS3_13_Impl_deleterEED1Ev"); ++asm (".hidden _ZNSt10unique_ptrINSt10filesystem7__cxx114path5_List5_ImplENS3_13_Impl_deleterEED2Ev"); ++asm (".hidden _ZNSt15__allocated_ptrISaISt23_Sp_counted_ptr_inplaceINSt10filesystem7__cxx1116filesystem_error5_ImplESaIS4_ELN9__gnu_cxx12_Lock_policyE2EEEED1Ev"); ++asm (".hidden _ZNSt15__allocated_ptrISaISt23_Sp_counted_ptr_inplaceINSt10filesystem7__cxx1116filesystem_error5_ImplESaIS4_ELN9__gnu_cxx12_Lock_policyE2EEEED2Ev"); ++#if !defined (__aarch64__) && !defined (__x86_64__) ++#ifndef __i386__ ++//asm (".hidden _ZNSt10filesystem7__cxx114pathaSISt17basic_string_viewIcSt11char_traitsIcEEEERNSt9enable_ifIXsrSt6__and_IISt6__not_ISt7is_sameINSt9remove_cvIT_E4typeES1_EES9_ISt7is_voidINSt14remove_pointerISC_E4typeEEENS0_8__detail20__constructible_fromISC_vEEEE5valueES1_E4typeERKSC_"); ++//asm (".hidden _ZNSt10filesystem7__cxx114pathaSISt17basic_string_viewIcSt11char_traitsIcEEEERNSt9enable_ifIXsrSt6__and_IJSt6__not_ISt7is_sameINSt9remove_cvIT_E4typeES1_EES9_ISt7is_voidINSt14remove_pointerISC_E4typeEEENS0_8__detail20__constructible_fromISC_vEEEE5valueES1_E4typeERKSC_"); ++#endif ++#endif ++//asm (".hidden _ZTIZNSt10filesystem7__cxx114path10_S_convertIwEEDaPKT_S5_E5_UCvt"); ++//asm (".hidden _ZTSZNSt10filesystem7__cxx114path10_S_convertIwEEDaPKT_S5_E5_UCvt"); ++//asm (".hidden _ZTVZNSt10filesystem7__cxx114path10_S_convertIwEEDaPKT_S5_E5_UCvt"); ++//asm (".hidden _ZZNSt10filesystem7__cxx114path10_S_convertIwEEDaPKT_S5_EN5_UCvtD0Ev"); ++//asm (".hidden _ZZNSt10filesystem7__cxx114path10_S_convertIwEEDaPKT_S5_EN5_UCvtD1Ev"); ++//asm (".hidden _ZZNSt10filesystem7__cxx114path10_S_convertIwEEDaPKT_S5_EN5_UCvtD2Ev"); ++asm (".hidden _ZNSt10filesystem7__cxx118__detail24__throw_conversion_errorEv"); ++#ifdef __powerpc64__ ++asm (".hidden _ZNKSt10filesystem7__cxx114path5_List5_Impl4copyEv"); ++#endif ++//asm (".hidden _ZNSt12_Destroy_auxILb0EE9__destroyIPNSt10filesystem7__cxx114path5_CmptEEEvT_S7_"); ++asm (".hidden _ZNKSt10filesystem7__cxx114path5_List5_Impl4copyEv"); ++#if defined(__aarch64__) || defined(__s390x__) ++//asm (".hidden _ZNSt10filesystem7__cxx114path5_List5beginEv"); ++//asm (".hidden _ZNSt10filesystem7__cxx114path7_Parser4nextEv"); ++#endif ++#ifdef __aarch64__ ++asm (".hidden _ZNSt10filesystem7__cxx114path10_S_convertIwEEDaPKT_S5_"); // bad ppc64le ++#endif ++asm (".hidden _ZNSt10filesystem7__cxx114path8_CodecvtIwED2Ev"); ++asm (".hidden _ZNSt10filesystem7__cxx114path8_CodecvtIwED1Ev"); ++asm (".hidden _ZNSt10filesystem7__cxx114path8_CodecvtIwED0Ev"); ++asm (".hidden _ZNSt12system_errorC2ESt10error_codeRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE"); ++asm (".hidden _ZNSt12system_errorC1ESt10error_codeRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE"); ++asm (".hidden _ZNSt10filesystem7__cxx114path10_S_convertIwEEDaPKT_S5_"); ++asm (".hidden _ZTVNSt10filesystem7__cxx114path8_CodecvtIwEE"); ++asm (".hidden _ZTSNSt10filesystem7__cxx114path8_CodecvtIwEE"); ++asm (".hidden _ZTINSt10filesystem7__cxx114path8_CodecvtIwEE"); +diff --git a/libstdc++-v3/src/nonshared17/fs_path80.cc b/libstdc++-v3/src/nonshared17/fs_path80.cc +new file mode 100644 +index 000000000..f1a2d6d2c +--- /dev/null ++++ b/libstdc++-v3/src/nonshared17/fs_path80.cc +@@ -0,0 +1,80 @@ ++// Copyright (C) 2019-2023 Free Software Foundation, Inc. ++// ++// This file is part of the GNU ISO C++ Library. This library is free ++// software; you can redistribute it and/or modify it under the ++// terms of the GNU General Public License as published by the ++// Free Software Foundation; either version 3, or (at your option) ++// any later version. ++ ++// This library is distributed in the hope that it will be useful, ++// but WITHOUT ANY WARRANTY; without even the implied warranty of ++// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the ++// GNU General Public License for more details. ++ ++// Under Section 7 of GPL version 3, you are granted additional ++// permissions described in the GCC Runtime Library Exception, version ++// 3.1, as published by the Free Software Foundation. ++ ++// You should have received a copy of the GNU General Public License and ++// a copy of the GCC Runtime Library Exception along with this program; ++// see the files COPYING3 and COPYING.RUNTIME respectively. If not, see ++// . ++ ++#define _GLIBCXX_NONSHARED_CXX17_80 ++#include "fs_path.cc" ++asm (".hidden _ZNSt10filesystem7__cxx118__detail24__throw_conversion_errorEv"); ++//asm (".hidden _ZTIZNSt10filesystem7__cxx114path10_S_convertIwEEDaPKT_S5_E5_UCvt"); ++//asm (".hidden _ZTSZNSt10filesystem7__cxx114path10_S_convertIwEEDaPKT_S5_E5_UCvt"); ++//asm (".hidden _ZTVZNSt10filesystem7__cxx114path10_S_convertIwEEDaPKT_S5_E5_UCvt"); ++//asm (".hidden _ZZNSt10filesystem7__cxx114path10_S_convertIwEEDaPKT_S5_EN5_UCvtD0Ev"); ++//asm (".hidden _ZZNSt10filesystem7__cxx114path10_S_convertIwEEDaPKT_S5_EN5_UCvtD1Ev"); ++//asm (".hidden _ZZNSt10filesystem7__cxx114path10_S_convertIwEEDaPKT_S5_EN5_UCvtD2Ev"); ++asm (".hidden _ZNSt12system_errorC1ESt10error_codeRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE"); ++asm (".hidden _ZNSt12system_errorC2ESt10error_codeRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE"); ++//asm (".hidden _ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE9_M_assignERKS4_"); ++#ifndef __i386__ ++//asm (".hidden _ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE10_M_replaceEmmPKcm"); ++//asm (".hidden _ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE7reserveEm"); ++//asm (".hidden _ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE9_M_mutateEmmPKcm"); ++//asm (".hidden _ZNSt16_Sp_counted_baseILN9__gnu_cxx12_Lock_policyE2EE24_M_release_last_use_coldEv"); ++asm (".hidden _ZNSt12_Destroy_auxILb0EE9__destroyIPNSt10filesystem7__cxx114path5_CmptEEEvT_S7_"); ++asm (".hidden _ZNKSt10filesystem7__cxx114path5_List5_Impl4copyEv"); ++asm (".hidden _ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE9_M_appendEPKcm"); ++asm (".hidden _ZNSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEE6resizeEmw"); ++asm (".hidden _ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE6resizeEmc"); ++#endif ++#if defined(__aarch64__) ++asm (".hidden _ZNSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEE9_M_mutateEmmPKwm"); ++#endif ++asm (".hidden _ZNSt10filesystem7__cxx114path5_List5beginEv"); ++asm (".hidden _ZNSt10filesystem7__cxx114path7_Parser4nextEv"); ++#ifdef __powerpc64__ ++//asm (".hidden _ZNSt10filesystem7__cxx114path5_List5beginEv"); ++//asm (".hidden _ZNSt10filesystem7__cxx114path7_Parser4nextEv"); ++#endif ++#ifdef __i386__ ++asm (".hidden _ZNSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEE9_M_mutateEjjPKwj"); ++asm (".hidden _ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE9_M_mutateEjjPKcj"); ++asm (".hidden _ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE6resizeEjc"); ++//asm (".hidden _ZNSt10filesystem7__cxx114path5_List5beginEv"); ++//asm (".hidden _ZNSt10filesystem7__cxx114path7_Parser4nextEv"); ++asm (".hidden _ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE10_M_replaceEjjPKcj"); ++asm (".hidden _ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE7reserveEj"); ++asm (".hidden _ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE9_M_appendEPKcj"); ++asm (".hidden _ZNSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEE6resizeEjw"); ++#endif ++asm (".hidden _ZNSt10filesystem7__cxx114path8_CodecvtIwED0Ev"); ++asm (".hidden _ZNSt10filesystem7__cxx114path8_CodecvtIwED1Ev"); ++asm (".hidden _ZNSt10filesystem7__cxx114path8_CodecvtIwED2Ev"); ++//asm (".hidden _ZNSt12codecvt_utf8IwLm1114111ELSt12codecvt_mode0EED0Ev"); ++//asm (".hidden _ZNSt12codecvt_utf8IwLm1114111ELSt12codecvt_mode0EED1Ev"); ++//asm (".hidden _ZNSt12codecvt_utf8IwLm1114111ELSt12codecvt_mode0EED2Ev"); ++asm (".hidden _ZTINSt10filesystem7__cxx114path8_CodecvtIwEE"); ++//asm (".hidden _ZTISt12codecvt_utf8IwLm1114111ELSt12codecvt_mode0EE"); ++asm (".hidden _ZTSNSt10filesystem7__cxx114path8_CodecvtIwEE"); ++//asm (".hidden _ZTSSt12codecvt_utf8IwLm1114111ELSt12codecvt_mode0EE"); ++asm (".hidden _ZTVNSt10filesystem7__cxx114path8_CodecvtIwEE"); ++//asm (".hidden _ZTVSt12codecvt_utf8IwLm1114111ELSt12codecvt_mode0EE"); ++asm (".hidden _ZNSt10filesystem7__cxx114path10_S_convertIwEEDaPKT_S5_"); ++asm (".hidden _ZZNSt19_Sp_make_shared_tag5_S_tiEvE5__tag"); ++asm (".hidden _ZNSt10filesystem7__cxx114path19preferred_separatorE"); +diff --git a/libstdc++-v3/src/nonshared17/memory_resource.cc b/libstdc++-v3/src/nonshared17/memory_resource.cc +new file mode 100644 +index 000000000..87ab8ba04 +--- /dev/null ++++ b/libstdc++-v3/src/nonshared17/memory_resource.cc +@@ -0,0 +1,68 @@ ++// Copyright (C) 2019-2023 Free Software Foundation, Inc. ++// ++// This file is part of the GNU ISO C++ Library. This library is free ++// software; you can redistribute it and/or modify it under the ++// terms of the GNU General Public License as published by the ++// Free Software Foundation; either version 3, or (at your option) ++// any later version. ++ ++// This library is distributed in the hope that it will be useful, ++// but WITHOUT ANY WARRANTY; without even the implied warranty of ++// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the ++// GNU General Public License for more details. ++ ++// Under Section 7 of GPL version 3, you are granted additional ++// permissions described in the GCC Runtime Library Exception, version ++// 3.1, as published by the Free Software Foundation. ++ ++// You should have received a copy of the GNU General Public License and ++// a copy of the GCC Runtime Library Exception along with this program; ++// see the files COPYING3 and COPYING.RUNTIME respectively. If not, see ++// . ++ ++#include "../c++17/memory_resource.cc" ++asm (".hidden _ZNKSt3pmr26synchronized_pool_resource11do_is_equalERKNS_15memory_resourceE"); ++asm (".hidden _ZNKSt3pmr28unsynchronized_pool_resource11do_is_equalERKNS_15memory_resourceE"); ++asm (".hidden _ZNSt3pmr15__pool_resource14_M_alloc_poolsEv"); ++asm (".hidden _ZNSt3pmr15__pool_resource7releaseEv"); ++asm (".hidden _ZNSt3pmr15__pool_resourceC1ERKNS_12pool_optionsEPNS_15memory_resourceE"); ++asm (".hidden _ZNSt3pmr15__pool_resourceC2ERKNS_12pool_optionsEPNS_15memory_resourceE"); ++asm (".hidden _ZNSt3pmr15__pool_resourceD1Ev"); ++asm (".hidden _ZNSt3pmr15__pool_resourceD2Ev"); ++asm (".hidden _ZNSt3pmr26synchronized_pool_resource15_M_alloc_tpoolsERSt10lock_guardISt12shared_mutexE"); ++asm (".hidden _ZNSt3pmr26synchronized_pool_resource22_M_alloc_shared_tpoolsERSt10lock_guardISt12shared_mutexE"); ++asm (".hidden _ZNSt3pmr26synchronized_pool_resource24_M_thread_specific_poolsEv"); ++asm (".hidden _ZNSt3pmr26synchronized_pool_resource7_TPoolsD1Ev"); ++asm (".hidden _ZNSt3pmr26synchronized_pool_resource7_TPoolsD2Ev"); ++asm (".hidden _ZNSt3pmr26synchronized_pool_resourceD0Ev"); ++asm (".hidden _ZNSt3pmr28unsynchronized_pool_resourceD0Ev"); ++asm (".hidden _ZTSNSt3pmr26synchronized_pool_resourceE"); ++asm (".hidden _ZTSNSt3pmr28unsynchronized_pool_resourceE"); ++asm (".hidden _ZTVNSt3pmr26synchronized_pool_resourceE"); ++asm (".hidden _ZTVNSt3pmr28unsynchronized_pool_resourceE"); ++asm (".hidden _ZNKSt3pmr25monotonic_buffer_resource11do_is_equalERKNS_15memory_resourceE"); ++asm (".hidden _ZNSt3pmr15__pool_resource5_Pool12try_allocateEv"); ++asm (".hidden _ZNSt3pmr15__pool_resource5_Pool9replenishEPNS_15memory_resourceERKNS_12pool_optionsE"); ++#ifndef __i386__ ++asm (".hidden _ZNSt3pmr15__pool_resource10deallocateEPvmm"); ++asm (".hidden _ZNSt3pmr15__pool_resource8allocateEmm"); ++asm (".hidden _ZNSt3pmr25monotonic_buffer_resource11do_allocateEmm"); ++asm (".hidden _ZNSt3pmr25monotonic_buffer_resource13do_deallocateEPvmm"); ++asm (".hidden _ZNSt3pmr28unsynchronized_pool_resource12_M_find_poolEm"); ++//asm (".hidden _ZNSt6vectorINSt3pmr15__pool_resource9_BigBlockENS0_21polymorphic_allocatorIS2_EEE17_M_realloc_insertIIRmS7_EEEvN9__gnu_cxx17__normal_iteratorIPS2_S5_EEDpOT_"); ++//asm (".hidden _ZNSt6vectorINSt3pmr15__pool_resource9_BigBlockENS0_21polymorphic_allocatorIS2_EEE17_M_realloc_insertIJRmS7_EEEvN9__gnu_cxx17__normal_iteratorIPS2_S5_EEDpOT_"); ++#endif ++#ifdef __i386__ ++asm (".hidden _ZNSt3pmr15__pool_resource10deallocateEPvjj"); ++//asm (".hidden _ZNSt3pmr15__pool_resource5_Pool10deallocateEPNS_15memory_resourceEPv"); ++asm (".hidden _ZNSt3pmr15__pool_resource8allocateEjj"); ++asm (".hidden _ZNSt3pmr25monotonic_buffer_resource11do_allocateEjj"); ++asm (".hidden _ZNSt3pmr25monotonic_buffer_resource13do_deallocateEPvjj"); ++asm (".hidden _ZNSt3pmr28unsynchronized_pool_resource12_M_find_poolEj"); ++asm (".hidden _ZNSt6vectorINSt3pmr15__pool_resource9_BigBlockENS0_21polymorphic_allocatorIS2_EEE17_M_realloc_insertIIRjS7_EEEvN9__gnu_cxx17__normal_iteratorIPS2_S5_EEDpOT_"); ++asm (".hidden _ZNSt6vectorINSt3pmr15__pool_resource9_BigBlockENS0_21polymorphic_allocatorIS2_EEE17_M_realloc_insertIJRjS7_EEEvN9__gnu_cxx17__normal_iteratorIPS2_S5_EEDpOT_"); ++#endif ++#ifdef __powerpc64__ ++//asm (".hidden _ZNSt3pmr15__pool_resource5_Pool10deallocateEPNS_15memory_resourceEPv"); ++#endif ++asm (".hidden _ZNSt22__shared_mutex_pthread6unlockEv"); +diff --git a/libstdc++-v3/src/nonshared17/ostream-inst.cc b/libstdc++-v3/src/nonshared17/ostream-inst.cc +new file mode 100644 +index 000000000..e370edf7d +--- /dev/null ++++ b/libstdc++-v3/src/nonshared17/ostream-inst.cc +@@ -0,0 +1,23 @@ ++// Copyright (C) 2019-2023 Free Software Foundation, Inc. ++// ++// This file is part of the GNU ISO C++ Library. This library is free ++// software; you can redistribute it and/or modify it under the ++// terms of the GNU General Public License as published by the ++// Free Software Foundation; either version 3, or (at your option) ++// any later version. ++ ++// This library is distributed in the hope that it will be useful, ++// but WITHOUT ANY WARRANTY; without even the implied warranty of ++// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the ++// GNU General Public License for more details. ++ ++// Under Section 7 of GPL version 3, you are granted additional ++// permissions described in the GCC Runtime Library Exception, version ++// 3.1, as published by the Free Software Foundation. ++ ++// You should have received a copy of the GNU General Public License and ++// a copy of the GCC Runtime Library Exception along with this program; ++// see the files COPYING3 and COPYING.RUNTIME respectively. If not, see ++// . ++ ++#include "../c++17/ostream-inst.cc" +diff --git a/libstdc++-v3/src/nonshared17/ostream-inst110.cc b/libstdc++-v3/src/nonshared17/ostream-inst110.cc +new file mode 100644 +index 000000000..a9bc02f67 +--- /dev/null ++++ b/libstdc++-v3/src/nonshared17/ostream-inst110.cc +@@ -0,0 +1,25 @@ ++// Copyright (C) 2019-2023 Free Software Foundation, Inc. ++// ++// This file is part of the GNU ISO C++ Library. This library is free ++// software; you can redistribute it and/or modify it under the ++// terms of the GNU General Public License as published by the ++// Free Software Foundation; either version 3, or (at your option) ++// any later version. ++ ++// This library is distributed in the hope that it will be useful, ++// but WITHOUT ANY WARRANTY; without even the implied warranty of ++// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the ++// GNU General Public License for more details. ++ ++// Under Section 7 of GPL version 3, you are granted additional ++// permissions described in the GCC Runtime Library Exception, version ++// 3.1, as published by the Free Software Foundation. ++ ++// You should have received a copy of the GNU General Public License and ++// a copy of the GCC Runtime Library Exception along with this program; ++// see the files COPYING3 and COPYING.RUNTIME respectively. If not, see ++// . ++ ++#include "../c++17/ostream-inst.cc" ++asm (".hidden _ZNSolsEDn"); ++asm (".hidden _ZNSt13basic_ostreamIwSt11char_traitsIwEElsEDn"); +diff --git a/libstdc++-v3/src/nonshared17/string-inst.cc b/libstdc++-v3/src/nonshared17/string-inst.cc +new file mode 100644 +index 000000000..7aa1c361c +--- /dev/null ++++ b/libstdc++-v3/src/nonshared17/string-inst.cc +@@ -0,0 +1,23 @@ ++// Copyright (C) 2019-2023 Free Software Foundation, Inc. ++// ++// This file is part of the GNU ISO C++ Library. This library is free ++// software; you can redistribute it and/or modify it under the ++// terms of the GNU General Public License as published by the ++// Free Software Foundation; either version 3, or (at your option) ++// any later version. ++ ++// This library is distributed in the hope that it will be useful, ++// but WITHOUT ANY WARRANTY; without even the implied warranty of ++// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the ++// GNU General Public License for more details. ++ ++// Under Section 7 of GPL version 3, you are granted additional ++// permissions described in the GCC Runtime Library Exception, version ++// 3.1, as published by the Free Software Foundation. ++ ++// You should have received a copy of the GNU General Public License and ++// a copy of the GCC Runtime Library Exception along with this program; ++// see the files COPYING3 and COPYING.RUNTIME respectively. If not, see ++// . ++ ++#include "../c++17/string-inst.cc" +diff --git a/libstdc++-v3/src/nonshared17/string-inst110.cc b/libstdc++-v3/src/nonshared17/string-inst110.cc +new file mode 100644 +index 000000000..a317ca76e +--- /dev/null ++++ b/libstdc++-v3/src/nonshared17/string-inst110.cc +@@ -0,0 +1,37 @@ ++// Copyright (C) 2019-2023 Free Software Foundation, Inc. ++// ++// This file is part of the GNU ISO C++ Library. This library is free ++// software; you can redistribute it and/or modify it under the ++// terms of the GNU General Public License as published by the ++// Free Software Foundation; either version 3, or (at your option) ++// any later version. ++ ++// This library is distributed in the hope that it will be useful, ++// but WITHOUT ANY WARRANTY; without even the implied warranty of ++// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the ++// GNU General Public License for more details. ++ ++// Under Section 7 of GPL version 3, you are granted additional ++// permissions described in the GCC Runtime Library Exception, version ++// 3.1, as published by the Free Software Foundation. ++ ++// You should have received a copy of the GNU General Public License and ++// a copy of the GCC Runtime Library Exception along with this program; ++// see the files COPYING3 and COPYING.RUNTIME respectively. If not, see ++// . ++ ++#include "../c++17/string-inst.cc" ++asm (".hidden _ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2ENS4_12__sv_wrapperERKS3_"); ++asm (".hidden _ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC1ENS4_12__sv_wrapperERKS3_"); ++asm (".hidden _ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE12__sv_wrapperC2ESt17basic_string_viewIcS2_E"); ++asm (".hidden _ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE12__sv_wrapperC1ESt17basic_string_viewIcS2_E"); ++asm (".hidden _ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE17_S_to_string_viewESt17basic_string_viewIcS2_E"); ++asm (".hidden _ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEcvSt17basic_string_viewIcS2_EEv"); ++asm (".hidden _ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE4dataEv"); ++asm (".hidden _ZNSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEEC2ENS4_12__sv_wrapperERKS3_"); ++asm (".hidden _ZNSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEEC1ENS4_12__sv_wrapperERKS3_"); ++asm (".hidden _ZNSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEE12__sv_wrapperC2ESt17basic_string_viewIwS2_E"); ++asm (".hidden _ZNSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEE12__sv_wrapperC1ESt17basic_string_viewIwS2_E"); ++asm (".hidden _ZNSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEE17_S_to_string_viewESt17basic_string_viewIwS2_E"); ++asm (".hidden _ZNKSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEEcvSt17basic_string_viewIwS2_EEv"); ++asm (".hidden _ZNSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEE4dataEv"); +diff --git a/libstdc++-v3/src/nonshared20/Makefile.am b/libstdc++-v3/src/nonshared20/Makefile.am +new file mode 100644 +index 000000000..f1856e63d +--- /dev/null ++++ b/libstdc++-v3/src/nonshared20/Makefile.am +@@ -0,0 +1,128 @@ ++## Makefile for the C++20 sources of the GNU C++ Standard library. ++## ++## Copyright (C) 1997-2023 Free Software Foundation, Inc. ++## ++## This file is part of the libstdc++ version 3 distribution. ++## Process this file with automake to produce Makefile.in. ++ ++## This file is part of the GNU ISO C++ Library. This library is free ++## software; you can redistribute it and/or modify it under the ++## terms of the GNU General Public License as published by the ++## Free Software Foundation; either version 3, or (at your option) ++## any later version. ++ ++## This library is distributed in the hope that it will be useful, ++## but WITHOUT ANY WARRANTY; without even the implied warranty of ++## MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the ++## GNU General Public License for more details. ++ ++## You should have received a copy of the GNU General Public License along ++## with this library; see the file COPYING3. If not see ++## . ++ ++include $(top_srcdir)/fragment.am ++ ++# Convenience library for C++20 runtime. ++noinst_LTLIBRARIES = libnonshared20convenience48.la \ ++ libnonshared20convenience80.la \ ++ libnonshared20convenience110.la ++ ++headers = ++ ++if ENABLE_EXTERN_TEMPLATE ++# XTEMPLATE_FLAGS = -fno-implicit-templates ++inst_sources48 = sstream-inst.cc ++inst_sources80 = sstream-inst80.cc ++else ++# XTEMPLATE_FLAGS = ++inst_sources48 = ++inst_sources80 = ++endif ++ ++sources48 = tzdb.cc ++sources = tzdb80.cc ++ ++vpath % $(top_srcdir)/src/nonshared20 ++ ++if USE_STATIC_TZDATA ++tzdata.zi.h: $(top_srcdir)/src/c++20/tzdata.zi ++ echo 'static const char tzdata_chars[] = R"__libstdcxx__(' > $@.tmp ++ cat $^ >> $@.tmp ++ echo ')__libstdcxx__";' >> $@.tmp ++ mv $@.tmp $@ ++ ++tzdb.lo: tzdb.cc tzdata.zi.h ++ $(LTCXXCOMPILE) -I. -c $< ++tzdb.o: tzdb.cc tzdata.zi.h ++ $(CXXCOMPILE) -I. -c $< ++tzdb80.lo: tzdb80.cc tzdata.zi.h ++ $(LTCXXCOMPILE) -I. -c $< ++tzdb80.o: tzdb80.cc tzdata.zi.h ++ $(CXXCOMPILE) -I. -c $< ++endif ++ ++libnonshared20convenience48_la_SOURCES = $(sources48) $(inst_sources48) ++libnonshared20convenience80_la_SOURCES = $(sources) $(inst_sources80) ++libnonshared20convenience110_la_SOURCES = $(sources) ++ ++# AM_CXXFLAGS needs to be in each subdirectory so that it can be ++# modified in a per-library or per-sub-library way. Need to manually ++# set this option because CONFIG_CXXFLAGS has to be after ++# OPTIMIZE_CXXFLAGS on the compile line so that -O2 can be overridden ++# as the occasion calls for it. ++AM_CXXFLAGS = \ ++ -std=gnu++20 \ ++ $(glibcxx_lt_pic_flag) $(glibcxx_compiler_shared_flag) \ ++ $(XTEMPLATE_FLAGS) $(VTV_CXXFLAGS) \ ++ $(WARN_CXXFLAGS) $(OPTIMIZE_CXXFLAGS) $(CONFIG_CXXFLAGS) \ ++ -fimplicit-templates ++ ++AM_MAKEFLAGS = \ ++ "gxx_include_dir=$(gxx_include_dir)" ++ ++# Libtool notes ++ ++# 1) In general, libtool expects an argument such as `--tag=CXX' when ++# using the C++ compiler, because that will enable the settings ++# detected when C++ support was being configured. However, when no ++# such flag is given in the command line, libtool attempts to figure ++# it out by matching the compiler name in each configuration section ++# against a prefix of the command line. The problem is that, if the ++# compiler name and its initial flags stored in the libtool ++# configuration file don't match those in the command line, libtool ++# can't decide which configuration to use, and it gives up. The ++# correct solution is to add `--tag CXX' to LTCXXCOMPILE and maybe ++# CXXLINK, just after $(LIBTOOL), so that libtool doesn't have to ++# attempt to infer which configuration to use. ++# ++# The second tag argument, `--tag disable-shared` means that libtool ++# only compiles each source once, for static objects. In actuality, ++# glibcxx_lt_pic_flag and glibcxx_compiler_shared_flag are added to ++# the libtool command that is used create the object, which is ++# suitable for shared libraries. The `--tag disable-shared` must be ++# placed after --tag CXX lest things CXX undo the affect of ++# disable-shared. ++ ++# 2) Need to explicitly set LTCXXCOMPILE so that EXTRA_CXX_FLAGS is ++# last. (That way, things like -O2 passed down from the toplevel can ++# be overridden by --enable-debug.) ++LTCXXCOMPILE = \ ++ $(LIBTOOL) --tag CXX --tag disable-shared \ ++ $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) \ ++ --mode=compile $(CXX) $(TOPLEVEL_INCLUDES) \ ++ $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) $(EXTRA_CXX_FLAGS) ++ ++LTLDFLAGS = $(shell $(SHELL) $(top_srcdir)/../libtool-ldflags $(LDFLAGS)) ++ ++# 3) We'd have a problem when building the shared libstdc++ object if ++# the rules automake generates would be used. We cannot allow g++ to ++# be used since this would add -lstdc++ to the link line which of ++# course is problematic at this point. So, we get the top-level ++# directory to configure libstdc++-v3 to use gcc as the C++ ++# compilation driver. ++CXXLINK = \ ++ $(LIBTOOL) --tag CXX --tag disable-shared \ ++ $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) \ ++ --mode=link $(CXX) \ ++ $(VTV_CXXLINKFLAGS) \ ++ $(OPT_LDFLAGS) $(SECTION_LDFLAGS) $(AM_CXXFLAGS) $(LTLDFLAGS) -o $@ +diff --git a/libstdc++-v3/src/nonshared20/Makefile.in b/libstdc++-v3/src/nonshared20/Makefile.in +new file mode 100644 +index 000000000..03f4f052a +--- /dev/null ++++ b/libstdc++-v3/src/nonshared20/Makefile.in +@@ -0,0 +1,791 @@ ++# Makefile.in generated by automake 1.15.1 from Makefile.am. ++# @configure_input@ ++ ++# Copyright (C) 1994-2017 Free Software Foundation, Inc. ++ ++# This Makefile.in is free software; the Free Software Foundation ++# gives unlimited permission to copy and/or distribute it, ++# with or without modifications, as long as this notice is preserved. ++ ++# This program is distributed in the hope that it will be useful, ++# but WITHOUT ANY WARRANTY, to the extent permitted by law; without ++# even the implied warranty of MERCHANTABILITY or FITNESS FOR A ++# PARTICULAR PURPOSE. ++ ++@SET_MAKE@ ++ ++VPATH = @srcdir@ ++am__is_gnu_make = { \ ++ if test -z '$(MAKELEVEL)'; then \ ++ false; \ ++ elif test -n '$(MAKE_HOST)'; then \ ++ true; \ ++ elif test -n '$(MAKE_VERSION)' && test -n '$(CURDIR)'; then \ ++ true; \ ++ else \ ++ false; \ ++ fi; \ ++} ++am__make_running_with_option = \ ++ case $${target_option-} in \ ++ ?) ;; \ ++ *) echo "am__make_running_with_option: internal error: invalid" \ ++ "target option '$${target_option-}' specified" >&2; \ ++ exit 1;; \ ++ esac; \ ++ has_opt=no; \ ++ sane_makeflags=$$MAKEFLAGS; \ ++ if $(am__is_gnu_make); then \ ++ sane_makeflags=$$MFLAGS; \ ++ else \ ++ case $$MAKEFLAGS in \ ++ *\\[\ \ ]*) \ ++ bs=\\; \ ++ sane_makeflags=`printf '%s\n' "$$MAKEFLAGS" \ ++ | sed "s/$$bs$$bs[$$bs $$bs ]*//g"`;; \ ++ esac; \ ++ fi; \ ++ skip_next=no; \ ++ strip_trailopt () \ ++ { \ ++ flg=`printf '%s\n' "$$flg" | sed "s/$$1.*$$//"`; \ ++ }; \ ++ for flg in $$sane_makeflags; do \ ++ test $$skip_next = yes && { skip_next=no; continue; }; \ ++ case $$flg in \ ++ *=*|--*) continue;; \ ++ -*I) strip_trailopt 'I'; skip_next=yes;; \ ++ -*I?*) strip_trailopt 'I';; \ ++ -*O) strip_trailopt 'O'; skip_next=yes;; \ ++ -*O?*) strip_trailopt 'O';; \ ++ -*l) strip_trailopt 'l'; skip_next=yes;; \ ++ -*l?*) strip_trailopt 'l';; \ ++ -[dEDm]) skip_next=yes;; \ ++ -[JT]) skip_next=yes;; \ ++ esac; \ ++ case $$flg in \ ++ *$$target_option*) has_opt=yes; break;; \ ++ esac; \ ++ done; \ ++ test $$has_opt = yes ++am__make_dryrun = (target_option=n; $(am__make_running_with_option)) ++am__make_keepgoing = (target_option=k; $(am__make_running_with_option)) ++pkgdatadir = $(datadir)/@PACKAGE@ ++pkgincludedir = $(includedir)/@PACKAGE@ ++pkglibdir = $(libdir)/@PACKAGE@ ++pkglibexecdir = $(libexecdir)/@PACKAGE@ ++am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd ++install_sh_DATA = $(install_sh) -c -m 644 ++install_sh_PROGRAM = $(install_sh) -c ++install_sh_SCRIPT = $(install_sh) -c ++INSTALL_HEADER = $(INSTALL_DATA) ++transform = $(program_transform_name) ++NORMAL_INSTALL = : ++PRE_INSTALL = : ++POST_INSTALL = : ++NORMAL_UNINSTALL = : ++PRE_UNINSTALL = : ++POST_UNINSTALL = : ++build_triplet = @build@ ++host_triplet = @host@ ++target_triplet = @target@ ++subdir = src/nonshared20 ++ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 ++am__aclocal_m4_deps = $(top_srcdir)/../config/acx.m4 \ ++ $(top_srcdir)/../config/enable.m4 \ ++ $(top_srcdir)/../config/futex.m4 \ ++ $(top_srcdir)/../config/hwcaps.m4 \ ++ $(top_srcdir)/../config/iconv.m4 \ ++ $(top_srcdir)/../config/lead-dot.m4 \ ++ $(top_srcdir)/../config/lib-ld.m4 \ ++ $(top_srcdir)/../config/lib-link.m4 \ ++ $(top_srcdir)/../config/lib-prefix.m4 \ ++ $(top_srcdir)/../config/lthostflags.m4 \ ++ $(top_srcdir)/../config/multi.m4 \ ++ $(top_srcdir)/../config/no-executables.m4 \ ++ $(top_srcdir)/../config/override.m4 \ ++ $(top_srcdir)/../config/toolexeclibdir.m4 \ ++ $(top_srcdir)/../config/unwind_ipinfo.m4 \ ++ $(top_srcdir)/../libtool.m4 $(top_srcdir)/../ltoptions.m4 \ ++ $(top_srcdir)/../ltsugar.m4 $(top_srcdir)/../ltversion.m4 \ ++ $(top_srcdir)/../lt~obsolete.m4 $(top_srcdir)/crossconfig.m4 \ ++ $(top_srcdir)/linkage.m4 $(top_srcdir)/acinclude.m4 \ ++ $(top_srcdir)/../config/gc++filt.m4 \ ++ $(top_srcdir)/../config/tls.m4 $(top_srcdir)/../config/gthr.m4 \ ++ $(top_srcdir)/../config/cet.m4 $(top_srcdir)/configure.ac ++am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \ ++ $(ACLOCAL_M4) ++DIST_COMMON = $(srcdir)/Makefile.am ++CONFIG_HEADER = $(top_builddir)/config.h ++CONFIG_CLEAN_FILES = ++CONFIG_CLEAN_VPATH_FILES = ++LTLIBRARIES = $(noinst_LTLIBRARIES) ++libnonshared20convenience110_la_LIBADD = ++am__objects_1 = tzdb80.lo ++am_libnonshared20convenience110_la_OBJECTS = $(am__objects_1) ++libnonshared20convenience110_la_OBJECTS = \ ++ $(am_libnonshared20convenience110_la_OBJECTS) ++AM_V_lt = $(am__v_lt_@AM_V@) ++am__v_lt_ = $(am__v_lt_@AM_DEFAULT_V@) ++am__v_lt_0 = --silent ++am__v_lt_1 = ++libnonshared20convenience48_la_LIBADD = ++am__objects_2 = tzdb.lo ++@ENABLE_EXTERN_TEMPLATE_TRUE@am__objects_3 = sstream-inst.lo ++am_libnonshared20convenience48_la_OBJECTS = $(am__objects_2) \ ++ $(am__objects_3) ++libnonshared20convenience48_la_OBJECTS = \ ++ $(am_libnonshared20convenience48_la_OBJECTS) ++libnonshared20convenience80_la_LIBADD = ++@ENABLE_EXTERN_TEMPLATE_TRUE@am__objects_4 = sstream-inst80.lo ++am_libnonshared20convenience80_la_OBJECTS = $(am__objects_1) \ ++ $(am__objects_4) ++libnonshared20convenience80_la_OBJECTS = \ ++ $(am_libnonshared20convenience80_la_OBJECTS) ++AM_V_P = $(am__v_P_@AM_V@) ++am__v_P_ = $(am__v_P_@AM_DEFAULT_V@) ++am__v_P_0 = false ++am__v_P_1 = : ++AM_V_GEN = $(am__v_GEN_@AM_V@) ++am__v_GEN_ = $(am__v_GEN_@AM_DEFAULT_V@) ++am__v_GEN_0 = @echo " GEN " $@; ++am__v_GEN_1 = ++AM_V_at = $(am__v_at_@AM_V@) ++am__v_at_ = $(am__v_at_@AM_DEFAULT_V@) ++am__v_at_0 = @ ++am__v_at_1 = ++DEFAULT_INCLUDES = -I.@am__isrc@ -I$(top_builddir) ++depcomp = ++am__depfiles_maybe = ++CXXCOMPILE = $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) \ ++ $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) ++AM_V_CXX = $(am__v_CXX_@AM_V@) ++am__v_CXX_ = $(am__v_CXX_@AM_DEFAULT_V@) ++am__v_CXX_0 = @echo " CXX " $@; ++am__v_CXX_1 = ++CXXLD = $(CXX) ++AM_V_CXXLD = $(am__v_CXXLD_@AM_V@) ++am__v_CXXLD_ = $(am__v_CXXLD_@AM_DEFAULT_V@) ++am__v_CXXLD_0 = @echo " CXXLD " $@; ++am__v_CXXLD_1 = ++SOURCES = $(libnonshared20convenience110_la_SOURCES) \ ++ $(libnonshared20convenience48_la_SOURCES) \ ++ $(libnonshared20convenience80_la_SOURCES) ++am__can_run_installinfo = \ ++ case $$AM_UPDATE_INFO_DIR in \ ++ n|no|NO) false;; \ ++ *) (install-info --version) >/dev/null 2>&1;; \ ++ esac ++am__tagged_files = $(HEADERS) $(SOURCES) $(TAGS_FILES) $(LISP) ++# Read a list of newline-separated strings from the standard input, ++# and print each of them once, without duplicates. Input order is ++# *not* preserved. ++am__uniquify_input = $(AWK) '\ ++ BEGIN { nonempty = 0; } \ ++ { items[$$0] = 1; nonempty = 1; } \ ++ END { if (nonempty) { for (i in items) print i; }; } \ ++' ++# Make sure the list of sources is unique. This is necessary because, ++# e.g., the same source file might be shared among _SOURCES variables ++# for different programs/libraries. ++am__define_uniq_tagged_files = \ ++ list='$(am__tagged_files)'; \ ++ unique=`for i in $$list; do \ ++ if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ ++ done | $(am__uniquify_input)` ++ETAGS = etags ++CTAGS = ctags ++ABI_TWEAKS_SRCDIR = @ABI_TWEAKS_SRCDIR@ ++ACLOCAL = @ACLOCAL@ ++ALLOCATOR_H = @ALLOCATOR_H@ ++ALLOCATOR_NAME = @ALLOCATOR_NAME@ ++ALLOC_FILE = @ALLOC_FILE@ ++AMTAR = @AMTAR@ ++AM_DEFAULT_VERBOSITY = @AM_DEFAULT_VERBOSITY@ ++AR = @AR@ ++AS = @AS@ ++ATOMICITY_SRCDIR = @ATOMICITY_SRCDIR@ ++ATOMIC_FLAGS = @ATOMIC_FLAGS@ ++ATOMIC_WORD_SRCDIR = @ATOMIC_WORD_SRCDIR@ ++AUTOCONF = @AUTOCONF@ ++AUTOHEADER = @AUTOHEADER@ ++AUTOMAKE = @AUTOMAKE@ ++AWK = @AWK@ ++BACKTRACE_CPPFLAGS = @BACKTRACE_CPPFLAGS@ ++BACKTRACE_SUPPORTED = @BACKTRACE_SUPPORTED@ ++BACKTRACE_SUPPORTS_THREADS = @BACKTRACE_SUPPORTS_THREADS@ ++BACKTRACE_USES_MALLOC = @BACKTRACE_USES_MALLOC@ ++BASIC_FILE_CC = @BASIC_FILE_CC@ ++BASIC_FILE_H = @BASIC_FILE_H@ ++CC = @CC@ ++CCAS = @CCAS@ ++CCASFLAGS = @CCASFLAGS@ ++CCODECVT_CC = @CCODECVT_CC@ ++CCOLLATE_CC = @CCOLLATE_CC@ ++CCTYPE_CC = @CCTYPE_CC@ ++CFLAGS = @CFLAGS@ ++CLOCALE_CC = @CLOCALE_CC@ ++CLOCALE_H = @CLOCALE_H@ ++CLOCALE_INTERNAL_H = @CLOCALE_INTERNAL_H@ ++CMESSAGES_CC = @CMESSAGES_CC@ ++CMESSAGES_H = @CMESSAGES_H@ ++CMONEY_CC = @CMONEY_CC@ ++CNUMERIC_CC = @CNUMERIC_CC@ ++CPP = @CPP@ ++CPPFLAGS = @CPPFLAGS@ ++CPU_DEFINES_SRCDIR = @CPU_DEFINES_SRCDIR@ ++CPU_OPT_BITS_RANDOM = @CPU_OPT_BITS_RANDOM@ ++CPU_OPT_EXT_RANDOM = @CPU_OPT_EXT_RANDOM@ ++CSTDIO_H = @CSTDIO_H@ ++CTIME_CC = @CTIME_CC@ ++CTIME_H = @CTIME_H@ ++CXX = @CXX@ ++CXXCPP = @CXXCPP@ ++CXXFILT = @CXXFILT@ ++CXXFLAGS = @CXXFLAGS@ ++CYGPATH_W = @CYGPATH_W@ ++C_INCLUDE_DIR = @C_INCLUDE_DIR@ ++DBLATEX = @DBLATEX@ ++DEBUG_FLAGS = @DEBUG_FLAGS@ ++DEFS = @DEFS@ ++DOT = @DOT@ ++DOXYGEN = @DOXYGEN@ ++DSYMUTIL = @DSYMUTIL@ ++DUMPBIN = @DUMPBIN@ ++ECHO_C = @ECHO_C@ ++ECHO_N = @ECHO_N@ ++ECHO_T = @ECHO_T@ ++EGREP = @EGREP@ ++EH_POOL_FLAGS = @EH_POOL_FLAGS@ ++ERROR_CONSTANTS_SRCDIR = @ERROR_CONSTANTS_SRCDIR@ ++EXEEXT = @EXEEXT@ ++EXTRA_CFLAGS = @EXTRA_CFLAGS@ ++EXTRA_CXX_FLAGS = @EXTRA_CXX_FLAGS@ ++FGREP = @FGREP@ ++FORMAT_FILE = @FORMAT_FILE@ ++FREESTANDING_FLAGS = @FREESTANDING_FLAGS@ ++GLIBCXX_INCLUDES = @GLIBCXX_INCLUDES@ ++GLIBCXX_LIBS = @GLIBCXX_LIBS@ ++GREP = @GREP@ ++HWCAP_CFLAGS = @HWCAP_CFLAGS@ ++INSTALL = @INSTALL@ ++INSTALL_DATA = @INSTALL_DATA@ ++INSTALL_PROGRAM = @INSTALL_PROGRAM@ ++INSTALL_SCRIPT = @INSTALL_SCRIPT@ ++INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@ ++LD = @LD@ ++LDFLAGS = @LDFLAGS@ ++LIBICONV = @LIBICONV@ ++LIBOBJS = @LIBOBJS@ ++LIBS = @LIBS@ ++LIBTOOL = @LIBTOOL@ ++LIPO = @LIPO@ ++LN_S = @LN_S@ ++LONG_DOUBLE_128_FLAGS = @LONG_DOUBLE_128_FLAGS@ ++LONG_DOUBLE_ALT128_COMPAT_FLAGS = @LONG_DOUBLE_ALT128_COMPAT_FLAGS@ ++LONG_DOUBLE_COMPAT_FLAGS = @LONG_DOUBLE_COMPAT_FLAGS@ ++LTLIBICONV = @LTLIBICONV@ ++LTLIBOBJS = @LTLIBOBJS@ ++MAINT = @MAINT@ ++MAKEINFO = @MAKEINFO@ ++MKDIR_P = @MKDIR_P@ ++NM = @NM@ ++NMEDIT = @NMEDIT@ ++OBJDUMP = @OBJDUMP@ ++OBJEXT = @OBJEXT@ ++OPTIMIZE_CXXFLAGS = @OPTIMIZE_CXXFLAGS@ ++OPT_LDFLAGS = @OPT_LDFLAGS@ ++OS_INC_SRCDIR = @OS_INC_SRCDIR@ ++OTOOL = @OTOOL@ ++OTOOL64 = @OTOOL64@ ++PACKAGE = @PACKAGE@ ++PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@ ++PACKAGE_NAME = @PACKAGE_NAME@ ++PACKAGE_STRING = @PACKAGE_STRING@ ++PACKAGE_TARNAME = @PACKAGE_TARNAME@ ++PACKAGE_URL = @PACKAGE_URL@ ++PACKAGE_VERSION = @PACKAGE_VERSION@ ++PATH_SEPARATOR = @PATH_SEPARATOR@ ++PDFLATEX = @PDFLATEX@ ++RANLIB = @RANLIB@ ++SECTION_FLAGS = @SECTION_FLAGS@ ++SECTION_LDFLAGS = @SECTION_LDFLAGS@ ++SED = @SED@ ++SET_MAKE = @SET_MAKE@ ++SHELL = @SHELL@ ++STRIP = @STRIP@ ++SYMVER_FILE = @SYMVER_FILE@ ++TOPLEVEL_INCLUDES = @TOPLEVEL_INCLUDES@ ++USE_NLS = @USE_NLS@ ++VERSION = @VERSION@ ++VIEW_FILE = @VIEW_FILE@ ++VTV_CXXFLAGS = @VTV_CXXFLAGS@ ++VTV_CXXLINKFLAGS = @VTV_CXXLINKFLAGS@ ++VTV_PCH_CXXFLAGS = @VTV_PCH_CXXFLAGS@ ++WARN_FLAGS = @WARN_FLAGS@ ++XMLCATALOG = @XMLCATALOG@ ++XMLLINT = @XMLLINT@ ++XSLTPROC = @XSLTPROC@ ++XSL_STYLE_DIR = @XSL_STYLE_DIR@ ++abs_builddir = @abs_builddir@ ++abs_srcdir = @abs_srcdir@ ++abs_top_builddir = @abs_top_builddir@ ++abs_top_srcdir = @abs_top_srcdir@ ++ac_ct_CC = @ac_ct_CC@ ++ac_ct_CXX = @ac_ct_CXX@ ++ac_ct_DUMPBIN = @ac_ct_DUMPBIN@ ++am__leading_dot = @am__leading_dot@ ++am__tar = @am__tar@ ++am__untar = @am__untar@ ++baseline_dir = @baseline_dir@ ++baseline_subdir_switch = @baseline_subdir_switch@ ++bindir = @bindir@ ++build = @build@ ++build_alias = @build_alias@ ++build_cpu = @build_cpu@ ++build_os = @build_os@ ++build_vendor = @build_vendor@ ++builddir = @builddir@ ++check_msgfmt = @check_msgfmt@ ++datadir = @datadir@ ++datarootdir = @datarootdir@ ++docdir = @docdir@ ++dvidir = @dvidir@ ++enable_shared = @enable_shared@ ++enable_static = @enable_static@ ++exec_prefix = @exec_prefix@ ++get_gcc_base_ver = @get_gcc_base_ver@ ++glibcxx_MOFILES = @glibcxx_MOFILES@ ++glibcxx_PCHFLAGS = @glibcxx_PCHFLAGS@ ++glibcxx_POFILES = @glibcxx_POFILES@ ++glibcxx_builddir = @glibcxx_builddir@ ++glibcxx_compiler_pic_flag = @glibcxx_compiler_pic_flag@ ++glibcxx_compiler_shared_flag = @glibcxx_compiler_shared_flag@ ++glibcxx_cxx98_abi = @glibcxx_cxx98_abi@ ++glibcxx_localedir = @glibcxx_localedir@ ++glibcxx_lt_pic_flag = @glibcxx_lt_pic_flag@ ++glibcxx_prefixdir = @glibcxx_prefixdir@ ++glibcxx_srcdir = @glibcxx_srcdir@ ++glibcxx_toolexecdir = @glibcxx_toolexecdir@ ++glibcxx_toolexeclibdir = @glibcxx_toolexeclibdir@ ++gxx_include_dir = @gxx_include_dir@ ++host = @host@ ++host_alias = @host_alias@ ++host_cpu = @host_cpu@ ++host_os = @host_os@ ++host_vendor = @host_vendor@ ++htmldir = @htmldir@ ++includedir = @includedir@ ++infodir = @infodir@ ++install_sh = @install_sh@ ++libdir = @libdir@ ++libexecdir = @libexecdir@ ++libtool_VERSION = @libtool_VERSION@ ++localedir = @localedir@ ++localstatedir = @localstatedir@ ++lt_host_flags = @lt_host_flags@ ++mandir = @mandir@ ++mkdir_p = @mkdir_p@ ++multi_basedir = @multi_basedir@ ++oldincludedir = @oldincludedir@ ++pdfdir = @pdfdir@ ++port_specific_symbol_files = @port_specific_symbol_files@ ++prefix = @prefix@ ++program_transform_name = @program_transform_name@ ++psdir = @psdir@ ++python_mod_dir = @python_mod_dir@ ++sbindir = @sbindir@ ++sharedstatedir = @sharedstatedir@ ++srcdir = @srcdir@ ++sysconfdir = @sysconfdir@ ++target = @target@ ++target_alias = @target_alias@ ++target_cpu = @target_cpu@ ++target_os = @target_os@ ++target_vendor = @target_vendor@ ++thread_header = @thread_header@ ++tmake_file = @tmake_file@ ++top_build_prefix = @top_build_prefix@ ++top_builddir = @top_builddir@ ++top_srcdir = @top_srcdir@ ++toplevel_builddir = @toplevel_builddir@ ++toplevel_srcdir = @toplevel_srcdir@ ++ ++# May be used by various substitution variables. ++gcc_version := $(shell @get_gcc_base_ver@ $(top_srcdir)/../gcc/BASE-VER) ++MAINT_CHARSET = latin1 ++mkinstalldirs = $(SHELL) $(toplevel_srcdir)/mkinstalldirs ++PWD_COMMAND = $${PWDCMD-pwd} ++STAMP = echo timestamp > ++toolexecdir = $(glibcxx_toolexecdir) ++toolexeclibdir = $(glibcxx_toolexeclibdir) ++@ENABLE_WERROR_FALSE@WERROR_FLAG = ++@ENABLE_WERROR_TRUE@WERROR_FLAG = -Werror ++@ENABLE_EXTERN_TEMPLATE_FALSE@XTEMPLATE_FLAGS = ++@ENABLE_EXTERN_TEMPLATE_TRUE@XTEMPLATE_FLAGS = -fno-implicit-templates ++@GLIBCXX_LDBL_ALT128_COMPAT_FALSE@LDBL_128_FLAGS = ++@GLIBCXX_LDBL_ALT128_COMPAT_TRUE@LDBL_128_FLAGS = $(LONG_DOUBLE_128_FLAGS) ++ ++# These bits are all figured out from configure. Look in acinclude.m4 ++# or configure.ac to see how they are set. See GLIBCXX_EXPORT_FLAGS. ++CONFIG_CXXFLAGS = \ ++ $(SECTION_FLAGS) $(HWCAP_CFLAGS) -frandom-seed=$@ $(LDBL_128_FLAGS) ++ ++WARN_CXXFLAGS = \ ++ $(WARN_FLAGS) $(WERROR_FLAG) -fdiagnostics-show-location=once ++ ++ ++# -I/-D flags to pass when compiling. ++AM_CPPFLAGS = $(GLIBCXX_INCLUDES) $(CPPFLAGS) ++ ++# Convenience library for C++20 runtime. ++noinst_LTLIBRARIES = libnonshared20convenience48.la \ ++ libnonshared20convenience80.la \ ++ libnonshared20convenience110.la ++ ++headers = ++# XTEMPLATE_FLAGS = ++@ENABLE_EXTERN_TEMPLATE_FALSE@inst_sources48 = ++ ++# XTEMPLATE_FLAGS = -fno-implicit-templates ++@ENABLE_EXTERN_TEMPLATE_TRUE@inst_sources48 = sstream-inst.cc ++@ENABLE_EXTERN_TEMPLATE_FALSE@inst_sources80 = ++@ENABLE_EXTERN_TEMPLATE_TRUE@inst_sources80 = sstream-inst80.cc ++sources48 = tzdb.cc ++sources = tzdb80.cc ++libnonshared20convenience48_la_SOURCES = $(sources48) $(inst_sources48) ++libnonshared20convenience80_la_SOURCES = $(sources) $(inst_sources80) ++libnonshared20convenience110_la_SOURCES = $(sources) ++ ++# AM_CXXFLAGS needs to be in each subdirectory so that it can be ++# modified in a per-library or per-sub-library way. Need to manually ++# set this option because CONFIG_CXXFLAGS has to be after ++# OPTIMIZE_CXXFLAGS on the compile line so that -O2 can be overridden ++# as the occasion calls for it. ++AM_CXXFLAGS = \ ++ -std=gnu++20 \ ++ $(glibcxx_lt_pic_flag) $(glibcxx_compiler_shared_flag) \ ++ $(XTEMPLATE_FLAGS) $(VTV_CXXFLAGS) \ ++ $(WARN_CXXFLAGS) $(OPTIMIZE_CXXFLAGS) $(CONFIG_CXXFLAGS) \ ++ -fimplicit-templates ++ ++AM_MAKEFLAGS = \ ++ "gxx_include_dir=$(gxx_include_dir)" ++ ++ ++# Libtool notes ++ ++# 1) In general, libtool expects an argument such as `--tag=CXX' when ++# using the C++ compiler, because that will enable the settings ++# detected when C++ support was being configured. However, when no ++# such flag is given in the command line, libtool attempts to figure ++# it out by matching the compiler name in each configuration section ++# against a prefix of the command line. The problem is that, if the ++# compiler name and its initial flags stored in the libtool ++# configuration file don't match those in the command line, libtool ++# can't decide which configuration to use, and it gives up. The ++# correct solution is to add `--tag CXX' to LTCXXCOMPILE and maybe ++# CXXLINK, just after $(LIBTOOL), so that libtool doesn't have to ++# attempt to infer which configuration to use. ++# ++# The second tag argument, `--tag disable-shared` means that libtool ++# only compiles each source once, for static objects. In actuality, ++# glibcxx_lt_pic_flag and glibcxx_compiler_shared_flag are added to ++# the libtool command that is used create the object, which is ++# suitable for shared libraries. The `--tag disable-shared` must be ++# placed after --tag CXX lest things CXX undo the affect of ++# disable-shared. ++ ++# 2) Need to explicitly set LTCXXCOMPILE so that EXTRA_CXX_FLAGS is ++# last. (That way, things like -O2 passed down from the toplevel can ++# be overridden by --enable-debug.) ++LTCXXCOMPILE = \ ++ $(LIBTOOL) --tag CXX --tag disable-shared \ ++ $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) \ ++ --mode=compile $(CXX) $(TOPLEVEL_INCLUDES) \ ++ $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) $(EXTRA_CXX_FLAGS) ++ ++LTLDFLAGS = $(shell $(SHELL) $(top_srcdir)/../libtool-ldflags $(LDFLAGS)) ++ ++# 3) We'd have a problem when building the shared libstdc++ object if ++# the rules automake generates would be used. We cannot allow g++ to ++# be used since this would add -lstdc++ to the link line which of ++# course is problematic at this point. So, we get the top-level ++# directory to configure libstdc++-v3 to use gcc as the C++ ++# compilation driver. ++CXXLINK = \ ++ $(LIBTOOL) --tag CXX --tag disable-shared \ ++ $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) \ ++ --mode=link $(CXX) \ ++ $(VTV_CXXLINKFLAGS) \ ++ $(OPT_LDFLAGS) $(SECTION_LDFLAGS) $(AM_CXXFLAGS) $(LTLDFLAGS) -o $@ ++ ++all: all-am ++ ++.SUFFIXES: ++.SUFFIXES: .cc .lo .o .obj ++$(srcdir)/Makefile.in: @MAINTAINER_MODE_TRUE@ $(srcdir)/Makefile.am $(top_srcdir)/fragment.am $(am__configure_deps) ++ @for dep in $?; do \ ++ case '$(am__configure_deps)' in \ ++ *$$dep*) \ ++ ( cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh ) \ ++ && { if test -f $@; then exit 0; else break; fi; }; \ ++ exit 1;; \ ++ esac; \ ++ done; \ ++ echo ' cd $(top_srcdir) && $(AUTOMAKE) --foreign --ignore-deps src/nonshared20/Makefile'; \ ++ $(am__cd) $(top_srcdir) && \ ++ $(AUTOMAKE) --foreign --ignore-deps src/nonshared20/Makefile ++Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status ++ @case '$?' in \ ++ *config.status*) \ ++ cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \ ++ *) \ ++ echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)'; \ ++ cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe);; \ ++ esac; ++$(top_srcdir)/fragment.am $(am__empty): ++ ++$(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES) ++ cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh ++ ++$(top_srcdir)/configure: @MAINTAINER_MODE_TRUE@ $(am__configure_deps) ++ cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh ++$(ACLOCAL_M4): @MAINTAINER_MODE_TRUE@ $(am__aclocal_m4_deps) ++ cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh ++$(am__aclocal_m4_deps): ++ ++clean-noinstLTLIBRARIES: ++ -test -z "$(noinst_LTLIBRARIES)" || rm -f $(noinst_LTLIBRARIES) ++ @list='$(noinst_LTLIBRARIES)'; \ ++ locs=`for p in $$list; do echo $$p; done | \ ++ sed 's|^[^/]*$$|.|; s|/[^/]*$$||; s|$$|/so_locations|' | \ ++ sort -u`; \ ++ test -z "$$locs" || { \ ++ echo rm -f $${locs}; \ ++ rm -f $${locs}; \ ++ } ++ ++libnonshared20convenience110.la: $(libnonshared20convenience110_la_OBJECTS) $(libnonshared20convenience110_la_DEPENDENCIES) $(EXTRA_libnonshared20convenience110_la_DEPENDENCIES) ++ $(AM_V_CXXLD)$(CXXLINK) $(libnonshared20convenience110_la_OBJECTS) $(libnonshared20convenience110_la_LIBADD) $(LIBS) ++ ++libnonshared20convenience48.la: $(libnonshared20convenience48_la_OBJECTS) $(libnonshared20convenience48_la_DEPENDENCIES) $(EXTRA_libnonshared20convenience48_la_DEPENDENCIES) ++ $(AM_V_CXXLD)$(CXXLINK) $(libnonshared20convenience48_la_OBJECTS) $(libnonshared20convenience48_la_LIBADD) $(LIBS) ++ ++libnonshared20convenience80.la: $(libnonshared20convenience80_la_OBJECTS) $(libnonshared20convenience80_la_DEPENDENCIES) $(EXTRA_libnonshared20convenience80_la_DEPENDENCIES) ++ $(AM_V_CXXLD)$(CXXLINK) $(libnonshared20convenience80_la_OBJECTS) $(libnonshared20convenience80_la_LIBADD) $(LIBS) ++ ++mostlyclean-compile: ++ -rm -f *.$(OBJEXT) ++ ++distclean-compile: ++ -rm -f *.tab.c ++ ++.cc.o: ++ $(AM_V_CXX)$(CXXCOMPILE) -c -o $@ $< ++ ++.cc.obj: ++ $(AM_V_CXX)$(CXXCOMPILE) -c -o $@ `$(CYGPATH_W) '$<'` ++ ++.cc.lo: ++ $(AM_V_CXX)$(LTCXXCOMPILE) -c -o $@ $< ++ ++mostlyclean-libtool: ++ -rm -f *.lo ++ ++clean-libtool: ++ -rm -rf .libs _libs ++ ++ID: $(am__tagged_files) ++ $(am__define_uniq_tagged_files); mkid -fID $$unique ++tags: tags-am ++TAGS: tags ++ ++tags-am: $(TAGS_DEPENDENCIES) $(am__tagged_files) ++ set x; \ ++ here=`pwd`; \ ++ $(am__define_uniq_tagged_files); \ ++ shift; \ ++ if test -z "$(ETAGS_ARGS)$$*$$unique"; then :; else \ ++ test -n "$$unique" || unique=$$empty_fix; \ ++ if test $$# -gt 0; then \ ++ $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \ ++ "$$@" $$unique; \ ++ else \ ++ $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \ ++ $$unique; \ ++ fi; \ ++ fi ++ctags: ctags-am ++ ++CTAGS: ctags ++ctags-am: $(TAGS_DEPENDENCIES) $(am__tagged_files) ++ $(am__define_uniq_tagged_files); \ ++ test -z "$(CTAGS_ARGS)$$unique" \ ++ || $(CTAGS) $(CTAGSFLAGS) $(AM_CTAGSFLAGS) $(CTAGS_ARGS) \ ++ $$unique ++ ++GTAGS: ++ here=`$(am__cd) $(top_builddir) && pwd` \ ++ && $(am__cd) $(top_srcdir) \ ++ && gtags -i $(GTAGS_ARGS) "$$here" ++cscopelist: cscopelist-am ++ ++cscopelist-am: $(am__tagged_files) ++ list='$(am__tagged_files)'; \ ++ case "$(srcdir)" in \ ++ [\\/]* | ?:[\\/]*) sdir="$(srcdir)" ;; \ ++ *) sdir=$(subdir)/$(srcdir) ;; \ ++ esac; \ ++ for i in $$list; do \ ++ if test -f "$$i"; then \ ++ echo "$(subdir)/$$i"; \ ++ else \ ++ echo "$$sdir/$$i"; \ ++ fi; \ ++ done >> $(top_builddir)/cscope.files ++ ++distclean-tags: ++ -rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags ++check-am: all-am ++check: check-am ++all-am: Makefile $(LTLIBRARIES) ++installdirs: ++install: install-am ++install-exec: install-exec-am ++install-data: install-data-am ++uninstall: uninstall-am ++ ++install-am: all-am ++ @$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am ++ ++installcheck: installcheck-am ++install-strip: ++ if test -z '$(STRIP)'; then \ ++ $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \ ++ install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \ ++ install; \ ++ else \ ++ $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \ ++ install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \ ++ "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'" install; \ ++ fi ++mostlyclean-generic: ++ ++clean-generic: ++ ++distclean-generic: ++ -test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES) ++ -test . = "$(srcdir)" || test -z "$(CONFIG_CLEAN_VPATH_FILES)" || rm -f $(CONFIG_CLEAN_VPATH_FILES) ++ ++maintainer-clean-generic: ++ @echo "This command is intended for maintainers to use" ++ @echo "it deletes files that may require special tools to rebuild." ++clean: clean-am ++ ++clean-am: clean-generic clean-libtool clean-noinstLTLIBRARIES \ ++ mostlyclean-am ++ ++distclean: distclean-am ++ -rm -f Makefile ++distclean-am: clean-am distclean-compile distclean-generic \ ++ distclean-tags ++ ++dvi: dvi-am ++ ++dvi-am: ++ ++html: html-am ++ ++html-am: ++ ++info: info-am ++ ++info-am: ++ ++install-data-am: ++ ++install-dvi: install-dvi-am ++ ++install-dvi-am: ++ ++install-exec-am: ++ ++install-html: install-html-am ++ ++install-html-am: ++ ++install-info: install-info-am ++ ++install-info-am: ++ ++install-man: ++ ++install-pdf: install-pdf-am ++ ++install-pdf-am: ++ ++install-ps: install-ps-am ++ ++install-ps-am: ++ ++installcheck-am: ++ ++maintainer-clean: maintainer-clean-am ++ -rm -f Makefile ++maintainer-clean-am: distclean-am maintainer-clean-generic ++ ++mostlyclean: mostlyclean-am ++ ++mostlyclean-am: mostlyclean-compile mostlyclean-generic \ ++ mostlyclean-libtool ++ ++pdf: pdf-am ++ ++pdf-am: ++ ++ps: ps-am ++ ++ps-am: ++ ++uninstall-am: ++ ++.MAKE: install-am install-strip ++ ++.PHONY: CTAGS GTAGS TAGS all all-am check check-am clean clean-generic \ ++ clean-libtool clean-noinstLTLIBRARIES cscopelist-am ctags \ ++ ctags-am distclean distclean-compile distclean-generic \ ++ distclean-libtool distclean-tags dvi dvi-am html html-am info \ ++ info-am install install-am install-data install-data-am \ ++ install-dvi install-dvi-am install-exec install-exec-am \ ++ install-html install-html-am install-info install-info-am \ ++ install-man install-pdf install-pdf-am install-ps \ ++ install-ps-am install-strip installcheck installcheck-am \ ++ installdirs maintainer-clean maintainer-clean-generic \ ++ mostlyclean mostlyclean-compile mostlyclean-generic \ ++ mostlyclean-libtool pdf pdf-am ps ps-am tags tags-am uninstall \ ++ uninstall-am ++ ++.PRECIOUS: Makefile ++ ++ ++vpath % $(top_srcdir)/src/nonshared20 ++ ++@USE_STATIC_TZDATA_TRUE@tzdata.zi.h: $(top_srcdir)/src/c++20/tzdata.zi ++@USE_STATIC_TZDATA_TRUE@ echo 'static const char tzdata_chars[] = R"__libstdcxx__(' > $@.tmp ++@USE_STATIC_TZDATA_TRUE@ cat $^ >> $@.tmp ++@USE_STATIC_TZDATA_TRUE@ echo ')__libstdcxx__";' >> $@.tmp ++@USE_STATIC_TZDATA_TRUE@ mv $@.tmp $@ ++ ++@USE_STATIC_TZDATA_TRUE@tzdb.lo: tzdb.cc tzdata.zi.h ++@USE_STATIC_TZDATA_TRUE@ $(LTCXXCOMPILE) -I. -c $< ++@USE_STATIC_TZDATA_TRUE@tzdb.o: tzdb.cc tzdata.zi.h ++@USE_STATIC_TZDATA_TRUE@ $(CXXCOMPILE) -I. -c $< ++@USE_STATIC_TZDATA_TRUE@tzdb80.lo: tzdb80.cc tzdata.zi.h ++@USE_STATIC_TZDATA_TRUE@ $(LTCXXCOMPILE) -I. -c $< ++@USE_STATIC_TZDATA_TRUE@tzdb80.o: tzdb80.cc tzdata.zi.h ++@USE_STATIC_TZDATA_TRUE@ $(CXXCOMPILE) -I. -c $< ++ ++# Tell versions [3.59,3.63) of GNU make to not export all variables. ++# Otherwise a system limit (for SysV at least) may be exceeded. ++.NOEXPORT: +diff --git a/libstdc++-v3/src/nonshared20/sstream-inst.cc b/libstdc++-v3/src/nonshared20/sstream-inst.cc +new file mode 100644 +index 000000000..fb0e58611 +--- /dev/null ++++ b/libstdc++-v3/src/nonshared20/sstream-inst.cc +@@ -0,0 +1,23 @@ ++// Copyright (C) 2012-2023 Free Software Foundation, Inc. ++// ++// This file is part of the GNU ISO C++ Library. This library is free ++// software; you can redistribute it and/or modify it under the ++// terms of the GNU General Public License as published by the ++// Free Software Foundation; either version 3, or (at your option) ++// any later version. ++ ++// This library is distributed in the hope that it will be useful, ++// but WITHOUT ANY WARRANTY; without even the implied warranty of ++// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the ++// GNU General Public License for more details. ++ ++// Under Section 7 of GPL version 3, you are granted additional ++// permissions described in the GCC Runtime Library Exception, version ++// 3.1, as published by the Free Software Foundation. ++ ++// You should have received a copy of the GNU General Public License and ++// a copy of the GCC Runtime Library Exception along with this program; ++// see the files COPYING3 and COPYING.RUNTIME respectively. If not, see ++// . ++ ++#include "../c++20/sstream-inst.cc" +diff --git a/libstdc++-v3/src/nonshared20/sstream-inst80.cc b/libstdc++-v3/src/nonshared20/sstream-inst80.cc +new file mode 100644 +index 000000000..2fe144da2 +--- /dev/null ++++ b/libstdc++-v3/src/nonshared20/sstream-inst80.cc +@@ -0,0 +1,36 @@ ++// Copyright (C) 2012-2023 Free Software Foundation, Inc. ++// ++// This file is part of the GNU ISO C++ Library. This library is free ++// software; you can redistribute it and/or modify it under the ++// terms of the GNU General Public License as published by the ++// Free Software Foundation; either version 3, or (at your option) ++// any later version. ++ ++// This library is distributed in the hope that it will be useful, ++// but WITHOUT ANY WARRANTY; without even the implied warranty of ++// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the ++// GNU General Public License for more details. ++ ++// Under Section 7 of GPL version 3, you are granted additional ++// permissions described in the GCC Runtime Library Exception, version ++// 3.1, as published by the Free Software Foundation. ++ ++// You should have received a copy of the GNU General Public License and ++// a copy of the GCC Runtime Library Exception along with this program; ++// see the files COPYING3 and COPYING.RUNTIME respectively. If not, see ++// . ++ ++#include "../c++20/sstream-inst.cc" ++//asm (".hidden _ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE10_M_disposeEv"); ++//asm (".hidden _ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE9_M_assignERKS4_"); ++//asm (".hidden _ZNSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEE10_M_disposeEv"); ++//asm (".hidden _ZNSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEE9_M_assignERKS4_"); ++#if defined(__i386__) ++//asm (".hidden _ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE9_M_mutateEjjPKcj"); ++asm (".hidden _ZNSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEE9_M_mutateEjjPKwj"); ++#endif ++asm (".hidden _ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE10_M_disposeEv"); ++asm (".hidden _ZNSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEE10_M_disposeEv"); ++#if defined(__x86_64__) || defined(__aarch64__) ++asm (".hidden _ZNSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEE9_M_mutateEmmPKwm"); ++#endif +diff --git a/libstdc++-v3/src/nonshared20/tzdb.cc b/libstdc++-v3/src/nonshared20/tzdb.cc +new file mode 100644 +index 000000000..aaed65daf +--- /dev/null ++++ b/libstdc++-v3/src/nonshared20/tzdb.cc +@@ -0,0 +1,96 @@ ++// Copyright The GNU Toolchain Authors. ++// ++// This file is part of the GNU ISO C++ Library. This library is free ++// software; you can redistribute it and/or modify it under the ++// terms of the GNU General Public License as published by the ++// Free Software Foundation; either version 3, or (at your option) ++// any later version. ++ ++// This library is distributed in the hope that it will be useful, ++// but WITHOUT ANY WARRANTY; without even the implied warranty of ++// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the ++// GNU General Public License for more details. ++ ++// Under Section 7 of GPL version 3, you are granted additional ++// permissions described in the GCC Runtime Library Exception, version ++// 3.1, as published by the Free Software Foundation. ++ ++// You should have received a copy of the GNU General Public License and ++// a copy of the GCC Runtime Library Exception along with this program; ++// see the files COPYING3 and COPYING.RUNTIME respectively. If not, see ++// . ++ ++#include "../c++20/tzdb.cc" ++asm (".hidden _ZNKSt6chrono9time_zone4nameEv"); ++asm (".hidden _ZNKSt6chrono14time_zone_link4nameEv"); ++asm (".hidden _ZNSt23_Sp_counted_ptr_inplaceINSt6chrono9tzdb_list5_NodeESaIvELN9__gnu_cxx12_Lock_policyE2EED2Ev"); ++asm (".hidden _ZNSt23_Sp_counted_ptr_inplaceINSt6chrono9tzdb_list5_NodeESaIvELN9__gnu_cxx12_Lock_policyE2EED1Ev"); ++asm (".hidden _ZNSt23_Sp_counted_ptr_inplaceINSt6chrono9tzdb_list5_NodeESaIvELN9__gnu_cxx12_Lock_policyE2EED0Ev"); ++asm (".hidden _ZNSt23_Sp_counted_ptr_inplaceINSt6chrono9tzdb_list5_NodeESaIvELN9__gnu_cxx12_Lock_policyE2EE10_M_destroyEv"); ++asm (".hidden _ZNSt23_Sp_counted_ptr_inplaceINSt6chrono9tzdb_list5_NodeESaIvELN9__gnu_cxx12_Lock_policyE2EE14_M_get_deleterERKSt9type_info"); ++asm (".hidden _ZNKSt6chrono14year_month_day19_M_days_since_epochEv"); ++asm (".hidden _ZNSt6chronossERKNS_14time_zone_linkES2_"); ++asm (".hidden _ZNSt6chrono9time_zoneC2ESt10unique_ptrINS0_5_ImplESt14default_deleteIS2_EE"); ++asm (".hidden _ZNSt6chrono9time_zoneC1ESt10unique_ptrINS0_5_ImplESt14default_deleteIS2_EE"); ++asm (".hidden _ZNSt6chrono9tzdb_list5_Node13_S_head_cacheE"); ++asm (".hidden _ZNSt6atomicISt10shared_ptrINSt6chrono9tzdb_list5_NodeEEED2Ev"); ++asm (".hidden _ZNSt6atomicISt10shared_ptrINSt6chrono9tzdb_list5_NodeEEED1Ev"); ++asm (".hidden _ZNSt6chrono9tzdb_list5_Node13_S_head_ownerE"); ++asm (".hidden _ZNSt6chrono9tzdb_list5_Node15_S_replace_headESt10shared_ptrIS1_ES3_"); ++//asm (".hidden _ZNSt6vectorISt4pairINSt6chrono8sys_infoESt17basic_string_viewIcSt11char_traitsIcEEESaIS7_EE17_M_realloc_insertIJRS2_RS6_EEEvN9__gnu_cxx17__normal_iteratorIPS7_S9_EEDpOT_"); ++//asm (".hidden _ZNSt6vectorISt4pairINSt6chrono8sys_infoESt17basic_string_viewIcSt11char_traitsIcEEESaIS7_EE17_M_realloc_insertIIRS2_RS6_EEEvN9__gnu_cxx17__normal_iteratorIPS7_S9_EEDpOT_"); ++asm (".hidden _ZNSt6chrono9time_zoneD2Ev"); ++asm (".hidden _ZNSt6chrono9time_zoneD1Ev"); ++asm (".hidden _ZNSt23_Sp_counted_ptr_inplaceINSt6chrono9tzdb_list5_NodeESaIvELN9__gnu_cxx12_Lock_policyE2EE10_M_disposeEv"); ++asm (".hidden _ZSt11make_uniqueINSt6chrono9time_zone5_ImplEJRSt10shared_ptrINS0_9tzdb_list5_NodeEEEENSt8__detail9_MakeUniqIT_E15__single_objectEDpOT0_"); ++asm (".hidden _ZSt11make_uniqueINSt6chrono9time_zone5_ImplEIRSt10shared_ptrINS0_9tzdb_list5_NodeEEEENSt8__detail9_MakeUniqIT_E15__single_objectEDpOT0_"); ++asm (".hidden _ZNSt6vectorINSt6chrono9time_zoneESaIS1_EE12emplace_backIJS1_EEERS1_DpOT_"); ++asm (".hidden _ZNSt6vectorINSt6chrono9time_zoneESaIS1_EE12emplace_backIIS1_EEERS1_DpOT_"); ++asm (".hidden _ZNSt12_Vector_baseINSt6chrono11leap_secondESaIS1_EED2Ev"); ++asm (".hidden _ZNSt12_Vector_baseINSt6chrono11leap_secondESaIS1_EED1Ev"); ++asm (".hidden _ZNSt6chrono9tzdb_list5_Node20_S_read_leap_secondsEv"); ++asm (".hidden _ZNSt6vectorINSt6chrono14time_zone_linkESaIS1_EE12emplace_backIJS1_EEERS1_DpOT_"); ++asm (".hidden _ZNSt6vectorINSt6chrono14time_zone_linkESaIS1_EE12emplace_backIIS1_EEERS1_DpOT_"); ++asm (".hidden _ZSt23__atomic_notify_addressIiEvPKT_b"); ++asm (".hidden _ZSt16__insertion_sortIN9__gnu_cxx17__normal_iteratorIPNSt6chrono9time_zoneESt6vectorIS3_SaIS3_EEEENS0_5__ops15_Iter_comp_iterIZNSt6ranges8__detail16__make_comp_projINSB_4lessESt8identityEEDaRT_RT0_EUlOSG_OSI_E_EEEvSG_SG_SI_"); ++asm (".hidden _ZSt16__insertion_sortIN9__gnu_cxx17__normal_iteratorIPNSt6chrono14time_zone_linkESt6vectorIS3_SaIS3_EEEENS0_5__ops15_Iter_comp_iterIZNSt6ranges8__detail16__make_comp_projINSB_4lessESt8identityEEDaRT_RT0_EUlOSG_OSI_E_EEEvSG_SG_SI_"); ++asm (".hidden _ZZNSt6ranges8__detail16__make_comp_projINS_4lessEMNSt6chrono9time_zoneEKDoFSt17basic_string_viewIcSt11char_traitsIcEEvEEEDaRT_RT0_ENKUlOSB_OSD_E_clIRS4_SJ_EEbSF_SG_"); ++//asm (".hidden _ZSt25__unguarded_linear_insertIN9__gnu_cxx17__normal_iteratorIPNSt6chrono9time_zoneESt6vectorIS3_SaIS3_EEEENS0_5__ops14_Val_comp_iterIZNSt6ranges8__detail16__make_comp_projINSB_4lessEMS3_KDoFSt17basic_string_viewIcSt11char_traitsIcEEvEEEDaRT_RT0_EUlOSL_OSN_E_EEEvSL_SN_"); ++asm (".hidden _ZSt16__insertion_sortIN9__gnu_cxx17__normal_iteratorIPNSt6chrono9time_zoneESt6vectorIS3_SaIS3_EEEENS0_5__ops15_Iter_comp_iterIZNSt6ranges8__detail16__make_comp_projINSB_4lessEMS3_KDoFSt17basic_string_viewIcSt11char_traitsIcEEvEEEDaRT_RT0_EUlOSL_OSN_E_EEEvSL_SL_SN_"); ++asm (".hidden _ZZNSt6ranges8__detail16__make_comp_projINS_4lessEMNSt6chrono14time_zone_linkEKDoFSt17basic_string_viewIcSt11char_traitsIcEEvEEEDaRT_RT0_ENKUlOSB_OSD_E_clIRS4_SJ_EEbSF_SG_"); ++asm (".hidden _ZSt16__insertion_sortIN9__gnu_cxx17__normal_iteratorIPNSt6chrono14time_zone_linkESt6vectorIS3_SaIS3_EEEENS0_5__ops15_Iter_comp_iterIZNSt6ranges8__detail16__make_comp_projINSB_4lessEMS3_KDoFSt17basic_string_viewIcSt11char_traitsIcEEvEEEDaRT_RT0_EUlOSL_OSN_E_EEEvSL_SL_SN_"); ++asm (".hidden _ZSt4swapINSt6chrono9time_zoneEENSt9enable_ifIXsrSt6__and_IJSt6__not_ISt15__is_tuple_likeIT_EESt21is_move_constructibleIS6_ESt18is_move_assignableIS6_EEE5valueEvE4typeERS6_SG_"); ++asm (".hidden _ZSt4swapINSt6chrono9time_zoneEENSt9enable_ifIXsrSt6__and_IISt6__not_ISt15__is_tuple_likeIT_EESt21is_move_constructibleIS6_ESt18is_move_assignableIS6_EEE5valueEvE4typeERS6_SG_"); ++asm (".hidden _ZSt4swapINSt6chrono14time_zone_linkEENSt9enable_ifIXsrSt6__and_IJSt6__not_ISt15__is_tuple_likeIT_EESt21is_move_constructibleIS6_ESt18is_move_assignableIS6_EEE5valueEvE4typeERS6_SG_"); ++asm (".hidden _ZSt4swapINSt6chrono14time_zone_linkEENSt9enable_ifIXsrSt6__and_IISt6__not_ISt15__is_tuple_likeIT_EESt21is_move_constructibleIS6_ESt18is_move_assignableIS6_EEE5valueEvE4typeERS6_SG_"); ++#if !defined(__i386__) ++asm (".hidden _ZSt13__adjust_heapIN9__gnu_cxx17__normal_iteratorIPNSt6chrono9time_zoneESt6vectorIS3_SaIS3_EEEElS3_NS0_5__ops15_Iter_comp_iterIZNSt6ranges8__detail16__make_comp_projINSB_4lessESt8identityEEDaRT_RT0_EUlOSG_OSI_E_EEEvSG_SI_SI_T1_T2_"); ++asm (".hidden _ZNSt16_Sp_counted_baseILN9__gnu_cxx12_Lock_policyE2EE24_M_release_last_use_coldEv"); ++asm (".hidden _ZSt16__introsort_loopIN9__gnu_cxx17__normal_iteratorIPNSt6chrono9time_zoneESt6vectorIS3_SaIS3_EEEElNS0_5__ops15_Iter_comp_iterIZNSt6ranges8__detail16__make_comp_projINSB_4lessEMS3_KDoFSt17basic_string_viewIcSt11char_traitsIcEEvEEEDaRT_RT0_EUlOSL_OSN_E_EEEvSL_SL_SN_T1_"); ++asm (".hidden _ZSt13__adjust_heapIN9__gnu_cxx17__normal_iteratorIPNSt6chrono9time_zoneESt6vectorIS3_SaIS3_EEEElS3_NS0_5__ops15_Iter_comp_iterIZNSt6ranges8__detail16__make_comp_projINSB_4lessEMS3_KDoFSt17basic_string_viewIcSt11char_traitsIcEEvEEEDaRT_RT0_EUlOSL_OSN_E_EEEvSL_SN_SN_T1_T2_"); ++asm (".hidden _ZSt13__adjust_heapIN9__gnu_cxx17__normal_iteratorIPNSt6chrono14time_zone_linkESt6vectorIS3_SaIS3_EEEElS3_NS0_5__ops15_Iter_comp_iterIZNSt6ranges8__detail16__make_comp_projINSB_4lessEMS3_KDoFSt17basic_string_viewIcSt11char_traitsIcEEvEEEDaRT_RT0_EUlOSL_OSN_E_EEEvSL_SN_SN_T1_T2_"); ++asm (".hidden _ZSt13__adjust_heapIN9__gnu_cxx17__normal_iteratorIPNSt6chrono14time_zone_linkESt6vectorIS3_SaIS3_EEEElS3_NS0_5__ops15_Iter_comp_iterIZNSt6ranges8__detail16__make_comp_projINSB_4lessESt8identityEEDaRT_RT0_EUlOSG_OSI_E_EEEvSG_SI_SI_T1_T2_"); ++asm (".hidden _ZSt16__introsort_loopIN9__gnu_cxx17__normal_iteratorIPNSt6chrono14time_zone_linkESt6vectorIS3_SaIS3_EEEElNS0_5__ops15_Iter_comp_iterIZNSt6ranges8__detail16__make_comp_projINSB_4lessESt8identityEEDaRT_RT0_EUlOSG_OSI_E_EEEvSG_SG_SI_T1_"); ++asm (".hidden _ZSt16__introsort_loopIN9__gnu_cxx17__normal_iteratorIPNSt6chrono9time_zoneESt6vectorIS3_SaIS3_EEEElNS0_5__ops15_Iter_comp_iterIZNSt6ranges8__detail16__make_comp_projINSB_4lessESt8identityEEDaRT_RT0_EUlOSG_OSI_E_EEEvSG_SG_SI_T1_"); ++asm (".hidden _ZSt16__introsort_loopIN9__gnu_cxx17__normal_iteratorIPNSt6chrono14time_zone_linkESt6vectorIS3_SaIS3_EEEElNS0_5__ops15_Iter_comp_iterIZNSt6ranges8__detail16__make_comp_projINSB_4lessEMS3_KDoFSt17basic_string_viewIcSt11char_traitsIcEEvEEEDaRT_RT0_EUlOSL_OSN_E_EEEvSL_SL_SN_T1_"); ++#endif ++asm (".hidden _ZTVSt23_Sp_counted_ptr_inplaceINSt6chrono9tzdb_list5_NodeESaIvELN9__gnu_cxx12_Lock_policyE2EE"); ++asm (".hidden _ZNSt6chrono9tzdb_list5_Node12_S_init_tzdbEv"); ++asm (".hidden _ZNSt6chrono9tzdb_list5_Node11_S_the_listE"); ++asm (".hidden _ZTSSt23_Sp_counted_ptr_inplaceINSt6chrono9tzdb_list5_NodeESaIvELN9__gnu_cxx12_Lock_policyE2EE"); ++asm (".hidden _ZTISt23_Sp_counted_ptr_inplaceINSt6chrono9tzdb_list5_NodeESaIvELN9__gnu_cxx12_Lock_policyE2EE"); ++asm (".hidden _ZTSSt19_Sp_make_shared_tag"); ++asm (".hidden _ZNSt16_Sp_counted_baseILN9__gnu_cxx12_Lock_policyE2EE10_M_releaseEv"); ++asm (".hidden _ZNSt10unique_ptrINSt10filesystem7__cxx114path5_List5_ImplENS3_13_Impl_deleterEED2Ev"); ++asm (".hidden _ZNSt10unique_ptrINSt10filesystem7__cxx114path5_List5_ImplENS3_13_Impl_deleterEED1Ev"); ++asm (".hidden _ZTSSt11_Mutex_baseILN9__gnu_cxx12_Lock_policyE2EE"); ++asm (".hidden _ZTISt11_Mutex_baseILN9__gnu_cxx12_Lock_policyE2EE"); ++asm (".hidden _ZTSSt16_Sp_counted_baseILN9__gnu_cxx12_Lock_policyE2EE"); ++asm (".hidden _ZTISt16_Sp_counted_baseILN9__gnu_cxx12_Lock_policyE2EE"); ++asm (".hidden _ZZNSt19_Sp_make_shared_tag5_S_tiEvE5__tag"); ++asm (".hidden _ZZNSt8__detail18__waiter_pool_base6_S_forEPKvE3__w"); ++#if defined(__i386__) ++asm (".hidden _ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE9_M_mutateEjjPKcj"); ++asm (".hidden _ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE7reserveEj"); ++asm (".hidden _ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE10_M_replaceEjjPKcj"); ++#endif +diff --git a/libstdc++-v3/src/nonshared20/tzdb80.cc b/libstdc++-v3/src/nonshared20/tzdb80.cc +new file mode 100644 +index 000000000..48a8fe927 +--- /dev/null ++++ b/libstdc++-v3/src/nonshared20/tzdb80.cc +@@ -0,0 +1,122 @@ ++// Copyright The GNU Toolchain Authors. ++// ++// This file is part of the GNU ISO C++ Library. This library is free ++// software; you can redistribute it and/or modify it under the ++// terms of the GNU General Public License as published by the ++// Free Software Foundation; either version 3, or (at your option) ++// any later version. ++ ++// This library is distributed in the hope that it will be useful, ++// but WITHOUT ANY WARRANTY; without even the implied warranty of ++// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the ++// GNU General Public License for more details. ++ ++// Under Section 7 of GPL version 3, you are granted additional ++// permissions described in the GCC Runtime Library Exception, version ++// 3.1, as published by the Free Software Foundation. ++ ++// You should have received a copy of the GNU General Public License and ++// a copy of the GCC Runtime Library Exception along with this program; ++// see the files COPYING3 and COPYING.RUNTIME respectively. If not, see ++// . ++ ++#include "../c++20/tzdb.cc" ++asm (".hidden _ZNKSt6chrono9time_zone4nameEv"); ++asm (".hidden _ZNKSt6chrono14time_zone_link4nameEv"); ++asm (".hidden _ZNSt23_Sp_counted_ptr_inplaceINSt6chrono9tzdb_list5_NodeESaIvELN9__gnu_cxx12_Lock_policyE2EED2Ev"); ++asm (".hidden _ZNSt23_Sp_counted_ptr_inplaceINSt6chrono9tzdb_list5_NodeESaIvELN9__gnu_cxx12_Lock_policyE2EED1Ev"); ++asm (".hidden _ZNSt23_Sp_counted_ptr_inplaceINSt6chrono9tzdb_list5_NodeESaIvELN9__gnu_cxx12_Lock_policyE2EED0Ev"); ++asm (".hidden _ZNSt23_Sp_counted_ptr_inplaceINSt6chrono9tzdb_list5_NodeESaIvELN9__gnu_cxx12_Lock_policyE2EE10_M_destroyEv"); ++asm (".hidden _ZNSt23_Sp_counted_ptr_inplaceINSt6chrono9tzdb_list5_NodeESaIvELN9__gnu_cxx12_Lock_policyE2EE14_M_get_deleterERKSt9type_info"); ++asm (".hidden _ZNKSt6chrono14year_month_day19_M_days_since_epochEv"); ++asm (".hidden _ZNSt6chronossERKNS_14time_zone_linkES2_"); ++asm (".hidden _ZNSt6chrono9time_zoneC2ESt10unique_ptrINS0_5_ImplESt14default_deleteIS2_EE"); ++asm (".hidden _ZNSt6chrono9time_zoneC1ESt10unique_ptrINS0_5_ImplESt14default_deleteIS2_EE"); ++asm (".hidden _ZNSt6chrono9tzdb_list5_Node13_S_head_cacheE"); ++asm (".hidden _ZNSt6atomicISt10shared_ptrINSt6chrono9tzdb_list5_NodeEEED2Ev"); ++asm (".hidden _ZNSt6atomicISt10shared_ptrINSt6chrono9tzdb_list5_NodeEEED1Ev"); ++asm (".hidden _ZNSt6chrono9tzdb_list5_Node13_S_head_ownerE"); ++asm (".hidden _ZNSt6chrono9tzdb_list5_Node15_S_replace_headESt10shared_ptrIS1_ES3_"); ++asm (".hidden _ZNSt6vectorISt4pairINSt6chrono8sys_infoESt17basic_string_viewIcSt11char_traitsIcEEESaIS7_EE17_M_realloc_insertIJRS2_RS6_EEEvN9__gnu_cxx17__normal_iteratorIPS7_S9_EEDpOT_"); ++asm (".hidden _ZNSt6vectorISt4pairINSt6chrono8sys_infoESt17basic_string_viewIcSt11char_traitsIcEEESaIS7_EE17_M_realloc_insertIIRS2_RS6_EEEvN9__gnu_cxx17__normal_iteratorIPS7_S9_EEDpOT_"); ++asm (".hidden _ZNSt6chrono9time_zoneD2Ev"); ++asm (".hidden _ZNSt6chrono9time_zoneD1Ev"); ++asm (".hidden _ZNSt23_Sp_counted_ptr_inplaceINSt6chrono9tzdb_list5_NodeESaIvELN9__gnu_cxx12_Lock_policyE2EE10_M_disposeEv"); ++asm (".hidden _ZSt11make_uniqueINSt6chrono9time_zone5_ImplEJRSt10shared_ptrINS0_9tzdb_list5_NodeEEEENSt8__detail9_MakeUniqIT_E15__single_objectEDpOT0_"); ++asm (".hidden _ZSt11make_uniqueINSt6chrono9time_zone5_ImplEIRSt10shared_ptrINS0_9tzdb_list5_NodeEEEENSt8__detail9_MakeUniqIT_E15__single_objectEDpOT0_"); ++asm (".hidden _ZNSt6vectorINSt6chrono9time_zoneESaIS1_EE12emplace_backIJS1_EEERS1_DpOT_"); ++asm (".hidden _ZNSt6vectorINSt6chrono9time_zoneESaIS1_EE12emplace_backIIS1_EEERS1_DpOT_"); ++asm (".hidden _ZNSt12_Vector_baseINSt6chrono11leap_secondESaIS1_EED2Ev"); ++asm (".hidden _ZNSt12_Vector_baseINSt6chrono11leap_secondESaIS1_EED1Ev"); ++asm (".hidden _ZNSt6chrono9tzdb_list5_Node20_S_read_leap_secondsEv"); ++asm (".hidden _ZNSt6vectorINSt6chrono14time_zone_linkESaIS1_EE12emplace_backIJS1_EEERS1_DpOT_"); ++asm (".hidden _ZNSt6vectorINSt6chrono14time_zone_linkESaIS1_EE12emplace_backIIS1_EEERS1_DpOT_"); ++asm (".hidden _ZSt23__atomic_notify_addressIiEvPKT_b"); ++asm (".hidden _ZSt16__insertion_sortIN9__gnu_cxx17__normal_iteratorIPNSt6chrono9time_zoneESt6vectorIS3_SaIS3_EEEENS0_5__ops15_Iter_comp_iterIZNSt6ranges8__detail16__make_comp_projINSB_4lessESt8identityEEDaRT_RT0_EUlOSG_OSI_E_EEEvSG_SG_SI_"); ++asm (".hidden _ZSt16__insertion_sortIN9__gnu_cxx17__normal_iteratorIPNSt6chrono14time_zone_linkESt6vectorIS3_SaIS3_EEEENS0_5__ops15_Iter_comp_iterIZNSt6ranges8__detail16__make_comp_projINSB_4lessESt8identityEEDaRT_RT0_EUlOSG_OSI_E_EEEvSG_SG_SI_"); ++asm (".hidden _ZZNSt6ranges8__detail16__make_comp_projINS_4lessEMNSt6chrono9time_zoneEKDoFSt17basic_string_viewIcSt11char_traitsIcEEvEEEDaRT_RT0_ENKUlOSB_OSD_E_clIRS4_SJ_EEbSF_SG_"); ++asm (".hidden _ZSt16__insertion_sortIN9__gnu_cxx17__normal_iteratorIPNSt6chrono9time_zoneESt6vectorIS3_SaIS3_EEEENS0_5__ops15_Iter_comp_iterIZNSt6ranges8__detail16__make_comp_projINSB_4lessEMS3_KDoFSt17basic_string_viewIcSt11char_traitsIcEEvEEEDaRT_RT0_EUlOSL_OSN_E_EEEvSL_SL_SN_"); ++asm (".hidden _ZZNSt6ranges8__detail16__make_comp_projINS_4lessEMNSt6chrono14time_zone_linkEKDoFSt17basic_string_viewIcSt11char_traitsIcEEvEEEDaRT_RT0_ENKUlOSB_OSD_E_clIRS4_SJ_EEbSF_SG_"); ++asm (".hidden _ZSt16__insertion_sortIN9__gnu_cxx17__normal_iteratorIPNSt6chrono14time_zone_linkESt6vectorIS3_SaIS3_EEEENS0_5__ops15_Iter_comp_iterIZNSt6ranges8__detail16__make_comp_projINSB_4lessEMS3_KDoFSt17basic_string_viewIcSt11char_traitsIcEEvEEEDaRT_RT0_EUlOSL_OSN_E_EEEvSL_SL_SN_"); ++asm (".hidden _ZSt4swapINSt6chrono9time_zoneEENSt9enable_ifIXsrSt6__and_IJSt6__not_ISt15__is_tuple_likeIT_EESt21is_move_constructibleIS6_ESt18is_move_assignableIS6_EEE5valueEvE4typeERS6_SG_"); ++asm (".hidden _ZSt4swapINSt6chrono9time_zoneEENSt9enable_ifIXsrSt6__and_IISt6__not_ISt15__is_tuple_likeIT_EESt21is_move_constructibleIS6_ESt18is_move_assignableIS6_EEE5valueEvE4typeERS6_SG_"); ++asm (".hidden _ZSt4swapINSt6chrono14time_zone_linkEENSt9enable_ifIXsrSt6__and_IJSt6__not_ISt15__is_tuple_likeIT_EESt21is_move_constructibleIS6_ESt18is_move_assignableIS6_EEE5valueEvE4typeERS6_SG_"); ++asm (".hidden _ZSt4swapINSt6chrono14time_zone_linkEENSt9enable_ifIXsrSt6__and_IISt6__not_ISt15__is_tuple_likeIT_EESt21is_move_constructibleIS6_ESt18is_move_assignableIS6_EEE5valueEvE4typeERS6_SG_"); ++#if !defined(__i386__) ++asm (".hidden _ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE9_M_mutateEmmPKcm"); ++asm (".hidden _ZSt13__adjust_heapIN9__gnu_cxx17__normal_iteratorIPNSt6chrono9time_zoneESt6vectorIS3_SaIS3_EEEElS3_NS0_5__ops15_Iter_comp_iterIZNSt6ranges8__detail16__make_comp_projINSB_4lessESt8identityEEDaRT_RT0_EUlOSG_OSI_E_EEEvSG_SI_SI_T1_T2_"); ++asm (".hidden _ZSt16__introsort_loopIN9__gnu_cxx17__normal_iteratorIPNSt6chrono9time_zoneESt6vectorIS3_SaIS3_EEEElNS0_5__ops15_Iter_comp_iterIZNSt6ranges8__detail16__make_comp_projINSB_4lessEMS3_KDoFSt17basic_string_viewIcSt11char_traitsIcEEvEEEDaRT_RT0_EUlOSL_OSN_E_EEEvSL_SL_SN_T1_"); ++asm (".hidden _ZSt13__adjust_heapIN9__gnu_cxx17__normal_iteratorIPNSt6chrono9time_zoneESt6vectorIS3_SaIS3_EEEElS3_NS0_5__ops15_Iter_comp_iterIZNSt6ranges8__detail16__make_comp_projINSB_4lessEMS3_KDoFSt17basic_string_viewIcSt11char_traitsIcEEvEEEDaRT_RT0_EUlOSL_OSN_E_EEEvSL_SN_SN_T1_T2_"); ++asm (".hidden _ZSt13__adjust_heapIN9__gnu_cxx17__normal_iteratorIPNSt6chrono14time_zone_linkESt6vectorIS3_SaIS3_EEEElS3_NS0_5__ops15_Iter_comp_iterIZNSt6ranges8__detail16__make_comp_projINSB_4lessEMS3_KDoFSt17basic_string_viewIcSt11char_traitsIcEEvEEEDaRT_RT0_EUlOSL_OSN_E_EEEvSL_SN_SN_T1_T2_"); ++asm (".hidden _ZSt13__adjust_heapIN9__gnu_cxx17__normal_iteratorIPNSt6chrono14time_zone_linkESt6vectorIS3_SaIS3_EEEElS3_NS0_5__ops15_Iter_comp_iterIZNSt6ranges8__detail16__make_comp_projINSB_4lessESt8identityEEDaRT_RT0_EUlOSG_OSI_E_EEEvSG_SI_SI_T1_T2_"); ++asm (".hidden _ZSt16__introsort_loopIN9__gnu_cxx17__normal_iteratorIPNSt6chrono14time_zone_linkESt6vectorIS3_SaIS3_EEEElNS0_5__ops15_Iter_comp_iterIZNSt6ranges8__detail16__make_comp_projINSB_4lessESt8identityEEDaRT_RT0_EUlOSG_OSI_E_EEEvSG_SG_SI_T1_"); ++asm (".hidden _ZSt16__introsort_loopIN9__gnu_cxx17__normal_iteratorIPNSt6chrono9time_zoneESt6vectorIS3_SaIS3_EEEElNS0_5__ops15_Iter_comp_iterIZNSt6ranges8__detail16__make_comp_projINSB_4lessESt8identityEEDaRT_RT0_EUlOSG_OSI_E_EEEvSG_SG_SI_T1_"); ++asm (".hidden _ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC1EPKcmRKS3_"); ++asm (".hidden _ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE6appendEPKcm"); ++asm (".hidden _ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE10_M_replaceEmmPKcm"); ++asm (".hidden _ZSt16__introsort_loopIN9__gnu_cxx17__normal_iteratorIPNSt6chrono14time_zone_linkESt6vectorIS3_SaIS3_EEEElNS0_5__ops15_Iter_comp_iterIZNSt6ranges8__detail16__make_comp_projINSB_4lessEMS3_KDoFSt17basic_string_viewIcSt11char_traitsIcEEvEEEDaRT_RT0_EUlOSL_OSN_E_EEEvSL_SL_SN_T1_"); ++asm (".hidden _ZNSt16_Sp_counted_baseILN9__gnu_cxx12_Lock_policyE2EE24_M_release_last_use_coldEv"); ++asm (".hidden _ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2EPKcmRKS3_"); ++asm (".hidden _ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE7reserveEm"); ++#endif ++asm (".hidden _ZTVSt23_Sp_counted_ptr_inplaceINSt6chrono9tzdb_list5_NodeESaIvELN9__gnu_cxx12_Lock_policyE2EE"); ++asm (".hidden _ZNSt6chrono9tzdb_list5_Node12_S_init_tzdbEv"); ++asm (".hidden _ZNSt6chrono9tzdb_list5_Node11_S_the_listE"); ++asm (".hidden _ZTSSt23_Sp_counted_ptr_inplaceINSt6chrono9tzdb_list5_NodeESaIvELN9__gnu_cxx12_Lock_policyE2EE"); ++asm (".hidden _ZTISt23_Sp_counted_ptr_inplaceINSt6chrono9tzdb_list5_NodeESaIvELN9__gnu_cxx12_Lock_policyE2EE"); ++#if 0 ++asm (".hidden _ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev"); ++asm (".hidden _ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev"); ++asm (".hidden _ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE10_M_disposeEv"); ++#endif ++asm (".hidden _ZTSSt19_Sp_make_shared_tag"); ++asm (".hidden _ZNSt16_Sp_counted_baseILN9__gnu_cxx12_Lock_policyE2EE10_M_releaseEv"); ++asm (".hidden _ZNSt10unique_ptrINSt10filesystem7__cxx114path5_List5_ImplENS3_13_Impl_deleterEED2Ev"); ++asm (".hidden _ZNSt10unique_ptrINSt10filesystem7__cxx114path5_List5_ImplENS3_13_Impl_deleterEED1Ev"); ++asm (".hidden _ZTSSt11_Mutex_baseILN9__gnu_cxx12_Lock_policyE2EE"); ++asm (".hidden _ZTISt11_Mutex_baseILN9__gnu_cxx12_Lock_policyE2EE"); ++asm (".hidden _ZTSSt16_Sp_counted_baseILN9__gnu_cxx12_Lock_policyE2EE"); ++asm (".hidden _ZTISt16_Sp_counted_baseILN9__gnu_cxx12_Lock_policyE2EE"); ++asm (".hidden _ZZNSt19_Sp_make_shared_tag5_S_tiEvE5__tag"); ++asm (".hidden _ZZNSt8__detail18__waiter_pool_base6_S_forEPKvE3__w"); ++#if defined(__aarch64__) ++asm (".hidden _ZNKSt10filesystem7__cxx114path8iteratordeEv"); ++#endif ++asm (".hidden _ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE9_M_assignERKS4_"); ++asm (".hidden _ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC1EOS4_"); ++asm (".hidden _ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2EOS4_"); ++asm (".hidden _ZSt23__atomic_wait_address_vIiZNKSt13__atomic_baseIiE4waitEiSt12memory_orderEUlvE_EvPKT_S4_T0_"); ++#if defined(__i386__) ++asm (".hidden _ZSt16__introsort_loopIN9__gnu_cxx17__normal_iteratorIPNSt6chrono9time_zoneESt6vectorIS3_SaIS3_EEEEiNS0_5__ops15_Iter_comp_iterIZNSt6ranges8__detail16__make_comp_projINSB_4lessESt8identityEEDaRT_RT0_EUlOSG_OSI_E_EEEvSG_SG_SI_T1_"); ++asm (".hidden _ZSt16__introsort_loopIN9__gnu_cxx17__normal_iteratorIPNSt6chrono9time_zoneESt6vectorIS3_SaIS3_EEEEiNS0_5__ops15_Iter_comp_iterIZNSt6ranges8__detail16__make_comp_projINSB_4lessEMS3_KDoFSt17basic_string_viewIcSt11char_traitsIcEEvEEEDaRT_RT0_EUlOSL_OSN_E_EEEvSL_SL_SN_T1_"); ++asm (".hidden _ZSt16__introsort_loopIN9__gnu_cxx17__normal_iteratorIPNSt6chrono14time_zone_linkESt6vectorIS3_SaIS3_EEEEiNS0_5__ops15_Iter_comp_iterIZNSt6ranges8__detail16__make_comp_projINSB_4lessESt8identityEEDaRT_RT0_EUlOSG_OSI_E_EEEvSG_SG_SI_T1_"); ++asm (".hidden _ZSt16__introsort_loopIN9__gnu_cxx17__normal_iteratorIPNSt6chrono14time_zone_linkESt6vectorIS3_SaIS3_EEEEiNS0_5__ops15_Iter_comp_iterIZNSt6ranges8__detail16__make_comp_projINSB_4lessEMS3_KDoFSt17basic_string_viewIcSt11char_traitsIcEEvEEEDaRT_RT0_EUlOSL_OSN_E_EEEvSL_SL_SN_T1_"); ++asm (".hidden _ZSt13__adjust_heapIN9__gnu_cxx17__normal_iteratorIPNSt6chrono9time_zoneESt6vectorIS3_SaIS3_EEEEiS3_NS0_5__ops15_Iter_comp_iterIZNSt6ranges8__detail16__make_comp_projINSB_4lessESt8identityEEDaRT_RT0_EUlOSG_OSI_E_EEEvSG_SI_SI_T1_T2_"); ++asm (".hidden _ZSt13__adjust_heapIN9__gnu_cxx17__normal_iteratorIPNSt6chrono9time_zoneESt6vectorIS3_SaIS3_EEEEiS3_NS0_5__ops15_Iter_comp_iterIZNSt6ranges8__detail16__make_comp_projINSB_4lessEMS3_KDoFSt17basic_string_viewIcSt11char_traitsIcEEvEEEDaRT_RT0_EUlOSL_OSN_E_EEEvSL_SN_SN_T1_T2_"); ++asm (".hidden _ZSt13__adjust_heapIN9__gnu_cxx17__normal_iteratorIPNSt6chrono14time_zone_linkESt6vectorIS3_SaIS3_EEEEiS3_NS0_5__ops15_Iter_comp_iterIZNSt6ranges8__detail16__make_comp_projINSB_4lessESt8identityEEDaRT_RT0_EUlOSG_OSI_E_EEEvSG_SI_SI_T1_T2_"); ++asm (".hidden _ZSt13__adjust_heapIN9__gnu_cxx17__normal_iteratorIPNSt6chrono14time_zone_linkESt6vectorIS3_SaIS3_EEEEiS3_NS0_5__ops15_Iter_comp_iterIZNSt6ranges8__detail16__make_comp_projINSB_4lessEMS3_KDoFSt17basic_string_viewIcSt11char_traitsIcEEvEEEDaRT_RT0_EUlOSL_OSN_E_EEEvSL_SN_SN_T1_T2_"); ++asm (".hidden _ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2EPKcjRKS3_"); ++asm (".hidden _ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC1EPKcjRKS3_"); ++asm (".hidden _ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE6appendEPKcj"); ++asm (".hidden _ZSt25__unguarded_linear_insertIN9__gnu_cxx17__normal_iteratorIPNSt6chrono9time_zoneESt6vectorIS3_SaIS3_EEEENS0_5__ops14_Val_comp_iterIZNSt6ranges8__detail16__make_comp_projINSB_4lessEMS3_KDoFSt17basic_string_viewIcSt11char_traitsIcEEvEEEDaRT_RT0_EUlOSL_OSN_E_EEEvSL_SN_"); ++#endif +diff --git a/libstdc++-v3/src/nonshared23/Makefile.am b/libstdc++-v3/src/nonshared23/Makefile.am +new file mode 100644 +index 000000000..a54e49e91 +--- /dev/null ++++ b/libstdc++-v3/src/nonshared23/Makefile.am +@@ -0,0 +1,110 @@ ++## Makefile for the C++23 sources of the GNU C++ Standard library. ++## ++## Copyright (C) 1997-2024 Free Software Foundation, Inc. ++## ++## This file is part of the libstdc++ version 3 distribution. ++## Process this file with automake to produce Makefile.in. ++ ++## This file is part of the GNU ISO C++ Library. This library is free ++## software; you can redistribute it and/or modify it under the ++## terms of the GNU General Public License as published by the ++## Free Software Foundation; either version 3, or (at your option) ++## any later version. ++ ++## This library is distributed in the hope that it will be useful, ++## but WITHOUT ANY WARRANTY; without even the implied warranty of ++## MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the ++## GNU General Public License for more details. ++ ++## You should have received a copy of the GNU General Public License along ++## with this library; see the file COPYING3. If not see ++## . ++ ++include $(top_srcdir)/fragment.am ++ ++# Convenience library for C++23 runtime. ++noinst_LTLIBRARIES = libnonshared23convenience48.la ++ ++headers = ++ ++if ENABLE_EXTERN_TEMPLATE ++# XTEMPLATE_FLAGS = -fno-implicit-templates ++inst_sources = ++else ++# XTEMPLATE_FLAGS = ++inst_sources = ++endif ++ ++sources = stacktrace.cc print.cc ++ ++vpath % $(top_srcdir)/src/nonshared23 ++ ++libnonshared23convenience48_la_SOURCES = $(sources) $(inst_sources) ++ ++# Use C++23 so that std::filebuf::native_handle() is available. ++print.lo: print.cc ++ $(LTCXXCOMPILE) -std=gnu++23 -c $< ++print.o: print.cc ++ $(CXXCOMPILE) -std=gnu++23 -c $< ++ ++# AM_CXXFLAGS needs to be in each subdirectory so that it can be ++# modified in a per-library or per-sub-library way. Need to manually ++# set this option because CONFIG_CXXFLAGS has to be after ++# OPTIMIZE_CXXFLAGS on the compile line so that -O2 can be overridden ++# as the occasion calls for it. ++AM_CXXFLAGS = \ ++ -std=gnu++23 \ ++ $(glibcxx_lt_pic_flag) $(glibcxx_compiler_shared_flag) \ ++ $(XTEMPLATE_FLAGS) $(VTV_CXXFLAGS) \ ++ $(WARN_CXXFLAGS) $(OPTIMIZE_CXXFLAGS) $(CONFIG_CXXFLAGS) \ ++ -fimplicit-templates ++ ++AM_MAKEFLAGS = \ ++ "gxx_include_dir=$(gxx_include_dir)" ++ ++# Libtool notes ++ ++# 1) In general, libtool expects an argument such as `--tag=CXX' when ++# using the C++ compiler, because that will enable the settings ++# detected when C++ support was being configured. However, when no ++# such flag is given in the command line, libtool attempts to figure ++# it out by matching the compiler name in each configuration section ++# against a prefix of the command line. The problem is that, if the ++# compiler name and its initial flags stored in the libtool ++# configuration file don't match those in the command line, libtool ++# can't decide which configuration to use, and it gives up. The ++# correct solution is to add `--tag CXX' to LTCXXCOMPILE and maybe ++# CXXLINK, just after $(LIBTOOL), so that libtool doesn't have to ++# attempt to infer which configuration to use. ++# ++# The second tag argument, `--tag disable-shared` means that libtool ++# only compiles each source once, for static objects. In actuality, ++# glibcxx_lt_pic_flag and glibcxx_compiler_shared_flag are added to ++# the libtool command that is used create the object, which is ++# suitable for shared libraries. The `--tag disable-shared` must be ++# placed after --tag CXX lest things CXX undo the affect of ++# disable-shared. ++ ++# 2) Need to explicitly set LTCXXCOMPILE so that EXTRA_CXX_FLAGS is ++# last. (That way, things like -O2 passed down from the toplevel can ++# be overridden by --enable-debug.) ++LTCXXCOMPILE = \ ++ $(LIBTOOL) --tag CXX --tag disable-shared \ ++ $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) \ ++ --mode=compile $(CXX) $(TOPLEVEL_INCLUDES) \ ++ $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) $(EXTRA_CXX_FLAGS) ++ ++LTLDFLAGS = $(shell $(SHELL) $(top_srcdir)/../libtool-ldflags $(LDFLAGS)) ++ ++# 3) We'd have a problem when building the shared libstdc++ object if ++# the rules automake generates would be used. We cannot allow g++ to ++# be used since this would add -lstdc++ to the link line which of ++# course is problematic at this point. So, we get the top-level ++# directory to configure libstdc++-v3 to use gcc as the C++ ++# compilation driver. ++CXXLINK = \ ++ $(LIBTOOL) --tag CXX --tag disable-shared \ ++ $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) \ ++ --mode=link $(CXX) \ ++ $(VTV_CXXLINKFLAGS) \ ++ $(OPT_LDFLAGS) $(SECTION_LDFLAGS) $(AM_CXXFLAGS) $(LTLDFLAGS) -o $@ +diff --git a/libstdc++-v3/src/nonshared23/Makefile.in b/libstdc++-v3/src/nonshared23/Makefile.in +new file mode 100644 +index 000000000..1fd243d51 +--- /dev/null ++++ b/libstdc++-v3/src/nonshared23/Makefile.in +@@ -0,0 +1,762 @@ ++# Makefile.in generated by automake 1.15.1 from Makefile.am. ++# @configure_input@ ++ ++# Copyright (C) 1994-2017 Free Software Foundation, Inc. ++ ++# This Makefile.in is free software; the Free Software Foundation ++# gives unlimited permission to copy and/or distribute it, ++# with or without modifications, as long as this notice is preserved. ++ ++# This program is distributed in the hope that it will be useful, ++# but WITHOUT ANY WARRANTY, to the extent permitted by law; without ++# even the implied warranty of MERCHANTABILITY or FITNESS FOR A ++# PARTICULAR PURPOSE. ++ ++@SET_MAKE@ ++ ++VPATH = @srcdir@ ++am__is_gnu_make = { \ ++ if test -z '$(MAKELEVEL)'; then \ ++ false; \ ++ elif test -n '$(MAKE_HOST)'; then \ ++ true; \ ++ elif test -n '$(MAKE_VERSION)' && test -n '$(CURDIR)'; then \ ++ true; \ ++ else \ ++ false; \ ++ fi; \ ++} ++am__make_running_with_option = \ ++ case $${target_option-} in \ ++ ?) ;; \ ++ *) echo "am__make_running_with_option: internal error: invalid" \ ++ "target option '$${target_option-}' specified" >&2; \ ++ exit 1;; \ ++ esac; \ ++ has_opt=no; \ ++ sane_makeflags=$$MAKEFLAGS; \ ++ if $(am__is_gnu_make); then \ ++ sane_makeflags=$$MFLAGS; \ ++ else \ ++ case $$MAKEFLAGS in \ ++ *\\[\ \ ]*) \ ++ bs=\\; \ ++ sane_makeflags=`printf '%s\n' "$$MAKEFLAGS" \ ++ | sed "s/$$bs$$bs[$$bs $$bs ]*//g"`;; \ ++ esac; \ ++ fi; \ ++ skip_next=no; \ ++ strip_trailopt () \ ++ { \ ++ flg=`printf '%s\n' "$$flg" | sed "s/$$1.*$$//"`; \ ++ }; \ ++ for flg in $$sane_makeflags; do \ ++ test $$skip_next = yes && { skip_next=no; continue; }; \ ++ case $$flg in \ ++ *=*|--*) continue;; \ ++ -*I) strip_trailopt 'I'; skip_next=yes;; \ ++ -*I?*) strip_trailopt 'I';; \ ++ -*O) strip_trailopt 'O'; skip_next=yes;; \ ++ -*O?*) strip_trailopt 'O';; \ ++ -*l) strip_trailopt 'l'; skip_next=yes;; \ ++ -*l?*) strip_trailopt 'l';; \ ++ -[dEDm]) skip_next=yes;; \ ++ -[JT]) skip_next=yes;; \ ++ esac; \ ++ case $$flg in \ ++ *$$target_option*) has_opt=yes; break;; \ ++ esac; \ ++ done; \ ++ test $$has_opt = yes ++am__make_dryrun = (target_option=n; $(am__make_running_with_option)) ++am__make_keepgoing = (target_option=k; $(am__make_running_with_option)) ++pkgdatadir = $(datadir)/@PACKAGE@ ++pkgincludedir = $(includedir)/@PACKAGE@ ++pkglibdir = $(libdir)/@PACKAGE@ ++pkglibexecdir = $(libexecdir)/@PACKAGE@ ++am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd ++install_sh_DATA = $(install_sh) -c -m 644 ++install_sh_PROGRAM = $(install_sh) -c ++install_sh_SCRIPT = $(install_sh) -c ++INSTALL_HEADER = $(INSTALL_DATA) ++transform = $(program_transform_name) ++NORMAL_INSTALL = : ++PRE_INSTALL = : ++POST_INSTALL = : ++NORMAL_UNINSTALL = : ++PRE_UNINSTALL = : ++POST_UNINSTALL = : ++build_triplet = @build@ ++host_triplet = @host@ ++target_triplet = @target@ ++subdir = src/nonshared23 ++ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 ++am__aclocal_m4_deps = $(top_srcdir)/../config/acx.m4 \ ++ $(top_srcdir)/../config/enable.m4 \ ++ $(top_srcdir)/../config/futex.m4 \ ++ $(top_srcdir)/../config/hwcaps.m4 \ ++ $(top_srcdir)/../config/iconv.m4 \ ++ $(top_srcdir)/../config/lead-dot.m4 \ ++ $(top_srcdir)/../config/lib-ld.m4 \ ++ $(top_srcdir)/../config/lib-link.m4 \ ++ $(top_srcdir)/../config/lib-prefix.m4 \ ++ $(top_srcdir)/../config/lthostflags.m4 \ ++ $(top_srcdir)/../config/multi.m4 \ ++ $(top_srcdir)/../config/no-executables.m4 \ ++ $(top_srcdir)/../config/override.m4 \ ++ $(top_srcdir)/../config/toolexeclibdir.m4 \ ++ $(top_srcdir)/../config/unwind_ipinfo.m4 \ ++ $(top_srcdir)/../libtool.m4 $(top_srcdir)/../ltoptions.m4 \ ++ $(top_srcdir)/../ltsugar.m4 $(top_srcdir)/../ltversion.m4 \ ++ $(top_srcdir)/../lt~obsolete.m4 $(top_srcdir)/crossconfig.m4 \ ++ $(top_srcdir)/linkage.m4 $(top_srcdir)/acinclude.m4 \ ++ $(top_srcdir)/../config/gc++filt.m4 \ ++ $(top_srcdir)/../config/tls.m4 $(top_srcdir)/../config/gthr.m4 \ ++ $(top_srcdir)/../config/cet.m4 $(top_srcdir)/configure.ac ++am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \ ++ $(ACLOCAL_M4) ++DIST_COMMON = $(srcdir)/Makefile.am ++CONFIG_HEADER = $(top_builddir)/config.h ++CONFIG_CLEAN_FILES = ++CONFIG_CLEAN_VPATH_FILES = ++LTLIBRARIES = $(noinst_LTLIBRARIES) ++ ++AM_V_lt = $(am__v_lt_@AM_V@) ++am__v_lt_ = $(am__v_lt_@AM_DEFAULT_V@) ++am__v_lt_0 = --silent ++am__v_lt_1 = ++libnonshared23convenience48_la_LIBADD = ++am__objects_1 = stacktrace.lo print.lo ++am__objects_2 = ++am_libnonshared23convenience48_la_OBJECTS = $(am__objects_1) \ ++ $(am__objects_2) ++libnonshared23convenience48_la_OBJECTS = \ ++ $(am_libnonshared23convenience48_la_OBJECTS) ++ ++AM_V_lt = $(am__v_lt_@AM_V@) ++am__v_lt_ = $(am__v_lt_@AM_DEFAULT_V@) ++am__v_lt_0 = --silent ++am__v_lt_1 = ++AM_V_P = $(am__v_P_@AM_V@) ++am__v_P_ = $(am__v_P_@AM_DEFAULT_V@) ++am__v_P_0 = false ++am__v_P_1 = : ++AM_V_GEN = $(am__v_GEN_@AM_V@) ++am__v_GEN_ = $(am__v_GEN_@AM_DEFAULT_V@) ++am__v_GEN_0 = @echo " GEN " $@; ++am__v_GEN_1 = ++AM_V_at = $(am__v_at_@AM_V@) ++am__v_at_ = $(am__v_at_@AM_DEFAULT_V@) ++am__v_at_0 = @ ++am__v_at_1 = ++DEFAULT_INCLUDES = -I.@am__isrc@ -I$(top_builddir) ++depcomp = ++am__depfiles_maybe = ++CXXCOMPILE = $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) \ ++ $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) ++AM_V_CXX = $(am__v_CXX_@AM_V@) ++am__v_CXX_ = $(am__v_CXX_@AM_DEFAULT_V@) ++am__v_CXX_0 = @echo " CXX " $@; ++am__v_CXX_1 = ++CXXLD = $(CXX) ++AM_V_CXXLD = $(am__v_CXXLD_@AM_V@) ++am__v_CXXLD_ = $(am__v_CXXLD_@AM_DEFAULT_V@) ++am__v_CXXLD_0 = @echo " CXXLD " $@; ++am__v_CXXLD_1 = ++SOURCES = $(libnonshared23convenience48_la_SOURCES) ++ ++am__can_run_installinfo = \ ++ case $$AM_UPDATE_INFO_DIR in \ ++ n|no|NO) false;; \ ++ *) (install-info --version) >/dev/null 2>&1;; \ ++ esac ++am__tagged_files = $(HEADERS) $(SOURCES) $(TAGS_FILES) $(LISP) ++# Read a list of newline-separated strings from the standard input, ++# and print each of them once, without duplicates. Input order is ++# *not* preserved. ++am__uniquify_input = $(AWK) '\ ++ BEGIN { nonempty = 0; } \ ++ { items[$$0] = 1; nonempty = 1; } \ ++ END { if (nonempty) { for (i in items) print i; }; } \ ++' ++# Make sure the list of sources is unique. This is necessary because, ++# e.g., the same source file might be shared among _SOURCES variables ++# for different programs/libraries. ++am__define_uniq_tagged_files = \ ++ list='$(am__tagged_files)'; \ ++ unique=`for i in $$list; do \ ++ if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ ++ done | $(am__uniquify_input)` ++ETAGS = etags ++CTAGS = ctags ++ABI_TWEAKS_SRCDIR = @ABI_TWEAKS_SRCDIR@ ++ACLOCAL = @ACLOCAL@ ++ALLOCATOR_H = @ALLOCATOR_H@ ++ALLOCATOR_NAME = @ALLOCATOR_NAME@ ++ALLOC_FILE = @ALLOC_FILE@ ++AMTAR = @AMTAR@ ++AM_DEFAULT_VERBOSITY = @AM_DEFAULT_VERBOSITY@ ++AR = @AR@ ++AS = @AS@ ++ATOMICITY_SRCDIR = @ATOMICITY_SRCDIR@ ++ATOMIC_FLAGS = @ATOMIC_FLAGS@ ++ATOMIC_WORD_SRCDIR = @ATOMIC_WORD_SRCDIR@ ++AUTOCONF = @AUTOCONF@ ++AUTOHEADER = @AUTOHEADER@ ++AUTOMAKE = @AUTOMAKE@ ++AWK = @AWK@ ++BACKTRACE_CPPFLAGS = @BACKTRACE_CPPFLAGS@ ++BACKTRACE_SUPPORTED = @BACKTRACE_SUPPORTED@ ++BACKTRACE_SUPPORTS_THREADS = @BACKTRACE_SUPPORTS_THREADS@ ++BACKTRACE_USES_MALLOC = @BACKTRACE_USES_MALLOC@ ++BASIC_FILE_CC = @BASIC_FILE_CC@ ++BASIC_FILE_H = @BASIC_FILE_H@ ++CC = @CC@ ++CCODECVT_CC = @CCODECVT_CC@ ++CCOLLATE_CC = @CCOLLATE_CC@ ++CCTYPE_CC = @CCTYPE_CC@ ++CFLAGS = @CFLAGS@ ++CLOCALE_CC = @CLOCALE_CC@ ++CLOCALE_H = @CLOCALE_H@ ++CLOCALE_INTERNAL_H = @CLOCALE_INTERNAL_H@ ++CMESSAGES_CC = @CMESSAGES_CC@ ++CMESSAGES_H = @CMESSAGES_H@ ++CMONEY_CC = @CMONEY_CC@ ++CNUMERIC_CC = @CNUMERIC_CC@ ++CPP = @CPP@ ++CPPFLAGS = @CPPFLAGS@ ++CPU_DEFINES_SRCDIR = @CPU_DEFINES_SRCDIR@ ++CPU_OPT_BITS_RANDOM = @CPU_OPT_BITS_RANDOM@ ++CPU_OPT_EXT_RANDOM = @CPU_OPT_EXT_RANDOM@ ++CSTDIO_H = @CSTDIO_H@ ++CTIME_CC = @CTIME_CC@ ++CTIME_H = @CTIME_H@ ++CXX = @CXX@ ++CXXCPP = @CXXCPP@ ++CXXFILT = @CXXFILT@ ++CXXFLAGS = @CXXFLAGS@ ++CYGPATH_W = @CYGPATH_W@ ++C_INCLUDE_DIR = @C_INCLUDE_DIR@ ++DBLATEX = @DBLATEX@ ++DEBUG_FLAGS = @DEBUG_FLAGS@ ++DEFS = @DEFS@ ++DOT = @DOT@ ++DOXYGEN = @DOXYGEN@ ++DSYMUTIL = @DSYMUTIL@ ++DUMPBIN = @DUMPBIN@ ++ECHO_C = @ECHO_C@ ++ECHO_N = @ECHO_N@ ++ECHO_T = @ECHO_T@ ++EGREP = @EGREP@ ++EH_POOL_FLAGS = @EH_POOL_FLAGS@ ++ERROR_CONSTANTS_SRCDIR = @ERROR_CONSTANTS_SRCDIR@ ++EXEEXT = @EXEEXT@ ++EXTRA_CFLAGS = @EXTRA_CFLAGS@ ++EXTRA_CXX_FLAGS = @EXTRA_CXX_FLAGS@ ++FGREP = @FGREP@ ++FORMAT_FILE = @FORMAT_FILE@ ++FREESTANDING_FLAGS = @FREESTANDING_FLAGS@ ++GLIBCXX_INCLUDES = @GLIBCXX_INCLUDES@ ++GLIBCXX_LIBS = @GLIBCXX_LIBS@ ++GREP = @GREP@ ++HWCAP_CFLAGS = @HWCAP_CFLAGS@ ++INSTALL = @INSTALL@ ++INSTALL_DATA = @INSTALL_DATA@ ++INSTALL_PROGRAM = @INSTALL_PROGRAM@ ++INSTALL_SCRIPT = @INSTALL_SCRIPT@ ++INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@ ++LD = @LD@ ++LDFLAGS = @LDFLAGS@ ++LIBICONV = @LIBICONV@ ++LIBOBJS = @LIBOBJS@ ++LIBS = @LIBS@ ++LIBTOOL = @LIBTOOL@ ++LIPO = @LIPO@ ++LN_S = @LN_S@ ++LONG_DOUBLE_128_FLAGS = @LONG_DOUBLE_128_FLAGS@ ++LONG_DOUBLE_ALT128_COMPAT_FLAGS = @LONG_DOUBLE_ALT128_COMPAT_FLAGS@ ++LONG_DOUBLE_COMPAT_FLAGS = @LONG_DOUBLE_COMPAT_FLAGS@ ++LTLIBICONV = @LTLIBICONV@ ++LTLIBOBJS = @LTLIBOBJS@ ++MAINT = @MAINT@ ++MAKEINFO = @MAKEINFO@ ++MKDIR_P = @MKDIR_P@ ++NM = @NM@ ++NMEDIT = @NMEDIT@ ++OBJDUMP = @OBJDUMP@ ++OBJEXT = @OBJEXT@ ++OPTIMIZE_CXXFLAGS = @OPTIMIZE_CXXFLAGS@ ++OPT_LDFLAGS = @OPT_LDFLAGS@ ++OS_INC_SRCDIR = @OS_INC_SRCDIR@ ++OTOOL = @OTOOL@ ++OTOOL64 = @OTOOL64@ ++PACKAGE = @PACKAGE@ ++PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@ ++PACKAGE_NAME = @PACKAGE_NAME@ ++PACKAGE_STRING = @PACKAGE_STRING@ ++PACKAGE_TARNAME = @PACKAGE_TARNAME@ ++PACKAGE_URL = @PACKAGE_URL@ ++PACKAGE_VERSION = @PACKAGE_VERSION@ ++PATH_SEPARATOR = @PATH_SEPARATOR@ ++PDFLATEX = @PDFLATEX@ ++RANLIB = @RANLIB@ ++SECTION_FLAGS = @SECTION_FLAGS@ ++SECTION_LDFLAGS = @SECTION_LDFLAGS@ ++SED = @SED@ ++SET_MAKE = @SET_MAKE@ ++SHELL = @SHELL@ ++STRIP = @STRIP@ ++SYMVER_FILE = @SYMVER_FILE@ ++TOPLEVEL_INCLUDES = @TOPLEVEL_INCLUDES@ ++USE_NLS = @USE_NLS@ ++VERSION = @VERSION@ ++VIEW_FILE = @VIEW_FILE@ ++VTV_CXXFLAGS = @VTV_CXXFLAGS@ ++VTV_CXXLINKFLAGS = @VTV_CXXLINKFLAGS@ ++VTV_PCH_CXXFLAGS = @VTV_PCH_CXXFLAGS@ ++WARN_FLAGS = @WARN_FLAGS@ ++XMLCATALOG = @XMLCATALOG@ ++XMLLINT = @XMLLINT@ ++XSLTPROC = @XSLTPROC@ ++XSL_STYLE_DIR = @XSL_STYLE_DIR@ ++abs_builddir = @abs_builddir@ ++abs_srcdir = @abs_srcdir@ ++abs_top_builddir = @abs_top_builddir@ ++abs_top_srcdir = @abs_top_srcdir@ ++ac_ct_CC = @ac_ct_CC@ ++ac_ct_CXX = @ac_ct_CXX@ ++ac_ct_DUMPBIN = @ac_ct_DUMPBIN@ ++am__leading_dot = @am__leading_dot@ ++am__tar = @am__tar@ ++am__untar = @am__untar@ ++baseline_dir = @baseline_dir@ ++baseline_subdir_switch = @baseline_subdir_switch@ ++bindir = @bindir@ ++build = @build@ ++build_alias = @build_alias@ ++build_cpu = @build_cpu@ ++build_os = @build_os@ ++build_vendor = @build_vendor@ ++builddir = @builddir@ ++check_msgfmt = @check_msgfmt@ ++datadir = @datadir@ ++datarootdir = @datarootdir@ ++docdir = @docdir@ ++dvidir = @dvidir@ ++enable_shared = @enable_shared@ ++enable_static = @enable_static@ ++exec_prefix = @exec_prefix@ ++get_gcc_base_ver = @get_gcc_base_ver@ ++glibcxx_MOFILES = @glibcxx_MOFILES@ ++glibcxx_PCHFLAGS = @glibcxx_PCHFLAGS@ ++glibcxx_POFILES = @glibcxx_POFILES@ ++glibcxx_builddir = @glibcxx_builddir@ ++glibcxx_compiler_pic_flag = @glibcxx_compiler_pic_flag@ ++glibcxx_compiler_shared_flag = @glibcxx_compiler_shared_flag@ ++glibcxx_cxx98_abi = @glibcxx_cxx98_abi@ ++glibcxx_localedir = @glibcxx_localedir@ ++glibcxx_lt_pic_flag = @glibcxx_lt_pic_flag@ ++glibcxx_prefixdir = @glibcxx_prefixdir@ ++glibcxx_srcdir = @glibcxx_srcdir@ ++glibcxx_toolexecdir = @glibcxx_toolexecdir@ ++glibcxx_toolexeclibdir = @glibcxx_toolexeclibdir@ ++gxx_include_dir = @gxx_include_dir@ ++host = @host@ ++host_alias = @host_alias@ ++host_cpu = @host_cpu@ ++host_os = @host_os@ ++host_vendor = @host_vendor@ ++htmldir = @htmldir@ ++includedir = @includedir@ ++infodir = @infodir@ ++install_sh = @install_sh@ ++libdir = @libdir@ ++libexecdir = @libexecdir@ ++libtool_VERSION = @libtool_VERSION@ ++localedir = @localedir@ ++localstatedir = @localstatedir@ ++lt_host_flags = @lt_host_flags@ ++mandir = @mandir@ ++mkdir_p = @mkdir_p@ ++multi_basedir = @multi_basedir@ ++oldincludedir = @oldincludedir@ ++pdfdir = @pdfdir@ ++port_specific_symbol_files = @port_specific_symbol_files@ ++prefix = @prefix@ ++program_transform_name = @program_transform_name@ ++psdir = @psdir@ ++python_mod_dir = @python_mod_dir@ ++sbindir = @sbindir@ ++sharedstatedir = @sharedstatedir@ ++srcdir = @srcdir@ ++sysconfdir = @sysconfdir@ ++target = @target@ ++target_alias = @target_alias@ ++target_cpu = @target_cpu@ ++target_os = @target_os@ ++target_vendor = @target_vendor@ ++thread_header = @thread_header@ ++tmake_file = @tmake_file@ ++top_build_prefix = @top_build_prefix@ ++top_builddir = @top_builddir@ ++top_srcdir = @top_srcdir@ ++toplevel_builddir = @toplevel_builddir@ ++toplevel_srcdir = @toplevel_srcdir@ ++ ++# May be used by various substitution variables. ++gcc_version := $(shell @get_gcc_base_ver@ $(top_srcdir)/../gcc/BASE-VER) ++MAINT_CHARSET = latin1 ++mkinstalldirs = $(SHELL) $(toplevel_srcdir)/mkinstalldirs ++PWD_COMMAND = $${PWDCMD-pwd} ++STAMP = echo timestamp > ++toolexecdir = $(glibcxx_toolexecdir) ++toolexeclibdir = $(glibcxx_toolexeclibdir) ++@ENABLE_WERROR_FALSE@WERROR_FLAG = ++@ENABLE_WERROR_TRUE@WERROR_FLAG = -Werror ++@ENABLE_EXTERN_TEMPLATE_FALSE@XTEMPLATE_FLAGS = ++@ENABLE_EXTERN_TEMPLATE_TRUE@XTEMPLATE_FLAGS = -fno-implicit-templates ++@GLIBCXX_LDBL_ALT128_COMPAT_FALSE@LDBL_128_FLAGS = ++@GLIBCXX_LDBL_ALT128_COMPAT_TRUE@LDBL_128_FLAGS = $(LONG_DOUBLE_128_FLAGS) ++ ++# These bits are all figured out from configure. Look in acinclude.m4 ++# or configure.ac to see how they are set. See GLIBCXX_EXPORT_FLAGS. ++CONFIG_CXXFLAGS = \ ++ $(SECTION_FLAGS) $(HWCAP_CFLAGS) -frandom-seed=$@ $(LDBL_128_FLAGS) ++ ++WARN_CXXFLAGS = \ ++ $(WARN_FLAGS) $(WERROR_FLAG) -fdiagnostics-show-location=once ++ ++ ++# -I/-D flags to pass when compiling. ++AM_CPPFLAGS = $(GLIBCXX_INCLUDES) $(CPPFLAGS) ++ ++# Convenience library for C++23 runtime. ++noinst_LTLIBRARIES = libnonshared23convenience48.la ++headers = ++# XTEMPLATE_FLAGS = ++@ENABLE_EXTERN_TEMPLATE_FALSE@inst_sources = ++ ++# XTEMPLATE_FLAGS = -fno-implicit-templates ++@ENABLE_EXTERN_TEMPLATE_TRUE@inst_sources = ++sources = stacktrace.cc print.cc ++@GLIBCXX_HOSTED_FALSE@libc__23convenience_la_SOURCES = ++@GLIBCXX_HOSTED_TRUE@libc__23convenience_la_SOURCES = $(sources) $(inst_sources) ++ ++# AM_CXXFLAGS needs to be in each subdirectory so that it can be ++# modified in a per-library or per-sub-library way. Need to manually ++# set this option because CONFIG_CXXFLAGS has to be after ++# OPTIMIZE_CXXFLAGS on the compile line so that -O2 can be overridden ++# as the occasion calls for it. ++AM_CXXFLAGS = \ ++ -std=gnu++23 \ ++ $(glibcxx_lt_pic_flag) $(glibcxx_compiler_shared_flag) \ ++ $(XTEMPLATE_FLAGS) $(VTV_CXXFLAGS) \ ++ $(WARN_CXXFLAGS) $(OPTIMIZE_CXXFLAGS) $(CONFIG_CXXFLAGS) \ ++ -fimplicit-templates ++ ++AM_MAKEFLAGS = \ ++ "gxx_include_dir=$(gxx_include_dir)" ++ ++ ++# Libtool notes ++ ++# 1) In general, libtool expects an argument such as `--tag=CXX' when ++# using the C++ compiler, because that will enable the settings ++# detected when C++ support was being configured. However, when no ++# such flag is given in the command line, libtool attempts to figure ++# it out by matching the compiler name in each configuration section ++# against a prefix of the command line. The problem is that, if the ++# compiler name and its initial flags stored in the libtool ++# configuration file don't match those in the command line, libtool ++# can't decide which configuration to use, and it gives up. The ++# correct solution is to add `--tag CXX' to LTCXXCOMPILE and maybe ++# CXXLINK, just after $(LIBTOOL), so that libtool doesn't have to ++# attempt to infer which configuration to use. ++# ++# The second tag argument, `--tag disable-shared` means that libtool ++# only compiles each source once, for static objects. In actuality, ++# glibcxx_lt_pic_flag and glibcxx_compiler_shared_flag are added to ++# the libtool command that is used create the object, which is ++# suitable for shared libraries. The `--tag disable-shared` must be ++# placed after --tag CXX lest things CXX undo the affect of ++# disable-shared. ++ ++# 2) Need to explicitly set LTCXXCOMPILE so that EXTRA_CXX_FLAGS is ++# last. (That way, things like -O2 passed down from the toplevel can ++# be overridden by --enable-debug.) ++LTCXXCOMPILE = \ ++ $(LIBTOOL) --tag CXX --tag disable-shared \ ++ $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) \ ++ --mode=compile $(CXX) $(TOPLEVEL_INCLUDES) \ ++ $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) $(EXTRA_CXX_FLAGS) ++ ++LTLDFLAGS = $(shell $(SHELL) $(top_srcdir)/../libtool-ldflags $(LDFLAGS)) ++ ++# 3) We'd have a problem when building the shared libstdc++ object if ++# the rules automake generates would be used. We cannot allow g++ to ++# be used since this would add -lstdc++ to the link line which of ++# course is problematic at this point. So, we get the top-level ++# directory to configure libstdc++-v3 to use gcc as the C++ ++# compilation driver. ++CXXLINK = \ ++ $(LIBTOOL) --tag CXX --tag disable-shared \ ++ $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) \ ++ --mode=link $(CXX) \ ++ $(VTV_CXXLINKFLAGS) \ ++ $(OPT_LDFLAGS) $(SECTION_LDFLAGS) $(AM_CXXFLAGS) $(LTLDFLAGS) -o $@ ++ ++all: all-am ++ ++.SUFFIXES: ++.SUFFIXES: .cc .lo .o .obj ++$(srcdir)/Makefile.in: @MAINTAINER_MODE_TRUE@ $(srcdir)/Makefile.am $(top_srcdir)/fragment.am $(am__configure_deps) ++ @for dep in $?; do \ ++ case '$(am__configure_deps)' in \ ++ *$$dep*) \ ++ ( cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh ) \ ++ && { if test -f $@; then exit 0; else break; fi; }; \ ++ exit 1;; \ ++ esac; \ ++ done; \ ++ echo ' cd $(top_srcdir) && $(AUTOMAKE) --foreign --ignore-deps src/nonshared23/Makefile'; \ ++ $(am__cd) $(top_srcdir) && \ ++ $(AUTOMAKE) --foreign --ignore-deps src/nonshared23/Makefile ++Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status ++ @case '$?' in \ ++ *config.status*) \ ++ cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \ ++ *) \ ++ echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)'; \ ++ cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe);; \ ++ esac; ++$(top_srcdir)/fragment.am $(am__empty): ++ ++$(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES) ++ cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh ++ ++$(top_srcdir)/configure: @MAINTAINER_MODE_TRUE@ $(am__configure_deps) ++ cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh ++$(ACLOCAL_M4): @MAINTAINER_MODE_TRUE@ $(am__aclocal_m4_deps) ++ cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh ++$(am__aclocal_m4_deps): ++ ++clean-noinstLTLIBRARIES: ++ -test -z "$(noinst_LTLIBRARIES)" || rm -f $(noinst_LTLIBRARIES) ++ @list='$(noinst_LTLIBRARIES)'; \ ++ locs=`for p in $$list; do echo $$p; done | \ ++ sed 's|^[^/]*$$|.|; s|/[^/]*$$||; s|$$|/so_locations|' | \ ++ sort -u`; \ ++ test -z "$$locs" || { \ ++ echo rm -f $${locs}; \ ++ rm -f $${locs}; \ ++ } ++ ++libnonshared23convenience48.la: $(libnonshared23convenience48_la_OBJECTS) $(libnonshared23convenience48_la_DEPENDENCIES) $(EXTRA_libnonshared23convenience48_la_DEPENDENCIES) ++ $(AM_V_CXXLD)$(CXXLINK) $(libnonshared23convenience48_la_OBJECTS) $(libnonshared23convenience48_la_LIBADD) $(LIBS) ++ ++ ++mostlyclean-compile: ++ -rm -f *.$(OBJEXT) ++ ++distclean-compile: ++ -rm -f *.tab.c ++ ++.cc.o: ++ $(AM_V_CXX)$(CXXCOMPILE) -c -o $@ $< ++ ++.cc.obj: ++ $(AM_V_CXX)$(CXXCOMPILE) -c -o $@ `$(CYGPATH_W) '$<'` ++ ++.cc.lo: ++ $(AM_V_CXX)$(LTCXXCOMPILE) -c -o $@ $< ++ ++mostlyclean-libtool: ++ -rm -f *.lo ++ ++clean-libtool: ++ -rm -rf .libs _libs ++ ++ID: $(am__tagged_files) ++ $(am__define_uniq_tagged_files); mkid -fID $$unique ++tags: tags-am ++TAGS: tags ++ ++tags-am: $(TAGS_DEPENDENCIES) $(am__tagged_files) ++ set x; \ ++ here=`pwd`; \ ++ $(am__define_uniq_tagged_files); \ ++ shift; \ ++ if test -z "$(ETAGS_ARGS)$$*$$unique"; then :; else \ ++ test -n "$$unique" || unique=$$empty_fix; \ ++ if test $$# -gt 0; then \ ++ $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \ ++ "$$@" $$unique; \ ++ else \ ++ $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \ ++ $$unique; \ ++ fi; \ ++ fi ++ctags: ctags-am ++ ++CTAGS: ctags ++ctags-am: $(TAGS_DEPENDENCIES) $(am__tagged_files) ++ $(am__define_uniq_tagged_files); \ ++ test -z "$(CTAGS_ARGS)$$unique" \ ++ || $(CTAGS) $(CTAGSFLAGS) $(AM_CTAGSFLAGS) $(CTAGS_ARGS) \ ++ $$unique ++ ++GTAGS: ++ here=`$(am__cd) $(top_builddir) && pwd` \ ++ && $(am__cd) $(top_srcdir) \ ++ && gtags -i $(GTAGS_ARGS) "$$here" ++cscopelist: cscopelist-am ++ ++cscopelist-am: $(am__tagged_files) ++ list='$(am__tagged_files)'; \ ++ case "$(srcdir)" in \ ++ [\\/]* | ?:[\\/]*) sdir="$(srcdir)" ;; \ ++ *) sdir=$(subdir)/$(srcdir) ;; \ ++ esac; \ ++ for i in $$list; do \ ++ if test -f "$$i"; then \ ++ echo "$(subdir)/$$i"; \ ++ else \ ++ echo "$$sdir/$$i"; \ ++ fi; \ ++ done >> $(top_builddir)/cscope.files ++ ++distclean-tags: ++ -rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags ++check-am: all-am ++check: check-am ++all-am: Makefile $(LTLIBRARIES) ++installdirs: ++install: install-am ++install-exec: install-exec-am ++install-data: install-data-am ++uninstall: uninstall-am ++ ++install-am: all-am ++ @$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am ++ ++installcheck: installcheck-am ++install-strip: ++ if test -z '$(STRIP)'; then \ ++ $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \ ++ install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \ ++ install; \ ++ else \ ++ $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \ ++ install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \ ++ "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'" install; \ ++ fi ++mostlyclean-generic: ++ ++clean-generic: ++ ++distclean-generic: ++ -test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES) ++ -test . = "$(srcdir)" || test -z "$(CONFIG_CLEAN_VPATH_FILES)" || rm -f $(CONFIG_CLEAN_VPATH_FILES) ++ ++maintainer-clean-generic: ++ @echo "This command is intended for maintainers to use" ++ @echo "it deletes files that may require special tools to rebuild." ++clean: clean-am ++ ++clean-am: clean-generic clean-libtool clean-noinstLTLIBRARIES \ ++ mostlyclean-am ++ ++distclean: distclean-am ++ -rm -f Makefile ++distclean-am: clean-am distclean-compile distclean-generic \ ++ distclean-tags ++ ++dvi: dvi-am ++ ++dvi-am: ++ ++html: html-am ++ ++html-am: ++ ++info: info-am ++ ++info-am: ++ ++install-data-am: ++ ++install-dvi: install-dvi-am ++ ++install-dvi-am: ++ ++install-exec-am: ++ ++install-html: install-html-am ++ ++install-html-am: ++ ++install-info: install-info-am ++ ++install-info-am: ++ ++install-man: ++ ++install-pdf: install-pdf-am ++ ++install-pdf-am: ++ ++install-ps: install-ps-am ++ ++install-ps-am: ++ ++installcheck-am: ++ ++maintainer-clean: maintainer-clean-am ++ -rm -f Makefile ++maintainer-clean-am: distclean-am maintainer-clean-generic ++ ++mostlyclean: mostlyclean-am ++ ++mostlyclean-am: mostlyclean-compile mostlyclean-generic \ ++ mostlyclean-libtool ++ ++pdf: pdf-am ++ ++pdf-am: ++ ++ps: ps-am ++ ++ps-am: ++ ++uninstall-am: ++ ++.MAKE: install-am install-strip ++ ++.PHONY: CTAGS GTAGS TAGS all all-am check check-am clean clean-generic \ ++ clean-libtool clean-noinstLTLIBRARIES cscopelist-am ctags \ ++ ctags-am distclean distclean-compile distclean-generic \ ++ distclean-libtool distclean-tags dvi dvi-am html html-am info \ ++ info-am install install-am install-data install-data-am \ ++ install-dvi install-dvi-am install-exec install-exec-am \ ++ install-html install-html-am install-info install-info-am \ ++ install-man install-pdf install-pdf-am install-ps \ ++ install-ps-am install-strip installcheck installcheck-am \ ++ installdirs maintainer-clean maintainer-clean-generic \ ++ mostlyclean mostlyclean-compile mostlyclean-generic \ ++ mostlyclean-libtool pdf pdf-am ps ps-am tags tags-am uninstall \ ++ uninstall-am ++ ++.PRECIOUS: Makefile ++ ++ ++vpath % $(top_srcdir)/src/nonshared23 ++ ++# Use C++26 so that std::filebuf::native_handle() is available. ++print.lo: print.cc ++ $(LTCXXCOMPILE) -std=gnu++26 -c $< ++print.o: print.cc ++ $(CXXCOMPILE) -std=gnu++26 -c $< ++ ++# Tell versions [3.59,3.63) of GNU make to not export all variables. ++# Otherwise a system limit (for SysV at least) may be exceeded. ++.NOEXPORT: +diff --git a/libstdc++-v3/src/nonshared23/print.cc b/libstdc++-v3/src/nonshared23/print.cc +new file mode 100644 +index 000000000..16772258b +--- /dev/null ++++ b/libstdc++-v3/src/nonshared23/print.cc +@@ -0,0 +1,23 @@ ++// Copyright (C) 2012-2024 Free Software Foundation, Inc. ++// ++// This file is part of the GNU ISO C++ Library. This library is free ++// software; you can redistribute it and/or modify it under the ++// terms of the GNU General Public License as published by the ++// Free Software Foundation; either version 3, or (at your option) ++// any later version. ++ ++// This library is distributed in the hope that it will be useful, ++// but WITHOUT ANY WARRANTY; without even the implied warranty of ++// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the ++// GNU General Public License for more details. ++ ++// Under Section 7 of GPL version 3, you are granted additional ++// permissions described in the GCC Runtime Library Exception, version ++// 3.1, as published by the Free Software Foundation. ++ ++// You should have received a copy of the GNU General Public License and ++// a copy of the GCC Runtime Library Exception along with this program; ++// see the files COPYING3 and COPYING.RUNTIME respectively. If not, see ++// . ++ ++#include "../c++23/print.cc" +diff --git a/libstdc++-v3/src/nonshared23/stacktrace.cc b/libstdc++-v3/src/nonshared23/stacktrace.cc +new file mode 100644 +index 000000000..a69fff54a +--- /dev/null ++++ b/libstdc++-v3/src/nonshared23/stacktrace.cc +@@ -0,0 +1,23 @@ ++// Copyright (C) 2012-2024 Free Software Foundation, Inc. ++// ++// This file is part of the GNU ISO C++ Library. This library is free ++// software; you can redistribute it and/or modify it under the ++// terms of the GNU General Public License as published by the ++// Free Software Foundation; either version 3, or (at your option) ++// any later version. ++ ++// This library is distributed in the hope that it will be useful, ++// but WITHOUT ANY WARRANTY; without even the implied warranty of ++// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the ++// GNU General Public License for more details. ++ ++// Under Section 7 of GPL version 3, you are granted additional ++// permissions described in the GCC Runtime Library Exception, version ++// 3.1, as published by the Free Software Foundation. ++ ++// You should have received a copy of the GNU General Public License and ++// a copy of the GCC Runtime Library Exception along with this program; ++// see the files COPYING3 and COPYING.RUNTIME respectively. If not, see ++// . ++ ++#include "../c++23/stacktrace.cc" +diff --git a/libstdc++-v3/src/nonshared26/Makefile.am b/libstdc++-v3/src/nonshared26/Makefile.am +new file mode 100644 +index 000000000..ae5a7ddbc +--- /dev/null ++++ b/libstdc++-v3/src/nonshared26/Makefile.am +@@ -0,0 +1,104 @@ ++## Makefile for the C++26 sources of the GNU C++ Standard library. ++## ++## Copyright (C) 1997-2023 Free Software Foundation, Inc. ++## ++## This file is part of the libstdc++ version 3 distribution. ++## Process this file with automake to produce Makefile.in. ++ ++## This file is part of the GNU ISO C++ Library. This library is free ++## software; you can redistribute it and/or modify it under the ++## terms of the GNU General Public License as published by the ++## Free Software Foundation; either version 3, or (at your option) ++## any later version. ++ ++## This library is distributed in the hope that it will be useful, ++## but WITHOUT ANY WARRANTY; without even the implied warranty of ++## MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the ++## GNU General Public License for more details. ++ ++## You should have received a copy of the GNU General Public License along ++## with this library; see the file COPYING3. If not see ++## . ++ ++include $(top_srcdir)/fragment.am ++ ++# Convenience library for C++26 runtime. ++noinst_LTLIBRARIES = libnonshared26convenience48.la ++ ++headers = ++ ++if ENABLE_EXTERN_TEMPLATE ++# XTEMPLATE_FLAGS = -fno-implicit-templates ++inst_sources = ++else ++# XTEMPLATE_FLAGS = ++inst_sources = ++endif ++ ++sources = text_encoding.cc ++ ++vpath % $(top_srcdir)/src/c++26 ++ ++libnonshared26convenience48_la_SOURCES = $(sources) $(inst_sources) ++ ++# AM_CXXFLAGS needs to be in each subdirectory so that it can be ++# modified in a per-library or per-sub-library way. Need to manually ++# set this option because CONFIG_CXXFLAGS has to be after ++# OPTIMIZE_CXXFLAGS on the compile line so that -O2 can be overridden ++# as the occasion calls for it. ++AM_CXXFLAGS = \ ++ -std=gnu++26 \ ++ $(glibcxx_lt_pic_flag) $(glibcxx_compiler_shared_flag) \ ++ $(XTEMPLATE_FLAGS) $(VTV_CXXFLAGS) \ ++ $(WARN_CXXFLAGS) $(OPTIMIZE_CXXFLAGS) $(CONFIG_CXXFLAGS) \ ++ -fimplicit-templates ++ ++AM_MAKEFLAGS = \ ++ "gxx_include_dir=$(gxx_include_dir)" ++ ++# Libtool notes ++ ++# 1) In general, libtool expects an argument such as `--tag=CXX' when ++# using the C++ compiler, because that will enable the settings ++# detected when C++ support was being configured. However, when no ++# such flag is given in the command line, libtool attempts to figure ++# it out by matching the compiler name in each configuration section ++# against a prefix of the command line. The problem is that, if the ++# compiler name and its initial flags stored in the libtool ++# configuration file don't match those in the command line, libtool ++# can't decide which configuration to use, and it gives up. The ++# correct solution is to add `--tag CXX' to LTCXXCOMPILE and maybe ++# CXXLINK, just after $(LIBTOOL), so that libtool doesn't have to ++# attempt to infer which configuration to use. ++# ++# The second tag argument, `--tag disable-shared` means that libtool ++# only compiles each source once, for static objects. In actuality, ++# glibcxx_lt_pic_flag and glibcxx_compiler_shared_flag are added to ++# the libtool command that is used create the object, which is ++# suitable for shared libraries. The `--tag disable-shared` must be ++# placed after --tag CXX lest things CXX undo the affect of ++# disable-shared. ++ ++# 2) Need to explicitly set LTCXXCOMPILE so that EXTRA_CXX_FLAGS is ++# last. (That way, things like -O2 passed down from the toplevel can ++# be overridden by --enable-debug.) ++LTCXXCOMPILE = \ ++ $(LIBTOOL) --tag CXX --tag disable-shared \ ++ $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) \ ++ --mode=compile $(CXX) $(TOPLEVEL_INCLUDES) \ ++ $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) $(EXTRA_CXX_FLAGS) ++ ++LTLDFLAGS = $(shell $(SHELL) $(top_srcdir)/../libtool-ldflags $(LDFLAGS)) ++ ++# 3) We'd have a problem when building the shared libstdc++ object if ++# the rules automake generates would be used. We cannot allow g++ to ++# be used since this would add -lstdc++ to the link line which of ++# course is problematic at this point. So, we get the top-level ++# directory to configure libstdc++-v3 to use gcc as the C++ ++# compilation driver. ++CXXLINK = \ ++ $(LIBTOOL) --tag CXX --tag disable-shared \ ++ $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) \ ++ --mode=link $(CXX) \ ++ $(VTV_CXXLINKFLAGS) \ ++ $(OPT_LDFLAGS) $(SECTION_LDFLAGS) $(AM_CXXFLAGS) $(LTLDFLAGS) -o $@ +diff --git a/libstdc++-v3/src/nonshared26/Makefile.in b/libstdc++-v3/src/nonshared26/Makefile.in +new file mode 100644 +index 000000000..f6712e619 +--- /dev/null ++++ b/libstdc++-v3/src/nonshared26/Makefile.in +@@ -0,0 +1,747 @@ ++# Makefile.in generated by automake 1.15.1 from Makefile.am. ++# @configure_input@ ++ ++# Copyright (C) 1994-2017 Free Software Foundation, Inc. ++ ++# This Makefile.in is free software; the Free Software Foundation ++# gives unlimited permission to copy and/or distribute it, ++# with or without modifications, as long as this notice is preserved. ++ ++# This program is distributed in the hope that it will be useful, ++# but WITHOUT ANY WARRANTY, to the extent permitted by law; without ++# even the implied warranty of MERCHANTABILITY or FITNESS FOR A ++# PARTICULAR PURPOSE. ++ ++@SET_MAKE@ ++ ++VPATH = @srcdir@ ++am__is_gnu_make = { \ ++ if test -z '$(MAKELEVEL)'; then \ ++ false; \ ++ elif test -n '$(MAKE_HOST)'; then \ ++ true; \ ++ elif test -n '$(MAKE_VERSION)' && test -n '$(CURDIR)'; then \ ++ true; \ ++ else \ ++ false; \ ++ fi; \ ++} ++am__make_running_with_option = \ ++ case $${target_option-} in \ ++ ?) ;; \ ++ *) echo "am__make_running_with_option: internal error: invalid" \ ++ "target option '$${target_option-}' specified" >&2; \ ++ exit 1;; \ ++ esac; \ ++ has_opt=no; \ ++ sane_makeflags=$$MAKEFLAGS; \ ++ if $(am__is_gnu_make); then \ ++ sane_makeflags=$$MFLAGS; \ ++ else \ ++ case $$MAKEFLAGS in \ ++ *\\[\ \ ]*) \ ++ bs=\\; \ ++ sane_makeflags=`printf '%s\n' "$$MAKEFLAGS" \ ++ | sed "s/$$bs$$bs[$$bs $$bs ]*//g"`;; \ ++ esac; \ ++ fi; \ ++ skip_next=no; \ ++ strip_trailopt () \ ++ { \ ++ flg=`printf '%s\n' "$$flg" | sed "s/$$1.*$$//"`; \ ++ }; \ ++ for flg in $$sane_makeflags; do \ ++ test $$skip_next = yes && { skip_next=no; continue; }; \ ++ case $$flg in \ ++ *=*|--*) continue;; \ ++ -*I) strip_trailopt 'I'; skip_next=yes;; \ ++ -*I?*) strip_trailopt 'I';; \ ++ -*O) strip_trailopt 'O'; skip_next=yes;; \ ++ -*O?*) strip_trailopt 'O';; \ ++ -*l) strip_trailopt 'l'; skip_next=yes;; \ ++ -*l?*) strip_trailopt 'l';; \ ++ -[dEDm]) skip_next=yes;; \ ++ -[JT]) skip_next=yes;; \ ++ esac; \ ++ case $$flg in \ ++ *$$target_option*) has_opt=yes; break;; \ ++ esac; \ ++ done; \ ++ test $$has_opt = yes ++am__make_dryrun = (target_option=n; $(am__make_running_with_option)) ++am__make_keepgoing = (target_option=k; $(am__make_running_with_option)) ++pkgdatadir = $(datadir)/@PACKAGE@ ++pkgincludedir = $(includedir)/@PACKAGE@ ++pkglibdir = $(libdir)/@PACKAGE@ ++pkglibexecdir = $(libexecdir)/@PACKAGE@ ++am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd ++install_sh_DATA = $(install_sh) -c -m 644 ++install_sh_PROGRAM = $(install_sh) -c ++install_sh_SCRIPT = $(install_sh) -c ++INSTALL_HEADER = $(INSTALL_DATA) ++transform = $(program_transform_name) ++NORMAL_INSTALL = : ++PRE_INSTALL = : ++POST_INSTALL = : ++NORMAL_UNINSTALL = : ++PRE_UNINSTALL = : ++POST_UNINSTALL = : ++build_triplet = @build@ ++host_triplet = @host@ ++target_triplet = @target@ ++subdir = src/nonshared26 ++ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 ++am__aclocal_m4_deps = $(top_srcdir)/../config/acx.m4 \ ++ $(top_srcdir)/../config/enable.m4 \ ++ $(top_srcdir)/../config/futex.m4 \ ++ $(top_srcdir)/../config/hwcaps.m4 \ ++ $(top_srcdir)/../config/iconv.m4 \ ++ $(top_srcdir)/../config/lead-dot.m4 \ ++ $(top_srcdir)/../config/lib-ld.m4 \ ++ $(top_srcdir)/../config/lib-link.m4 \ ++ $(top_srcdir)/../config/lib-prefix.m4 \ ++ $(top_srcdir)/../config/lthostflags.m4 \ ++ $(top_srcdir)/../config/multi.m4 \ ++ $(top_srcdir)/../config/no-executables.m4 \ ++ $(top_srcdir)/../config/override.m4 \ ++ $(top_srcdir)/../config/toolexeclibdir.m4 \ ++ $(top_srcdir)/../config/unwind_ipinfo.m4 \ ++ $(top_srcdir)/../libtool.m4 $(top_srcdir)/../ltoptions.m4 \ ++ $(top_srcdir)/../ltsugar.m4 $(top_srcdir)/../ltversion.m4 \ ++ $(top_srcdir)/../lt~obsolete.m4 $(top_srcdir)/crossconfig.m4 \ ++ $(top_srcdir)/linkage.m4 $(top_srcdir)/acinclude.m4 \ ++ $(top_srcdir)/../config/gc++filt.m4 \ ++ $(top_srcdir)/../config/tls.m4 $(top_srcdir)/../config/gthr.m4 \ ++ $(top_srcdir)/../config/cet.m4 $(top_srcdir)/configure.ac ++am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \ ++ $(ACLOCAL_M4) ++DIST_COMMON = $(srcdir)/Makefile.am ++CONFIG_HEADER = $(top_builddir)/config.h ++CONFIG_CLEAN_FILES = ++CONFIG_CLEAN_VPATH_FILES = ++LTLIBRARIES = $(noinst_LTLIBRARIES) ++libnonshared26convenience48_la_LIBADD = ++am__objects_1 = text_encoding.lo ++am__objects_2 = ++@GLIBCXX_HOSTED_TRUE@am_libnonshared26convenience48_la_OBJECTS = \ ++@GLIBCXX_HOSTED_TRUE@ $(am__objects_1) $(am__objects_2) ++libnonshared26convenience48_la_OBJECTS = $(am_libnonshared26convenience48_la_OBJECTS) ++AM_V_lt = $(am__v_lt_@AM_V@) ++am__v_lt_ = $(am__v_lt_@AM_DEFAULT_V@) ++am__v_lt_0 = --silent ++am__v_lt_1 = ++AM_V_P = $(am__v_P_@AM_V@) ++am__v_P_ = $(am__v_P_@AM_DEFAULT_V@) ++am__v_P_0 = false ++am__v_P_1 = : ++AM_V_GEN = $(am__v_GEN_@AM_V@) ++am__v_GEN_ = $(am__v_GEN_@AM_DEFAULT_V@) ++am__v_GEN_0 = @echo " GEN " $@; ++am__v_GEN_1 = ++AM_V_at = $(am__v_at_@AM_V@) ++am__v_at_ = $(am__v_at_@AM_DEFAULT_V@) ++am__v_at_0 = @ ++am__v_at_1 = ++DEFAULT_INCLUDES = -I.@am__isrc@ -I$(top_builddir) ++depcomp = ++am__depfiles_maybe = ++CXXCOMPILE = $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) \ ++ $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) ++AM_V_CXX = $(am__v_CXX_@AM_V@) ++am__v_CXX_ = $(am__v_CXX_@AM_DEFAULT_V@) ++am__v_CXX_0 = @echo " CXX " $@; ++am__v_CXX_1 = ++CXXLD = $(CXX) ++AM_V_CXXLD = $(am__v_CXXLD_@AM_V@) ++am__v_CXXLD_ = $(am__v_CXXLD_@AM_DEFAULT_V@) ++am__v_CXXLD_0 = @echo " CXXLD " $@; ++am__v_CXXLD_1 = ++SOURCES = $(libnonshared26convenience48_la_SOURCES) ++am__can_run_installinfo = \ ++ case $$AM_UPDATE_INFO_DIR in \ ++ n|no|NO) false;; \ ++ *) (install-info --version) >/dev/null 2>&1;; \ ++ esac ++am__tagged_files = $(HEADERS) $(SOURCES) $(TAGS_FILES) $(LISP) ++# Read a list of newline-separated strings from the standard input, ++# and print each of them once, without duplicates. Input order is ++# *not* preserved. ++am__uniquify_input = $(AWK) '\ ++ BEGIN { nonempty = 0; } \ ++ { items[$$0] = 1; nonempty = 1; } \ ++ END { if (nonempty) { for (i in items) print i; }; } \ ++' ++# Make sure the list of sources is unique. This is necessary because, ++# e.g., the same source file might be shared among _SOURCES variables ++# for different programs/libraries. ++am__define_uniq_tagged_files = \ ++ list='$(am__tagged_files)'; \ ++ unique=`for i in $$list; do \ ++ if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ ++ done | $(am__uniquify_input)` ++ETAGS = etags ++CTAGS = ctags ++ABI_TWEAKS_SRCDIR = @ABI_TWEAKS_SRCDIR@ ++ACLOCAL = @ACLOCAL@ ++ALLOCATOR_H = @ALLOCATOR_H@ ++ALLOCATOR_NAME = @ALLOCATOR_NAME@ ++ALLOC_FILE = @ALLOC_FILE@ ++AMTAR = @AMTAR@ ++AM_DEFAULT_VERBOSITY = @AM_DEFAULT_VERBOSITY@ ++AR = @AR@ ++AS = @AS@ ++ATOMICITY_SRCDIR = @ATOMICITY_SRCDIR@ ++ATOMIC_FLAGS = @ATOMIC_FLAGS@ ++ATOMIC_WORD_SRCDIR = @ATOMIC_WORD_SRCDIR@ ++AUTOCONF = @AUTOCONF@ ++AUTOHEADER = @AUTOHEADER@ ++AUTOMAKE = @AUTOMAKE@ ++AWK = @AWK@ ++BACKTRACE_CPPFLAGS = @BACKTRACE_CPPFLAGS@ ++BACKTRACE_SUPPORTED = @BACKTRACE_SUPPORTED@ ++BACKTRACE_SUPPORTS_THREADS = @BACKTRACE_SUPPORTS_THREADS@ ++BACKTRACE_USES_MALLOC = @BACKTRACE_USES_MALLOC@ ++BASIC_FILE_CC = @BASIC_FILE_CC@ ++BASIC_FILE_H = @BASIC_FILE_H@ ++CC = @CC@ ++CCODECVT_CC = @CCODECVT_CC@ ++CCOLLATE_CC = @CCOLLATE_CC@ ++CCTYPE_CC = @CCTYPE_CC@ ++CFLAGS = @CFLAGS@ ++CLOCALE_CC = @CLOCALE_CC@ ++CLOCALE_H = @CLOCALE_H@ ++CLOCALE_INTERNAL_H = @CLOCALE_INTERNAL_H@ ++CMESSAGES_CC = @CMESSAGES_CC@ ++CMESSAGES_H = @CMESSAGES_H@ ++CMONEY_CC = @CMONEY_CC@ ++CNUMERIC_CC = @CNUMERIC_CC@ ++CPP = @CPP@ ++CPPFLAGS = @CPPFLAGS@ ++CPU_DEFINES_SRCDIR = @CPU_DEFINES_SRCDIR@ ++CPU_OPT_BITS_RANDOM = @CPU_OPT_BITS_RANDOM@ ++CPU_OPT_EXT_RANDOM = @CPU_OPT_EXT_RANDOM@ ++CSTDIO_H = @CSTDIO_H@ ++CTIME_CC = @CTIME_CC@ ++CTIME_H = @CTIME_H@ ++CXX = @CXX@ ++CXXCPP = @CXXCPP@ ++CXXFILT = @CXXFILT@ ++CXXFLAGS = @CXXFLAGS@ ++CYGPATH_W = @CYGPATH_W@ ++C_INCLUDE_DIR = @C_INCLUDE_DIR@ ++DBLATEX = @DBLATEX@ ++DEBUG_FLAGS = @DEBUG_FLAGS@ ++DEFS = @DEFS@ ++DOT = @DOT@ ++DOXYGEN = @DOXYGEN@ ++DSYMUTIL = @DSYMUTIL@ ++DUMPBIN = @DUMPBIN@ ++ECHO_C = @ECHO_C@ ++ECHO_N = @ECHO_N@ ++ECHO_T = @ECHO_T@ ++EGREP = @EGREP@ ++EH_POOL_FLAGS = @EH_POOL_FLAGS@ ++ERROR_CONSTANTS_SRCDIR = @ERROR_CONSTANTS_SRCDIR@ ++EXEEXT = @EXEEXT@ ++EXTRA_CFLAGS = @EXTRA_CFLAGS@ ++EXTRA_CXX_FLAGS = @EXTRA_CXX_FLAGS@ ++FGREP = @FGREP@ ++FORMAT_FILE = @FORMAT_FILE@ ++FREESTANDING_FLAGS = @FREESTANDING_FLAGS@ ++GLIBCXX_INCLUDES = @GLIBCXX_INCLUDES@ ++GLIBCXX_LIBS = @GLIBCXX_LIBS@ ++GREP = @GREP@ ++HWCAP_CFLAGS = @HWCAP_CFLAGS@ ++INSTALL = @INSTALL@ ++INSTALL_DATA = @INSTALL_DATA@ ++INSTALL_PROGRAM = @INSTALL_PROGRAM@ ++INSTALL_SCRIPT = @INSTALL_SCRIPT@ ++INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@ ++LD = @LD@ ++LDFLAGS = @LDFLAGS@ ++LIBICONV = @LIBICONV@ ++LIBOBJS = @LIBOBJS@ ++LIBS = @LIBS@ ++LIBTOOL = @LIBTOOL@ ++LIPO = @LIPO@ ++LN_S = @LN_S@ ++LONG_DOUBLE_128_FLAGS = @LONG_DOUBLE_128_FLAGS@ ++LONG_DOUBLE_ALT128_COMPAT_FLAGS = @LONG_DOUBLE_ALT128_COMPAT_FLAGS@ ++LONG_DOUBLE_COMPAT_FLAGS = @LONG_DOUBLE_COMPAT_FLAGS@ ++LTLIBICONV = @LTLIBICONV@ ++LTLIBOBJS = @LTLIBOBJS@ ++MAINT = @MAINT@ ++MAKEINFO = @MAKEINFO@ ++MKDIR_P = @MKDIR_P@ ++NM = @NM@ ++NMEDIT = @NMEDIT@ ++OBJDUMP = @OBJDUMP@ ++OBJEXT = @OBJEXT@ ++OPTIMIZE_CXXFLAGS = @OPTIMIZE_CXXFLAGS@ ++OPT_LDFLAGS = @OPT_LDFLAGS@ ++OS_INC_SRCDIR = @OS_INC_SRCDIR@ ++OTOOL = @OTOOL@ ++OTOOL64 = @OTOOL64@ ++PACKAGE = @PACKAGE@ ++PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@ ++PACKAGE_NAME = @PACKAGE_NAME@ ++PACKAGE_STRING = @PACKAGE_STRING@ ++PACKAGE_TARNAME = @PACKAGE_TARNAME@ ++PACKAGE_URL = @PACKAGE_URL@ ++PACKAGE_VERSION = @PACKAGE_VERSION@ ++PATH_SEPARATOR = @PATH_SEPARATOR@ ++PDFLATEX = @PDFLATEX@ ++RANLIB = @RANLIB@ ++SECTION_FLAGS = @SECTION_FLAGS@ ++SECTION_LDFLAGS = @SECTION_LDFLAGS@ ++SED = @SED@ ++SET_MAKE = @SET_MAKE@ ++SHELL = @SHELL@ ++STRIP = @STRIP@ ++SYMVER_FILE = @SYMVER_FILE@ ++TOPLEVEL_INCLUDES = @TOPLEVEL_INCLUDES@ ++USE_NLS = @USE_NLS@ ++VERSION = @VERSION@ ++VIEW_FILE = @VIEW_FILE@ ++VTV_CXXFLAGS = @VTV_CXXFLAGS@ ++VTV_CXXLINKFLAGS = @VTV_CXXLINKFLAGS@ ++VTV_PCH_CXXFLAGS = @VTV_PCH_CXXFLAGS@ ++WARN_FLAGS = @WARN_FLAGS@ ++XMLCATALOG = @XMLCATALOG@ ++XMLLINT = @XMLLINT@ ++XSLTPROC = @XSLTPROC@ ++XSL_STYLE_DIR = @XSL_STYLE_DIR@ ++abs_builddir = @abs_builddir@ ++abs_srcdir = @abs_srcdir@ ++abs_top_builddir = @abs_top_builddir@ ++abs_top_srcdir = @abs_top_srcdir@ ++ac_ct_CC = @ac_ct_CC@ ++ac_ct_CXX = @ac_ct_CXX@ ++ac_ct_DUMPBIN = @ac_ct_DUMPBIN@ ++am__leading_dot = @am__leading_dot@ ++am__tar = @am__tar@ ++am__untar = @am__untar@ ++baseline_dir = @baseline_dir@ ++baseline_subdir_switch = @baseline_subdir_switch@ ++bindir = @bindir@ ++build = @build@ ++build_alias = @build_alias@ ++build_cpu = @build_cpu@ ++build_os = @build_os@ ++build_vendor = @build_vendor@ ++builddir = @builddir@ ++check_msgfmt = @check_msgfmt@ ++datadir = @datadir@ ++datarootdir = @datarootdir@ ++docdir = @docdir@ ++dvidir = @dvidir@ ++enable_shared = @enable_shared@ ++enable_static = @enable_static@ ++exec_prefix = @exec_prefix@ ++get_gcc_base_ver = @get_gcc_base_ver@ ++glibcxx_MOFILES = @glibcxx_MOFILES@ ++glibcxx_PCHFLAGS = @glibcxx_PCHFLAGS@ ++glibcxx_POFILES = @glibcxx_POFILES@ ++glibcxx_builddir = @glibcxx_builddir@ ++glibcxx_compiler_pic_flag = @glibcxx_compiler_pic_flag@ ++glibcxx_compiler_shared_flag = @glibcxx_compiler_shared_flag@ ++glibcxx_cxx98_abi = @glibcxx_cxx98_abi@ ++glibcxx_localedir = @glibcxx_localedir@ ++glibcxx_lt_pic_flag = @glibcxx_lt_pic_flag@ ++glibcxx_prefixdir = @glibcxx_prefixdir@ ++glibcxx_srcdir = @glibcxx_srcdir@ ++glibcxx_toolexecdir = @glibcxx_toolexecdir@ ++glibcxx_toolexeclibdir = @glibcxx_toolexeclibdir@ ++gxx_include_dir = @gxx_include_dir@ ++host = @host@ ++host_alias = @host_alias@ ++host_cpu = @host_cpu@ ++host_os = @host_os@ ++host_vendor = @host_vendor@ ++htmldir = @htmldir@ ++includedir = @includedir@ ++infodir = @infodir@ ++install_sh = @install_sh@ ++libdir = @libdir@ ++libexecdir = @libexecdir@ ++libtool_VERSION = @libtool_VERSION@ ++localedir = @localedir@ ++localstatedir = @localstatedir@ ++lt_host_flags = @lt_host_flags@ ++mandir = @mandir@ ++mkdir_p = @mkdir_p@ ++multi_basedir = @multi_basedir@ ++oldincludedir = @oldincludedir@ ++pdfdir = @pdfdir@ ++port_specific_symbol_files = @port_specific_symbol_files@ ++prefix = @prefix@ ++program_transform_name = @program_transform_name@ ++psdir = @psdir@ ++python_mod_dir = @python_mod_dir@ ++sbindir = @sbindir@ ++sharedstatedir = @sharedstatedir@ ++srcdir = @srcdir@ ++sysconfdir = @sysconfdir@ ++target = @target@ ++target_alias = @target_alias@ ++target_cpu = @target_cpu@ ++target_os = @target_os@ ++target_vendor = @target_vendor@ ++thread_header = @thread_header@ ++tmake_file = @tmake_file@ ++top_build_prefix = @top_build_prefix@ ++top_builddir = @top_builddir@ ++top_srcdir = @top_srcdir@ ++toplevel_builddir = @toplevel_builddir@ ++toplevel_srcdir = @toplevel_srcdir@ ++ ++# May be used by various substitution variables. ++gcc_version := $(shell @get_gcc_base_ver@ $(top_srcdir)/../gcc/BASE-VER) ++MAINT_CHARSET = latin1 ++mkinstalldirs = $(SHELL) $(toplevel_srcdir)/mkinstalldirs ++PWD_COMMAND = $${PWDCMD-pwd} ++STAMP = echo timestamp > ++toolexecdir = $(glibcxx_toolexecdir) ++toolexeclibdir = $(glibcxx_toolexeclibdir) ++@ENABLE_WERROR_FALSE@WERROR_FLAG = ++@ENABLE_WERROR_TRUE@WERROR_FLAG = -Werror ++@ENABLE_EXTERN_TEMPLATE_FALSE@XTEMPLATE_FLAGS = ++@ENABLE_EXTERN_TEMPLATE_TRUE@XTEMPLATE_FLAGS = -fno-implicit-templates ++@GLIBCXX_LDBL_ALT128_COMPAT_FALSE@LDBL_128_FLAGS = ++@GLIBCXX_LDBL_ALT128_COMPAT_TRUE@LDBL_128_FLAGS = $(LONG_DOUBLE_128_FLAGS) ++ ++# These bits are all figured out from configure. Look in acinclude.m4 ++# or configure.ac to see how they are set. See GLIBCXX_EXPORT_FLAGS. ++CONFIG_CXXFLAGS = \ ++ $(SECTION_FLAGS) $(HWCAP_CFLAGS) -frandom-seed=$@ $(LDBL_128_FLAGS) ++ ++WARN_CXXFLAGS = \ ++ $(WARN_FLAGS) $(WERROR_FLAG) -fdiagnostics-show-location=once ++ ++ ++# -I/-D flags to pass when compiling. ++AM_CPPFLAGS = $(GLIBCXX_INCLUDES) $(CPPFLAGS) ++ ++# Convenience library for C++26 runtime. ++noinst_LTLIBRARIES = libnonshared26convenience48.la ++headers = ++# XTEMPLATE_FLAGS = ++@ENABLE_EXTERN_TEMPLATE_FALSE@inst_sources = ++ ++# XTEMPLATE_FLAGS = -fno-implicit-templates ++@ENABLE_EXTERN_TEMPLATE_TRUE@inst_sources = ++sources = text_encoding.cc ++@GLIBCXX_HOSTED_FALSE@libc__26convenience_la_SOURCES = ++@GLIBCXX_HOSTED_TRUE@libc__26convenience_la_SOURCES = $(sources) $(inst_sources) ++ ++# AM_CXXFLAGS needs to be in each subdirectory so that it can be ++# modified in a per-library or per-sub-library way. Need to manually ++# set this option because CONFIG_CXXFLAGS has to be after ++# OPTIMIZE_CXXFLAGS on the compile line so that -O2 can be overridden ++# as the occasion calls for it. ++AM_CXXFLAGS = \ ++ -std=gnu++26 \ ++ $(glibcxx_lt_pic_flag) $(glibcxx_compiler_shared_flag) \ ++ $(XTEMPLATE_FLAGS) $(VTV_CXXFLAGS) \ ++ $(WARN_CXXFLAGS) $(OPTIMIZE_CXXFLAGS) $(CONFIG_CXXFLAGS) \ ++ -fimplicit-templates ++ ++AM_MAKEFLAGS = \ ++ "gxx_include_dir=$(gxx_include_dir)" ++ ++ ++# Libtool notes ++ ++# 1) In general, libtool expects an argument such as `--tag=CXX' when ++# using the C++ compiler, because that will enable the settings ++# detected when C++ support was being configured. However, when no ++# such flag is given in the command line, libtool attempts to figure ++# it out by matching the compiler name in each configuration section ++# against a prefix of the command line. The problem is that, if the ++# compiler name and its initial flags stored in the libtool ++# configuration file don't match those in the command line, libtool ++# can't decide which configuration to use, and it gives up. The ++# correct solution is to add `--tag CXX' to LTCXXCOMPILE and maybe ++# CXXLINK, just after $(LIBTOOL), so that libtool doesn't have to ++# attempt to infer which configuration to use. ++# ++# The second tag argument, `--tag disable-shared` means that libtool ++# only compiles each source once, for static objects. In actuality, ++# glibcxx_lt_pic_flag and glibcxx_compiler_shared_flag are added to ++# the libtool command that is used create the object, which is ++# suitable for shared libraries. The `--tag disable-shared` must be ++# placed after --tag CXX lest things CXX undo the affect of ++# disable-shared. ++ ++# 2) Need to explicitly set LTCXXCOMPILE so that EXTRA_CXX_FLAGS is ++# last. (That way, things like -O2 passed down from the toplevel can ++# be overridden by --enable-debug.) ++LTCXXCOMPILE = \ ++ $(LIBTOOL) --tag CXX --tag disable-shared \ ++ $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) \ ++ --mode=compile $(CXX) $(TOPLEVEL_INCLUDES) \ ++ $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) $(EXTRA_CXX_FLAGS) ++ ++LTLDFLAGS = $(shell $(SHELL) $(top_srcdir)/../libtool-ldflags $(LDFLAGS)) ++ ++# 3) We'd have a problem when building the shared libstdc++ object if ++# the rules automake generates would be used. We cannot allow g++ to ++# be used since this would add -lstdc++ to the link line which of ++# course is problematic at this point. So, we get the top-level ++# directory to configure libstdc++-v3 to use gcc as the C++ ++# compilation driver. ++CXXLINK = \ ++ $(LIBTOOL) --tag CXX --tag disable-shared \ ++ $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) \ ++ --mode=link $(CXX) \ ++ $(VTV_CXXLINKFLAGS) \ ++ $(OPT_LDFLAGS) $(SECTION_LDFLAGS) $(AM_CXXFLAGS) $(LTLDFLAGS) -o $@ ++ ++all: all-am ++ ++.SUFFIXES: ++.SUFFIXES: .cc .lo .o .obj ++$(srcdir)/Makefile.in: @MAINTAINER_MODE_TRUE@ $(srcdir)/Makefile.am $(top_srcdir)/fragment.am $(am__configure_deps) ++ @for dep in $?; do \ ++ case '$(am__configure_deps)' in \ ++ *$$dep*) \ ++ ( cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh ) \ ++ && { if test -f $@; then exit 0; else break; fi; }; \ ++ exit 1;; \ ++ esac; \ ++ done; \ ++ echo ' cd $(top_srcdir) && $(AUTOMAKE) --foreign --ignore-deps src/nonshared26/Makefile'; \ ++ $(am__cd) $(top_srcdir) && \ ++ $(AUTOMAKE) --foreign --ignore-deps src/nonshared26/Makefile ++Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status ++ @case '$?' in \ ++ *config.status*) \ ++ cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \ ++ *) \ ++ echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)'; \ ++ cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe);; \ ++ esac; ++$(top_srcdir)/fragment.am $(am__empty): ++ ++$(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES) ++ cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh ++ ++$(top_srcdir)/configure: @MAINTAINER_MODE_TRUE@ $(am__configure_deps) ++ cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh ++$(ACLOCAL_M4): @MAINTAINER_MODE_TRUE@ $(am__aclocal_m4_deps) ++ cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh ++$(am__aclocal_m4_deps): ++ ++clean-noinstLTLIBRARIES: ++ -test -z "$(noinst_LTLIBRARIES)" || rm -f $(noinst_LTLIBRARIES) ++ @list='$(noinst_LTLIBRARIES)'; \ ++ locs=`for p in $$list; do echo $$p; done | \ ++ sed 's|^[^/]*$$|.|; s|/[^/]*$$||; s|$$|/so_locations|' | \ ++ sort -u`; \ ++ test -z "$$locs" || { \ ++ echo rm -f $${locs}; \ ++ rm -f $${locs}; \ ++ } ++ ++libnonshared26convenience48.la: $(libnonshared26convenience48_la_OBJECTS) $(libnonshared26convenience48_la_DEPENDENCIES) $(EXTRA_libnonshared26convenience48_la_DEPENDENCIES) ++ $(AM_V_CXXLD)$(CXXLINK) $(libnonshared26convenience48_la_OBJECTS) $(libnonshared26convenience48_la_LIBADD) $(LIBS) ++ ++mostlyclean-compile: ++ -rm -f *.$(OBJEXT) ++ ++distclean-compile: ++ -rm -f *.tab.c ++ ++.cc.o: ++ $(AM_V_CXX)$(CXXCOMPILE) -c -o $@ $< ++ ++.cc.obj: ++ $(AM_V_CXX)$(CXXCOMPILE) -c -o $@ `$(CYGPATH_W) '$<'` ++ ++.cc.lo: ++ $(AM_V_CXX)$(LTCXXCOMPILE) -c -o $@ $< ++ ++mostlyclean-libtool: ++ -rm -f *.lo ++ ++clean-libtool: ++ -rm -rf .libs _libs ++ ++ID: $(am__tagged_files) ++ $(am__define_uniq_tagged_files); mkid -fID $$unique ++tags: tags-am ++TAGS: tags ++ ++tags-am: $(TAGS_DEPENDENCIES) $(am__tagged_files) ++ set x; \ ++ here=`pwd`; \ ++ $(am__define_uniq_tagged_files); \ ++ shift; \ ++ if test -z "$(ETAGS_ARGS)$$*$$unique"; then :; else \ ++ test -n "$$unique" || unique=$$empty_fix; \ ++ if test $$# -gt 0; then \ ++ $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \ ++ "$$@" $$unique; \ ++ else \ ++ $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \ ++ $$unique; \ ++ fi; \ ++ fi ++ctags: ctags-am ++ ++CTAGS: ctags ++ctags-am: $(TAGS_DEPENDENCIES) $(am__tagged_files) ++ $(am__define_uniq_tagged_files); \ ++ test -z "$(CTAGS_ARGS)$$unique" \ ++ || $(CTAGS) $(CTAGSFLAGS) $(AM_CTAGSFLAGS) $(CTAGS_ARGS) \ ++ $$unique ++ ++GTAGS: ++ here=`$(am__cd) $(top_builddir) && pwd` \ ++ && $(am__cd) $(top_srcdir) \ ++ && gtags -i $(GTAGS_ARGS) "$$here" ++cscopelist: cscopelist-am ++ ++cscopelist-am: $(am__tagged_files) ++ list='$(am__tagged_files)'; \ ++ case "$(srcdir)" in \ ++ [\\/]* | ?:[\\/]*) sdir="$(srcdir)" ;; \ ++ *) sdir=$(subdir)/$(srcdir) ;; \ ++ esac; \ ++ for i in $$list; do \ ++ if test -f "$$i"; then \ ++ echo "$(subdir)/$$i"; \ ++ else \ ++ echo "$$sdir/$$i"; \ ++ fi; \ ++ done >> $(top_builddir)/cscope.files ++ ++distclean-tags: ++ -rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags ++check-am: all-am ++check: check-am ++all-am: Makefile $(LTLIBRARIES) ++installdirs: ++install: install-am ++install-exec: install-exec-am ++install-data: install-data-am ++uninstall: uninstall-am ++ ++install-am: all-am ++ @$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am ++ ++installcheck: installcheck-am ++install-strip: ++ if test -z '$(STRIP)'; then \ ++ $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \ ++ install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \ ++ install; \ ++ else \ ++ $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \ ++ install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \ ++ "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'" install; \ ++ fi ++mostlyclean-generic: ++ ++clean-generic: ++ ++distclean-generic: ++ -test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES) ++ -test . = "$(srcdir)" || test -z "$(CONFIG_CLEAN_VPATH_FILES)" || rm -f $(CONFIG_CLEAN_VPATH_FILES) ++ ++maintainer-clean-generic: ++ @echo "This command is intended for maintainers to use" ++ @echo "it deletes files that may require special tools to rebuild." ++clean: clean-am ++ ++clean-am: clean-generic clean-libtool clean-noinstLTLIBRARIES \ ++ mostlyclean-am ++ ++distclean: distclean-am ++ -rm -f Makefile ++distclean-am: clean-am distclean-compile distclean-generic \ ++ distclean-tags ++ ++dvi: dvi-am ++ ++dvi-am: ++ ++html: html-am ++ ++html-am: ++ ++info: info-am ++ ++info-am: ++ ++install-data-am: ++ ++install-dvi: install-dvi-am ++ ++install-dvi-am: ++ ++install-exec-am: ++ ++install-html: install-html-am ++ ++install-html-am: ++ ++install-info: install-info-am ++ ++install-info-am: ++ ++install-man: ++ ++install-pdf: install-pdf-am ++ ++install-pdf-am: ++ ++install-ps: install-ps-am ++ ++install-ps-am: ++ ++installcheck-am: ++ ++maintainer-clean: maintainer-clean-am ++ -rm -f Makefile ++maintainer-clean-am: distclean-am maintainer-clean-generic ++ ++mostlyclean: mostlyclean-am ++ ++mostlyclean-am: mostlyclean-compile mostlyclean-generic \ ++ mostlyclean-libtool ++ ++pdf: pdf-am ++ ++pdf-am: ++ ++ps: ps-am ++ ++ps-am: ++ ++uninstall-am: ++ ++.MAKE: install-am install-strip ++ ++.PHONY: CTAGS GTAGS TAGS all all-am check check-am clean clean-generic \ ++ clean-libtool clean-noinstLTLIBRARIES cscopelist-am ctags \ ++ ctags-am distclean distclean-compile distclean-generic \ ++ distclean-libtool distclean-tags dvi dvi-am html html-am info \ ++ info-am install install-am install-data install-data-am \ ++ install-dvi install-dvi-am install-exec install-exec-am \ ++ install-html install-html-am install-info install-info-am \ ++ install-man install-pdf install-pdf-am install-ps \ ++ install-ps-am install-strip installcheck installcheck-am \ ++ installdirs maintainer-clean maintainer-clean-generic \ ++ mostlyclean mostlyclean-compile mostlyclean-generic \ ++ mostlyclean-libtool pdf pdf-am ps ps-am tags tags-am uninstall \ ++ uninstall-am ++ ++.PRECIOUS: Makefile ++ ++ ++vpath % $(top_srcdir)/src/c++26 ++ ++# Tell versions [3.59,3.63) of GNU make to not export all variables. ++# Otherwise a system limit (for SysV at least) may be exceeded. ++.NOEXPORT: +diff --git a/libstdc++-v3/src/nonshared26/text_encoding.cc b/libstdc++-v3/src/nonshared26/text_encoding.cc +new file mode 100644 +index 000000000..bdda684a1 +--- /dev/null ++++ b/libstdc++-v3/src/nonshared26/text_encoding.cc +@@ -0,0 +1,23 @@ ++// Copyright (C) 2012-2024 Free Software Foundation, Inc. ++// ++// This file is part of the GNU ISO C++ Library. This library is free ++// software; you can redistribute it and/or modify it under the ++// terms of the GNU General Public License as published by the ++// Free Software Foundation; either version 3, or (at your option) ++// any later version. ++ ++// This library is distributed in the hope that it will be useful, ++// but WITHOUT ANY WARRANTY; without even the implied warranty of ++// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the ++// GNU General Public License for more details. ++ ++// Under Section 7 of GPL version 3, you are granted additional ++// permissions described in the GCC Runtime Library Exception, version ++// 3.1, as published by the Free Software Foundation. ++ ++// You should have received a copy of the GNU General Public License and ++// a copy of the GCC Runtime Library Exception along with this program; ++// see the files COPYING3 and COPYING.RUNTIME respectively. If not, see ++// . ++ ++#include "../c++26/text_encoding.cc" +diff --git a/libstdc++-v3/src/nonshared98/Makefile.am b/libstdc++-v3/src/nonshared98/Makefile.am +new file mode 100644 +index 000000000..6978a0b69 +--- /dev/null ++++ b/libstdc++-v3/src/nonshared98/Makefile.am +@@ -0,0 +1,149 @@ ++## Makefile for the C++03 sources of the GNU C++ Standard library. ++## ++## Copyright (C) 1997-2023 Free Software Foundation, Inc. ++## ++## This file is part of the libstdc++ version 3 distribution. ++## Process this file with automake to produce Makefile.in. ++ ++## This file is part of the GNU ISO C++ Library. This library is free ++## software; you can redistribute it and/or modify it under the ++## terms of the GNU General Public License as published by the ++## Free Software Foundation; either version 3, or (at your option) ++## any later version. ++ ++## This library is distributed in the hope that it will be useful, ++## but WITHOUT ANY WARRANTY; without even the implied warranty of ++## MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the ++## GNU General Public License for more details. ++ ++## You should have received a copy of the GNU General Public License along ++## with this library; see the file COPYING3. If not see ++## . ++ ++include $(top_srcdir)/fragment.am ++ ++# Convenience library for C++98 runtime. ++noinst_LTLIBRARIES = libnonshared98convenience48.la \ ++ libnonshared98convenience80.la \ ++ libnonshared98convenience110.la ++ ++headers = ++ ++# Source files linked in via configuration/make substitution for a ++# particular host, but with ad hoc naming rules. ++host_sources_extra = \ ++ basic_file.cc c++locale.cc \ ++ ${ldbl_compat_sources} ${parallel_sources} ++ ++if ENABLE_EXTERN_TEMPLATE ++# XTEMPLATE_FLAGS = -fno-implicit-templates ++inst_sources = \ ++ snprintf_lite-inst.cc \ ++ misc-inst.cc ++else ++# XTEMPLATE_FLAGS = ++inst_sources = ++endif ++ ++# Sources present in the src directory, always present. ++sources = \ ++ extfloat.S \ ++ ios_init.cc ++sources4880 = \ ++ char8_t-rtti.S ++sources48 = \ ++ collate_members.cc \ ++ float128.S \ ++ istream-string.cc \ ++ locale.cc \ ++ locale_facets.cc \ ++ c++locale.cc \ ++ ios_failure.cc \ ++ messages_members.cc \ ++ monetary_members.cc \ ++ numeric_members.cc \ ++ numeric_members_cow.cc \ ++ eh_exception.cc \ ++ eh_catch.cc \ ++ int128.S \ ++ eh_alloc48.cc \ ++ ${inst_sources} ++sources80 = \ ++ ios_failure80.cc \ ++ locale_facets80.cc ++sources110 = \ ++ locale_facets80.cc ++ ++vpath % $(top_srcdir)/src/nonshared98 ++vpath % $(top_srcdir) ++ ++libnonshared98convenience48_la_SOURCES = $(sources) $(sources4880) $(sources48) ++libnonshared98convenience80_la_SOURCES = $(sources) $(sources4880) $(sources80) ++libnonshared98convenience110_la_SOURCES = $(sources) $(sources110) ++ ++# AM_CXXFLAGS needs to be in each subdirectory so that it can be ++# modified in a per-library or per-sub-library way. Need to manually ++# set this option because CONFIG_CXXFLAGS has to be after ++# OPTIMIZE_CXXFLAGS on the compile line so that -O2 can be overridden ++# as the occasion calls for it. ++AM_CXXFLAGS = \ ++ -std=gnu++98 \ ++ $(glibcxx_lt_pic_flag) $(glibcxx_compiler_shared_flag) \ ++ $(XTEMPLATE_FLAGS) $(VTV_CXXFLAGS) \ ++ $(WARN_CXXFLAGS) $(OPTIMIZE_CXXFLAGS) $(CONFIG_CXXFLAGS) ++ ++AM_MAKEFLAGS = \ ++ "gxx_include_dir=$(gxx_include_dir)" ++ ++# Libtool notes ++ ++# 1) Need to explicitly set LTCXXCOMPILE so that AM_CXXFLAGS is ++# last. (That way, things like -O2 passed down from the toplevel can ++# be overridden by --enable-debug.) ++ ++# 2) In general, libtool expects an argument such as `--tag=CXX' when ++# using the C++ compiler, because that will enable the settings ++# detected when C++ support was being configured. However, when no ++# such flag is given in the command line, libtool attempts to figure ++# it out by matching the compiler name in each configuration section ++# against a prefix of the command line. The problem is that, if the ++# compiler name and its initial flags stored in the libtool ++# configuration file don't match those in the command line, libtool ++# can't decide which configuration to use, and it gives up. The ++# correct solution is to add `--tag CXX' to LTCXXCOMPILE and maybe ++# CXXLINK, just after $(LIBTOOL), so that libtool doesn't have to ++# attempt to infer which configuration to use. ++# We have to put --tag disable-shared after --tag CXX lest things ++# CXX undo the affect of disable-shared. ++LTCXXCOMPILE = $(LIBTOOL) --tag CXX --tag disable-shared $(LIBTOOLFLAGS) \ ++ --mode=compile $(CXX) $(TOPLEVEL_INCLUDES) \ ++ $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) $(EXTRA_CXX_FLAGS) ++ ++LTLDFLAGS = $(shell $(SHELL) $(top_srcdir)/../libtool-ldflags $(LDFLAGS)) ++ ++# 3) We'd have a problem when building the shared libstdc++ object if ++# the rules automake generates would be used. We cannot allow g++ to ++# be used since this would add -lstdc++ to the link line which of ++# course is problematic at this point. So, we get the top-level ++# directory to configure libstdc++-v3 to use gcc as the C++ ++# compilation driver. ++CXXLINK = $(LIBTOOL) --tag CXX --tag disable-shared $(LIBTOOLFLAGS) \ ++ --mode=link $(CXX) \ ++ $(VTV_CXXLINKFLAGS) \ ++ $(OPT_LDFLAGS) $(SECTION_LDFLAGS) $(AM_CXXFLAGS) $(LTLDFLAGS) -o $@ ++ ++collate_members.lo: collate_members.cc ++ $(LTCXXCOMPILE) -I. -c $< ++messages_members.lo: messages_members.cc ++ $(LTCXXCOMPILE) -I. -c $< ++monetary_members.lo: monetary_members.cc ++ $(LTCXXCOMPILE) -I. -c $< ++numeric_members.lo: numeric_members.cc ++ $(LTCXXCOMPILE) -I. -c $< ++numeric_members_cow.lo: numeric_members_cow.cc ++ $(LTCXXCOMPILE) -I. -c $< ++# Use special rules to compile with -fimplicit-templates. ++c++locale.lo: c++locale.cc ++ $(LTCXXCOMPILE) -I. -fimplicit-templates -c $< ++c++locale.o: c++locale.cc ++ $(CXXCOMPILE) -I. -fimplicit-templates -c $< +diff --git a/libstdc++-v3/src/nonshared98/Makefile.in b/libstdc++-v3/src/nonshared98/Makefile.in +new file mode 100644 +index 000000000..186594985 +--- /dev/null ++++ b/libstdc++-v3/src/nonshared98/Makefile.in +@@ -0,0 +1,867 @@ ++# Makefile.in generated by automake 1.15.1 from Makefile.am. ++# @configure_input@ ++ ++# Copyright (C) 1994-2017 Free Software Foundation, Inc. ++ ++# This Makefile.in is free software; the Free Software Foundation ++# gives unlimited permission to copy and/or distribute it, ++# with or without modifications, as long as this notice is preserved. ++ ++# This program is distributed in the hope that it will be useful, ++# but WITHOUT ANY WARRANTY, to the extent permitted by law; without ++# even the implied warranty of MERCHANTABILITY or FITNESS FOR A ++# PARTICULAR PURPOSE. ++ ++@SET_MAKE@ ++ ++VPATH = @srcdir@ ++am__is_gnu_make = { \ ++ if test -z '$(MAKELEVEL)'; then \ ++ false; \ ++ elif test -n '$(MAKE_HOST)'; then \ ++ true; \ ++ elif test -n '$(MAKE_VERSION)' && test -n '$(CURDIR)'; then \ ++ true; \ ++ else \ ++ false; \ ++ fi; \ ++} ++am__make_running_with_option = \ ++ case $${target_option-} in \ ++ ?) ;; \ ++ *) echo "am__make_running_with_option: internal error: invalid" \ ++ "target option '$${target_option-}' specified" >&2; \ ++ exit 1;; \ ++ esac; \ ++ has_opt=no; \ ++ sane_makeflags=$$MAKEFLAGS; \ ++ if $(am__is_gnu_make); then \ ++ sane_makeflags=$$MFLAGS; \ ++ else \ ++ case $$MAKEFLAGS in \ ++ *\\[\ \ ]*) \ ++ bs=\\; \ ++ sane_makeflags=`printf '%s\n' "$$MAKEFLAGS" \ ++ | sed "s/$$bs$$bs[$$bs $$bs ]*//g"`;; \ ++ esac; \ ++ fi; \ ++ skip_next=no; \ ++ strip_trailopt () \ ++ { \ ++ flg=`printf '%s\n' "$$flg" | sed "s/$$1.*$$//"`; \ ++ }; \ ++ for flg in $$sane_makeflags; do \ ++ test $$skip_next = yes && { skip_next=no; continue; }; \ ++ case $$flg in \ ++ *=*|--*) continue;; \ ++ -*I) strip_trailopt 'I'; skip_next=yes;; \ ++ -*I?*) strip_trailopt 'I';; \ ++ -*O) strip_trailopt 'O'; skip_next=yes;; \ ++ -*O?*) strip_trailopt 'O';; \ ++ -*l) strip_trailopt 'l'; skip_next=yes;; \ ++ -*l?*) strip_trailopt 'l';; \ ++ -[dEDm]) skip_next=yes;; \ ++ -[JT]) skip_next=yes;; \ ++ esac; \ ++ case $$flg in \ ++ *$$target_option*) has_opt=yes; break;; \ ++ esac; \ ++ done; \ ++ test $$has_opt = yes ++am__make_dryrun = (target_option=n; $(am__make_running_with_option)) ++am__make_keepgoing = (target_option=k; $(am__make_running_with_option)) ++pkgdatadir = $(datadir)/@PACKAGE@ ++pkgincludedir = $(includedir)/@PACKAGE@ ++pkglibdir = $(libdir)/@PACKAGE@ ++pkglibexecdir = $(libexecdir)/@PACKAGE@ ++am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd ++install_sh_DATA = $(install_sh) -c -m 644 ++install_sh_PROGRAM = $(install_sh) -c ++install_sh_SCRIPT = $(install_sh) -c ++INSTALL_HEADER = $(INSTALL_DATA) ++transform = $(program_transform_name) ++NORMAL_INSTALL = : ++PRE_INSTALL = : ++POST_INSTALL = : ++NORMAL_UNINSTALL = : ++PRE_UNINSTALL = : ++POST_UNINSTALL = : ++build_triplet = @build@ ++host_triplet = @host@ ++target_triplet = @target@ ++subdir = src/nonshared98 ++ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 ++am__aclocal_m4_deps = $(top_srcdir)/../config/acx.m4 \ ++ $(top_srcdir)/../config/enable.m4 \ ++ $(top_srcdir)/../config/futex.m4 \ ++ $(top_srcdir)/../config/hwcaps.m4 \ ++ $(top_srcdir)/../config/iconv.m4 \ ++ $(top_srcdir)/../config/lead-dot.m4 \ ++ $(top_srcdir)/../config/lib-ld.m4 \ ++ $(top_srcdir)/../config/lib-link.m4 \ ++ $(top_srcdir)/../config/lib-prefix.m4 \ ++ $(top_srcdir)/../config/lthostflags.m4 \ ++ $(top_srcdir)/../config/multi.m4 \ ++ $(top_srcdir)/../config/no-executables.m4 \ ++ $(top_srcdir)/../config/override.m4 \ ++ $(top_srcdir)/../config/toolexeclibdir.m4 \ ++ $(top_srcdir)/../config/unwind_ipinfo.m4 \ ++ $(top_srcdir)/../libtool.m4 $(top_srcdir)/../ltoptions.m4 \ ++ $(top_srcdir)/../ltsugar.m4 $(top_srcdir)/../ltversion.m4 \ ++ $(top_srcdir)/../lt~obsolete.m4 $(top_srcdir)/crossconfig.m4 \ ++ $(top_srcdir)/linkage.m4 $(top_srcdir)/acinclude.m4 \ ++ $(top_srcdir)/../config/gc++filt.m4 \ ++ $(top_srcdir)/../config/tls.m4 $(top_srcdir)/../config/gthr.m4 \ ++ $(top_srcdir)/../config/cet.m4 $(top_srcdir)/configure.ac ++am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \ ++ $(ACLOCAL_M4) ++DIST_COMMON = $(srcdir)/Makefile.am ++CONFIG_HEADER = $(top_builddir)/config.h ++CONFIG_CLEAN_FILES = ++CONFIG_CLEAN_VPATH_FILES = ++LTLIBRARIES = $(noinst_LTLIBRARIES) ++libnonshared98convenience110_la_LIBADD = ++am__objects_1 = extfloat.lo ios_init.lo ++am__objects_2 = locale_facets80.lo ++am_libnonshared98convenience110_la_OBJECTS = $(am__objects_1) \ ++ $(am__objects_2) ++libnonshared98convenience110_la_OBJECTS = \ ++ $(am_libnonshared98convenience110_la_OBJECTS) ++AM_V_lt = $(am__v_lt_@AM_V@) ++am__v_lt_ = $(am__v_lt_@AM_DEFAULT_V@) ++am__v_lt_0 = --silent ++am__v_lt_1 = ++libnonshared98convenience48_la_LIBADD = ++am__objects_3 = char8_t-rtti.lo ++@ENABLE_EXTERN_TEMPLATE_TRUE@am__objects_4 = snprintf_lite-inst.lo \ ++@ENABLE_EXTERN_TEMPLATE_TRUE@ misc-inst.lo ++am__objects_5 = collate_members.lo float128.lo istream-string.lo \ ++ locale.lo locale_facets.lo c++locale.lo ios_failure.lo \ ++ messages_members.lo monetary_members.lo numeric_members.lo \ ++ numeric_members_cow.lo eh_exception.lo eh_catch.lo int128.lo \ ++ eh_alloc48.lo $(am__objects_4) ++am_libnonshared98convenience48_la_OBJECTS = $(am__objects_1) \ ++ $(am__objects_3) $(am__objects_5) ++libnonshared98convenience48_la_OBJECTS = \ ++ $(am_libnonshared98convenience48_la_OBJECTS) ++libnonshared98convenience80_la_LIBADD = ++am__objects_6 = ios_failure80.lo locale_facets80.lo ++am_libnonshared98convenience80_la_OBJECTS = $(am__objects_1) \ ++ $(am__objects_3) $(am__objects_6) ++libnonshared98convenience80_la_OBJECTS = \ ++ $(am_libnonshared98convenience80_la_OBJECTS) ++AM_V_P = $(am__v_P_@AM_V@) ++am__v_P_ = $(am__v_P_@AM_DEFAULT_V@) ++am__v_P_0 = false ++am__v_P_1 = : ++AM_V_GEN = $(am__v_GEN_@AM_V@) ++am__v_GEN_ = $(am__v_GEN_@AM_DEFAULT_V@) ++am__v_GEN_0 = @echo " GEN " $@; ++am__v_GEN_1 = ++AM_V_at = $(am__v_at_@AM_V@) ++am__v_at_ = $(am__v_at_@AM_DEFAULT_V@) ++am__v_at_0 = @ ++am__v_at_1 = ++DEFAULT_INCLUDES = -I.@am__isrc@ -I$(top_builddir) ++depcomp = ++am__depfiles_maybe = ++CPPASCOMPILE = $(CCAS) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) \ ++ $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CCASFLAGS) $(CCASFLAGS) ++LTCPPASCOMPILE = $(LIBTOOL) $(AM_V_lt) $(AM_LIBTOOLFLAGS) \ ++ $(LIBTOOLFLAGS) --mode=compile $(CCAS) $(DEFS) \ ++ $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) \ ++ $(AM_CCASFLAGS) $(CCASFLAGS) ++AM_V_CPPAS = $(am__v_CPPAS_@AM_V@) ++am__v_CPPAS_ = $(am__v_CPPAS_@AM_DEFAULT_V@) ++am__v_CPPAS_0 = @echo " CPPAS " $@; ++am__v_CPPAS_1 = ++CXXCOMPILE = $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) \ ++ $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) ++AM_V_CXX = $(am__v_CXX_@AM_V@) ++am__v_CXX_ = $(am__v_CXX_@AM_DEFAULT_V@) ++am__v_CXX_0 = @echo " CXX " $@; ++am__v_CXX_1 = ++CXXLD = $(CXX) ++AM_V_CXXLD = $(am__v_CXXLD_@AM_V@) ++am__v_CXXLD_ = $(am__v_CXXLD_@AM_DEFAULT_V@) ++am__v_CXXLD_0 = @echo " CXXLD " $@; ++am__v_CXXLD_1 = ++COMPILE = $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) \ ++ $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) ++LTCOMPILE = $(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) \ ++ $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) \ ++ $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) \ ++ $(AM_CFLAGS) $(CFLAGS) ++AM_V_CC = $(am__v_CC_@AM_V@) ++am__v_CC_ = $(am__v_CC_@AM_DEFAULT_V@) ++am__v_CC_0 = @echo " CC " $@; ++am__v_CC_1 = ++CCLD = $(CC) ++LINK = $(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) \ ++ $(LIBTOOLFLAGS) --mode=link $(CCLD) $(AM_CFLAGS) $(CFLAGS) \ ++ $(AM_LDFLAGS) $(LDFLAGS) -o $@ ++AM_V_CCLD = $(am__v_CCLD_@AM_V@) ++am__v_CCLD_ = $(am__v_CCLD_@AM_DEFAULT_V@) ++am__v_CCLD_0 = @echo " CCLD " $@; ++am__v_CCLD_1 = ++SOURCES = $(libnonshared98convenience110_la_SOURCES) \ ++ $(libnonshared98convenience48_la_SOURCES) \ ++ $(libnonshared98convenience80_la_SOURCES) ++am__can_run_installinfo = \ ++ case $$AM_UPDATE_INFO_DIR in \ ++ n|no|NO) false;; \ ++ *) (install-info --version) >/dev/null 2>&1;; \ ++ esac ++am__tagged_files = $(HEADERS) $(SOURCES) $(TAGS_FILES) $(LISP) ++# Read a list of newline-separated strings from the standard input, ++# and print each of them once, without duplicates. Input order is ++# *not* preserved. ++am__uniquify_input = $(AWK) '\ ++ BEGIN { nonempty = 0; } \ ++ { items[$$0] = 1; nonempty = 1; } \ ++ END { if (nonempty) { for (i in items) print i; }; } \ ++' ++# Make sure the list of sources is unique. This is necessary because, ++# e.g., the same source file might be shared among _SOURCES variables ++# for different programs/libraries. ++am__define_uniq_tagged_files = \ ++ list='$(am__tagged_files)'; \ ++ unique=`for i in $$list; do \ ++ if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ ++ done | $(am__uniquify_input)` ++ETAGS = etags ++CTAGS = ctags ++ABI_TWEAKS_SRCDIR = @ABI_TWEAKS_SRCDIR@ ++ACLOCAL = @ACLOCAL@ ++ALLOCATOR_H = @ALLOCATOR_H@ ++ALLOCATOR_NAME = @ALLOCATOR_NAME@ ++ALLOC_FILE = @ALLOC_FILE@ ++AMTAR = @AMTAR@ ++AM_DEFAULT_VERBOSITY = @AM_DEFAULT_VERBOSITY@ ++AR = @AR@ ++AS = @AS@ ++ATOMICITY_SRCDIR = @ATOMICITY_SRCDIR@ ++ATOMIC_FLAGS = @ATOMIC_FLAGS@ ++ATOMIC_WORD_SRCDIR = @ATOMIC_WORD_SRCDIR@ ++AUTOCONF = @AUTOCONF@ ++AUTOHEADER = @AUTOHEADER@ ++AUTOMAKE = @AUTOMAKE@ ++AWK = @AWK@ ++BACKTRACE_CPPFLAGS = @BACKTRACE_CPPFLAGS@ ++BACKTRACE_SUPPORTED = @BACKTRACE_SUPPORTED@ ++BACKTRACE_SUPPORTS_THREADS = @BACKTRACE_SUPPORTS_THREADS@ ++BACKTRACE_USES_MALLOC = @BACKTRACE_USES_MALLOC@ ++BASIC_FILE_CC = @BASIC_FILE_CC@ ++BASIC_FILE_H = @BASIC_FILE_H@ ++CC = @CC@ ++CCAS = @CCAS@ ++CCASFLAGS = @CCASFLAGS@ ++CCODECVT_CC = @CCODECVT_CC@ ++CCOLLATE_CC = @CCOLLATE_CC@ ++CCTYPE_CC = @CCTYPE_CC@ ++CFLAGS = @CFLAGS@ ++CLOCALE_CC = @CLOCALE_CC@ ++CLOCALE_H = @CLOCALE_H@ ++CLOCALE_INTERNAL_H = @CLOCALE_INTERNAL_H@ ++CMESSAGES_CC = @CMESSAGES_CC@ ++CMESSAGES_H = @CMESSAGES_H@ ++CMONEY_CC = @CMONEY_CC@ ++CNUMERIC_CC = @CNUMERIC_CC@ ++CPP = @CPP@ ++CPPFLAGS = @CPPFLAGS@ ++CPU_DEFINES_SRCDIR = @CPU_DEFINES_SRCDIR@ ++CPU_OPT_BITS_RANDOM = @CPU_OPT_BITS_RANDOM@ ++CPU_OPT_EXT_RANDOM = @CPU_OPT_EXT_RANDOM@ ++CSTDIO_H = @CSTDIO_H@ ++CTIME_CC = @CTIME_CC@ ++CTIME_H = @CTIME_H@ ++CXX = @CXX@ ++CXXCPP = @CXXCPP@ ++CXXFILT = @CXXFILT@ ++CXXFLAGS = @CXXFLAGS@ ++CYGPATH_W = @CYGPATH_W@ ++C_INCLUDE_DIR = @C_INCLUDE_DIR@ ++DBLATEX = @DBLATEX@ ++DEBUG_FLAGS = @DEBUG_FLAGS@ ++DEFS = @DEFS@ ++DOT = @DOT@ ++DOXYGEN = @DOXYGEN@ ++DSYMUTIL = @DSYMUTIL@ ++DUMPBIN = @DUMPBIN@ ++ECHO_C = @ECHO_C@ ++ECHO_N = @ECHO_N@ ++ECHO_T = @ECHO_T@ ++EGREP = @EGREP@ ++EH_POOL_FLAGS = @EH_POOL_FLAGS@ ++ERROR_CONSTANTS_SRCDIR = @ERROR_CONSTANTS_SRCDIR@ ++EXEEXT = @EXEEXT@ ++EXTRA_CFLAGS = @EXTRA_CFLAGS@ ++EXTRA_CXX_FLAGS = @EXTRA_CXX_FLAGS@ ++FGREP = @FGREP@ ++FORMAT_FILE = @FORMAT_FILE@ ++FREESTANDING_FLAGS = @FREESTANDING_FLAGS@ ++GLIBCXX_INCLUDES = @GLIBCXX_INCLUDES@ ++GLIBCXX_LIBS = @GLIBCXX_LIBS@ ++GREP = @GREP@ ++HWCAP_CFLAGS = @HWCAP_CFLAGS@ ++INSTALL = @INSTALL@ ++INSTALL_DATA = @INSTALL_DATA@ ++INSTALL_PROGRAM = @INSTALL_PROGRAM@ ++INSTALL_SCRIPT = @INSTALL_SCRIPT@ ++INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@ ++LD = @LD@ ++LDFLAGS = @LDFLAGS@ ++LIBICONV = @LIBICONV@ ++LIBOBJS = @LIBOBJS@ ++LIBS = @LIBS@ ++LIBTOOL = @LIBTOOL@ ++LIPO = @LIPO@ ++LN_S = @LN_S@ ++LONG_DOUBLE_128_FLAGS = @LONG_DOUBLE_128_FLAGS@ ++LONG_DOUBLE_ALT128_COMPAT_FLAGS = @LONG_DOUBLE_ALT128_COMPAT_FLAGS@ ++LONG_DOUBLE_COMPAT_FLAGS = @LONG_DOUBLE_COMPAT_FLAGS@ ++LTLIBICONV = @LTLIBICONV@ ++LTLIBOBJS = @LTLIBOBJS@ ++MAINT = @MAINT@ ++MAKEINFO = @MAKEINFO@ ++MKDIR_P = @MKDIR_P@ ++NM = @NM@ ++NMEDIT = @NMEDIT@ ++OBJDUMP = @OBJDUMP@ ++OBJEXT = @OBJEXT@ ++OPTIMIZE_CXXFLAGS = @OPTIMIZE_CXXFLAGS@ ++OPT_LDFLAGS = @OPT_LDFLAGS@ ++OS_INC_SRCDIR = @OS_INC_SRCDIR@ ++OTOOL = @OTOOL@ ++OTOOL64 = @OTOOL64@ ++PACKAGE = @PACKAGE@ ++PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@ ++PACKAGE_NAME = @PACKAGE_NAME@ ++PACKAGE_STRING = @PACKAGE_STRING@ ++PACKAGE_TARNAME = @PACKAGE_TARNAME@ ++PACKAGE_URL = @PACKAGE_URL@ ++PACKAGE_VERSION = @PACKAGE_VERSION@ ++PATH_SEPARATOR = @PATH_SEPARATOR@ ++PDFLATEX = @PDFLATEX@ ++RANLIB = @RANLIB@ ++SECTION_FLAGS = @SECTION_FLAGS@ ++SECTION_LDFLAGS = @SECTION_LDFLAGS@ ++SED = @SED@ ++SET_MAKE = @SET_MAKE@ ++SHELL = @SHELL@ ++STRIP = @STRIP@ ++SYMVER_FILE = @SYMVER_FILE@ ++TOPLEVEL_INCLUDES = @TOPLEVEL_INCLUDES@ ++USE_NLS = @USE_NLS@ ++VERSION = @VERSION@ ++VIEW_FILE = @VIEW_FILE@ ++VTV_CXXFLAGS = @VTV_CXXFLAGS@ ++VTV_CXXLINKFLAGS = @VTV_CXXLINKFLAGS@ ++VTV_PCH_CXXFLAGS = @VTV_PCH_CXXFLAGS@ ++WARN_FLAGS = @WARN_FLAGS@ ++XMLCATALOG = @XMLCATALOG@ ++XMLLINT = @XMLLINT@ ++XSLTPROC = @XSLTPROC@ ++XSL_STYLE_DIR = @XSL_STYLE_DIR@ ++abs_builddir = @abs_builddir@ ++abs_srcdir = @abs_srcdir@ ++abs_top_builddir = @abs_top_builddir@ ++abs_top_srcdir = @abs_top_srcdir@ ++ac_ct_CC = @ac_ct_CC@ ++ac_ct_CXX = @ac_ct_CXX@ ++ac_ct_DUMPBIN = @ac_ct_DUMPBIN@ ++am__leading_dot = @am__leading_dot@ ++am__tar = @am__tar@ ++am__untar = @am__untar@ ++baseline_dir = @baseline_dir@ ++baseline_subdir_switch = @baseline_subdir_switch@ ++bindir = @bindir@ ++build = @build@ ++build_alias = @build_alias@ ++build_cpu = @build_cpu@ ++build_os = @build_os@ ++build_vendor = @build_vendor@ ++builddir = @builddir@ ++check_msgfmt = @check_msgfmt@ ++datadir = @datadir@ ++datarootdir = @datarootdir@ ++docdir = @docdir@ ++dvidir = @dvidir@ ++enable_shared = @enable_shared@ ++enable_static = @enable_static@ ++exec_prefix = @exec_prefix@ ++get_gcc_base_ver = @get_gcc_base_ver@ ++glibcxx_MOFILES = @glibcxx_MOFILES@ ++glibcxx_PCHFLAGS = @glibcxx_PCHFLAGS@ ++glibcxx_POFILES = @glibcxx_POFILES@ ++glibcxx_builddir = @glibcxx_builddir@ ++glibcxx_compiler_pic_flag = @glibcxx_compiler_pic_flag@ ++glibcxx_compiler_shared_flag = @glibcxx_compiler_shared_flag@ ++glibcxx_cxx98_abi = @glibcxx_cxx98_abi@ ++glibcxx_localedir = @glibcxx_localedir@ ++glibcxx_lt_pic_flag = @glibcxx_lt_pic_flag@ ++glibcxx_prefixdir = @glibcxx_prefixdir@ ++glibcxx_srcdir = @glibcxx_srcdir@ ++glibcxx_toolexecdir = @glibcxx_toolexecdir@ ++glibcxx_toolexeclibdir = @glibcxx_toolexeclibdir@ ++gxx_include_dir = @gxx_include_dir@ ++host = @host@ ++host_alias = @host_alias@ ++host_cpu = @host_cpu@ ++host_os = @host_os@ ++host_vendor = @host_vendor@ ++htmldir = @htmldir@ ++includedir = @includedir@ ++infodir = @infodir@ ++install_sh = @install_sh@ ++libdir = @libdir@ ++libexecdir = @libexecdir@ ++libtool_VERSION = @libtool_VERSION@ ++localedir = @localedir@ ++localstatedir = @localstatedir@ ++lt_host_flags = @lt_host_flags@ ++mandir = @mandir@ ++mkdir_p = @mkdir_p@ ++multi_basedir = @multi_basedir@ ++oldincludedir = @oldincludedir@ ++pdfdir = @pdfdir@ ++port_specific_symbol_files = @port_specific_symbol_files@ ++prefix = @prefix@ ++program_transform_name = @program_transform_name@ ++psdir = @psdir@ ++python_mod_dir = @python_mod_dir@ ++sbindir = @sbindir@ ++sharedstatedir = @sharedstatedir@ ++srcdir = @srcdir@ ++sysconfdir = @sysconfdir@ ++target = @target@ ++target_alias = @target_alias@ ++target_cpu = @target_cpu@ ++target_os = @target_os@ ++target_vendor = @target_vendor@ ++thread_header = @thread_header@ ++tmake_file = @tmake_file@ ++top_build_prefix = @top_build_prefix@ ++top_builddir = @top_builddir@ ++top_srcdir = @top_srcdir@ ++toplevel_builddir = @toplevel_builddir@ ++toplevel_srcdir = @toplevel_srcdir@ ++ ++# May be used by various substitution variables. ++gcc_version := $(shell @get_gcc_base_ver@ $(top_srcdir)/../gcc/BASE-VER) ++MAINT_CHARSET = latin1 ++mkinstalldirs = $(SHELL) $(toplevel_srcdir)/mkinstalldirs ++PWD_COMMAND = $${PWDCMD-pwd} ++STAMP = echo timestamp > ++toolexecdir = $(glibcxx_toolexecdir) ++toolexeclibdir = $(glibcxx_toolexeclibdir) ++@ENABLE_WERROR_FALSE@WERROR_FLAG = ++@ENABLE_WERROR_TRUE@WERROR_FLAG = -Werror ++@ENABLE_EXTERN_TEMPLATE_FALSE@XTEMPLATE_FLAGS = ++@ENABLE_EXTERN_TEMPLATE_TRUE@XTEMPLATE_FLAGS = -fno-implicit-templates ++@GLIBCXX_LDBL_ALT128_COMPAT_FALSE@LDBL_128_FLAGS = ++@GLIBCXX_LDBL_ALT128_COMPAT_TRUE@LDBL_128_FLAGS = $(LONG_DOUBLE_128_FLAGS) ++ ++# These bits are all figured out from configure. Look in acinclude.m4 ++# or configure.ac to see how they are set. See GLIBCXX_EXPORT_FLAGS. ++CONFIG_CXXFLAGS = \ ++ $(SECTION_FLAGS) $(HWCAP_CFLAGS) -frandom-seed=$@ $(LDBL_128_FLAGS) ++ ++WARN_CXXFLAGS = \ ++ $(WARN_FLAGS) $(WERROR_FLAG) -fdiagnostics-show-location=once ++ ++ ++# -I/-D flags to pass when compiling. ++AM_CPPFLAGS = $(GLIBCXX_INCLUDES) $(CPPFLAGS) ++ ++# Convenience library for C++98 runtime. ++noinst_LTLIBRARIES = libnonshared98convenience48.la \ ++ libnonshared98convenience80.la \ ++ libnonshared98convenience110.la ++ ++headers = ++ ++# Source files linked in via configuration/make substitution for a ++# particular host, but with ad hoc naming rules. ++host_sources_extra = \ ++ basic_file.cc c++locale.cc \ ++ ${ldbl_compat_sources} ${parallel_sources} ++ ++# XTEMPLATE_FLAGS = ++@ENABLE_EXTERN_TEMPLATE_FALSE@inst_sources = ++ ++# XTEMPLATE_FLAGS = -fno-implicit-templates ++@ENABLE_EXTERN_TEMPLATE_TRUE@inst_sources = \ ++@ENABLE_EXTERN_TEMPLATE_TRUE@ snprintf_lite-inst.cc \ ++@ENABLE_EXTERN_TEMPLATE_TRUE@ misc-inst.cc ++ ++ ++# Sources present in the src directory, always present. ++sources = \ ++ extfloat.S \ ++ ios_init.cc ++ ++sources4880 = \ ++ char8_t-rtti.S ++ ++sources48 = \ ++ collate_members.cc \ ++ float128.S \ ++ istream-string.cc \ ++ locale.cc \ ++ locale_facets.cc \ ++ c++locale.cc \ ++ ios_failure.cc \ ++ messages_members.cc \ ++ monetary_members.cc \ ++ numeric_members.cc \ ++ numeric_members_cow.cc \ ++ eh_exception.cc \ ++ eh_catch.cc \ ++ int128.S \ ++ eh_alloc48.cc \ ++ ${inst_sources} ++ ++sources80 = \ ++ ios_failure80.cc \ ++ locale_facets80.cc ++ ++sources110 = \ ++ locale_facets80.cc ++ ++libnonshared98convenience48_la_SOURCES = $(sources) $(sources4880) $(sources48) ++libnonshared98convenience80_la_SOURCES = $(sources) $(sources4880) $(sources80) ++libnonshared98convenience110_la_SOURCES = $(sources) $(sources110) ++ ++# AM_CXXFLAGS needs to be in each subdirectory so that it can be ++# modified in a per-library or per-sub-library way. Need to manually ++# set this option because CONFIG_CXXFLAGS has to be after ++# OPTIMIZE_CXXFLAGS on the compile line so that -O2 can be overridden ++# as the occasion calls for it. ++AM_CXXFLAGS = \ ++ -std=gnu++98 \ ++ $(glibcxx_lt_pic_flag) $(glibcxx_compiler_shared_flag) \ ++ $(XTEMPLATE_FLAGS) $(VTV_CXXFLAGS) \ ++ $(WARN_CXXFLAGS) $(OPTIMIZE_CXXFLAGS) $(CONFIG_CXXFLAGS) ++ ++AM_MAKEFLAGS = \ ++ "gxx_include_dir=$(gxx_include_dir)" ++ ++ ++# Libtool notes ++ ++# 1) Need to explicitly set LTCXXCOMPILE so that AM_CXXFLAGS is ++# last. (That way, things like -O2 passed down from the toplevel can ++# be overridden by --enable-debug.) ++ ++# 2) In general, libtool expects an argument such as `--tag=CXX' when ++# using the C++ compiler, because that will enable the settings ++# detected when C++ support was being configured. However, when no ++# such flag is given in the command line, libtool attempts to figure ++# it out by matching the compiler name in each configuration section ++# against a prefix of the command line. The problem is that, if the ++# compiler name and its initial flags stored in the libtool ++# configuration file don't match those in the command line, libtool ++# can't decide which configuration to use, and it gives up. The ++# correct solution is to add `--tag CXX' to LTCXXCOMPILE and maybe ++# CXXLINK, just after $(LIBTOOL), so that libtool doesn't have to ++# attempt to infer which configuration to use. ++# We have to put --tag disable-shared after --tag CXX lest things ++# CXX undo the affect of disable-shared. ++LTCXXCOMPILE = $(LIBTOOL) --tag CXX --tag disable-shared $(LIBTOOLFLAGS) \ ++ --mode=compile $(CXX) $(TOPLEVEL_INCLUDES) \ ++ $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) $(EXTRA_CXX_FLAGS) ++ ++LTLDFLAGS = $(shell $(SHELL) $(top_srcdir)/../libtool-ldflags $(LDFLAGS)) ++ ++# 3) We'd have a problem when building the shared libstdc++ object if ++# the rules automake generates would be used. We cannot allow g++ to ++# be used since this would add -lstdc++ to the link line which of ++# course is problematic at this point. So, we get the top-level ++# directory to configure libstdc++-v3 to use gcc as the C++ ++# compilation driver. ++CXXLINK = $(LIBTOOL) --tag CXX --tag disable-shared $(LIBTOOLFLAGS) \ ++ --mode=link $(CXX) \ ++ $(VTV_CXXLINKFLAGS) \ ++ $(OPT_LDFLAGS) $(SECTION_LDFLAGS) $(AM_CXXFLAGS) $(LTLDFLAGS) -o $@ ++ ++all: all-am ++ ++.SUFFIXES: ++.SUFFIXES: .S .cc .lo .o .obj ++$(srcdir)/Makefile.in: @MAINTAINER_MODE_TRUE@ $(srcdir)/Makefile.am $(top_srcdir)/fragment.am $(am__configure_deps) ++ @for dep in $?; do \ ++ case '$(am__configure_deps)' in \ ++ *$$dep*) \ ++ ( cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh ) \ ++ && { if test -f $@; then exit 0; else break; fi; }; \ ++ exit 1;; \ ++ esac; \ ++ done; \ ++ echo ' cd $(top_srcdir) && $(AUTOMAKE) --foreign --ignore-deps src/nonshared98/Makefile'; \ ++ $(am__cd) $(top_srcdir) && \ ++ $(AUTOMAKE) --foreign --ignore-deps src/nonshared98/Makefile ++Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status ++ @case '$?' in \ ++ *config.status*) \ ++ cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \ ++ *) \ ++ echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)'; \ ++ cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe);; \ ++ esac; ++$(top_srcdir)/fragment.am $(am__empty): ++ ++$(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES) ++ cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh ++ ++$(top_srcdir)/configure: @MAINTAINER_MODE_TRUE@ $(am__configure_deps) ++ cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh ++$(ACLOCAL_M4): @MAINTAINER_MODE_TRUE@ $(am__aclocal_m4_deps) ++ cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh ++$(am__aclocal_m4_deps): ++ ++clean-noinstLTLIBRARIES: ++ -test -z "$(noinst_LTLIBRARIES)" || rm -f $(noinst_LTLIBRARIES) ++ @list='$(noinst_LTLIBRARIES)'; \ ++ locs=`for p in $$list; do echo $$p; done | \ ++ sed 's|^[^/]*$$|.|; s|/[^/]*$$||; s|$$|/so_locations|' | \ ++ sort -u`; \ ++ test -z "$$locs" || { \ ++ echo rm -f $${locs}; \ ++ rm -f $${locs}; \ ++ } ++ ++libnonshared98convenience110.la: $(libnonshared98convenience110_la_OBJECTS) $(libnonshared98convenience110_la_DEPENDENCIES) $(EXTRA_libnonshared98convenience110_la_DEPENDENCIES) ++ $(AM_V_CXXLD)$(CXXLINK) $(libnonshared98convenience110_la_OBJECTS) $(libnonshared98convenience110_la_LIBADD) $(LIBS) ++ ++libnonshared98convenience48.la: $(libnonshared98convenience48_la_OBJECTS) $(libnonshared98convenience48_la_DEPENDENCIES) $(EXTRA_libnonshared98convenience48_la_DEPENDENCIES) ++ $(AM_V_CXXLD)$(CXXLINK) $(libnonshared98convenience48_la_OBJECTS) $(libnonshared98convenience48_la_LIBADD) $(LIBS) ++ ++libnonshared98convenience80.la: $(libnonshared98convenience80_la_OBJECTS) $(libnonshared98convenience80_la_DEPENDENCIES) $(EXTRA_libnonshared98convenience80_la_DEPENDENCIES) ++ $(AM_V_CXXLD)$(CXXLINK) $(libnonshared98convenience80_la_OBJECTS) $(libnonshared98convenience80_la_LIBADD) $(LIBS) ++ ++mostlyclean-compile: ++ -rm -f *.$(OBJEXT) ++ ++distclean-compile: ++ -rm -f *.tab.c ++ ++.S.o: ++ $(AM_V_CPPAS)$(CPPASCOMPILE) -c -o $@ $< ++ ++.S.obj: ++ $(AM_V_CPPAS)$(CPPASCOMPILE) -c -o $@ `$(CYGPATH_W) '$<'` ++ ++.S.lo: ++ $(AM_V_CPPAS)$(LTCPPASCOMPILE) -c -o $@ $< ++ ++.cc.o: ++ $(AM_V_CXX)$(CXXCOMPILE) -c -o $@ $< ++ ++.cc.obj: ++ $(AM_V_CXX)$(CXXCOMPILE) -c -o $@ `$(CYGPATH_W) '$<'` ++ ++.cc.lo: ++ $(AM_V_CXX)$(LTCXXCOMPILE) -c -o $@ $< ++ ++mostlyclean-libtool: ++ -rm -f *.lo ++ ++clean-libtool: ++ -rm -rf .libs _libs ++ ++ID: $(am__tagged_files) ++ $(am__define_uniq_tagged_files); mkid -fID $$unique ++tags: tags-am ++TAGS: tags ++ ++tags-am: $(TAGS_DEPENDENCIES) $(am__tagged_files) ++ set x; \ ++ here=`pwd`; \ ++ $(am__define_uniq_tagged_files); \ ++ shift; \ ++ if test -z "$(ETAGS_ARGS)$$*$$unique"; then :; else \ ++ test -n "$$unique" || unique=$$empty_fix; \ ++ if test $$# -gt 0; then \ ++ $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \ ++ "$$@" $$unique; \ ++ else \ ++ $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \ ++ $$unique; \ ++ fi; \ ++ fi ++ctags: ctags-am ++ ++CTAGS: ctags ++ctags-am: $(TAGS_DEPENDENCIES) $(am__tagged_files) ++ $(am__define_uniq_tagged_files); \ ++ test -z "$(CTAGS_ARGS)$$unique" \ ++ || $(CTAGS) $(CTAGSFLAGS) $(AM_CTAGSFLAGS) $(CTAGS_ARGS) \ ++ $$unique ++ ++GTAGS: ++ here=`$(am__cd) $(top_builddir) && pwd` \ ++ && $(am__cd) $(top_srcdir) \ ++ && gtags -i $(GTAGS_ARGS) "$$here" ++cscopelist: cscopelist-am ++ ++cscopelist-am: $(am__tagged_files) ++ list='$(am__tagged_files)'; \ ++ case "$(srcdir)" in \ ++ [\\/]* | ?:[\\/]*) sdir="$(srcdir)" ;; \ ++ *) sdir=$(subdir)/$(srcdir) ;; \ ++ esac; \ ++ for i in $$list; do \ ++ if test -f "$$i"; then \ ++ echo "$(subdir)/$$i"; \ ++ else \ ++ echo "$$sdir/$$i"; \ ++ fi; \ ++ done >> $(top_builddir)/cscope.files ++ ++distclean-tags: ++ -rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags ++check-am: all-am ++check: check-am ++all-am: Makefile $(LTLIBRARIES) ++installdirs: ++install: install-am ++install-exec: install-exec-am ++install-data: install-data-am ++uninstall: uninstall-am ++ ++install-am: all-am ++ @$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am ++ ++installcheck: installcheck-am ++install-strip: ++ if test -z '$(STRIP)'; then \ ++ $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \ ++ install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \ ++ install; \ ++ else \ ++ $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \ ++ install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \ ++ "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'" install; \ ++ fi ++mostlyclean-generic: ++ ++clean-generic: ++ ++distclean-generic: ++ -test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES) ++ -test . = "$(srcdir)" || test -z "$(CONFIG_CLEAN_VPATH_FILES)" || rm -f $(CONFIG_CLEAN_VPATH_FILES) ++ ++maintainer-clean-generic: ++ @echo "This command is intended for maintainers to use" ++ @echo "it deletes files that may require special tools to rebuild." ++clean: clean-am ++ ++clean-am: clean-generic clean-libtool clean-noinstLTLIBRARIES \ ++ mostlyclean-am ++ ++distclean: distclean-am ++ -rm -f Makefile ++distclean-am: clean-am distclean-compile distclean-generic \ ++ distclean-tags ++ ++dvi: dvi-am ++ ++dvi-am: ++ ++html: html-am ++ ++html-am: ++ ++info: info-am ++ ++info-am: ++ ++install-data-am: ++ ++install-dvi: install-dvi-am ++ ++install-dvi-am: ++ ++install-exec-am: ++ ++install-html: install-html-am ++ ++install-html-am: ++ ++install-info: install-info-am ++ ++install-info-am: ++ ++install-man: ++ ++install-pdf: install-pdf-am ++ ++install-pdf-am: ++ ++install-ps: install-ps-am ++ ++install-ps-am: ++ ++installcheck-am: ++ ++maintainer-clean: maintainer-clean-am ++ -rm -f Makefile ++maintainer-clean-am: distclean-am maintainer-clean-generic ++ ++mostlyclean: mostlyclean-am ++ ++mostlyclean-am: mostlyclean-compile mostlyclean-generic \ ++ mostlyclean-libtool ++ ++pdf: pdf-am ++ ++pdf-am: ++ ++ps: ps-am ++ ++ps-am: ++ ++uninstall-am: ++ ++.MAKE: install-am install-strip ++ ++.PHONY: CTAGS GTAGS TAGS all all-am check check-am clean clean-generic \ ++ clean-libtool clean-noinstLTLIBRARIES cscopelist-am ctags \ ++ ctags-am distclean distclean-compile distclean-generic \ ++ distclean-libtool distclean-tags dvi dvi-am html html-am info \ ++ info-am install install-am install-data install-data-am \ ++ install-dvi install-dvi-am install-exec install-exec-am \ ++ install-html install-html-am install-info install-info-am \ ++ install-man install-pdf install-pdf-am install-ps \ ++ install-ps-am install-strip installcheck installcheck-am \ ++ installdirs maintainer-clean maintainer-clean-generic \ ++ mostlyclean mostlyclean-compile mostlyclean-generic \ ++ mostlyclean-libtool pdf pdf-am ps ps-am tags tags-am uninstall \ ++ uninstall-am ++ ++.PRECIOUS: Makefile ++ ++ ++vpath % $(top_srcdir)/src/nonshared98 ++vpath % $(top_srcdir) ++ ++collate_members.lo: collate_members.cc ++ $(LTCXXCOMPILE) -I. -c $< ++messages_members.lo: messages_members.cc ++ $(LTCXXCOMPILE) -I. -c $< ++monetary_members.lo: monetary_members.cc ++ $(LTCXXCOMPILE) -I. -c $< ++numeric_members.lo: numeric_members.cc ++ $(LTCXXCOMPILE) -I. -c $< ++numeric_members_cow.lo: numeric_members_cow.cc ++ $(LTCXXCOMPILE) -I. -c $< ++# Use special rules to compile with -fimplicit-templates. ++c++locale.lo: c++locale.cc ++ $(LTCXXCOMPILE) -I. -fimplicit-templates -c $< ++c++locale.o: c++locale.cc ++ $(CXXCOMPILE) -I. -fimplicit-templates -c $< ++ ++# Tell versions [3.59,3.63) of GNU make to not export all variables. ++# Otherwise a system limit (for SysV at least) may be exceeded. ++.NOEXPORT: +diff --git a/libstdc++-v3/src/nonshared98/c++locale.cc b/libstdc++-v3/src/nonshared98/c++locale.cc +new file mode 100644 +index 000000000..7f5ab3a72 +--- /dev/null ++++ b/libstdc++-v3/src/nonshared98/c++locale.cc +@@ -0,0 +1,33 @@ ++// Copyright (C) 2016-2023 Free Software Foundation, Inc. ++// ++// This file is part of the GNU ISO C++ Library. This library is free ++// software; you can redistribute it and/or modify it under the ++// terms of the GNU General Public License as published by the ++// Free Software Foundation; either version 3, or (at your option) ++// any later version. ++ ++// This library is distributed in the hope that it will be useful, ++// but WITHOUT ANY WARRANTY; without even the implied warranty of ++// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the ++// GNU General Public License for more details. ++ ++// Under Section 7 of GPL version 3, you are granted additional ++// permissions described in the GCC Runtime Library Exception, version ++// 3.1, as published by the Free Software Foundation. ++ ++// You should have received a copy of the GNU General Public License and ++// a copy of the GCC Runtime Library Exception along with this program; ++// see the files COPYING3 and COPYING.RUNTIME respectively. If not, see ++// . ++ ++#define _GLIBCXX_NONSHARED_CXX98 1 ++#include "../c++98/c++locale.cc" ++asm (".hidden _ZNKSt8Catalogs6_M_getEi"); ++asm (".hidden _ZNSt8Catalogs6_M_addEPKcSt6locale"); ++asm (".hidden _ZNSt8Catalogs8_M_eraseEi"); ++asm (".hidden _ZNSt8CatalogsD1Ev"); ++asm (".hidden _ZNSt8CatalogsD2Ev"); ++asm (".hidden _ZSt12get_catalogsv"); ++//asm (".hidden _ZN9__gnu_cxx13__scoped_lockD1Ev"); ++//asm (".hidden _ZN9__gnu_cxx13__scoped_lockD2Ev"); ++//asm (".hidden _ZNSt6vectorIPSt12Catalog_infoSaIS1_EE17_M_realloc_insertEN9__gnu_cxx17__normal_iteratorIPS1_S3_EERKS1_"); +diff --git a/libstdc++-v3/src/nonshared98/char8_t-rtti.S b/libstdc++-v3/src/nonshared98/char8_t-rtti.S +new file mode 100644 +index 000000000..a307d183b +--- /dev/null ++++ b/libstdc++-v3/src/nonshared98/char8_t-rtti.S +@@ -0,0 +1,166 @@ ++/* Copyright (C) 2012-2023 Free Software Foundation, Inc. ++ ++ This file is part of the GNU ISO C++ Library. This library is free ++ software; you can redistribute it and/or modify it under the ++ terms of the GNU General Public License as published by the ++ Free Software Foundation; either version 3, or (at your option) ++ any later version. ++ ++ This library is distributed in the hope that it will be useful, ++ but WITHOUT ANY WARRANTY; without even the implied warranty of ++ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the ++ GNU General Public License for more details. ++ ++ Under Section 7 of GPL version 3, you are granted additional ++ permissions described in the GCC Runtime Library Exception, version ++ 3.1, as published by the Free Software Foundation. ++ ++ You should have received a copy of the GNU General Public License and ++ a copy of the GCC Runtime Library Exception along with this program; ++ see the files COPYING3 and COPYING.RUNTIME respectively. If not, see ++ . */ ++ ++#if defined __x86_64__ || defined __powerpc64__ || defined __s390x__ || defined __ia64__ || defined __aarch64__ \ ++ || defined __i386__ || defined __powerpc__ || defined __s390__ ++#ifdef __i386__ ++#define ALIGN1 .align 4 ++#elif defined __x86_64__ ++#define ALIGN1 .align 32 ++#define ALIGN2 .align 16 ++#elif defined __ia64__ ++#define ALIGN1 .align 8 ++#define ALIGN3 .align 8 ++#define SECTION3(x).section .gnu.linkonce.s.x,"aws",@progbits ++#define POINTER data8 ++#define FLAGS data4 ++#define PAD .skip 4 ++#define STRING stringz ++#elif defined __powerpc64__ ++#define ALIGN1 .align 3 ++#define ALIGN3 .align 3 ++#elif defined __powerpc__ ++#define ALIGN1 .align 2 ++#define ALIGN3 .align 2 ++#define SECTION2(x).section .gnu.linkonce.s.x,"aw",@progbits ++#define SECTION3(x)SECTION2(x) ++#elif defined __aarch64__ ++#define ALIGN1 .align 3 ++#define ALIGN3 .align 3 ++#define POINTER .xword ++#define FLAGS .word ++#define OBJECT %object ++#elif defined __s390x__ ++#define ALIGN1 .align 8 ++#define ALIGN3 .align 2 ++#elif defined __s390__ ++#define ALIGN1 .align 4 ++#define ALIGN3 .align 2 ++#endif ++#if defined __x86_64__ || defined __powerpc64__ || defined __s390x__ || defined __ia64__ || defined __aarch64__ ++#define SIZE1 32 ++#define SIZE2 16 ++#define OFF 16 ++#ifndef POINTER ++#define POINTER .quad ++#endif ++#ifndef FLAGS ++#define FLAGS .long ++#endif ++#ifndef PAD ++#define PAD .zero 4 ++#endif ++#else ++#define SIZE1 16 ++#define SIZE2 8 ++#define OFF 8 ++#ifndef POINTER ++#define POINTER .long ++#endif ++#ifndef FLAGS ++#define FLAGS .long ++#endif ++#ifndef PAD ++#define PAD ++#endif ++#endif ++#ifndef SYM ++#define SYM(x)x ++#endif ++#ifndef ALIGN2 ++#define ALIGN2 ALIGN1 ++#endif ++#ifndef ALIGN3 ++#define ALIGN3 ++#endif ++#ifndef OBJECT ++#define OBJECT @object ++#endif ++#ifndef SECTION1 ++#define SECTION1(x).section .gnu.linkonce.d.rel.ro.x,"aw",@progbits ++#endif ++#ifndef SECTION2 ++#define SECTION2(x)SECTION1(x) ++#endif ++#ifndef SECTION3 ++#define SECTION3(x).section .gnu.linkonce.r.x,"a",@progbits ++#endif ++#ifndef STRING ++#define STRING .string ++#endif ++ ++ .weak SYM(_ZTIPKDu) ++ SECTION1(_ZTIPKDu) ++ ALIGN1 ++ .type SYM(_ZTIPKDu), OBJECT ++ .size SYM(_ZTIPKDu), SIZE1 ++_ZTIPKDu: ++ POINTER SYM(_ZTVN10__cxxabiv119__pointer_type_infoE)+OFF ++ POINTER SYM(_ZTSPKDu) ++ FLAGS 1 ++ PAD ++ POINTER SYM(_ZTIDu) ++ .weak SYM(_ZTIPDu) ++ SECTION1(_ZTIPDu) ++ ALIGN1 ++ .type SYM(_ZTIPDu), OBJECT ++ .size SYM(_ZTIPDu), SIZE1 ++_ZTIPDu: ++ POINTER SYM(_ZTVN10__cxxabiv119__pointer_type_infoE)+OFF ++ POINTER SYM(_ZTSPDu) ++ FLAGS 0 ++ PAD ++ POINTER SYM(_ZTIDu) ++ .weak SYM(_ZTIDu) ++ SECTION2(_ZTIDu) ++ ALIGN2 ++ .type SYM(_ZTIDu), OBJECT ++ .size SYM(_ZTIDu), SIZE2 ++_ZTIDu: ++ POINTER SYM(_ZTVN10__cxxabiv123__fundamental_type_infoE)+OFF ++ POINTER SYM(_ZTSDu) ++ .weak SYM(_ZTSPKDu) ++ .hidden SYM(_ZTSPKDu) ++ SECTION3(_ZTSPKDu) ++ ALIGN3 ++ .type SYM(_ZTSPKDu), OBJECT ++ .size SYM(_ZTSPKDu), 5 ++_ZTSPKDu: ++ STRING "PKDu" ++ .weak SYM(_ZTSPDu) ++ .hidden SYM(_ZTSPDu) ++ SECTION3(_ZTSPDu) ++ ALIGN3 ++ .type SYM(_ZTSPDu), OBJECT ++ .size SYM(_ZTSPDu), 4 ++_ZTSPDu: ++ STRING "PDu" ++ .weak SYM(_ZTSDu) ++ .hidden SYM(_ZTSDu) ++ SECTION3(_ZTSDu) ++ ALIGN3 ++ .type SYM(_ZTSDu), OBJECT ++ .size SYM(_ZTSDu), 3 ++_ZTSDu: ++ STRING "Du" ++#endif ++ .section .note.GNU-stack,"",@progbits +diff --git a/libstdc++-v3/src/nonshared98/collate_members.cc b/libstdc++-v3/src/nonshared98/collate_members.cc +new file mode 100644 +index 000000000..294183755 +--- /dev/null ++++ b/libstdc++-v3/src/nonshared98/collate_members.cc +@@ -0,0 +1,24 @@ ++// Copyright (C) 2012-2023 Free Software Foundation, Inc. ++// ++// This file is part of the GNU ISO C++ Library. This library is free ++// software; you can redistribute it and/or modify it under the ++// terms of the GNU General Public License as published by the ++// Free Software Foundation; either version 3, or (at your option) ++// any later version. ++ ++// This library is distributed in the hope that it will be useful, ++// but WITHOUT ANY WARRANTY; without even the implied warranty of ++// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the ++// GNU General Public License for more details. ++ ++// Under Section 7 of GPL version 3, you are granted additional ++// permissions described in the GCC Runtime Library Exception, version ++// 3.1, as published by the Free Software Foundation. ++ ++// You should have received a copy of the GNU General Public License and ++// a copy of the GCC Runtime Library Exception along with this program; ++// see the files COPYING3 and COPYING.RUNTIME respectively. If not, see ++// . ++ ++#define _GLIBCXX_USE_CXX11_ABI 1 ++#include "../c++98/collate_members.cc" +diff --git a/libstdc++-v3/src/nonshared98/eh_alloc48.cc b/libstdc++-v3/src/nonshared98/eh_alloc48.cc +new file mode 100644 +index 000000000..b57eaa601 +--- /dev/null ++++ b/libstdc++-v3/src/nonshared98/eh_alloc48.cc +@@ -0,0 +1,36 @@ ++// -*- C++ -*- Allocate exception objects. ++// Copyright (C) 2001-2023 Free Software Foundation, Inc. ++// ++// This file is part of GCC. ++// ++// GCC is free software; you can redistribute it and/or modify ++// it under the terms of the GNU General Public License as published by ++// the Free Software Foundation; either version 3, or (at your option) ++// any later version. ++// ++// GCC is distributed in the hope that it will be useful, ++// but WITHOUT ANY WARRANTY; without even the implied warranty of ++// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the ++// GNU General Public License for more details. ++// ++// Under Section 7 of GPL version 3, you are granted additional ++// permissions described in the GCC Runtime Library Exception, version ++// 3.1, as published by the Free Software Foundation. ++ ++// You should have received a copy of the GNU General Public License and ++// a copy of the GCC Runtime Library Exception along with this program; ++// see the files COPYING3 and COPYING.RUNTIME respectively. If not, see ++// . ++ ++// This is derived from the C++ ABI for IA-64. Where we diverge ++// for cross-architecture compatibility are noted with "@@@". ++ ++#include ++ ++namespace __gnu_cxx ++{ ++ void ++ __freeres() ++ { ++ } ++} +diff --git a/libstdc++-v3/src/nonshared98/eh_catch.cc b/libstdc++-v3/src/nonshared98/eh_catch.cc +new file mode 100644 +index 000000000..8fda167ec +--- /dev/null ++++ b/libstdc++-v3/src/nonshared98/eh_catch.cc +@@ -0,0 +1,39 @@ ++// -*- C++ -*- Exception handling routines for catching. ++// Copyright (C) 2001-2023 Free Software Foundation, Inc. ++// ++// This file is part of GCC. ++// ++// GCC is free software; you can redistribute it and/or modify ++// it under the terms of the GNU General Public License as published by ++// the Free Software Foundation; either version 3, or (at your option) ++// any later version. ++// ++// GCC is distributed in the hope that it will be useful, ++// but WITHOUT ANY WARRANTY; without even the implied warranty of ++// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the ++// GNU General Public License for more details. ++// ++// Under Section 7 of GPL version 3, you are granted additional ++// permissions described in the GCC Runtime Library Exception, version ++// 3.1, as published by the Free Software Foundation. ++ ++// You should have received a copy of the GNU General Public License and ++// a copy of the GCC Runtime Library Exception along with this program; ++// see the files COPYING3 and COPYING.RUNTIME respectively. If not, see ++// . ++ ++#include ++#include "unwind-cxx.h" ++ ++using namespace __cxxabiv1; ++ ++int ++std::uncaught_exceptions() throw() ++{ ++#if __cpp_exceptions ++ __cxa_eh_globals *globals = __cxa_get_globals (); ++ return globals->uncaughtExceptions; ++#else ++ return 0; ++#endif ++} +diff --git a/libstdc++-v3/src/nonshared98/eh_exception.cc b/libstdc++-v3/src/nonshared98/eh_exception.cc +new file mode 100644 +index 000000000..7f33c2c65 +--- /dev/null ++++ b/libstdc++-v3/src/nonshared98/eh_exception.cc +@@ -0,0 +1,24 @@ ++// Copyright (C) 1994-2023 Free Software Foundation, Inc. ++// ++// This file is part of the GNU ISO C++ Library. This library is free ++// software; you can redistribute it and/or modify it under the ++// terms of the GNU General Public License as published by the ++// Free Software Foundation; either version 3, or (at your option) ++// any later version. ++ ++// This library is distributed in the hope that it will be useful, ++// but WITHOUT ANY WARRANTY; without even the implied warranty of ++// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the ++// GNU General Public License for more details. ++ ++// Under Section 7 of GPL version 3, you are granted additional ++// permissions described in the GCC Runtime Library Exception, version ++// 3.1, as published by the Free Software Foundation. ++ ++// You should have received a copy of the GNU General Public License and ++// a copy of the GCC Runtime Library Exception along with this program; ++// see the files COPYING3 and COPYING.RUNTIME respectively. If not, see ++// . ++ ++#define _GLIBCXX_NONSHARED_CXX98 1 ++#include "../libsupc++/eh_exception.cc" +diff --git a/libstdc++-v3/src/nonshared98/extfloat.S b/libstdc++-v3/src/nonshared98/extfloat.S +new file mode 100644 +index 000000000..6e5cb29df +--- /dev/null ++++ b/libstdc++-v3/src/nonshared98/extfloat.S +@@ -0,0 +1,547 @@ ++/* Copyright (C) 2012-2023 Free Software Foundation, Inc. ++ ++ This file is part of the GNU ISO C++ Library. This library is free ++ software; you can redistribute it and/or modify it under the ++ terms of the GNU General Public License as published by the ++ Free Software Foundation; either version 3, or (at your option) ++ any later version. ++ ++ This library is distributed in the hope that it will be useful, ++ but WITHOUT ANY WARRANTY; without even the implied warranty of ++ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the ++ GNU General Public License for more details. ++ ++ Under Section 7 of GPL version 3, you are granted additional ++ permissions described in the GCC Runtime Library Exception, version ++ 3.1, as published by the Free Software Foundation. ++ ++ You should have received a copy of the GNU General Public License and ++ a copy of the GCC Runtime Library Exception along with this program; ++ see the files COPYING3 and COPYING.RUNTIME respectively. If not, see ++ . */ ++ ++#ifdef __i386__ ++#define ALIGN1 .align 4 ++#elif defined __x86_64__ ++#define ALIGN1 .align 32 ++#define ALIGN2 .align 16 ++#elif defined __ia64__ ++#define ALIGN1 .align 8 ++#define ALIGN3 .align 8 ++#define SECTION3(x).section .gnu.linkonce.s.x,"aws",@progbits ++#define POINTER data8 ++#define FLAGS data4 ++#define PAD .skip 4 ++#define STRING stringz ++#elif defined __powerpc64__ ++#define ALIGN1 .align 3 ++#define ALIGN3 .align 3 ++#elif defined __powerpc__ ++#define ALIGN1 .align 2 ++#define ALIGN3 .align 2 ++#define SECTION2(x).section .gnu.linkonce.s.x,"aw",@progbits ++#define SECTION3(x)SECTION2(x) ++#elif defined __aarch64__ ++#define ALIGN1 .align 3 ++#define ALIGN3 .align 3 ++#define POINTER .xword ++#define FLAGS .word ++#define OBJECT %object ++#elif defined __s390x__ ++#define ALIGN1 .align 8 ++#define ALIGN3 .align 2 ++#elif defined __s390__ ++#define ALIGN1 .align 4 ++#define ALIGN3 .align 2 ++#endif ++#if defined __x86_64__ || defined __powerpc64__ || defined __s390x__ || defined __ia64__ || defined __aarch64__ ++#define SIZE1 32 ++#define SIZE2 16 ++#define OFF 16 ++#ifndef POINTER ++#define POINTER .quad ++#endif ++#ifndef FLAGS ++#define FLAGS .long ++#endif ++#ifndef PAD ++#define PAD .zero 4 ++#endif ++#else ++#define SIZE1 16 ++#define SIZE2 8 ++#define OFF 8 ++#ifndef POINTER ++#define POINTER .long ++#endif ++#ifndef FLAGS ++#define FLAGS .long ++#endif ++#ifndef PAD ++#define PAD ++#endif ++#endif ++#ifndef SYM ++#define SYM(x)x ++#endif ++#ifndef ALIGN2 ++#define ALIGN2 ALIGN1 ++#endif ++#ifndef ALIGN3 ++#define ALIGN3 ++#endif ++#ifndef OBJECT ++#define OBJECT @object ++#endif ++#ifndef SECTION1 ++#define SECTION1(x).section .gnu.linkonce.d.rel.ro.x,"aw",@progbits ++#endif ++#ifndef SECTION2 ++#define SECTION2(x)SECTION1(x) ++#endif ++#ifndef SECTION3 ++#define SECTION3(x).section .gnu.linkonce.r.x,"a",@progbits ++#endif ++#ifndef STRING ++#define STRING .string ++#endif ++ ++#if defined __x86_64__ || defined __i386__ || defined __aarch64__ ++ .weak SYM(_ZTIPKDF16_) ++ SECTION1(_ZTIPKDF16_) ++ ALIGN1 ++ .type SYM(_ZTIPKDF16_), OBJECT ++ .size SYM(_ZTIPKDF16_), SIZE1 ++_ZTIPKDF16_: ++ POINTER SYM(_ZTVN10__cxxabiv119__pointer_type_infoE)+OFF ++ POINTER SYM(_ZTSPKDF16_) ++ FLAGS 1 ++ PAD ++ POINTER SYM(_ZTIDF16_) ++ .weak SYM(_ZTIPDF16_) ++ SECTION1(_ZTIPDF16_) ++ ALIGN1 ++ .type SYM(_ZTIPDF16_), OBJECT ++ .size SYM(_ZTIPDF16_), SIZE1 ++_ZTIPDF16_: ++ POINTER SYM(_ZTVN10__cxxabiv119__pointer_type_infoE)+OFF ++ POINTER SYM(_ZTSPDF16_) ++ FLAGS 0 ++ PAD ++ POINTER SYM(_ZTIDF16_) ++ .weak SYM(_ZTIDF16_) ++ SECTION2(_ZTIDF16_) ++ ALIGN2 ++ .type SYM(_ZTIDF16_), OBJECT ++ .size SYM(_ZTIDF16_), SIZE2 ++_ZTIDF16_: ++ POINTER SYM(_ZTVN10__cxxabiv123__fundamental_type_infoE)+OFF ++ POINTER SYM(_ZTSDF16_) ++ .weak SYM(_ZTSPKDF16_) ++ .hidden SYM(_ZTSPKDF16_) ++ SECTION3(_ZTSPKDF16_) ++ ALIGN3 ++ .type SYM(_ZTSPKDF16_), OBJECT ++ .size SYM(_ZTSPKDF16_), 8 ++_ZTSPKDF16_: ++ STRING "PKDF16_" ++ .weak SYM(_ZTSPDF16_) ++ .hidden SYM(_ZTSPDF16_) ++ SECTION3(_ZTSPDF16_) ++ ALIGN3 ++ .type SYM(_ZTSPDF16_), OBJECT ++ .size SYM(_ZTSPDF16_), 7 ++_ZTSPDF16_: ++ STRING "PDF16_" ++ .weak SYM(_ZTSDF16_) ++ .hidden SYM(_ZTSDF16_) ++ SECTION3(_ZTSDF16_) ++ ALIGN3 ++ .type SYM(_ZTSDF16_), OBJECT ++ .size SYM(_ZTSDF16_), 6 ++_ZTSDF16_: ++ STRING "DF16_" ++#endif ++#if defined __x86_64__ || defined __i386__ ++ .weak SYM(_ZTIPKDF16b) ++ SECTION1(_ZTIPKDF16b) ++ ALIGN1 ++ .type SYM(_ZTIPKDF16b), OBJECT ++ .size SYM(_ZTIPKDF16b), SIZE1 ++_ZTIPKDF16b: ++ POINTER SYM(_ZTVN10__cxxabiv119__pointer_type_infoE)+OFF ++ POINTER SYM(_ZTSPKDF16b) ++ FLAGS 1 ++ PAD ++ POINTER SYM(_ZTIDF16b) ++ .weak SYM(_ZTIPDF16b) ++ SECTION1(_ZTIPDF16b) ++ ALIGN1 ++ .type SYM(_ZTIPDF16b), OBJECT ++ .size SYM(_ZTIPDF16b), SIZE1 ++_ZTIPDF16b: ++ POINTER SYM(_ZTVN10__cxxabiv119__pointer_type_infoE)+OFF ++ POINTER SYM(_ZTSPDF16b) ++ FLAGS 0 ++ PAD ++ POINTER SYM(_ZTIDF16b) ++ .weak SYM(_ZTIDF16b) ++ SECTION2(_ZTIDF16b) ++ ALIGN2 ++ .type SYM(_ZTIDF16b), OBJECT ++ .size SYM(_ZTIDF16b), SIZE2 ++_ZTIDF16b: ++ POINTER SYM(_ZTVN10__cxxabiv123__fundamental_type_infoE)+OFF ++ POINTER SYM(_ZTSDF16b) ++ .weak SYM(_ZTSPKDF16b) ++ .hidden SYM(_ZTSPKDF16b) ++ SECTION3(_ZTSPKDF16b) ++ ALIGN3 ++ .type SYM(_ZTSPKDF16b), OBJECT ++ .size SYM(_ZTSPKDF16b), 8 ++_ZTSPKDF16b: ++ STRING "PKDF16b" ++ .weak SYM(_ZTSPDF16b) ++ .hidden SYM(_ZTSPDF16b) ++ SECTION3(_ZTSPDF16b) ++ ALIGN3 ++ .type SYM(_ZTSPDF16b), OBJECT ++ .size SYM(_ZTSPDF16b), 7 ++_ZTSPDF16b: ++ STRING "PDF16b" ++ .weak SYM(_ZTSDF16b) ++ .hidden SYM(_ZTSDF16b) ++ SECTION3(_ZTSDF16b) ++ ALIGN3 ++ .type SYM(_ZTSDF16b), OBJECT ++ .size SYM(_ZTSDF16b), 6 ++_ZTSDF16b: ++ STRING "DF16b" ++#endif ++#if defined __aarch64__ ++ .weak SYM(_ZTIPKu6__bf16) ++ SECTION1(_ZTIPKu6__bf16) ++ ALIGN1 ++ .type SYM(_ZTIPKu6__bf16), OBJECT ++ .size SYM(_ZTIPKu6__bf16), SIZE1 ++_ZTIPKu6__bf16: ++ POINTER SYM(_ZTVN10__cxxabiv119__pointer_type_infoE)+OFF ++ POINTER SYM(_ZTSPKu6__bf16) ++ FLAGS 1 ++ PAD ++ POINTER SYM(_ZTIu6__bf16) ++ .weak SYM(_ZTIPu6__bf16) ++ SECTION1(_ZTIPu6__bf16) ++ ALIGN1 ++ .type SYM(_ZTIPu6__bf16), OBJECT ++ .size SYM(_ZTIPu6__bf16), SIZE1 ++_ZTIPu6__bf16: ++ POINTER SYM(_ZTVN10__cxxabiv119__pointer_type_infoE)+OFF ++ POINTER SYM(_ZTSPu6__bf16) ++ FLAGS 0 ++ PAD ++ POINTER SYM(_ZTIu6__bf16) ++ .weak SYM(_ZTIu6__bf16) ++ SECTION2(_ZTIu6__bf16) ++ ALIGN2 ++ .type SYM(_ZTIu6__bf16), OBJECT ++ .size SYM(_ZTIu6__bf16), SIZE2 ++_ZTIu6__bf16: ++ POINTER SYM(_ZTVN10__cxxabiv123__fundamental_type_infoE)+OFF ++ POINTER SYM(_ZTSu6__bf16) ++ .weak SYM(_ZTSPKu6__bf16) ++ .hidden SYM(_ZTSPKu6__bf16) ++ SECTION3(_ZTSPKu6__bf16) ++ ALIGN3 ++ .type SYM(_ZTSPKu6__bf16), OBJECT ++ .size SYM(_ZTSPKu6__bf16), 11 ++_ZTSPKu6__bf16: ++ STRING "PKu6__bf16" ++ .weak SYM(_ZTSPu6__bf16) ++ .hidden SYM(_ZTSPu6__bf16) ++ SECTION3(_ZTSPu6__bf16) ++ ALIGN3 ++ .type SYM(_ZTSPu6__bf16), OBJECT ++ .size SYM(_ZTSPu6__bf16), 10 ++_ZTSPu6__bf16: ++ STRING "Pu6__bf16" ++ .weak SYM(_ZTSu6__bf16) ++ .hidden SYM(_ZTSu6__bf16) ++ SECTION3(_ZTSu6__bf16) ++ ALIGN3 ++ .type SYM(_ZTSu6__bf16), OBJECT ++ .size SYM(_ZTSu6__bf16), 9 ++_ZTSu6__bf16: ++ STRING "u6__bf16" ++#endif ++ .weak SYM(_ZTIPKDF32_) ++ SECTION1(_ZTIPKDF32_) ++ ALIGN1 ++ .type SYM(_ZTIPKDF32_), OBJECT ++ .size SYM(_ZTIPKDF32_), SIZE1 ++_ZTIPKDF32_: ++ POINTER SYM(_ZTVN10__cxxabiv119__pointer_type_infoE)+OFF ++ POINTER SYM(_ZTSPKDF32_) ++ FLAGS 1 ++ PAD ++ POINTER SYM(_ZTIDF32_) ++ .weak SYM(_ZTIPDF32_) ++ SECTION1(_ZTIPDF32_) ++ ALIGN1 ++ .type SYM(_ZTIPDF32_), OBJECT ++ .size SYM(_ZTIPDF32_), SIZE1 ++_ZTIPDF32_: ++ POINTER SYM(_ZTVN10__cxxabiv119__pointer_type_infoE)+OFF ++ POINTER SYM(_ZTSPDF32_) ++ FLAGS 0 ++ PAD ++ POINTER SYM(_ZTIDF32_) ++ .weak SYM(_ZTIDF32_) ++ SECTION2(_ZTIDF32_) ++ ALIGN2 ++ .type SYM(_ZTIDF32_), OBJECT ++ .size SYM(_ZTIDF32_), SIZE2 ++_ZTIDF32_: ++ POINTER SYM(_ZTVN10__cxxabiv123__fundamental_type_infoE)+OFF ++ POINTER SYM(_ZTSDF32_) ++ .weak SYM(_ZTSPKDF32_) ++ .hidden SYM(_ZTSPKDF32_) ++ SECTION3(_ZTSPKDF32_) ++ ALIGN3 ++ .type SYM(_ZTSPKDF32_), OBJECT ++ .size SYM(_ZTSPKDF32_), 8 ++_ZTSPKDF32_: ++ STRING "PKDF32_" ++ .weak SYM(_ZTSPDF32_) ++ .hidden SYM(_ZTSPDF32_) ++ SECTION3(_ZTSPDF32_) ++ ALIGN3 ++ .type SYM(_ZTSPDF32_), OBJECT ++ .size SYM(_ZTSPDF32_), 7 ++_ZTSPDF32_: ++ STRING "PDF32_" ++ .weak SYM(_ZTSDF32_) ++ .hidden SYM(_ZTSDF32_) ++ SECTION3(_ZTSDF32_) ++ ALIGN3 ++ .type SYM(_ZTSDF32_), OBJECT ++ .size SYM(_ZTSDF32_), 6 ++_ZTSDF32_: ++ STRING "DF32_" ++ .weak SYM(_ZTIPKDF32x) ++ SECTION1(_ZTIPKDF32x) ++ ALIGN1 ++ .type SYM(_ZTIPKDF32x), OBJECT ++ .size SYM(_ZTIPKDF32x), SIZE1 ++_ZTIPKDF32x: ++ POINTER SYM(_ZTVN10__cxxabiv119__pointer_type_infoE)+OFF ++ POINTER SYM(_ZTSPKDF32x) ++ FLAGS 1 ++ PAD ++ POINTER SYM(_ZTIDF32x) ++ .weak SYM(_ZTIPDF32x) ++ SECTION1(_ZTIPDF32x) ++ ALIGN1 ++ .type SYM(_ZTIPDF32x), OBJECT ++ .size SYM(_ZTIPDF32x), SIZE1 ++_ZTIPDF32x: ++ POINTER SYM(_ZTVN10__cxxabiv119__pointer_type_infoE)+OFF ++ POINTER SYM(_ZTSPDF32x) ++ FLAGS 0 ++ PAD ++ POINTER SYM(_ZTIDF32x) ++ .weak SYM(_ZTIDF32x) ++ SECTION2(_ZTIDF32x) ++ ALIGN2 ++ .type SYM(_ZTIDF32x), OBJECT ++ .size SYM(_ZTIDF32x), SIZE2 ++_ZTIDF32x: ++ POINTER SYM(_ZTVN10__cxxabiv123__fundamental_type_infoE)+OFF ++ POINTER SYM(_ZTSDF32x) ++ .weak SYM(_ZTSPKDF32x) ++ .hidden SYM(_ZTSPKDF32x) ++ SECTION3(_ZTSPKDF32x) ++ ALIGN3 ++ .type SYM(_ZTSPKDF32x), OBJECT ++ .size SYM(_ZTSPKDF32x), 8 ++_ZTSPKDF32x: ++ STRING "PKDF32x" ++ .weak SYM(_ZTSPDF32x) ++ .hidden SYM(_ZTSPDF32x) ++ SECTION3(_ZTSPDF32x) ++ ALIGN3 ++ .type SYM(_ZTSPDF32x), OBJECT ++ .size SYM(_ZTSPDF32x), 7 ++_ZTSPDF32x: ++ STRING "PDF32x" ++ .weak SYM(_ZTSDF32x) ++ .hidden SYM(_ZTSDF32x) ++ SECTION3(_ZTSDF32x) ++ ALIGN3 ++ .type SYM(_ZTSDF32x), OBJECT ++ .size SYM(_ZTSDF32x), 6 ++_ZTSDF32x: ++ STRING "DF32x" ++ .weak SYM(_ZTIPKDF64_) ++ SECTION1(_ZTIPKDF64_) ++ ALIGN1 ++ .type SYM(_ZTIPKDF64_), OBJECT ++ .size SYM(_ZTIPKDF64_), SIZE1 ++_ZTIPKDF64_: ++ POINTER SYM(_ZTVN10__cxxabiv119__pointer_type_infoE)+OFF ++ POINTER SYM(_ZTSPKDF64_) ++ FLAGS 1 ++ PAD ++ POINTER SYM(_ZTIDF64_) ++ .weak SYM(_ZTIPDF64_) ++ SECTION1(_ZTIPDF64_) ++ ALIGN1 ++ .type SYM(_ZTIPDF64_), OBJECT ++ .size SYM(_ZTIPDF64_), SIZE1 ++_ZTIPDF64_: ++ POINTER SYM(_ZTVN10__cxxabiv119__pointer_type_infoE)+OFF ++ POINTER SYM(_ZTSPDF64_) ++ FLAGS 0 ++ PAD ++ POINTER SYM(_ZTIDF64_) ++ .weak SYM(_ZTIDF64_) ++ SECTION2(_ZTIDF64_) ++ ALIGN2 ++ .type SYM(_ZTIDF64_), OBJECT ++ .size SYM(_ZTIDF64_), SIZE2 ++_ZTIDF64_: ++ POINTER SYM(_ZTVN10__cxxabiv123__fundamental_type_infoE)+OFF ++ POINTER SYM(_ZTSDF64_) ++ .weak SYM(_ZTSPKDF64_) ++ .hidden SYM(_ZTSPKDF64_) ++ SECTION3(_ZTSPKDF64_) ++ ALIGN3 ++ .type SYM(_ZTSPKDF64_), OBJECT ++ .size SYM(_ZTSPKDF64_), 8 ++_ZTSPKDF64_: ++ STRING "PKDF64_" ++ .weak SYM(_ZTSPDF64_) ++ .hidden SYM(_ZTSPDF64_) ++ SECTION3(_ZTSPDF64_) ++ ALIGN3 ++ .type SYM(_ZTSPDF64_), OBJECT ++ .size SYM(_ZTSPDF64_), 7 ++_ZTSPDF64_: ++ STRING "PDF64_" ++ .weak SYM(_ZTSDF64_) ++ .hidden SYM(_ZTSDF64_) ++ SECTION3(_ZTSDF64_) ++ ALIGN3 ++ .type SYM(_ZTSDF64_), OBJECT ++ .size SYM(_ZTSDF64_), 6 ++_ZTSDF64_: ++ STRING "DF64_" ++ .weak SYM(_ZTIPKDF64x) ++ SECTION1(_ZTIPKDF64x) ++ ALIGN1 ++ .type SYM(_ZTIPKDF64x), OBJECT ++ .size SYM(_ZTIPKDF64x), SIZE1 ++_ZTIPKDF64x: ++ POINTER SYM(_ZTVN10__cxxabiv119__pointer_type_infoE)+OFF ++ POINTER SYM(_ZTSPKDF64x) ++ FLAGS 1 ++ PAD ++ POINTER SYM(_ZTIDF64x) ++ .weak SYM(_ZTIPDF64x) ++ SECTION1(_ZTIPDF64x) ++ ALIGN1 ++ .type SYM(_ZTIPDF64x), OBJECT ++ .size SYM(_ZTIPDF64x), SIZE1 ++_ZTIPDF64x: ++ POINTER SYM(_ZTVN10__cxxabiv119__pointer_type_infoE)+OFF ++ POINTER SYM(_ZTSPDF64x) ++ FLAGS 0 ++ PAD ++ POINTER SYM(_ZTIDF64x) ++ .weak SYM(_ZTIDF64x) ++ SECTION2(_ZTIDF64x) ++ ALIGN2 ++ .type SYM(_ZTIDF64x), OBJECT ++ .size SYM(_ZTIDF64x), SIZE2 ++_ZTIDF64x: ++ POINTER SYM(_ZTVN10__cxxabiv123__fundamental_type_infoE)+OFF ++ POINTER SYM(_ZTSDF64x) ++ .weak SYM(_ZTSPKDF64x) ++ .hidden SYM(_ZTSPKDF64x) ++ SECTION3(_ZTSPKDF64x) ++ ALIGN3 ++ .type SYM(_ZTSPKDF64x), OBJECT ++ .size SYM(_ZTSPKDF64x), 8 ++_ZTSPKDF64x: ++ STRING "PKDF64x" ++ .weak SYM(_ZTSPDF64x) ++ .hidden SYM(_ZTSPDF64x) ++ SECTION3(_ZTSPDF64x) ++ ALIGN3 ++ .type SYM(_ZTSPDF64x), OBJECT ++ .size SYM(_ZTSPDF64x), 7 ++_ZTSPDF64x: ++ STRING "PDF64x" ++ .weak SYM(_ZTSDF64x) ++ .hidden SYM(_ZTSDF64x) ++ SECTION3(_ZTSDF64x) ++ ALIGN3 ++ .type SYM(_ZTSDF64x), OBJECT ++ .size SYM(_ZTSDF64x), 6 ++_ZTSDF64x: ++ STRING "DF64x" ++ .weak SYM(_ZTIPKDF128_) ++ SECTION1(_ZTIPKDF128_) ++ ALIGN1 ++ .type SYM(_ZTIPKDF128_), OBJECT ++ .size SYM(_ZTIPKDF128_), SIZE1 ++_ZTIPKDF128_: ++ POINTER SYM(_ZTVN10__cxxabiv119__pointer_type_infoE)+OFF ++ POINTER SYM(_ZTSPKDF128_) ++ FLAGS 1 ++ PAD ++ POINTER SYM(_ZTIDF128_) ++ .weak SYM(_ZTIPDF128_) ++ SECTION1(_ZTIPDF128_) ++ ALIGN1 ++ .type SYM(_ZTIPDF128_), OBJECT ++ .size SYM(_ZTIPDF128_), SIZE1 ++_ZTIPDF128_: ++ POINTER SYM(_ZTVN10__cxxabiv119__pointer_type_infoE)+OFF ++ POINTER SYM(_ZTSPDF128_) ++ FLAGS 0 ++ PAD ++ POINTER SYM(_ZTIDF128_) ++ .weak SYM(_ZTIDF128_) ++ SECTION2(_ZTIDF128_) ++ ALIGN2 ++ .type SYM(_ZTIDF128_), OBJECT ++ .size SYM(_ZTIDF128_), SIZE2 ++_ZTIDF128_: ++ POINTER SYM(_ZTVN10__cxxabiv123__fundamental_type_infoE)+OFF ++ POINTER SYM(_ZTSDF128_) ++ .weak SYM(_ZTSPKDF128_) ++ .hidden SYM(_ZTSPKDF128_) ++ SECTION3(_ZTSPKDF128_) ++ ALIGN3 ++ .type SYM(_ZTSPKDF128_), OBJECT ++ .size SYM(_ZTSPKDF128_), 9 ++_ZTSPKDF128_: ++ STRING "PKDF128_" ++ .weak SYM(_ZTSPDF128_) ++ .hidden SYM(_ZTSPDF128_) ++ SECTION3(_ZTSPDF128_) ++ ALIGN3 ++ .type SYM(_ZTSPDF128_), OBJECT ++ .size SYM(_ZTSPDF128_), 8 ++_ZTSPDF128_: ++ STRING "PDF128_" ++ .weak SYM(_ZTSDF128_) ++ .hidden SYM(_ZTSDF128_) ++ SECTION3(_ZTSDF128_) ++ ALIGN3 ++ .type SYM(_ZTSDF128_), OBJECT ++ .size SYM(_ZTSDF128_), 7 ++_ZTSDF128_: ++ STRING "DF128_" ++ .section .note.GNU-stack,"",@progbits +diff --git a/libstdc++-v3/src/nonshared98/float128.S b/libstdc++-v3/src/nonshared98/float128.S +new file mode 100644 +index 000000000..aaba5e3a6 +--- /dev/null ++++ b/libstdc++-v3/src/nonshared98/float128.S +@@ -0,0 +1,162 @@ ++/* Copyright (C) 2012-2023 Free Software Foundation, Inc. ++ ++ This file is part of the GNU ISO C++ Library. This library is free ++ software; you can redistribute it and/or modify it under the ++ terms of the GNU General Public License as published by the ++ Free Software Foundation; either version 3, or (at your option) ++ any later version. ++ ++ This library is distributed in the hope that it will be useful, ++ but WITHOUT ANY WARRANTY; without even the implied warranty of ++ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the ++ GNU General Public License for more details. ++ ++ Under Section 7 of GPL version 3, you are granted additional ++ permissions described in the GCC Runtime Library Exception, version ++ 3.1, as published by the Free Software Foundation. ++ ++ You should have received a copy of the GNU General Public License and ++ a copy of the GCC Runtime Library Exception along with this program; ++ see the files COPYING3 and COPYING.RUNTIME respectively. If not, see ++ . */ ++ ++#if defined __x86_64__ || defined __i386__ || defined __ia64__ ++#ifdef __i386__ ++#define ALIGN1 .align 4 ++#elif defined __x86_64__ ++#define ALIGN1 .align 32 ++#define ALIGN2 .align 16 ++#elif defined __ia64__ ++#define ALIGN1 .align 8 ++#define ALIGN3 .align 8 ++#define SECTION3(x).section .gnu.linkonce.s.x,"aws",@progbits ++#define POINTER data8 ++#define FLAGS data4 ++#define PAD .skip 4 ++#define STRING stringz ++#elif defined __powerpc64__ ++#define ALIGN1 .align 3 ++#define ALIGN3 .align 3 ++#elif defined __powerpc__ ++#define ALIGN1 .align 2 ++#define ALIGN3 .align 2 ++#define SECTION2(x).section .gnu.linkonce.s.x,"aw",@progbits ++#define SECTION3(x)SECTION2(x) ++#elif defined __aarch64__ ++#define ALIGN1 .align 3 ++#define ALIGN3 .align 3 ++#define POINTER .xword ++#define FLAGS .word ++#define OBJECT %object ++#elif defined __s390x__ ++#define ALIGN1 .align 8 ++#define ALIGN3 .align 2 ++#elif defined __s390__ ++#define ALIGN1 .align 4 ++#define ALIGN3 .align 2 ++#endif ++#if defined __x86_64__ || defined __powerpc64__ || defined __s390x__ || defined __ia64__ || defined __aarch64__ ++#define SIZE1 32 ++#define SIZE2 16 ++#define OFF 16 ++#ifndef POINTER ++#define POINTER .quad ++#endif ++#ifndef FLAGS ++#define FLAGS .long ++#endif ++#ifndef PAD ++#define PAD .zero 4 ++#endif ++#else ++#define SIZE1 16 ++#define SIZE2 8 ++#define OFF 8 ++#ifndef POINTER ++#define POINTER .long ++#endif ++#ifndef FLAGS ++#define FLAGS .long ++#endif ++#ifndef PAD ++#define PAD ++#endif ++#endif ++#ifndef SYM ++#define SYM(x)x ++#endif ++#ifndef ALIGN2 ++#define ALIGN2 ALIGN1 ++#endif ++#ifndef ALIGN3 ++#define ALIGN3 ++#endif ++#ifndef OBJECT ++#define OBJECT @object ++#endif ++#ifndef SECTION1 ++#define SECTION1(x).section .gnu.linkonce.d.rel.ro.x,"aw",@progbits ++#endif ++#ifndef SECTION2 ++#define SECTION2(x)SECTION1(x) ++#endif ++#ifndef SECTION3 ++#define SECTION3(x).section .gnu.linkonce.r.x,"a",@progbits ++#endif ++#ifndef STRING ++#define STRING .string ++#endif ++ ++ .weak SYM(_ZTIPKg) ++ SECTION1(_ZTIPKg) ++ ALIGN1 ++ .type SYM(_ZTIPKg), OBJECT ++ .size SYM(_ZTIPKg), SIZE1 ++_ZTIPKg: ++ POINTER SYM(_ZTVN10__cxxabiv119__pointer_type_infoE)+OFF ++ POINTER SYM(_ZTSPKg) ++ FLAGS 1 ++ PAD ++ POINTER SYM(_ZTIg) ++ .weak SYM(_ZTIPg) ++ SECTION1(_ZTIPg) ++ ALIGN1 ++ .type SYM(_ZTIPg), OBJECT ++ .size SYM(_ZTIPg), SIZE1 ++_ZTIPg: ++ POINTER SYM(_ZTVN10__cxxabiv119__pointer_type_infoE)+OFF ++ POINTER SYM(_ZTSPg) ++ FLAGS 0 ++ PAD ++ POINTER SYM(_ZTIg) ++ .weak SYM(_ZTIg) ++ SECTION2(_ZTIg) ++ ALIGN2 ++ .type SYM(_ZTIg), OBJECT ++ .size SYM(_ZTIg), SIZE2 ++_ZTIg: ++ POINTER SYM(_ZTVN10__cxxabiv123__fundamental_type_infoE)+OFF ++ POINTER SYM(_ZTSg) ++ .weak SYM(_ZTSPKg) ++ SECTION3(_ZTSPKg) ++ ALIGN3 ++ .type SYM(_ZTSPKg), OBJECT ++ .size SYM(_ZTSPKg), 4 ++_ZTSPKg: ++ STRING "PKg" ++ .weak SYM(_ZTSPg) ++ SECTION3(_ZTSPg) ++ ALIGN3 ++ .type SYM(_ZTSPg), OBJECT ++ .size SYM(_ZTSPg), 3 ++_ZTSPg: ++ STRING "Pg" ++ .weak SYM(_ZTSg) ++ SECTION3(_ZTSg) ++ ALIGN3 ++ .type SYM(_ZTSg), OBJECT ++ .size SYM(_ZTSg), 2 ++_ZTSg: ++ STRING "g" ++#endif ++ .section .note.GNU-stack,"",@progbits +diff --git a/libstdc++-v3/src/nonshared98/int128.S b/libstdc++-v3/src/nonshared98/int128.S +new file mode 100644 +index 000000000..99d94edee +--- /dev/null ++++ b/libstdc++-v3/src/nonshared98/int128.S +@@ -0,0 +1,154 @@ ++/* Copyright (C) 2012-2023 Free Software Foundation, Inc. ++ ++ This file is part of the GNU ISO C++ Library. This library is free ++ software; you can redistribute it and/or modify it under the ++ terms of the GNU General Public License as published by the ++ Free Software Foundation; either version 3, or (at your option) ++ any later version. ++ ++ This library is distributed in the hope that it will be useful, ++ but WITHOUT ANY WARRANTY; without even the implied warranty of ++ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the ++ GNU General Public License for more details. ++ ++ Under Section 7 of GPL version 3, you are granted additional ++ permissions described in the GCC Runtime Library Exception, version ++ 3.1, as published by the Free Software Foundation. ++ ++ You should have received a copy of the GNU General Public License and ++ a copy of the GCC Runtime Library Exception along with this program; ++ see the files COPYING3 and COPYING.RUNTIME respectively. If not, see ++ . */ ++ ++#if defined __x86_64__ || defined __powerpc64__ || defined __s390x__ || defined __ia64__ || defined __aarch64__ \ ++ /* || defined __i386__ || defined __powerpc__ || defined __s390__ */ ++#ifdef __i386__ ++#define ALIGN1 .align 4 ++#elif defined __x86_64__ ++#define ALIGN1 .align 32 ++#define ALIGN2 .align 16 ++#elif defined __ia64__ ++#define ALIGN1 .align 8 ++#define ALIGN3 .align 8 ++#define SECTION3(x).section .gnu.linkonce.s.x,"aws",@progbits ++#define POINTER data8 ++#define FLAGS data4 ++#define PAD .skip 4 ++#define STRING stringz ++#elif defined __powerpc64__ ++#define ALIGN1 .align 3 ++#define ALIGN3 .align 3 ++#elif defined __powerpc__ ++#define ALIGN1 .align 2 ++#define ALIGN3 .align 2 ++#define SECTION2(x).section .gnu.linkonce.s.x,"aw",@progbits ++#define SECTION3(x)SECTION2(x) ++#elif defined __aarch64__ ++#define ALIGN1 .align 3 ++#define ALIGN3 .align 3 ++#define POINTER .xword ++#define FLAGS .word ++#define OBJECT %object ++#elif defined __s390x__ ++#define ALIGN1 .align 8 ++#define ALIGN3 .align 2 ++#elif defined __s390__ ++#define ALIGN1 .align 4 ++#define ALIGN3 .align 2 ++#endif ++#if defined __x86_64__ || defined __powerpc64__ || defined __s390x__ || defined __ia64__ || defined __aarch64__ ++#define SIZE1 32 ++#define SIZE2 16 ++#define OFF 16 ++#ifndef POINTER ++#define POINTER .quad ++#endif ++#ifndef FLAGS ++#define FLAGS .long ++#endif ++#ifndef PAD ++#define PAD .zero 4 ++#endif ++#else ++#define SIZE1 16 ++#define SIZE2 8 ++#define OFF 8 ++#ifndef POINTER ++#define POINTER .long ++#endif ++#ifndef FLAGS ++#define FLAGS .long ++#endif ++#ifndef PAD ++#define PAD ++#endif ++#endif ++#ifndef SYM ++#define SYM(x)x ++#endif ++#ifndef ALIGN2 ++#define ALIGN2 ALIGN1 ++#endif ++#ifndef ALIGN3 ++#define ALIGN3 ++#endif ++#ifndef OBJECT ++#define OBJECT @object ++#endif ++#ifndef SECTION1 ++#define SECTION1(x).section .gnu.linkonce.d.rel.ro.x,"aw",@progbits ++#endif ++#ifndef SECTION2 ++#define SECTION2(x)SECTION1(x) ++#endif ++#ifndef SECTION3 ++#define SECTION3(x).section .gnu.linkonce.r.x,"a",@progbits ++#endif ++#ifndef STRING ++#define STRING .string ++#endif ++ ++ .weak SYM(_ZTSPKn) ++ SECTION3(_ZTSPKn) ++ ALIGN3 ++ .type SYM(_ZTSPKn), OBJECT ++ .size SYM(_ZTSPKn), 4 ++_ZTSPKn: ++ STRING "PKn" ++ .weak SYM(_ZTSPn) ++ SECTION3(_ZTSPn) ++ ALIGN3 ++ .type SYM(_ZTSPn), OBJECT ++ .size SYM(_ZTSPn), 3 ++_ZTSPn: ++ STRING "Pn" ++ .weak SYM(_ZTSn) ++ SECTION3(_ZTSn) ++ ALIGN3 ++ .type SYM(_ZTSn), OBJECT ++ .size SYM(_ZTSn), 2 ++_ZTSn: ++ STRING "n" ++ .weak SYM(_ZTSPKo) ++ SECTION3(_ZTSPKo) ++ ALIGN3 ++ .type SYM(_ZTSPKo), OBJECT ++ .size SYM(_ZTSPKo), 4 ++_ZTSPKo: ++ STRING "PKo" ++ .weak SYM(_ZTSPo) ++ SECTION3(_ZTSPo) ++ ALIGN3 ++ .type SYM(_ZTSPo), OBJECT ++ .size SYM(_ZTSPo), 3 ++_ZTSPo: ++ STRING "Po" ++ .weak SYM(_ZTSo) ++ SECTION3(_ZTSo) ++ ALIGN3 ++ .type SYM(_ZTSo), OBJECT ++ .size SYM(_ZTSo), 2 ++_ZTSo: ++ STRING "o" ++#endif ++ .section .note.GNU-stack,"",@progbits +diff --git a/libstdc++-v3/src/nonshared98/ios_failure.cc b/libstdc++-v3/src/nonshared98/ios_failure.cc +new file mode 100644 +index 000000000..23c69df08 +--- /dev/null ++++ b/libstdc++-v3/src/nonshared98/ios_failure.cc +@@ -0,0 +1,35 @@ ++// Copyright (C) 2019-2023 Free Software Foundation, Inc. ++// ++// This file is part of the GNU ISO C++ Library. This library is free ++// software; you can redistribute it and/or modify it under the ++// terms of the GNU General Public License as published by the ++// Free Software Foundation; either version 3, or (at your option) ++// any later version. ++ ++// This library is distributed in the hope that it will be useful, ++// but WITHOUT ANY WARRANTY; without even the implied warranty of ++// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the ++// GNU General Public License for more details. ++ ++// Under Section 7 of GPL version 3, you are granted additional ++// permissions described in the GCC Runtime Library Exception, version ++// 3.1, as published by the Free Software Foundation. ++ ++// You should have received a copy of the GNU General Public License and ++// a copy of the GCC Runtime Library Exception along with this program; ++// see the files COPYING3 and COPYING.RUNTIME respectively. If not, see ++// . ++ ++#include "../c++98/ios_failure.cc" ++asm (".hidden _ZNKSt8ios_base7failure4whatEv"); ++asm (".hidden _ZNSt8ios_base7failureC1ERKSs"); ++asm (".hidden _ZNSt8ios_base7failureC2ERKSs"); ++asm (".hidden _ZNSt8ios_base7failureD0Ev"); ++asm (".hidden _ZNSt8ios_base7failureD1Ev"); ++asm (".hidden _ZNSt8ios_base7failureD2Ev"); ++asm (".hidden _ZSt21__destroy_ios_failurePv"); ++asm (".hidden _ZSt23__construct_ios_failurePvPKc"); ++asm (".hidden _ZSt24__is_ios_failure_handlerPKN10__cxxabiv117__class_type_infoE"); ++asm (".hidden _ZTINSt8ios_base7failureE"); ++asm (".hidden _ZTSNSt8ios_base7failureE"); ++asm (".hidden _ZTVNSt8ios_base7failureE"); +diff --git a/libstdc++-v3/src/nonshared98/ios_failure80.cc b/libstdc++-v3/src/nonshared98/ios_failure80.cc +new file mode 100644 +index 000000000..22e7c128a +--- /dev/null ++++ b/libstdc++-v3/src/nonshared98/ios_failure80.cc +@@ -0,0 +1,27 @@ ++// Copyright (C) 2019-2023 Free Software Foundation, Inc. ++// ++// This file is part of the GNU ISO C++ Library. This library is free ++// software; you can redistribute it and/or modify it under the ++// terms of the GNU General Public License as published by the ++// Free Software Foundation; either version 3, or (at your option) ++// any later version. ++ ++// This library is distributed in the hope that it will be useful, ++// but WITHOUT ANY WARRANTY; without even the implied warranty of ++// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the ++// GNU General Public License for more details. ++ ++// Under Section 7 of GPL version 3, you are granted additional ++// permissions described in the GCC Runtime Library Exception, version ++// 3.1, as published by the Free Software Foundation. ++ ++// You should have received a copy of the GNU General Public License and ++// a copy of the GCC Runtime Library Exception along with this program; ++// see the files COPYING3 and COPYING.RUNTIME respectively. If not, see ++// . ++ ++#define _GLIBCXX_NONSHARED_CXX11_80 ++#include "../c++98/ios_failure.cc" ++asm (".hidden _ZSt21__destroy_ios_failurePv"); ++asm (".hidden _ZSt23__construct_ios_failurePvPKc"); ++asm (".hidden _ZSt24__is_ios_failure_handlerPKN10__cxxabiv117__class_type_infoE"); +diff --git a/libstdc++-v3/src/nonshared98/ios_init.cc b/libstdc++-v3/src/nonshared98/ios_init.cc +new file mode 100644 +index 000000000..173d4e62d +--- /dev/null ++++ b/libstdc++-v3/src/nonshared98/ios_init.cc +@@ -0,0 +1,38 @@ ++// Copyright (C) 1997-2023 Free Software Foundation, Inc. ++// ++// This file is part of the GNU ISO C++ Library. This library is free ++// software; you can redistribute it and/or modify it under the ++// terms of the GNU General Public License as published by the ++// Free Software Foundation; either version 3, or (at your option) ++// any later version. ++ ++// This library is distributed in the hope that it will be useful, ++// but WITHOUT ANY WARRANTY; without even the implied warranty of ++// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the ++// GNU General Public License for more details. ++ ++// Under Section 7 of GPL version 3, you are granted additional ++// permissions described in the GCC Runtime Library Exception, version ++// 3.1, as published by the Free Software Foundation. ++ ++// You should have received a copy of the GNU General Public License and ++// a copy of the GCC Runtime Library Exception along with this program; ++// see the files COPYING3 and COPYING.RUNTIME respectively. If not, see ++// . ++ ++// ++// ISO C++ 14882: 27.4 Iostreams base classes ++// ++ ++#include ++ ++namespace std _GLIBCXX_VISIBILITY(default) ++{ ++_GLIBCXX_BEGIN_NAMESPACE_VERSION ++ ++#include "../c++98/ios_base_init.h" ++ ++ void ios_base_library_init() {} ++ ++_GLIBCXX_END_NAMESPACE_VERSION ++} // namespace +diff --git a/libstdc++-v3/src/nonshared98/istream-string.cc b/libstdc++-v3/src/nonshared98/istream-string.cc +new file mode 100644 +index 000000000..d42155e0a +--- /dev/null ++++ b/libstdc++-v3/src/nonshared98/istream-string.cc +@@ -0,0 +1,23 @@ ++// Copyright (C) 2012-2023 Free Software Foundation, Inc. ++// ++// This file is part of the GNU ISO C++ Library. This library is free ++// software; you can redistribute it and/or modify it under the ++// terms of the GNU General Public License as published by the ++// Free Software Foundation; either version 3, or (at your option) ++// any later version. ++ ++// This library is distributed in the hope that it will be useful, ++// but WITHOUT ANY WARRANTY; without even the implied warranty of ++// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the ++// GNU General Public License for more details. ++ ++// Under Section 7 of GPL version 3, you are granted additional ++// permissions described in the GCC Runtime Library Exception, version ++// 3.1, as published by the Free Software Foundation. ++ ++// You should have received a copy of the GNU General Public License and ++// a copy of the GCC Runtime Library Exception along with this program; ++// see the files COPYING3 and COPYING.RUNTIME respectively. If not, see ++// . ++ ++#include "../c++98/istream-string.cc" +diff --git a/libstdc++-v3/src/nonshared98/locale.cc b/libstdc++-v3/src/nonshared98/locale.cc +new file mode 100644 +index 000000000..b7045c677 +--- /dev/null ++++ b/libstdc++-v3/src/nonshared98/locale.cc +@@ -0,0 +1,84 @@ ++// Copyright (C) 1997-2023 Free Software Foundation, Inc. ++// ++// This file is part of the GNU ISO C++ Library. This library is free ++// software; you can redistribute it and/or modify it under the ++// terms of the GNU General Public License as published by the ++// Free Software Foundation; either version 3, or (at your option) ++// any later version. ++ ++// This library is distributed in the hope that it will be useful, ++// but WITHOUT ANY WARRANTY; without even the implied warranty of ++// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the ++// GNU General Public License for more details. ++ ++// Under Section 7 of GPL version 3, you are granted additional ++// permissions described in the GCC Runtime Library Exception, version ++// 3.1, as published by the Free Software Foundation. ++ ++// You should have received a copy of the GNU General Public License and ++// a copy of the GCC Runtime Library Exception along with this program; ++// see the files COPYING3 and COPYING.RUNTIME respectively. If not, see ++// . ++ ++#define _GLIBCXX_USE_CXX11_ABI 1 ++#include ++ ++namespace __gnu_cxx _GLIBCXX_VISIBILITY(default) ++{ ++_GLIBCXX_BEGIN_NAMESPACE_VERSION ++ ++ const char* const category_names[6 + _GLIBCXX_NUM_CATEGORIES] = ++ { ++ "LC_CTYPE", ++ "LC_NUMERIC", ++ "LC_TIME", ++ "LC_COLLATE", ++ "LC_MONETARY", ++ "LC_MESSAGES", ++ "LC_PAPER", ++ "LC_NAME", ++ "LC_ADDRESS", ++ "LC_TELEPHONE", ++ "LC_MEASUREMENT", ++ "LC_IDENTIFICATION" ++ }; ++ ++_GLIBCXX_END_NAMESPACE_VERSION ++} // namespace ++ ++namespace std _GLIBCXX_VISIBILITY(default) ++{ ++_GLIBCXX_BEGIN_NAMESPACE_VERSION ++ ++ const char* const* const locale::_S_categories = __gnu_cxx::category_names; ++ ++ _GLIBCXX_DEFAULT_ABI_TAG ++ string ++ locale::name() const ++ { ++ string __ret; ++ if (!_M_impl->_M_names[0]) ++ __ret = '*'; ++ else if (_M_impl->_M_check_same_name()) ++ __ret = _M_impl->_M_names[0]; ++ else ++ { ++ __ret.reserve(128); ++ __ret += _S_categories[0]; ++ __ret += '='; ++ __ret += _M_impl->_M_names[0]; ++ for (size_t __i = 1; __i < _S_categories_size; ++__i) ++ { ++ __ret += ';'; ++ __ret += _S_categories[__i]; ++ __ret += '='; ++ __ret += _M_impl->_M_names[__i]; ++ } ++ } ++ return __ret; ++ } ++ ++_GLIBCXX_END_NAMESPACE_VERSION ++} // namespace ++ ++asm (".hidden _ZNSt6locale13_S_categoriesE"); +diff --git a/libstdc++-v3/src/nonshared98/locale_facets.cc b/libstdc++-v3/src/nonshared98/locale_facets.cc +new file mode 100644 +index 000000000..e026587fe +--- /dev/null ++++ b/libstdc++-v3/src/nonshared98/locale_facets.cc +@@ -0,0 +1,29 @@ ++// Copyright (C) 1997-2023 Free Software Foundation, Inc. ++// ++// This file is part of the GNU ISO C++ Library. This library is free ++// software; you can redistribute it and/or modify it under the ++// terms of the GNU General Public License as published by the ++// Free Software Foundation; either version 3, or (at your option) ++// any later version. ++ ++// This library is distributed in the hope that it will be useful, ++// but WITHOUT ANY WARRANTY; without even the implied warranty of ++// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the ++// GNU General Public License for more details. ++ ++// Under Section 7 of GPL version 3, you are granted additional ++// permissions described in the GCC Runtime Library Exception, version ++// 3.1, as published by the Free Software Foundation. ++ ++// You should have received a copy of the GNU General Public License and ++// a copy of the GCC Runtime Library Exception along with this program; ++// see the files COPYING3 and COPYING.RUNTIME respectively. If not, see ++// . ++ ++#define _GLIBCXX_NONSHARED_CXX11 ++#include "../c++98/locale_facets.cc" ++#if defined(__i386__) || (defined(__powerpc__) && !defined(__powerpc64__)) ++asm (".hidden _ZSt22__verify_grouping_implPKcjS0_j"); ++#else ++asm (".hidden _ZSt22__verify_grouping_implPKcmS0_m"); ++#endif +diff --git a/libstdc++-v3/src/nonshared98/locale_facets80.cc b/libstdc++-v3/src/nonshared98/locale_facets80.cc +new file mode 100644 +index 000000000..fcaacf522 +--- /dev/null ++++ b/libstdc++-v3/src/nonshared98/locale_facets80.cc +@@ -0,0 +1,24 @@ ++// Copyright (C) 1997-2023 Free Software Foundation, Inc. ++// ++// This file is part of the GNU ISO C++ Library. This library is free ++// software; you can redistribute it and/or modify it under the ++// terms of the GNU General Public License as published by the ++// Free Software Foundation; either version 3, or (at your option) ++// any later version. ++ ++// This library is distributed in the hope that it will be useful, ++// but WITHOUT ANY WARRANTY; without even the implied warranty of ++// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the ++// GNU General Public License for more details. ++ ++// Under Section 7 of GPL version 3, you are granted additional ++// permissions described in the GCC Runtime Library Exception, version ++// 3.1, as published by the Free Software Foundation. ++ ++// You should have received a copy of the GNU General Public License and ++// a copy of the GCC Runtime Library Exception along with this program; ++// see the files COPYING3 and COPYING.RUNTIME respectively. If not, see ++// . ++ ++#define _GLIBCXX_NONSHARED_CXX11_80 ++#include "../c++98/locale_facets.cc" +diff --git a/libstdc++-v3/src/nonshared98/messages_members.cc b/libstdc++-v3/src/nonshared98/messages_members.cc +new file mode 100644 +index 000000000..966df2d0a +--- /dev/null ++++ b/libstdc++-v3/src/nonshared98/messages_members.cc +@@ -0,0 +1,24 @@ ++// Copyright (C) 2012-2023 Free Software Foundation, Inc. ++// ++// This file is part of the GNU ISO C++ Library. This library is free ++// software; you can redistribute it and/or modify it under the ++// terms of the GNU General Public License as published by the ++// Free Software Foundation; either version 3, or (at your option) ++// any later version. ++ ++// This library is distributed in the hope that it will be useful, ++// but WITHOUT ANY WARRANTY; without even the implied warranty of ++// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the ++// GNU General Public License for more details. ++ ++// Under Section 7 of GPL version 3, you are granted additional ++// permissions described in the GCC Runtime Library Exception, version ++// 3.1, as published by the Free Software Foundation. ++ ++// You should have received a copy of the GNU General Public License and ++// a copy of the GCC Runtime Library Exception along with this program; ++// see the files COPYING3 and COPYING.RUNTIME respectively. If not, see ++// . ++ ++#define _GLIBCXX_USE_CXX11_ABI 1 ++#include "../c++98/messages_members.cc" +diff --git a/libstdc++-v3/src/nonshared98/misc-inst.cc b/libstdc++-v3/src/nonshared98/misc-inst.cc +new file mode 100644 +index 000000000..9ded7c66e +--- /dev/null ++++ b/libstdc++-v3/src/nonshared98/misc-inst.cc +@@ -0,0 +1,23 @@ ++// Copyright (C) 1997-2023 Free Software Foundation, Inc. ++// ++// This file is part of the GNU ISO C++ Library. This library is free ++// software; you can redistribute it and/or modify it under the ++// terms of the GNU General Public License as published by the ++// Free Software Foundation; either version 3, or (at your option) ++// any later version. ++ ++// This library is distributed in the hope that it will be useful, ++// but WITHOUT ANY WARRANTY; without even the implied warranty of ++// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the ++// GNU General Public License for more details. ++ ++// Under Section 7 of GPL version 3, you are granted additional ++// permissions described in the GCC Runtime Library Exception, version ++// 3.1, as published by the Free Software Foundation. ++ ++// You should have received a copy of the GNU General Public License and ++// a copy of the GCC Runtime Library Exception along with this program; ++// see the files COPYING3 and COPYING.RUNTIME respectively. If not, see ++// . ++ ++#include "../c++98/misc-inst.cc" +diff --git a/libstdc++-v3/src/nonshared98/monetary_members.cc b/libstdc++-v3/src/nonshared98/monetary_members.cc +new file mode 100644 +index 000000000..06cbb3dc3 +--- /dev/null ++++ b/libstdc++-v3/src/nonshared98/monetary_members.cc +@@ -0,0 +1,24 @@ ++// Copyright (C) 2012-2023 Free Software Foundation, Inc. ++// ++// This file is part of the GNU ISO C++ Library. This library is free ++// software; you can redistribute it and/or modify it under the ++// terms of the GNU General Public License as published by the ++// Free Software Foundation; either version 3, or (at your option) ++// any later version. ++ ++// This library is distributed in the hope that it will be useful, ++// but WITHOUT ANY WARRANTY; without even the implied warranty of ++// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the ++// GNU General Public License for more details. ++ ++// Under Section 7 of GPL version 3, you are granted additional ++// permissions described in the GCC Runtime Library Exception, version ++// 3.1, as published by the Free Software Foundation. ++ ++// You should have received a copy of the GNU General Public License and ++// a copy of the GCC Runtime Library Exception along with this program; ++// see the files COPYING3 and COPYING.RUNTIME respectively. If not, see ++// . ++ ++#define _GLIBCXX_USE_CXX11_ABI 1 ++#include "../c++98/monetary_members.cc" +diff --git a/libstdc++-v3/src/nonshared98/numeric_members.cc b/libstdc++-v3/src/nonshared98/numeric_members.cc +new file mode 100644 +index 000000000..fa5cf1f91 +--- /dev/null ++++ b/libstdc++-v3/src/nonshared98/numeric_members.cc +@@ -0,0 +1,24 @@ ++// Copyright (C) 2012-2023 Free Software Foundation, Inc. ++// ++// This file is part of the GNU ISO C++ Library. This library is free ++// software; you can redistribute it and/or modify it under the ++// terms of the GNU General Public License as published by the ++// Free Software Foundation; either version 3, or (at your option) ++// any later version. ++ ++// This library is distributed in the hope that it will be useful, ++// but WITHOUT ANY WARRANTY; without even the implied warranty of ++// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the ++// GNU General Public License for more details. ++ ++// Under Section 7 of GPL version 3, you are granted additional ++// permissions described in the GCC Runtime Library Exception, version ++// 3.1, as published by the Free Software Foundation. ++ ++// You should have received a copy of the GNU General Public License and ++// a copy of the GCC Runtime Library Exception along with this program; ++// see the files COPYING3 and COPYING.RUNTIME respectively. If not, see ++// . ++ ++#define _GLIBCXX_USE_CXX11_ABI 1 ++#include "../c++98/numeric_members.cc" +diff --git a/libstdc++-v3/src/nonshared98/numeric_members_cow.cc b/libstdc++-v3/src/nonshared98/numeric_members_cow.cc +new file mode 100644 +index 000000000..aeeaba246 +--- /dev/null ++++ b/libstdc++-v3/src/nonshared98/numeric_members_cow.cc +@@ -0,0 +1,33 @@ ++// Copyright (C) 2012-2023 Free Software Foundation, Inc. ++// ++// This file is part of the GNU ISO C++ Library. This library is free ++// software; you can redistribute it and/or modify it under the ++// terms of the GNU General Public License as published by the ++// Free Software Foundation; either version 3, or (at your option) ++// any later version. ++ ++// This library is distributed in the hope that it will be useful, ++// but WITHOUT ANY WARRANTY; without even the implied warranty of ++// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the ++// GNU General Public License for more details. ++ ++// Under Section 7 of GPL version 3, you are granted additional ++// permissions described in the GCC Runtime Library Exception, version ++// 3.1, as published by the Free Software Foundation. ++ ++// You should have received a copy of the GNU General Public License and ++// a copy of the GCC Runtime Library Exception along with this program; ++// see the files COPYING3 and COPYING.RUNTIME respectively. If not, see ++// . ++ ++#define _GLIBCXX_USE_CXX11_ABI 0 ++#include "../c++98/numeric_members.cc" ++asm (".hidden _ZNSt8numpunctIcE22_M_initialize_numpunctEP15__locale_struct"); ++asm (".hidden _ZNSt8numpunctIcED0Ev"); ++asm (".hidden _ZNSt8numpunctIcED1Ev"); ++asm (".hidden _ZNSt8numpunctIcED2Ev"); ++asm (".hidden _ZNSt8numpunctIwE22_M_initialize_numpunctEP15__locale_struct"); ++asm (".hidden _ZNSt8numpunctIwED0Ev"); ++asm (".hidden _ZNSt8numpunctIwED1Ev"); ++asm (".hidden _ZNSt8numpunctIwED2Ev"); ++asm (".hidden _ZSt24__narrow_multibyte_charsPKcP15__locale_struct"); +diff --git a/libstdc++-v3/src/nonshared98/snprintf_lite-inst.cc b/libstdc++-v3/src/nonshared98/snprintf_lite-inst.cc +new file mode 100644 +index 000000000..39e9602a2 +--- /dev/null ++++ b/libstdc++-v3/src/nonshared98/snprintf_lite-inst.cc +@@ -0,0 +1,41 @@ ++// Copyright (C) 2012-2023 Free Software Foundation, Inc. ++// ++// This file is part of the GNU ISO C++ Library. This library is free ++// software; you can redistribute it and/or modify it under the ++// terms of the GNU General Public License as published by the ++// Free Software Foundation; either version 3, or (at your option) ++// any later version. ++ ++// This library is distributed in the hope that it will be useful, ++// but WITHOUT ANY WARRANTY; without even the implied warranty of ++// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the ++// GNU General Public License for more details. ++ ++// Under Section 7 of GPL version 3, you are granted additional ++// permissions described in the GCC Runtime Library Exception, version ++// 3.1, as published by the Free Software Foundation. ++ ++// You should have received a copy of the GNU General Public License and ++// a copy of the GCC Runtime Library Exception along with this program; ++// see the files COPYING3 and COPYING.RUNTIME respectively. If not, see ++// . ++ ++#include ++ ++namespace std _GLIBCXX_VISIBILITY(default) ++{ ++ template ++ int ++ __int_to_char(char*, ++#ifdef _GLIBCXX_USE_LONG_LONG ++ unsigned long long, ++#else ++ unsigned long, ++#endif ++ const char*, ios_base::fmtflags, bool); ++} ++#ifdef _GLIBCXX_USE_LONG_LONG ++asm (".hidden _ZSt13__int_to_charIcyEiPT_T0_PKS0_St13_Ios_Fmtflagsb"); ++#else ++asm (".hidden _ZSt13__int_to_charIcmEiPT_T0_PKS0_St13_Ios_Fmtflagsb"); ++#endif +diff --git a/libstdc++-v3/testsuite/experimental/simd/driver.sh b/libstdc++-v3/testsuite/experimental/simd/driver.sh +old mode 100755 +new mode 100644 +diff --git a/libstdc++-v3/testsuite/experimental/simd/generate_makefile.sh b/libstdc++-v3/testsuite/experimental/simd/generate_makefile.sh +old mode 100755 +new mode 100644 +-- +2.43.0 + diff --git a/GCC14-1002-change-gcc-version.patch b/GCC14-1002-change-gcc-version.patch new file mode 100644 index 0000000000000000000000000000000000000000..7e8c991704c3ca87794ca7c8ecce202f11188967 --- /dev/null +++ b/GCC14-1002-change-gcc-version.patch @@ -0,0 +1,10 @@ +diff --git a/gcc/BASE-VER b/gcc/BASE-VER +index 07ea9fa43..dab6a80f4 100644 +--- a/gcc/BASE-VER ++++ b/gcc/BASE-VER +@@ -1 +1 @@ +-14.2.0 ++14.2.1 +-- +2.43.0 + diff --git a/gcc-14.2.0.tar.xz b/gcc-14.2.0.tar.xz new file mode 100644 index 0000000000000000000000000000000000000000..89e6b270fa1d51677b20483e4ff93e6b8e7d0f5d Binary files /dev/null and b/gcc-14.2.0.tar.xz differ diff --git a/gcc-14.spec b/gcc-14.spec new file mode 100644 index 0000000000000000000000000000000000000000..cdca8e3a103c1dbe70394a3c7220e0756535cbbb --- /dev/null +++ b/gcc-14.spec @@ -0,0 +1,2247 @@ +%global scl 1 +%global vendor %{?_vendor:%{_vendor}}%{!?_vendor:openEuler} + +%global gcc_major 14 + +%global _unpackaged_files_terminate_build 0 +%global _performance_build 1 +# Hardening slows the compiler way too much. +%undefine _hardened_build +%undefine _annotated_build + +%if 0%{?scl:1} +%global _scl_prefix gcc-toolset-14- +%global _scl_path /opt/%{vendor}/gcc-toolset-14 +%global _scl_root /opt/%{vendor}/gcc-toolset-14/root +%global _prefix %{_scl_root}/usr +%global _bindir %{_prefix}/bin +%global gcc_ver %{nil} +%define binsuffix %{nil} +%define __provides_exclude ^lib.*$ +%global _root_infodir /usr/share/info +%global _root_prefix /usr +%global _root_sysconfdir /etc +%global _enable_debug_packages 0 +%endif + +%global multilib_64_archs sparc64 ppc64 ppc64p7 + +%global build_ada 0 +%global build_objc 0 +%global build_go 0 +%global build_d 0 + +%ifarch %{ix86} x86_64 ia64 ppc ppc64 ppc64le +%global build_libquadmath 1 +%else +%global build_libquadmath 0 +%endif +%ifarch %{ix86} x86_64 ppc ppc64 ppc64le ppc64p7 s390 s390x %{arm} aarch64 riscv64 +%global build_libasan 1 +%else +%global build_libasan 0 +%endif +%ifarch x86_64 aarch64 +%global build_libhwasan 1 +%else +%global build_libhwasan 0 +%endif +%ifarch x86_64 ppc64 ppc64le aarch64 s390x riscv64 +%global build_libtsan 1 +%else +%global build_libtsan 0 +%endif +%ifarch x86_64 ppc64 ppc64le aarch64 s390x riscv64 +%global build_liblsan 1 +%else +%global build_liblsan 0 +%endif +%ifarch %{ix86} x86_64 ppc ppc64 ppc64le ppc64p7 s390 s390x %{arm} aarch64 riscv64 +%global build_libubsan 1 +%else +%global build_libubsan 0 +%endif +%ifarch %{ix86} x86_64 ppc ppc64 ppc64le ppc64p7 s390 s390x %{arm} aarch64 %{mips} riscv64 +%global build_libatomic 1 +%else +%global build_libatomic 0 +%endif +%ifarch %{ix86} x86_64 %{arm} alpha ppc ppc64 ppc64le ppc64p7 s390 s390x aarch64 riscv64 +%global build_libitm 1 +%else +%global build_libitm 0 +%endif +%global build_libstdcxx_docs 0 +%ifarch %{ix86} x86_64 ppc ppc64 ppc64le ppc64p7 s390 s390x %{arm} aarch64 %{mips} riscv64 +%global attr_ifunc 1 +%else +%global attr_ifunc 0 +%endif +%ifarch sparc64 +%global multilib_32_arch sparcv9 +%endif +%ifarch ppc64 ppc64p7 +%global multilib_32_arch ppc +%endif +%ifarch x86_64 +%global multilib_32_arch i686 +%endif + +Summary: Various compilers (C, C++, Objective-C, ...) +Name: %{?_scl_prefix}gcc%{gcc_ver} +Version: 14.2.1 +Release: 1 +# libgcc, libgfortran, libgomp, libstdc++ and crtstuff have +# GCC Runtime Exception. +License: GPLv3+ and GPLv3+ with exceptions and GPLv2+ with exceptions and LGPLv2+ and BSD +ExcludeArch: loongarch64 +Source0: https://ftp.gnu.org/gnu/gcc/gcc-14.2.0/gcc-14.2.0.tar.xz +URL: http://gcc.gnu.org + + +BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n) +BuildRequires: binutils >= 2.31 +BuildRequires: glibc-headers +BuildRequires: libtool, zlib-devel, texinfo, gettext, flex, bison, sharutils +BuildRequires: gmp-devel >= 4.1.2, mpfr-devel >= 3.1.0, libmpc-devel >= 0.8.1, isl-devel >= 0.15.0 +BuildRequires: gcc, gcc-c++, make, chrpath +BuildRequires: gdb +BuildRequires: glibc-devel >= 2.17 +%ifarch %{multilib_64_archs} sparcv9 ppc +# Ensure glibc{,-devel} is installed for both multilib arches +BuildRequires: /lib/libc.so.6 /usr/lib/libc.so /lib64/libc.so.6 /usr/lib64/libc.so +%endif +%ifarch ia64 +BuildRequires: libunwind >= 0.98 +%endif +Requires: binutils >= 2.31 +Conflicts: gdb < 5.1-2 +Requires: glibc-devel >= 2.17 +%if %{build_libstdcxx_docs} +BuildRequires: libxml2 +BuildRequires: graphviz +BuildRequires: doxygen >= 1.7.1 +BuildRequires: dblatex, texlive-collection-latex, docbook-style-xsl +%endif + +%if %{build_libasan} +Requires: %{?_scl_prefix}libasan%{gcc_ver} = %{version}-%{release} +%endif +Requires: libgcc >= 4.1.2-43 +Requires: libgomp >= 4.4.4-13 +# lto-wrapper invokes make +Requires: make +AutoReq: true +# Various libraries are imported. #1859893 asks us to list them all. +Provides: %{?_scl_prefix}gcc%{gcc_ver}(major) = %{gcc_major} + +%global oformat %{nil} +%global oformat2 %{nil} +%ifarch %{ix86} +%global oformat OUTPUT_FORMAT(elf32-i386) +%endif +%ifarch x86_64 +%global oformat OUTPUT_FORMAT(elf64-x86-64) +%global oformat2 OUTPUT_FORMAT(elf32-i386) +%endif +%ifarch ppc +%global oformat OUTPUT_FORMAT(elf32-powerpc) +%global oformat2 OUTPUT_FORMAT(elf64-powerpc) +%endif +%ifarch ppc64 +%global oformat OUTPUT_FORMAT(elf64-powerpc) +%global oformat2 OUTPUT_FORMAT(elf32-powerpc) +%endif +%ifarch s390 +%global oformat OUTPUT_FORMAT(elf32-s390) +%endif +%ifarch s390x +%global oformat OUTPUT_FORMAT(elf64-s390) +%global oformat2 OUTPUT_FORMAT(elf32-s390) +%endif +%ifarch ia64 +%global oformat OUTPUT_FORMAT(elf64-ia64-little) +%endif +%ifarch ppc64le +%global oformat OUTPUT_FORMAT(elf64-powerpcle) +%endif +%ifarch aarch64 +%global oformat OUTPUT_FORMAT(elf64-littleaarch64) +%endif + +Patch1001: GCC14-1001-libstdc++-compat.patch +Patch1002: GCC14-1002-change-gcc-version.patch +# On ARM EABI systems, we do want -gnueabi to be part of the +# target triple. +%global nonsharedver 48 +%ifnarch %{arm} +%global _gnu %{nil} +%else +%global _gnu -gnueabi +%endif +%ifarch sparcv9 +%global gcc_target_platform sparc64-%{_vendor}-%{_target_os} +%endif +%ifarch ppc ppc64p7 +%global gcc_target_platform ppc64-%{_vendor}-%{_target_os} +%endif +%ifnarch sparcv9 ppc ppc64p7 +%global gcc_target_platform %{_target_platform} +%endif + +%description +The %{?_scl_prefix}gcc%{!?scl:14} package contains the GNU Compiler Collection version 14. + +%package -n %{?_scl_prefix}libgcc%{gcc_ver} +Summary: GCC version 14 shared support library +Autoreq: false + +%description -n %{?_scl_prefix}libgcc%{gcc_ver} +This package contains GCC shared support library which is needed +e.g. for exception handling support. + +%package -n %{?_scl_prefix}c++%{gcc_ver} +Summary: C++ support for GCC +Requires: %{?_scl_prefix}gcc%{gcc_ver} = %{version}-%{release} +Requires: %{?_scl_prefix}libstdc++%{gcc_ver}-devel = %{version}-%{release} +Provides: %{?_scl_prefix}gcc-g++%{gcc_ver} = %{version}-%{release} +Provides: %{?_scl_prefix}g++%{gcc_ver} = %{version}-%{release} +Autoreq: true + +%description -n %{?_scl_prefix}c++%{gcc_ver} +This package adds C++ support to the GNU Compiler Collection +version 14. It includes support for most of the current C++ specification +and a lot of support for the upcoming C++ specification. + + +%package -n %{?_scl_prefix}libstdc++%{gcc_ver} +Summary: GNU Standard C++ Library +Autoreq: true + +%description -n %{?_scl_prefix}libstdc++%{gcc_ver} +The libstdc++ package contains a rewritten standard compliant GCC Standard +C++ Library. + +%package -n %{?_scl_prefix}libstdc++%{gcc_ver}-devel +Summary: Header files and libraries for C++ development +Requires: %{?_scl_prefix}libstdc++%{gcc_ver}-devel = %{version}-%{release} +Autoreq: true + +%description -n %{?_scl_prefix}libstdc++%{gcc_ver}-devel +This is the GNU implementation of the standard C++ libraries. This +package includes the header files and libraries needed for C++ +development. This includes rewritten implementation of STL. + +%package -n %{?_scl_prefix}libstdc++%{gcc_ver}-docs +Summary: Documentation for the GNU standard C++ library +Autoreq: true + +%description -n %{?_scl_prefix}libstdc++%{gcc_ver}-docs +Manual, doxygen generated API information and Frequently Asked Questions +for the GNU standard C++ library. + +%package objc +Summary: Objective-C support for GCC +Requires: %{?_scl_prefix}gcc%{gcc_ver} = %{version}-%{release} +Requires: %{?_scl_prefix}libobjc%{gcc_ver} = %{version}-%{release} +Autoreq: true + +%description objc +gcc-objc provides Objective-C support for the GCC. +Mainly used on systems running NeXTSTEP, Objective-C is an +object-oriented derivative of the C language. + +%package objc++ +Summary: Objective-C++ support for GCC +Requires: %{?_scl_prefix}gcc%{gcc_ver}-c++ = %{version}-%{release} +Requires: %{?_scl_prefix}gcc%{gcc_ver}-objc = %{version}-%{release} +Autoreq: true + +%description objc++ +gcc-objc++ package provides Objective-C++ support for the GCC. + +%package -n %{?_scl_prefix}libobjc%{gcc_ver} +Summary: Objective-C runtime +Autoreq: true + +%description -n %{?_scl_prefix}libobjc%{gcc_ver} +This package contains Objective-C shared library which is needed to run +Objective-C dynamically linked programs. + +%package -n %{?_scl_prefix}gfortran%{gcc_ver} +Summary: Fortran support for GCC 14 +Requires: %{?_scl_prefix}gcc%{gcc_ver} = %{version}-%{release} +%if %{build_libquadmath} +Requires: %{?_scl_prefix}libquadmath%{gcc_ver}-devel = %{version}-%{release} +%endif +Autoreq: true + +%description -n %{?_scl_prefix}gfortran%{gcc_ver} +This package provides support for compiling Fortran programs +with the GNU Compiler Collection. + +%package -n %{?_scl_prefix}libgfortran%{gcc_ver}-devel +Summary: Static Fortran libraries +Requires: %{?_scl_prefix}gcc%{gcc_ver} = %{version}-%{release} +%if %{build_libquadmath} +%if 0%{!?scl:1} +Requires: libquadmath +%endif +Requires: %{?_scl_prefix}libquadmath%{gcc_ver}-devel = %{version}-%{release} +%endif + +%description -n %{?_scl_prefix}libgfortran%{gcc_ver}-devel +This package contains static Fortran libraries. +%if %{build_libquadmath} +Requires: %{?_scl_prefix}libquadmath%{gcc_ver}-devel = %{version}-%{release} +%endif +Autoreq: true + +%package gdb-plugin +Summary: GCC 14 plugin for GDB +Requires: %{?_scl_prefix}gcc%{gcc_ver} = %{version}-%{release} + +%description gdb-plugin +This package contains GCC 14 plugin for GDB C expression evaluation. + +%package -n %{?_scl_prefix}libgccjit%{gcc_ver} +Summary: Library for embedding GCC inside programs and libraries +Requires: %{?_scl_prefix}gcc%{gcc_ver} = %{version}-%{release} + +%description -n %{?_scl_prefix}libgccjit%{gcc_ver} +This package contains shared library with GCC 14 JIT front-end. + +%package -n %{?_scl_prefix}libgccjit%{gcc_ver}-devel +Summary: Support for embedding GCC inside programs and libraries +BuildRequires: python3-sphinx +Requires: %{?_scl_prefix}libgccjit%{gcc_ver} = %{version}-%{release} +Requires(post): /sbin/install-info +Requires(preun): /sbin/install-info + +%description -n %{?_scl_prefix}libgccjit%{gcc_ver}-devel +This package contains header files for GCC 14 JIT front end. + +Requires: %{?_scl_prefix}libgccjit%{gcc_ver} = %{version}-%{release} + +%package -n %{?_scl_prefix}libquadmath%{gcc_ver} +Summary: GCC 14 __float128 shared support library +Requires(post): /sbin/install-info +Requires(preun): /sbin/install-info + +%description -n %{?_scl_prefix}libquadmath%{gcc_ver} +This package contains GCC shared support library which is needed +for __float128 math support and for Fortran REAL*16 support. + +%package -n %{?_scl_prefix}libquadmath%{gcc_ver}-devel +Summary: GCC 14 __float128 support +Requires: libquadmath +Requires: %{?_scl_prefix}gcc%{gcc_ver} = %{version}-%{release} + +%description -n %{?_scl_prefix}libquadmath%{gcc_ver}-devel +This package contains headers for building Fortran programs using +REAL*16 and programs using __float128 math. + + +%package -n %{?_scl_prefix}libitm%{gcc_ver} +Summary: The GNU Transactional Memory library +Requires(post): /sbin/install-info +Requires(preun): /sbin/install-info +%description -n %{?_scl_prefix}libitm%{gcc_ver} +This package contains the GNU Transactional Memory library +which is a GCC transactional memory support runtime library. + +%package -n %{?_scl_prefix}libitm%{gcc_ver}-devel +Summary: The GNU Transactional Memory support + +Requires: %{?_scl_prefix}gcc%{gcc_ver} = %{version}-%{release} + +%description -n %{?_scl_prefix}libitm%{gcc_ver}-devel +This package contains headers and support files for the +GNU Transactional Memory library. + +%package -n %{?_scl_prefix}plugin%{gcc_ver}-devel +Summary: Support for compiling GCC plugins +Requires: %{?_scl_prefix}gcc%{gcc_ver} = %{version}-%{release} +Requires: gmp-devel >= 4.3.2 +Requires: mpfr-devel >= 3.1.0 +Requires: libmpc-devel >= 0.8.1 + +%description -n %{?_scl_prefix}plugin%{gcc_ver}-devel +This package contains header files and other support files +for compiling GCC 14 plugins. The GCC plugin ABI is currently +not stable, so plugins must be rebuilt any time GCC is updated. + +%package -n %{?_scl_prefix}libatomic%{gcc_ver} +Summary: The GNU Atomic library +Requires(post): /sbin/install-info +Requires(preun): /sbin/install-info + +%description -n %{?_scl_prefix}libatomic%{gcc_ver} +This package contains the GNU Atomic library +which is a GCC support runtime library for atomic operations not supported +by hardware. + +%package -n %{?_scl_prefix}libatomic%{gcc_ver}-devel +Summary: The GNU Atomic static library +%description -n %{?_scl_prefix}libatomic%{gcc_ver}-devel +This package contains GNU Atomic static libraries. + +%package -n %{?_scl_prefix}libasan%{gcc_ver} +Summary: The Address Sanitizer runtime library + +%description -n %{?_scl_prefix}libasan%{gcc_ver} +This package contains the Address Sanitizer library +which is used for -fsanitize=address instrumented programs. + +%package -n %{?_scl_prefix}libasan%{gcc_ver}-devel +Summary: The Address Sanitizer static library +Requires: %{?_scl_prefix}libasan%{gcc_ver} = %{version}-%{release} + +%description -n %{?_scl_prefix}libasan%{gcc_ver}-devel +This package contains Address Sanitizer static runtime library. + +%package -n %{?_scl_prefix}libhwasan%{gcc_ver} +Summary: The Hardware-assisted Address Sanitizer runtime library + +%description -n %{?_scl_prefix}libhwasan%{gcc_ver} +This package contains the Hardware-assisted Address Sanitizer library +which is used for -fsanitize=hwaddress instrumented programs. + +%package -n %{?_scl_prefix}libhwasan%{gcc_ver}-devel +Summary: The Hardware-assisted Address Sanitizer static library +Requires: %{?_scl_prefix}libhwasan%{gcc_ver} = %{version}-%{release} + +%description -n %{?_scl_prefix}libhwasan%{gcc_ver}-devel +This package contains Hardware-assisted Address Sanitizer static runtime +library. + +%package -n %{?_scl_prefix}libtsan%{gcc_ver} +Summary: The Thread Sanitizer runtime library + +%description -n %{?_scl_prefix}libtsan%{gcc_ver} +This package contains the Thread Sanitizer library +which is used for -fsanitize=thread instrumented programs. + +%package -n %{?_scl_prefix}libtsan%{gcc_ver}-devel +Summary: The Thread Sanitizer static library +Requires: %{?_scl_prefix}libtsan%{gcc_ver} = %{version}-%{release} + +%description -n %{?_scl_prefix}libtsan%{gcc_ver}-devel +This package contains Thread Sanitizer static runtime library. + +%package -n %{?_scl_prefix}libubsan%{gcc_ver} +Summary: The Undefined Behavior Sanitizer runtime library + +%description -n %{?_scl_prefix}libubsan%{gcc_ver} +This package contains the Undefined Behavior Sanitizer library +which is used for -fsanitize=undefined instrumented programs. + +%package -n %{?_scl_prefix}libubsan%{gcc_ver}-devel +Summary: The Undefined Behavior Sanitizer static library +Requires: %{?_scl_prefix}libubsan%{gcc_ver} = %{version}-%{release} + +%description -n %{?_scl_prefix}libubsan%{gcc_ver}-devel +This package contains Undefined Behavior Sanitizer static runtime library. + +%package -n %{?_scl_prefix}liblsan%{gcc_ver} +Summary: The Leak Sanitizer runtime library +Requires(post): /sbin/install-info +Requires(preun): /sbin/install-info + +%description -n %{?_scl_prefix}liblsan%{gcc_ver} +This package contains the Leak Sanitizer library +which is used for -fsanitize=leak instrumented programs. + +%package -n %{?_scl_prefix}liblsan%{gcc_ver}-devel +Summary: The Leak Sanitizer static library +Requires: %{?_scl_prefix}liblsan%{gcc_ver} = %{version}-%{release} + +%description -n %{?_scl_prefix}liblsan%{gcc_ver}-devel +This package contains Leak Sanitizer static runtime library. + +%prep +%autosetup -p1 -n gcc-14.2.0 + +echo '%{vendor} %{version}-%{release}' > gcc/DEV-PHASE + +# Default to -gdwarf-4 rather than -gdwarf-5 +sed -i '/UInteger Var(dwarf_version)/s/Init(5)/Init(4)/' gcc/common.opt +sed -i 's/\(version for most targets is \)5 /\14 /' gcc/doc/invoke.texi + +cp -a libstdc++-v3/config/cpu/i{4,3}86/atomicity.h + +./contrib/gcc_update --touch + +LC_ALL=C sed -i -e 's/\xa0/ /' gcc/doc/options.texi + +sed -i -e 's/Common Driver Var(flag_report_bug)/& Init(1)/' gcc/common.opt +sed -i -e 's/context->report_bug = false;/context->report_bug = true;/' gcc/diagnostic.cc + + +%build + +export CONFIG_SITE=NONE + +CC=gcc +CXX=g++ +OPT_FLAGS="%{optflags}" +OPT_FLAGS=`echo $OPT_FLAGS|sed -e 's/-Wp,-U_FORTIFY_SOURCE,-D_FORTIFY_SOURCE=[123]//g'` +OPT_FLAGS=`echo $OPT_FLAGS|sed -e 's/\(-Wp,\)\?-D_FORTIFY_SOURCE=[123]//g'` +OPT_FLAGS=`echo $OPT_FLAGS|sed -e 's/\(-Wp,\)\?-U_FORTIFY_SOURCE//g'` +OPT_FLAGS=`echo $OPT_FLAGS|sed -e 's/-flto=auto//g;s/-flto//g;s/-ffat-lto-objects//g'` +OPT_FLAGS=`echo $OPT_FLAGS|sed -e 's/-m64//g;s/-m32//g;s/-m31//g'` +OPT_FLAGS=`echo $OPT_FLAGS|sed -e 's/-mfpmath=sse/-mfpmath=sse -msse2/g'` +OPT_FLAGS=`echo $OPT_FLAGS|sed -e 's/ -pipe / /g'` +OPT_FLAGS=`echo $OPT_FLAGS|sed -e 's/-fno-omit-frame-pointer//g;s/-mbackchain//g;s/-mno-omit-leaf-frame-pointer//g'` +OPT_FLAGS=`echo $OPT_FLAGS|sed -e 's/-Werror=format-security/ /g'` +%ifarch sparc +OPT_FLAGS=`echo $OPT_FLAGS|sed -e 's/-mcpu=ultrasparc/-mtune=ultrasparc/g;s/-mcpu=v[78]//g'` +%endif +%ifarch %{ix86} +OPT_FLAGS=`echo $OPT_FLAGS|sed -e 's/-march=i.86//g'` +%endif +OPT_FLAGS=`echo "$OPT_FLAGS" | sed -e 's/[[:blank:]]\+/ /g'` +case "$OPT_FLAGS" in + *-fasynchronous-unwind-tables*) + sed -i -e 's/-fno-exceptions /-fno-exceptions -fno-asynchronous-unwind-tables /' \ + libgcc/Makefile.in + ;; +esac + +rm -rf obj-%{gcc_target_platform} +mkdir obj-%{gcc_target_platform} +cd obj-%{gcc_target_platform} + +%if %{build_objc} +enablelobjc=,objc,obj-c++ +%endif +%if %{build_go} +enablelgo=,go +%endif +%if %{build_d} +enableld=,d +%endif + +CONFIGURE_OPTS="\ + --prefix=%{_prefix} --mandir=%{_mandir} --infodir=%{_infodir} \ + --with-bugurl=https://gitee.com/src-openeuler/gcc-14/issues \ + --enable-shared --enable-threads=posix --enable-checking=release --with-isl \ +%ifarch aarch64 riscv64 + --enable-multilib \ +%else + --disable-multilib \ +%endif + --with-system-zlib --enable-__cxa_atexit --disable-libunwind-exceptions \ + --enable-gnu-unique-object --enable-linker-build-id --with-gcc-major-version-only \ + --enable-libstdcxx-backtrace \ +%ifnarch %{mips} + --with-linker-hash-style=gnu \ +%endif + --enable-plugin --enable-initfini-array \ +%if %{attr_ifunc} + --enable-gnu-indirect-function \ +%endif +%ifarch %{arm} + --disable-sjlj-exceptions \ +%endif +%ifarch aarch64 + --with-multilib-list=lp64 \ +%endif +%ifarch %{ix86} x86_64 + --enable-cet \ + --with-tune=generic \ +%endif +%ifarch %{ix86} + --with-arch=x86-64 \ +%endif +%ifarch x86_64 + --with-arch_64=x86-64-v2 \ +%endif +%ifarch riscv64 + --with-arch=rv64gc --with-abi=lp64d --disable-libquadmath \ +%endif +%ifnarch sparc sparcv9 ppc + --build=%{gcc_target_platform} \ +%endif +%if 0%{?scl:1} + --program-suffix=%{binsuffix} +%endif + " + +# Add Secure Compilation Options +OPT_FLAGS="$OPT_FLAGS -O2 -Wp,-D_FORTIFY_SOURCE=2 -fstack-protector-strong -fPIE -Wl,-z,relro,-z,now" +OPT_LDFLAGS="$OPT_LDFLAGS -Wl,-z,relro,-z,now" + +# Disable bootstrap for saving compilation time +export extra_ldflags_libobjc="-Wl,-z,relro,-z,now" +export FCFLAGS="$OPT_FLAGS" +CC="$CC" CXX="$CXX" \ + CFLAGS="$OPT_FLAGS" \ + CXXFLAGS="`echo " $OPT_FLAGS " | sed 's/ -Wall / /g;s/ -fexceptions / /g' \ + | sed 's/ -Wformat-security / -Wformat -Wformat-security /'`" \ + LDFLAGS="$OPT_LDFLAGS" \ + CFLAGS_FOR_TARGET="$OPT_FLAGS" \ + CXXFLAGS_FOR_TARGET="$OPT_FLAGS" \ + XCFLAGS="$OPT_FLAGS" TCFLAGS="$OPT_FLAGS" GCJFLAGS="$OPT_FLAGS" \ + ../configure --disable-bootstrap --without-cloog\ + --enable-languages=c,c++,fortran${enablelobjc}${enablelada}${enablelgo}${enableld},lto \ + $CONFIGURE_OPTS + +%ifarch sparc sparcv9 sparc64 +make %{?_smp_mflags} BOOT_CFLAGS="$OPT_FLAGS" LDFLAGS_FOR_TARGET=-Wl,-z,relro,-z,now +%else +make %{?_smp_mflags} BOOT_CFLAGS="$OPT_FLAGS" LDFLAGS_FOR_TARGET=-Wl,-z,relro,-z,now +%endif + +echo '/* GNU ld script + Use the shared library, but some functions are only in + the static library, so try that secondarily. */ +%{oformat} +INPUT ( %{?scl:%{_root_prefix}}%{!?scl:%{_prefix}}/%{_lib}/libstdc++.so.6 -lstdc++_nonshared%{nonsharedver} )' \ + > %{gcc_target_platform}/libstdc++-v3/src/.libs/libstdc++_system.so + + +CC="`%{gcc_target_platform}/libstdc++-v3/scripts/testsuite_flags --build-cc`" +CXX="`%{gcc_target_platform}/libstdc++-v3/scripts/testsuite_flags --build-cxx` `%{gcc_target_platform}/libstdc++-v3/scripts/testsuite_flags --build-includes`" + +# Build libgccjit separately, so that normal compiler binaries aren't -fpic +# unnecessarily. +mkdir objlibgccjit +cd objlibgccjit +CC="$CC" CXX="$CXX" \ + CFLAGS="$OPT_FLAGS" \ + CXXFLAGS="`echo " $OPT_FLAGS " | sed 's/ -Wall / /g;s/ -fexceptions / /g' \ + | sed 's/ -Wformat-security / -Wformat -Wformat-security /'`" \ + XCFLAGS="$OPT_FLAGS" TCFLAGS="$OPT_FLAGS" \ + ../../configure --disable-bootstrap --enable-host-shared \ + --enable-languages=jit $CONFIGURE_OPTS +make %{?_smp_mflags} BOOT_CFLAGS="$OPT_FLAGS" all-gcc +cp -a gcc/libgccjit.so* ../gcc/ +cd ../gcc/ +ln -sf xgcc %{gcc_target_platform}-gcc-%{gcc_major} +cp -a Makefile{,.orig} +sed -i -e '/^CHECK_TARGETS/s/$/ check-jit/' Makefile +touch -r Makefile.orig Makefile +rm Makefile.orig +# No longer works. See #2213635/#2213634. +#make jit.sphinx.html +#make jit.sphinx.install-html jit_htmldir=`pwd`/../../rpm.doc/libgccjit-devel/html +cd .. + +# Make generated man pages even if Pod::Man is not new enough +perl -pi -e 's/head3/head2/' ../contrib/texi2pod.pl +for i in ../gcc/doc/*.texi; do + cp -a $i $i.orig; sed 's/ftable/table/' $i.orig > $i +done +make %{?_smp_mflags} -C gcc generated-manpages +for i in ../gcc/doc/*.texi; do mv -f $i.orig $i; done + +# Make generated doxygen pages. +%if %{build_libstdcxx_docs} +cd %{gcc_target_platform}/libstdc++-v3 +make doc-html-doxygen +make doc-man-doxygen +cd ../.. +%endif +# Copy various doc files here and there +cd .. +mkdir -p rpm.doc/gfortran rpm.doc/libquadmath rpm.doc/libitm +mkdir -p rpm.doc/changelogs/{gcc/cp,gcc/jit,libstdc++-v3,libgomp,libcc1,libatomic,libsanitizer} + +for i in {gcc,gcc/cp,gcc/jit,libstdc++-v3,libgomp,libcc1,libatomic,libsanitizer}/ChangeLog*; do + cp -p $i rpm.doc/changelogs/$i +done + +(cd gcc/fortran; for i in ChangeLog*; do + cp -p $i ../../rpm.doc/gfortran/$i +done) +(cd libgfortran; for i in ChangeLog*; do + cp -p $i ../rpm.doc/gfortran/$i.libgfortran +done) +%if %{build_libquadmath} +(cd libquadmath; for i in ChangeLog* COPYING.LIB; do + cp -p $i ../rpm.doc/libquadmath/$i.libquadmath +done) +%endif +%if %{build_libitm} +(cd libitm; for i in ChangeLog*; do + cp -p $i ../rpm.doc/libitm/$i.libitm +done) +%endif + +rm -f rpm.doc/changelogs/gcc/ChangeLog.[1-9] +find rpm.doc -name \*ChangeLog\* | xargs bzip2 -9 + + +# Test the nonshared bits. +mkdir libstdc++_compat_test +cd libstdc++_compat_test +readelf -Ws %{?scl:%{_root_prefix}}%{!?scl:%{_prefix}}/%{_lib}/libstdc++.so.6 | sed -n '/\.symtab/,$d;/ UND /d;/@GLIBC_PRIVATE/d;/\(GLOBAL\|WEAK\|UNIQUE\)/p' | awk '{ if ($4 == "OBJECT") { printf "%s %s %s %s %s\n", $8, $4, $5, $6, $3 } else { printf "%s %s %s %s\n", $8, $4, $5, $6 }}' | sed 's/ UNIQUE / GLOBAL /;s/ WEAK / GLOBAL /;s/@@GLIBCXX_\(LDBL_\)\?[0-9.]*//;s/@@CXXABI_TM_[0-9.]*//;s/@@CXXABI_FLOAT128//;s/@@CXXABI_\(LDBL_\)\?[0-9.]*//' | LC_ALL=C sort -u > system.abilist +readelf -Ws ../obj-%{gcc_target_platform}/%{gcc_target_platform}/libstdc++-v3/src/.libs/libstdc++.so.6 | sed -n '/\.symtab/,$d;/ UND /d;/@GLIBC_PRIVATE/d;/\(GLOBAL\|WEAK\|UNIQUE\)/p' | awk '{ if ($4 == "OBJECT") { printf "%s %s %s %s %s\n", $8, $4, $5, $6, $3 } else { printf "%s %s %s %s\n", $8, $4, $5, $6 }}' | sed 's/ UNIQUE / GLOBAL /;s/ WEAK / GLOBAL /;s/@@GLIBCXX_\(LDBL_\)\?[0-9.]*//;s/@@CXXABI_TM_[0-9.]*//;s/@@CXXABI_FLOAT128//;s/@@CXXABI_\(LDBL_\)\?[0-9.]*//' | LC_ALL=C sort -u > vanilla.abilist +diff -up system.abilist vanilla.abilist | awk '/^\+\+\+/{next}/^\+/{print gensub(/^+(.*)$/,"\\1","1",$0)}' > system2vanilla.abilist.diff +../obj-%{gcc_target_platform}/gcc/xgcc -B ../obj-%{gcc_target_platform}/gcc/ -shared -o libstdc++_nonshared.so -Wl,--whole-archive ../obj-%{gcc_target_platform}/%{gcc_target_platform}/libstdc++-v3/src/.libs/libstdc++_nonshared%{nonsharedver}.a -Wl,--no-whole-archive %{?scl:%{_root_prefix}}%{!?scl:%{_prefix}}/%{_lib}/libstdc++.so.6 +readelf -Ws libstdc++_nonshared.so | sed -n '/\.symtab/,$d;/ UND /d;/@GLIBC_PRIVATE/d;/\(GLOBAL\|WEAK\|UNIQUE\)/p' | awk '{ if ($4 == "OBJECT") { printf "%s %s %s %s %s\n", $8, $4, $5, $6, $3 } else { printf "%s %s %s %s\n", $8, $4, $5, $6 }}' | sed 's/ UNIQUE / GLOBAL /;s/ WEAK / GLOBAL /;s/@@GLIBCXX_\(LDBL_\)\?[0-9.]*//;s/@@CXXABI_TM_[0-9.]*//;s/@@CXXABI_FLOAT128//;s/@@CXXABI_\(LDBL_\)\?[0-9.]*//' | LC_ALL=C sort -u > nonshared.abilist +echo ====================NONSHARED========================= +ldd -d -r ./libstdc++_nonshared.so || : +ldd -u ./libstdc++_nonshared.so || : +diff -up system2vanilla.abilist.diff nonshared.abilist || : +readelf -Ws ../obj-%{gcc_target_platform}/%{gcc_target_platform}/libstdc++-v3/src/.libs/libstdc++_nonshared%{nonsharedver}.a | grep HIDDEN.*UND | grep -v __dso_handle || : +echo ====================NONSHARED END===================== +rm -f libstdc++_nonshared.so +cd .. +%install +rm -rf %{buildroot} +mkdir -p %{buildroot} + +# RISC-V ABI wants to install everything in /lib64/lp64d or /usr/lib64/lp64d. +# Make these be symlinks to /lib64 or /usr/lib64 respectively. See: +# https://lists.fedoraproject.org/archives/list/devel@lists.fedoraproject.org/thread/DRHT5YTPK4WWVGL3GIN5BF2IKX2ODHZ3/ +%ifarch riscv64 +for d in %{buildroot}%{_libdir} %{buildroot}/%{_lib} \ + %{buildroot}%{_datadir}/gdb/auto-load/%{_prefix}/%{_lib} \ + %{buildroot}%{_prefix}/include/c++/%{gcc_major}/%{gcc_target_platform}/%{_lib}; do + mkdir -p $d + (cd $d && ln -sf . lp64d) +done +%endif + +%{?scl:PATH=%{_bindir}${PATH:+:${PATH}}} +# Also set LD_LIBRARY_PATH so that DTS eu-strip (called from find-debuginfo.sh) +# can find the libraries it needs. +%{?scl:export LD_LIBRARY_PATH=%{_libdir}${LD_LIBRARY_PATH:+:${LD_LIBRARY_PATH}}} +cd obj-%{gcc_target_platform} + +TARGET_PLATFORM=%{gcc_target_platform} + +# There are some MP bugs in libstdc++ Makefiles +make %{?_smp_mflags} -C %{gcc_target_platform}/libstdc++-v3 + +%if 0%{?scl:1} +rm -f gcc/libgcc_s.so +echo '/* GNU ld script + Use the shared library, but some functions are only in + the static library, so try that secondarily. */ +%{oformat} +GROUP ( /%{_lib}/libgcc_s.so.1 libgcc.a )' > gcc/libgcc_s.so +%endif + +make prefix=%{buildroot}%{_prefix} mandir=%{buildroot}%{_mandir} \ + infodir=%{buildroot}%{_infodir} install + +%if 0%{?scl:1} +rm -f gcc/libgcc_s.so +ln -sf libgcc_s.so.1 gcc/libgcc_s.so +%endif + +FULLPATH=%{buildroot}%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major} +FULLEPATH=%{buildroot}%{_prefix}/libexec/gcc/%{gcc_target_platform}/%{gcc_major} + +%if 0%{?scl:1} +ln -sf ../../../../bin/ar $FULLEPATH/ar +ln -sf ../../../../bin/as $FULLEPATH/as +ln -sf ../../../../bin/ld $FULLEPATH/ld +ln -sf ../../../../bin/ld.bfd $FULLEPATH/ld.bfd +ln -sf ../../../../bin/ld.gold $FULLEPATH/ld.gold +ln -sf ../../../../bin/nm $FULLEPATH/nm +ln -sf ../../../../bin/objcopy $FULLEPATH/objcopy +ln -sf ../../../../bin/ranlib $FULLEPATH/ranlib +ln -sf ../../../../bin/strip $FULLEPATH/strip +%endif +# fix some things +ln -sf gcc %{buildroot}%{_prefix}/bin/cc +mkdir -p %{buildroot}/lib +ln -sf ..%{_prefix}/bin/cpp %{buildroot}/lib/cpp +ln -sf gfortran %{buildroot}%{_prefix}/bin/f95 +rm -f %{buildroot}%{_infodir}/dir +gzip -9 %{buildroot}%{_infodir}/*.info* +ln -sf gcc %{buildroot}%{_prefix}/bin/gnatgcc +mkdir -p %{buildroot}%{_fmoddir} + +cxxconfig="`find %{gcc_target_platform}/libstdc++-v3/include -name c++config.h`" +for i in `find %{gcc_target_platform}/[36]*/libstdc++-v3/include -name c++config.h 2>/dev/null`; do + if ! diff -up $cxxconfig $i; then + cat > %{buildroot}%{_prefix}/include/c++/%{gcc_major}/%{gcc_target_platform}/bits/c++config.h < +#if __WORDSIZE == 32 +%ifarch %{multilib_64_archs} +`cat $(find %{gcc_target_platform}/32/libstdc++-v3/include -name c++config.h)` +%else +`cat $(find %{gcc_target_platform}/libstdc++-v3/include -name c++config.h)` +%endif +#else +%ifarch %{multilib_64_archs} +`cat $(find %{gcc_target_platform}/libstdc++-v3/include -name c++config.h)` +%else +`cat $(find %{gcc_target_platform}/64/libstdc++-v3/include -name c++config.h)` +%endif +#endif +#endif +EOF + break + fi +done + +for f in `find %{buildroot}%{_prefix}/include/c++/%{gcc_major}/%{gcc_target_platform}/ -name c++config.h`; do + for i in 1 2 4 8; do + sed -i -e 's/#define _GLIBCXX_ATOMIC_BUILTINS_'$i' 1/#ifdef __GCC_HAVE_SYNC_COMPARE_AND_SWAP_'$i'\ +&\ +#endif/' $f + done +done + +# Nuke bits/*.h.gch dirs +# 1) sometimes it is hard to match the exact options used for building +# libstdc++-v3 or they aren't desirable +# 2) there are multilib issues, conflicts etc. with this +# 3) it is huge +# People can always precompile on their own whatever they want, but +# shipping this for everybody is unnecessary. +rm -rf %{buildroot}%{_prefix}/include/c++/%{gcc_major}/%{gcc_target_platform}/bits/*.h.gch + +%if %{build_libstdcxx_docs} +libstdcxx_doc_builddir=%{gcc_target_platform}/libstdc++-v3/doc/doxygen +mkdir -p ../rpm.doc/libstdc++-v3 +cp -r -p ../libstdc++-v3/doc/html ../rpm.doc/libstdc++-v3/html +cp -r -p $libstdcxx_doc_builddir/html ../rpm.doc/libstdc++-v3/html/api +mkdir -p %{buildroot}%{_mandir}/man3 +cp -r -p $libstdcxx_doc_builddir/man/man3/* %{buildroot}%{_mandir}/man3/ +find ../rpm.doc/libstdc++-v3 -name \*~ | xargs rm +%endif + +%ifarch sparcv9 sparc64 +ln -f %{buildroot}%{_prefix}/bin/%{gcc_target_platform}-gcc \ + %{buildroot}%{_prefix}/bin/sparc-%{_vendor}-%{_target_os}-gcc +%endif +%ifarch ppc ppc64 ppc64p7 +ln -f %{buildroot}%{_prefix}/bin/%{gcc_target_platform}-gcc \ + %{buildroot}%{_prefix}/bin/ppc-%{_vendor}-%{_target_os}-gcc +%endif + +%ifarch sparcv9 ppc +FULLLPATH=$FULLPATH/lib32 +%endif +%ifarch sparc64 ppc64 ppc64p7 +FULLLPATH=$FULLPATH/lib64 +%endif +if [ -n "$FULLLPATH" ]; then + mkdir -p $FULLLPATH +else + FULLLPATH=$FULLPATH +fi + +find %{buildroot} -name \*.la | xargs rm -f + +mv %{buildroot}%{_prefix}/%{_lib}/libgfortran.spec $FULLPATH/ +%if %{build_libitm} +mv %{buildroot}%{_prefix}/%{_lib}/libitm.spec $FULLPATH/ +%endif +%if %{build_libasan} +mv %{buildroot}%{_prefix}/%{_lib}/libsanitizer.spec $FULLPATH/ +%endif + +mkdir -p %{buildroot}/%{_lib} +mv -f %{buildroot}%{_prefix}/%{_lib}/libgcc_s.so.1 %{buildroot}%{_prefix}/%{_lib}/libgcc_s-%{gcc_major}.so.1 +chmod 755 %{buildroot}%{_prefix}/%{_lib}/libgcc_s-%{gcc_major}.so.1 +ln -sf libgcc_s-%{gcc_major}.so.1 %{buildroot}%{_prefix}/%{_lib}/libgcc_s.so.1 +ln -sf /%{_lib}/libgcc_s.so.1 $FULLPATH/libgcc_s.so +%ifarch %{multilib_64_archs} +ln -sf /lib/libgcc_s.so.1 $FULLPATH/32/libgcc_s.so +%endif +%ifarch %{ix86} x86_64 ppc ppc64 ppc64p7 ppc64le %{arm} aarch64 riscv64 +rm -f $FULLPATH/libgcc_s.so +echo '/* GNU ld script + Use the shared library, but some functions are only in + the static library, so try that secondarily. */ +%{oformat} +GROUP ( /%{_lib}/libgcc_s.so.1 libgcc.a )' > $FULLPATH/libgcc_s.so +%endif +%ifarch sparcv9 ppc +rm -f $FULLPATH/64/libgcc_s.so +echo '/* GNU ld script + Use the shared library, but some functions are only in + the static library, so try that secondarily. */ +%{oformat2} +GROUP ( /lib64/libgcc_s.so.1 libgcc.a )' > $FULLPATH/64/libgcc_s.so +%endif +%ifarch %{multilib_64_archs} +%ifarch x86_64 ppc64 ppc64p7 +rm -f $FULLPATH/64/libgcc_s.so +echo '/* GNU ld script + Use the shared library, but some functions are only in + the static library, so try that secondarily. */ +%{oformat2} +GROUP ( /lib/libgcc_s.so.1 libgcc.a )' > $FULLPATH/32/libgcc_s.so +%else +ln -sf /lib/libgcc_s.so.1 $FULLPATH/32/libgcc_s.so +%endif +%endif + +mv -f %{buildroot}%{_prefix}/%{_lib}/libgomp.spec $FULLPATH/ +cp -a %{gcc_target_platform}/libstdc++-v3/src/.libs/libstdc++_nonshared%{nonsharedver}.a \ + $FULLLPATH/libstdc++_nonshared.a + +mkdir -p %{buildroot}%{_prefix}/libexec/getconf +if gcc/xgcc -B gcc/ -E -P -dD -xc /dev/null | grep '__LONG_MAX__.*\(2147483647\|0x7fffffff\($\|[LU]\)\)'; then + ln -sf POSIX_V6_ILP32_OFF32 %{buildroot}%{_prefix}/libexec/getconf/default +else + ln -sf POSIX_V6_LP64_OFF64 %{buildroot}%{_prefix}/libexec/getconf/default +fi + +mkdir -p %{buildroot}%{_datadir}/gdb/auto-load/%{_prefix}/%{_lib} +mv -f %{buildroot}%{_prefix}/%{_lib}/libstdc++*gdb.py* \ + %{buildroot}%{_datadir}/gdb/auto-load/%{_prefix}/%{_lib}/ +pushd ../libstdc++-v3/python +for i in `find . -name \*.py`; do + touch -r $i %{buildroot}%{_prefix}/share/gcc-%{gcc_major}/python/$i +done +touch -r hook.in %{buildroot}%{_datadir}/gdb/auto-load/%{_prefix}/%{_lib}/libstdc++*gdb.py +popd +for f in `find %{buildroot}%{_prefix}/share/gcc-%{gcc_major}/python/ \ + %{buildroot}%{_datadir}/gdb/auto-load/%{_prefix}/%{_lib}/ -name \*.py`; do + r=${f/$RPM_BUILD_ROOT/} + %{__python3} -c 'import py_compile; py_compile.compile("'$f'", dfile="'$r'")' + %{__python3} -O -c 'import py_compile; py_compile.compile("'$f'", dfile="'$r'")' +done + +rm -f $FULLEPATH/libgccjit.so +mkdir -p %{buildroot}%{_prefix}/%{_lib}/ +cp -a objlibgccjit/gcc/libgccjit.so.* %{buildroot}%{_prefix}/%{_lib}/ +rm -f $FULLPATH/libgccjit.so +echo '/* GNU ld script */ +%{oformat} +INPUT ( %{_prefix}/%{_lib}/libgccjit.so.0 )' > $FULLPATH/libgccjit.so +cp -a ../gcc/jit/libgccjit*.h $FULLPATH/include/ +/usr/bin/install -c -m 644 objlibgccjit/gcc/doc/libgccjit.info %{buildroot}/%{_infodir}/ +gzip -9 %{buildroot}/%{_infodir}/libgccjit.info + +pushd $FULLPATH +echo '/* GNU ld script */ +%{oformat} +INPUT ( %{?scl:%{_root_prefix}}%{!?scl:%{_prefix}}/%{_lib}/libgomp.so.1 )' > libgomp.so + +echo '/* GNU ld script + Use the shared library, but some functions are only in + the static library, so try that secondarily. */ +%{oformat} +INPUT ( %{?scl:%{_root_prefix}}%{!?scl:%{_prefix}}/%{_lib}/libstdc++.so.6 -lstdc++_nonshared )' > libstdc++.so +rm -f libgfortran.so + +echo '/* GNU ld script */ +%{oformat} +INPUT ( %{?scl:%{_prefix}}/%{_lib}/libgfortran.so.5 )' > libgfortran.so + +%if %{build_libquadmath} +rm -f libquadmath.so +echo '/* GNU ld script */ +%{oformat} +%if 0%{!?scl:1} +INPUT ( %{_prefix}/%{_lib}/libquadmath.so.0 )' > libquadmath.so +%else +INPUT ( %{_root_prefix}/%{_lib}/libquadmath.so.0 )' > libquadmath.so +%endif +%endif +%if %{build_libitm} +rm -f libitm.so +echo '/* GNU ld script */ +%{oformat} +INPUT ( %{?scl:%{_root_prefix}}%{!?scl:%{_prefix}}/%{_lib}/libitm.so.1 )' > libitm.so +%endif +%if %{build_libatomic} +rm -f libatomic.so +echo '/* GNU ld script */ +%{oformat} +INPUT ( %{?scl:%{_root_prefix}}%{!?scl:%{_prefix}}/%{_lib}/libatomic.so.1 )' > libatomic.so +%endif +%if %{build_libasan} +rm -f libasan.so +echo '/* GNU ld script */ +%{oformat} +INPUT ( %{?scl:%{_prefix}}/%{_lib}/libasan.so.8 )' > libasan.so +%endif +%if %{build_libtsan} +rm -f libtsan.so +echo '/* GNU ld script */ +%{oformat} +INPUT ( %{?scl:%{_prefix}}/%{_lib}/libtsan.so.2 )' > libtsan.so +%endif +%if %{build_libubsan} +rm -f libubsan.so +echo '/* GNU ld script */ +%{oformat} +INPUT ( %{?scl:%{_prefix}}/%{_lib}/libubsan.so.1 )' > libubsan.so +%endif +%if %{build_libhwasan} +rm -f libhwasan.so +echo 'INPUT ( %{?scl:%{_prefix}}/%{_lib}/'`echo ../../../../%{_lib}/libhwasan.so.0.* | sed 's,^.*libh,libh,'`' )' > libhwasan.so +%endif +%if %{build_liblsan} +rm -f liblsan.so +echo '/* GNU ld script */ +%{oformat} +INPUT ( %{?scl:%{_prefix}}/%{_lib}/liblsan.so.0 )' > liblsan.so +%endif +mv -f %{buildroot}%{_prefix}/%{_lib}/libstdc++.*a $FULLLPATH/ +mv -f %{buildroot}%{_prefix}/%{_lib}/libstdc++fs.*a $FULLLPATH/ +mv -f %{buildroot}%{_prefix}/%{_lib}/libsupc++.*a . +mv -f %{buildroot}%{_prefix}/%{_lib}/libgfortran.*a . +mv -f %{buildroot}%{_prefix}/%{_lib}/libgomp.*a . +%if %{build_libquadmath} +mv -f %{buildroot}%{_prefix}/%{_lib}/libquadmath.*a $FULLLPATH/ +%endif + +%if %{build_libitm} +mv -f %{buildroot}%{_prefix}/%{_lib}/libitm.*a $FULLLPATH/ +%endif +%if %{build_libatomic} +mv -f %{buildroot}%{_prefix}/%{_lib}/libatomic.*a $FULLLPATH/ +%endif +%if %{build_libasan} +mv -f %{buildroot}%{_prefix}/%{_lib}/libasan.*a $FULLLPATH/ +mv -f %{buildroot}%{_prefix}/%{_lib}/libasan_preinit.o $FULLLPATH/ +%endif +%if %{build_libubsan} +mv -f %{buildroot}%{_prefix}/%{_lib}/libubsan.*a $FULLLPATH/ +%endif +%if %{build_libtsan} +mv -f %{buildroot}%{_prefix}/%{_lib}/libtsan.*a $FULLPATH/ +mv -f %{buildroot}%{_prefix}/%{_lib}/libtsan_preinit.o $FULLPATH/ +%endif +%if %{build_libhwasan} +mv -f %{buildroot}%{_prefix}/%{_lib}/libhwasan.*a $FULLPATH/ +mv -f %{buildroot}%{_prefix}/%{_lib}/libhwasan_preinit.o $FULLPATH/ +%endif +%if %{build_liblsan} +mv -f %{buildroot}%{_prefix}/%{_lib}/liblsan.*a $FULLPATH/ +mv -f %{buildroot}%{_prefix}/%{_lib}/liblsan_preinit.o $FULLPATH/ +%endif + +%ifarch sparcv9 ppc +echo '/* GNU ld script + Use the shared library, but some functions are only in + the static library, so try that secondarily. */ +%{oformat2} +INPUT ( %{?scl:%{_root_prefix}}%{!?scl:%{_prefix}}/lib64/libstdc++.so.6 -lstdc++_nonshared )' > 64/libstdc++.so +rm -f 64/libgfortran.so +echo '/* GNU ld script */ + +%{oformat2} +INPUT ( %{_prefix}/lib64/libgfortran.so.5 )' > 64/libgfortran.so +echo '/* GNU ld script */ +%{oformat2} +INPUT ( %{?scl:%{_root_prefix}}%{!?scl:%{_prefix}}/lib64/libgomp.so.1 )' > 64/libgomp.so +echo '/* GNU ld script */ +%{oformat2} +INPUT ( %{_prefix}/lib64/libgccjit.so.0 )' > 64/libgccjit.so +%if %{build_libquadmath} +rm -f 64/libquadmath.so +echo '/* GNU ld script */ +%{oformat2} +%if 0%{!?scl:1} +INPUT ( %{_prefix}/lib64/libquadmath.so.0 )' > 64/libquadmath.so +%else +INPUT ( %{_root_prefix}/lib64/libquadmath.so.0 )' > 64/libquadmath.so +%endif +%endif +%if %{build_libitm} +rm -f 64/libitm.so +echo '/* GNU ld script */ +%{oformat2} +INPUT ( %{?scl:%{_root_prefix}}%{!?scl:%{_prefix}}/lib64/libitm.so.1 )' > 64/libitm.so +%endif +%if %{build_libatomic} +rm -f 64/libatomic.so +echo '/* GNU ld script */ +%{oformat2} +INPUT ( %{?scl:%{_root_prefix}}%{!?scl:%{_prefix}}/lib64/libatomic.so.1 )' > 64/libatomic.so +%endif +%if %{build_libasan} +rm -f 64/libasan.so +echo '/* GNU ld script */ +%{oformat2} +INPUT ( %{?scl:%{_root_prefix}}%{!?scl:%{_prefix}}/lib64/libasan.so.8 )' > 64/libasan.so +%endif +%if %{build_libubsan} +rm -f 64/libubsan.so +echo '/* GNU ld script */ +%{oformat2} +INPUT ( %{?scl:%{_root_prefix}}%{!?scl:%{_prefix}}/lib64/libubsan.so.1 )' > 64/libubsan.so +%endif +mv -f %{buildroot}%{_prefix}/lib64/libsupc++.*a 64/ +mv -f %{buildroot}%{_prefix}/lib64/libgfortran.*a 64/ +mv -f %{buildroot}%{_prefix}/lib64/libgomp.*a 64/ +%if %{build_libquadmath} +mv -f %{buildroot}%{_prefix}/lib64/libquadmath.*a 64/ +%endif +ln -sf lib32/libstdc++.a libstdc++.a +ln -sf ../lib64/libstdc++.a 64/libstdc++.a +ln -sf lib32/libstdc++fs.a libstdc++fs.a +ln -sf ../lib64/libstdc++fs.a 64/libstdc++fs.a +ln -sf lib32/libstdc++_nonshared.a libstdc++_nonshared.a +ln -sf ../lib64/libstdc++_nonshared.a 64/libstdc++_nonshared.a +%if %{build_libquadmath} +ln -sf lib32/libquadmath.a libquadmath.a +ln -sf ../lib64/libquadmath.a 64/libquadmath.a +%endif +%if %{build_libitm} +ln -sf lib32/libitm.a libitm.a +ln -sf ../lib64/libitm.a 64/libitm.a +%endif +%if %{build_libatomic} +ln -sf lib32/libatomic.a libatomic.a +ln -sf ../lib64/libatomic.a 64/libatomic.a +%endif +%if %{build_libasan} +ln -sf lib32/libasan.a libasan.a +ln -sf ../lib64/libasan.a 64/libasan.a +ln -sf lib32/libasan_preinit.o libasan_preinit.o +ln -sf ../lib64/libasan_preinit.o 64/libasan_preinit.o +%endif +%if %{build_libubsan} +ln -sf lib32/libubsan.a libubsan.a +ln -sf ../lib64/libubsan.a 64/libubsan.a +%endif +%endif +%ifarch %{multilib_64_archs} +mkdir -p 32 +echo '/* GNU ld script + Use the shared library, but some functions are only in + the static library, so try that secondarily. */ +%{oformat2} +INPUT ( %{?scl:%{_root_prefix}}%{!?scl:%{_prefix}}/lib/libstdc++.so.6 -lstdc++_nonshared )' > 32/libstdc++.so +rm -f 32/libgfortran.so +echo '/* GNU ld script */ +%{oformat2} +INPUT ( %{_prefix}}/lib/libgfortran.so.5 )' > 32/libgfortran.so + + +echo '/* GNU ld script */ +%{oformat2} +INPUT ( %{?scl:%{_root_prefix}}%{!?scl:%{_prefix}}/lib/libgomp.so.1 )' > 32/libgomp.so + +echo '/* GNU ld script */ +%{oformat2} +INPUT ( %{_prefix}/lib/libgccjit.so.0 )' > 32/libgccjit.so +%if %{build_libquadmath} +rm -f 32/libquadmath.so +echo '/* GNU ld script */ +%{oformat2} +%if 0%{!?scl:1} +INPUT ( %{_prefix}/lib/libquadmath.so.0 )' > 32/libquadmath.so +%else +INPUT ( %{_root_prefix}/lib/libquadmath.so.0 )' > 32/libquadmath.so +%endif +%endif +%if %{build_libitm} +rm -f 32/libitm.so +echo '/* GNU ld script */ +%{oformat2} +INPUT ( %{?scl:%{_root_prefix}}%{!?scl:%{_prefix}}/lib/libitm.so.1 )' > 32/libitm.so +%endif +%if %{build_libatomic} +rm -f 32/libatomic.so +echo '/* GNU ld script */ +%{oformat2} +INPUT ( %{?scl:%{_root_prefix}}%{!?scl:%{_prefix}}/lib/libatomic.so.1 )' > 32/libatomic.so +%endif +%if %{build_libasan} +rm -f 32/libasan.so +echo '/* GNU ld script */ +%{oformat2} +INPUT ( %{?scl:%{_root_prefix}}%{!?scl:%{_prefix}}/lib/libasan.so.8 )' > 32/libasan.so +%endif +%if %{build_libubsan} +rm -f 32/libubsan.so +echo '/* GNU ld script */ +%{oformat2} +INPUT ( %{?scl:%{_root_prefix}}%{!?scl:%{_prefix}}/lib/libubsan.so.1 )' > 32/libubsan.so +%endif +mv -f %{buildroot}%{_prefix}/lib/libsupc++.*a 32/ +mv -f %{buildroot}%{_prefix}/lib/libgfortran.*a 32/ +mv -f %{buildroot}%{_prefix}/lib/libgomp.*a 32/ +%if %{build_libquadmath} +mv -f %{buildroot}%{_prefix}/lib/libquadmath.*a 32/ +%endif +%endif +%ifarch sparc64 ppc64 +ln -sf ../lib32/libgfortran.a 32/libgfortran.a +ln -sf lib64/libgfortran.a libgfortran.a +ln -sf ../lib32/libstdc++.a 32/libstdc++.a +ln -sf lib64/libstdc++.a libstdc++.a +ln -sf ../lib32/libstdc++fs.a 32/libstdc++fs.a +ln -sf lib64/libstdc++fs.a libstdc++fs.a +ln -sf ../lib32/libstdc++_nonshared.a 32/libstdc++_nonshared.a +ln -sf lib64/libstdc++_nonshared.a libstdc++_nonshared.a +%if %{build_libquadmath} +ln -sf ../lib32/libquadmath.a 32/libquadmath.a +ln -sf lib64/libquadmath.a libquadmath.a +%endif +%if %{build_libitm} +ln -sf ../lib32/libitm.a 32/libitm.a +ln -sf lib64/libitm.a libitm.a +%endif +%if %{build_libatomic} +ln -sf ../lib32/libatomic.a 32/libatomic.a +ln -sf lib64/libatomic.a libatomic.a +%endif +%if %{build_libasan} +ln -sf ../lib32/libasan.a 32/libasan.a +ln -sf lib64/libasan.a libasan.a +ln -sf ../lib32/libasan_preinit.o 32/libasan_preinit.o +ln -sf lib64/libasan_preinit.o libasan_preinit.o +%endif +%if %{build_libubsan} +ln -sf ../lib32/libubsan.a 32/libubsan.a +# BZ #2027391 +mv -f lib64/libubsan.a libubsan.a +%endif +%else +%ifarch %{multilib_64_archs} +ln -sf ../../../%{multilib_32_arch}-%{_vendor}-%{_target_os}/%{gcc_major}/libgfortran.a 32/libgfortran.a +ln -sf ../../../%{multilib_32_arch}-%{_vendor}-%{_target_os}/%{gcc_major}/libstdc++.a 32/libstdc++.a +ln -sf ../../../%{multilib_32_arch}-%{_vendor}-%{_target_os}/%{gcc_major}/libstdc++fs.a 32/libstdc++fs.a +ln -sf ../../../%{multilib_32_arch}-%{_vendor}-%{_target_os}%{?_gnu}/%{gcc_major}/libstdc++_nonshared.a 32/libstdc++_nonshared.a +%if %{build_libquadmath} +ln -sf ../../../%{multilib_32_arch}-%{_vendor}-%{_target_os}/%{gcc_major}/libquadmath.a 32/libquadmath.a +%endif +%if %{build_libitm} +ln -sf ../../../%{multilib_32_arch}-%{_vendor}-%{_target_os}/%{gcc_major}/libitm.a 32/libitm.a +%endif +%if %{build_libatomic} +ln -sf ../../../%{multilib_32_arch}-%{_vendor}-%{_target_os}/%{gcc_major}/libatomic.a 32/libatomic.a +%endif +%if %{build_libasan} +ln -sf ../../../%{multilib_32_arch}-%{_vendor}-%{_target_os}/%{gcc_major}/libasan.a 32/libasan.a +ln -sf ../../../%{multilib_32_arch}-%{_vendor}-%{_target_os}/%{gcc_major}/libasan_preinit.o 32/libasan_preinit.o +%endif +%if %{build_libubsan} +ln -sf ../../../%{multilib_32_arch}-%{_vendor}-%{_target_os}/%{gcc_major}/libubsan.a 32/libubsan.a +%endif +%endif +%endif + +# If we are building a debug package then copy all of the static archives +# into the debug directory to keep them as unstripped copies. +%if 0%{?_enable_debug_packages} +for d in . $FULLLSUBDIR; do + mkdir -p $RPM_BUILD_ROOT%{_prefix}/lib/debug%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/$d + for f in `find $d -maxdepth 1 -a \ + \( -name libgfortran.a -o -name libgomp.a \ + -o -name libgcc.a -o -name libgcc_eh.a -o -name libgcov.a \ + -o -name libquadmath.a -o -name libitm.a \ + -o -name libatomic.a -o -name libasan.a \ + -o -name libtsan.a -o -name libubsan.a \ + -o -name liblsan.a \ + -o -name libstdc++_nonshared.a \ + -o -name libsupc++.a \ + -o -name libstdc++.a -o -name libcaf_single.a \ + -o -name libstdc++fs.a \) -a -type f`; do + cp -a $f $RPM_BUILD_ROOT%{_prefix}/lib/debug%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/$d/ + done +done +%endif + +# Strip debug info from Fortran/ObjC/Java static libraries +strip -g `find . \( -name libgfortran.a -o -name libgomp.a \ + -o -name libgcc.a -o -name libgcov.a \ + -o -name libquadmath.a -o -name libitm.a \ + -o -name libatomic.a -o -name libasan.a \ + -o -name libtsan.a -o -name libubsan.a \ + -o -name liblsan.a -o -name libcc1.a \) -a -type f` +popd +chmod 755 %{buildroot}%{_prefix}/%{_lib}/libgfortran.so.5.* +chrpath -d %{buildroot}%{_prefix}/%{_lib}/libgfortran.so.5.* +chmod 755 %{buildroot}%{_prefix}/%{_lib}/libgomp.so.1.* +chmod 755 %{buildroot}%{_prefix}/%{_lib}/libcc1.so.0.* +chrpath -d %{buildroot}%{_prefix}/%{_lib}/libcc1.so.0.* +chmod 755 %{buildroot}%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/plugin/libcc1plugin.so* +chrpath -d %{buildroot}%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/plugin/libcc1plugin.so* +chmod 755 %{buildroot}%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/plugin/libcp1plugin.so* +chrpath -d %{buildroot}%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/plugin/libcp1plugin.so* +%if %{build_libquadmath} +%if 0%{!?scl:1} +chmod 755 %{buildroot}%{_prefix}/%{_lib}/libquadmath.so.0.* +%endif +%endif +%if %{build_libitm} +chmod 755 %{buildroot}%{_prefix}/%{_lib}/libitm.so.1.* +%if 0%{?scl:1} +mkdir -p %{buildroot}%{_root_prefix}/%{_lib}/ +mv %{buildroot}%{_prefix}/%{_lib}/libitm.so.1* %{buildroot}%{_root_prefix}/%{_lib}/ +mkdir -p %{buildroot}%{_root_infodir} + +mv %{buildroot}%{_infodir}/libitm.info* %{buildroot}%{_root_infodir}/ + +%endif +%endif +%if %{build_libatomic} +chmod 755 %{buildroot}%{_prefix}/%{_lib}/libatomic.so.1.* +%if 0%{?scl:1} +mkdir -p %{buildroot}%{_root_prefix}/%{_lib}/ +mv %{buildroot}%{_prefix}/%{_lib}/libatomic.so.1* %{buildroot}%{_root_prefix}/%{_lib}/ +mkdir -p %{buildroot}%{_root_infodir} +%endif +%endif +%if %{build_libasan} +chmod 755 %{buildroot}%{_prefix}/%{_lib}/libasan.so.8.* +chrpath -d %{buildroot}%{_prefix}/%{_lib}/libasan.so.8.* +%endif +%if %{build_libtsan} +chmod 755 %{buildroot}%{_prefix}/%{_lib}/libtsan.so.2.* +chrpath -d %{buildroot}%{_prefix}/%{_lib}/libtsan.so.2.* +%endif +%if %{build_libubsan} +chmod 755 %{buildroot}%{_prefix}/%{_lib}/libubsan.so.1.* +chrpath -d %{buildroot}%{_prefix}/%{_lib}/libubsan.so.1.* +%endif +%if %{build_libhwasan} +chmod 755 %{buildroot}%{_prefix}/%{_lib}/libhwasan.so.0.* +chrpath -d %{buildroot}%{_prefix}/%{_lib}/libhwasan.so.0.* + +%endif +%if %{build_liblsan} +chmod 755 %{buildroot}%{_prefix}/%{_lib}/liblsan.so.0.* +chrpath -d %{buildroot}%{_prefix}/%{_lib}/liblsan.so.0.* +%endif +%ifarch aarch64 +chmod 755 %{buildroot}%{_prefix}/%{_lib}/libhwasan.so.0.* +chrpath -d %{buildroot}%{_prefix}/%{_lib}/libhwasan.so.0.* +%endif + + +for h in `find $FULLPATH/include -name \*.h`; do + if grep -q 'It has been auto-edited by fixincludes from' $h; then + rh=`grep -A2 'It has been auto-edited by fixincludes from' $h | tail -1 | sed 's|^.*"\(.*\)".*$|\1|'` + diff -up $rh $h || : + rm -f $h + fi +done + +cat > %{buildroot}%{_prefix}/bin/c89 <<"EOF" +#!/bin/sh +fl="-std=c89" +for opt; do + case "$opt" in + -ansi|-std=c89|-std=iso9899:1990) fl="";; + -std=*) echo "`basename $0` called with non ANSI/ISO C option $opt" >&2 + exit 1;; + esac +done +exec gcc $fl ${1+"$@"} +EOF +cat > %{buildroot}%{_prefix}/bin/c99 <<"EOF" +#!/bin/sh +fl="-std=c99" +for opt; do + case "$opt" in + -std=c99|-std=iso9899:1999) fl="";; + -std=*) echo "`basename $0` called with non ISO C99 option $opt" >&2 + exit 1;; + esac +done +exec gcc $fl ${1+"$@"} +EOF +chmod 755 %{buildroot}%{_prefix}/bin/c?9 + +cat < %{buildroot}%{_scl_path}/enable +# General environment variables +export PATH=%{_bindir}\${PATH:+:\${PATH}} +export MANPATH=%{_mandir}:\${MANPATH} +export INFOPATH=%{_infodir}\${INFOPATH:+:\${INFOPATH}} +export PCP_DIR=%{_scl_root} + +# bz847911 workaround: +# we need to evaluate rpm's installed run-time % { _libdir }, not rpmbuild time +# or else /etc/ld.so.conf.d files? +rpmlibdir=\$(rpm --eval "%%{_libdir}") +# bz1017604: On 64-bit hosts, we should include also the 32-bit library path. +if [ "\$rpmlibdir" != "\${rpmlibdir/lib64/}" ]; then + rpmlibdir32=":%{_scl_root}\${rpmlibdir/lib64/lib}" +fi +export LD_LIBRARY_PATH=%{_scl_root}\$rpmlibdir\$rpmlibdir32\${LD_LIBRARY_PATH:+:\${LD_LIBRARY_PATH}} +export LD_LIBRARY_PATH=%{_scl_root}\$rpmlibdir\$rpmlibdir32:%{_scl_root}\$rpmlibdir/dyninst\$rpmlibdir32/dyninst\${LD_LIBRARY_PATH:+:\${LD_LIBRARY_PATH}} + +EOF +chmod 755 %{buildroot}%{_scl_path}/enable + +cat < %{buildroot}%{_bindir}/sudo +#! /bin/sh +# TODO: parse & pass-through sudo options from \$@ +sudo_options="-E" + +for arg in "\$@" +do + case "\$arg" in + *\'*) + arg=`echo "\$arg" | sed "s/'/'\\\\\\\\''/g"` ;; + esac + cmd_options="\$cmd_options '\$arg'" +done +exec /usr/bin/sudo \$sudo_options LD_LIBRARY_PATH=\$LD_LIBRARY_PATH PATH=\$PATH scl enable %{scl} "\$cmd_options" +EOF +chmod 775 %{buildroot}%{_bindir}/sudo + +cd .. + +# Remove binaries we will not be including, so that they don't end up in +# gcc-debuginfo +rm -f %{buildroot}%{_prefix}/%{_lib}/{libffi*,libiberty.a,libstdc++*,libgfortran*} || : +%if 0%{?scl:1} +rm -f %{buildroot}%{_prefix}/%{_lib}/{libquadmath*,libitm*,libatomic*,libasan.so,libtsan.so,libubsan.so,liblsan.so} +%else + +rm -f %{buildroot}%{_prefix}/%{_lib}/{libitm*,libatomic*} + +%endif +rm -f %{buildroot}%{_prefix}/%{_lib}/libgomp* +rm -f %{buildroot}/%{_lib}/libgcc_s* +rm -f $FULLEPATH/install-tools/{mkheaders,fixincl} +rm -f %{buildroot}%{_prefix}/lib/{32,64}/libiberty.a +rm -f %{buildroot}%{_prefix}/%{_lib}/libssp* +rm -f %{buildroot}%{_prefix}/%{_lib}/libvtv* || : +rm -f %{buildroot}/lib/cpp +rm -f %{buildroot}/%{_lib}/libgcc_s* +rm -f %{buildroot}%{_prefix}/bin/{gccbug,gnatgcc*} +rm -f %{buildroot}%{_prefix}/bin/%{gcc_target_platform}-gfortran +%if 0%{!?scl:1} +rm -f %{buildroot}%{_prefix}/bin/{*c++*,cc,cpp} +%endif +rm -f %{buildroot}%{_prefix}/bin/%{_target_platform}-gfortran || : + +%ifarch %{multilib_64_archs} +# Remove libraries for the other arch on multilib arches +rm -f %{buildroot}%{_prefix}/lib/lib*.so* +rm -f %{buildroot}%{_prefix}/lib/lib*.a +rm -f %{buildroot}/lib/libgcc_s*.so* +%else +%ifarch sparcv9 ppc +rm -f %{buildroot}%{_prefix}/lib64/lib*.so* +rm -f %{buildroot}%{_prefix}/lib64/lib*.a +rm -f %{buildroot}/lib64/libgcc_s*.so* +%endif +%endif + +rm -f %{buildroot}%{mandir}/man3/ffi* +%ifnarch sparc64 ppc64 +%ifarch %{multilib_64_archs} +cat <<\EOF > %{buildroot}%{_prefix}/bin/%{multilib_32_arch}-%{_vendor}-%{_target_os}%{?_gnu}-gcc-%{gcc_major} +#!/bin/sh +%ifarch s390x +exec %{gcc_target_platform}-gcc-%{gcc_major} -m31 "$@" +%else +exec %{gcc_target_platform}-gcc-%{gcc_major} -m32 "$@" +%endif +EOF +chmod 755 %{buildroot}%{_prefix}/bin/%{multilib_32_arch}-%{_vendor}-%{_target_os}%{?_gnu}-gcc-%{gcc_major} +%endif +%endif + +# Help plugins find out nvra. +echo gcc-%{version}-%{release}.%{_arch} > $FULLPATH/rpmver + +# Add symlink to lto plugin in the binutils plugin directory. +%{__mkdir_p} %{buildroot}%{_libdir}/bfd-plugins/ +ln -s ../../libexec/gcc/%{gcc_target_platform}/%{gcc_major}/liblto_plugin.so \ + %{buildroot}%{_libdir}/bfd-plugins/ + + +%check +cd obj-%{gcc_target_platform} + +%{?scl:PATH=%{_bindir}${PATH:+:${PATH}}} +# Test against the system libstdc++.so.6 + libstdc++_nonshared.a combo +mv %{gcc_target_platform}/libstdc++-v3/src/.libs/libstdc++.so.6{,.not_here} +mv %{gcc_target_platform}/libstdc++-v3/src/.libs/libstdc++.so{,.not_here} +ln -sf %{?scl:%{_root_prefix}}%{!?scl:%{_prefix}}/%{_lib}/libstdc++.so.6 \ + %{gcc_target_platform}/libstdc++-v3/src/.libs/libstdc++.so.6 +echo '/* GNU ld script + Use the shared library, but some functions are only in + the static library, so try that secondarily. */ +%{oformat} +INPUT ( %{?scl:%{_root_prefix}}%{!?scl:%{_prefix}}/%{_lib}/libstdc++.so.6 -lstdc++_nonshared )' \ + > %{gcc_target_platform}/libstdc++-v3/src/.libs/libstdc++.so +cp -a %{gcc_target_platform}/libstdc++-v3/src/.libs/libstdc++_nonshared%{nonsharedver}.a \ + %{gcc_target_platform}/libstdc++-v3/src/.libs/libstdc++_nonshared.a + + +# Because glibc Prereq's libgcc and /sbin/ldconfig +# comes from glibc, it might not exist yet when +# libgcc is installed +%post -n %{?_scl_prefix}libgcc%{gcc_ver} -p +if posix.access ("/sbin/ldconfig", "x") then + local pid = posix.fork () + if pid == 0 then + posix.exec ("/sbin/ldconfig") + elseif pid ~= -1 then + posix.wait (pid) + end +end + +%postun -n %{?_scl_prefix}libgcc%{gcc_ver} -p +if posix.access ("/sbin/ldconfig", "x") then + local pid = posix.fork () + if pid == 0 then + posix.exec ("/sbin/ldconfig") + elseif pid ~= -1 then + posix.wait (pid) + end +end + +%ldconfig_scriptlets -n %{?_scl_prefix}libstdc++%{gcc_ver}-devel + +%ldconfig_scriptlets -n %{?_scl_prefix}libobjc%{gcc_ver} + +%ldconfig_scriptlets -n %{?_scl_prefix}gfortran%{gcc_ver} + +%ldconfig_scriptlets -n %{?_scl_prefix}libgphobos%{gcc_ver} + +%ldconfig_scriptlets -n %{?_scl_prefix}libgnat%{gcc_ver} + +%ldconfig_scriptlets -n %{?_scl_prefix}libgomp%{gcc_ver} + +%ldconfig_scriptlets gdb-plugin + +%ldconfig_scriptlets -n %{?_scl_prefix}libgccjit%{gcc_ver} + +%ldconfig_scriptlets -n %{?_scl_prefix}libquadmath%{gcc_ver}-devel + +%ldconfig_scriptlets -n %{?_scl_prefix}libitm%{gcc_ver} + +%ldconfig_scriptlets -n %{?_scl_prefix}libatomic%{gcc_ver} + +%ldconfig_scriptlets -n %{?_scl_prefix}libasan%{gcc_ver} + +%ldconfig_scriptlets -n %{?_scl_prefix}libubsan%{gcc_ver} + +%ldconfig_scriptlets -n %{?_scl_prefix}libtsan%{gcc_ver} + +%ldconfig_scriptlets -n %{?_scl_prefix}liblsan%{gcc_ver} + +%ldconfig_scriptlets -n %{?_scl_prefix}libgo%{gcc_ver} + +%files +%{_scl_path}/enable +%{_prefix}/bin/sudo +%{_prefix}/bin/c89 +%{_prefix}/bin/c99 +%{_prefix}/bin/gcc +%{_prefix}/bin/gcov +%{_prefix}/bin/gcov-tool +%{_prefix}/bin/gcov-dump +%{_prefix}/bin/gcc-ar +%{_prefix}/bin/gcc-nm +%{_prefix}/bin/gcc-ranlib +%{_prefix}/bin/lto-dump +%ifarch ppc +%{_prefix}/bin/%{_target_platform}-gcc +%endif +%ifarch sparc64 sparcv9 +%{_prefix}/bin/sparc-%{_vendor}-%{_target_os}-gcc +%endif +%ifarch ppc64 ppc64p7 +%{_prefix}/bin/ppc-%{_vendor}-%{_target_os}-gcc +%endif +%{_prefix}/bin/%{gcc_target_platform}-gcc* +%if 0%{?scl:1} +%{_prefix}/bin/cc +%{_prefix}/bin/cpp +%{_mandir}/man1/gcc.1* +%{_mandir}/man1/cpp.1* +%{_mandir}/man1/gcov.1* +%{_mandir}/man1/gcov-tool.1* +%{_mandir}/man1/gcov-dump.1* +%{_mandir}/man1/lto-dump.1* +%{_infodir}/gcc* +%{_infodir}/cpp* +%endif +%dir %{_prefix}/lib/gcc +%dir %{_prefix}/lib/gcc/%{gcc_target_platform} +%dir %{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major} +%dir %{_prefix}/libexec/gcc +%dir %{_prefix}/libexec/gcc/%{gcc_target_platform} +%dir %{_prefix}/libexec/gcc/%{gcc_target_platform}/%{gcc_major} +%dir %{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/include +%{_prefix}/libexec/gcc/%{gcc_target_platform}/%{gcc_major}/lto1 +%{_prefix}/libexec/gcc/%{gcc_target_platform}/%{gcc_major}/lto-wrapper +%{_prefix}/libexec/gcc/%{gcc_target_platform}/%{gcc_major}/liblto_plugin.so* +%{_libdir}/bfd-plugins/liblto_plugin.so +%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/rpmver +%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/include/stddef.h +%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/include/stdarg.h +%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/include/stdfix.h +%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/include/varargs.h +%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/include/float.h +%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/include/limits.h +%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/include/stdbool.h +%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/include/iso646.h +%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/include/syslimits.h +%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/include/unwind.h +%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/include/omp.h +%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/include/openacc.h +%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/include/acc_prof.h +%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/include/stdint.h +%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/include/stdint-gcc.h +%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/include/stdalign.h +%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/include/stdnoreturn.h +%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/include/stdatomic.h +%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/include/gcov.h +%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/include/stdckdint.h +%ifarch %{ix86} x86_64 +%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/include/mmintrin.h +%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/include/xmmintrin.h +%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/include/emmintrin.h +%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/include/pmmintrin.h +%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/include/tmmintrin.h +%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/include/ammintrin.h +%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/include/smmintrin.h +%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/include/nmmintrin.h +%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/include/bmmintrin.h +%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/include/wmmintrin.h +%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/include/immintrin.h +%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/include/avxintrin.h +%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/include/x86intrin.h +%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/include/fma4intrin.h +%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/include/xopintrin.h +%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/include/lwpintrin.h +%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/include/popcntintrin.h +%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/include/bmiintrin.h +%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/include/tbmintrin.h +%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/include/ia32intrin.h +%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/include/avx2intrin.h +%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/include/bmi2intrin.h +%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/include/f16cintrin.h +%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/include/fmaintrin.h +%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/include/lzcntintrin.h +%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/include/rtmintrin.h +%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/include/xtestintrin.h +%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/include/adxintrin.h +%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/include/prfchwintrin.h +%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/include/rdseedintrin.h +%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/include/fxsrintrin.h +%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/include/xsaveintrin.h +%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/include/xsaveoptintrin.h +%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/include/avx512cdintrin.h +%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/include/avx512erintrin.h +%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/include/avx512fintrin.h +%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/include/avx512pfintrin.h +%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/include/shaintrin.h +%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/include/mm_malloc.h +%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/include/mm3dnow.h +%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/include/cpuid.h +%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/include/cross-stdarg.h +%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/include/avx512bwintrin.h +%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/include/avx512dqintrin.h +%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/include/avx512ifmaintrin.h +%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/include/avx512ifmavlintrin.h +%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/include/avx512vbmiintrin.h +%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/include/avx512vbmivlintrin.h +%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/include/avx512vlbwintrin.h +%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/include/avx512vldqintrin.h +%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/include/avx512vlintrin.h +%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/include/clflushoptintrin.h +%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/include/clwbintrin.h +%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/include/mwaitxintrin.h +%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/include/xsavecintrin.h +%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/include/xsavesintrin.h +%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/include/clzerointrin.h +%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/include/pkuintrin.h +%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/include/avx5124fmapsintrin.h +%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/include/avx5124vnniwintrin.h +%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/include/avx512vpopcntdqintrin.h +%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/include/sgxintrin.h +%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/include/gfniintrin.h +%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/include/cetintrin.h +%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/include/cet.h +%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/include/avx512vbmi2intrin.h +%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/include/avx512vbmi2vlintrin.h +%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/include/avx512vnniintrin.h +%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/include/avx512vnnivlintrin.h +%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/include/vaesintrin.h +%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/include/vpclmulqdqintrin.h +%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/include/avx512vpopcntdqvlintrin.h +%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/include/avx512bitalgintrin.h +%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/include/pconfigintrin.h +%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/include/wbnoinvdintrin.h +%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/include/movdirintrin.h +%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/include/waitpkgintrin.h +%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/include/cldemoteintrin.h +%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/include/avx512bf16vlintrin.h +%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/include/avx512bf16intrin.h +%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/include/enqcmdintrin.h +%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/include/avx512vp2intersectintrin.h +%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/include/avx512vp2intersectvlintrin.h +%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/include/serializeintrin.h +%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/include/tsxldtrkintrin.h +%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/include/amxtileintrin.h +%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/include/amxint8intrin.h +%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/include/amxbf16intrin.h +%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/include/x86gprintrin.h +%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/include/uintrintrin.h +%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/include/hresetintrin.h +%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/include/keylockerintrin.h +%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/include/avxvnniintrin.h +%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/include/mwaitintrin.h +%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/include/avx512fp16intrin.h +%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/include/avx512fp16vlintrin.h +%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/include/avxifmaintrin.h +%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/include/avxvnniint8intrin.h +%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/include/avxneconvertintrin.h +%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/include/cmpccxaddintrin.h +%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/include/amxfp16intrin.h +%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/include/prfchiintrin.h +%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/include/raointintrin.h +%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/include/amxcomplexintrin.h +%endif +%ifarch ia64 +%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/include/ia64intrin.h +%endif +%ifarch ppc ppc64 ppc64le ppc64p7 +%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/include/ppc-asm.h +%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/include/altivec.h +%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/include/ppu_intrinsics.h +%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/include/si2vmx.h +%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/include/spu2vmx.h +%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/include/vec_types.h +%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/include/htmintrin.h +%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/include/htmxlintrin.h +%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/include/bmi2intrin.h +%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/include/bmiintrin.h +%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/include/xmmintrin.h +%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/include/mm_malloc.h +%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/include/emmintrin.h +%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/include/mmintrin.h +%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/include/x86intrin.h +%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/include/pmmintrin.h +%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/include/tmmintrin.h +%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/include/smmintrin.h +%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/include/amo.h +%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/include/nmmintrin.h +%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/include/immintrin.h +%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/include/x86gprintrin.h +%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/include/rs6000-vecdefines.h +%endif +%ifarch %{arm} +%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/include/unwind-arm-common.h +%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/include/mmintrin.h +%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/include/arm_neon.h +%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/include/arm_acle.h +%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/include/arm_cmse.h +%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/include/arm_fp16.h +%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/include/arm_bf16.h +%endif +%ifarch aarch64 +%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/include/arm_neon.h +%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/include/arm_acle.h +%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/include/arm_fp16.h +%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/include/arm_bf16.h +%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/include/arm_sve.h +%endif +%ifarch sparc sparcv9 sparc64 +%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/include/visintrin.h +%endif +%ifarch s390 s390x +%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/include/s390intrin.h +%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/include/htmintrin.h +%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/include/htmxlintrin.h +%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/include/vecintrin.h +%endif +%ifarch riscv64 +%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/include/riscv_vector.h +%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/include/riscv_crypto.h +%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/include/riscv_bitmanip.h +%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/include/riscv_th_vector.h +%endif +%if %{build_libasan} +%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/include/sanitizer +%endif +%{_prefix}/libexec/gcc/%{gcc_target_platform}/%{gcc_major}/cc1 +%{_prefix}/libexec/gcc/%{gcc_target_platform}/%{gcc_major}/collect2 +%if 0%{?scl:1} +%{_prefix}/libexec/gcc/%{gcc_target_platform}/%{gcc_major}/ar +%{_prefix}/libexec/gcc/%{gcc_target_platform}/%{gcc_major}/as +%{_prefix}/libexec/gcc/%{gcc_target_platform}/%{gcc_major}/ld +%{_prefix}/libexec/gcc/%{gcc_target_platform}/%{gcc_major}/ld.bfd +%{_prefix}/libexec/gcc/%{gcc_target_platform}/%{gcc_major}/ld.gold +%{_prefix}/libexec/gcc/%{gcc_target_platform}/%{gcc_major}/nm +%{_prefix}/libexec/gcc/%{gcc_target_platform}/%{gcc_major}/objcopy +%{_prefix}/libexec/gcc/%{gcc_target_platform}/%{gcc_major}/ranlib +%{_prefix}/libexec/gcc/%{gcc_target_platform}/%{gcc_major}/strip +%endif +%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/crt*.o +%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/libgcc.a +%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/libgcov.a +%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/libgcc_eh.a +%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/libgcc_s.so +%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/libgomp.spec +%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/libgomp.a +%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/libgomp.so +%if %{build_libitm} +%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/libitm.spec +%endif +%if %{build_libasan} +%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/libsanitizer.spec +%endif +%ifarch sparcv9 sparc64 ppc ppc64 +%if %{build_libquadmath} +%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/libquadmath.a +%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/libquadmath.so +%endif +%endif +%ifarch sparcv9 ppc +%dir %{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/64 +%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/64/crt*.o +%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/64/libgcc.a +%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/64/libgcov.a +%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/64/libgcc_eh.a +%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/64/libgcc_s.so +%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/64/libgomp.a +%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/64/libgomp.so +%if %{build_libquadmath} +%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/64/libquadmath.a +%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/64/libquadmath.so +%endif +%if %{build_libitm} +%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/64/libitm.a +%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/64/libitm.so +%endif +%if %{build_libatomic} +%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/64/libatomic.a +%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/64/libatomic.so +%endif +%if %{build_libasan} +%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/64/libasan.a +%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/64/libasan.so +%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/64/libasan_preinit.o +%endif +%if %{build_libubsan} +%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/64/libubsan.a +%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/64/libubsan.so +%endif +%endif +%ifarch %{multilib_64_archs} +%dir %{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/32 +%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/32/crt*.o +%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/32/libgcc.a +%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/32/libgcov.a +%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/32/libgcc_eh.a +%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/32/libgcc_s.so +%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/32/libgomp.a +%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/32/libgomp.so + + +%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/32/libgccjit.so +%if %{build_libquadmath} +%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/32/libquadmath.a +%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/32/libquadmath.so +%endif +%if %{build_libitm} +%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/32/libitm.a +%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/32/libitm.so +%endif +%if %{build_libatomic} +%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/32/libatomic.a +%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/32/libatomic.so +%endif +%if %{build_libasan} +%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/32/libasan.a +%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/32/libasan.so +%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/32/libasan_preinit.o +%endif +%if %{build_libubsan} +%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/32/libubsan.a +%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/32/libubsan.so +%endif +%endif +%ifarch sparcv9 sparc64 ppc ppc64 ppc64p7 +%if %{build_libquadmath} +%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/libquadmath.a +%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/libquadmath.so +%endif +%if %{build_libitm} +%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/libitm.a +%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/libitm.so +%endif +%if %{build_libatomic} +%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/libatomic.a +%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/libatomic.so +%endif +%if %{build_libasan} +%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/libasan.a +%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/libasan.so +%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/libasan_preinit.o +%endif +%if %{build_libubsan} +%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/libubsan.a +%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/libubsan.so +%endif +%if %{build_libatomic} +%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/libatomic.so +%endif +%if %{build_libtsan} +%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/libtsan.a +%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/libtsan.so +%endif +%if %{build_libhwasan} +%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/libhwasan.so +%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/libhwasan_preinit.o +%endif +%if %{build_liblsan} +%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/liblsan.a +%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/liblsan.so +%endif +%endif +%doc gcc/README* rpm.doc/changelogs/gcc/ChangeLog* gcc/COPYING* COPYING.RUNTIME + +%files -n %{?_scl_prefix}libgcc%{gcc_ver} +%{_prefix}/%{_lib}/libgcc_s-%{gcc_major}.so.1 +%{_prefix}/%{_lib}/libgcc_s.so.1 +%{!?_licensedir:%global license %%doc} +%license gcc/COPYING* COPYING.RUNTIME + + +%files -n %{?_scl_prefix}c++%{gcc_ver} +%{_prefix}/bin/%{gcc_target_platform}-g++ +%{_prefix}/bin/g++ +%if 0%{?scl:1} +%{_prefix}/bin/%{gcc_target_platform}-c++ +%{_prefix}/bin/c++ +%{_mandir}/man1/g++.1* +%endif +%dir %{_prefix}/lib/gcc +%dir %{_prefix}/lib/gcc/%{gcc_target_platform} +%dir %{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major} +%dir %{_prefix}/libexec/gcc +%dir %{_prefix}/libexec/gcc/%{gcc_target_platform} +%dir %{_prefix}/libexec/gcc/%{gcc_target_platform}/%{gcc_major} +%{_prefix}/libexec/gcc/%{gcc_target_platform}/%{gcc_major}/cc1plus +%{_prefix}/libexec/gcc/%{gcc_target_platform}/%{gcc_major}/g++-mapper-server +%ifarch sparcv9 ppc +%dir %{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/64 +%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/64/libstdc++.so +%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/64/libstdc++.a +%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/64/libstdc++fs.a +%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/64/libstdc++_nonshared.a +%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/64/libsupc++.a +%endif +%ifarch %{multilib_64_archs} +%dir %{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/32 +%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/32/libstdc++.so +%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/32/libstdc++.a +%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/32/libstdc++fs.a +%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/32/libstdc++_nonshared.a +%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/32/libsupc++.a +%endif +%ifarch sparcv9 ppc %{multilib_64_archs} +%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/libstdc++.so +%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/libsupc++.a +%endif +%ifarch sparcv9 sparc64 ppc ppc64 +%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/libstdc++.a +%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/libstdc++fs.a +%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/libstdc++_nonshared.a +%endif +%doc rpm.doc/changelogs/gcc/cp/ChangeLog* + + +%files -n %{?_scl_prefix}libstdc++%{gcc_ver}-devel +%dir %{_prefix}/include/c++ +%{_prefix}/include/c++/%{gcc_major} +%dir %{_prefix}/lib/gcc +%dir %{_prefix}/lib/gcc/%{gcc_target_platform} +%dir %{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major} +%ifarch sparcv9 ppc +%dir %{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/lib32 +%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/lib32/libstdc++.a +%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/lib32/libstdc++fs.a +%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/lib32/libstdc++_nonshared.a +%endif +%ifarch sparc64 ppc64 +%dir %{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/lib64 +%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/lib64/libstdc++.a +%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/lib64/libstdc++fs.a +%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/lib64/libstdc++_nonshared.a +%endif +%ifnarch sparcv9 sparc64 ppc ppc64 +%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/libstdc++.a +%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/libstdc++fs.a +%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/libstdc++_nonshared.a +%endif +%ifnarch sparcv9 ppc %{multilib_64_archs} +%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/libstdc++.so +%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/libsupc++.a +%endif +%doc rpm.doc/changelogs/libstdc++-v3/ChangeLog* libstdc++-v3/README* + + +%if %{build_libstdcxx_docs} +%files -n %{?_scl_prefix}libstdc++%{gcc_ver}-docs +%{_mandir}/man3/* +%doc rpm.doc/libstdc++-v3/html +%endif + +%files -n %{?_scl_prefix}gfortran%{gcc_ver} +%{_prefix}/bin/gfortran +%{_prefix}/bin/f95 +%if 0%{?scl:1} +%{_mandir}/man1/gfortran.1* +%{_infodir}/gfortran* +%endif +%dir %{_prefix}/lib/gcc +%dir %{_prefix}/lib/gcc/%{gcc_target_platform} +%dir %{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major} +%dir %{_prefix}/libexec/gcc +%dir %{_prefix}/libexec/gcc/%{gcc_target_platform} +%dir %{_prefix}/libexec/gcc/%{gcc_target_platform}/%{gcc_major} +%dir %{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/include +%dir %{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/finclude +%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/include/ISO_Fortran_binding.h +%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/finclude/omp_lib.h +%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/finclude/omp_lib.f90 +%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/finclude/omp_lib.mod +%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/finclude/omp_lib_kinds.mod +%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/finclude/openacc.f90 +%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/finclude/openacc.mod +%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/finclude/openacc_kinds.mod +%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/finclude/openacc_lib.h +%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/finclude/ieee_arithmetic.mod +%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/finclude/ieee_exceptions.mod +%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/finclude/ieee_features.mod +%{_prefix}/libexec/gcc/%{gcc_target_platform}/%{gcc_major}/f951 +%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/libgfortran.spec +%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/libcaf_single.a +%ifarch sparcv9 sparc64 ppc ppc64 ppc64p7 +%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/libgfortran.a +%endif +%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/libgfortran.so +%ifarch sparcv9 ppc +%dir %{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/64 +%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/64/libcaf_single.a +%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/64/libgfortran.a +%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/64/libgfortran.so +%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/64/finclude +%endif +%ifarch %{multilib_64_archs} +%dir %{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/32 +%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/32/libcaf_single.a +%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/32/libgfortran.a +%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/32/libgfortran.so +%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/32/finclude +%endif +%dir %{_fmoddir} +%doc rpm.doc/gfortran/* + +%files -n %{?_scl_prefix}libgfortran%{gcc_ver}-devel +%dir %{_prefix}/lib/gcc +%dir %{_prefix}/lib/gcc/%{gcc_target_platform} +%dir %{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major} +%ifarch sparcv9 ppc +%dir %{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/lib32 +%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/lib32/libgfortran.a +%endif +%ifarch sparc64 ppc64 ppc64p7 +%dir %{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/lib64 +%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/lib64/libgfortran.a +%endif +%ifnarch sparcv9 sparc64 ppc ppc64 ppc64p7 +%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/libgfortran.a +%endif +%if %{build_libquadmath} +%files -n %{?_scl_prefix}libquadmath%{gcc_ver}-devel +%dir %{_prefix}/lib/gcc +%dir %{_prefix}/lib/gcc/%{gcc_target_platform} +%dir %{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major} +%dir %{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/include +%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/include/quadmath.h +%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/include/quadmath_weak.h +%ifarch sparcv9 ppc +%dir %{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/lib32 +%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/lib32/libquadmath.a +%endif +%ifarch sparc64 ppc64 ppc64p7 +%dir %{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/lib64 +%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/lib64/libquadmath.a +%endif +%ifnarch sparcv9 sparc64 ppc ppc64 ppc64p7 +%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/libquadmath.a +%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/libquadmath.so +%endif +%dir %{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major} +%doc rpm.doc/libquadmath/ChangeLog* +%endif + +%if %{build_libitm} +%files -n %{?_scl_prefix}libitm%{gcc_ver}-devel +%dir %{_prefix}/lib/gcc +%dir %{_prefix}/lib/gcc/%{gcc_target_platform} +%dir %{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major} +%ifarch sparcv9 ppc +%dir %{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/lib32 +%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/lib32/libitm.a +%endif +%ifarch sparc64 ppc64 ppc64p7 +%dir %{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/lib64 +%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/lib64/libitm.a +%endif +%ifnarch sparcv9 sparc64 ppc ppc64 ppc64p7 +%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/libitm.so +%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/libitm.a +%endif +%doc rpm.doc/libitm/ChangeLog* +%endif + +%if %{build_libatomic} +%files -n %{?_scl_prefix}libatomic%{gcc_ver}-devel +%dir %{_prefix}/lib/gcc +%dir %{_prefix}/lib/gcc/%{gcc_target_platform} +%dir %{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major} +%ifarch sparcv9 ppc +%dir %{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/lib32 +%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/lib32/libatomic.a +%endif +%ifarch sparc64 ppc64 ppc64p7 +%dir %{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/lib64 +%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/lib64/libatomic.a +%endif +%ifnarch sparcv9 sparc64 ppc ppc64 ppc64p7 +%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/libatomic.so +%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/libatomic.a +%endif +%doc rpm.doc/changelogs/libatomic/ChangeLog* +%endif + +%if %{build_libasan} +%files -n %{?_scl_prefix}libasan%{gcc_ver} +%{_prefix}/%{_lib}/libasan.so* + +%files -n %{?_scl_prefix}libasan%{gcc_ver}-devel +%dir %{_prefix}/lib/gcc +%dir %{_prefix}/lib/gcc/%{gcc_target_platform} +%dir %{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major} +%ifarch sparcv9 ppc +%dir %{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/lib32 +%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/lib32/libasan.a +%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/lib32/libasan_preinit.o +%endif +%ifarch sparc64 ppc64 ppc64p7 +%dir %{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/lib64 +%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/lib64/libasan.a +%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/lib64/libasan_preinit.o +%endif +%ifnarch sparcv9 sparc64 ppc ppc64 ppc64p7 +%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/libasan.so +%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/libasan.a +%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/libasan_preinit.o +%endif +%doc rpm.doc/changelogs/libsanitizer/ChangeLog* libsanitizer/LICENSE.TXT +%endif + + + +%if %{build_libtsan} +%files -n %{?_scl_prefix}libtsan%{gcc_ver} +%{_prefix}/%{_lib}/libtsan.so* + +%files -n %{?_scl_prefix}libtsan%{gcc_ver}-devel +%dir %{_prefix}/lib/gcc +%dir %{_prefix}/lib/gcc/%{gcc_target_platform} +%dir %{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major} +%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/libtsan.so +%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/libtsan_preinit.o +%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/libtsan.a +%doc rpm.doc/changelogs/libsanitizer/ChangeLog* +%{!?_licensedir:%global license %%doc} +%license libsanitizer/LICENSE.TXT +%endif + +%if %{build_libubsan} +%files -n %{?_scl_prefix}libubsan%{gcc_ver} +%{_prefix}/%{_lib}/libubsan.so* + +%files -n %{?_scl_prefix}libubsan%{gcc_ver}-devel +%dir %{_prefix}/lib/gcc +%dir %{_prefix}/lib/gcc/%{gcc_target_platform} +%dir %{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major} +%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/libubsan.so +%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/libubsan.a +%doc rpm.doc/changelogs/libsanitizer/ChangeLog* libsanitizer/LICENSE.TXT +%endif + +%if %{build_libhwasan} +%files -n %{?_scl_prefix}libhwasan%{gcc_ver} +%{_prefix}/%{_lib}/libhwasan.so.0* + +%files -n %{?_scl_prefix}libhwasan%{gcc_ver}-devel +%dir %{_prefix}/lib/gcc +%dir %{_prefix}/lib/gcc/%{gcc_target_platform} +%dir %{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major} +%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/libhwasan.so +%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/libhwasan_preinit.o +%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/libhwasan.a +%doc rpm.doc/changelogs/libsanitizer/ChangeLog* +%{!?_licensedir:%global license %%doc} +%license libsanitizer/LICENSE.TXT +%endif + + +%if %{build_liblsan} +%files -n %{?_scl_prefix}liblsan%{gcc_ver} +%{_prefix}/%{_lib}/liblsan.so* + +%files -n %{?_scl_prefix}liblsan%{gcc_ver}-devel +%dir %{_prefix}/lib/gcc +%dir %{_prefix}/lib/gcc/%{gcc_target_platform} +%dir %{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major} +%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/liblsan.so +%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/liblsan_preinit.o +%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/liblsan.a +%doc rpm.doc/changelogs/libsanitizer/ChangeLog* libsanitizer/LICENSE.TXT +%endif + + +%files -n %{?_scl_prefix}libgccjit%{gcc_ver} +%{_prefix}/%{_lib}/libgccjit.so.* +%doc rpm.doc/changelogs/gcc/jit/ChangeLog* + +%files -n %{?_scl_prefix}libgccjit%{gcc_ver}-devel +%dir %{_prefix}/lib/gcc +%dir %{_prefix}/lib/gcc/%{gcc_target_platform} +%dir %{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major} +%dir %{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/include +%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/libgccjit.so +%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/include/libgccjit*.h + +%if 0 +%files -n %{?_scl_prefix}libgccjit-docs +%{_infodir}/libgccjit.info* +%doc rpm.doc/libgccjit-devel/* +%doc gcc/jit/docs/examples +%endif + +%files -n %{?_scl_prefix}plugin%{gcc_ver}-devel +%dir %{_prefix}/lib/gcc +%dir %{_prefix}/lib/gcc/%{gcc_target_platform} +%dir %{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major} +%dir %{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/plugin +%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/plugin/gtype.state +%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/plugin/include +%dir %{_prefix}/libexec/gcc +%dir %{_prefix}/libexec/gcc/%{gcc_target_platform} +%dir %{_prefix}/libexec/gcc/%{gcc_target_platform}/%{gcc_major} +%{_prefix}/libexec/gcc/%{gcc_target_platform}/%{gcc_major}/plugin + +%files gdb-plugin +%{_prefix}/%{_lib}/libcc1.so* +%dir %{_prefix}/lib/gcc +%dir %{_prefix}/lib/gcc/%{gcc_target_platform} +%dir %{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major} +%dir %{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/plugin +%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/plugin/libcc1plugin.so* +%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/plugin/libcp1plugin.so* +%doc rpm.doc/changelogs/libcc1/ChangeLog* + +%changelog +* Mon Aug 12 2024 zhaoshujian - 14.2.1-1 +- Init gcc toolset gcc 14.2.1 + +