The compiler emits code with init_priority(99) for -fvtable-verify=std and that creates a section conflict with the uses of init_priority(99) that I recently added to src/c++20/tzdb.cc.
Change tzdb.cc to use a different priority to avoid the conflict. libstdc++-v3/ChangeLog: PR c++/118981 * src/c++20/tzdb.cc: Use init_priority(98) instead of init_priority(99). --- Tested x86_64-linux, and bootstrapped with --enable-vtable-verify. Pushed to trunk. libstdc++-v3/src/c++20/tzdb.cc | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/libstdc++-v3/src/c++20/tzdb.cc b/libstdc++-v3/src/c++20/tzdb.cc index c3bb6a12ccc..9cf9eeccc59 100644 --- a/libstdc++-v3/src/c++20/tzdb.cc +++ b/libstdc++-v3/src/c++20/tzdb.cc @@ -181,14 +181,14 @@ namespace std::chrono #pragma GCC diagnostic ignored "-Wprio-ctor-dtor" - [[gnu::init_priority(99)]] + [[gnu::init_priority(98)]] constinit tzdb_list tzdb_list::_Node::_S_the_list(nullptr); - [[gnu::init_priority(99)]] + [[gnu::init_priority(98)]] constinit tzdb_list::_Node::head_ptr tzdb_list::_Node::_S_head_owner{nullptr}; #if USE_ATOMIC_LIST_HEAD - [[gnu::init_priority(99)]] + [[gnu::init_priority(98)]] constinit atomic<tzdb_list::_Node*> tzdb_list::_Node::_S_head_cache{nullptr}; #endif -- 2.48.1