Mirror of the gdb-patches mailing list
 help / color / mirror / Atom feed
From: Yao Qi <qiyaoltc@gmail.com>
To: gdb-patches@sourceware.org
Subject: [PATCH 00/11] Displaced stepping on AArch64 GNU/Linux
Date: Wed, 07 Oct 2015 09:26:00 -0000	[thread overview]
Message-ID: <1444209985-15829-1-git-send-email-yao.qi@linaro.org> (raw)

This patch series adds displaced stepping on aarch64-linux.  The
series refactors and reuses some aarch64 fast tracepoint instruction
relocation code in GDBserver, because both of fast tracepoint and
displaced stepping need to handle instruction relocation.

Patches #2 - #4 are about refactoring aarch64_relocate_instruction in
GDBserver in order to share it between GDB and GDBserver.  A visitor
pattern is used, and aarch64_relocate_instruction decodes instructions
and visits different instructions by different methods of visitor.
See more details in patch #4.  Patch #5 moves all visitor pattern stuff
and aarch64_relocate_instruction to arch/aarch64-insn.c, and patch #6
adds the displaced stepping support.

Patch #8 adds a new test case gdb.arch/disp-step-insn-reloc.exp which
uses insn-reloc.c too for displaced stepping.  Patch #9 and #10 add
"aarch64_" prefix to function names, as a clean up of this series.

The whole series is regression tested on aarch64-linux, both native and
gdbserver.

*** BLURB HERE ***

Yao Qi (11):
  More tests in gdb.arch/insn-reloc.c
  Move target_read_uint32 out of aarch64_relocate_instruction
  Move append_insns out of aarch64_relocate_instruction
  Use visitor in aarch64_relocate_instruction
  Move aarch64_relocate_instruction to arch/aarch64-insn.c
  Support displaced stepping in aarch64-linux
  Support displaced stepping in support_displaced_stepping for
    aarch64*-*-linux*
  New test case gdb.arch/disp-step-insn-reloc.exp
  Rename emit_insn to aarch64_emit_insn
  Rename emit_load_store to  aarch64_emit_load_store
  Mention the change in NEWS

 gdb/NEWS                                        |   2 +
 gdb/aarch64-linux-tdep.c                        |  12 +
 gdb/aarch64-tdep.c                              | 337 ++++++++++
 gdb/aarch64-tdep.h                              |  17 +
 gdb/arch/aarch64-insn.c                         | 152 +++++
 gdb/arch/aarch64-insn.h                         | 282 ++++++++
 gdb/gdbserver/linux-aarch64-low.c               | 824 ++++++++----------------
 gdb/testsuite/gdb.arch/disp-step-insn-reloc.exp |  84 +++
 gdb/testsuite/gdb.arch/insn-reloc.c             |  50 +-
 gdb/testsuite/lib/gdb.exp                       |   3 +-
 10 files changed, 1190 insertions(+), 573 deletions(-)
 create mode 100644 gdb/testsuite/gdb.arch/disp-step-insn-reloc.exp

-- 
1.9.1


             reply	other threads:[~2015-10-07  9:26 UTC|newest]

Thread overview: 16+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2015-10-07  9:26 Yao Qi [this message]
2015-10-07  9:26 ` [PATCH 07/11] Support displaced stepping in support_displaced_stepping for aarch64*-*-linux* Yao Qi
2015-10-07  9:26 ` [PATCH 10/11] Rename emit_load_store to aarch64_emit_load_store Yao Qi
2015-10-07  9:26 ` [PATCH 08/11] New test case gdb.arch/disp-step-insn-reloc.exp Yao Qi
2015-10-07  9:26 ` [PATCH 03/11] Move append_insns out of aarch64_relocate_instruction Yao Qi
2015-10-07  9:26 ` [PATCH 01/11] More tests in gdb.arch/insn-reloc.c Yao Qi
2015-10-07  9:26 ` [PATCH 02/11] Move target_read_uint32 out of aarch64_relocate_instruction Yao Qi
2015-10-07  9:27 ` [PATCH 05/11] Move aarch64_relocate_instruction to arch/aarch64-insn.c Yao Qi
2015-10-07  9:27 ` [PATCH 09/11] Rename emit_insn to aarch64_emit_insn Yao Qi
2015-10-07  9:27 ` [PATCH 04/11] Use visitor in aarch64_relocate_instruction Yao Qi
2015-10-07  9:27 ` [PATCH 11/11] Mention the change in NEWS Yao Qi
2015-10-07 15:38   ` Eli Zaretskii
2015-10-07  9:27 ` [PATCH 06/11] Support displaced stepping in aarch64-linux Yao Qi
2015-10-13 20:26   ` Sergio Durigan Junior
2015-10-14  8:37     ` Yao Qi
2015-10-12 10:35 ` [PATCH 00/11] Displaced stepping on AArch64 GNU/Linux Yao Qi

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=1444209985-15829-1-git-send-email-yao.qi@linaro.org \
    --to=qiyaoltc@gmail.com \
    --cc=gdb-patches@sourceware.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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox