[prev in list] [next in list] [prev in thread] [next in thread]
List: kde-core-devel
Subject: Re: exporting symbols (was Re: The goodness of goodness)
From: Waldo Bastian <bastian () kde ! org>
Date: 2001-05-30 0:55:32
[Download RAW message or body]
On Tuesday 29 May 2001 13:13, Michael Matz wrote:
> Hi,
>
> On Tue, 29 May 2001, Waldo Bastian wrote:
> > If they are non-virtual they currently result in a R_386_JUMP_SLOT
> > relocation
>
> Nope. E.g. in this example class:
> class A {public: A();
> private: void m();
> };
> A::A() { m(); m(); }
>
> Here the two calls to m() result in two R_386_PC32 rels which are
> symbol-based, whereas if A::m() would be non-visible, that could be
> converted to _one_ R_386_RELATIVE which is constant-based. This is also
> what -Bsymbolic is basically doing, but I just noticed a bug in that,
> dealing with static class members returned by inline functions. If that
> would be fixed we could get to these numbers:
Euhm.. why does my "objdump -R <qt_or_kde_lib>" not show any R_386_PC32 reloc
at all? Could it be that R_386_PC32 rels are only generated for non-PIC code?
> libkio.so.3.0.0 : 2346 - 1177
> libksycoca.so.3.0.0 : 2090 - 1014
> libkdecore.so.3.0.0 : 3902 - 1920
> libkdesu.so.1.0.0 : 228 - 145
> libkdeui.so.3.0.0 : 20059 - 14226
> libkfile.so.3.0.0 : 4886 - 3621
> libkjava.so.1.0.0 : 618 - 617
> libkhtml.so.3.0.0 : 16583 - 2368
>
> The numbers are symbol-based relocations (lazy and non-lazy)
> (objdump -R .so | grep -v '\*ABS\*' | wc -l), first number normal build
> (not quite current CVS), second number custom build with invoking the
> linker by hand and some options.
Can you do a "grep 'R_386_32' | wc -l" for and after and a "grep
'R_386_JUMP_SLOT' | wc -l" for and after?
Cheers,
Waldo
--
bastian@kde.org | SuSE Labs KDE Developer | bastian@suse.com
[prev in list] [next in list] [prev in thread] [next in thread]
Configure |
About |
News |
Add a list |
Sponsored by KoreLogic