首页 > 解决方案 > 如何更改内核优化级别?

问题描述

我使用 kgdb 进行内核调试,但打印值有问题。

我想获取有关函数参数的信息。(ex (gdb) p *page) 但我得到的只是优化

我发现它是由于编译器优化而发生的。他们说将内核优化级别更改为 Og 会有所帮助。

但我不知道如何改变它。

我改变了顶层 Makefile 如下所示。

703 ifdef CONFIG_CC_OPTIMIZE_FOR_SIZE
704 KBUILD_CFLAGS   += -Os
705 else
706 KBUILD_CFLAGS   += -Og                                                                                                                                                                                          
707 endif

但是,我在制作过程中出错了。

scripts/Makefile.build:497: recipe for target 'fs/cifs' failed

标签: linuxlinux-kernel

解决方案


如果您想要内核的 Og 级别,请在此处查看。早期我曾发送过这样的补丁系列,但被 Linus 拒绝。

内核黑客:GCC 优化以获得更好的调试体验 (-Og)

https://lwn.net/Articles/753639/


推荐阅读