From: Jakub Jelinek Date: Mon, 31 Mar 2025 05:39:53 +0000 (+0200) Subject: libstdc++: Fix up string _M_constructor exports [PR103827] X-Git-Tag: basepoints/gcc-16~503 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=78aed0ae5de801cc1e8220b214145300b28da562;p=thirdparty%2Fgcc.git libstdc++: Fix up string _M_constructor exports [PR103827] On Thu, Mar 27, 2025 at 02:04:24PM +0100, Jan Hubicka wrote: > Seems I missed the approval, sorry. I will push it - I think it would > be useful to have it in. Unfortunately the exports in this patch only work on targets where size_t is unsigned long, not e.g. on ia32 where it is unsigned int, or targets where it is unsigned long long. 2025-03-31 Jakub Jelinek PR tree-optimization/103827 PR tree-optimization/80331 PR tree-optimization/87502 * config/abi/pre/gnu.ver (GLIBCXX_3.4.34): Use [jmy] rather than m in pattern for _M_construct(char const*, size_t). --- diff --git a/libstdc++-v3/config/abi/pre/gnu.ver b/libstdc++-v3/config/abi/pre/gnu.ver index eb230290313..10bf9975d45 100644 --- a/libstdc++-v3/config/abi/pre/gnu.ver +++ b/libstdc++-v3/config/abi/pre/gnu.ver @@ -2540,9 +2540,9 @@ GLIBCXX_3.4.34 { _ZNSt8__format25__locale_encoding_to_utf8ERKSt6localeSt17basic_string_viewIcSt11char_traitsIcEEPv; # __sso_string constructor and destructor _ZNSt12__sso_string[CD][12]Ev; - # void std::__cxx11::basic_string, std::allocator >::_M_construct(char const*, unsigned long) + # void std::__cxx11::basic_string, std::allocator >::_M_construct(char const*, size_t) # and wide char version - _ZNSt7__cxx1112basic_stringI[cw]St11char_traitsI[cw]ESaI[cw]EE12_M_constructILb[01]EEEvPK[cw]m; + _ZNSt7__cxx1112basic_stringI[cw]St11char_traitsI[cw]ESaI[cw]EE12_M_constructILb[01]EEEvPK[cw][jmy]; } GLIBCXX_3.4.33; # Symbols in the support library (libsupc++) have their own tag.