https://gcc.gnu.org/g:d4a777d098d524a3f26c3db28e50d064a7a4407e

commit r15-7677-gd4a777d098d524a3f26c3db28e50d064a7a4407e
Author: Jonathan Wakely <jwak...@redhat.com>
Date:   Sat Feb 22 21:02:29 2025 +0000

    libstdc++: Fix bootstrap failure with --enable-vtable-verify [PR118981]
    
    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).

Diff:
---
 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 c3bb6a12ccc1..9cf9eeccc599 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

Reply via email to