위키득계정 ↗
기술

Mold 링커

Mold 링커기술
주요 역할
오브젝트 파일 링크
대표 출력
실행 파일과 공유 라이브러리
연결 방식
컴파일러 드라이버에서 선택
설계 초점
병렬 링크 처리
Mold는 유닉스 계열의 기존 링커를 대체해 사용할 수 있는 링크 도구다. 여러 오브젝트 파일을 실행 파일이나 공유 라이브러리로 결합하며 병렬 처리와 자료 구조를 통해 링크 단계의 처리 비용을 줄이는 데 초점을 둔다.

컴파일 다음의 결합 단계

일반적인 빌드에서는 소스별로 오브젝트 파일을 만든 뒤 링커가 이를 결합한다. Mold는 이 두 번째 단계의 도구이며 소스 언어를 직접 해석하는 프런트엔드가 아니다. 결과가 큰 프로젝트에서는 링크 시간이 전체 반복 작업의 상당 부분을 차지할 수 있다.

병렬 실행과 대상 기계

링크 작업에 병렬 처리를 활용하고 여러 아키텍처의 출력을 지원한다. x86 계열과 ARM, RISC-V 등이 이에 포함된다. 실제 소요 시간과 다른 링커에 대한 효과는 입력의 규모와 기능, 실행 기계에 따라 달라지므로 특정 비교 수치를 모든 빌드에 적용할 수는 없다.

기존 빌드와 연결하기

GCC나 Clang 같은 컴파일러 드라이버에서 사용할 링커를 선택해 연결할 수 있다. 지원 옵션과 드라이버 버전에 따라 지정 방식이 달라진다. 빌드 시스템의 설정에서 링커를 바꾸는 것과 개별 소스의 컴파일러를 바꾸는 것은 서로 다른 선택이다.

관련 문서

GCC / Clang / CMake / Ninja / 컴파일러