public inbox for gdb-patches@sourceware.org
 help / color / mirror / Atom feed
* [PATCH 0/8] [AArch64] Support fast tracepoints
@ 2015-09-14 11:31 Pierre Langlois
  2015-09-14 11:31 ` [PATCH 1/8] [AArch64] Use debug_printf instead of fprintf_unfiltered Pierre Langlois
                   ` (9 more replies)
  0 siblings, 10 replies; 37+ messages in thread
From: Pierre Langlois @ 2015-09-14 11:31 UTC (permalink / raw)
  To: gdb-patches; +Cc: Pierre Langlois

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

^ permalink raw reply	[flat|nested] 37+ messages in thread

end of thread, other threads:[~2016-02-08 17:59 UTC | newest]

Thread overview: 37+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2015-09-14 11:31 [PATCH 0/8] [AArch64] Support fast tracepoints 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: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: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:32 ` [PATCH 5/8] [GDBserver][AArch64] Implement target_emit_ops Pierre Langlois
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 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 2/8] Make aarch64_decode_adrp handle both ADR and ADRP instructions 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 1/8] Move instruction decoding into new arch/ directory Yao Qi
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

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).