아래는
https://devclass.com/2022/07/12/rust-gcc-front-end-approved-by-steering-committee-beta-expected-in-gcc-13/
번역입니다.
오픈 소스 GCC(GNU Compiler Collection)는 GCC에 대한 Rust Frontend(일명 GCC Rust)의 기여를 승인했습니다.
GCC 운영 위원회의 창립 멤버인 David Edelsohn은 성명 을 통해 "GCC 13에 GCC Rust의 예비 베타 버전을 포함하기를 기대합니다."라고 말했습니다.
GCC에는 일반적으로 연간 릴리스 일정이 있습니다. 버전 12.1은 2022년 5월에 릴리스되었으므로 현재 GCC 개발 계획 에 따라 개발 1단계에 있는 GCC 13이 2023년 5월경에 나올 것으로 예상할 수 있습니다.
이 프로젝트의 중요성은 일반적으로 GCC로 구축된 Linux에 대한 중요성입니다. 여기서 메모리 안전상의 이유로 Rust를 C와 함께 리눅스 커널 코드에 사용할 수 있도록 하려는 계획이 꾸준히 진행되고 있습니다. 리눅스 토발즈는 지난 달 “우리는 25년 전에 C++를 리눅스 커널로의 병합을 2주 동안 시도한 후 중단했습니다. 그래서 나에게 Rust는 새로운 것을 시도하는 방법입니다."이라고 언급했습니다
오픈 소스 GCC(GNU Compiler Collection)에는 이미 Antoni Boucher가 설립한 Rustc_codegen_gcc 라는 프로젝트인 Rust용 백엔드가 있습니다. 여전히 진행 중인 작업으로 설명되지만 2021년 9월에 주요 Rust 저장소에 병합 되었습니다.
이것은 Rust 컴파일러인 Rustc를 GCC 백엔드와 함께 사용할 수 있음을 의미합니다. Rustc 백엔드는 일반적인 Rust 백엔드 컴파일러인 LLVM보다 더 많은 CPU 아키텍처를 지원하는 코드 생성기이지만 GCC의 패치 버전이 요구와 같은 제한 사항이 있습니다.
대안은 완전한 GCC 도구 체인을 갖는 것입니다. 2021년 1월 Grsecurity라는 Linux 커널의 강화 버전을 만든 Open Source Security, Inc는 Rust용 GCC 프론트엔드의 "공개 개발 노력"에 자금을 지원할 것이라고 밝혔 습니다. 회사는 "러스트는 컴파일러에서 동일한 바이너리 수준 보안을 제공하지 않는 다른 언어로 작성된 코드의 도입 대비 실행 환경의 전체 보안이 어떻게 감소할 수 있는지"를 보여주는 논문을 인용했습니다.
결과는 벨파스트에 기반을 둔 Philip Herron이 "GNU 툴체인으로 완전히 업스트림이 되는 것을 목표로 GCC 위에 Rust 언어의 완전한 대안 구현"인 gccrs 작업을 위한 자금을 지원받았습니다. 이 작업은 "매우 초기 단계에 있으며 실제 Rust 프로그램을 컴파일하는 데 아직 사용할 수 없음"으로 설명됩니다. FAQ 에서 다루는 문제 중 하나는 "Rust는 현재 완전한 언어 사양이 부족합니다"라는 것입니다. 그러나 gccrs 프로젝트가 이 문제를 해결하는 데 도움이 되기를 바랍니다. 이점에는 위에서 언급한 보안 문제뿐만 아니라 전체 링크 시간 최적화(LTO) 및 더 많은 CPU 아키텍처를 대상으로 하는 기능이 포함됩니다.
번역 끝