On Mon, 20 Jul 2026 at 13:04, Tomasz Kamiński <[email protected]> wrote: > > As part of the backport of r17-471-ge79f0f818c0e42 and > r17-2193-g50cbacfaa1e776), > the corresponding exports of chrono::__detail::__recent_leap_second_info and > specializations of basic_format_arg::_M_handle_unrecognized also need to be > introduced. This also require bump of the libtool_VERSION to 3.4.36. > > This patch bumps version again to 3.4.37 and moves remaining symbols defined > in GCC 17 (basic_string's _S_allocate_at_least and _M_create_plus) to it. > > libstdc++-v3/ChangeLog: > > * acinclude.m4 (libtool_VERSION): Bump version. > * config/abi/pre/gnu.ver (GLIBCXX_3.4.37): Add new symbol > version and move basic_string's _S_allocate_at_least and > _M_create_plus symbols to it. > * config/abi/post/x86_64-linux-gnu/baseline_symbols.txt: > Regenereate include new 3.4.36 symbols.
OK with "Regenerate" fixed above. > * config/abi/post/powerpc64le-linux-gnu/baseline_symbols.txt: > Likewise. > * configure: Regenerate. > * testsuite/util/testsuite_abi.cc: Update known_versions > and latestp. > > Reviewed-by: Jonathan Wakely <[email protected]> > Signed-off-by: Tomasz Kamiński <[email protected]> > --- > v2 updates baseline symbols for x86_64-linux and powerpc64-le. > > OK for trunk? > > libstdc++-v3/acinclude.m4 | 2 +- > .../abi/post/powerpc64le-linux-gnu/baseline_symbols.txt | 4 ++++ > .../abi/post/x86_64-linux-gnu/baseline_symbols.txt | 4 ++++ > libstdc++-v3/config/abi/pre/gnu.ver | 9 +++++++-- > libstdc++-v3/configure | 2 +- > libstdc++-v3/testsuite/util/testsuite_abi.cc | 3 ++- > 6 files changed, 19 insertions(+), 5 deletions(-) > > diff --git a/libstdc++-v3/acinclude.m4 b/libstdc++-v3/acinclude.m4 > index c064b1271ec..7942ce0ffa2 100644 > --- a/libstdc++-v3/acinclude.m4 > +++ b/libstdc++-v3/acinclude.m4 > @@ -4087,7 +4087,7 @@ changequote([,])dnl > fi > > # For libtool versioning info, format is CURRENT:REVISION:AGE > -libtool_VERSION=6:36:0 > +libtool_VERSION=6:37:0 > > # Everything parsed; figure out what files and settings to use. > case $enable_symvers in > diff --git > a/libstdc++-v3/config/abi/post/powerpc64le-linux-gnu/baseline_symbols.txt > b/libstdc++-v3/config/abi/post/powerpc64le-linux-gnu/baseline_symbols.txt > index 43eca8d251c..276b4167c7f 100644 > --- a/libstdc++-v3/config/abi/post/powerpc64le-linux-gnu/baseline_symbols.txt > +++ b/libstdc++-v3/config/abi/post/powerpc64le-linux-gnu/baseline_symbols.txt > @@ -582,6 +582,8 @@ > FUNC:_ZNKSt15basic_streambufIwSt11char_traitsIwEE6getlocEv@@GLIBCXX_3.4 > FUNC:_ZNKSt15basic_stringbufIcSt11char_traitsIcESaIcEE3strEv@@GLIBCXX_3.4 > FUNC:_ZNKSt15basic_stringbufIwSt11char_traitsIwESaIwEE3strEv@@GLIBCXX_3.4 > FUNC:_ZNKSt16bad_array_length4whatEv@@CXXABI_1.3.8 > +FUNC:_ZNKSt16basic_format_argISt20basic_format_contextINSt8__format10_Sink_iterIcEEcEE22_M_handle_unrecognizedEv@@GLIBCXX_3.4.36 > +FUNC:_ZNKSt16basic_format_argISt20basic_format_contextINSt8__format10_Sink_iterIwEEwEE22_M_handle_unrecognizedEv@@GLIBCXX_3.4.36 > > FUNC:_ZNKSt17__gnu_cxx_ieee1287num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE14_M_extract_intB5cxx11IjEES4_S4_S4_RSt8ios_baseRSt12_Ios_IostateRT_@@GLIBCXX_IEEE128_3.4.29 > > FUNC:_ZNKSt17__gnu_cxx_ieee1287num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE14_M_extract_intB5cxx11IlEES4_S4_S4_RSt8ios_baseRSt12_Ios_IostateRT_@@GLIBCXX_IEEE128_3.4.29 > > FUNC:_ZNKSt17__gnu_cxx_ieee1287num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE14_M_extract_intB5cxx11ImEES4_S4_S4_RSt8ios_baseRSt12_Ios_IostateRT_@@GLIBCXX_IEEE128_3.4.29 > @@ -3530,6 +3532,7 @@ FUNC:_ZNSt6chrono13get_tzdb_listEv@@GLIBCXX_3.4.31 > FUNC:_ZNSt6chrono14remote_versionB5cxx11Ev@@GLIBCXX_3.4.31 > FUNC:_ZNSt6chrono3_V212steady_clock3nowEv@@GLIBCXX_3.4.19 > FUNC:_ZNSt6chrono3_V212system_clock3nowEv@@GLIBCXX_3.4.19 > +FUNC:_ZNSt6chrono8__detail25__recent_leap_second_infoERNS_16leap_second_infoEj@@GLIBCXX_3.4.36 > FUNC:_ZNSt6chrono8get_tzdbEv@@GLIBCXX_3.4.31 > FUNC:_ZNSt6chrono9gps_clock3nowEv@@GLIBCXX_3.4.35 > FUNC:_ZNSt6chrono9tai_clock3nowEv@@GLIBCXX_3.4.35 > @@ -5143,6 +5146,7 @@ OBJECT:0:GLIBCXX_3.4.32 > OBJECT:0:GLIBCXX_3.4.33 > OBJECT:0:GLIBCXX_3.4.34 > OBJECT:0:GLIBCXX_3.4.35 > +OBJECT:0:GLIBCXX_3.4.36 > OBJECT:0:GLIBCXX_3.4.4 > OBJECT:0:GLIBCXX_3.4.5 > OBJECT:0:GLIBCXX_3.4.6 > diff --git > a/libstdc++-v3/config/abi/post/x86_64-linux-gnu/baseline_symbols.txt > b/libstdc++-v3/config/abi/post/x86_64-linux-gnu/baseline_symbols.txt > index 8d885822112..f1b142c95bd 100644 > --- a/libstdc++-v3/config/abi/post/x86_64-linux-gnu/baseline_symbols.txt > +++ b/libstdc++-v3/config/abi/post/x86_64-linux-gnu/baseline_symbols.txt > @@ -582,6 +582,8 @@ > FUNC:_ZNKSt15basic_streambufIwSt11char_traitsIwEE6getlocEv@@GLIBCXX_3.4 > FUNC:_ZNKSt15basic_stringbufIcSt11char_traitsIcESaIcEE3strEv@@GLIBCXX_3.4 > FUNC:_ZNKSt15basic_stringbufIwSt11char_traitsIwESaIwEE3strEv@@GLIBCXX_3.4 > FUNC:_ZNKSt16bad_array_length4whatEv@@CXXABI_1.3.8 > +FUNC:_ZNKSt16basic_format_argISt20basic_format_contextINSt8__format10_Sink_iterIcEEcEE22_M_handle_unrecognizedEv@@GLIBCXX_3.4.36 > +FUNC:_ZNKSt16basic_format_argISt20basic_format_contextINSt8__format10_Sink_iterIwEEwEE22_M_handle_unrecognizedEv@@GLIBCXX_3.4.36 > FUNC:_ZNKSt17bad_function_call4whatEv@@GLIBCXX_3.4.18 > FUNC:_ZNKSt18basic_stringstreamIcSt11char_traitsIcESaIcEE3strEv@@GLIBCXX_3.4 > > FUNC:_ZNKSt18basic_stringstreamIcSt11char_traitsIcESaIcEE5rdbufEv@@GLIBCXX_3.4 > @@ -3169,6 +3171,7 @@ FUNC:_ZNSt6chrono13get_tzdb_listEv@@GLIBCXX_3.4.31 > FUNC:_ZNSt6chrono14remote_versionB5cxx11Ev@@GLIBCXX_3.4.31 > FUNC:_ZNSt6chrono3_V212steady_clock3nowEv@@GLIBCXX_3.4.19 > FUNC:_ZNSt6chrono3_V212system_clock3nowEv@@GLIBCXX_3.4.19 > +FUNC:_ZNSt6chrono8__detail25__recent_leap_second_infoERNS_16leap_second_infoEj@@GLIBCXX_3.4.36 > FUNC:_ZNSt6chrono8get_tzdbEv@@GLIBCXX_3.4.31 > FUNC:_ZNSt6chrono9gps_clock3nowEv@@GLIBCXX_3.4.35 > FUNC:_ZNSt6chrono9tai_clock3nowEv@@GLIBCXX_3.4.35 > @@ -4693,6 +4696,7 @@ OBJECT:0:GLIBCXX_3.4.32 > OBJECT:0:GLIBCXX_3.4.33 > OBJECT:0:GLIBCXX_3.4.34 > OBJECT:0:GLIBCXX_3.4.35 > +OBJECT:0:GLIBCXX_3.4.36 > OBJECT:0:GLIBCXX_3.4.4 > OBJECT:0:GLIBCXX_3.4.5 > OBJECT:0:GLIBCXX_3.4.6 > diff --git a/libstdc++-v3/config/abi/pre/gnu.ver > b/libstdc++-v3/config/abi/pre/gnu.ver > index 9e1bebb4f50..4fbb87acee3 100644 > --- a/libstdc++-v3/config/abi/pre/gnu.ver > +++ b/libstdc++-v3/config/abi/pre/gnu.ver > @@ -2623,7 +2623,7 @@ GLIBCXX_3.4.35 { > > } GLIBCXX_3.4.34; > > -# GCC 17.1.0 > +# GCC 16.2.0 > GLIBCXX_3.4.36 { > > > _ZNSt6chrono8__detail25__recent_leap_second_infoERNS_16leap_second_infoEj; > @@ -2632,11 +2632,16 @@ GLIBCXX_3.4.36 { > # basic_format_arg<wformat_context>::handle > basic_format_arg<wformat_context>::_M_handle_unrecognized() const; > > _ZNKSt16basic_format_argISt20basic_format_contextINSt8__format10_Sink_iterI[cw]EE[cw]EE22_M_handle_unrecognizedEv; > > +} GLIBCXX_3.4.35; > + > +# GCC 17.1.0 > +GLIBCXX_3.4.37 { > + > # basic_string::allocate_at_least > > _ZNSt7__cxx1112basic_stringI[cw]St11char_traitsI[cw]ESaI[cw]EE*_S_allocate_*; > > _ZNSt7__cxx1112basic_stringI[cw]St11char_traitsI[cw]ESaI[cw]EE*_M_create_*; > > -} GLIBCXX_3.4.35; > +} GLIBCXX_3.4.36; > > # Symbols in the support library (libsupc++) have their own tag. > CXXABI_1.3 { > diff --git a/libstdc++-v3/configure b/libstdc++-v3/configure > index 101212d06a8..96e3298a28b 100755 > --- a/libstdc++-v3/configure > +++ b/libstdc++-v3/configure > @@ -51016,7 +51016,7 @@ $as_echo "$as_me: WARNING: === Symbol versioning will > be disabled." >&2;} > fi > > # For libtool versioning info, format is CURRENT:REVISION:AGE > -libtool_VERSION=6:36:0 > +libtool_VERSION=6:37:0 > > # Everything parsed; figure out what files and settings to use. > case $enable_symvers in > diff --git a/libstdc++-v3/testsuite/util/testsuite_abi.cc > b/libstdc++-v3/testsuite/util/testsuite_abi.cc > index 4e80c5f184a..bc637f6671c 100644 > --- a/libstdc++-v3/testsuite/util/testsuite_abi.cc > +++ b/libstdc++-v3/testsuite/util/testsuite_abi.cc > @@ -218,6 +218,7 @@ check_version(symbol& test, bool added) > known_versions.push_back("GLIBCXX_3.4.34"); > known_versions.push_back("GLIBCXX_3.4.35"); > known_versions.push_back("GLIBCXX_3.4.36"); > + known_versions.push_back("GLIBCXX_3.4.37"); > known_versions.push_back("GLIBCXX_LDBL_3.4.31"); > known_versions.push_back("GLIBCXX_IEEE128_3.4.29"); > known_versions.push_back("GLIBCXX_IEEE128_3.4.30"); > @@ -261,7 +262,7 @@ check_version(symbol& test, bool added) > test.version_status = symbol::incompatible; > > // Check that added symbols are added in the latest pre-release > version. > - bool latestp = (test.version_name == "GLIBCXX_3.4.36" > + bool latestp = (test.version_name == "GLIBCXX_3.4.37" > || test.version_name == "CXXABI_1.3.17" > || test.version_name == "CXXABI_FLOAT128" > || test.version_name == "CXXABI_TM_1"); > -- > 2.55.0 >
