Probleme d'editions de liens avec LD

vinc1008881 Messages postés 257 Date d'inscription dimanche 22 août 2004 Statut Membre Dernière intervention 29 septembre 2010 - 14 févr. 2006 à 19:20
vinc1008881 Messages postés 257 Date d'inscription dimanche 22 août 2004 Statut Membre Dernière intervention 29 septembre 2010 - 14 févr. 2006 à 22:54
Salut tout le monde, depuis quelques temps j'essaye de compiler des binaires plats avec gcc et ld, mais ld fait des erreurs ?

voici comment je fait :

_________________________________________________
fichier.c---->gcc------>fichier.o
fichier.asm------->nasm------>fichier1.o
_________________________________________________
bin\ld -T bin\link.ld -o resultat.bin --oformat binary fichier.o fichier1.o
avec ld le fichier suivant :

OUTPUT_FORMAT("binary")
ENTRY(start)
SECTIONS
{
.text 0x100000 : /* 1 meg */
{
code .; _code .; __code = .;
*(.text)
}
.data :
{
data .; _data .; __data = .;
*(.data)
}
.bss :
{
bss .; _bss .; __bss = .;
*(.bss)
*(COMMON) /* GNU C "common" variables */
}
end .; _end .; __end = .;
}

_________________________________________________

Seulement voilà, il y a des probleme au niveau des variables :

les variables non déclaré (.bss) sont absente mais leur adresse est dans le segment .text, du coup lorsque l'on change leur contenu, on fait executer nimprte quoi au CPU, une idée ?

2 réponses

wxccxw Messages postés 755 Date d'inscription samedi 15 mai 2004 Statut Membre Dernière intervention 30 janvier 2011
14 févr. 2006 à 21:44
qu'est-ce que LD ?,
0
vinc1008881 Messages postés 257 Date d'inscription dimanche 22 août 2004 Statut Membre Dernière intervention 29 septembre 2010 3
14 févr. 2006 à 22:54
ld, c'est un executable qui assure l'edition des liens, c'est un linkeur assez performant et connu
0