From: Markus Metzger <markus.t.metzger@intel.com>
To: jan.kratochvil@redhat.com, palves@redhat.com
Cc: gdb-patches@sourceware.org
Subject: [PATCH v9 00/29] record-btrace: reverse
Date: Thu, 19 Dec 2013 16:45:00 -0000 [thread overview]
Message-ID: <1387471499-29444-1-git-send-email-markus.t.metzger@intel.com> (raw)
This is a bigger update addressing Pedro's feedback.
I discarded my frame_id changes and instead use Pedro's unavailable stack
changes. See "frame: add frame_id_build_unavailable_stack_special".
The v8 "record-btrace: provide xfer_partial target method" patch did not
have any effect since the caller would simply continue with the target
beneath. I changed this to now throw an error if memory is not available.
To avoid issues with GDB trying to insert and remove breakpoints, this is
disabled for the duration of to_insert_breakoint and to_remove_breakpoint.
This needs a preparation patch "target, breakpoint: allow insert/remove
breakpoint to be forwarded" to allow ther espective target methods to be
forwarded.
I added a test covering the error on memory accesses to "record-btrace:
add (reverse-)stepping support".
The "frame, backtrace: allow targets to supply a frame unwinder" patch
has been split resulting in new patches "frame, cfa: check unwind stop
reason first" and "frame: do not assume unwinding will succeed".
A new patch "target: allow decr_pc_after_break to be defined by the target"
has been added to prepare for avoiding pc adjustments after break during
replay in "record-btrace: add (reverse-)stepping support".
This should also apply to the s/w record target but the condition under
which the pc needs to be adjusted is more complicated, here.
In "gdbarch: add instruction predicate methods" I added "::0" to the new
items I added to gdbarch.sh to fix an issue with verify_gdbarch.
There are lots of changes to all tests throughout the series plus a new
patch "btrace, test: fix multi-line btrace tests" to fix up existing tests.
Markus Metzger (29):
btrace, test: fix multi-line btrace tests
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: add frame_id_build_unavailable_stack_special
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
frame, cfa: check unwind stop reason first
frame: do not assume unwinding will succeed
record-btrace, frame: supply target-specific unwinder
target, breakpoint: allow insert/remove breakpoint to be forwarded
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
target: allow decr_pc_after_break to be defined by the target
record-btrace: add (reverse-)stepping support
gdb/NEWS | 25 +
gdb/aix-thread.c | 2 +-
gdb/amd64-linux-nat.c | 6 +-
gdb/amd64-tdep.c | 67 +
gdb/arch-utils.c | 15 +
gdb/arch-utils.h | 4 +
gdb/btrace.c | 1616 +++++++++++++++----
gdb/btrace.h | 269 +++-
gdb/common/btrace-common.h | 29 +-
gdb/common/linux-btrace.c | 125 +-
gdb/common/linux-btrace.h | 15 +-
gdb/corelow.c | 3 +-
gdb/darwin-nat.c | 4 +-
gdb/doc/gdb.texinfo | 32 +-
gdb/dwarf2-frame-tailcall.c | 4 +-
gdb/dwarf2-frame.c | 14 +-
gdb/exec.c | 3 +-
gdb/frame-unwind.c | 86 +-
gdb/frame.c | 48 +-
gdb/frame.h | 14 +-
gdb/gdbarch.c | 72 +
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/infrun.c | 9 +-
gdb/linux-nat.c | 4 +-
gdb/linux-thread-db.c | 2 +-
gdb/mem-break.c | 4 +-
gdb/monitor.c | 6 +-
gdb/nto-procfs.c | 4 +-
gdb/ravenscar-thread.c | 7 +-
gdb/record-btrace.c | 1642 +++++++++++++++++---
gdb/record-full.c | 37 +-
gdb/record.c | 4 +
gdb/record.h | 7 +
gdb/remote-m32r-sdi.c | 8 +-
gdb/remote-mips.c | 13 +-
gdb/remote.c | 42 +-
gdb/stack.c | 2 +-
gdb/target.c | 148 +-
gdb/target.h | 73 +-
gdb/testsuite/gdb.btrace/Makefile.in | 4 +-
gdb/testsuite/gdb.btrace/data.c | 36 +
gdb/testsuite/gdb.btrace/data.exp | 45 +
gdb/testsuite/gdb.btrace/delta.exp | 83 +
gdb/testsuite/gdb.btrace/exception.cc | 56 +
gdb/testsuite/gdb.btrace/exception.exp | 73 +
gdb/testsuite/gdb.btrace/finish.exp | 59 +
gdb/testsuite/gdb.btrace/function_call_history.exp | 322 ++--
gdb/testsuite/gdb.btrace/instruction_history.exp | 80 +-
gdb/testsuite/gdb.btrace/multi-thread-step.c | 53 +
gdb/testsuite/gdb.btrace/multi-thread-step.exp | 135 ++
gdb/testsuite/gdb.btrace/next.exp | 76 +
gdb/testsuite/gdb.btrace/nexti.exp | 76 +
gdb/testsuite/gdb.btrace/record_goto.c | 51 +
gdb/testsuite/gdb.btrace/record_goto.exp | 183 +++
gdb/testsuite/gdb.btrace/rn-dl-bind.c | 37 +
gdb/testsuite/gdb.btrace/rn-dl-bind.exp | 52 +
gdb/testsuite/gdb.btrace/step.exp | 89 ++
gdb/testsuite/gdb.btrace/stepi.exp | 93 ++
gdb/testsuite/gdb.btrace/tailcall.exp | 92 ++
gdb/testsuite/gdb.btrace/unknown_functions.c | 45 +
gdb/testsuite/gdb.btrace/unknown_functions.exp | 62 +
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 +
72 files changed, 6113 insertions(+), 987 deletions(-)
create mode 100644 gdb/testsuite/gdb.btrace/data.c
create mode 100644 gdb/testsuite/gdb.btrace/data.exp
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
next reply other threads:[~2013-12-19 16:45 UTC|newest]
Thread overview: 66+ messages / expand[flat|nested] mbox.gz Atom feed top
2013-12-19 16:45 Markus Metzger [this message]
2013-12-19 16:45 ` [PATCH v9 05/29] frame: add frame_is_tailcall function Markus Metzger
2013-12-19 20:19 ` Pedro Alves
2013-12-19 16:45 ` [PATCH v9 18/29] frame: do not assume unwinding will succeed Markus Metzger
2013-12-19 16:45 ` [PATCH v9 27/29] record-btrace: show trace from enable location Markus Metzger
2013-12-19 16:45 ` [PATCH v9 01/29] btrace, test: fix multi-line btrace tests Markus Metzger
2013-12-19 18:01 ` Pedro Alves
2013-12-19 16:45 ` [PATCH v9 06/29] frame: add frame_id_build_unavailable_stack_special Markus Metzger
2013-12-19 18:12 ` Pedro Alves
2013-12-19 16:45 ` [PATCH v9 14/29] target: add ops parameter to to_prepare_to_store method Markus Metzger
2013-12-19 18:30 ` Pedro Alves
2013-12-19 21:13 ` Tom Tromey
2013-12-20 13:07 ` Metzger, Markus T
2013-12-20 15:13 ` Tom Tromey
2013-12-20 17:23 ` Pedro Alves
2013-12-19 16:45 ` [PATCH v9 02/29] btrace, linux: fix memory leak when reading branch trace Markus Metzger
2013-12-19 16:45 ` [PATCH v9 17/29] frame, cfa: check unwind stop reason first Markus Metzger
2013-12-19 16:45 ` [PATCH v9 19/29] record-btrace, frame: supply target-specific unwinder Markus Metzger
2013-12-19 16:45 ` [PATCH v9 26/29] btrace, gdbserver: read branch trace incrementally Markus Metzger
2013-12-19 16:45 ` [PATCH v9 15/29] record-btrace: supply register target methods Markus Metzger
2013-12-19 16:45 ` [PATCH v9 20/29] target, breakpoint: allow insert/remove breakpoint to be forwarded Markus Metzger
2013-12-19 19:08 ` Pedro Alves
2013-12-19 16:45 ` [PATCH v9 07/29] btrace: change branch trace data structure Markus Metzger
2013-12-19 16:45 ` [PATCH v9 10/29] btrace: increase buffer size Markus Metzger
2013-12-19 16:45 ` [PATCH v9 24/29] record-btrace: add record goto target methods Markus Metzger
2013-12-19 16:45 ` [PATCH v9 13/29] btrace: add replay position to btrace thread info Markus Metzger
2013-12-19 16:45 ` [PATCH v9 29/29] record-btrace: add (reverse-)stepping support Markus Metzger
2013-12-19 17:31 ` Eli Zaretskii
2013-12-19 20:10 ` Pedro Alves
2013-12-20 14:37 ` Metzger, Markus T
2013-12-20 14:47 ` Metzger, Markus T
2013-12-20 16:31 ` Pedro Alves
2013-12-20 16:07 ` Pedro Alves
2013-12-19 16:45 ` [PATCH v9 23/29] record-btrace: provide target_find_new_threads method Markus Metzger
2013-12-19 19:32 ` Pedro Alves
2013-12-19 16:45 ` [PATCH v9 22/29] record-btrace: add to_wait and to_resume target methods Markus Metzger
2013-12-19 16:45 ` [PATCH v9 25/29] record-btrace: extend unwinder Markus Metzger
2013-12-19 16:45 ` [PATCH v9 04/29] gdbarch: add instruction predicate methods Markus Metzger
2013-12-19 20:19 ` Pedro Alves
2013-12-19 16:45 ` [PATCH v9 21/29] record-btrace: provide xfer_partial target method Markus Metzger
2013-12-19 19:13 ` Pedro Alves
2013-12-20 13:37 ` Metzger, Markus T
2013-12-20 13:54 ` Metzger, Markus T
2013-12-20 15:56 ` Pedro Alves
2013-12-20 16:02 ` Pedro Alves
2014-01-13 17:11 ` Pedro Alves
2014-01-13 12:36 ` Metzger, Markus T
2014-01-13 16:47 ` Pedro Alves
2013-12-19 19:26 ` Pedro Alves
2013-12-20 13:32 ` Metzger, Markus T
2013-12-20 15:36 ` Pedro Alves
2013-12-19 16:45 ` [PATCH v9 03/29] btrace: uppercase btrace_read_type Markus Metzger
2013-12-19 16:45 ` [PATCH v9 28/29] target: allow decr_pc_after_break to be defined by the target Markus Metzger
2013-12-19 19:51 ` Pedro Alves
2013-12-19 16:45 ` [PATCH v9 08/29] record-btrace: fix insn range in function call history Markus Metzger
2013-12-19 16:45 ` [PATCH v9 16/29] frame, backtrace: allow targets to supply a frame unwinder Markus Metzger
2013-12-19 18:41 ` Pedro Alves
2013-12-19 16:45 ` [PATCH v9 12/29] record-btrace: make ranges include begin and end Markus Metzger
2013-12-19 17:29 ` Eli Zaretskii
2013-12-19 16:45 ` [PATCH v9 11/29] record-btrace: optionally indent function call history Markus Metzger
2013-12-19 18:23 ` Pedro Alves
2013-12-20 12:54 ` Metzger, Markus T
2013-12-20 16:47 ` Pedro Alves
2013-12-19 16:45 ` [PATCH v9 09/29] record-btrace: start counting at one Markus Metzger
2013-12-19 17:27 ` Eli Zaretskii
2013-12-19 20:23 ` [PATCH v9 00/29] record-btrace: reverse Pedro Alves
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=1387471499-29444-1-git-send-email-markus.t.metzger@intel.com \
--to=markus.t.metzger@intel.com \
--cc=gdb-patches@sourceware.org \
--cc=jan.kratochvil@redhat.com \
--cc=palves@redhat.com \
/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).