public inbox for gdb-patches@sourceware.org
 help / color / mirror / Atom feed
From: Pierre Langlois <pierre.langlois@arm.com>
To: gdb-patches@sourceware.org
Cc: Pierre Langlois <pierre.langlois@arm.com>
Subject: [PATCH 0/8] [AArch64] Support fast tracepoints
Date: Mon, 14 Sep 2015 11:31:00 -0000	[thread overview]
Message-ID: <1442230282-20751-1-git-send-email-pierre.langlois@arm.com> (raw)

Hi all,

This series of patches add support for fast tracepoints on aarch64-linux.
They are on top of
https://sourceware.org/ml/gdb-patches/2015-09/msg00239.html.

With this implementation, a tracepoint can only be placed in a +/- 128MB
range of the jump pad.  This is due to the unconditional branch instruction
being limited to a (26 bit << 2) offset from the current PC.

Patches #1 to #3 are AArch64 specific preparations.  The idea
is that some architecture specific code can be shared between GDB and
GDBserver.  Specifically, the decoding of some instructions is needed in GDB
when scanning the prologue and in GDBserver when relocating a PC relative
instruction.

The implementation of fast tracepoints is in patch #4 and patch #5 implements
native compilation of agent expressions.

Finally, the last patches enables some tests and add new ones.

The patches were tested on aarch64-linux in a remote configuration.  All
fast tracepoint tests are now enabled with no new failures.  The new test
cases were also tested on x86_64 and i386 with native-gdbserver.

Thanks,
Pierre

Pierre Langlois (8):
  [AArch64] Use debug_printf instead of fprintf_unfiltered
  [AArch64] Move instruction decoding into new arch/ directory
  [AArch64] Make aarch64_decode_adrp handle both ADR and ADRP
    instructions
  [GDBserver][AArch64] Add support for fast tracepoints
  [GDBserver][AArch64] Implement target_emit_ops
  [testsuite][AArch64] Enable fast tracepoint tests
  [testsuite] Add a gdb.trace test for instruction relocation
  [testsuite] Add a test case for fast tracepoints' locking mechanism

 gdb/Makefile.in                               |   13 +-
 gdb/aarch64-tdep.c                            |  394 +---
 gdb/arch/aarch64-insn.c                       |  227 +++
 gdb/arch/aarch64-insn.h                       |   39 +
 gdb/configure.tgt                             |    4 +-
 gdb/gdbserver/Makefile.in                     |   12 +
 gdb/gdbserver/configure.srv                   |    3 +-
 gdb/gdbserver/linux-aarch64-ipa.c             |  141 ++
 gdb/gdbserver/linux-aarch64-low.c             | 2667 ++++++++++++++++++++++++-
 gdb/testsuite/gdb.trace/change-loc.h          |    2 +
 gdb/testsuite/gdb.trace/ftrace-insn-reloc.c   |  508 +++++
 gdb/testsuite/gdb.trace/ftrace-insn-reloc.exp |  114 ++
 gdb/testsuite/gdb.trace/ftrace-lock.c         |  106 +
 gdb/testsuite/gdb.trace/ftrace-lock.exp       |   95 +
 gdb/testsuite/gdb.trace/ftrace.c              |    2 +
 gdb/testsuite/gdb.trace/ftrace.exp            |    2 +-
 gdb/testsuite/gdb.trace/pendshr1.c            |    2 +
 gdb/testsuite/gdb.trace/pendshr2.c            |    2 +
 gdb/testsuite/gdb.trace/range-stepping.c      |    2 +
 gdb/testsuite/gdb.trace/trace-break.c         |    4 +
 gdb/testsuite/gdb.trace/trace-condition.c     |    2 +
 gdb/testsuite/gdb.trace/trace-condition.exp   |    2 +
 gdb/testsuite/gdb.trace/trace-mt.c            |    2 +
 23 files changed, 4048 insertions(+), 297 deletions(-)
 create mode 100644 gdb/arch/aarch64-insn.c
 create mode 100644 gdb/arch/aarch64-insn.h
 create mode 100644 gdb/gdbserver/linux-aarch64-ipa.c
 create mode 100644 gdb/testsuite/gdb.trace/ftrace-insn-reloc.c
 create mode 100644 gdb/testsuite/gdb.trace/ftrace-insn-reloc.exp
 create mode 100644 gdb/testsuite/gdb.trace/ftrace-lock.c
 create mode 100644 gdb/testsuite/gdb.trace/ftrace-lock.exp

-- 
2.4.6

             reply	other threads:[~2015-09-14 11:31 UTC|newest]

Thread overview: 37+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2015-09-14 11:31 Pierre Langlois [this message]
2015-09-14 11:31 ` [PATCH 3/8] [AArch64] Make aarch64_decode_adrp handle both ADR and ADRP instructions Pierre Langlois
2015-09-15 10:12   ` Yao Qi
2015-09-15 12:05     ` [PATCH 3/8 v2] " Pierre Langlois
2015-09-14 11:31 ` [PATCH 1/8] [AArch64] Use debug_printf instead of fprintf_unfiltered Pierre Langlois
2015-09-15 10:06   ` Yao Qi
2015-09-15 11:07     ` Pierre Langlois
2015-09-15 11:19       ` Yao Qi
2015-09-15 11:43         ` [PATCH 2/8 v2] " Pierre Langlois
2015-09-15 17:40           ` Pierre Langlois
2015-09-14 11:32 ` [PATCH 5/8] [GDBserver][AArch64] Implement target_emit_ops Pierre Langlois
2015-09-14 11:32 ` [PATCH 7/8] [testsuite] Add a gdb.trace test for instruction relocation Pierre Langlois
2015-09-15 11:27   ` Yao Qi
2015-09-14 11:32 ` [PATCH 6/8] [testsuite][AArch64] Enable fast tracepoint tests Pierre Langlois
2015-09-15 10:18   ` Yao Qi
2015-09-14 11:33 ` [PATCH 4/8] [GDBserver][AArch64] Add support for fast tracepoints Pierre Langlois
2015-09-15 13:01   ` Yao Qi
2015-09-14 11:38 ` [PATCH 2/8] [AArch64] Move instruction decoding into new arch/ directory Pierre Langlois
2015-09-15 10:10   ` Yao Qi
2015-09-15 12:02     ` [PATCH 2/8 v2] " Pierre Langlois
2015-09-14 11:38 ` [PATCH 8/8] [testsuite] Add a test case for fast tracepoints' locking mechanism Pierre Langlois
2015-09-14 16:45 ` [PATCH] Add NEWS entry for fast tracepoint support on aarch64-linux Pierre Langlois
2015-09-18 12:43 ` [PATCH 0/8 V2] [AArch64] Support fast tracepoints Yao Qi
2015-09-18 12:43   ` [PATCH 1/8] Move instruction decoding into new arch/ directory Yao Qi
2015-09-18 12:43   ` [PATCH 7/8] Add a test case for fast tracepoints' locking mechanism Yao Qi
2015-09-18 12:43   ` [PATCH 2/8] Make aarch64_decode_adrp handle both ADR and ADRP instructions Yao Qi
2015-09-18 12:43   ` [PATCH 8/8] Add NEWS entry for fast tracepoint support on aarch64-linux Yao Qi
2015-09-18 14:07     ` Eli Zaretskii
2015-09-18 12:43   ` [PATCH 4/8] Implement target_emit_ops Yao Qi
2015-09-18 12:57     ` Pierre Langlois
2016-02-05 20:09     ` Antoine Tremblay
2016-02-08 17:30       ` Yao Qi
2016-02-08 17:59         ` Antoine Tremblay
2015-09-18 12:43   ` [PATCH 5/8] Enable fast tracepoint tests Yao Qi
2015-09-18 12:44   ` [PATCH 6/8] Add a gdb.trace test for instruction relocation Yao Qi
2015-09-18 12:44   ` [PATCH 3/8] Add support for fast tracepoints Yao Qi
2015-09-21 14:06   ` [PATCH 0/8 V2] [AArch64] Support " 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=1442230282-20751-1-git-send-email-pierre.langlois@arm.com \
    --to=pierre.langlois@arm.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;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).