This is the mail archive of the gcc-patches@gcc.gnu.org mailing list for the GCC 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: libstdc++ libtool lossage


On Sun, Feb 24, 2002 at 06:04:32PM -0500, David Edelsohn wrote:
> >>>>> Richard Henderson writes:
> 
> Richard> On Sat, Feb 23, 2002 at 08:51:17PM -0500, David Edelsohn wrote:
> >> Note that this is one area where AIX's design is very clean and
> >> efficient, if you cared to research the topic.
> 
> Richard> It's not nearly as flexible as the SVR4 design, particularly
> Richard> with regard to name binding.  It's a flexibility not to be
> Richard> discarded lightly.
> 
> 	With the AIX -brtl option, I believe that AIX provides most of the
> equivalent name binding flexibility, with the additional start-up cost.
> One difference which I just learned about is satisfying weak external
> symbols with the first definition versus searching all dependent libraries
> for a strong definition.  Searching all libraries is expensive.

It should be satisfied by first definition actually (and is not
only because libpthread implementation in glibc still relies on the old
behaviour).

> 	The features of AIX I was referring to are the types of
> relocations (relative versus absolute), the number of relocations, and
> prelinking executables so that no relocation is needed if they are loaded
> at the default load address.

I've implemented prelinking for linux too.
But, even with prelinking, you may need to do some relocations
(without symbol lookup; due to symbol interposition) and even with
prelinking, all the non-relocation costs of any additional
shared library (non-shareable dirtied pages, load overhead) still count.

	Jakub


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