[SOS] Relogement

Cyril Dupuit cyrildupuit at hotmail.com
Jeu 9 Fév 21:41:43 CET 2006


Bonsoir,

>Pour information, j'ai redirigé Cyril vers l'annexe A de l'article 1 de
>la série SOS qui concerne justement le fonctionnement de l'éditeur de
>liens "ld" et l'écriture de scripts pour cet éditeur de liens.

Comme Thomas me l'a conseillé, j'ai lu le premier article de la série SOS.
Je me suis intéressé au script ld permettant de définir la position 
d'exécution en mémoire d'un fichier au format elf.

Dans SOS, les programmes sont placés à l'adresse 0x80000000. Les symboles 
sont associés à cette adresse. Par exemple la variable Toto est positionnée 
à l'adresse 0x80000100.
Dans mon cas, l'adresse de début du programme n'est pas chargée à une 
adresse explicite. Cette adresse est obtenue lors de l'allocation de la 
mémoire servant à stocker le programme.

L'adresse de la variable Toto devra être pMem + 100 (où pMem représente le 
pointeur sur la mémoire allouée au programme).
Le programme démarrera donc à l'adresse pMem.

Je ne sais pas comment faire pour mettre à jour les adresses de tous les 
symboles.

J'ai récupéré un code source à l'adresse http://www.uclinux.org/pub/uClinux/ 
permettant de faire ce que je voudrai mais, je manque d'assurance car ils 
utilisent des architectures différentes d'IA32.

Si quelqu'un peut m'aider, je suis preneur.

Merci d'avance.

Cyril




Plus d'informations sur la liste de diffusion Sos