위키득계정 ↗
기술

LLVM Lipo

LLVM Lipo기술
실행 이름
llvm-lipo
분류
유니버설 바이너리 관리
대상 형식
Mach-O
기능 예
생성 추출 교체 아키텍처 확인
LLVM Lipo는 Mach-O 유니버설 바이너리를 구성하고 분리하는 도구다. 파일에 포함된 아키텍처를 확인하고 특정 아키텍처의 슬라이스를 추출할 수 있다.

여러 아키텍처의 결합

서로 다른 아키텍처용 파일을 하나의 유니버설 바이너리로 묶을 수 있다. 이는 하나의 기계 코드가 모든 CPU에서 실행된다는 뜻이 아니다. 각 아키텍처에 맞는 부분을 함께 담고 실행 환경이 적합한 부분을 사용하는 구조다.

존재 여부와 추출

포함된 아키텍처 목록을 표시하거나 필요한 아키텍처가 모두 들어 있는지 검사할 수 있다. 특정 아키텍처의 일반 바이너리를 별도 파일로 추출하는 작업도 가능하다. 목록에 있다는 사실과 실제 기능이 올바르게 실행된다는 사실은 구분한다.

슬라이스 교체

유니버설 입력의 특정 슬라이스를 다른 입력으로 교체할 수 있다. 이때 나머지 부분과 버전 및 기능 구성이 맞는지 확인해야 한다. 처리 후에는 아키텍처 구성뿐 아니라 각 대상 환경에서의 로딩과 실행도 검토한다.

관련 문서

LLVM Readobj / LLVM Objdump / LLVM Size / Dsymutil