GCC에서 그들은 RUST(gccrs)의 구현을 승인했습니다.

최근 뉴스는 GCC 운영 위원회는 gccrs 구현의 포함을 승인했습니다. (GCC Rust) GCC 코어의 Rust 컴파일러에서.

그것으로 GCC (GNU 컴파일러 모음) 이미 Rust에 대한 백엔드가 있습니다., Antoni Boucher가 설립한 rustc_codegen_gcc라는 프로젝트를 통해. 여전히 진행 중인 작업으로 설명되지만 2021년 XNUMX월에 주요 Rust 저장소에 병합되었습니다.

언어를 모르는 사람들을 위해 녹, 그들은 무엇인지 알아야한다e는 보안 메모리 관리에 중점을 둡니다. 높은 작업 병렬성을 달성하기 위한 수단을 제공합니다. 메모리 영역을 해제한 후 액세스, null 포인터 역참조, 버퍼 경계 오버플로와 같은 오류를 제외하는 안전한 메모리 처리는 참조 확인, 개체 소유권 추적, 개체 수명(범위 ), 코드 실행 중 메모리 액세스의 정확성을 평가합니다.

정수 오버플로 보호 기능도 제공합니다., 사용하기 전에 변수를 초기화해야 하고, 표준 라이브러리의 오류를 더 잘 처리하고, 기본적으로 참조 및 불변 변수의 개념을 시행합니다.

인터페이스를 통합한 후 표준 GCC에서 LLVM 빌드로 빌드된 rustc 컴파일러를 설치할 필요 없이 Rust 프로그램을 컴파일하는 데 사용할 수 있습니다.

2020년 XNUMX월부터 저는 Open Source Security, Inc 및 Embecosm 덕분에 GCC용 Rust 프론트엔드에서 풀타임으로 일하고 있습니다. 결과적으로, 저는 GCC에 프런트 엔드를 업로드하는 경로를 계획하기 위해 일찍이 이곳의 집단적 경험으로부터 피드백을 구하기 위해 이 메일링 리스트에 글을 쓰고 있습니다.

이 프로젝트의 중요성은 일반적으로 GCC로 구축된 Linux에 대한 중요성입니다. 여기서 메모리 안전상의 이유로 Rust를 C와 함께 커널 코드에 사용할 수 있도록 하려는 계획이 지속적으로 진행되고 있습니다.

이것은 Rust 컴파일러가, Rustc는 GCC 백엔드와 함께 사용할 수 있습니다. 백엔드는 GCC의 패치된 버전을 요구하는 것과 같은 제한 사항이 있지만 Rust의 일반적인 백엔드 컴파일러인 LLVM보다 더 많은 CPU 아키텍처를 지원하는 코드 생성기입니다.

대안은 완전한 GCC 도구 체인을 갖는 것입니다. 2021년 XNUMX월, Grsecurity라고 하는 강화된 Linux 커널 버전을 만드는 Open Source Security, Inc는 보안을 향상시킨다는 이유로 Rust용 GCC 인터페이스의 "공개 개발 노력"에 자금을 지원할 것이라고 말했습니다. 다른 컴파일러를 혼합합니다.

이 프런트 엔드의 리더인 제 관점에서 우리는 현재 과중한 개발 중이므로 이는 상당한 양의 코드 회전을 의미합니다. 아직, 그리고 나는 우리가 성공적으로 컴파일할 수 있을 때까지 이 변화를 보지 못한다. 올해 말 libcore 상자. 서로 보고 싶어도 GCC 13에 병합되어 이 프로젝트가 성공했는지 확인하고 싶습니다. 이는 다음 릴리스 창으로 롤백하는 것을 의미할 수 있습니다. 고품질 프런트 엔드를 생산할 수 있는지 확인하기 위해 비밀 결사 다른 사람에게.

회사는 "컴파일러가 동일한 바이너리 수준 보안을 제공하지 않는 Rust 또는 다른 언어로 작성된 코드를 도입함으로써 런타임 환경의 전반적인 보안이 어떻게 감소될 수 있는지"를 보여주는 논문을 인용했습니다.

gccrs 개발자는 검토 팀과 함께 작업을 시작하는 것이 좋습니다. 및 GCC 변경 릴리스를 통해 GCC에 추가할 코드에 대한 기술 요구 사항을 충족하는 측면에서 패치를 완료하고 승인합니다.

gccrs 개발이 계획대로 계속되고 예상치 못한 문제가 식별되지 않는다고 가정하고, Rust 언어 프런트 엔드는 내년 13월로 예정된 GCC XNUMX 릴리스에 통합됩니다.. GCC 13의 Rust 구현은 아직 기본적으로 활성화되지 않은 베타 상태입니다.

최종적으로 그것에 대해 더 많이 알고 싶다면 프로젝트에 대한 자세한 내용은 다음 링크.


코멘트를 남겨주세요

귀하의 이메일 주소는 공개되지 않습니다. 필수 필드가 표시되어 있습니다 *

*

*

  1. 데이터 책임자: AB Internet Networks 2008 SL
  2. 데이터의 목적 : 스팸 제어, 댓글 관리.
  3. 합법성 : 귀하의 동의
  4. 데이터 전달 : 법적 의무에 의한 경우를 제외하고 데이터는 제 XNUMX 자에게 전달되지 않습니다.
  5. 데이터 저장소 : Occentus Networks (EU)에서 호스팅하는 데이터베이스
  6. 권리 : 귀하는 언제든지 귀하의 정보를 제한, 복구 및 삭제할 수 있습니다.

  1.   큐트릿

    좋습니다. 구현이 많은 프로그래머에게 유용하기를 바랍니다.