サードパーティのカーネル モジュールをコンパイルしています。そのビルド システムは/usr/src/linux-headers-[version]
(カスタム カーネル chroot の) に移動し、make
そこから実行されます。
どのファイル(ソースとヘッダー)がコンパイルに使用され、どのファイルが使用されなかったかを調べたい。標準でscripts/Makefile.build
は*.d
ので、それを使用したいのですが...これらのファイルは削除されました短い処理の後。(これはrule_cc_o_c
の定義ですMakefile.build
。)
標準ビルド システムに最小限の変更を加えてこれらのファイルを収集する方法は何でしょうか?
答え1
使ってみるゴミ箱コンパイルしてインストールしたら、ライブラリをプロセスにプリロードします。
たとえば、次の例ではテスト ファイルを作成してから削除しようとしますが、libtrashcan によりunlink
システム コールが移動に置き換えられるため、ファイルは次のように配置されます~/Trash
。
export LD_PRELOAD=/usr/local/lib/libtrash.so.3.3
touch testfile
rm testfile