public inbox for gdb-patches@sourceware.org
 help / color / mirror / Atom feed
* [PATCH v9 00/29] record-btrace: reverse
@ 2013-12-19 16:45 Markus Metzger
  2013-12-19 16:45 ` [PATCH v9 11/29] record-btrace: optionally indent function call history Markus Metzger
                   ` (29 more replies)
  0 siblings, 30 replies; 66+ messages in thread
From: Markus Metzger @ 2013-12-19 16:45 UTC (permalink / raw)
  To: jan.kratochvil, palves; +Cc: gdb-patches

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

^ permalink raw reply	[flat|nested] 66+ messages in thread

end of thread, other threads:[~2014-01-13 17:11 UTC | newest]

Thread overview: 66+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2013-12-19 16:45 [PATCH v9 00/29] record-btrace: reverse Markus Metzger
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 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 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 08/29] record-btrace: fix insn range in function call history Markus Metzger
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 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 04/29] gdbarch: add instruction predicate methods Markus Metzger
2013-12-19 20:19   ` Pedro Alves
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 03/29] btrace: uppercase btrace_read_type Markus Metzger
2013-12-19 16:45 ` [PATCH v9 25/29] record-btrace: extend unwinder Markus Metzger
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 24/29] record-btrace: add record goto " Markus Metzger
2013-12-19 16:45 ` [PATCH v9 10/29] btrace: increase buffer size Markus Metzger
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 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 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 15/29] record-btrace: supply register target methods 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 07/29] btrace: change branch trace data structure Markus Metzger
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 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 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 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 27/29] record-btrace: show trace from enable location Markus Metzger
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 05/29] frame: add frame_is_tailcall function Markus Metzger
2013-12-19 20:19   ` Pedro Alves
2013-12-19 20:23 ` [PATCH v9 00/29] record-btrace: reverse Pedro Alves

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