Clang 10 ашиглан Debian багц мэдээллийн санг сэргээн босгосны үр дүн

Сильвестр Ледрю (Sylvestre Ledru) Нийтлэгдсэн результат пересборки архива пакетов Debian GNU/Linux с использованием компилятора Clang 10 вместо GCC. Из 31014 пакетов не удалось собрать 1400 (4.5%), но применив к инструментарию Debian дополнительный патч число несобранных пакетов удалось уменьшить до 1110 (3.6%). Для сравнения при сборке в Clang 8 и 9 число пакетов, которые не удалось собрать, держалось на уровне 4.9%.

При проведении эксперимента со сборкой внимание было сосредоточено на 250 проблемах, вызванных сбоем из-за алдаа в Qmake, и 177 проблемах, холбоотой с генерацией различных символов в библиотеках. Добавив простой патч к dpkg-gensymbols, обрабатывающий ошибку сравнения символов при связывании как предупреждение, и заменив в qmake конфигурационные файлы g++ удалось устранить сбои при сборке примерно 290 пакетов.

Из остальных асуудлууд, приводящих к сбою при сборке в Clang, наиболее часто встречаются ошибки из-за отсутствия некоторых заголовочных файлов, приведения типов, отсутствия пробела между литералом и идентификатором, проблемы со связыванием, отсутствие возврата значения из не-void функции, использование упорядоченного сравнения указателя с нулём, отсутствие определений.

Эх сурвалж: opennet.ru

сэтгэгдэл нэмэх