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

Thiago Macieira thiago at kde.org
Tue Aug 16 18:42:11 UTC 2011


On Tuesday, 16 de August de 2011 19:36:17 Alexander Neundorf wrote:
> The idea here was not to get rid of this mechanism completely.
> If I understood correctly, with a PIE executable it is possible to dlopen
> the  executable and call a symbol from it.
> This would make it possible to simply create regular-looking, standalone 
> executables instead of the combination of plugin+tiny executable, and at
> the  same time keep the kdeinit instance around, which would then not
> dlopen the plugin, but dlopen the PIE executable, and call the symbol from
> the PIE executable instead of from the plugin, this way providing the same
> benefits as we have now.

Ah, that makes a lot more sense. It's also closer to what the Harmattan 
booster does: it dlopens the actual binaries, not a kdenit module.

However, it's still not perfectly correct: the issue is the difference between 
-fPIE and -fPIC. In a PIE, the compiler and linker *know* that this ELF module 
is the first open loaded, so they may take assumptions to that effect. In PIC, 
that isn't the case.

So we're using an option that is specifically intended for stuff that is NOT 
dlopened.

In practice, I don't know what optimisations may be attempted that would be 
problematic. It might just work, as Harmattan can show.

Also: we need to be sure that prelinkers do prelink PIE, despite the article 
that Laszlo linked to.

-- 
Thiago Macieira - thiago (AT) macieira.info - thiago (AT) kde.org
   Software Architect - Intel Open Source Technology Center
      PGP/GPG: 0x6EF45358; fingerprint:
      E067 918B B660 DBD1 105C  966C 33F5 F005 6EF4 5358
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 190 bytes
Desc: This is a digitally signed message part.
URL: <http://mail.kde.org/pipermail/kde-buildsystem/attachments/20110816/a1c6607c/attachment.sig>


More information about the Kde-buildsystem mailing list