向Makefile传宏

    在模块开发学习到oops时,想要在oops.ko上加上调试信息,书上是在linux内核源代码顶层Makefile中如下:

ifdef CONFIG_DEBUG_INFO
KBUILD_CFLAGS	+= -g
KBUILD_AFLAGS	+= -gdwarf-2
endif

    在其中define CONFIG_DEBUG_INFO这个宏,或者是把这对ifdef endfi去掉。但是我试过OK后,又觉得这样有点不妥,就这一个内核模块要加调试信息,就把内核中的Makefile就动了,想想看在模块目录下的Makefile改改能不能把这个宏添加上,这样也不影响其它的。

    我就幻觉般的在命令处用-DCONFIG_DEBUG_INFO却不好使,man一下才这个不是gcc,没有这个功能。也不知道怎么描述,google了一会儿也没有结果。绝望之际就把它当成Makefile中的变量一样直接赋值为1,就是:CONFIG_DEBUG_INFO=1。还别说给蒙上了,就可以的,编译好的模块,再用:arm-linux-objdump -D -S oops.ko > log。打开一看,有我要的对应汇编的C代码。

    Makefile代码截图:

    向Makefile传宏_第1张图片

    make过程截图:

    向Makefile传宏_第2张图片

    反汇编代码过截图:

    向Makefile传宏_第3张图片

    就是个笔记。






你可能感兴趣的:(内核模块)