binutils-gdb/gdb/testsuite/gdb.btrace
Markus Metzger 4a4495d62d btrace: set/show record btrace cpu
Add new set/show commands to set the processor that is used for enabling
errata workarounds when decoding branch trace.

The general format is "<vendor>:<identifier>" but we also allow two
special values "auto" and "none".

The default is "auto", which is the current behaviour of having GDB
determine the processor on which the trace was recorded.

If that cpu is not known to the trace decoder, e.g. when using an old
decoder on a new system, decode may fail with "unknown cpu".  In most
cases it should suffice to 'downgrade' decode to assume an older cpu.
Unfortunately, we can't do this automatically.

The other special value, "none", disables errata workarounds.

gdb/
	* NEWS (New options): announce set/show record btrace cpu.
	* btrace.c: Include record-btrace.h.
	(btrace_compute_ftrace_pt): Skip enabling errata workarounds if
	the vendor is unknown.
	(btrace_compute_ftrace_1): Add cpu parameter.  Update callers.
	Maybe overwrite the btrace configuration's cpu.
	(btrace_compute_ftrace): Add cpu parameter.  Update callers.
	(btrace_fetch): Add cpu parameter.  Update callers.
	(btrace_maint_update_pt_packets): Call record_btrace_get_cpu.
	Maybe overwrite the btrace configuration's cpu.  Skip enabling
	errata workarounds if the vendor is unknown.
	* python/py-record-btrace.c: Include record-btrace.h.
	(recpy_bt_begin, recpy_bt_end, recpy_bt_instruction_history)
	(recpy_bt_function_call_history): Call record_btrace_get_cpu.
	* record-btrace.c (record_btrace_cpu_state_kind): New.
	(record_btrace_cpu): New.
	(set_record_btrace_cpu_cmdlist): New.
	(record_btrace_get_cpu): New.
	(require_btrace_thread, record_btrace_info)
	(record_btrace_resume_thread): Call record_btrace_get_cpu.
	(cmd_set_record_btrace_cpu_none): New.
	(cmd_set_record_btrace_cpu_auto): New.
	(cmd_set_record_btrace_cpu): New.
	(cmd_show_record_btrace_cpu): New.
	(_initialize_record_btrace): Initialize set/show record btrace cpu
	commands.
	* record-btrace.h (record_btrace_get_cpu): New.

testsuite/
	* gdb.btrace/cpu.exp: New.

doc/
	* gdb.texinfo: Document set/show record btrace cpu.
2018-04-13 11:35:55 +02:00
..
buffer-size.exp
cpu.exp btrace: set/show record btrace cpu 2018-04-13 11:35:55 +02:00
data.c
data.exp
delta.exp
dlopen-dso.c
dlopen.c
dlopen.exp
enable-running.c
enable-running.exp
enable.c
enable.exp
exception.cc
exception.exp
function_call_history.c
function_call_history.exp
gcore.exp
i686-record_goto.S
i686-tailcall-only.S
i686-tailcall.S
instruction_history.S
instruction_history.c
instruction_history.exp
multi-thread-step.c
multi-thread-step.exp
nohist.exp
non-stop.c
non-stop.exp
reconnect.c
reconnect.exp
record_goto-step.exp
record_goto.c
record_goto.exp
rn-dl-bind.c
rn-dl-bind.exp
segv.c
segv.exp
step.exp
stepi.exp
tailcall-only.c
tailcall-only.exp
tailcall.c
tailcall.exp
tsx.c
tsx.exp
unknown_functions.c
unknown_functions.exp
vdso.c
vdso.exp
x86-tsx.S
x86_64-record_goto.S
x86_64-tailcall-only.S
x86_64-tailcall.S