Clang 10을 사용하여 Debian 패키지 데이터베이스를 재구축한 결과

실베스트레 레드루 출판 GCC 대신 Clang 10 컴파일러를 사용하여 Debian GNU/Linux 패키지 아카이브를 다시 빌드한 결과입니다. 31014개 패키지 중 1400개(4.5%)는 빌드하지 못했으나, 데비안 툴킷에 추가 패치를 적용해 빌드되지 않은 패키지 수가 1110개(3.6%)로 줄었다. 비교를 위해 Clang 8, 9에서 빌드할 때 빌드할 수 없는 패키지 수가 4.9%로 유지되었습니다.

빌드 실험은 다음으로 인한 충돌로 인해 발생하는 250가지 문제에 중점을 두었습니다. 오류 Qmake 및 177호에서 관련된 도서관의 다양한 기호 생성으로. 링크 시 기호 비교 오류를 경고로 처리하기 위해 dpkg-gensymbols에 간단한 패치를 추가하고 qmake의 g++ 구성 파일을 교체함으로써 약 290개의 패키지 빌드 실패를 수정할 수 있었습니다.

나머지에서 проблем, Clang에서 빌드 실패로 이어지는 가장 일반적인 오류는 일부 헤더 파일의 부재, 유형 캐스팅, 리터럴과 식별자 사이의 공백 누락, 바인딩 문제, void가 아닌 함수에서 값 반환 실패로 인해 발생합니다. , null 과 포인터의 순서 비교를 사용하여 정의가 부족합니다.

출처 : opennet.ru

코멘트를 추가