From: Jason Wessel <jason.wessel@windriver.com>
To: Atsushi Nemoto <anemo@mba.ocn.ne.jp>
Cc: linux-kernel@vger.kernel.org, ralf@linux-mips.org,
linux-mips@linux-mips.org
Subject: Re: [PATCH 2/3] kgdb, mips: add arch support for the kernel's kgdb core
Date: Mon, 28 Jul 2008 13:50:55 -0500 [thread overview]
Message-ID: <488E150F.9050508@windriver.com> (raw)
In-Reply-To: <20080728.230512.132304415.anemo@mba.ocn.ne.jp>
Atsushi Nemoto wrote:
> On Fri, 25 Jul 2008 23:52:33 +0900 (JST), Atsushi Nemoto <anemo@mba.ocn.ne.jp> wrote:
>>> It seem ok to me to try it. Here is version 3 of the patch, which I was going to send to Ralf.
>> Thanks, it works for me with serial_txx9 kgdboc module.
>
> BTW, is FRAME_POINTER mandatory for kgdb? I agree that FRAME_POINTER
> (ie. -fno-omit-frame-pointer -fno-optimize-sibling-calls) helps source
> level debugging, but I think transparency is more important.
>
> Now kgdboc can be loaded/activated at run-time, so I want to enable
> CONFIG_KGDB usually. But CONFIG_FRAME_POINTER introduces runtime
> overhead on overall kernel, which is too bad (at least on MIPS).
>
> Also, selecting FRAME_POINTER (which is not selectable on MIPS)
> unconditionally looks somewhat inconsistent.
>
> So ... Is this patch reasonable?
>
Sure the patch is reasonable for MIPS, but I think it is worth going a
step further.
There is no technical reason that frame pointers are required for KGDB
in the present mainline sources. This does allow for further
traceability but it is certainly not a requirement for the use of kgdb.
If all you want to do is look at frame 0 and inspect memory or set a
breakpoint and look at some structures kgdb will certainly serve your
purpose.
I'll consider this a defect to the kgdb core and update the
documentation to reflect that it is advised to use frame pointers, but
not a requirement.
Jason.
WARNING: multiple messages have this Message-ID (diff)
From: Jason Wessel <jason.wessel@windriver.com>
To: Atsushi Nemoto <anemo@mba.ocn.ne.jp>
Cc: linux-kernel@vger.kernel.org, ralf@linux-mips.org,
linux-mips@linux-mips.org
Subject: Re: [PATCH 2/3] kgdb, mips: add arch support for the kernel's kgdb core
Date: Mon, 28 Jul 2008 13:50:55 -0500 [thread overview]
Message-ID: <488E150F.9050508@windriver.com> (raw)
In-Reply-To: <20080728.230512.132304415.anemo@mba.ocn.ne.jp>
Atsushi Nemoto wrote:
> On Fri, 25 Jul 2008 23:52:33 +0900 (JST), Atsushi Nemoto <anemo@mba.ocn.ne.jp> wrote:
>>> It seem ok to me to try it. Here is version 3 of the patch, which I was going to send to Ralf.
>> Thanks, it works for me with serial_txx9 kgdboc module.
>
> BTW, is FRAME_POINTER mandatory for kgdb? I agree that FRAME_POINTER
> (ie. -fno-omit-frame-pointer -fno-optimize-sibling-calls) helps source
> level debugging, but I think transparency is more important.
>
> Now kgdboc can be loaded/activated at run-time, so I want to enable
> CONFIG_KGDB usually. But CONFIG_FRAME_POINTER introduces runtime
> overhead on overall kernel, which is too bad (at least on MIPS).
>
> Also, selecting FRAME_POINTER (which is not selectable on MIPS)
> unconditionally looks somewhat inconsistent.
>
> So ... Is this patch reasonable?
>
Sure the patch is reasonable for MIPS, but I think it is worth going a
step further.
There is no technical reason that frame pointers are required for KGDB
in the present mainline sources. This does allow for further
traceability but it is certainly not a requirement for the use of kgdb.
If all you want to do is look at frame 0 and inspect memory or set a
breakpoint and look at some structures kgdb will certainly serve your
purpose.
I'll consider this a defect to the kgdb core and update the
documentation to reflect that it is advised to use frame pointers, but
not a requirement.
Jason.
>From 329f5bb0071eb2a56f2bcf79838ba91784c8b54d Mon Sep 17 00:00:00 2001
From: Jason Wessel <jason.wessel@windriver.com>
Date: Mon, 28 Jul 2008 13:48:31 -0500
Subject: [PATCH] kgdb: remove the requirement for CONFIG_FRAME_POINTER
There is no technical reason that the kgdb core requires frame
pointers. It is up to the end user of KGDB to decide if they need
them or not.
[ anemo@mba.ocn.ne.jp: removed frame pointers on mips ]
Signed-off-by: Jason Wessel <jason.wessel@windriver.com>
---
Documentation/DocBook/kgdb.tmpl | 8 ++++++++
lib/Kconfig.kgdb | 11 +++++++----
2 files changed, 15 insertions(+), 4 deletions(-)
diff --git a/Documentation/DocBook/kgdb.tmpl b/Documentation/DocBook/kgdb.tmpl
index e8acd1f..54d3b15 100644
--- a/Documentation/DocBook/kgdb.tmpl
+++ b/Documentation/DocBook/kgdb.tmpl
@@ -98,6 +98,14 @@
"Kernel debugging" select "KGDB: kernel debugging with remote gdb".
</para>
<para>
+ It is advised, but not required that you turn on the
+ CONFIG_FRAME_POINTER kernel option. This option inserts code to
+ into the compiled executable which saves the frame information in
+ registers or on the stack at different points which will allow a
+ debugger such as gdb to more accurately construct stack back traces
+ while debugging the kernel.
+ </para>
+ <para>
Next you should choose one of more I/O drivers to interconnect debugging
host and debugged target. Early boot debugging requires a KGDB
I/O driver that supports early debugging and the driver must be
diff --git a/lib/Kconfig.kgdb b/lib/Kconfig.kgdb
index 2cfd272..9b5d1d7 100644
--- a/lib/Kconfig.kgdb
+++ b/lib/Kconfig.kgdb
@@ -4,14 +4,17 @@ config HAVE_ARCH_KGDB
menuconfig KGDB
bool "KGDB: kernel debugging with remote gdb"
- select FRAME_POINTER
depends on HAVE_ARCH_KGDB
depends on DEBUG_KERNEL && EXPERIMENTAL
help
If you say Y here, it will be possible to remotely debug the
- kernel using gdb. Documentation of kernel debugger is available
- at http://kgdb.sourceforge.net as well as in DocBook form
- in Documentation/DocBook/. If unsure, say N.
+ kernel using gdb. It is recommended but not required, that
+ you also turn on the kernel config option
+ CONFIG_FRAME_POINTER to aid in producing more reliable stack
+ backtraces in the external debugger. Documentation of
+ kernel debugger is available at http://kgdb.sourceforge.net
+ as well as in DocBook form in Documentation/DocBook/. If
+ unsure, say N.
if KGDB
--
1.5.5.1
next prev parent reply other threads:[~2008-07-28 18:51 UTC|newest]
Thread overview: 13+ messages / expand[flat|nested] mbox.gz Atom feed top
2008-07-18 17:08 [PATCH 0/3] kgdb 2.6.27 mips Jason Wessel
2008-07-18 17:08 ` [PATCH 1/3] kgdb, mips: Remove existing kgdb implementation Jason Wessel
2008-07-18 17:08 ` [PATCH 2/3] kgdb, mips: add arch support for the kernel's kgdb core Jason Wessel
2008-07-18 17:08 ` [PATCH 3/3] kgdb, mips: pad pt_regs on MIPS64 for function arguments in an exception Jason Wessel
2008-07-18 17:31 ` [PATCH 2/3] kgdb, mips: add arch support for the kernel's kgdb core Atsushi Nemoto
2008-07-18 17:50 ` Jason Wessel
2008-07-24 16:27 ` Atsushi Nemoto
2008-07-25 3:00 ` Jason Wessel
2008-07-25 14:52 ` Atsushi Nemoto
2008-07-28 14:05 ` Atsushi Nemoto
2008-07-28 18:50 ` Jason Wessel [this message]
2008-07-28 18:50 ` Jason Wessel
2008-07-29 1:24 ` Atsushi Nemoto
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=488E150F.9050508@windriver.com \
--to=jason.wessel@windriver.com \
--cc=anemo@mba.ocn.ne.jp \
--cc=linux-kernel@vger.kernel.org \
--cc=linux-mips@linux-mips.org \
--cc=ralf@linux-mips.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.