위키득계정 ↗
기술

LLVM NM

LLVM NM기술
실행 이름
llvm-nm
분류
심벌 표 조회 도구
입력 예
비트코드 오브젝트 아카이브
기본 표시
주소 분류 코드 이름
LLVM NM은 LLVM 비트코드와 오브젝트 파일, 아카이브의 심벌 정보를 나열하는 도구다. 심벌의 이름과 분류를 통해 파일 사이의 정의와 참조를 조사한다.

이름이 있는 대상

함수와 전역 데이터 등 파일에서 이름으로 연결하는 대상을 심벌 정보로 살펴본다. 심벌마다 정의 여부와 속성이 다를 수 있다. 이름이 출력된다는 사실만으로 해당 파일에 실제 구현이 들어 있다고 판단해서는 안 된다.

링크 문제 조사

정의되지 않은 참조나 중복된 이름을 조사할 때 관련 파일의 심벌 목록을 비교할 수 있다. 약한 심벌과 일반 정의 등 연결 규칙에 영향을 주는 속성을 구분한다. 분류 문자의 세부 의미는 파일 형식에 따라 달라질 수 있다.

조회 결과의 한계

심벌 표는 파일에 기록된 연결 정보를 보여 준다. 실제 실행 중 호출된 횟수나 함수 내부의 비용을 측정한 자료가 아니다. 파일이 제거하거나 숨긴 심벌도 있을 수 있으므로 디스어셈블과 디버깅 정보 등 다른 자료를 함께 살펴본다.

관련 문서

LLVM Readobj / LLVM Objdump / LLVM AR / LLD 링커