This is the mail archive of the
mailing list for the GDB project.
Re: [PATCH] Built kernel without -O2 option
- From: Hui Zhu <teawater at gmail dot com>
- To: Andi Kleen <andi at firstfloor dot org>
- Cc: linux-kernel at vger dot kernel dot org, gdb at sourceware dot org, hellogcc at freelists dot org
- Date: Wed, 1 Dec 2010 20:52:16 +0800
- Subject: Re: [PATCH] Built kernel without -O2 option
- References: <AANLkTimewZ4QhxzL2vOYYV85pegy8Fu6Rb4XUAPqGUXS@mail.gmail.com> <firstname.lastname@example.org>
On Mon, Nov 29, 2010 at 17:59, Andi Kleen <email@example.com> wrote:
> Hui Zhu <firstname.lastname@example.org> 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.
If you think they are OK, go get a new gcc and try. :)
>> 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 ?
If I can build OK, why I need add some options?