Mirror of the gdb-patches mailing list
 help / color / mirror / Atom feed
From: "Ulrich Weigand" <uweigand@de.ibm.com>
To: yao@codesourcery.com (Yao Qi)
Cc: gdb-patches@sourceware.org
Subject: Re: [try 3rd] arm_pc_is_thumb takes displaced stepping into account
Date: Mon, 31 Jan 2011 15:40:00 -0000	[thread overview]
Message-ID: <201101311538.p0VFcwIn019533@d06av02.portsmouth.uk.ibm.com> (raw)
In-Reply-To: <4D2D27F2.7050303@codesourcery.com> from "Yao Qi" at Jan 11, 2011 10:02:58 PM

Yao Qi wrote:

> This time, instead of exposing displaced_step_inferior_state to tdep, we 
> return displaced_step_closure, which is defined by each tdep, instance 
> to tdep appropriately.

Hmmm.  I see one problem with this approach:

> +/* If inferior is in displaced stepping, and ADDR equals to starting address
> +   of copy area, return corresponding displaced_step_closure.  Otherwise,
> +   return NULL.  */

What if the copy area contains more than a single instruction, and we
need to find out the mode of the PC corresponding to the second of them?

Your get_displaced_step_closure_by_addr routine would not find the
closure in this case, because the PC doesn't match the start address.

I had originally suggested to create a function that would recognize
any PC within the copy area.  But it seems this cannot be implemented
in common code, since common code does not actually know the length
of the copy area.

Matthew suggested to keep another list of copy areas in target-dependent
code instead.  While I don't really like to keep duplicated data, it
would appear that this approach is able to handle the above situation.

Bye,
Ulrich

-- 
  Dr. Ulrich Weigand
  GNU Toolchain for Linux on System z and Cell BE
  Ulrich.Weigand@de.ibm.com


  parent reply	other threads:[~2011-01-31 15:39 UTC|newest]

Thread overview: 16+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2010-12-20  7:50 [rfa] Update PC without side effect in displaced stepping Yao Qi
2010-12-20  8:06 ` Mark Kettenis
2010-12-20 13:42   ` Yao Qi
2010-12-21 16:19     ` Yao Qi
2010-12-23  4:54       ` Joel Brobecker
2010-12-23  8:45         ` Yao Qi
2011-01-06 14:19           ` [PING : rfa] " Yao Qi
2011-01-12  5:39           ` [try 3rd] arm_pc_is_thumb takes displaced stepping into account Yao Qi
2011-01-13 15:55             ` Matthew Gretton-Dann
2011-01-13 16:34               ` Yao Qi
2011-01-19 16:09             ` [Ping 1: try " Yao Qi
2011-01-30  3:21               ` [Ping 2: " Yao Qi
2011-01-31 15:40             ` Ulrich Weigand [this message]
2011-02-10  6:42               ` [try " Yao Qi
2011-02-15 21:15                 ` Ulrich Weigand
2010-12-23 12:04         ` [rfa] Update PC without side effect in displaced stepping Mark Kettenis

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=201101311538.p0VFcwIn019533@d06av02.portsmouth.uk.ibm.com \
    --to=uweigand@de.ibm.com \
    --cc=gdb-patches@sourceware.org \
    --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