데비안 상황

데비안 상황

컴파일된 Linux 배포판이 있나요?클랭/llvm? 2010년 말 현재 커널이 실행 중인 것으로 보입니다. 그렇지 않다면 기술적 문제나 라이센스 문제일 가능성이 더 높습니까?

답변1

데비안 상황

이 질문에 대한 늦은 응답으로 @jmtd가 말한 내용은 데비안 아카이브에서 정기적으로 일어나는 일과 정확히 일치합니다.

최신 툴체인(컴파일러, 링커 등)을 사용하여 패키지를 다시 컴파일하고, 다시 컴파일에 실패하면 컴파일에 실패한 패키지에 대한 오류가 FTBFS("소스에서 빌드할 수 없음") 아카이브에 표시됩니다.

이러한 오류는 일반적으로 뭔가 나쁜 일이 발생했음을 나타내며 일반적으로 심각도가 높은 것으로 나열되고 "릴리스 중요" 오류 상태가 지정됩니다. 즉, 이러한 버그가 해결되지 않으면 새 버전을 릴리스할 수 없습니다.

특히,루카스 누스바움일종의 품질 평가 수단으로 우리는 데비안 프로젝트의 전체 아카이브를 그리드로 다시 컴파일해 왔습니다.

그러나 최근에는실베스터 르드류그리고 다른 데비안 개발자들안내됨 학생Google Summer 2012 코드에서 대체 허용둘 다GCC는 Clang에서 제공되고, libstdc++(C++용 GCC 지원 라이브러리)는 libc++(Clang/LLVM 해당 라이브러리)에서 제공됩니다.

하나 있다장소전체 데비안 패키지 컬렉션에 대한 컴파일 결과를 게시합니다.보고서문서화되다저수온망GCC에서 데비안 빌드 프로세스를 분리하는 프로그램은 다음과 같습니다.완벽하게 완료.

따라서 이러한 성공적인 결과가 얼마나 많은 지원을 받는지에 따라 데비안 버전이 clang/llvm으로 컴파일되는 것을 곧 볼 수 있습니다.

새로 온 사람

이번 업데이트(2016-08-16) 기준으로 clang 및 llvm으로 컴파일된 기존 Linux 배포판의 새 버전이 있습니다.OpenMandrivaLx 3.0, 최종 버전이 출시되었습니다. 해당 의견에 따르면 clang 및 llvm뿐만 아니라 "일반" 높은 최적화 수준으로도 컴파일됩니다.그리고또한링크 시간 최적화(LTO).

저온 산화

질문과 이 답변의 주요 주제는 llvm/clang이지만 공평하게 말하면 다음 사항에 유의해야 합니다.GCC에는 LTO도 있습니다(더LTO의 배경).

이론적으로 LTO는 최신 clang/llvm 및 GCC에서 볼 수 있듯이잠재적인생성된 바이너리를 더 빠르게 만들 뿐만 아니라;텍스트 섹션의 메모리 요구 사항이 더 적습니다.프로그램(그리고Linux 커널은 LTO의 잠재적인 수혜자 중 하나입니다.).

OpenMandriva Lx 3.0이 모든 프로그램에서 얼마나 많은 LTO를 사용하는지 읽지는 못했지만 clang/llvm + LTO를 사용하는 것이 기쁘고 사람들이 "일반" 기반 GCC를 비교하고 대조하는 여러 독립적인 벤치마크를 수행하는 것을 보면 기쁠 것입니다. , OpenMandriva Lx 3.0의 비LTO 최적화 릴리스입니다.

답변2

아직 아님. ~에 따르면현재 열린 오류 보고서커널 자체도 컴파일이 안되는 것 같습니다.

답변3

최종 사용자 바이너리는 clang/llvm을 사용하여 빌드되지 않지만, 대부분의 데비안 아카이브는 이식성 버그를 노출하고 재구성하려는 사람들이 clang/llvm(binutils-gold 및 기타 비트와 조각도 포함)을 사용하여 빌드합니다. 소프트웨어 제품군(및 컴파일러 자체).

답변4

최근 OpenSuse - Tumbleweed 롤링 릴리스에서는 빌드를 위해 gcc9에 LTO를 설정할 예정입니다. http://hubicka.blogspot.com/2019/05/gcc-9-link-time-and-inter-procedural.html

관련 정보