relocalisation tronquée pour concorder:

relocalisation tronquée pour concorder: - C - Programmation

Marsh Posté le 17-10-2006 à 16:28:51    

slt tlm, voila je code un secteur de boot, et je veux y inclure du code c ( moi l'asm.... )  
j'ai donc ecrit mo code c, fait un .o pareil pour la partie asm
mais au moment du linker ca marche pas :  
boot.asm:(.text+0x3b): relocalisation tronquée pour concorder: R_386_16 avec newgdtr
Donc comme le code asm est en 16 bit ( normal le pc demarre en mode reel donc 16 bit )
je voudrais compiler mon code c en 16 bit ( ca doit etre la cause de mes erreurs )
a moins que les erreurs ne soient pas dûes a çà


---------------
In a world without walls and fences, who needs Windows and Gates
Reply

Marsh Posté le 17-10-2006 à 16:28:51   

Reply

Marsh Posté le 17-10-2006 à 23:32:26    

carot0 a écrit :

slt tlm, voila je code un secteur de boot, et je veux y inclure du code c ( moi l'asm.... )  
j'ai donc ecrit mo code c, fait un .o pareil pour la partie asm
mais au moment du linker ca marche pas :  
boot.asm:(.text+0x3b): relocalisation tronquée pour concorder: R_386_16 avec newgdtr
Donc comme le code asm est en 16 bit ( normal le pc demarre en mode reel donc 16 bit )
je voudrais compiler mon code c en 16 bit ( ca doit etre la cause de mes erreurs )
a moins que les erreurs ne soient pas dûes a çà


Rien de tout ça n'a à voir avec le langage C...
 
Il peut se passer plein de choses...
 
Effectivement, pour un secteur de boot pour PC x86, il faut générer du code 16-bit. Tu as ce qu'il faut ? (Un bon vieux Borland C 3.1 fait l'affaire).
 
Ensuite, attention. Il est possible qu'un identificateur xxx vu du C soit en réalité _xxx ou .xxx vu du linker et donc de l'assembleur. Il faut donc peut être en tenir compte en écrivant l'identificateur en assembleur. Voir la doc (ou le .map...)


Message édité par Emmanuel Delahaye le 17-10-2006 à 23:32:47

---------------
Des infos sur la programmation et le langage C: http://www.bien-programmer.fr Pas de Wi-Fi à la maison : http://www.cpl-france.org/
Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed