[hellogcc] Re: [PATCH] Built kernel without -O2 option

  • From: Hui Zhu <teawater@xxxxxxxxx>
  • To: Andi Kleen <andi@xxxxxxxxxxxxxx>
  • Date: Wed, 1 Dec 2010 20:52:16 +0800

On Mon, Nov 29, 2010 at 17:59, Andi Kleen <andi@xxxxxxxxxxxxxx> wrote:
> 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.
>

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?

Thanks,
Hui

Other related posts: