위키득계정 ↗
기술

LLVM Objcopy

LLVM Objcopy기술
실행 이름
llvm-objcopy
분류
오브젝트 복사 및 편집
조작 예
섹션 추가 제거 추출
입력 예
오브젝트와 아카이브
LLVM Objcopy는 오브젝트 파일을 복사하고 섹션이나 심벌 등의 정보를 조정하는 도구다. 디버깅 정보와 바이너리 구성 요소를 분리하거나 다루는 작업에 활용한다.

복사에 변환 연결

기본적으로 입력을 출력으로 복사하며 지정한 옵션에 따라 정보를 바꾼다. 섹션을 추가하거나 제거하고 내용을 별도 파일로 추출하는 작업 등이 가능하다. 입력이 아카이브라면 요청한 작업이 각 멤버에 적용될 수 있다.

디버깅 자료 관리

디버깅 자료를 분리하거나 별도 파일과 연결하는 정보를 구성하는 데 사용할 수 있다. 그러나 섹션이나 심벌을 무조건 제거하면 실행과 연결 또는 진단에 필요한 정보까지 사라질 수 있다. 파일 형식별 의미를 확인해 필요한 범위만 변경한다.

원본과 결과 구분

출력 파일을 지정하지 않으면 입력 파일 자체를 변경하는 동작이 있다. 원본 보존이 필요한 작업에서는 별도 출력 경로를 명시한다. 변경 뒤에는 크기만 비교하지 말고 헤더와 심벌, 실행 및 디버깅 동작이 의도대로 유지되는지도 검사한다.

관련 문서

LLVM Readobj / LLVM Objdump / LLVM NM / Bloaty