Debian pakotņu datu bāzes atjaunošanas rezultāti, izmantojot Clang 10

Silvestre Ledru publicēti Debian GNU/Linux pakotņu arhīva atjaunošanas rezultāts, izmantojot kompilatoru Clang 10, nevis GCC. No 31014 1400 pakotnēm 4.5 (1110%) nevarēja uzbūvēt, taču, uzliekot papildu ielāpu Debian rīkkopai, neizbūvēto pakotņu skaits tika samazināts līdz 3.6 (8%). Salīdzinājumam, būvējot Clang 9 un 4.9, to paku skaits, kuras nevarēja uzbūvēt, saglabājās XNUMX%.

Būvēšanas eksperiments koncentrējās uz 250 problēmām, ko izraisīja avārijas Kļūdas vietnē Qmake un 177 izdevumos, saistīti ar dažādu simbolu ģenerēšanu bibliotēkās. Pievienojot dpkg-gensymbols vienkāršu ielāpu, lai simbolu salīdzināšanas kļūdu saistīšanas laikā uzskatītu par brīdinājumu, un aizstājot g++ konfigurācijas failus programmā qmake, mēs varējām novērst kļūmes, veidojot aptuveni 290 pakotnes.

No pārējiem problēmas, izraisot Clang izveides kļūmi, visbiežāk sastopamās kļūdas ir saistītas ar dažu galvenes failu neesamību, tipa apraidi, trūkstošo atstarpi starp burtu un identifikatoru, saistīšanas problēmām, nespēju atgriezt vērtību no nederīgas funkcijas. , izmantojot sakārtotu rādītāja salīdzinājumu ar nulli , definīciju trūkums.

Avots: opennet.ru

Pievieno komentāru