타사 커널 모듈을 컴파일 중입니다. 빌드 시스템은 /usr/src/linux-headers-[version]
(사용자 정의 커널 chroot) 로 들어가 make
거기에서 실행됩니다.
컴파일에 어떤 파일(소스 파일과 헤더 파일)이 사용되었는지, 어떤 파일이 사용되지 않았는지 알고 싶습니다. 표준에서는 컴파일된 각 소스에 대해 파일을 scripts/Makefile.build
생성하고 *.d
이를 사용하고 싶지만... 이 파일은삭제됨짧은 기간의 처리 후. (이것은 rule_cc_o_c
의 정의 입니다 Makefile.build
.)
표준 빌드 시스템을 최소한으로 수정하면서 이러한 파일을 수집할 수 있는 방법이 있습니까?
답변1
사용해 보세요libtrashcan. 컴파일하고 설치한 후 라이브러리를 프로세스에 미리 로드합니다.
예를 들어, 다음은 테스트 파일을 생성한 다음 삭제하려고 시도하지만 libtrashcan unlink
시스템 호출이 이동되고 교체되므로 파일은 다음에서 끝납니다 ~/Trash
.
export LD_PRELOAD=/usr/local/lib/libtrash.so.3.3
touch testfile
rm testfile