Výsledky přestavění balíkové databáze Debian pomocí Clang 10

Sylvestre Ledru vydal výsledek přebudování archivů balíčků Debian GNU/Linux s použitím kompilátoru Clang 10 místo GCC. Z 31014 balíčků se nepodařilo sestavit 1400 (4,5 %), ale použitím dodatečného patchu na nástroje Debian se počet nesestavených balíčků podařilo snížit na 1110 (3,6 %). Pro srovnání při sestavení v Clang 8 a 9 zůstával počet balíčků, které se nepodařilo sestavit, na úrovni 4,9 %.

Při provádění experimentu se sestavením byla pozornost zaměřena na 250 problémů způsobených pády v chybě Qmake a 177 problémy, které se týkaly generováním různých symbolů v knihovnách. Přidáním jednoduchého patchu do dpkg-gensymbols, který zpracovává chybu porovnávání symbolů při linkování jako varování, a nahrazením v qmake konfiguračních souborů g++ se podařilo odstranit pády při sestavení přibližně 290 balíčků.

Z ostatních problémech, které vedly k pádům při sestavení v Clang, se nejčastěji vyskytují chyby způsobené absencí některých hlavičkových souborů, převody typů, absencí mezery mezi literálem a identifikátorem, problémy s linkováním, absencí návratové hodnoty z ne-void funkce, použití uspořádaného porovnání ukazatele s nulou, absencí definic.

Zdroj: opennet.ru

Koupit spolehlivý hosting pro webové stránky s ochranou proti DDoS, VPS VDS servery 🔥 Koupit spolehlivý hosting pro webové stránky s ochranou proti DDoS, VPS VDS servery | ProHoster