L'assembleur de la lib du SDK G85!
Posté le 15/02/2010 20:08
Bonjour bonjour tout le monde
Depuis quelques jours, je voulais savoir comment fonctionnait certaines fonctions des libs fournies avec le SDK.
Seulement, pas moyen de comprendre quoi que ce soit, tout est dans un .lib, même pas standard puisque spécifique au compilo fournit... bref, pas moyen de comprendre quoi que ce soit.
Donc j'ai commencé à faire la chasse aux infos un peu partout
Notamment je suis tombé sur un
compilateur GNU pour les processeurs de Renesas qui avait l'air assez aboutit (il faut s'inscrire pour télécharger quoi que ce soit, je comprend pas bien pourquoi, mais sinon c'est très bien).
Donc après téléchargement, j'ai commencé à faire quelques expérimentation, et en regardant la doc des
binutils j'ai trouvé une partie de ce que je cherchais : convrenesaslib qui permet de convertir une lib Renesas en une lib GNU.
Bref, après de nombreux essais j'ai réussi à me servir de ça pour extraire directement les .obj (qui correspondent plus ou moins à la version pre-compilé de chaque fichier source) de la lib (397 quand même
).
A partir de là, plus qu'à passer un coup de objdump dessus pour extraire l'assembleur qui les a généré.
Donc voilà, tout ça pour dire que j'ai enfin réussi à récupérer de quoi comprendre le fonctionnement de la lib avec un peu de connaissance de l'asm SH3
Comme d'habitude avec mes trucs, ça va pas servir à grand monde, mais je le met à disposition ici pour permettre à ceux qui sont intéressés de jeter un coup d'oeuil (attention, tube d'aspirine à portée fortement recommandé
).
Pour info, il y a tout dedans : des sous-routines dont personne ne comprendra l'utilité aux fonctions de la lib C standard en passant par celles de la lib spécifique à la G85 (les Bfile_, Bkey_, Bdisp_ par exemple) y comprit des dizaines de routines non documentées
Voilà, amusez vous bien les jeunes
Fichier joint