Projet GCC de revitaliser le backend SuperH
Posté le 07/08/2024 11:18
Les calculatrices graphiques CASIO sont équipées de processeurs de l'architecture
SuperH, un type développé par une entreprise japonaise qui s'appelait Hitachi et qui a depuis été rachetée par Renesas. C'est une architecture plutôt rare, un peu passée de mode aujourd'hui bien que Renesas continue de produire les processeurs, et qui est même passée dans le domaine public pour ses premières itérations, donnant lieu à des projets dérivés ouverts comme le J2.
Pour développer des add-ins, on utilise donc un compilateur qui possède un backend SuperH, et à part le compilateur SHC de Renesas, qui est propriétaire (et dont une version ancienne et très peu poussée est intégrée au fx-9860G SDK), il n'y a guère que
GCC. Des autres compilateurs libres, le principal candidat serait
LLVM, mais LLVM n'a pas de backend SuperH officiel, et les quelques communautaires qu'on trouve aléatoirement sur Github ne sont pas maintenus.
Or donc, le backend SuperH de GCC est plus ou moins tombé en désuétude ces 10 dernières années, avec peu de travail dessus. La dette technique s'accumule et un certain travail est nécessaire pour le maintenir à jour avec les évolutions de GCC. La stratégie pour ça qui a déjà marché dans le passé est de lever des fonds pour financer le travail d'un développeur GCC expérimenté, un effort qui
est en train de se mettre en place. J'en ai parlé brièvement avec Adrian Glaubitz, auteur du message ci-dessus, qui maintient le port SuperH de Linux ainsi que la version SH4 de Debian.
La principale communauté d'utilisateurs SuperH à part nous est la communauté qui fait du homebrew sur Dreamcast, et des échos que j'ai eus ils participent aussi à cet effort. Si vous pensez que ça vaut la peine, jetez-y un œil.
Je ferai passer les infos dès que j'en aurai, que ce soit pour contribuer ou simplement les annonces sur le succès ou pas de cet effort et les travaux entrepris sur GCC.
Citer : Posté le 07/08/2024 14:08 | #
Et il n'y a pas la possibilité d'utiliser clang+llvm à la place ?
libMicrofx : https://www.planet-casio.com/Fr/forums/topic17259-2-libmicrofx-remplacez-fxlib-pour-faire-des-add-ins-tres-legers.html !
Racer3D : https://www.planet-casio.com/Fr/programmes/programme4444-1-racer3d-mb88-jeux-add-ins.html
Citer : Posté le 07/08/2024 15:04 | #
Y'a pas de backend officiel, donc c'est pas mieux—il faudrait en faire un de zéro et également construire une équipe pour le maintenir de zéro, ce qui est plus dur que de piocher dans les contributeurs GCC pour maintenir le backend GCC occasionnellement.