Re: openoffice prelink
"Christoffer Sawicki" <[email protected]>
| Newsgroups | gmane.comp.kde.debian |
|---|---|
| Message-ID | <[email protected]> |
-----BEGIN PGP SIGNED MESSAGE----- Hash: SHA1 > What do you think about OpenOffices prelinking? I've not only prelinked my OpenOffice.org but my whole system and I must say, eh, it works. But I'm not sure how big the gain is, the important thing is that there is one. > Does anybody know how it works, > and is it useful on a live-CD where the machine and the CPU varies? I've attached a part of the man page of prelink which describes this (see EOM). And yes, prelink would be perfectly usable on a live-CD. > It should probably be included on the CD in some form, > since if it gets installed on harddrive it might be useful. Na, one could just do apt-get install prelink. > What if the prelink was run at live-cd start-up? Would that be useful thinking > that OO is opened on the live-cd (in demo purpose) maybe only once or twice...? That can't be done, since prelink has to modify all binaries (and they are read-only). Prelink would have to be run before the CD creation. This brings this question to me: What happened to the idea about installing directly from the live system without having the original packages available? */ Christoffer Sawicki <[email protected]> - ----------------------------------- DESCRIPTION prelink is a program which modifies ELF shared libraries and ELF dynamically linked binaries, so that the time which dynamic linker needs for their relocation at startup significantly decreases and also due to fewer reloca- tions the run-time memory consumption decreases too (especially number of unshareable pages). Such prelinking information is only used if all its dependant libraries have not changed since prelinking, otherwise programs are relocated normally. prelink first collects ELF binaries which should be prelinked and all the ELF shared libraries they depend on. Then it assigns a unique virtual address space slot for each library and relinks the shared library to that base address. When the dynamic linker attempts to load such a library, unless that virtual address space slot is already occupied, it will map it into the given slot. After this is done, prelink with the help of dynamic linker resolves all relocations in the binary or library against its dependant libraries and stores the reloca- tions into the ELF object. It also stores a list of all dependant libraries together with their checksums into the binary or library. For binaries, it also computes a list of conflicts (relocations which resolve differently in the binary's symbol search scope than in the smaller search scope in which the dependant library was resolved) and stores it into a special ELF section. At runtime, the dynamic linker first checks whether all dependant libraries were successfully mapped into their designated address space slots and whether they have not changed since the prelinking was done. If all checks are successful, the dynamic linker just replays the list of conflicts (which is usually significantly shorter than total number of relocations) instead of relocating each library. - ----------------------------------- -----BEGIN PGP SIGNATURE----- Version: GnuPG v1.2.4 (GNU/Linux) iD8DBQFAL7PsMC6jEJxB+2wRApQKAJ4pC/5iGlEVasu+Rf79UKbwzy4fJQCdFmy2 xuk9C9Q+JhpYpqr7JvXKmoM= =UBlt -----END PGP SIGNATURE-----