위키득계정 ↗
기술

LLVM AR

LLVM AR기술
실행 이름
llvm-ar
분류
아카이브 관리 도구
입력 예
오브젝트와 비트코드
관련 정보
아카이브 심벌 표
LLVM AR은 여러 파일을 하나의 아카이브 라이브러리로 묶고 관리하는 도구다. 네이티브 오브젝트와 LLVM 비트코드 파일 등을 담는 데 사용할 수 있다.

묶기와 연결 구분

여러 파일을 하나의 아카이브로 보관하며 멤버를 추가하고 교체하거나 추출하는 작업을 수행한다. 아카이브를 만드는 것 자체가 모든 참조를 해결해 실행 파일을 만드는 작업은 아니다. 최종 연결은 링커의 역할이다.

심벌 표의 역할

기본적으로 심벌 표를 생성해 링커가 필요한 멤버를 찾는 데 활용하도록 한다. 네이티브 코드뿐 아니라 비트코드의 심벌도 지원한다. 어떤 멤버가 실제 출력에 참여하는지는 후속 링크의 입력과 심벌 참조 조건에 따라 달라진다.

결정적 아카이브

기본 결정적 모드에서는 시간과 사용자 및 그룹 식별자 같은 일부 메타데이터를 고정해 기록한다. 이는 환경 차이로 인한 변동을 줄이는 데 도움을 준다. 그러나 입력 파일 자체가 다르면 아카이브 전체가 같아진다는 보장은 아니므로 재현 조건을 구분한다.

관련 문서

LLVM NM / LLD 링커 / LLVM Link / LLVM Readobj