record-btrace: optionally indent function call history
authorMarkus Metzger <markus.t.metzger@intel.com>
Thu, 18 Apr 2013 08:58:05 +0000 (10:58 +0200)
committerMarkus Metzger <markus.t.metzger@intel.com>
Thu, 16 Jan 2014 12:03:41 +0000 (13:03 +0100)
commit8710b7097e6564969c5e417007a438d8f4ab710e
tree00b37f15730004fbe24fd7df0159c4f87ccc214c
parentd0fa75352b7ffd586499d28983bff5d714e5211a
record-btrace: optionally indent function call history

Add a new modifier /c to the "record function-call-history" command to
indent the function name based on its depth in the call stack.

Also reorder the optional fields to have the indentation at the very beginning.
Prefix the insn range (/i modifier) with "inst ".
Prefix the source line (/l modifier) with "at ".
Change the range syntax from "begin-end" to "begin,end" to allow copy&paste to
the "record instruction-history" and "list" commands.

Adjust the respective tests and add new tests for the /c modifier.

2014-01-16  Markus Metzger  <markus.t.metzger@intel.com>

* record.h (enum record_print_flag)
<record_print_indent_calls>: New.
* record.c (get_call_history_modifiers): Recognize /c modifier.
(_initialize_record): Document /c modifier.
* record-btrace.c (btrace_call_history): Add btinfo parameter.
Reorder fields.  Optionally indent the function name.  Update
all users.
* NEWS: Announce changes.

testsuite/
* gdb.btrace/function_call_history.exp: Fix expected field
order for "record function-call-history".
Add new tests for "record function-call-history /c".
* gdb.btrace/exception.cc: New.
* gdb.btrace/exception.exp: New.
* gdb.btrace/tailcall.exp: New.
* gdb.btrace/x86-tailcall.S: New.
* gdb.btrace/x86-tailcall.c: New.
* gdb.btrace/unknown_functions.c: New.
* gdb.btrace/unknown_functions.exp: New.
* gdb.btrace/Makefile.in (EXECUTABLES): Add new.

doc/
* gdb.texinfo (Process Record and Replay): Document new /c
modifier accepted by "record function-call-history".
Add /i modifier to "record function-call-history" example.
18 files changed:
gdb/ChangeLog
gdb/NEWS
gdb/btrace.c
gdb/doc/ChangeLog
gdb/doc/gdb.texinfo
gdb/record-btrace.c
gdb/record.c
gdb/record.h
gdb/testsuite/ChangeLog
gdb/testsuite/gdb.btrace/Makefile.in
gdb/testsuite/gdb.btrace/exception.cc [new file with mode: 0644]
gdb/testsuite/gdb.btrace/exception.exp [new file with mode: 0755]
gdb/testsuite/gdb.btrace/function_call_history.exp
gdb/testsuite/gdb.btrace/tailcall.exp [new file with mode: 0644]
gdb/testsuite/gdb.btrace/unknown_functions.c [new file with mode: 0644]
gdb/testsuite/gdb.btrace/unknown_functions.exp [new file with mode: 0644]
gdb/testsuite/gdb.btrace/x86-tailcall.S [new file with mode: 0644]
gdb/testsuite/gdb.btrace/x86-tailcall.c [new file with mode: 0644]