Hi Honza, >>> 2 >>> _ZNKSt8ios_base6getlocEv >>> std::ios_base::getloc() const >>> version status: incompatible >>> GLIBCXX_3.4 >>> type: function >>> status: added >>> >>> Are there very recent inlining changes? >>> >> Yes. >> > This might be patch I commited today morning. It would help if you > could just send me testcase showing what function is not getting inlined > and I will investigate. > Thanks. Indeed, I was thinking that even if this kind of problem shows a weakness in the way we are matching patterns in the linker script, isn't so *obvious* that quite a few functions are not inlined anymore...
Anyway, as regards *which* specific functions are not inlined, I would say all the functions which break the ABI test as newly exported symbols should be checked, like the above, 'std::ios_base::getloc() const'. I'm attaching below a complete list, from my libstdc++.log, but I would guess should be easy to reproduce with a GCC tree post your last changes... Thanks again, Paolo. ////////////////// 11 incompatible symbols 0 _ZN9__gnu_cxx8__detail9__find_ifIPSt4pairIPNS_16bitmap_allocatorIwE12_Alloc_blockES6_ENS0_12_Functor_RefINS0_12_Ffit_finderIS6_EEEEEET_SD_SD_T0_ std::pair<__gnu_cxx::bitmap_allocator<wchar_t>::_Alloc_block*, __gnu_cxx::bitmap_allocator<wchar_t>::_Alloc_block*>* __gnu_cxx::__detail::__find_if<std::pair<__gnu_cxx::bitmap_allocator<wchar_t>::_Alloc_block*, __gnu_cxx::bitmap_allocator<wchar_t>::_Alloc_block*>*, __gnu_cxx::__detail::_Functor_Ref<__gnu_cxx::__detail::_Ffit_finder<__gnu_cxx::bitmap_allocator<wchar_t>::_Alloc_block*> > >(std::pair<__gnu_cxx::bitmap_allocator<wchar_t>::_Alloc_block*, __gnu_cxx::bitmap_allocator<wchar_t>::_Alloc_block*>*, std::pair<__gnu_cxx::bitmap_allocator<wchar_t>::_Alloc_block*, __gnu_cxx::bitmap_allocator<wchar_t>::_Alloc_block*>*, __gnu_cxx::__detail::_Functor_Ref<__gnu_cxx::__detail::_Ffit_finder<__gnu_cxx::bitmap_allocator<wchar_t>::_Alloc_block*> >) version status: incompatible GLIBCXX_3.4 type: function status: added 1 _ZNSbIwSt11char_traitsIwESaIwEE6assignIPKwEERS2_T_S7_ std::basic_string<wchar_t, std::char_traits<wchar_t>, std::allocator<wchar_t> >& std::basic_string<wchar_t, std::char_traits<wchar_t>, std::allocator<wchar_t> >::assign<wchar_t const*>(wchar_t const*, wchar_t const*) version status: incompatible GLIBCXX_3.4 type: function status: added 2 _ZNKSt8ios_base6getlocEv std::ios_base::getloc() const version status: incompatible GLIBCXX_3.4 type: function status: added 3 _ZNSs6assignIPKcEERSsT_S3_ std::string& std::string::assign<char const*>(char const*, char const*) version status: incompatible GLIBCXX_3.4 type: function status: added 4 _ZNSs6appendIPKcEERSsT_S3_ std::string& std::string::append<char const*>(char const*, char const*) version status: incompatible GLIBCXX_3.4 type: function status: added 5 _ZNSs6insertIPKcEEvN9__gnu_cxx17__normal_iteratorIPcSsEET_S6_ void std::string::insert<char const*>(__gnu_cxx::__normal_iterator<char*, std::string>, char const*, char const*) version status: incompatible GLIBCXX_3.4 type: function status: added 6 _ZNSbIwSt11char_traitsIwESaIwEE6appendIPKwEERS2_T_S7_ std::basic_string<wchar_t, std::char_traits<wchar_t>, std::allocator<wchar_t> >& std::basic_string<wchar_t, std::char_traits<wchar_t>, std::allocator<wchar_t> >::append<wchar_t const*>(wchar_t const*, wchar_t const*) version status: incompatible GLIBCXX_3.4 type: function status: added 7 _ZN9__gnu_cxx8__detail9__find_ifIPSt4pairIPNS_16bitmap_allocatorIcE12_Alloc_blockES6_ENS0_12_Functor_RefINS0_12_Ffit_finderIS6_EEEEEET_SD_SD_T0_ std::pair<__gnu_cxx::bitmap_allocator<char>::_Alloc_block*, __gnu_cxx::bitmap_allocator<char>::_Alloc_block*>* __gnu_cxx::__detail::__find_if<std::pair<__gnu_cxx::bitmap_allocator<char>::_Alloc_block*, __gnu_cxx::bitmap_allocator<char>::_Alloc_block*>*, __gnu_cxx::__detail::_Functor_Ref<__gnu_cxx::__detail::_Ffit_finder<__gnu_cxx::bitmap_allocator<char>::_Alloc_block*> > >(std::pair<__gnu_cxx::bitmap_allocator<char>::_Alloc_block*, __gnu_cxx::bitmap_allocator<char>::_Alloc_block*>*, std::pair<__gnu_cxx::bitmap_allocator<char>::_Alloc_block*, __gnu_cxx::bitmap_allocator<char>::_Alloc_block*>*, __gnu_cxx::__detail::_Functor_Ref<__gnu_cxx::__detail::_Ffit_finder<__gnu_cxx::bitmap_allocator<char>::_Alloc_block*> >) version status: incompatible GLIBCXX_3.4 type: function status: added 8 _ZN9__gnu_cxx8__detail9__find_ifIPSt4pairIPNS_16bitmap_allocatorIwE12_Alloc_blockES6_ENS0_18_Inclusive_betweenIS6_EEEET_SB_SB_T0_ std::pair<__gnu_cxx::bitmap_allocator<wchar_t>::_Alloc_block*, __gnu_cxx::bitmap_allocator<wchar_t>::_Alloc_block*>* __gnu_cxx::__detail::__find_if<std::pair<__gnu_cxx::bitmap_allocator<wchar_t>::_Alloc_block*, __gnu_cxx::bitmap_allocator<wchar_t>::_Alloc_block*>*, __gnu_cxx::__detail::_Inclusive_between<__gnu_cxx::bitmap_allocator<wchar_t>::_Alloc_block*> >(std::pair<__gnu_cxx::bitmap_allocator<wchar_t>::_Alloc_block*, __gnu_cxx::bitmap_allocator<wchar_t>::_Alloc_block*>*, std::pair<__gnu_cxx::bitmap_allocator<wchar_t>::_Alloc_block*, __gnu_cxx::bitmap_allocator<wchar_t>::_Alloc_block*>*, __gnu_cxx::__detail::_Inclusive_between<__gnu_cxx::bitmap_allocator<wchar_t>::_Alloc_block*>) version status: incompatible GLIBCXX_3.4 type: function status: added 9 _ZN9__gnu_cxx8__detail9__find_ifIPSt4pairIPNS_16bitmap_allocatorIcE12_Alloc_blockES6_ENS0_18_Inclusive_betweenIS6_EEEET_SB_SB_T0_ std::pair<__gnu_cxx::bitmap_allocator<char>::_Alloc_block*, __gnu_cxx::bitmap_allocator<char>::_Alloc_block*>* __gnu_cxx::__detail::__find_if<std::pair<__gnu_cxx::bitmap_allocator<char>::_Alloc_block*, __gnu_cxx::bitmap_allocator<char>::_Alloc_block*>*, __gnu_cxx::__detail::_Inclusive_between<__gnu_cxx::bitmap_allocator<char>::_Alloc_block*> >(std::pair<__gnu_cxx::bitmap_allocator<char>::_Alloc_block*, __gnu_cxx::bitmap_allocator<char>::_Alloc_block*>*, std::pair<__gnu_cxx::bitmap_allocator<char>::_Alloc_block*, __gnu_cxx::bitmap_allocator<char>::_Alloc_block*>*, __gnu_cxx::__detail::_Inclusive_between<__gnu_cxx::bitmap_allocator<char>::_Alloc_block*>) version status: incompatible GLIBCXX_3.4 type: function status: added 10 _ZNSbIwSt11char_traitsIwESaIwEE6insertIPKwEEvN9__gnu_cxx17__normal_iteratorIPwS2_EET_SA_ void std::basic_string<wchar_t, std::char_traits<wchar_t>, std::allocator<wchar_t> >::insert<wchar_t const*>(__gnu_cxx::__normal_iterator<wchar_t*, std::basic_string<wchar_t, std::char_traits<wchar_t>, std::allocator<wchar_t> > >, wchar_t const*, wchar_t const*) version status: incompatible GLIBCXX_3.4 type: function status: added