GDB (xrefs)
|
#include "btrace.h"
#include "gdbthread.h"
#include "exceptions.h"
#include "inferior.h"
#include "target.h"
#include "record.h"
#include "symtab.h"
#include "disasm.h"
#include "source.h"
#include "filenames.h"
#include "xml-support.h"
Go to the source code of this file.
Defines | |
#define | DEBUG(msg, args...) |
#define | DEBUG_FTRACE(msg, args...) DEBUG ("[ftrace] " msg, ##args) |
Functions | |
static void | btrace_init_insn_iterator (struct btrace_thread_info *btinfo) |
static void | btrace_init_func_iterator (struct btrace_thread_info *btinfo) |
static | VEC (btrace_inst_s) |
static const char * | ftrace_print_function_name (struct btrace_func *bfun) |
static const char * | ftrace_print_filename (struct btrace_func *bfun) |
static void | ftrace_debug (struct btrace_func *bfun, const char *prefix) |
static void | ftrace_init_func (struct btrace_func *bfun, struct minimal_symbol *mfun, struct symbol *fun, unsigned int idx) |
static int | ftrace_function_switched (struct btrace_func *bfun, struct minimal_symbol *mfun, struct symbol *fun) |
static int | ftrace_skip_file (struct btrace_func *bfun, const char *filename) |
static | VEC (btrace_func_s) |
void | btrace_enable (struct thread_info *tp) |
void | btrace_disable (struct thread_info *tp) |
void | btrace_teardown (struct thread_info *tp) |
void | btrace_fetch (struct thread_info *tp) |
void | btrace_clear (struct thread_info *tp) |
void | btrace_free_objfile (struct objfile *objfile) |
VEC (btrace_block_s) |
#define DEBUG | ( | msg, | |
args... | |||
) |
do \ { \ if (record_debug != 0) \ fprintf_unfiltered (gdb_stdlog, \ "[btrace] " msg "\n", ##args); \ } \ while (0)
Definition at line 37 of file btrace.c.
Referenced by btrace_clear(), btrace_disable(), btrace_enable(), btrace_fetch(), btrace_free_objfile(), btrace_init_func_iterator(), btrace_init_insn_iterator(), btrace_teardown(), and VEC().
#define DEBUG_FTRACE | ( | msg, | |
args... | |||
) | DEBUG ("[ftrace] " msg, ##args) |
Definition at line 46 of file btrace.c.
Referenced by ftrace_debug(), and VEC().
void btrace_clear | ( | struct thread_info * | tp | ) |
Definition at line 422 of file btrace.c.
References thread_info::btrace, DEBUG, thread_info::num, thread_info::ptid, target_pid_to_str(), and VEC_free.
Referenced by btrace_disable(), btrace_fetch(), btrace_free_objfile(), and btrace_teardown().
void btrace_disable | ( | struct thread_info * | tp | ) |
Definition at line 355 of file btrace.c.
References thread_info::btrace, btrace_clear(), DEBUG, thread_info::num, thread_info::ptid, btrace_thread_info::target, target_disable_btrace(), and target_pid_to_str().
Referenced by record_btrace_disable_callback(), and record_btrace_stop_recording().
void btrace_enable | ( | struct thread_info * | tp | ) |
Definition at line 339 of file btrace.c.
References _, thread_info::btrace, DEBUG, error(), thread_info::num, thread_info::ptid, btrace_thread_info::target, target_enable_btrace(), target_pid_to_str(), and target_supports_btrace().
Referenced by record_btrace_enable_warn(), and record_btrace_open().
void btrace_fetch | ( | struct thread_info * | tp | ) |
Definition at line 393 of file btrace.c.
References thread_info::btrace, btrace_clear(), btrace_init_func_iterator(), btrace_init_insn_iterator(), btrace_read_new, DEBUG, thread_info::num, thread_info::ptid, btrace_thread_info::target, target_pid_to_str(), VEC, and VEC_empty.
Referenced by record_btrace_info(), and require_btrace().
void btrace_free_objfile | ( | struct objfile * | objfile | ) |
Definition at line 442 of file btrace.c.
References ALL_THREADS, btrace_clear(), and DEBUG.
Referenced by free_objfile().
static void btrace_init_func_iterator | ( | struct btrace_thread_info * | btinfo | ) | [static] |
Definition at line 62 of file btrace.c.
References btrace_func_iterator::begin, DEBUG, btrace_func_iterator::end, and btrace_thread_info::func_iterator.
Referenced by btrace_fetch().
static void btrace_init_insn_iterator | ( | struct btrace_thread_info * | btinfo | ) | [static] |
Definition at line 51 of file btrace.c.
References btrace_insn_iterator::begin, DEBUG, btrace_insn_iterator::end, and btrace_thread_info::insn_iterator.
Referenced by btrace_fetch().
void btrace_teardown | ( | struct thread_info * | tp | ) |
Definition at line 374 of file btrace.c.
References thread_info::btrace, btrace_clear(), DEBUG, thread_info::num, thread_info::ptid, btrace_thread_info::target, target_pid_to_str(), and target_teardown_btrace().
Referenced by clear_thread_inferior_resources().
static void ftrace_debug | ( | struct btrace_func * | bfun, |
const char * | prefix | ||
) | [static] |
Definition at line 172 of file btrace.c.
References DEBUG_FTRACE, ftrace_print_filename(), ftrace_print_function_name(), btrace_func::ibegin, btrace_func::iend, btrace_func::lbegin, and btrace_func::lend.
Referenced by VEC().
static int ftrace_function_switched | ( | struct btrace_func * | bfun, |
struct minimal_symbol * | mfun, | ||
struct symbol * | fun | ||
) | [static] |
Definition at line 197 of file btrace.c.
References btrace_func::msym, btrace_func::sym, SYMBOL_LINKAGE_NAME, symbol::symtab, and symtab_to_fullname().
Referenced by VEC().
static void ftrace_init_func | ( | struct btrace_func * | bfun, |
struct minimal_symbol * | mfun, | ||
struct symbol * | fun, | ||
unsigned int | idx | ||
) | [static] |
Definition at line 183 of file btrace.c.
References btrace_func::ibegin, btrace_func::iend, btrace_func::lbegin, btrace_func::lend, btrace_func::msym, and btrace_func::sym.
Referenced by VEC().
static const char* ftrace_print_filename | ( | struct btrace_func * | bfun | ) | [static] |
Definition at line 154 of file btrace.c.
References btrace_func::sym, symbol::symtab, and symtab_to_filename_for_display().
Referenced by ftrace_debug().
static const char* ftrace_print_function_name | ( | struct btrace_func * | bfun | ) | [static] |
Definition at line 133 of file btrace.c.
References btrace_func::msym, btrace_func::sym, and SYMBOL_PRINT_NAME.
Referenced by ftrace_debug().
static int ftrace_skip_file | ( | struct btrace_func * | bfun, |
const char * | filename | ||
) | [static] |
Definition at line 239 of file btrace.c.
References btrace_func::sym, symbol::symtab, and symtab_to_fullname().
Referenced by VEC().
static VEC | ( | btrace_inst_s | ) | [static] |
Definition at line 72 of file btrace.c.
References _, btrace_block::begin, DEBUG, btrace_block::end, gdb_insn_length(), btrace_inst::pc, size, target_gdbarch(), VEC, VEC_index, VEC_length, VEC_safe_push, and warning().
static VEC | ( | btrace_func_s | ) | [static] |
Definition at line 259 of file btrace.c.
References core_addr_to_string_nz(), DEBUG, DEBUG_FTRACE, find_pc_function(), find_pc_line(), ftrace_debug(), ftrace_function_switched(), ftrace_init_func(), ftrace_skip_file(), btrace_func::iend, btrace_func::lbegin, btrace_func::lend, symtab_and_line::line, lookup_minimal_symbol_by_pc(), max, min, bound_minimal_symbol::minsym, btrace_inst::pc, symtab_and_line::symtab, symtab_to_fullname(), VEC, VEC_iterate, and VEC_safe_push.
VEC | ( | btrace_block_s | ) |
Definition at line 515 of file btrace.c.
References _, discard_cleanups(), do_cleanups(), error(), gdb_xml_parse_quick(), make_cleanup(), VEC, and VEC_cleanup.