public inbox for gdb-patches@sourceware.org
 help / color / mirror / Atom feed
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


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