Bug 314051 - Prelinking frysk binaries takes eons
Summary: Prelinking frysk binaries takes eons
Keywords:
Status: CLOSED RAWHIDE
Alias: None
Product: Fedora
Classification: Fedora
Component: prelink
Version: 7
Hardware: All
OS: Linux
low
low
Target Milestone: ---
Assignee: Jakub Jelinek
QA Contact: Fedora Extras Quality Assurance
URL:
Whiteboard:
Depends On:
Blocks: 312331
TreeView+ depends on / blocked
 
Reported: 2007-10-01 15:27 UTC by Andrew Cagney
Modified: 2007-11-30 22:12 UTC (History)
0 users

Fixed In Version: 0.4.0-1
Clone Of:
Environment:
Last Closed: 2007-10-09 17:59:48 UTC
Type: ---
Embargoed:


Attachments (Terms of Use)

Description Andrew Cagney 2007-10-01 15:27:11 UTC
Is this frysk, or prelink?

+++ This bug was initially created as a clone of Bug #312331 +++

When prelinking binaries with, e.g., "prelink -avmR" all frysk binaries (fcatch,
fcore, fstep, etc) take even minutes to prelink on a system where even
OpenOffice.org binaries are prelinked in few seconds.

Steps to reproduce:
1. prelink -au
2. prelink -avmR
3. See how prelink spends minutes in frysk binaries while all the others are
processed quickly

Comment 1 Jakub Jelinek 2007-10-01 19:51:37 UTC
Most of the time is spent in the C++ conflict optimizations.
The problem is that frysk utilities have huge number of conflicts against
a library with a huge number of symbols (libgcj).
I can certainly experiment with creating some search tree if it is queried
enough times, nevertheless it is IMHO very much desirable to compile frysk
stuff with -fpie or -fPIE and thus avoid (most of) copy relocations and most of
the conflicts.

Comment 2 Andrew Cagney 2007-10-05 18:52:15 UTC
So in addition to -fPIC, all frysk object files should be compiled with -fPIE
and executables linked with with -pie?


Comment 3 Jakub Jelinek 2007-10-09 17:59:48 UTC
Fixed in prelink-0.4.0-1 in rawhide.
rpm -Uvh prelink-0.4.0-1.i386.rpm
time /etc/cron.daily/prelink 

real    2m58.764s
user    1m43.620s
sys     1m27.751s

(as prelink was upgraded, this was full reprelinking of all libraries and
binaries).


Note You need to log in before you can comment on or make changes to this bug.