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.