This is the mail archive of the binutils@sources.redhat.com mailing list for the binutils 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: Solaris -z combreloc bug?



> On Thu, Oct 21, 2004 at 08:02:06AM +0300, Antti Kerola wrote:
> > I tried to find out whether combreloc is on by default on Solaris or
not,
> > but I was unable to find anything either from the
> > source code, mailing lists or the documentation. I am obviously not
familiar
> > with binutils internals. I also could not find
> > the combreloc bug in Bugzilla.
>
> Use readelf -S or objdump -h, and look for .rela.dyn in the executable.
> If you have one, -zcombreloc was on.
>
Thank you! I tried that one out and I found .rela.dyn in both the executable
and
the shared libraries. So my analysis has not been correct.

What could then explain what I am seeing?

We are experiencing very long application start up times which is due to the
fact that the runtime
linker is spending a _lot_ of time binding symbols. Stacktrace of the
process proves that the
application is just sitting in the runtime linker. I verified this with the
LD_DEBUG  variable of the
Solaris runtime linker. For example, the constructor for std::string is
bound once for each single place
where it is used. Same goes for our own symbols. With objdump -R std::string
is printed hundreds
of times in the library. Normal C-functions are just printed once even
though they are used a lot.

Antti




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