http://sourceware.org/bugzilla/show_bug.cgi?id=12919
--- Comment #10 from Sriraman Tallam <tmsriram at google dot com> 2011-09-22 17:48:57 UTC --- On Thu, Sep 22, 2011 at 3:29 AM, vincenzo.innocente at cern dot ch <sourceware-bugzi...@sourceware.org> wrote: > http://sourceware.org/bugzilla/show_bug.cgi?id=12919 > > --- Comment #9 from Vincenzo Innocente <vincenzo.innocente at cern dot ch> > 2011-09-22 10:29:29 UTC --- > I tried to add __attribute__ ((visibility ("hidden"))) to __introsort_loop > no folding either even if now the symbol is "t" not "W". Isn't it the case that __introsort_loop has references to pre-emptible functions like move_median*. So, it is important to make the referenced functions hidden than making introsort_loop itself hidden. It does not matter that introsort_loop is hidden or not. Now, it is the case that a hidden function in a shared object calls a pre-emptible function, right? Which means, the behaviour of the hidden function can still be changed by providing new definitions for the pre-emptible functions. > > > c++ -O2 -Wl,--icf=all,--print-icf-sections -shared -fPIC > -fvisibility-inlines-hidden -ffunction-sections ICFproblem.cpp -o libbha.so > > nm -C libbha.so | grep intro > 0000000000001fa0 t void > std::__introsort_loop<__gnu_cxx::__normal_iterator<A**, > std::vector<A*, std::allocator<A*> > >, > long>(__gnu_cxx::__normal_iterator<A**, > std::vector<A*, std::allocator<A*> > >, __gnu_cxx::__normal_iterator<A**, > std::vector<A*, std::allocator<A*> > >, long) > 0000000000002230 t void > std::__introsort_loop<__gnu_cxx::__normal_iterator<B**, > std::vector<B*, std::allocator<B*> > >, > long>(__gnu_cxx::__normal_iterator<B**, > std::vector<B*, std::allocator<B*> > >, __gnu_cxx::__normal_iterator<B**, > std::vector<B*, std::allocator<B*> > >, long) > 00000000000024c0 t void > std::__introsort_loop<__gnu_cxx::__normal_iterator<C**, > std::vector<C*, std::allocator<C*> > >, > long>(__gnu_cxx::__normal_iterator<C**, > std::vector<C*, std::allocator<C*> > >, __gnu_cxx::__normal_iterator<C**, > std::vector<C*, std::allocator<C*> > >, long) > > -- > Configure bugmail: http://sourceware.org/bugzilla/userprefs.cgi?tab=email > ------- You are receiving this mail because: ------- > You are on the CC list for the bug. > You are the assignee for the bug. > -- Configure bugmail: http://sourceware.org/bugzilla/userprefs.cgi?tab=email ------- You are receiving this mail because: ------- You are on the CC list for the bug. _______________________________________________ bug-binutils mailing list bug-binutils@gnu.org https://lists.gnu.org/mailman/listinfo/bug-binutils