Mga resulta ng muling pagtatayo ng database ng Debian package gamit ang Clang 10

Sylvestre Ledru lathala ang resulta ng muling pagtatayo ng Debian GNU/Linux package archive gamit ang Clang 10 compiler sa halip na GCC. Sa 31014 na pakete, 1400 (4.5%) ang hindi mabuo, ngunit sa pamamagitan ng paglalapat ng karagdagang patch sa Debian toolkit, ang bilang ng mga hindi nabuo na pakete ay nabawasan sa 1110 (3.6%). Para sa paghahambing, kapag nagtatayo sa Clang 8 at 9, ang bilang ng mga pakete na hindi maitayo ay nanatili sa 4.9%.

Nakatuon ang eksperimento sa build sa 250 problemang dulot ng mga pag-crash dahil sa Mga error sa Qmake, at 177 isyu, kaugnay sa pagbuo ng iba't ibang simbolo sa mga aklatan. Sa pamamagitan ng pagdaragdag ng isang simpleng patch sa dpkg-gensymbols para ituring ang error sa paghahambing ng simbolo kapag nagli-link bilang isang babala, at sa pamamagitan ng pagpapalit ng mga file ng configuration ng g++ sa qmake, nagawa naming ayusin ang mga pagkabigo sa pagbuo ng humigit-kumulang 290 na mga pakete.

Mula sa iba mga problema, na humahantong sa isang pagkabigo ng build sa Clang, ang pinakakaraniwang mga error ay dahil sa kawalan ng ilang mga file ng header, uri ng pag-cast, nawawalang espasyo sa pagitan ng literal at isang identifier, mga problema sa pagbubuklod, hindi pagbabalik ng isang halaga mula sa isang non-void function. , gamit ang isang nakaayos na paghahambing ng isang pointer na may null , kakulangan ng mga kahulugan.

Pinagmulan: opennet.ru

Magdagdag ng komento