This is the mail archive of the
gdb-patches@sourceware.org
mailing list for the GDB project.
[ping - patch v7 00/24] record-btrace: reverse
- From: "Metzger, Markus T" <markus dot t dot metzger at intel dot com>
- To: "jan dot kratochvil at redhat dot com" <jan dot kratochvil at redhat dot com>
- Cc: "gdb-patches at sourceware dot org" <gdb-patches at sourceware dot org>
- Date: Wed, 11 Dec 2013 08:52:37 +0000
- Subject: [ping - patch v7 00/24] record-btrace: reverse
- Authentication-results: sourceware.org; auth=none
https://sourceware.org/ml/gdb-patches/2013-11/msg00933.html
https://sourceware.org/ml/gdb-patches/2013-11/msg00932.html
https://sourceware.org/ml/gdb-patches/2013-11/msg00931.html
https://sourceware.org/ml/gdb-patches/2013-11/msg00930.html
https://sourceware.org/ml/gdb-patches/2013-11/msg00929.html
https://sourceware.org/ml/gdb-patches/2013-11/msg00928.html
https://sourceware.org/ml/gdb-patches/2013-11/msg00927.html
https://sourceware.org/ml/gdb-patches/2013-11/msg00926.html
https://sourceware.org/ml/gdb-patches/2013-11/msg00925.html
https://sourceware.org/ml/gdb-patches/2013-11/msg00924.html
https://sourceware.org/ml/gdb-patches/2013-11/msg00923.html
https://sourceware.org/ml/gdb-patches/2013-11/msg00922.html
https://sourceware.org/ml/gdb-patches/2013-11/msg00921.html
https://sourceware.org/ml/gdb-patches/2013-11/msg00909.html
https://sourceware.org/ml/gdb-patches/2013-11/msg00910.html
https://sourceware.org/ml/gdb-patches/2013-11/msg00912.html
https://sourceware.org/ml/gdb-patches/2013-11/msg00914.html
https://sourceware.org/ml/gdb-patches/2013-11/msg00916.html
https://sourceware.org/ml/gdb-patches/2013-11/msg00911.html
https://sourceware.org/ml/gdb-patches/2013-11/msg00913.html
https://sourceware.org/ml/gdb-patches/2013-11/msg00915.html
https://sourceware.org/ml/gdb-patches/2013-11/msg00920.html
https://sourceware.org/ml/gdb-patches/2013-11/msg00917.html
https://sourceware.org/ml/gdb-patches/2013-11/msg00919.html
https://sourceware.org/ml/gdb-patches/2013-11/msg00918.html
regards,
markus.
> -----Original Message-----
> From: Metzger, Markus T
> Sent: Friday, November 29, 2013 3:38 PM
> To: jan.kratochvil@redhat.com
> Cc: gdb-patches@sourceware.org
> Subject: [patch v7 00/24] record-btrace: reverse
>
> This update incorporates Jan's feedback and resolves opens with respect
> to frame_id handling, frame unwinding, and (reverse) stepping.
>
> The only remaining open is whether "record goto" should be implemented
> via to_resume/to_wait.
>
> I noted partial approvals for individual patches in the commit message
> of the respective patch.
>
>
> The series can be split roughly in three parts. At the bottom, there
> are a few small preparation patches. I would commit them individually
> as soon as they are approved.
>
> Then, there's a big patch that changes the internals of btrace, improves
> the existing record btrace commands and fixes PR/15240. I would commit
> the entire series until "record-btrace: make ranges include begin and end"
> (inclusive) once approved.
>
> The "record function-call-history" command can now show the call
> relationship like this:
>
> (gdb) record function-call-history /cli
> 12 fib inst 101,111 at src/fib.c:3,7
> 13 fib inst 112,124 at src/fib.c:3,8
> 14 fib inst 125,129 at src/fib.c:7
> 15 fib inst 130,142 at src/fib.c:3,8
> 16 fib inst 143,147 at src/fib.c:7,8
> 17 fib inst 148,152 at src/fib.c:7,8
> 18 fib inst 153,157 at src/fib.c:7
> 19 fib inst 158,168 at src/fib.c:3,7
> 20 fib inst 169,179 at src/fib.c:3,7
> 21 fib inst 180,185 at src/fib.c:3,4
>
> The patches ad the top add support for reverse execution. I would also
> commit the entire series once approved.
>
>
> Markus Metzger (24):
> btrace, linux: fix memory leak when reading branch trace
> btrace: uppercase btrace_read_type
> gdbarch: add instruction predicate methods
> frame: add frame_is_tailcall function
> frame: artificial frame id's
> btrace: change branch trace data structure
> record-btrace: fix insn range in function call history
> record-btrace: start counting at one
> btrace: increase buffer size
> record-btrace: optionally indent function call history
> record-btrace: make ranges include begin and end
> btrace: add replay position to btrace thread info
> target: add ops parameter to to_prepare_to_store method
> record-btrace: supply register target methods
> frame, backtrace: allow targets to supply a frame unwinder
> record-btrace, frame: supply target-specific unwinder
> record-btrace: provide xfer_partial target method
> record-btrace: add to_wait and to_resume target methods.
> record-btrace: provide target_find_new_threads method
> record-btrace: add record goto target methods
> record-btrace: extend unwinder
> btrace, gdbserver: read branch trace incrementally
> record-btrace: show trace from enable location
> record-btrace: add (reverse-)stepping support
>
> gdb/NEWS | 18 +
> gdb/amd64-linux-nat.c | 6 +-
> gdb/amd64-tdep.c | 67 +
> gdb/arch-utils.c | 15 +
> gdb/arch-utils.h | 4 +
> gdb/btrace.c | 1610 ++++++++++++++++----
> gdb/btrace.h | 269 +++-
> gdb/common/btrace-common.h | 29 +-
> gdb/common/linux-btrace.c | 125 +-
> gdb/common/linux-btrace.h | 15 +-
> gdb/doc/gdb.texinfo | 32 +-
> gdb/dwarf2-frame-tailcall.c | 4 +-
> gdb/dwarf2-frame.c | 14 +-
> gdb/frame-unwind.c | 86 +-
> gdb/frame.c | 65 +-
> gdb/frame.h | 18 +-
> gdb/gdbarch.c | 75 +
> gdb/gdbarch.h | 18 +
> gdb/gdbarch.sh | 9 +
> gdb/gdbserver/linux-low.c | 36 +-
> gdb/gdbserver/server.c | 15 +-
> gdb/gdbserver/target.h | 9 +-
> gdb/i386-linux-nat.c | 6 +-
> gdb/i386-tdep.c | 59 +
> gdb/inf-child.c | 2 +-
> gdb/infcmd.c | 6 +-
> gdb/monitor.c | 2 +-
> gdb/ravenscar-thread.c | 7 +-
> gdb/record-btrace.c | 1473 +++++++++++++++---
> gdb/record-full.c | 3 +-
> gdb/record.c | 4 +
> gdb/record.h | 7 +
> gdb/remote-m32r-sdi.c | 2 +-
> gdb/remote-mips.c | 5 +-
> gdb/remote.c | 32 +-
> gdb/stack.c | 2 +-
> gdb/target.c | 65 +-
> gdb/target.h | 35 +-
> gdb/testsuite/gdb.btrace/Makefile.in | 3 +-
> gdb/testsuite/gdb.btrace/delta.exp | 76 +
> gdb/testsuite/gdb.btrace/exception.cc | 56 +
> gdb/testsuite/gdb.btrace/exception.exp | 67 +
> gdb/testsuite/gdb.btrace/finish.exp | 70 +
> gdb/testsuite/gdb.btrace/function_call_history.exp | 329 ++--
> gdb/testsuite/gdb.btrace/instruction_history.exp | 77 +-
> gdb/testsuite/gdb.btrace/multi-thread-step.c | 53 +
> gdb/testsuite/gdb.btrace/multi-thread-step.exp | 99 ++
> gdb/testsuite/gdb.btrace/next.exp | 89 ++
> gdb/testsuite/gdb.btrace/nexti.exp | 89 ++
> gdb/testsuite/gdb.btrace/record_goto.c | 51 +
> gdb/testsuite/gdb.btrace/record_goto.exp | 177 +++
> gdb/testsuite/gdb.btrace/rn-dl-bind.c | 37 +
> gdb/testsuite/gdb.btrace/rn-dl-bind.exp | 48 +
> gdb/testsuite/gdb.btrace/step.exp | 113 ++
> gdb/testsuite/gdb.btrace/stepi.exp | 114 ++
> gdb/testsuite/gdb.btrace/tailcall.exp | 103 ++
> gdb/testsuite/gdb.btrace/unknown_functions.c | 45 +
> gdb/testsuite/gdb.btrace/unknown_functions.exp | 60 +
> gdb/testsuite/gdb.btrace/x86-record_goto.S | 355 +++++
> gdb/testsuite/gdb.btrace/x86-tailcall.S | 279 ++++
> gdb/testsuite/gdb.btrace/x86-tailcall.c | 39 +
> 61 files changed, 5799 insertions(+), 879 deletions(-)
> create mode 100644 gdb/testsuite/gdb.btrace/delta.exp
> create mode 100644 gdb/testsuite/gdb.btrace/exception.cc
> create mode 100755 gdb/testsuite/gdb.btrace/exception.exp
> create mode 100644 gdb/testsuite/gdb.btrace/finish.exp
> create mode 100644 gdb/testsuite/gdb.btrace/multi-thread-step.c
> create mode 100644 gdb/testsuite/gdb.btrace/multi-thread-step.exp
> create mode 100644 gdb/testsuite/gdb.btrace/next.exp
> create mode 100644 gdb/testsuite/gdb.btrace/nexti.exp
> create mode 100644 gdb/testsuite/gdb.btrace/record_goto.c
> create mode 100644 gdb/testsuite/gdb.btrace/record_goto.exp
> create mode 100644 gdb/testsuite/gdb.btrace/rn-dl-bind.c
> create mode 100644 gdb/testsuite/gdb.btrace/rn-dl-bind.exp
> create mode 100644 gdb/testsuite/gdb.btrace/step.exp
> create mode 100644 gdb/testsuite/gdb.btrace/stepi.exp
> create mode 100644 gdb/testsuite/gdb.btrace/tailcall.exp
> create mode 100644 gdb/testsuite/gdb.btrace/unknown_functions.c
> create mode 100644 gdb/testsuite/gdb.btrace/unknown_functions.exp
> create mode 100644 gdb/testsuite/gdb.btrace/x86-record_goto.S
> create mode 100644 gdb/testsuite/gdb.btrace/x86-tailcall.S
> create mode 100644 gdb/testsuite/gdb.btrace/x86-tailcall.c
>
> --
> 1.8.3.1
Intel GmbH
Dornacher Strasse 1
85622 Feldkirchen/Muenchen, Deutschland
Sitz der Gesellschaft: Feldkirchen bei Muenchen
Geschaeftsfuehrer: Christian Lamprechter, Hannes Schwaderer, Douglas Lusk
Registergericht: Muenchen HRB 47456
Ust.-IdNr./VAT Registration No.: DE129385895
Citibank Frankfurt a.M. (BLZ 502 109 00) 600119052