From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 9013 invoked by alias); 7 Oct 2009 12:22:26 -0000 Received: (qmail 8993 invoked by uid 22791); 7 Oct 2009 12:22:24 -0000 X-SWARE-Spam-Status: No, hits=-1.5 required=5.0 tests=AWL,BAYES_00 X-Spam-Check-By: sourceware.org Received: from vsmtp21.tin.it (HELO vsmtp21.tin.it) (212.216.176.109) by sourceware.org (qpsmtpd/0.43rc1) with ESMTP; Wed, 07 Oct 2009 12:22:17 +0000 Received: from [192.168.0.4] (79.36.197.37) by vsmtp21.tin.it (8.5.113) id 4AC9BFB6001CD1CE; Wed, 7 Oct 2009 14:22:07 +0200 Message-ID: <4ACC87F5.2080808@oracle.com> Date: Wed, 07 Oct 2009 12:22:00 -0000 From: Paolo Carlini User-Agent: Thunderbird 2.0.0.23 (X11/20090817) MIME-Version: 1.0 To: Jan Hubicka CC: Richard Guenther , gcc@gcc.gnu.org, libstdc++ Subject: Re: Any very recent inlining changes (libstdc++' ABI check fails in mainline) ? References: <4ACC6C45.30500@oracle.com> <84fc9c000910070329t3531725eqe25a5dabc837b0fb@mail.gmail.com> <20091007115952.GF9046@atrey.karlin.mff.cuni.cz> In-Reply-To: <20091007115952.GF9046@atrey.karlin.mff.cuni.cz> Content-Type: text/plain; charset=ISO-8859-1 Content-Transfer-Encoding: 7bit X-IsSubscribed: yes Mailing-List: contact gcc-help@gcc.gnu.org; run by ezmlm Precedence: bulk List-Id: List-Archive: List-Post: List-Help: Sender: gcc-owner@gcc.gnu.org X-SW-Source: 2009-10/txt/msg00143.txt.bz2 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::_Alloc_block*, __gnu_cxx::bitmap_allocator::_Alloc_block*>* __gnu_cxx::__detail::__find_if::_Alloc_block*, __gnu_cxx::bitmap_allocator::_Alloc_block*>*, __gnu_cxx::__detail::_Functor_Ref<__gnu_cxx::__detail::_Ffit_finder<__gnu_cxx::bitmap_allocator::_Alloc_block*> > >(std::pair<__gnu_cxx::bitmap_allocator::_Alloc_block*, __gnu_cxx::bitmap_allocator::_Alloc_block*>*, std::pair<__gnu_cxx::bitmap_allocator::_Alloc_block*, __gnu_cxx::bitmap_allocator::_Alloc_block*>*, __gnu_cxx::__detail::_Functor_Ref<__gnu_cxx::__detail::_Ffit_finder<__gnu_cxx::bitmap_allocator::_Alloc_block*> >) version status: incompatible GLIBCXX_3.4 type: function status: added 1 _ZNSbIwSt11char_traitsIwESaIwEE6assignIPKwEERS2_T_S7_ std::basic_string, std::allocator >& std::basic_string, std::allocator >::assign(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*) version status: incompatible GLIBCXX_3.4 type: function status: added 4 _ZNSs6appendIPKcEERSsT_S3_ std::string& std::string::append(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(__gnu_cxx::__normal_iterator, char const*, char const*) version status: incompatible GLIBCXX_3.4 type: function status: added 6 _ZNSbIwSt11char_traitsIwESaIwEE6appendIPKwEERS2_T_S7_ std::basic_string, std::allocator >& std::basic_string, std::allocator >::append(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::_Alloc_block*, __gnu_cxx::bitmap_allocator::_Alloc_block*>* __gnu_cxx::__detail::__find_if::_Alloc_block*, __gnu_cxx::bitmap_allocator::_Alloc_block*>*, __gnu_cxx::__detail::_Functor_Ref<__gnu_cxx::__detail::_Ffit_finder<__gnu_cxx::bitmap_allocator::_Alloc_block*> > >(std::pair<__gnu_cxx::bitmap_allocator::_Alloc_block*, __gnu_cxx::bitmap_allocator::_Alloc_block*>*, std::pair<__gnu_cxx::bitmap_allocator::_Alloc_block*, __gnu_cxx::bitmap_allocator::_Alloc_block*>*, __gnu_cxx::__detail::_Functor_Ref<__gnu_cxx::__detail::_Ffit_finder<__gnu_cxx::bitmap_allocator::_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::_Alloc_block*, __gnu_cxx::bitmap_allocator::_Alloc_block*>* __gnu_cxx::__detail::__find_if::_Alloc_block*, __gnu_cxx::bitmap_allocator::_Alloc_block*>*, __gnu_cxx::__detail::_Inclusive_between<__gnu_cxx::bitmap_allocator::_Alloc_block*> >(std::pair<__gnu_cxx::bitmap_allocator::_Alloc_block*, __gnu_cxx::bitmap_allocator::_Alloc_block*>*, std::pair<__gnu_cxx::bitmap_allocator::_Alloc_block*, __gnu_cxx::bitmap_allocator::_Alloc_block*>*, __gnu_cxx::__detail::_Inclusive_between<__gnu_cxx::bitmap_allocator::_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::_Alloc_block*, __gnu_cxx::bitmap_allocator::_Alloc_block*>* __gnu_cxx::__detail::__find_if::_Alloc_block*, __gnu_cxx::bitmap_allocator::_Alloc_block*>*, __gnu_cxx::__detail::_Inclusive_between<__gnu_cxx::bitmap_allocator::_Alloc_block*> >(std::pair<__gnu_cxx::bitmap_allocator::_Alloc_block*, __gnu_cxx::bitmap_allocator::_Alloc_block*>*, std::pair<__gnu_cxx::bitmap_allocator::_Alloc_block*, __gnu_cxx::bitmap_allocator::_Alloc_block*>*, __gnu_cxx::__detail::_Inclusive_between<__gnu_cxx::bitmap_allocator::_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, std::allocator >::insert(__gnu_cxx::__normal_iterator, std::allocator > >, wchar_t const*, wchar_t const*) version status: incompatible GLIBCXX_3.4 type: function status: added