A fix for another bootstrap error caused by yesterday's C++20 time zone commit, for macOS this time.
I have only tested on x86_64-linux but Iain confirmed this works for his darwin testers. Pushed to trunk. -- >8 -- Mach-O requires weak symbols to have a definition, so add a default implementation of __gnu_cxx::zoneinfo_dir_override. libstdc++-v3/ChangeLog: * src/c++20/tzdb.cc [__APPLE__] (zoneinfo_dir_override): Add definition. --- libstdc++-v3/src/c++20/tzdb.cc | 13 ++++++++++--- 1 file changed, 10 insertions(+), 3 deletions(-) diff --git a/libstdc++-v3/src/c++20/tzdb.cc b/libstdc++-v3/src/c++20/tzdb.cc index a02bcd4aec7..5f5c4199f65 100644 --- a/libstdc++-v3/src/c++20/tzdb.cc +++ b/libstdc++-v3/src/c++20/tzdb.cc @@ -52,6 +52,10 @@ # endif #endif +#ifndef _GLIBCXX_ZONEINFO_DIR +# define _GLIBCXX_ZONEINFO_DIR "/usr/share/zoneinfo" +#endif + namespace __gnu_cxx { #ifdef _AIX @@ -59,6 +63,12 @@ namespace __gnu_cxx const char* (*zoneinfo_dir_override)() = nullptr; #else [[gnu::weak]] const char* zoneinfo_dir_override(); + +#ifdef __APPLE__ + // Need a weak definition for Mach-O. + [[gnu::weak]] const char* zoneinfo_dir_override() + { return _GLIBCXX_ZONEINFO_DIR; } +#endif #endif } @@ -934,9 +944,6 @@ namespace std::chrono return info; } -#ifndef _GLIBCXX_ZONEINFO_DIR -# define _GLIBCXX_ZONEINFO_DIR "/usr/share/zoneinfo" -#endif namespace { string -- 2.38.1