Risultati della ricostruzione del database dei pacchetti Debian utilizzando Clang 10

Silvestre Ledru pubblicato il risultato della ricostruzione dell'archivio dei pacchetti Debian GNU/Linux utilizzando il compilatore Clang 10 invece di GCC. Dei 31014 pacchetti, 1400 (4.5%) non possono essere compilati, ma applicando una patch aggiuntiva al toolkit Debian, il numero di pacchetti non compilati Γ¨ stato ridotto a 1110 (3.6%). Per fare un confronto, durante la costruzione in Clang 8 e 9, il numero di pacchetti che non Γ¨ stato possibile costruire Γ¨ rimasto al 4.9%.

L'esperimento di compilazione si Γ¨ concentrato su 250 problemi causati da arresti anomali dovuti a Errori in Qmake e 177 numeri, collegato con la generazione di vari simboli nelle librerie. Aggiungendo una semplice patch a dpkg-gensymbols per trattare un errore di confronto dei simboli durante il collegamento come un avviso e sostituendo i file di configurazione g++ in qmake, siamo stati in grado di correggere gli errori nella compilazione di circa 290 pacchetti.

Dal resto ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌ, che porta ad un errore di compilazione in Clang, gli errori piΓΉ comuni sono dovuti all'assenza di alcuni file header, type casting, spazio mancante tra un letterale e un identificatore, problemi con l'associazione, mancata restituzione di un valore da una funzione non void , utilizzando un confronto ordinato di un puntatore con null , mancanza di definizioni.

Fonte: opennet.ru

Aggiungi un commento