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
>

Reply via email to