Resultater af genopbygning af Debian-pakkedatabasen ved hjælp af Clang 10

Sylvestre Ledru опубликовал resultatet af genopbygningen af ​​Debian GNU/Linux-pakkearkivet ved hjælp af Clang 10-kompileren i stedet for GCC. Ud af de 31014 pakker kunne 1400 (4.5%) ikke bygges, men ved at anvende en ekstra patch til Debian-værktøjssættet blev antallet af ubyggede pakker reduceret til 1110 (3.6%). Til sammenligning, når man byggede i Clang 8 og 9, forblev antallet af pakker, der ikke kunne bygges, på 4.9 %.

Byggeeksperimentet fokuserede på 250 problemer forårsaget af nedbrud pga Fejl i Qmake og 177 numre, relaterede med generering af forskellige symboler i biblioteker. Ved at tilføje en simpel patch til dpkg-gensymbols for at behandle en symbolsammenligningsfejl ved linkning som en advarsel, og ved at erstatte g++ konfigurationsfilerne i qmake, var vi i stand til at rette fejl ved at bygge omkring 290 pakker.

Fra resten problemer, hvilket fører til en build-fejl i Clang, de mest almindelige fejl skyldes fraværet af nogle header-filer, typecasting, manglende mellemrum mellem en bogstavelig og en identifikator, problemer med binding, manglende returnering af en værdi fra en ikke-void funktion , ved hjælp af en ordnet sammenligning af en pointer med null , mangel på definitioner.

Kilde: opennet.ru

Tilføj en kommentar