我对 Makefile 不熟悉,我可以理解它们,但对于 Linux 内核我有一个问题。
(使用 3.7.1,用 BFS 修补,因此行号可能有点偏差)
248号线
HOSTCFLAGS = -Wall -Wmissing-prototypes -Wstrict-prototypes -O2 -fomit-frame-pointer
这是传递给所有 Makefile 的吗?
然后分别在第 349 行和第 352 行
CFLAGS_MODULE =
....
CFLAGS_KERNEL =
....
CFLAGS_GCOV = -fprofile-arcs -ftest-coverage
我猜CFLAGS_MODULE
是传递给作为模块构建的东西,而下一个是特定于内核本身的?用于CFLAGS_GCOV
调试和分析?
然后就是一堆KBUILD_CFLAGS
KBUILD_CFLAGS += $(call cc-option, -fno-stack-protector)
我猜前一行删除了这些选项,下一行添加了?
KBUILD_CFLAGS += -fno-omit-frame-pointer -fno-optimize-sibling-calls
我也没有找到关于此的好的教程。