GDB (xrefs)
|
#include "gdbsupport/btrace-common.h"
#include "target/waitstatus.h"
#include "gdbsupport/enum-flags.h"
#include <vector>
Go to the source code of this file.
Classes | |
struct | btrace_insn |
struct | btrace_function |
struct | btrace_insn_iterator |
struct | btrace_call_iterator |
struct | btrace_insn_history |
struct | btrace_call_history |
struct | btrace_maint_packet_history |
struct | btrace_maint_info |
struct | btrace_thread_info |
Enumerations | |
enum | btrace_insn_class { BTRACE_INSN_OTHER , BTRACE_INSN_CALL , BTRACE_INSN_RETURN , BTRACE_INSN_JUMP } |
enum | btrace_insn_flag { BTRACE_INSN_FLAG_SPECULATIVE = (1 << 0) } |
enum | btrace_function_flag { BFUN_UP_LINKS_TO_RET = (1 << 0) , BFUN_UP_LINKS_TO_TAILCALL = (1 << 1) } |
enum | btrace_bts_error { BDE_BTS_OVERFLOW = 1 , BDE_BTS_INSN_SIZE } |
enum | btrace_pt_error { BDE_PT_USER_QUIT = 1 , BDE_PT_DISABLED , BDE_PT_OVERFLOW } |
enum | btrace_thread_flag : unsigned { BTHR_STEP = (1 << 0) , BTHR_RSTEP = (1 << 1) , BTHR_CONT = (1 << 2) , BTHR_RCONT = (1 << 3) , BTHR_MOVE = (BTHR_STEP | BTHR_RSTEP | BTHR_CONT | BTHR_RCONT) , BTHR_STOP = (1 << 4) } |
enum btrace_bts_error |
enum btrace_function_flag |
enum btrace_insn_class |
enum btrace_insn_flag |
enum btrace_pt_error |
enum btrace_thread_flag : unsigned |
void btrace_call_begin | ( | struct btrace_call_iterator * | it, |
const struct btrace_thread_info * | btinfo | ||
) |
Definition at line 2668 of file btrace.c.
References btrace_call_iterator::btinfo, btrace_thread_info::functions, and btrace_call_iterator::index.
Referenced by recpy_bt_function_call_history().
int btrace_call_cmp | ( | const struct btrace_call_iterator * | lhs, |
const struct btrace_call_iterator * | rhs | ||
) |
Definition at line 2764 of file btrace.c.
References btrace_call_iterator::btinfo, and btrace_call_iterator::index.
Referenced by btrace_call_history().
void btrace_call_end | ( | struct btrace_call_iterator * | it, |
const struct btrace_thread_info * | btinfo | ||
) |
Definition at line 2681 of file btrace.c.
References btrace_call_iterator::btinfo, btrace_thread_info::functions, and btrace_call_iterator::index.
Referenced by record_btrace_target::call_history(), record_btrace_target::call_history_range(), record_btrace_target::info_record(), and recpy_bt_function_call_history().
const struct btrace_function * btrace_call_get | ( | const struct btrace_call_iterator * | it | ) |
Definition at line 2642 of file btrace.c.
References btrace_call_iterator::btinfo, btrace_thread_info::functions, and btrace_call_iterator::index.
Referenced by btrace_call_history(), btrace_func_from_recpy_func(), record_btrace_frame_prev_register(), record_btrace_frame_sniffer(), record_btrace_frame_this_id(), and record_btrace_tailcall_frame_sniffer().
unsigned int btrace_call_next | ( | struct btrace_call_iterator * | it, |
unsigned int | stride | ||
) |
Definition at line 2694 of file btrace.c.
References btrace_call_iterator::btinfo, btrace_ends_with_single_insn(), btrace_thread_info::functions, and btrace_call_iterator::index.
Referenced by btrace_call_history(), record_btrace_target::call_history(), and record_btrace_target::call_history_range().
unsigned int btrace_call_number | ( | const struct btrace_call_iterator * | it | ) |
Definition at line 2653 of file btrace.c.
References btrace_call_iterator::btinfo, btrace_ends_with_single_insn(), btrace_thread_info::functions, and btrace_call_iterator::index.
Referenced by btrace_call_history(), record_btrace_target::call_history(), record_btrace_target::info_record(), and recpy_bt_function_call_history().
unsigned int btrace_call_prev | ( | struct btrace_call_iterator * | it, |
unsigned int | stride | ||
) |
Definition at line 2730 of file btrace.c.
References btrace_call_iterator::btinfo, btrace_ends_with_single_insn(), btrace_thread_info::functions, and btrace_call_iterator::index.
Referenced by record_btrace_target::call_history(), and record_btrace_target::info_record().
void btrace_clear | ( | struct thread_info * | tp | ) |
Definition at line 1987 of file btrace.c.
References btrace_clear_history(), btrace_maint_clear(), btrace_thread_info::data, DEBUG, btrace_thread_info::functions, btrace_thread_info::ngaps, print_thread_id(), thread_info::ptid, and reinit_frame_cache().
Referenced by btrace_disable(), btrace_fetch(), btrace_free_objfile(), btrace_stitch_bts(), btrace_teardown(), and maint_btrace_clear_cmd().
const struct btrace_config * btrace_conf | ( | const struct btrace_thread_info * | btinfo | ) |
Definition at line 1654 of file btrace.c.
References btrace_thread_info::target, and target_btrace_conf().
Referenced by btpy_insn_or_gap_new(), btrace_call_history(), btrace_insn_history(), maint_info_btrace_cmd(), and recpy_bt_format().
const char * btrace_decode_error | ( | enum btrace_format | format, |
int | errcode | ||
) |
Definition at line 1858 of file btrace.c.
References BDE_BTS_INSN_SIZE, BDE_BTS_OVERFLOW, BDE_PT_DISABLED, BDE_PT_OVERFLOW, BDE_PT_USER_QUIT, and btrace_function::errcode.
Referenced by btpy_insn_or_gap_new(), and btrace_ui_out_decode_error().
void btrace_disable | ( | struct thread_info * | tp | ) |
Definition at line 1665 of file btrace.c.
References btrace_clear(), DEBUG, print_thread_id(), thread_info::ptid, btrace_thread_info::target, target_disable_btrace(), and target_pid_to_str().
Referenced by btrace_enable(), record_btrace_target_open(), record_btrace_target::stop_recording(), and scoped_btrace_disable::~scoped_btrace_disable().
void btrace_enable | ( | struct thread_info * | tp, |
const struct btrace_config * | conf | ||
) |
Definition at line 1607 of file btrace.c.
References btrace_add_pc(), btrace_disable(), can_access_registers_thread(), DEBUG, print_thread_id(), thread_info::ptid, target_enable_btrace(), and target_pid_to_str().
Referenced by record_btrace_on_new_thread(), and record_btrace_target_open().
void btrace_fetch | ( | struct thread_info * | tp, |
const struct btrace_cpu * | cpu | ||
) |
Definition at line 1907 of file btrace.c.
References btrace_clear(), btrace_clear_history(), btrace_compute_ftrace(), btrace_maint_clear(), btrace_stitch_trace(), can_access_registers_thread(), btrace_thread_info::data, DEBUG, btrace_thread_info::functions, print_thread_id(), thread_info::ptid, btrace_thread_info::replay, switch_to_thread(), btrace_thread_info::target, and target_read_btrace().
Referenced by record_btrace_target::info_record(), record_btrace_resume_thread(), recpy_bt_begin(), recpy_bt_end(), recpy_bt_function_call_history(), recpy_bt_instruction_history(), and require_btrace_thread().
int btrace_find_call_by_number | ( | struct btrace_call_iterator * | it, |
const struct btrace_thread_info * | btinfo, | ||
unsigned int | number | ||
) |
Definition at line 2774 of file btrace.c.
References btrace_call_iterator::btinfo, btrace_thread_info::functions, btrace_call_iterator::index, and btrace_function::number.
Referenced by btrace_func_from_recpy_func(), record_btrace_target::call_history_range(), record_btrace_frame_prev_register(), record_btrace_frame_sniffer(), record_btrace_frame_this_id(), and record_btrace_tailcall_frame_sniffer().
int btrace_find_insn_by_number | ( | struct btrace_insn_iterator * | it, |
const struct btrace_thread_info * | btinfo, | ||
unsigned int | number | ||
) |
Definition at line 2573 of file btrace.c.
References btrace_insn_iterator::btinfo, btrace_insn_iterator::call_index, ftrace_call_num_insn(), btrace_thread_info::functions, btrace_insn_iterator::insn_index, btrace_function::insn_offset, and btrace_function::number.
Referenced by btpy_insn_or_gap_new(), btrace_insn_from_recpy_insn(), record_btrace_target::goto_record(), and record_btrace_target::insn_history_range().
void btrace_free_objfile | ( | struct objfile * | objfile | ) |
Definition at line 2012 of file btrace.c.
References all_non_exited_threads(), btrace_clear(), and DEBUG.
Referenced by objfile::~objfile().
void btrace_insn_begin | ( | struct btrace_insn_iterator * | it, |
const struct btrace_thread_info * | btinfo | ||
) |
Definition at line 2379 of file btrace.c.
References btrace_insn_iterator::btinfo, btrace_insn_iterator::call_index, btrace_thread_info::functions, and btrace_insn_iterator::insn_index.
Referenced by btrace_is_empty(), record_btrace_target::goto_record_begin(), recpy_bt_begin(), and recpy_bt_instruction_history().
int btrace_insn_cmp | ( | const struct btrace_insn_iterator * | lhs, |
const struct btrace_insn_iterator * | rhs | ||
) |
Definition at line 2559 of file btrace.c.
References btrace_insn_iterator::btinfo, btrace_insn_iterator::call_index, and btrace_insn_iterator::insn_index.
Referenced by btrace_insn_history(), btrace_is_empty(), record_btrace_set_replay(), record_btrace_single_step_forward(), and record_btrace_stop_replaying_at_end().
void btrace_insn_end | ( | struct btrace_insn_iterator * | it, |
const struct btrace_thread_info * | btinfo | ||
) |
Definition at line 2393 of file btrace.c.
References btrace_insn_iterator::btinfo, btrace_insn_iterator::call_index, btrace_thread_info::functions, btrace_function::insn, btrace_insn_iterator::insn_index, and btrace_function::number.
Referenced by btrace_is_empty(), record_btrace_target::info_record(), record_btrace_target::insn_history(), record_btrace_target::insn_history_range(), record_btrace_single_step_forward(), record_btrace_start_replaying(), record_btrace_stop_replaying_at_end(), recpy_bt_end(), recpy_bt_goto(), and recpy_bt_instruction_history().
const struct btrace_insn * btrace_insn_get | ( | const struct btrace_insn_iterator * | it | ) |
Definition at line 2340 of file btrace.c.
References btrace_insn_iterator::btinfo, btrace_insn_iterator::call_index, btrace_function::errcode, btrace_thread_info::functions, btrace_function::insn, and btrace_insn_iterator::insn_index.
Referenced by btrace_insn_from_recpy_insn(), btrace_insn_history(), record_btrace_target::fetch_registers(), record_btrace_target::goto_record(), record_btrace_target::goto_record_begin(), record_btrace_target::info_record(), record_btrace_replay_at_breakpoint(), record_btrace_single_step_backward(), record_btrace_single_step_forward(), and record_btrace_start_replaying().
int btrace_insn_get_error | ( | const struct btrace_insn_iterator * | it | ) |
Definition at line 2363 of file btrace.c.
References btrace_insn_iterator::btinfo, btrace_insn_iterator::call_index, and btrace_thread_info::functions.
Referenced by btpy_insn_or_gap_new(), and btrace_insn_history().
unsigned int btrace_insn_next | ( | struct btrace_insn_iterator * | it, |
unsigned int | stride | ||
) |
Definition at line 2419 of file btrace.c.
References btrace_insn_iterator::btinfo, btrace_insn_iterator::call_index, ftrace_find_call_by_number(), btrace_thread_info::functions, btrace_function::insn, btrace_insn_iterator::insn_index, btrace_function::next, and btrace_function::number.
Referenced by btrace_insn_history(), record_btrace_target::goto_record_begin(), record_btrace_target::insn_history(), record_btrace_target::insn_history_range(), and record_btrace_single_step_forward().
unsigned int btrace_insn_number | ( | const struct btrace_insn_iterator * | it | ) |
Definition at line 2371 of file btrace.c.
References btrace_insn_iterator::btinfo, btrace_insn_iterator::call_index, btrace_thread_info::functions, and btrace_insn_iterator::insn_index.
Referenced by btrace_insn_history(), record_btrace_target::info_record(), record_btrace_target::insn_history(), recpy_bt_begin(), recpy_bt_end(), recpy_bt_goto(), recpy_bt_instruction_history(), and recpy_bt_replay_position().
unsigned int btrace_insn_prev | ( | struct btrace_insn_iterator * | it, |
unsigned int | stride | ||
) |
Definition at line 2501 of file btrace.c.
References btrace_insn_iterator::btinfo, btrace_insn_iterator::call_index, ftrace_find_call_by_number(), btrace_thread_info::functions, btrace_function::insn, btrace_insn_iterator::insn_index, btrace_function::number, and btrace_function::prev.
Referenced by record_btrace_target::insn_history(), record_btrace_single_step_backward(), and record_btrace_start_replaying().
int btrace_is_empty | ( | struct thread_info * | tp | ) |
Definition at line 2829 of file btrace.c.
References btrace_insn_begin(), btrace_insn_cmp(), btrace_insn_end(), and btrace_thread_info::functions.
Referenced by btrace_func_from_recpy_func(), btrace_insn_from_recpy_insn(), record_btrace_target::info_record(), record_btrace_step_thread(), recpy_bt_begin(), recpy_bt_end(), recpy_bt_function_call_history(), recpy_bt_goto(), recpy_bt_instruction_history(), and require_btrace_thread().
int btrace_is_replaying | ( | struct thread_info * | tp | ) |
Definition at line 2821 of file btrace.c.
Referenced by record_btrace_target::info_record(), and record_btrace_target::record_is_replaying().
void btrace_set_call_history | ( | struct btrace_thread_info * | btinfo, |
const struct btrace_call_iterator * | begin, | ||
const struct btrace_call_iterator * | end | ||
) |
Definition at line 2805 of file btrace.c.
References btrace_call_history::begin, btrace_call_iterator::btinfo, btrace_thread_info::call_history, and btrace_call_history::end.
Referenced by record_btrace_target::call_history(), and record_btrace_target::call_history_range().
void btrace_set_insn_history | ( | struct btrace_thread_info * | btinfo, |
const struct btrace_insn_iterator * | begin, | ||
const struct btrace_insn_iterator * | end | ||
) |
Definition at line 2791 of file btrace.c.
References btrace_insn_history::begin, btrace_insn_history::end, and btrace_thread_info::insn_history.
Referenced by record_btrace_target::insn_history(), and record_btrace_target::insn_history_range().
void btrace_teardown | ( | struct thread_info * | tp | ) |
Definition at line 1685 of file btrace.c.
References btrace_clear(), DEBUG, print_thread_id(), thread_info::ptid, btrace_thread_info::target, and target_teardown_btrace().
Referenced by clear_thread_inferior_resources(), and record_btrace_target::close().
DEF_ENUM_FLAGS_TYPE | ( | enum | btrace_function_flag, |
btrace_function_flags | |||
) |
DEF_ENUM_FLAGS_TYPE | ( | enum | btrace_insn_flag, |
btrace_insn_flags | |||
) |
DEF_ENUM_FLAGS_TYPE | ( | enum | btrace_thread_flag, |
btrace_thread_flags | |||
) |
void parse_xml_btrace | ( | struct btrace_data * | data, |
const char * | xml | ||
) |
Definition at line 2219 of file btrace.c.
References gdb_xml_parse_quick().
Referenced by remote_target::read_btrace().
void parse_xml_btrace_conf | ( | struct btrace_config * | conf, |
const char * | xml | ||
) |
Definition at line 2319 of file btrace.c.
References gdb_xml_parse_quick().
Referenced by btrace_read_config().