Résultats de la reconstruction de la base de données du paquet Debian à l'aide de Clang 10

Sylvestre Ledru publié le résultat de la reconstruction de l'archive du paquet Debian GNU/Linux à l'aide du compilateur Clang 10 au lieu de GCC. Sur les 31014 1400 paquets, 4.5 1110 (3.6 %) n’ont pas pu être construits, mais en appliquant un correctif supplémentaire à la boîte à outils Debian, le nombre de paquets non construits a été réduit à 8 9 (4.9 %). À titre de comparaison, lors de la construction dans Clang XNUMX et XNUMX, le nombre de packages qui n'ont pas pu être construits est resté à XNUMX %.

L'expérience de construction s'est concentrée sur 250 problèmes causés par des crashs dus à Erreurs dans Qmake, et 177 numéros, liés avec la génération de divers symboles dans les bibliothèques. En ajoutant un simple correctif à dpkg-gensymbols pour traiter une erreur de comparaison de symboles lors de la liaison comme un avertissement, et en remplaçant les fichiers de configuration g++ dans qmake, nous avons pu corriger les échecs de construction d'environ 290 packages.

Du reste проблем, conduisant à un échec de build dans Clang, les erreurs les plus courantes sont dues à l'absence de certains fichiers d'en-tête, au transtypage, à l'espace manquant entre un littéral et un identifiant, à des problèmes de liaison, à l'échec du retour d'une valeur à partir d'une fonction non vide , en utilisant une comparaison ordonnée d'un pointeur avec null , manque de définitions.

Source: opennet.ru

Ajouter un commentaire