Mirror of the gdb-patches mailing list
 help / color / mirror / Atom feed
From: Richard Earnshaw <rearnsha@arm.com>
To: Daniel Jacobowitz <drow@false.org>
Cc: Richard Earnshaw <rearnsha@arm.com>, gdb-patches@sources.redhat.com
Subject: Re: [rfa/arm] Handle bx and blx
Date: Fri, 19 Mar 2004 00:09:00 -0000	[thread overview]
Message-ID: <200403081017.i28AHrE08741@pc960.cambridge.arm.com> (raw)
Message-ID: <20040319000900.OOx8opsIUWQepLgo8o2WMQ36ocfiG79JhO6SIUXhDS4@z> (raw)
In-Reply-To: Your message of "Sun, 07 Mar 2004 15:15:40 EST." <20040307201539.GA22007@nevyn.them.org>

> On Wed, Mar 03, 2004 at 04:01:55PM +0000, Richard Earnshaw wrote:
> > > The software single-step implementation in GDB doesn't know either BX or
> > > BLX.  This results in losing control of the inferior when we single-step
> > > over them.  I based this on the ARM ARM, so I'm pretty sure I've got the
> > > numbers correct.
> > > 
> > > OK to check in?
> > > 
> > > -- 
> > > Daniel Jacobowitz
> > > MontaVista Software                         Debian GNU/Linux Developer
> > > 
> > > 2004-02-28  Daniel Jacobowitz  <drow@mvista.com>
> > > 
> > > 	* arm-tdep.c (thumb_get_next_pc): Handle BX.
> > > 	(arm_get_next_pc): Handle BX and BLX.
> > 
> > Yikes!  Yes, this is OK.  However, Thumb has BLX (2 variants) as well.
> 
> Right you are.  I've checked in the above; if I'm reading
> thumb_get_next_pc and the ARM correctly, then the below is all I need
> for BLX.  The first form is already handled since we don't check H.
> The second form can be handled identically to BX by relaxing a test.
> 
> OK?
> 
> -- 
> Daniel Jacobowitz
> MontaVista Software                         Debian GNU/Linux Developer
> 
> 2004-03-07  Daniel Jacobowitz  <drow@mvista.com>
> 
> 	* arm-tdep.c (thumb_get_next_pc): Handle Thumb BLX.

Very close, and possibly good enough for most purposes.  But the ARM ARM 
says that in the blx(1) case, the resulting address should be masked with 
0xfffffffc.  That means that there are two theoretical encodings for each 
target ARM-state instruction.  I think you need to add a test for H=01 and 
if so, to apply the mask to nextpc.

R.



  reply	other threads:[~2004-03-08 10:18 UTC|newest]

Thread overview: 17+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2004-02-28 18:35 Daniel Jacobowitz
2004-03-03 16:02 ` Richard Earnshaw
2004-03-07 20:15   ` Daniel Jacobowitz
2004-03-08 10:18     ` Richard Earnshaw [this message]
2004-03-19  0:09       ` Richard Earnshaw
2004-03-19  0:09       ` Daniel Jacobowitz
2004-03-08 14:09         ` Daniel Jacobowitz
2004-03-19  0:09         ` Richard Earnshaw
2004-03-08 14:19           ` Richard Earnshaw
2004-03-08 14:25           ` Daniel Jacobowitz
2004-03-19  0:09             ` Daniel Jacobowitz
2004-03-19  0:09             ` Richard Earnshaw
2004-03-08 14:28               ` Richard Earnshaw
2004-03-09 15:47               ` Daniel Jacobowitz
2004-03-19  0:09                 ` Daniel Jacobowitz
2004-03-19  0:09     ` Daniel Jacobowitz
2004-03-19  0:09   ` Richard Earnshaw

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=200403081017.i28AHrE08741@pc960.cambridge.arm.com \
    --to=rearnsha@arm.com \
    --cc=drow@false.org \
    --cc=gdb-patches@sources.redhat.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