From: Zied Guermazi <zied.guermazi@trande.de>
To: Simon Marchi <simon.marchi@polymtl.ca>, gdb-patches@sourceware.org
Subject: Re: [PATCH v3 0/7] extend branch tracing to use ARM CoreSight traces
Date: Fri, 2 Apr 2021 18:05:34 +0200 [thread overview]
Message-ID: <075fb603-8493-ebb6-c4e6-995fd71bf41e@trande.de> (raw)
In-Reply-To: <2b5cc0d3-cb97-6252-65dc-7b7db1d1e3f8@polymtl.ca>
hi Simon
the patchset applies to this commit
commit 39b07596938e4c2a7251d77ea01981d475747599 (*origin/master*,
*origin/HEAD*, *master*)
Author: GDB Administrator <gdbadmin@sourceware.org>
Date: Thu Feb 25 00:00:20 2021 +0000
Automatic date update in version.in
Kind Regards
Zied Guermazi
On 02.04.21 18:02, Simon Marchi wrote:
> On 2021-03-30 10:52 p.m., Zied Guermazi wrote:
>> This patch set adds support for branch tracing in GDB on arm platforms
>> using coresight etm traces
>> Branch tracing offers instructions and functions histories as well as
>> execution record and replay (forwards and reverse debugging)
>> this patch set was tested using the gdb.btrace testsuite on ARMv7 and ARMv8
>> cortex A processors running linux operating system with coresight drivers.
>>
>> test results of gdb.btrace testsuite on ARMv8, variation unix
>> # of expected passes 595
>> # of unexpected failures 1
>> # of unsupported tests 1
>>
>> test results of gdb.btrace testsuite on ARMv8 variation native-gdbserver
>> # of expected passes 582
>> # of unexpected failures 4
>> # of unsupported tests 2
>>
>> test results of gdb.btrace testsuite on ARMv7, variation unix
>>
>> test results of gdb.btrace testsuite on ARMv7 variation native-gdbserver
>>
>>
>> known limitations:
>> for arm v7 only
>> - some registers needed for breakpoint address calculation in forwards
>> executions may be missing.
>> for arm v7 and arm v8
>> - sometimes trace buffers are not flushed properly or flushed in
>> the buffer of a different thread. this was observed
>> in test scripts only.
>> - sometimes, in non-stop mode, while executing "stepi n" for two threads
>> in parallel, a thread is hitting breakpoints intended for stepping
>> the other one.
>> Gdb recognizes that it is intended for the second thread,
>> but decreases the step counter. leading to a stepping less than "n"
>> times.
>> patches are:
>>
>> Zied Guermazi (7):
>> configure gdb build system for supporting btrace on arm processors
>> add btrace coresight related commands
>> start/stop btrace with coresight etm and parse etm buffer. nat
>> independant
>> start/stop btrace with coresight etm and collect etm buffer on linux
>> os
>> fix issue: gdb hangs in the command following a commad returning with
>> TARGET_WAITKIND_NO_HISTORY
>> add support for coresight btrace via remote protocol
>> adapt btrace testcases for arm target
>>
>> gdb/ChangeLog | 139 +++
>> gdb/Makefile.in | 5 +-
>> gdb/NEWS | 30 +
>> gdb/aarch64-linux-nat.c | 68 ++
>> gdb/arch/arm.h | 33 +
>> gdb/arm-linux-nat.c | 68 ++
>> gdb/btrace.c | 977 +++++++++++++++++-
>> gdb/btrace.h | 16 +-
>> gdb/config.in | 3 +
>> gdb/configure | 545 ++++++++++
>> gdb/configure.nat | 4 +-
>> gdb/doc/gdb.texinfo | 115 ++-
>> gdb/features/btrace-conf.dtd | 10 +-
>> gdb/features/btrace.dtd | 38 +-
>> gdb/infrun.c | 3 +-
>> gdb/nat/linux-btrace.c | 400 ++++++-
>> gdb/nat/linux-btrace.h | 19 +
>> gdb/record-btrace.c | 168 ++-
>> gdb/record.c | 2 +
>> gdb/remote.c | 66 +-
>> .../gdb.btrace/aarch64-instruction_history.S | 31 +
>> .../gdb.btrace/aarch64-record_goto.S | 400 +++++++
>> .../gdb.btrace/aarch64-tailcall-only.S | 517 +++++++++
>> gdb/testsuite/gdb.btrace/aarch64-tailcall.S | 409 ++++++++
>> .../gdb.btrace/arm-instruction_history.S | 31 +
>> gdb/testsuite/gdb.btrace/arm-record_goto.S | 433 ++++++++
>> gdb/testsuite/gdb.btrace/arm-tailcall-only.S | 504 +++++++++
>> gdb/testsuite/gdb.btrace/arm-tailcall.S | 391 +++++++
>> gdb/testsuite/gdb.btrace/buffer-size.exp | 15 +-
>> gdb/testsuite/gdb.btrace/delta.exp | 10 +
>> .../gdb.btrace/instruction_history.exp | 107 +-
>> gdb/testsuite/gdb.btrace/non-stop.exp | 60 +-
>> gdb/testsuite/gdb.btrace/record_goto.exp | 241 +++--
>> gdb/testsuite/gdb.btrace/stepi.exp | 95 +-
>> gdb/testsuite/gdb.btrace/tailcall-only.exp | 8 +
>> gdb/testsuite/gdb.btrace/tailcall.exp | 46 +-
>> ...on_history.S => x86-instruction_history.S} | 0
>> gdb/testsuite/lib/gdb.exp | 2 +-
>> gdb/top.c | 10 +-
>> gdbserver/ChangeLog | 16 +
>> gdbserver/config.in | 3 +
>> gdbserver/configure | 545 ++++++++++
>> gdbserver/configure.srv | 4 +
>> gdbserver/linux-low.cc | 104 +-
>> gdbserver/server.cc | 34 +-
>> gdbsupport/ChangeLog | 29 +
>> gdbsupport/Makefile.in | 3 +
>> gdbsupport/btrace-common.cc | 46 +
>> gdbsupport/btrace-common.h | 115 ++-
>> gdbsupport/common.m4 | 39 +
>> gdbsupport/config.in | 3 +
>> gdbsupport/configure | 545 ++++++++++
>> 52 files changed, 7347 insertions(+), 158 deletions(-)
>> create mode 100644 gdb/testsuite/gdb.btrace/aarch64-instruction_history.S
>> create mode 100644 gdb/testsuite/gdb.btrace/aarch64-record_goto.S
>> create mode 100644 gdb/testsuite/gdb.btrace/aarch64-tailcall-only.S
>> create mode 100644 gdb/testsuite/gdb.btrace/aarch64-tailcall.S
>> create mode 100644 gdb/testsuite/gdb.btrace/arm-instruction_history.S
>> create mode 100644 gdb/testsuite/gdb.btrace/arm-record_goto.S
>> create mode 100644 gdb/testsuite/gdb.btrace/arm-tailcall-only.S
>> create mode 100644 gdb/testsuite/gdb.btrace/arm-tailcall.S
>> rename gdb/testsuite/gdb.btrace/{instruction_history.S => x86-instruction_history.S} (100%)
>>
> Hi Zied,
>
> I'd like to take a quick look, but I am not able to apply your patchset,
> it seems you weren't on the latest master at the time you sent it. Do
> you know which sha1 your patchset applies on?
>
> Simon
next prev parent reply other threads:[~2021-04-02 16:05 UTC|newest]
Thread overview: 30+ messages / expand[flat|nested] mbox.gz Atom feed top
2021-03-31 2:52 Zied Guermazi
2021-03-31 2:52 ` [PATCH v3 1/7] configure gdb build system for supporting btrace on arm processors Zied Guermazi
2021-03-31 2:52 ` [PATCH v3 2/7] add btrace coresight related commands Zied Guermazi
2021-03-31 6:32 ` Eli Zaretskii
2021-03-31 18:30 ` Luis Machado
2021-03-31 20:24 ` Zied Guermazi
2021-04-01 16:11 ` Luis Machado
2021-03-31 2:52 ` [PATCH v3 3/7] start/stop btrace with coresight etm and parse etm buffer. nat independant Zied Guermazi
2021-03-31 20:23 ` Luis Machado
[not found] ` <a78174f9-177f-3757-6b33-d09f38f1fec8@trande.de>
2021-04-01 21:04 ` Zied Guermazi
2021-03-31 2:52 ` [PATCH v3 4/7] start/stop btrace with coresight etm and collect etm buffer on linux os Zied Guermazi
2021-04-01 12:16 ` Luis Machado
2021-04-01 21:57 ` Zied Guermazi
2021-03-31 2:52 ` [PATCH v3 5/7] fix issue: gdb hangs in the command following a commad returning with TARGET_WAITKIND_NO_HISTORY Zied Guermazi
2021-04-01 12:18 ` Luis Machado
2021-03-31 2:52 ` [PATCH v3 6/7] add support for coresight btrace via remote protocol Zied Guermazi
2021-03-31 6:33 ` Eli Zaretskii
2021-04-01 12:45 ` Luis Machado
2021-04-01 22:58 ` Zied Guermazi
2021-03-31 2:52 ` [PATCH v3 7/7] adapt btrace testcases for arm target Zied Guermazi
2021-04-01 13:34 ` Luis Machado
2021-04-04 19:30 ` Zied Guermazi
2021-04-06 13:09 ` Luis Machado
2021-04-09 19:34 ` Zied Guermazi
2021-04-12 17:11 ` Luis Machado
2021-04-02 16:02 ` [PATCH v3 0/7] extend branch tracing to use ARM CoreSight traces Simon Marchi
2021-04-02 16:05 ` Zied Guermazi [this message]
2021-04-05 0:09 ` Simon Marchi
2021-04-05 7:38 ` Zied Guermazi
2021-04-06 16:25 ` Simon Marchi
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=075fb603-8493-ebb6-c4e6-995fd71bf41e@trande.de \
--to=zied.guermazi@trande.de \
--cc=gdb-patches@sourceware.org \
--cc=simon.marchi@polymtl.ca \
/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).