This is the mail archive of the libstdc++@gcc.gnu.org mailing list for the libstdc++ project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: Any very recent inlining changes (libstdc++' ABI check fails in mainline) ?


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



Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]