Výsledky rekonstrukcie balíkovacej databázy Debian pomocou Clang 10

Sylvestre Ledru publikoval výsledok prekompilovania archívu balíkov Debian GNU/Linux s použitím kompilátora Clang 10 namiesto GCC. Z 31014 balíkov sa nepodarilo zostaviť 1400 (4,5 %), ale aplikovaním dodatočného patchu na nástroje Debian sa číslo nespravených balíkov podarilo znížiť na 1110 (3,6 %). Pre porovnanie, pri zostavovaní s Clang 8 a 9 sa počet balíkov, ktoré sa nepodarilo zostaviť, držal na úrovni 4,9 %.

Pri vykonávaní experimentu so zostavovaním bola pozornosť zameraná na 250 problémov spôsobených chybami v chyby Qmake, a 177 problémoch, súvisiacich s generovaním rôznych symbolov v knižniciach. Pridaním jednoduchého patchu k dpkg-gensymbols, ktorý spracováva chybu porovnávania symbolov pri prepojení ako upozornenie, a nahradením konfiguračných súborov g++ v qmake sa podarilo odstrániť chyby pri zostavovaní približne 290 balíkov.

Z ostatných problémom, ktoré spôsobujú chybu pri zostavovaní s Clang, sa najčastejšie vyskytujú chyby z dôvodu chýbajúcich niektorých hlavičkových súborov, typové konverzie, nedostatku medzery medzi literálom a identifikátorom, problémy s prepojením, absencia návratovej hodnoty z ne-void funkcie, použitie usporiadaného porovnávania ukazovateľa s nulou, absencia definícií.

Zdroj: opennet.ru

Kúpte si spoľahlivý hosting pre webové stránky s ochranou proti DDoS, VPS VDS servery 🔥 Kúpte si spoľahlivý hosting pre webové stránky s ochranou proti DDoS, VPS VDS servery | ProHoster