guilc Le 14/04/2002 à 22:18 J'ai un programme Nostub, avec :
#define OPTIMIZE_ROM_CALLS
#define NO_EXIT_SUPPORT
au début, et quand je veux le compiler en mode kernel, j'enlève ces deux lignes, et je met :
#define USE_KERNEL
Mais là, voila ce que tigcc me dis :
1 undefined reference to _ROM_CALL_64
5 undefined reference to _ROM_CALL_1B4
... y en a 46 comme ça !
Quelqu'un sait-il d'où ça vient ?
t'as bien inclus tigcclib ?
guilc Le 14/04/2002 à 22:54 oui, il était déja inclu dans la version nostub, j'allais pas l'enlever pour compiler en kernel !
Tu utilises quelle version de TIGCC? (Numéro de la version, et si c'est une bêta, numéro de la bêta. Par exemple "TIGCC 0.93 officielle" ou "TIGCC 0.94 beta 12".)
Et pourquoi veux-tu recompiler ton programme _nostub en mode kernel???
[edit]Edité par Kevin Kofler le 15-04-2002 à 02:18:39[/edit]
guilc Le 15/04/2002 à 08:57 C'est TIGCC 0.94 beta 11.
Je veux essayer de recompiler en kernel pour comparer la taille des fichiers, et peut-être pour intégrer une lib dynamique...
PpHd Le 15/04/2002 à 09:15 Es-tu sur que tu ne definis pas _nostub quelque part ailleurs ?
Dans une librarie statique par exemple.
guilc Le 15/04/2002 à 09:25 non, C'est pour l'instant un programme en C, sans librairies externes. A moins que certaines fonctions ne marche qu'en nostub ?
PpHd Le 15/04/2002 à 10:00 Es-tu sur que #define USE_KERNEL est la premiere ligne ?
PpHd Le 15/04/2002 à 10:48 Envoies moi tes sources. a ppelissier@hotmail.com
Ne t'inquietes pas, je ne les devoilerais pas. Mais la je ne sais plus quoi faire.
PpHd Le 15/04/2002 à 11:11 Pas la peine, c'est un bug de Tigcc beta 12.
guilc Le 15/04/2002 à 11:19 ben ça le faisait aussi avec la beta 11 !
PpHd Le 15/04/2002 à 11:21 De la beta 11 et de la beta 12, pas de la beta 10.
Kevin et sebastian recherchent le bug.
guilc Le 15/04/2002 à 11:24 Ok, vivement la prochaine beta !
Oui, je vais voir ça cet après-midi si Sebastian ne l'aura pas déjà corrigé.
Peux-tu m'envoyer les sources? Parce que je n'arrive pas à reproduire le problème.
C'est que tu n'as pas défini USE_KERNEL dans tous tes fichiers .c.
C'est que le symbole _nostub est défini en une dizaine d'endroits dans gennlib.a, donc ça ne risque pas de marcher. Si ça marchait avec les anciennes versions, c'est un pur hasard, pour ne pas dire un bogue de ces anciennes versions. Remplace gennlib.a par genlib.a et ça marche!
nitro Le 15/04/2002 à 15:42 >Remplace gennlib.a par genlib.a et ça marche!
Tout a fait, les deux ne sont pas interchangeables (je ne peux pas faire autrement)... Merci Kevin de l'avoir precisé.
So much code to write, so little time.
guilc Le 15/04/2002 à 16:25 Ca marche bien en mettant #define USE_KERNEL dans tous les fichiers *.c
Merci KK !
Par contre, c'était pas marqué dans l'aide de TIGCC ça ! Je viens de vérifier !
PpHd Le 15/04/2002 à 16:55 Ils s' en moquent un peu.