This is the mail archive of the
gdb-patches@sourceware.org
mailing list for the GDB project.
[PATCH 0/8] [AArch64] Add support for tracepoints
- From: Pierre Langlois <pierre dot langlois at arm dot com>
- To: gdb-patches at sourceware dot org
- Cc: Pierre Langlois <pierre dot langlois at arm dot com>
- Date: Tue, 7 Jul 2015 13:51:50 +0100
- Subject: [PATCH 0/8] [AArch64] Add support for tracepoints
- Authentication-results: sourceware.org; auth=none
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