Výsledky prebudovania databázy balíkov Debianu pomocou Clang 10

Sylvestre Ledru publikovaný výsledok prebudovania archívu balíkov Debian GNU/Linux pomocou kompilátora Clang 10 namiesto GCC. Z 31014 1400 balíkov nebolo možné zostaviť 4.5 1110 (3.6 %), ale aplikovaním dodatočnej opravy na sadu nástrojov Debianu sa počet nezostavených balíkov znížil na 8 9 (4.9 %). Pre porovnanie, pri stavaní v Clang XNUMX a XNUMX zostal počet balíčkov, ktoré nebolo možné postaviť, na úrovni XNUMX%.

Experiment so zostavovaním sa zameral na 250 problémov spôsobených zlyhaniami Chyby v Qmake a 177 vydaniach, súvisiace s generovaním rôznych symbolov v knižniciach. Pridaním jednoduchej opravy do dpkg-gensymbols, ktorá rieši chybu porovnávania symbolov pri prepájaní ako varovanie, a nahradením konfiguračných súborov g++ v qmake sa nám podarilo opraviť zlyhania pri zostavovaní približne 290 balíkov.

Zo zvyšku problémy, čo vedie k zlyhaniu zostavy v Clang, najčastejšie chyby sú spôsobené absenciou niektorých hlavičkových súborov, typovým pretypovaním, chýbajúcim priestorom medzi literálom a identifikátorom, problémami s väzbou, nevrátením hodnoty z nenulovej funkcie , pomocou usporiadaného porovnania ukazovateľa s hodnotou null , nedostatok definícií.

Zdroj: opennet.ru

Pridať komentár