ABI des flottants : hard ou soft (utilisation des instructions hardware, mais passage des flottants comme pour du soft-float, sachant que l ́ABI hard est différente de l ́ABI soft…)
Ensuite, comme dis précédemment :
ARMv4, v5, v6, v7, bientôt v8?
optimisé (ordonnancement des instructions) pour :
v5 : XScale, ex93xx, mpcore…
v6 : cortex-a8, etc…
etc…
etc…
Pour ARM, à l ́époque où j ́avais compté, j ́étais arrivé a plus de 2048 combinaisons valides possibles… 8-O
Et puis pourquoi aussi les chaînes de compilation croisée, avec des combinaisons plus ou moins nombreuses (plutôt plus que moins, d'aileurs…) pour toutes les architectures :
MIPS : 32 et 64 bits, trois ABI…
PowerPC : 32 et 64 bits, au moins 4 ABI, des SoCs hyper variés…
Alpha : Heu…
AVR32 : avec ou sans MMU (IIRC)
Blackfin : avec ou sans MMU (IIRC)
ix86 (eg. geode est un i586 spécial, etc…), 32 et 64 bits, avec/sans MMX/MMX2/SSE/SSE2/SSE3/SSSE/SSSE2/3DNow/…
or32k
…
Et ce avec différentes libc, compilées pour chacune des variantes d ́optimisation possibles, etc…
Et tant qu ́à faire, différentes versions de binutils, de gcc (avec ou sans GRAPHITE, avec ou sans LTO, etc…), différentes versions de chaque libc (ben oui, certaines ont des bugs ou des fonctionalités supprimées (eg. glibc >= 2.14 ne permet plus de développer des applis utilisant les RPC)…
Bon, bref, à part packager quelques toolchains, qui de toute façon ne couvriront qu ́une petite partie des gens intéressés, et pour quelques cibles trés visibles, c ́est pas gagné.
Et je parle en connaissance de cause : je maintiens crosstool-NG (cité plus bas), j'ai déjà présenté le sujet à trois conférences (ELCE '09, ELCE '10 et FOSDEM '10), et faire des chaînes de compilation croisée fait partie de mon boulot (aussi)… Et pour plus d ́infos, je devrais (à confirmer) donner une conférence sur le sujet aux RMLL 2012.
[^] # Re: Libc
Posté par ymorin . En réponse au journal Chaine(s) de compilation ARM. Évalué à 10.
Pour ARM, c ́est vraiment un mode très compliqué. Rien que pour le calcul flottant, c ́est compliqué :
Ensuite, comme dis précédemment :
Pour ARM, à l ́époque où j ́avais compté, j ́étais arrivé a plus de 2048 combinaisons valides possibles… 8-O
Et puis pourquoi aussi les chaînes de compilation croisée, avec des combinaisons plus ou moins nombreuses (plutôt plus que moins, d'aileurs…) pour toutes les architectures :
Et ce avec différentes libc, compilées pour chacune des variantes d ́optimisation possibles, etc…
Et tant qu ́à faire, différentes versions de binutils, de gcc (avec ou sans GRAPHITE, avec ou sans LTO, etc…), différentes versions de chaque libc (ben oui, certaines ont des bugs ou des fonctionalités supprimées (eg. glibc >= 2.14 ne permet plus de développer des applis utilisant les RPC)…
Bon, bref, à part packager quelques toolchains, qui de toute façon ne couvriront qu ́une petite partie des gens intéressés, et pour quelques cibles trés visibles, c ́est pas gagné.
Et je parle en connaissance de cause : je maintiens crosstool-NG (cité plus bas), j'ai déjà présenté le sujet à trois conférences (ELCE '09, ELCE '10 et FOSDEM '10), et faire des chaînes de compilation croisée fait partie de mon boulot (aussi)… Et pour plus d ́infos, je devrais (à confirmer) donner une conférence sur le sujet aux RMLL 2012.
Bref, que du bonheur… :-p
Hop,
Moi.