핵심 요약
- 초고속 링커 mold가 3.0.0 메이저 릴리스를 통해 C++ 기반에서 Rust로 완전히 재작성되었습니다.
- 성능 저하 없이 이전 버전과 완벽 호환되며, 손상된 입력 파일에 대한 메모리 안전성이 대폭 향상되었습니다.
- 빌드 시스템이 CMake에서 Cargo로 전환되었으며, 향후 리눅스 배포판의 기본 링커 채택을 목표로 하고 있습니다.
요약 초고속 링커로 개발자들 사이에서 유명한 mold가 3.0.0 메이저 버전을 정식 출시했습니다. 이번 3.0.0 버전의 가장 큰 변화는 기존 C++로 작성되었던 전체 코드베이스를 Rust 언어로 완전히 다시 작성했다는 점입니다. 이전 2.42.1 버전이 C++ 기반의 마지막 릴리스가 되며, 3.0.0은 Rust로 전환된 첫 공식 버전입니다.
개발팀에 따르면 mold 3.0은 이전 버전인 2.42.1과 완벽하게 호환되는 드롭인 대체재를 목표로 설계되었습니다. 동일한 커맨드라인 옵션과 타깃 아키텍처를 지원하며 링킹 성능 역시 이전과 대등한 수준을 유지합니다. 호환성 검증을 위해 지원되는 모든 타깃에서 테스트 스위트를 수행하고 다양한 실제 워크로드와 Gentoo 패키지 전체를 빌드해 회귀(regression) 현상이 없음을 확인했습니다. 또한 Rust 도입으로 인해 손상된 입력 파일 처리 시 C++ 시절 발생하던 세그멘테이션 오류(segfault) 대신 안전하게 바운드 체크 후 패닉 처리되도록 메모리 안전성이 개선되었습니다.
빌드 시스템도 대폭 개편되어 기존 CMake 대신 Rust의 표준 도구인 Cargo로 빌드하게 됩니다. 빌드에는 Rust 1.95 이상과 C 컴파일러가 요구되며, 기존 oneTBB 의존성이 제거되었습니다. 이번 mold 3.x 시리즈의 장기 목표는 GNU ld와의 남은 호환성 격차를 해소하고, 특히 링커 스크립트 지원을 강화해 향후 다양한 리눅스 배포판의 기본 링커로 공식 채택되도록 발판을 마련하는 것입니다.
Sponsored · 광고