kdeinit (was: Summary from Buildsystem BoF at Desktop Summit)

Laszlo Papp lpapp at kde.org
Tue Aug 16 10:50:47 BST 2011


Hi,

> kdeinit can be replaced by prelinking, assuming you are not a user of the
> NVidia binary drivers. If you are, you can't prelink, so kdeinit is a help:
>
> /usr/sbin/prelink: /usr/bin/gears: Cannot prelink against non-PIC shared
> library /usr/lib/nvidia-current/libGL.so.1

The nvidia driver does a lot of tricks and libGL is not a PIC library,
but that does not matter. My understanding was that kdeinit cannot be
replaced by prelinking in any case since they are two different
things.

In harmattan the preloader is called booster, and it basically does a
dlopen() on important libraries and we also use prelinking. They live
together. I think prelink and kdeinit could work together, but please
fix me. Prelink or cross-prelink could just be used by the
distributions (but it should be done after install, just like debian
does, prelink is setup in cron) to make it clear. :)

Unfortunately I missed this session because of the football match. I
think kdeinit is a nice thing over there. PIE executables had some
different purpose, mostly security related. For some reason, some
people started abusing them. There was an article by Jakub explaining
this. I can not seem to find it right now. In any case, the main
advantage of PIE executables was that the executable address space
could be randomized, and ldconfig does randomize the address.
Basically, this makes buffer-overruns more difficult. One thing is
that ld.so ignores prelink information for PIE executables. Other than
this I really see no point in them

Best Regards,
Laszlo Papp




More information about the kde-core-devel mailing list