From: Catalin Marinas <catalin.marinas@arm.com>
To: Dmitry Eremin-Solenikov <dbaryshkov@gmail.com>
Cc: Russell King - ARM Linux <linux@arm.linux.org.uk>,
Yao Qi <yao@codesourcery.com>, Eric Miao <eric.y.miao@gmail.com>,
"linux-arm-kernel@lists.infradead.org"
<linux-arm-kernel@lists.infradead.org>,
"gdb@sourceware.org" <gdb@sourceware.org>
Subject: Re: Problem with GDB when debugging IRQ handlers
Date: Tue, 28 Jun 2011 15:06:00 -0000 [thread overview]
Message-ID: <20110628150631.GD24904@e102109-lin.cambridge.arm.com> (raw)
In-Reply-To: <BANLkTinoLB89VAWh-tSswq+H9EcmcQWnXQ@mail.gmail.com>
On Tue, Jun 28, 2011 at 03:54:11PM +0100, Dmitry Eremin-Solenikov wrote:
> On 6/28/11, Dmitry Eremin-Solenikov <dbaryshkov@gmail.com> wrote:
> > On 6/28/11, Catalin Marinas <catalin.marinas@arm.com> wrote:
> >> Actually since the return address is in S_PC (which maybe gdb assumes it
> >> would be the saved LR), this is probably not be correct. After SVC
> >> entry, we have he following structure on the stack:
> >>
> >> ORIG_r0
> >> CPSR
> >> <--- assuming this is the Call Frame Address (SP+S_PC+4)
> >> PC <--- CFA - 4
> >> LR <--- don't care
> >> SP <--- CFA - 12
> >> ...
> >>
> >>
> >> So we tell gdb about this with something like below (untested):
> >>
> >> .cfi_def_cfa_offset S_PC + 4
> >> .cfi_offset 14, -4
> >> .cfi_offset 13, -12
> >
> > This brings "unknown CFA rule" gdb exception, but it seems I got your idea.
>
> No, this seems to work, it was my fault. I got more or less reasonable
> backtrace now.
Does gdb manage to get into the parent stack frame?
BTW, are you compiling with FRAME_POINTER enabled? In this case you
would need to set some offset for the FP register (11). If you don't
mind missing the first part in the parent context, maybe something like
below:
.cfi_def_cfa_offset S_PC
.cfi_offset 14, -4
.cfi_offset 13, -8
.cfi_offset 11, -16
--
Catalin
next prev parent reply other threads:[~2011-06-28 15:06 UTC|newest]
Thread overview: 21+ messages / expand[flat|nested] mbox.gz Atom feed top
[not found] <20110627125306.GA30646@doriath.ww600.siemens.net>
[not found] ` <20110627132735.GE16103@n2100.arm.linux.org.uk>
2011-06-27 14:04 ` Dmitry Eremin-Solenikov
2011-06-27 14:12 ` Hui Zhu
2011-06-27 14:59 ` Yao Qi
2011-06-28 10:40 ` Russell King - ARM Linux
2011-06-28 12:06 ` Dmitry Eremin-Solenikov
2011-06-28 12:14 ` Russell King - ARM Linux
2011-06-28 14:19 ` Catalin Marinas
2011-06-28 14:29 ` Catalin Marinas
2011-06-28 14:38 ` Russell King - ARM Linux
2011-06-28 14:42 ` Catalin Marinas
2011-06-28 14:44 ` Dmitry Eremin-Solenikov
2011-06-28 14:58 ` Dmitry Eremin-Solenikov
2011-06-28 15:06 ` Catalin Marinas [this message]
2011-06-28 15:46 ` Dmitry Eremin-Solenikov
2011-06-28 16:11 ` Catalin Marinas
2011-06-28 22:26 ` Dmitry Eremin-Solenikov
2011-06-29 9:10 ` Catalin Marinas
2011-06-29 11:21 ` Dmitry Eremin-Solenikov
2011-06-28 12:07 ` Hui Zhu
2011-06-28 12:09 ` Russell King - ARM Linux
2011-06-28 13:22 ` Catalin Marinas
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=20110628150631.GD24904@e102109-lin.cambridge.arm.com \
--to=catalin.marinas@arm.com \
--cc=dbaryshkov@gmail.com \
--cc=eric.y.miao@gmail.com \
--cc=gdb@sourceware.org \
--cc=linux-arm-kernel@lists.infradead.org \
--cc=linux@arm.linux.org.uk \
--cc=yao@codesourcery.com \
/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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox