커널 컴파일 후 .d 파일을 보존하는 방법은 무엇입니까?

커널 컴파일 후 .d 파일을 보존하는 방법은 무엇입니까?

타사 커널 모듈을 컴파일하고 있습니다. 그들의 빌드 시스템은 /usr/src/linux-headers-[version](사용자 정의 커널 chroot의) 로 이동하여 make거기에서 실행됩니다.

어떤 파일(소스 및 헤더)이 컴파일에 사용되었는지, 어떤 파일이 사용되지 않았는지 알고 싶습니다. Standard는 각각의 컴파일된 소스에 대해 파일을 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

관련 정보