This is the mail archive of the
binutils@sourceware.org
mailing list for the binutils project.
Re: RFC: Speeding up libstdc++.so with --dynamic-list-data
On Tue, Jan 09, 2007 at 01:51:00PM +0000, Andrew Haley wrote:
> H. J. Lu writes:
> > On Tue, Jan 09, 2007 at 01:38:00PM +0000, Andrew Haley wrote:
> > > H. J. Lu writes:
> > > > I am enclosing a patch to implement a new linker swicth,
> > > > --dynamic-list-data. It is -Bsymbolic for function symbols only.
> > > > I tried it with C, C++, Java and Fortran on Linux/ia32, Linux/x86-64
> > > > and Linux/ia64. There are only a few regressions. The function calls
> > > > within the new resulting DSOs will bind locally. It speeds up
> > > > the enclosed C++ testcase by
> > > >
> > > > 1. 23% on ia64.
> > > > 2. 6% on ia32.
> > > > 3. 3% on x86-64.
> > > >
> > > > Should we consider such optimization?
> > >
> > > That's a terrible name for the option. What does it mean?
> >
> > It is an extension of the current command line options:
> >
> > --dynamic-list-cpp-typeinfo Use C++ typeinfo dynamic list
> > --dynamic-list FILE Read dynamic list
>
> But you said it was like -Bsymbolic for function symbols only. What
> is the connection between C++ typeinfo and that? (Hint: Java doesn't
> use C++ typeinfo, but -Bsymbolic for function symbols only would be
> very useful.)
--dynamic-list is a generic linker feature. Users have to provide a
list of symbols, which will be bound dynamically and everything else
is bound locally. --dynamic-list-cpp-typeinfo includes a prefined
list for C++ typeinfo. --dynamic-list-data puts data symbols on
the dynamic list.
H.J.