内核编译后如何保留.d文件?

内核编译后如何保留.d文件?

我正在编译第三方内核模块。他们的构建系统进入/usr/src/linux-headers-[version](自定义内核 chroot)并make从那里运行。

我想找出哪些文件(源文件和头文件)已用于编译,哪些没有。标准为每个编译源scripts/Makefile.build创建*.d文件,我想使用它......但这些文件是已删除经过短暂处理后。 (这是rule_cc_o_c中的定义Makefile.build。)

有什么方法可以在对标准构建系统进行最小修改的情况下收集这些文件?

答案1

尝试使用libtrashcan。编译并安装后,将该库预加载到您的进程中。

例如,以下将创建一个测试文件,然后尝试删除它,但由于 libtrashcanunlink系统调用将被移动替换,因此该文件最终将位于~/Trash

export LD_PRELOAD=/usr/local/lib/libtrash.so.3.3
touch testfile
rm testfile

相关内容