This is the mail archive of the
gcc-help@gcc.gnu.org
mailing list for the GCC project.
Fwd: some questions about kernel debugging
- From: loody <miloody at gmail dot com>
- To: gcc-help <gcc-help at gcc dot gnu dot org>
- Date: Sat, 10 Jul 2010 08:25:32 +0800
- Subject: Fwd: some questions about kernel debugging
- References: <AANLkTikFu0Aw81QHlNyWZ8FVbIwG-GQkZuZGntqnJ_Ji@mail.gmail.com> <20100709130708.GA13468@host0.dyn.jankratochvil.net>
Dear gcc guys:
Is there another way to p/x variables of kernel except I re-compile
the it with the latest GCC?
appreciate your help,
miloody
---------- Forwarded message ----------
From: Jan Kratochvil
Date: 2010/7/9
Subject: Re: some questions about kernel debugging
To: loody
On Fri, 09 Jul 2010 13:52:31 +0200, loody wrote:
> I enable kernel hacking options about kernel debugging on my mips platform.
> I can successfully connect to the target board.
> My question is:
> 1. why I cannot p/x the value of variable?
> ? ? I have enabled CONFIG_ARCH_WANT_FRAME_POINTERS and CONFIG_FRAME_POINTER
> ? ? but I still get the message which tell me "value optimized out".
> ? ? did I miss anything?
> ? ? my kernel version is 2.6.30.9?
This is not a GDB problem, you should report it to GCC (you need a minimal
reproducer for the bugreport).
The problem is Linux kernel cannot (at least could not) compile with -O0, it
requires -O2 to successfully build. ?-O2 was always mostly unsupported
together with -g (=debuggingo information). ?For -O2 -g you should use the
latest GCC - SVN HEAD best - and definitely at least 4.5 (for VTA
- var-tracking-assignments).
Besides resolving this -O2 -g problem at GCC the easy way is always to just
`disassemble' the code in GDB, guess from the code+source in which
register/memory is the value probably located and access it directly there.
Regards,
Jan