Et bien d'après ce qui se dit dans cette news et les commentaires voici les principaux problèmes:
- GCC n'est pas assez modulaire (séparation nette entre la partie de GCC qui lit le fichier source et crée un arbre du programme, entre la partie intermédiaire qui transforme cet arbre en un autre, entre la partie de GCC qui génère l'assembleur pour l'architecture cible), ce qui le rend difficile a maintenir.
- critique des développeurs d'OpenBSD: GCC abandonne régulièrement des architectures (qu'OpenBSD supporte toujours) et GCC ne marche pas correctement sur les architectures moins courantes (qui ne sont pas x86, x86-64, itanium, power)
- GCC est lent pour compiler, ce qui est gênant pour OpenBSD car ils compilent OpenBSD en continu et en natif sur de vieilles architectures / machines.
- ce n'est pas faire un tort de dire des développeurs d'OpenBSD qu'ils sont des maniaques de la qualité (revues de codes permanentes, durcissement du système en intégrant le plus possible de technologies pour sécuriser le système) et ils disposent d'un compilateur GCC extrêmement modifié pour intégrer des technologies de sécurité, d'où l'intérêt pour eux de disposer d'un compilateur extrêmement simple dont ils peuvent facilement revoir le code (le code de GCC est énorme).
- enfin d'après OpenBSD, le travail avec les développeurs GCC n'est pas facile car ils n'intègrent pas les patches soumis par OpenBSD ou globalement ont des vues très différentes sur les objectifs d'un compilateur. Pour résumer: OpenBSD voient le compilateur comme une opportunité de renforcer les contrôles du code et est donc un élément essentiel pour sécuriser tout le système,alors que les développeurs GCC sont à la recherche maximale de performance du binaire compilé.
[^] # Re: Qu'est-ce qui foire dans GCC ?
Posté par djano . En réponse à la dépêche Campagne de dons pour le compilateur PCC. Évalué à 10.
- GCC n'est pas assez modulaire (séparation nette entre la partie de GCC qui lit le fichier source et crée un arbre du programme, entre la partie intermédiaire qui transforme cet arbre en un autre, entre la partie de GCC qui génère l'assembleur pour l'architecture cible), ce qui le rend difficile a maintenir.
- critique des développeurs d'OpenBSD: GCC abandonne régulièrement des architectures (qu'OpenBSD supporte toujours) et GCC ne marche pas correctement sur les architectures moins courantes (qui ne sont pas x86, x86-64, itanium, power)
- GCC est lent pour compiler, ce qui est gênant pour OpenBSD car ils compilent OpenBSD en continu et en natif sur de vieilles architectures / machines.
- ce n'est pas faire un tort de dire des développeurs d'OpenBSD qu'ils sont des maniaques de la qualité (revues de codes permanentes, durcissement du système en intégrant le plus possible de technologies pour sécuriser le système) et ils disposent d'un compilateur GCC extrêmement modifié pour intégrer des technologies de sécurité, d'où l'intérêt pour eux de disposer d'un compilateur extrêmement simple dont ils peuvent facilement revoir le code (le code de GCC est énorme).
- enfin d'après OpenBSD, le travail avec les développeurs GCC n'est pas facile car ils n'intègrent pas les patches soumis par OpenBSD ou globalement ont des vues très différentes sur les objectifs d'un compilateur. Pour résumer: OpenBSD voient le compilateur comme une opportunité de renforcer les contrôles du code et est donc un élément essentiel pour sécuriser tout le système,alors que les développeurs GCC sont à la recherche maximale de performance du binaire compilé.