elementary-dev-community team mailing list archive
Mailing list archive
About the part where you say that maybe an application won't like it and
we may end up with an "unexecutable", prelink skips incompatible apps
(if you want i can send you a log from prelink working in my PC).
I agree with you in the case of shutdown or blackout, however prelink
can delete the prelink in a executable as easy as can put it.
Also when i have some time (maybe this weekend) i will try to do some
benchmarks in order to see wether it has a important impact or not.
On 09/05/12 19:24, Sergey "Shnatsel" Davidoff wrote:
2012/5/9 Sergio <sertorbe@xxxxxxxxx <mailto:sertorbe@xxxxxxxxx>>
I readed about that but i found this web
"prelinking and |DT_GNU_HASH| are complementary and systems can do
Also AFAIK modifying the binaries are not bad unless you have a
system which dectects wheter the binary is modified or not , which
is only used on servers, a platform which elementary os doesn't focus.
Also the document says that fedora/red hat uses this, and although
is four years old this is still true.
Technically you can use both at once, but I doubt prelink will offer
better startup times. I'd love to be proven wrong, though. If you
measure startup times of some prelinked binaries and find measureable
improvement over non-prelinked ones, we can look into integrating it.
However, I still dislike the idea of modifying system executables for
a number of reasons.
First, what happens if power goes out when a system executable is
being overwritten or it's buffered but not synced to disk? Our default
filesystem - ext4 - is not that great at recovery from such cases, it
can't simply roll back to the older version because it's not
copy-on-write. You may very well end up having a broken system executable.
The same may be true about shutting down the system - there's a huge
series of workarounds for shutting down while updating the system
already. I don't want to do the same for prelinking because it would
require an insane amount of testing. Technically it's possible, but
it's definitely out of scope of elementary OS and should be done
upstream, in Ubuntu itself.
Second, what if some future app or library doesn't like prelinking for
some reason? I know Prelink attempts graceful fallback, but some stuff
like older Glib does break. There very well may be such libraries or
binaries out there right now, we just don't know about them yet. And
again, you may end up with a broken system.
On an unrelated note, please use "reply to all" to make other people
on the list see your messages instead of replying to me directly.
Sergey "Shnatsel" Davidoff
OS integrator @ elementary
From: Sergey "Shnatsel" Davidoff, 2012-05-10