562Fermer564
ExtendeDLe 18/01/2010 à 22:36
./558 Kevin, si j'ai bien compris d'après ton article et quelques tests :

- gcc <rien de particulier> : génère du code avec adresses absolues (bizarrement sans text relocation si -pie pas présent)
- gcc -pie : génère du code à adresses absolues, avec text relocations présentent dans la section .dynamic. Bizarrement il y a aussi une GOT...
- gcc -fpic : génère une GOT, accédée en relatif. Le loader s'occupe simplement du relogement des adresses de cette GOT. Chaque GOT relogée est dédiée à un process.
- gcc -fpie -pie : Peut potentiellement générer du code plus optimisé car non partagé en lib, d'après lfs
squalyl (./559) :
dit: bon en fait j'ai compris le coup des pages readonly et toussa. menfin sur la nspire je pense qu'osef.

Pas forcément. La MMU permet de monter un loader avancé multi-processes avec bibliothèques réellement partagées, c'est dommage de s'en priver.

Donc partons pour -fpic et sa GOT sans MMU (ou éventuellement de la MMU uniquement pour le loader si besoin comme indiquait hwti), et plus tard avec MMU dans son édition "deluxe" avec partage des libs en mémoire ?