Re: [PATCH] Built kernel without -O2 option

Andi Kleen
2010-11-29T09:59:51Z

Hui Zhu <teawater@gmail.com> writes:

> Now, there are a lot of ways to debug the Linux kernel with GDB, like
> qemu, kgtp or kgdb and so on.
> But the developer more like add a printk. It have a lot of reason, a big one is:
> (gdb) p ret
> $3 = <value optimized out>
> And the code execution order is not right.

Really the right place to fix a lot of this would be gcc (and perhaps
gdb). I suspect with some careful work the debugging experience
for -O2 could be improved a lot.
I also believe the latest gccs already have improvements in this area.

>
> This is becuase the Kernel is bult with gcc -O2. Gcc will not
> generate enough debug message with file with -O2.
> So GDB cannot work very well with Linux kernel.
>
> So I make a patch that add a option in "Kernel hacking" called "Close
> GCC optimization". It will make kernel be built without -O2.

You need to at least keep aggressive inlining for header files,
otherwise there will be too much code bloat and bad code.

Like -O1 -finline-functions ?

-Andi

--
ak@linux.intel.com -- Speaking for myself only.