GDB (xrefs)
|
#include "defs.h"
#include "btrace.h"
#include "gdbthread.h"
#include "inferior.h"
#include "target.h"
#include "record.h"
#include "symtab.h"
#include "disasm.h"
#include "source.h"
#include "filenames.h"
#include "regcache.h"
#include "gdbsupport/rsp-low.h"
#include "gdbcmd.h"
#include "cli/cli-utils.h"
#include "gdbarch.h"
#include "record-btrace.h"
#include <inttypes.h>
#include <ctype.h>
#include <algorithm>
Go to the source code of this file.
Macros | |
#define | DEBUG(msg, args...) |
#define | DEBUG_FTRACE(msg, args...) DEBUG ("[ftrace] " msg, ##args) |
Functions | |
static void | btrace_add_pc (struct thread_info *tp) |
static const char * | ftrace_print_function_name (const struct btrace_function *bfun) |
static const char * | ftrace_print_filename (const struct btrace_function *bfun) |
static const char * | ftrace_print_insn_addr (const struct btrace_insn *insn) |
static void | ftrace_debug (const struct btrace_function *bfun, const char *prefix) |
static unsigned int | ftrace_call_num_insn (const struct btrace_function *bfun) |
static struct btrace_function * | ftrace_find_call_by_number (struct btrace_thread_info *btinfo, unsigned int number) |
static const struct btrace_function * | ftrace_find_call_by_number (const struct btrace_thread_info *btinfo, unsigned int number) |
static int | ftrace_function_switched (const struct btrace_function *bfun, const struct minimal_symbol *mfun, const struct symbol *fun) |
static struct btrace_function * | ftrace_new_function (struct btrace_thread_info *btinfo, struct minimal_symbol *mfun, struct symbol *fun) |
static void | ftrace_update_caller (struct btrace_function *bfun, struct btrace_function *caller, btrace_function_flags flags) |
static void | ftrace_fixup_caller (struct btrace_thread_info *btinfo, struct btrace_function *bfun, struct btrace_function *caller, btrace_function_flags flags) |
static struct btrace_function * | ftrace_new_call (struct btrace_thread_info *btinfo, struct minimal_symbol *mfun, struct symbol *fun) |
static struct btrace_function * | ftrace_new_tailcall (struct btrace_thread_info *btinfo, struct minimal_symbol *mfun, struct symbol *fun) |
static struct btrace_function * | ftrace_get_caller (struct btrace_thread_info *btinfo, struct btrace_function *bfun) |
static struct btrace_function * | ftrace_find_caller (struct btrace_thread_info *btinfo, struct btrace_function *bfun, struct minimal_symbol *mfun, struct symbol *fun) |
static struct btrace_function * | ftrace_find_call (struct btrace_thread_info *btinfo, struct btrace_function *bfun) |
static struct btrace_function * | ftrace_new_return (struct btrace_thread_info *btinfo, struct minimal_symbol *mfun, struct symbol *fun) |
static struct btrace_function * | ftrace_new_switch (struct btrace_thread_info *btinfo, struct minimal_symbol *mfun, struct symbol *fun) |
static struct btrace_function * | ftrace_new_gap (struct btrace_thread_info *btinfo, int errcode, std::vector< unsigned int > &gaps) |
static struct btrace_function * | ftrace_update_function (struct btrace_thread_info *btinfo, CORE_ADDR pc) |
static void | ftrace_update_insns (struct btrace_function *bfun, const btrace_insn &insn) |
static enum btrace_insn_class | ftrace_classify_insn (struct gdbarch *gdbarch, CORE_ADDR pc) |
static int | ftrace_match_backtrace (struct btrace_thread_info *btinfo, struct btrace_function *lhs, struct btrace_function *rhs) |
static void | ftrace_fixup_level (struct btrace_thread_info *btinfo, struct btrace_function *bfun, int adjustment) |
static void | ftrace_compute_global_level_offset (struct btrace_thread_info *btinfo) |
static void | ftrace_connect_bfun (struct btrace_thread_info *btinfo, struct btrace_function *prev, struct btrace_function *next) |
static void | ftrace_connect_backtrace (struct btrace_thread_info *btinfo, struct btrace_function *lhs, struct btrace_function *rhs) |
static int | ftrace_bridge_gap (struct btrace_thread_info *btinfo, struct btrace_function *lhs, struct btrace_function *rhs, int min_matches) |
static void | btrace_bridge_gaps (struct thread_info *tp, std::vector< unsigned int > &gaps) |
static void | btrace_compute_ftrace_bts (struct thread_info *tp, const struct btrace_data_bts *btrace, std::vector< unsigned int > &gaps) |
static void | btrace_compute_ftrace_pt (struct thread_info *tp, const struct btrace_data_pt *btrace, std::vector< unsigned int > &gaps) |
static void | btrace_compute_ftrace_1 (struct thread_info *tp, struct btrace_data *btrace, const struct btrace_cpu *cpu, std::vector< unsigned int > &gaps) |
static void | btrace_finalize_ftrace (struct thread_info *tp, std::vector< unsigned int > &gaps) |
static void | btrace_compute_ftrace (struct thread_info *tp, struct btrace_data *btrace, const struct btrace_cpu *cpu) |
void | btrace_enable (struct thread_info *tp, const struct btrace_config *conf) |
const struct btrace_config * | btrace_conf (const struct btrace_thread_info *btinfo) |
void | btrace_disable (struct thread_info *tp) |
void | btrace_teardown (struct thread_info *tp) |
static int | btrace_stitch_bts (struct btrace_data_bts *btrace, struct thread_info *tp) |
static int | btrace_stitch_trace (struct btrace_data *btrace, struct thread_info *tp) |
static void | btrace_clear_history (struct btrace_thread_info *btinfo) |
static void | btrace_maint_clear (struct btrace_thread_info *btinfo) |
const char * | btrace_decode_error (enum btrace_format format, int errcode) |
void | btrace_fetch (struct thread_info *tp, const struct btrace_cpu *cpu) |
void | btrace_clear (struct thread_info *tp) |
void | btrace_free_objfile (struct objfile *objfile) |
const struct btrace_insn * | btrace_insn_get (const struct btrace_insn_iterator *it) |
int | btrace_insn_get_error (const struct btrace_insn_iterator *it) |
unsigned int | btrace_insn_number (const struct btrace_insn_iterator *it) |
void | btrace_insn_begin (struct btrace_insn_iterator *it, const struct btrace_thread_info *btinfo) |
void | btrace_insn_end (struct btrace_insn_iterator *it, const struct btrace_thread_info *btinfo) |
unsigned int | btrace_insn_next (struct btrace_insn_iterator *it, unsigned int stride) |
unsigned int | btrace_insn_prev (struct btrace_insn_iterator *it, unsigned int stride) |
int | btrace_insn_cmp (const struct btrace_insn_iterator *lhs, const struct btrace_insn_iterator *rhs) |
int | btrace_find_insn_by_number (struct btrace_insn_iterator *it, const struct btrace_thread_info *btinfo, unsigned int number) |
static bool | btrace_ends_with_single_insn (const struct btrace_thread_info *btinfo) |
const struct btrace_function * | btrace_call_get (const struct btrace_call_iterator *it) |
unsigned int | btrace_call_number (const struct btrace_call_iterator *it) |
void | btrace_call_begin (struct btrace_call_iterator *it, const struct btrace_thread_info *btinfo) |
void | btrace_call_end (struct btrace_call_iterator *it, const struct btrace_thread_info *btinfo) |
unsigned int | btrace_call_next (struct btrace_call_iterator *it, unsigned int stride) |
unsigned int | btrace_call_prev (struct btrace_call_iterator *it, unsigned int stride) |
int | btrace_call_cmp (const struct btrace_call_iterator *lhs, const struct btrace_call_iterator *rhs) |
int | btrace_find_call_by_number (struct btrace_call_iterator *it, const struct btrace_thread_info *btinfo, unsigned int number) |
void | btrace_set_insn_history (struct btrace_thread_info *btinfo, const struct btrace_insn_iterator *begin, const struct btrace_insn_iterator *end) |
void | btrace_set_call_history (struct btrace_thread_info *btinfo, const struct btrace_call_iterator *begin, const struct btrace_call_iterator *end) |
int | btrace_is_replaying (struct thread_info *tp) |
int | btrace_is_empty (struct thread_info *tp) |
static void | btrace_maint_update_packets (struct btrace_thread_info *btinfo, unsigned int *begin, unsigned int *end, unsigned int *from, unsigned int *to) |
static void | btrace_maint_print_packets (struct btrace_thread_info *btinfo, unsigned int begin, unsigned int end) |
static unsigned int | get_uint (const char **arg) |
static int | get_context_size (const char **arg) |
static void | no_chunk (const char *arg) |
static void | maint_btrace_packet_history_cmd (const char *arg, int from_tty) |
static void | maint_btrace_clear_packet_history_cmd (const char *args, int from_tty) |
static void | maint_btrace_clear_cmd (const char *args, int from_tty) |
static void | maint_info_btrace_cmd (const char *args, int from_tty) |
static void | show_maint_btrace_pt_skip_pad (struct ui_file *file, int from_tty, struct cmd_list_element *c, const char *value) |
void | _initialize_btrace () |
Variables | |
static struct cmd_list_element * | maint_btrace_cmdlist |
static struct cmd_list_element * | maint_btrace_set_cmdlist |
static struct cmd_list_element * | maint_btrace_show_cmdlist |
static struct cmd_list_element * | maint_btrace_pt_set_cmdlist |
static struct cmd_list_element * | maint_btrace_pt_show_cmdlist |
static bool | maint_btrace_pt_skip_pad = true |
#define DEBUG | ( | msg, | |
args... ) |
Definition at line 60 of file btrace.c.
Referenced by btrace_bridge_gaps(), btrace_clear(), btrace_compute_ftrace_1(), btrace_disable(), btrace_enable(), btrace_fetch(), btrace_free_objfile(), btrace_stitch_bts(), and btrace_teardown().
#define DEBUG_FTRACE | ( | msg, | |
args... ) DEBUG ("[ftrace] " msg, ##args) |
Definition at line 69 of file btrace.c.
Referenced by ftrace_bridge_gap(), ftrace_compute_global_level_offset(), ftrace_connect_bfun(), ftrace_debug(), ftrace_fixup_level(), and ftrace_update_function().
void _initialize_btrace | ( | ) |
Definition at line 3131 of file btrace.c.
Referenced by initialize_all_files().
|
static |
Definition at line 1586 of file btrace.c.
References btrace_compute_ftrace(), get_thread_regcache(), reg_buffer::regcache, and regcache_read_pc().
Referenced by btrace_enable().
|
static |
Definition at line 973 of file btrace.c.
References DEBUG, btrace_function::errcode, ftrace_bridge_gap(), ftrace_compute_global_level_offset(), ftrace_find_call_by_number(), and btrace_function::number.
Referenced by btrace_finalize_ftrace().
void btrace_call_begin | ( | struct btrace_call_iterator * | it, |
const struct btrace_thread_info * | btinfo ) |
Definition at line 2350 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 2446 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 2363 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 2324 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 2376 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 2335 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 2412 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 1986 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().
|
static |
Definition at line 1816 of file btrace.c.
References btrace_thread_info::call_history, btrace_thread_info::insn_history, btrace_thread_info::replay, and xfree().
Referenced by btrace_clear(), and btrace_fetch().
|
static |
Definition at line 1564 of file btrace.c.
References btrace_compute_ftrace_1(), and btrace_finalize_ftrace().
Referenced by btrace_add_pc(), and btrace_fetch().
|
static |
Definition at line 1525 of file btrace.c.
References btrace_compute_ftrace_bts(), btrace_compute_ftrace_pt(), and DEBUG.
Referenced by btrace_compute_ftrace().
|
static |
Definition at line 1050 of file btrace.c.
References BDE_BTS_INSN_SIZE, BDE_BTS_OVERFLOW, block::end(), btrace_insn::flags, ftrace_classify_insn(), ftrace_new_gap(), ftrace_update_function(), ftrace_update_insns(), btrace_thread_info::functions, gdb_insn_length(), btrace_insn::iclass, btrace_function::insn_offset, btrace_function::level, btrace_thread_info::level, btrace_insn::pc, btrace_insn::size, size, switch_to_thread(), and target_gdbarch().
Referenced by btrace_compute_ftrace_1().
|
static |
Definition at line 1510 of file btrace.c.
Referenced by btrace_compute_ftrace_1().
const struct btrace_config * btrace_conf | ( | const struct btrace_thread_info * | btinfo | ) |
Definition at line 1653 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 1857 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 1664 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 1606 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().
|
static |
Definition at line 2307 of file btrace.c.
References btrace_function::errcode, ftrace_call_num_insn(), and btrace_thread_info::functions.
Referenced by btrace_call_next(), btrace_call_number(), and btrace_call_prev().
void btrace_fetch | ( | struct thread_info * | tp, |
const struct btrace_cpu * | cpu ) |
Definition at line 1906 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().
|
static |
Definition at line 1554 of file btrace.c.
References btrace_bridge_gaps().
Referenced by btrace_compute_ftrace().
int btrace_find_call_by_number | ( | struct btrace_call_iterator * | it, |
const struct btrace_thread_info * | btinfo, | ||
unsigned int | number ) |
Definition at line 2456 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 2255 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 2011 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 2061 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 2241 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 2075 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 2022 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 2045 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 2101 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 2053 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 2183 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 2511 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 2503 of file btrace.c.
Referenced by record_btrace_target::info_record(), and record_btrace_target::record_is_replaying().
|
static |
Definition at line 1830 of file btrace.c.
References btrace_maint_packet_history::begin, btrace_maint_info::bts, btrace_thread_info::data, btrace_maint_packet_history::end, btrace_thread_info::maint, btrace_maint_info::packet_history, and btrace_maint_info::variant.
Referenced by btrace_clear(), btrace_fetch(), and maint_btrace_clear_packet_history_cmd().
|
static |
Definition at line 2816 of file btrace.c.
References btrace_maint_packet_history::begin, btrace_maint_info::bts, btrace_thread_info::data, block::end(), btrace_maint_packet_history::end, gdb_printf(), btrace_thread_info::maint, btrace_maint_info::packet_history, and btrace_maint_info::variant.
Referenced by maint_btrace_packet_history_cmd().
|
static |
Definition at line 2774 of file btrace.c.
References btrace_maint_packet_history::begin, btrace_maint_info::bts, btrace_thread_info::data, btrace_maint_packet_history::end, btrace_thread_info::maint, btrace_maint_info::packet_history, and btrace_maint_info::variant.
Referenced by maint_btrace_packet_history_cmd().
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 2487 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 2473 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().
|
static |
Definition at line 1703 of file btrace.c.
References btrace_clear(), DEBUG, ftrace_print_insn_addr(), btrace_thread_info::functions, btrace_function::insn, btrace_function::number, and btrace_insn::pc.
Referenced by btrace_stitch_trace().
|
static |
Definition at line 1791 of file btrace.c.
References btrace_stitch_bts().
Referenced by btrace_fetch().
void btrace_teardown | ( | struct thread_info * | tp | ) |
Definition at line 1684 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().
|
static |
Definition at line 913 of file btrace.c.
References DEBUG_FTRACE, ftrace_connect_backtrace(), ftrace_fixup_level(), ftrace_get_caller(), ftrace_match_backtrace(), btrace_function::insn_offset, and btrace_function::level.
Referenced by btrace_bridge_gaps().
|
static |
Definition at line 146 of file btrace.c.
References btrace_function::errcode, and btrace_function::insn.
Referenced by btrace_ends_with_single_insn(), btrace_find_insn_by_number(), and ftrace_new_function().
|
static |
Definition at line 676 of file btrace.c.
References BTRACE_INSN_CALL, BTRACE_INSN_JUMP, BTRACE_INSN_OTHER, BTRACE_INSN_RETURN, gdbarch_insn_is_call(), gdbarch_insn_is_jump(), and gdbarch_insn_is_ret().
Referenced by btrace_compute_ftrace_bts().
|
static |
Definition at line 744 of file btrace.c.
References DEBUG_FTRACE, btrace_thread_info::functions, btrace_function::insn, btrace_function::level, and btrace_thread_info::level.
Referenced by btrace_bridge_gaps().
|
static |
Definition at line 885 of file btrace.c.
References ftrace_connect_bfun(), ftrace_function_switched(), ftrace_get_caller(), btrace_function::msym, btrace_function::next, btrace_function::prev, and btrace_function::sym.
Referenced by ftrace_bridge_gap().
|
static |
Definition at line 774 of file btrace.c.
References BFUN_UP_LINKS_TO_TAILCALL, DEBUG_FTRACE, flags, ftrace_debug(), ftrace_find_call_by_number(), ftrace_fixup_caller(), ftrace_fixup_level(), btrace_function::level, btrace_thread_info::level, and btrace_function::prev.
Referenced by ftrace_connect_backtrace().
|
static |
Definition at line 126 of file btrace.c.
References DEBUG_FTRACE, ftrace_print_filename(), ftrace_print_function_name(), btrace_function::insn, btrace_function::insn_offset, btrace_function::level, and prefix.
Referenced by ftrace_connect_bfun(), ftrace_fixup_level(), ftrace_new_call(), ftrace_new_gap(), ftrace_new_return(), ftrace_new_switch(), ftrace_new_tailcall(), ftrace_update_caller(), and ftrace_update_insns().
|
static |
Definition at line 391 of file btrace.c.
References BTRACE_INSN_CALL, btrace_function::errcode, ftrace_find_call_by_number(), btrace_insn::iclass, btrace_function::insn, and btrace_function::up.
Referenced by ftrace_new_return().
|
static |
Definition at line 174 of file btrace.c.
References btrace_thread_info::functions, and btrace_function::number.
|
static |
Definition at line 162 of file btrace.c.
References btrace_thread_info::functions, and btrace_function::number.
Referenced by btrace_bridge_gaps(), btrace_insn_next(), btrace_insn_prev(), ftrace_connect_bfun(), ftrace_find_call(), ftrace_find_caller(), ftrace_fixup_caller(), ftrace_fixup_level(), ftrace_get_caller(), ftrace_new_return(), ftrace_new_switch(), and ftrace_update_function().
|
static |
Definition at line 367 of file btrace.c.
References ftrace_find_call_by_number(), ftrace_function_switched(), and btrace_function::up.
Referenced by ftrace_new_return(), and ftrace_update_function().
|
static |
Definition at line 282 of file btrace.c.
References flags, ftrace_find_call_by_number(), ftrace_update_caller(), btrace_function::next, and btrace_function::prev.
Referenced by ftrace_connect_bfun(), and ftrace_new_return().
|
static |
Definition at line 724 of file btrace.c.
References DEBUG_FTRACE, ftrace_debug(), ftrace_find_call_by_number(), btrace_function::level, and btrace_function::number.
Referenced by ftrace_bridge_gap(), and ftrace_connect_bfun().
|
static |
Definition at line 187 of file btrace.c.
References general_symbol_info::linkage_name(), btrace_function::msym, btrace_function::sym, symbol::symtab, and symtab_to_fullname().
Referenced by ftrace_connect_backtrace(), ftrace_find_caller(), ftrace_match_backtrace(), and ftrace_update_function().
|
static |
Definition at line 352 of file btrace.c.
References BFUN_UP_LINKS_TO_TAILCALL, btrace_function::flags, ftrace_find_call_by_number(), and btrace_function::up.
Referenced by ftrace_bridge_gap(), ftrace_connect_backtrace(), and ftrace_match_backtrace().
|
static |
Definition at line 702 of file btrace.c.
References ftrace_function_switched(), ftrace_get_caller(), btrace_function::msym, and btrace_function::sym.
Referenced by ftrace_bridge_gap().
|
static |
Definition at line 312 of file btrace.c.
References ftrace_debug(), ftrace_new_function(), btrace_thread_info::functions, btrace_function::level, and btrace_function::up.
Referenced by ftrace_update_function().
|
static |
Definition at line 236 of file btrace.c.
References ftrace_call_num_insn(), btrace_thread_info::functions, btrace_function::insn_offset, btrace_function::level, btrace_function::number, and btrace_function::prev.
Referenced by ftrace_new_call(), ftrace_new_gap(), ftrace_new_return(), ftrace_new_switch(), ftrace_new_tailcall(), and ftrace_update_function().
|
static |
Definition at line 521 of file btrace.c.
References btrace_function::errcode, ftrace_debug(), ftrace_new_function(), btrace_thread_info::functions, btrace_function::insn, and btrace_function::number.
Referenced by btrace_compute_ftrace_bts().
|
static |
Definition at line 415 of file btrace.c.
References BFUN_UP_LINKS_TO_RET, btrace_function::flags, ftrace_debug(), ftrace_find_call(), ftrace_find_call_by_number(), ftrace_find_caller(), ftrace_fixup_caller(), ftrace_new_function(), btrace_function::level, btrace_function::next, btrace_function::number, btrace_function::prev, and btrace_function::up.
Referenced by ftrace_update_function().
|
static |
Definition at line 497 of file btrace.c.
References btrace_function::flags, ftrace_debug(), ftrace_find_call_by_number(), ftrace_new_function(), btrace_function::number, btrace_function::prev, and btrace_function::up.
Referenced by ftrace_update_function().
|
static |
Definition at line 332 of file btrace.c.
References BFUN_UP_LINKS_TO_TAILCALL, btrace_function::flags, ftrace_debug(), ftrace_new_function(), btrace_thread_info::functions, btrace_function::level, and btrace_function::up.
Referenced by ftrace_update_function().
|
static |
Definition at line 96 of file btrace.c.
References btrace_function::sym, symbol::symtab, and symtab_to_filename_for_display().
Referenced by ftrace_debug(), and ftrace_update_function().
|
static |
Definition at line 75 of file btrace.c.
References btrace_function::msym, general_symbol_info::print_name(), and btrace_function::sym.
Referenced by ftrace_debug(), and ftrace_update_function().
|
static |
Definition at line 115 of file btrace.c.
References btrace_insn::pc.
Referenced by btrace_stitch_bts(), and ftrace_update_function().
|
static |
Definition at line 265 of file btrace.c.
References btrace_function::flags, flags, ftrace_debug(), btrace_function::number, and btrace_function::up.
Referenced by ftrace_fixup_caller().
|
static |
Definition at line 549 of file btrace.c.
References BTRACE_INSN_CALL, BTRACE_INSN_JUMP, BTRACE_INSN_RETURN, DEBUG_FTRACE, btrace_function::errcode, find_pc_function(), ftrace_find_call_by_number(), ftrace_find_caller(), ftrace_function_switched(), ftrace_new_call(), ftrace_new_function(), ftrace_new_return(), ftrace_new_switch(), ftrace_new_tailcall(), ftrace_print_filename(), ftrace_print_function_name(), ftrace_print_insn_addr(), btrace_thread_info::functions, get_pc_function_start(), btrace_insn::iclass, btrace_function::insn, lookup_minimal_symbol_by_pc(), bound_minimal_symbol::minsym, btrace_insn::pc, btrace_insn::size, and btrace_function::up.
Referenced by btrace_compute_ftrace_bts().
|
static |
Definition at line 665 of file btrace.c.
References ftrace_debug(), btrace_function::insn, and record_debug.
Referenced by btrace_compute_ftrace_bts().
|
static |
Definition at line 2901 of file btrace.c.
Referenced by maint_btrace_packet_history_cmd().
|
static |
Definition at line 2877 of file btrace.c.
Referenced by maint_btrace_packet_history_cmd().
|
static |
Definition at line 3049 of file btrace.c.
References btrace_clear(), inferior_ptid, and inferior_thread().
|
static |
Definition at line 3030 of file btrace.c.
References btrace_maint_clear(), btrace_thread_info::data, inferior_ptid, and inferior_thread().
|
static |
Definition at line 2926 of file btrace.c.
References btrace_maint_print_packets(), btrace_maint_update_packets(), current_inferior(), dont_repeat(), inferior::find_thread(), gdb_printf(), get_context_size(), get_uint(), inferior_ptid, no_chunk(), and size.
|
static |
Definition at line 3064 of file btrace.c.
References btrace_conf(), btrace_thread_info::data, gdb_printf(), inferior_ptid, inferior_thread(), btrace_thread_info::maint, btrace_maint_info::variant, and version.
|
static |
Definition at line 2917 of file btrace.c.
Referenced by maint_btrace_packet_history_cmd().
|
static |
Definition at line 3119 of file btrace.c.
References gdb_printf().
|
static |
|
static |
|
static |
|
static |
|
static |