Re: [PATCH] Built kernel without -O2 option

From: Andi Kleen
Date: Mon Nov 29 2010 - 04:59:48 EST


Hui Zhu <teawater@xxxxxxxxx> 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@xxxxxxxxxxxxxxx -- Speaking for myself only.
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/