Reducing library dependancies
Dirk Mueller
mueller at kde.org
Tue Aug 5 19:17:48 BST 2008
On Monday 04 August 2008, Thiago Macieira wrote:
> It's an indirect dependency only because QtDBus uses it. But since it
> doesn't expose that in the API, I have a task to rewrite the parser to
> QXmlStreamReader (which is in QtCore).
Thats a good idea.
> Also, I don't see libexpat in my kdeui's ldd. Does fontconfig dynamically
> load it?
no. I guess you use mandriva ;), because they build fontconfig with libxml2.
openSUSE builds with expat, because it is generally the much smaller
dependency (150kb of code, ~ factor 2 faster parsing vs. 1.4MB of code, and
factor 2 more slowness).
> /usr/lib/libxml2.so.2: 3196 relocations, 3108 relative (97%), 142 PLT
> entries, 45 for local syms (31%), 0 users
> That's 86 non-relative relocations and 45 functions calls that would be
> pruned with -Bsymbolic-functions.
yeah, not a lot, I agree, but those are comparatively expensive. of course it
would even be better if the unconditional libxml2 dependency (via
strigianalyzer library) wouldn't be there in the first place.
> libkdeui.so.5: 15390 relocations, 5801 relative (37%), 2591 PLT entries, 0
> for local syms (0%), 0 users
so you build with Bsymbolic-functions already?
15390 relocations, 3626 relative (23%), 5132 PLT entries, 2549 for local syms
(49%), 0 users
thats how it roughly looks without it.
> libX11.so.6: 1079 relocations, 853 relative (79%), 651 PLT entries, 519 for
> local syms (79%), 0 users
Another offender, but its a C library, so people would be unhappy over -
Bsymbolic-functions.
> Another fact: of the 64828 relocations, 42100 are relative. Of the 22k that
> aren't relative, 10k come from libkdeui.
Which we can't get rid of unless the lazy vtable initialisation patch from
Michael Meeks fineally gets upstream.
Greetings,
Dirk
More information about the kde-core-devel
mailing list