Я компилирую сторонние модули ядра. Их система сборки идет в /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