개발도구 뉴스

고속 링커 mold, Rust 기반 3.0.0 버전 출시

Mold Linker Version 3.0.0 Release – Rewritten in Rust

HNHacker News10월 5일 발표 · 3분

고속 링커 mold가 메이저 업데이트 3.0.0을 발표하며 C++에서 Rust로 전면 재작성되었습니다. 이는 기존 버전과 높은 호환성을 유지하면서 안정성과 기능을 대폭 개선한 첫 번째 Rust 기반 버전입니다.

왜 중요해요AI 정리

고속 링커 mold가 Rust로 재작성되면서 안전성이 크게 높아졌고, 리눅스 배포판의 기본 링커로 채택되는 기반을 마련하는 데 중요한 역할을 해요.

세 줄 요약Hacker News 원문 기반
  1. mold 3.0은 이전 버전을 대체하는 드롭인 방식으로 작동하여 성능 저하가 없으며, Rust의 메모리 경계 검사 기능 도입으로 입력 파일 오류 시 프로그램 충돌을 방지해 안전성이 크게 향상되었습니다.
  2. 이번 업데이트는 mold가 GNU ld와의 호환성을 높이고 리눅스 배포판의 기본 링커로 채택되는 기반을 마련하는 데 중요한 의미를 가지며, 다양한 아키텍처에서 수많은 버그가 수정되었습니다.
  3. 개발자가 직접 mold를 빌드할 경우, 기존 CMake 방식 대신 Cargo를 사용해야 하며 Rust 1.95 이상이 필요합니다. 라이브러리 경로 설정 등 변경된 빌드 시스템 가이드라인을 반드시 확인해야 합니다.

고속 링커인 mold가 메이저 업데이트 3.0.0을 발표하며 C++에서 Rust로 전면 재작성된 첫 번째 버전을 공개했다. 이 버전의 목표는 GNU ld와의 호환성을 높여 리눅스 배포판의 기본 링커로 채택되는 기반을 마련하는 것이다. mold 3.0은 이전 버전인 2.42.1과 동일한 명령줄 옵션 및 타겟 아키텍처를 지원하는 드롭인 대체재 역할을 하며, 성능 저하 없이 높은 호환성을 유지한다.

Rust로의 전환은 안전성 측면에서 큰 개선을 가져왔다. 기존 C++ 버전에서는 입력 파일이 손상되었을 때 메모리 경계 초과로 인해 세그멘테이션 오류가 발생할 수 있었으나, mold 3.0에서는 이러한 접근을 바운드 검사(bounds-checked)하여 패닉으로 중단된다. 또한, 이 업데이트를 통해 정적 링크 실행 파일 생성 시 충돌 문제 수정, 출력 파일과 입력 파일이 같은 경우의 오류 처리 등 다양한 버그가 수정되었다.

사용자가 직접 mold를 빌드하려면 빌드 시스템 변경 사항을 숙지해야 한다. 기존 CMake 방식 대신 Cargo를 사용하며 Rust 1.95 이상 버전과 C 컴파일러가 필요하다. 빌드는 `cargo build --release` 명령어로 진행하고, 설치는 `./install-mold.sh` 스크립트를 통해 할 수 있다. 라이브러리 경로 설정 등 변경된 빌드 시스템 가이드라인을 따라야 한다.

궁금한 점AI 정리 · 원문 기반
mold는 어떤 역할을 하는 프로그램인가요?

고속 링커인 mold는 GNU ld와의 호환성을 높여 리눅스 배포판의 기본 링커로 채택되는 기반을 마련하는 것을 목표로 해요. 이전 버전과 동일한 명령줄 옵션 및 타겟 아키텍처를 지원하며 성능 저하 없이 작동해요.

Rust로 재작성되면서 어떤 점이 개선되었나요?

기존 C++ 버전에서는 입력 파일 손상 시 메모리 경계 초과로 인해 프로그램 충돌(세그멘테이션 오류)할 수 있었지만, mold 3.0은 바운드 검사를 통해 패닉으로 중단되어 안전성이 크게 향상되었어요. 또한 정적 링크 실행 파일 생성 시의 충돌 문제 등 다양한 버그가 수정되었어요.

직접 mold를 빌드하려면 무엇을 준비해야 하나요?

기존의 CMake 방식 대신 Cargo를 사용해야 하며, Rust 1.95 버전 이상과 C 컴파일러가 필요해요. 빌드는 `cargo build --release` 명령어로 진행하고, 설치는 `./install-mold.sh` 스크립트를 통해 할 수 있어요. 변경된 라이브러리 경로 설정 등 가이드라인을 따라야 해요.

원문Hacker News · Mold Linker Version 3.0.0 Release – Rewritten in Rust
궁금한 점 3개AI 정리