[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