Orion_ (./1) :
sauf que quand je compile un .c avec tigcc qui me donne un .o (normalement au format COFF), le linker n'en veut pas 
TIGCC rajoute certaines extensions au format COFF, cherche COFF_TIGCC_EXTENSIONS dans
http://tigcc-linux.cvs.sourceforge.net/viewvc/tigcc-linux/tigcc/ld-tigcc/import/imp_coff.c?revision=1.8&view=markup.
D'autres extensions qui n'apparaissent pas directement, mais qui peuvent nécessiter des modifications dans les outils qui lisent les fichiers:[ul][li]TIGCC n'utilise pas l'extension COFF pour les longs noms de section. À la place, on définit un symbole (qui peut, lui, avoir un nom long) avec le nom de la section tout au début de la section. Le nom de la section dans la table des sections est tronqué, pour avoir le nom complet, il faut lire le symbole de section (section symbol), c'est-à-dire le premier symbole (et on peut vérifier que c'est bien un symbole de section avec un strncmp). Cf. aussi le code sous
#ifdef DEBUGGING:_INFO_SUPPORT dans
imp_coff.c, qui fait ça pour reconnaître correctement les sections de déboguage DWARF 2.[/li][li]Un conflit de noms n'est pas une erreur ni même un warning dans
ld-tigcc, le linker prend le premier symbole qu'il trouve sans broncher. C'est nécessaire pour que les importations globales (global imports) marchent comme il faut.[/li][/ul](Par exemple, le GDB de TiEmu et Emu-TIGCC a nécessité des patches dans les 2 cas. Les fichiers
.dbg générés par
ld-tigcc sont des fichiers COFF sans les COFF_TIGCC_EXTENSIONS, mais ils ont aussi ces 2 particularités.)
Lionel Debroux (./5) :
Les outils comprenant le m68k COFF standard ne comprennent pas les extensions non portables de TIGCC/GCC4TI, par exemple COFF_RELOC_UNOPTIMIZABLE. Voir un hunk de trunk/tigcc/gcc/gas-2.16-tigcc-patch.diff, qui vise à masquer ce bit-là pour rendre plus utilisables objdump et autres binutils.
C'est un hunk que vous avez rajoutés, je suppose? Ça n'a aucun sens, le patch est pour GNU as et GNU as seulement (comme le dit le nom), TIGCC n'a jamais supporté les autres binutils (sauf objcopy et ld dans la version 0.94 seulement, ces outils sont obsolètes depuis la 0.95).