This is the mail archive of the gdb-patches@sourceware.org mailing list for the GDB project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

[PATCH 0/8] [AArch64] Add support for tracepoints


Hi all,

These patches enable tracepoints for AArch64.  Although tracepoints are
enabled in GDBServer with the last patch, most of the changes are in GDB.
The most important changes teach AArch64's frame unwinders to report when
the inferior is unavailable.

The first three patches refactor the frame caches.  The idea is to keep
accesses to the inferior's registers in aarch64_make_prologue_cache and
aarch64_make_stub_cache.  This way the following patches can easily catch
exceptions when the inferior is unavailable.

The following two patches teach AArch64's unwinders to terminate
gracefully, in a similar way as it was done for x86 here:

https://sourceware.org/ml/gdb-patches/2011-02/msg00611.html

It fixes cases where we do not have debugging information and AArch64's
unwinders need to be used when examining a trace buffer.  In this context
we cannot assume that the inferior's memory and registers are available.

Thanks,
Pierre

Pierre Langlois (8):
  [AArch64] Refactor aarch64_make_prologue_cache
  [AArch64] Refactor aarch64_make_stub_cache
  [AArch64] Only access inferior registers when creating a frame cache
  [AArch64] Teach prologue unwinder to terminate gracefully
  [AArch64] Teach stub unwinder to terminate gracefully
  [AArch64] Implement gdbarch_gen_return_address gdbarch method
  [testsuite][AArch64] Port gdb.trace
  [GDBServer][AArch64] Enable support for tracepoints

 gdb/aarch64-tdep.c                                 | 183 +++++++++++++++------
 gdb/gdbserver/linux-aarch64-low.c                  |  10 ++
 gdb/testsuite/gdb.trace/backtrace.exp              |   3 +
 gdb/testsuite/gdb.trace/collection.exp             |   4 +
 .../gdb.trace/mi-trace-frame-collected.exp         |   2 +
 gdb/testsuite/gdb.trace/mi-trace-unavailable.exp   |   2 +
 gdb/testsuite/gdb.trace/report.exp                 |   4 +
 gdb/testsuite/gdb.trace/trace-break.exp            |   2 +
 gdb/testsuite/gdb.trace/unavailable.exp            |   4 +
 gdb/testsuite/gdb.trace/while-dyn.exp              |   2 +
 10 files changed, 166 insertions(+), 50 deletions(-)

-- 
2.1.0


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]