Re: [PATCH] Built kernel without -O2 option

Mark Wielaard
2010-11-29T10:12:31Z

On Mon, 2010-11-29 at 10:59 +0100, Andi Kleen wrote:
> 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.

The VTA branch was merged for GCC 4.5
http://gcc.gnu.org/wiki/Var_Tracking_Assignments
Which helps a lot with generating dwarf for previously "optimized out"
values. There were also a couple of papers on generating even better
debuginfo at the recent GCC Summit: http://gcc.gnu.org/wiki/summit2010

Jakub JelÃ­nek, Improving debug info for optimized away parameters
http://gcc.gnu.org/wiki/summit2010?action=AttachFile&do=get&target=jelinek.pdf
Alexandre Oliva, Consistent Views at Recommended Breakpoints
http://gcc.gnu.org/wiki/summit2010?action=AttachFile&do=get&target=oliva.pdf

Cheers,

Mark