GDB (xrefs)
Classes | Macros | Typedefs | Functions | Variables
/tmp/gdb-8.1/gdb/record-btrace.c File Reference
#include "defs.h"
#include "record.h"
#include "record-btrace.h"
#include "gdbthread.h"
#include "target.h"
#include "gdbcmd.h"
#include "disasm.h"
#include "observer.h"
#include "cli/cli-utils.h"
#include "source.h"
#include "ui-out.h"
#include "symtab.h"
#include "filenames.h"
#include "regcache.h"
#include "frame-unwind.h"
#include "hashtab.h"
#include "infrun.h"
#include "event-loop.h"
#include "inf-loop.h"
#include "vec.h"
#include <algorithm>

Go to the source code of this file.

Classes

struct  btrace_line_range
 
struct  btrace_frame_cache
 

Macros

#define DEBUG(msg, args...)
 

Typedefs

typedef struct thread_infotp_t
 

Functions

static struct thread_inforequire_btrace_thread (void)
 
static struct btrace_thread_inforequire_btrace (void)
 
static void record_btrace_enable_warn (struct thread_info *tp)
 
static void record_btrace_disable_callback (void *arg)
 
static void record_btrace_auto_enable (void)
 
static void record_btrace_auto_disable (void)
 
static void record_btrace_handle_async_inferior_event (gdb_client_data data)
 
void record_btrace_push_target (void)
 
static void record_btrace_open (const char *args, int from_tty)
 
static void record_btrace_stop_recording (struct target_ops *self)
 
static void record_btrace_disconnect (struct target_ops *self, const char *args, int from_tty)
 
static void record_btrace_close (struct target_ops *self)
 
static void record_btrace_async (struct target_ops *ops, int enable)
 
static const char * record_btrace_adjust_size (unsigned int *size)
 
static void record_btrace_print_bts_conf (const struct btrace_config_bts *conf)
 
static void record_btrace_print_pt_conf (const struct btrace_config_pt *conf)
 
static void record_btrace_print_conf (const struct btrace_config *conf)
 
static void record_btrace_info (struct target_ops *self)
 
static void btrace_ui_out_decode_error (struct ui_out *uiout, int errcode, enum btrace_format format)
 
static void ui_out_field_uint (struct ui_out *uiout, const char *fld, unsigned int val)
 
static struct btrace_line_range btrace_mk_line_range (struct symtab *symtab, int begin, int end)
 
static struct btrace_line_range btrace_line_range_add (struct btrace_line_range range, int line)
 
static int btrace_line_range_is_empty (struct btrace_line_range range)
 
static int btrace_line_range_contains_range (struct btrace_line_range lhs, struct btrace_line_range rhs)
 
static struct btrace_line_range btrace_find_line_range (CORE_ADDR pc)
 
static void btrace_print_lines (struct btrace_line_range lines, struct ui_out *uiout, struct cleanup **ui_item_chain, int flags)
 
static void btrace_insn_history (struct ui_out *uiout, const struct btrace_thread_info *btinfo, const struct btrace_insn_iterator *begin, const struct btrace_insn_iterator *end, gdb_disassembly_flags flags)
 
static void record_btrace_insn_history (struct target_ops *self, int size, gdb_disassembly_flags flags)
 
static void record_btrace_insn_history_range (struct target_ops *self, ULONGEST from, ULONGEST to, gdb_disassembly_flags flags)
 
static void record_btrace_insn_history_from (struct target_ops *self, ULONGEST from, int size, gdb_disassembly_flags flags)
 
static void btrace_call_history_insn_range (struct ui_out *uiout, const struct btrace_function *bfun)
 
static void btrace_compute_src_line_range (const struct btrace_function *bfun, int *pbegin, int *pend)
 
static void btrace_call_history_src_line (struct ui_out *uiout, const struct btrace_function *bfun)
 
static const char * btrace_get_bfun_name (const struct btrace_function *bfun)
 
static void btrace_call_history (struct ui_out *uiout, const struct btrace_thread_info *btinfo, const struct btrace_call_iterator *begin, const struct btrace_call_iterator *end, int int_flags)
 
static void record_btrace_call_history (struct target_ops *self, int size, int int_flags)
 
static void record_btrace_call_history_range (struct target_ops *self, ULONGEST from, ULONGEST to, int int_flags)
 
static void record_btrace_call_history_from (struct target_ops *self, ULONGEST from, int size, int int_flags)
 
static enum record_method record_btrace_record_method (struct target_ops *self, ptid_t ptid)
 
static int record_btrace_is_replaying (struct target_ops *self, ptid_t ptid)
 
static int record_btrace_will_replay (struct target_ops *self, ptid_t ptid, int dir)
 
static enum target_xfer_status record_btrace_xfer_partial (struct target_ops *ops, enum target_object object, const char *annex, gdb_byte *readbuf, const gdb_byte *writebuf, ULONGEST offset, ULONGEST len, ULONGEST *xfered_len)
 
static int record_btrace_insert_breakpoint (struct target_ops *ops, struct gdbarch *gdbarch, struct bp_target_info *bp_tgt)
 
static int record_btrace_remove_breakpoint (struct target_ops *ops, struct gdbarch *gdbarch, struct bp_target_info *bp_tgt, enum remove_bp_reason reason)
 
static void record_btrace_fetch_registers (struct target_ops *ops, struct regcache *regcache, int regno)
 
static void record_btrace_store_registers (struct target_ops *ops, struct regcache *regcache, int regno)
 
static void record_btrace_prepare_to_store (struct target_ops *ops, struct regcache *regcache)
 
static hashval_t bfcache_hash (const void *arg)
 
static int bfcache_eq (const void *arg1, const void *arg2)
 
static struct btrace_frame_cachebfcache_new (struct frame_info *frame)
 
static const struct btrace_functionbtrace_get_frame_function (struct frame_info *frame)
 
static enum unwind_stop_reason record_btrace_frame_unwind_stop_reason (struct frame_info *this_frame, void **this_cache)
 
static void record_btrace_frame_this_id (struct frame_info *this_frame, void **this_cache, struct frame_id *this_id)
 
static struct valuerecord_btrace_frame_prev_register (struct frame_info *this_frame, void **this_cache, int regnum)
 
static int record_btrace_frame_sniffer (const struct frame_unwind *self, struct frame_info *this_frame, void **this_cache)
 
static int record_btrace_tailcall_frame_sniffer (const struct frame_unwind *self, struct frame_info *this_frame, void **this_cache)
 
static void record_btrace_frame_dealloc_cache (struct frame_info *self, void *this_cache)
 
static const struct frame_unwindrecord_btrace_to_get_unwinder (struct target_ops *self)
 
static const struct frame_unwindrecord_btrace_to_get_tailcall_unwinder (struct target_ops *self)
 
static const char * btrace_thread_flag_to_str (enum btrace_thread_flag flag)
 
static void record_btrace_resume_thread (struct thread_info *tp, enum btrace_thread_flag flag)
 
static struct frame_infoget_thread_current_frame (struct thread_info *tp)
 
static struct btrace_insn_iteratorrecord_btrace_start_replaying (struct thread_info *tp)
 
static void record_btrace_stop_replaying (struct thread_info *tp)
 
static void record_btrace_stop_replaying_at_end (struct thread_info *tp)
 
static void record_btrace_resume (struct target_ops *ops, ptid_t ptid, int step, enum gdb_signal signal)
 
static void record_btrace_commit_resume (struct target_ops *ops)
 
static void record_btrace_cancel_resume (struct thread_info *tp)
 
static struct target_waitstatus btrace_step_no_history (void)
 
static struct target_waitstatus btrace_step_stopped (void)
 
static struct target_waitstatus btrace_step_stopped_on_request (void)
 
static struct target_waitstatus btrace_step_spurious (void)
 
static struct target_waitstatus btrace_step_no_resumed (void)
 
static struct target_waitstatus btrace_step_again (void)
 
static void record_btrace_clear_histories (struct btrace_thread_info *btinfo)
 
static int record_btrace_replay_at_breakpoint (struct thread_info *tp)
 
static struct target_waitstatus record_btrace_single_step_forward (struct thread_info *tp)
 
static struct target_waitstatus record_btrace_single_step_backward (struct thread_info *tp)
 
static struct target_waitstatus record_btrace_step_thread (struct thread_info *tp)
 
 DEF_VEC_P (tp_t)
 
static void record_btrace_maybe_mark_async_event (const VEC(tp_t) *moving, const VEC(tp_t) *no_history)
 
static ptid_t record_btrace_wait (struct target_ops *ops, ptid_t ptid, struct target_waitstatus *status, int options)
 
static void record_btrace_stop (struct target_ops *ops, ptid_t ptid)
 
static int record_btrace_can_execute_reverse (struct target_ops *self)
 
static int record_btrace_stopped_by_sw_breakpoint (struct target_ops *ops)
 
static int record_btrace_supports_stopped_by_sw_breakpoint (struct target_ops *ops)
 
static int record_btrace_stopped_by_hw_breakpoint (struct target_ops *ops)
 
static int record_btrace_supports_stopped_by_hw_breakpoint (struct target_ops *ops)
 
static void record_btrace_update_thread_list (struct target_ops *ops)
 
static int record_btrace_thread_alive (struct target_ops *ops, ptid_t ptid)
 
static void record_btrace_set_replay (struct thread_info *tp, const struct btrace_insn_iterator *it)
 
static void record_btrace_goto_begin (struct target_ops *self)
 
static void record_btrace_goto_end (struct target_ops *ops)
 
static void record_btrace_goto (struct target_ops *self, ULONGEST insn)
 
static void record_btrace_stop_replaying_all (struct target_ops *self)
 
static enum exec_direction_kind record_btrace_execution_direction (struct target_ops *self)
 
static void record_btrace_prepare_to_generate_core (struct target_ops *self)
 
static void record_btrace_done_generating_core (struct target_ops *self)
 
static void init_record_btrace_ops (void)
 
static void cmd_record_btrace_bts_start (const char *args, int from_tty)
 
static void cmd_record_btrace_pt_start (const char *args, int from_tty)
 
static void cmd_record_btrace_start (const char *args, int from_tty)
 
static void cmd_set_record_btrace (const char *args, int from_tty)
 
static void cmd_show_record_btrace (const char *args, int from_tty)
 
static void cmd_show_replay_memory_access (struct ui_file *file, int from_tty, struct cmd_list_element *c, const char *value)
 
static void cmd_set_record_btrace_bts (const char *args, int from_tty)
 
static void cmd_show_record_btrace_bts (const char *args, int from_tty)
 
static void cmd_set_record_btrace_pt (const char *args, int from_tty)
 
static void cmd_show_record_btrace_pt (const char *args, int from_tty)
 
static void show_record_bts_buffer_size_value (struct ui_file *file, int from_tty, struct cmd_list_element *c, const char *value)
 
static void show_record_pt_buffer_size_value (struct ui_file *file, int from_tty, struct cmd_list_element *c, const char *value)
 
void _initialize_record_btrace (void)
 

Variables

static struct target_ops record_btrace_ops
 
static struct observerrecord_btrace_thread_observer
 
static const char replay_memory_access_read_only [] = "read-only"
 
static const char replay_memory_access_read_write [] = "read-write"
 
static const char *const replay_memory_access_types []
 
static const char * replay_memory_access = replay_memory_access_read_only
 
static struct cmd_list_elementset_record_btrace_cmdlist
 
static struct cmd_list_elementshow_record_btrace_cmdlist
 
static enum exec_direction_kind record_btrace_resume_exec_dir = EXEC_FORWARD
 
static struct async_event_handlerrecord_btrace_async_inferior_event_handler
 
static int record_btrace_generating_corefile
 
static struct btrace_config record_btrace_conf
 
static struct cmd_list_elementrecord_btrace_cmdlist
 
static struct cmd_list_elementset_record_btrace_bts_cmdlist
 
static struct cmd_list_elementshow_record_btrace_bts_cmdlist
 
static struct cmd_list_elementset_record_btrace_pt_cmdlist
 
static struct cmd_list_elementshow_record_btrace_pt_cmdlist
 
static htab_t bfcache
 
const struct frame_unwind record_btrace_frame_unwind
 
const struct frame_unwind record_btrace_tailcall_frame_unwind
 

Macro Definition Documentation

◆ DEBUG

#define DEBUG (   msg,
  args... 
)

Typedef Documentation

◆ tp_t

typedef struct thread_info* tp_t

Definition at line 2408 of file record-btrace.c.

Function Documentation

◆ _initialize_record_btrace()

void _initialize_record_btrace ( void  )

◆ bfcache_eq()

static int bfcache_eq ( const void *  arg1,
const void *  arg2 
)
static

Definition at line 1509 of file record-btrace.c.

References btrace_frame_cache::frame.

Referenced by _initialize_record_btrace().

◆ bfcache_hash()

static hashval_t bfcache_hash ( const void *  arg)
static

Definition at line 1498 of file record-btrace.c.

References btrace_frame_cache::frame.

Referenced by _initialize_record_btrace().

◆ bfcache_new()

static struct btrace_frame_cache* bfcache_new ( struct frame_info frame)
static

◆ btrace_call_history()

static void btrace_call_history ( struct ui_out uiout,
const struct btrace_thread_info btinfo,
const struct btrace_call_iterator begin,
const struct btrace_call_iterator end,
int  int_flags 
)
static

◆ btrace_call_history_insn_range()

static void btrace_call_history_insn_range ( struct ui_out uiout,
const struct btrace_function bfun 
)
static

◆ btrace_call_history_src_line()

static void btrace_call_history_src_line ( struct ui_out uiout,
const struct btrace_function bfun 
)
static

◆ btrace_compute_src_line_range()

static void btrace_compute_src_line_range ( const struct btrace_function bfun,
int *  pbegin,
int *  pend 
)
static

◆ btrace_find_line_range()

static struct btrace_line_range btrace_find_line_range ( CORE_ADDR  pc)
static

◆ btrace_get_bfun_name()

static const char* btrace_get_bfun_name ( const struct btrace_function bfun)
static

◆ btrace_get_frame_function()

static const struct btrace_function* btrace_get_frame_function ( struct frame_info frame)
static

◆ btrace_insn_history()

static void btrace_insn_history ( struct ui_out uiout,
const struct btrace_thread_info btinfo,
const struct btrace_insn_iterator begin,
const struct btrace_insn_iterator end,
gdb_disassembly_flags  flags 
)
static

◆ btrace_line_range_add()

static struct btrace_line_range btrace_line_range_add ( struct btrace_line_range  range,
int  line 
)
static

Definition at line 524 of file record-btrace.c.

References range.

Referenced by btrace_find_line_range().

◆ btrace_line_range_contains_range()

static int btrace_line_range_contains_range ( struct btrace_line_range  lhs,
struct btrace_line_range  rhs 
)
static

◆ btrace_line_range_is_empty()

static int btrace_line_range_is_empty ( struct btrace_line_range  range)
static

Definition at line 543 of file record-btrace.c.

Referenced by btrace_insn_history().

◆ btrace_mk_line_range()

static struct btrace_line_range btrace_mk_line_range ( struct symtab symtab,
int  begin,
int  end 
)
static

◆ btrace_print_lines()

static void btrace_print_lines ( struct btrace_line_range  lines,
struct ui_out uiout,
struct cleanup **  ui_item_chain,
int  flags 
)
static

◆ btrace_step_again()

static struct target_waitstatus btrace_step_again ( void  )
static

Definition at line 2192 of file record-btrace.c.

References status, and TARGET_WAITKIND_IGNORE.

Referenced by record_btrace_step_thread().

◆ btrace_step_no_history()

static struct target_waitstatus btrace_step_no_history ( void  )
static

◆ btrace_step_no_resumed()

static struct target_waitstatus btrace_step_no_resumed ( void  )
static

Definition at line 2180 of file record-btrace.c.

References status, and TARGET_WAITKIND_NO_RESUMED.

Referenced by record_btrace_wait().

◆ btrace_step_spurious()

static struct target_waitstatus btrace_step_spurious ( void  )
static

◆ btrace_step_stopped()

static struct target_waitstatus btrace_step_stopped ( void  )
static

◆ btrace_step_stopped_on_request()

static struct target_waitstatus btrace_step_stopped_on_request ( void  )
static

Definition at line 2155 of file record-btrace.c.

References status, and TARGET_WAITKIND_STOPPED.

Referenced by record_btrace_step_thread().

◆ btrace_thread_flag_to_str()

static const char* btrace_thread_flag_to_str ( enum btrace_thread_flag  flag)
static

◆ btrace_ui_out_decode_error()

static void btrace_ui_out_decode_error ( struct ui_out uiout,
int  errcode,
enum btrace_format  format 
)
static

◆ cmd_record_btrace_bts_start()

static void cmd_record_btrace_bts_start ( const char *  args,
int  from_tty 
)
static

◆ cmd_record_btrace_pt_start()

static void cmd_record_btrace_pt_start ( const char *  args,
int  from_tty 
)
static

◆ cmd_record_btrace_start()

static void cmd_record_btrace_start ( const char *  args,
int  from_tty 
)
static

◆ cmd_set_record_btrace()

static void cmd_set_record_btrace ( const char *  args,
int  from_tty 
)
static

Definition at line 2956 of file record-btrace.c.

References cmd_show_list(), and set_record_btrace_cmdlist.

Referenced by _initialize_record_btrace().

◆ cmd_set_record_btrace_bts()

static void cmd_set_record_btrace_bts ( const char *  args,
int  from_tty 
)
static

◆ cmd_set_record_btrace_pt()

static void cmd_set_record_btrace_pt ( const char *  args,
int  from_tty 
)
static

◆ cmd_show_record_btrace()

static void cmd_show_record_btrace ( const char *  args,
int  from_tty 
)
static

Definition at line 2964 of file record-btrace.c.

References cmd_show_list(), and show_record_btrace_cmdlist.

Referenced by _initialize_record_btrace().

◆ cmd_show_record_btrace_bts()

static void cmd_show_record_btrace_bts ( const char *  args,
int  from_tty 
)
static

Definition at line 2993 of file record-btrace.c.

References cmd_show_list(), and show_record_btrace_bts_cmdlist.

Referenced by _initialize_record_btrace().

◆ cmd_show_record_btrace_pt()

static void cmd_show_record_btrace_pt ( const char *  args,
int  from_tty 
)
static

Definition at line 3012 of file record-btrace.c.

References cmd_show_list(), and show_record_btrace_pt_cmdlist.

Referenced by _initialize_record_btrace().

◆ cmd_show_replay_memory_access()

static void cmd_show_replay_memory_access ( struct ui_file file,
int  from_tty,
struct cmd_list_element c,
const char *  value 
)
static

Definition at line 2972 of file record-btrace.c.

References _, fprintf_filtered(), gdb_stdout, and replay_memory_access.

Referenced by _initialize_record_btrace().

◆ DEF_VEC_P()

DEF_VEC_P ( tp_t  )

◆ get_thread_current_frame()

static struct frame_info* get_thread_current_frame ( struct thread_info tp)
static

◆ init_record_btrace_ops()

static void init_record_btrace_ops ( void  )
static

Definition at line 2819 of file record-btrace.c.

References OPS_MAGIC, record_btrace_async(), record_btrace_call_history(), record_btrace_call_history_from(), record_btrace_call_history_range(), record_btrace_can_execute_reverse(), record_btrace_close(), record_btrace_commit_resume(), record_btrace_disconnect(), record_btrace_done_generating_core(), record_btrace_execution_direction(), record_btrace_fetch_registers(), record_btrace_goto(), record_btrace_goto_begin(), record_btrace_goto_end(), record_btrace_info(), record_btrace_insert_breakpoint(), record_btrace_insn_history(), record_btrace_insn_history_from(), record_btrace_insn_history_range(), record_btrace_is_replaying(), record_btrace_open(), record_btrace_ops, record_btrace_prepare_to_generate_core(), record_btrace_prepare_to_store(), record_btrace_record_method(), record_btrace_remove_breakpoint(), record_btrace_resume(), record_btrace_stop(), record_btrace_stop_recording(), record_btrace_stop_replaying_all(), record_btrace_stopped_by_hw_breakpoint(), record_btrace_stopped_by_sw_breakpoint(), record_btrace_store_registers(), record_btrace_supports_stopped_by_hw_breakpoint(), record_btrace_supports_stopped_by_sw_breakpoint(), record_btrace_thread_alive(), record_btrace_to_get_tailcall_unwinder(), record_btrace_to_get_unwinder(), record_btrace_update_thread_list(), record_btrace_wait(), record_btrace_will_replay(), record_btrace_xfer_partial(), record_detach(), record_kill(), record_mourn_inferior(), record_stratum, target_ops::to_async, target_ops::to_call_history, target_ops::to_call_history_from, target_ops::to_call_history_range, target_ops::to_can_execute_reverse, target_ops::to_close, target_ops::to_commit_resume, target_ops::to_detach, target_ops::to_disconnect, target_ops::to_doc, target_ops::to_done_generating_core, target_ops::to_execution_direction, target_ops::to_fetch_registers, target_ops::to_get_tailcall_unwinder, target_ops::to_get_unwinder, target_ops::to_goto_record, target_ops::to_goto_record_begin, target_ops::to_goto_record_end, target_ops::to_info_record, target_ops::to_insert_breakpoint, target_ops::to_insn_history, target_ops::to_insn_history_from, target_ops::to_insn_history_range, target_ops::to_kill, target_ops::to_longname, target_ops::to_magic, target_ops::to_mourn_inferior, target_ops::to_open, target_ops::to_prepare_to_generate_core, target_ops::to_prepare_to_store, target_ops::to_record_is_replaying, target_ops::to_record_method, target_ops::to_record_stop_replaying, target_ops::to_record_will_replay, target_ops::to_remove_breakpoint, target_ops::to_resume, target_ops::to_shortname, target_ops::to_stop, target_ops::to_stop_recording, target_ops::to_stopped_by_hw_breakpoint, target_ops::to_stopped_by_sw_breakpoint, target_ops::to_store_registers, target_ops::to_stratum, target_ops::to_supports_stopped_by_hw_breakpoint, target_ops::to_supports_stopped_by_sw_breakpoint, target_ops::to_thread_alive, target_ops::to_update_thread_list, target_ops::to_wait, and target_ops::to_xfer_partial.

Referenced by _initialize_record_btrace().

◆ record_btrace_adjust_size()

static const char* record_btrace_adjust_size ( unsigned int *  size)
static

Definition at line 324 of file record-btrace.c.

References size.

Referenced by record_btrace_print_bts_conf(), and record_btrace_print_pt_conf().

◆ record_btrace_async()

static void record_btrace_async ( struct target_ops ops,
int  enable 
)
static

◆ record_btrace_auto_disable()

static void record_btrace_auto_disable ( void  )
static

◆ record_btrace_auto_enable()

static void record_btrace_auto_enable ( void  )
static

◆ record_btrace_call_history()

static void record_btrace_call_history ( struct target_ops self,
int  size,
int  int_flags 
)
static

◆ record_btrace_call_history_from()

static void record_btrace_call_history_from ( struct target_ops self,
ULONGEST  from,
int  size,
int  int_flags 
)
static

◆ record_btrace_call_history_range()

static void record_btrace_call_history_range ( struct target_ops self,
ULONGEST  from,
ULONGEST  to,
int  int_flags 
)
static

◆ record_btrace_can_execute_reverse()

static int record_btrace_can_execute_reverse ( struct target_ops self)
static

Definition at line 2599 of file record-btrace.c.

Referenced by init_record_btrace_ops().

◆ record_btrace_cancel_resume()

static void record_btrace_cancel_resume ( struct thread_info tp)
static

◆ record_btrace_clear_histories()

static void record_btrace_clear_histories ( struct btrace_thread_info btinfo)
static

◆ record_btrace_close()

static void record_btrace_close ( struct target_ops self)
static

◆ record_btrace_commit_resume()

static void record_btrace_commit_resume ( struct target_ops ops)
static

◆ record_btrace_disable_callback()

static void record_btrace_disable_callback ( void *  arg)
static

Definition at line 165 of file record-btrace.c.

References btrace_disable().

Referenced by record_btrace_open().

◆ record_btrace_disconnect()

static void record_btrace_disconnect ( struct target_ops self,
const char *  args,
int  from_tty 
)
static

Definition at line 276 of file record-btrace.c.

References target_ops::beneath, target_ops::to_disconnect, and unpush_target().

Referenced by init_record_btrace_ops().

◆ record_btrace_done_generating_core()

static void record_btrace_done_generating_core ( struct target_ops self)
static

Definition at line 2811 of file record-btrace.c.

References record_btrace_generating_corefile.

Referenced by init_record_btrace_ops().

◆ record_btrace_enable_warn()

static void record_btrace_enable_warn ( struct thread_info tp)
static

◆ record_btrace_execution_direction()

static enum exec_direction_kind record_btrace_execution_direction ( struct target_ops self)
static

Definition at line 2795 of file record-btrace.c.

References record_btrace_resume_exec_dir.

Referenced by init_record_btrace_ops().

◆ record_btrace_fetch_registers()

static void record_btrace_fetch_registers ( struct target_ops ops,
struct regcache regcache,
int  regno 
)
static

◆ record_btrace_frame_dealloc_cache()

static void record_btrace_frame_dealloc_cache ( struct frame_info self,
void *  this_cache 
)
static

Definition at line 1749 of file record-btrace.c.

References bfcache, and gdb_assert.

◆ record_btrace_frame_prev_register()

static struct value* record_btrace_frame_prev_register ( struct frame_info this_frame,
void **  this_cache,
int  regnum 
)
static

◆ record_btrace_frame_sniffer()

static int record_btrace_frame_sniffer ( const struct frame_unwind self,
struct frame_info this_frame,
void **  this_cache 
)
static

◆ record_btrace_frame_this_id()

static void record_btrace_frame_this_id ( struct frame_info this_frame,
void **  this_cache,
struct frame_id this_id 
)
static

◆ record_btrace_frame_unwind_stop_reason()

static enum unwind_stop_reason record_btrace_frame_unwind_stop_reason ( struct frame_info this_frame,
void **  this_cache 
)
static

Definition at line 1559 of file record-btrace.c.

References btrace_frame_cache::bfun, gdb_assert, and btrace_function::up.

◆ record_btrace_goto()

static void record_btrace_goto ( struct target_ops self,
ULONGEST  insn 
)
static

◆ record_btrace_goto_begin()

static void record_btrace_goto_begin ( struct target_ops self)
static

◆ record_btrace_goto_end()

static void record_btrace_goto_end ( struct target_ops ops)
static

Definition at line 2745 of file record-btrace.c.

References record_btrace_set_replay(), and require_btrace_thread().

Referenced by init_record_btrace_ops().

◆ record_btrace_handle_async_inferior_event()

static void record_btrace_handle_async_inferior_event ( gdb_client_data  data)
static

Definition at line 201 of file record-btrace.c.

References INF_REG_EVENT, and inferior_event_handler().

Referenced by record_btrace_push_target().

◆ record_btrace_info()

static void record_btrace_info ( struct target_ops self)
static

◆ record_btrace_insert_breakpoint()

static int record_btrace_insert_breakpoint ( struct target_ops ops,
struct gdbarch gdbarch,
struct bp_target_info bp_tgt 
)
static

◆ record_btrace_insn_history()

static void record_btrace_insn_history ( struct target_ops self,
int  size,
gdb_disassembly_flags  flags 
)
static

◆ record_btrace_insn_history_from()

static void record_btrace_insn_history_from ( struct target_ops self,
ULONGEST  from,
int  size,
gdb_disassembly_flags  flags 
)
static

◆ record_btrace_insn_history_range()

static void record_btrace_insn_history_range ( struct target_ops self,
ULONGEST  from,
ULONGEST  to,
gdb_disassembly_flags  flags 
)
static

◆ record_btrace_is_replaying()

static int record_btrace_is_replaying ( struct target_ops self,
ptid_t  ptid 
)
static

◆ record_btrace_maybe_mark_async_event()

static void record_btrace_maybe_mark_async_event ( const VEC(tp_t) *  moving,
const VEC(tp_t) *  no_history 
)
static

◆ record_btrace_open()

static void record_btrace_open ( const char *  args,
int  from_tty 
)
static

◆ record_btrace_prepare_to_generate_core()

static void record_btrace_prepare_to_generate_core ( struct target_ops self)
static

Definition at line 2803 of file record-btrace.c.

References record_btrace_generating_corefile.

Referenced by init_record_btrace_ops().

◆ record_btrace_prepare_to_store()

static void record_btrace_prepare_to_store ( struct target_ops ops,
struct regcache regcache 
)
static

◆ record_btrace_print_bts_conf()

static void record_btrace_print_bts_conf ( const struct btrace_config_bts conf)
static

◆ record_btrace_print_conf()

static void record_btrace_print_conf ( const struct btrace_config conf)
static

◆ record_btrace_print_pt_conf()

static void record_btrace_print_pt_conf ( const struct btrace_config_pt conf)
static

◆ record_btrace_push_target()

void record_btrace_push_target ( void  )

◆ record_btrace_record_method()

static enum record_method record_btrace_record_method ( struct target_ops self,
ptid_t  ptid 
)
static

◆ record_btrace_remove_breakpoint()

static int record_btrace_remove_breakpoint ( struct target_ops ops,
struct gdbarch gdbarch,
struct bp_target_info bp_tgt,
enum remove_bp_reason  reason 
)
static

◆ record_btrace_replay_at_breakpoint()

static int record_btrace_replay_at_breakpoint ( struct thread_info tp)
static

◆ record_btrace_resume()

static void record_btrace_resume ( struct target_ops ops,
ptid_t  ptid,
int  step,
enum gdb_signal  signal 
)
static

◆ record_btrace_resume_thread()

static void record_btrace_resume_thread ( struct thread_info tp,
enum btrace_thread_flag  flag 
)
static

◆ record_btrace_set_replay()

static void record_btrace_set_replay ( struct thread_info tp,
const struct btrace_insn_iterator it 
)
static

◆ record_btrace_single_step_backward()

static struct target_waitstatus record_btrace_single_step_backward ( struct thread_info tp)
static

◆ record_btrace_single_step_forward()

static struct target_waitstatus record_btrace_single_step_forward ( struct thread_info tp)
static

◆ record_btrace_start_replaying()

static struct btrace_insn_iterator* record_btrace_start_replaying ( struct thread_info tp)
static

◆ record_btrace_step_thread()

static struct target_waitstatus record_btrace_step_thread ( struct thread_info tp)
static

◆ record_btrace_stop()

static void record_btrace_stop ( struct target_ops ops,
ptid_t  ptid 
)
static

◆ record_btrace_stop_recording()

static void record_btrace_stop_recording ( struct target_ops self)
static

◆ record_btrace_stop_replaying()

static void record_btrace_stop_replaying ( struct thread_info tp)
static

◆ record_btrace_stop_replaying_all()

static void record_btrace_stop_replaying_all ( struct target_ops self)
static

Definition at line 2784 of file record-btrace.c.

References ALL_NON_EXITED_THREADS, and record_btrace_stop_replaying().

Referenced by init_record_btrace_ops().

◆ record_btrace_stop_replaying_at_end()

static void record_btrace_stop_replaying_at_end ( struct thread_info tp)
static

◆ record_btrace_stopped_by_hw_breakpoint()

static int record_btrace_stopped_by_hw_breakpoint ( struct target_ops ops)
static

◆ record_btrace_stopped_by_sw_breakpoint()

static int record_btrace_stopped_by_sw_breakpoint ( struct target_ops ops)
static

◆ record_btrace_store_registers()

static void record_btrace_store_registers ( struct target_ops ops,
struct regcache regcache,
int  regno 
)
static

◆ record_btrace_supports_stopped_by_hw_breakpoint()

static int record_btrace_supports_stopped_by_hw_breakpoint ( struct target_ops ops)
static

◆ record_btrace_supports_stopped_by_sw_breakpoint()

static int record_btrace_supports_stopped_by_sw_breakpoint ( struct target_ops ops)
static

◆ record_btrace_tailcall_frame_sniffer()

static int record_btrace_tailcall_frame_sniffer ( const struct frame_unwind self,
struct frame_info this_frame,
void **  this_cache 
)
static

◆ record_btrace_thread_alive()

static int record_btrace_thread_alive ( struct target_ops ops,
ptid_t  ptid 
)
static

◆ record_btrace_to_get_tailcall_unwinder()

static const struct frame_unwind* record_btrace_to_get_tailcall_unwinder ( struct target_ops self)
static

Definition at line 1801 of file record-btrace.c.

References record_btrace_tailcall_frame_unwind.

Referenced by init_record_btrace_ops().

◆ record_btrace_to_get_unwinder()

static const struct frame_unwind* record_btrace_to_get_unwinder ( struct target_ops self)
static

Definition at line 1793 of file record-btrace.c.

References record_btrace_frame_unwind.

Referenced by init_record_btrace_ops().

◆ record_btrace_update_thread_list()

static void record_btrace_update_thread_list ( struct target_ops ops)
static

◆ record_btrace_wait()

static ptid_t record_btrace_wait ( struct target_ops ops,
ptid_t  ptid,
struct target_waitstatus status,
int  options 
)
static

◆ record_btrace_will_replay()

static int record_btrace_will_replay ( struct target_ops self,
ptid_t  ptid,
int  dir 
)
static

Definition at line 1280 of file record-btrace.c.

References EXEC_REVERSE, thread_info::ptid, and record_btrace_is_replaying().

Referenced by init_record_btrace_ops().

◆ record_btrace_xfer_partial()

static enum target_xfer_status record_btrace_xfer_partial ( struct target_ops ops,
enum target_object  object,
const char *  annex,
gdb_byte readbuf,
const gdb_byte writebuf,
ULONGEST  offset,
ULONGEST  len,
ULONGEST xfered_len 
)
static

◆ require_btrace()

static struct btrace_thread_info* require_btrace ( void  )
static

◆ require_btrace_thread()

static struct thread_info* require_btrace_thread ( void  )
static

◆ show_record_bts_buffer_size_value()

static void show_record_bts_buffer_size_value ( struct ui_file file,
int  from_tty,
struct cmd_list_element c,
const char *  value 
)
static

Definition at line 3020 of file record-btrace.c.

References _, and fprintf_filtered().

Referenced by _initialize_record_btrace().

◆ show_record_pt_buffer_size_value()

static void show_record_pt_buffer_size_value ( struct ui_file file,
int  from_tty,
struct cmd_list_element c,
const char *  value 
)
static

Definition at line 3031 of file record-btrace.c.

References _, and fprintf_filtered().

Referenced by _initialize_record_btrace().

◆ ui_out_field_uint()

static void ui_out_field_uint ( struct ui_out uiout,
const char *  fld,
unsigned int  val 
)
static

Definition at line 488 of file record-btrace.c.

References ui_out::field_fmt().

Referenced by btrace_call_history(), and btrace_call_history_insn_range().

Variable Documentation

◆ bfcache

htab_t bfcache
static

◆ record_btrace_async_inferior_event_handler

struct async_event_handler* record_btrace_async_inferior_event_handler
static

◆ record_btrace_cmdlist

struct cmd_list_element* record_btrace_cmdlist
static

Definition at line 80 of file record-btrace.c.

Referenced by _initialize_record_btrace().

◆ record_btrace_conf

struct btrace_config record_btrace_conf
static

◆ record_btrace_frame_unwind

const struct frame_unwind record_btrace_frame_unwind
Initial value:
=
{
NULL,
}
static void record_btrace_frame_this_id(struct frame_info *this_frame, void **this_cache, struct frame_id *this_id)
static int record_btrace_frame_sniffer(const struct frame_unwind *self, struct frame_info *this_frame, void **this_cache)
static enum unwind_stop_reason record_btrace_frame_unwind_stop_reason(struct frame_info *this_frame, void **this_cache)
static struct value * record_btrace_frame_prev_register(struct frame_info *this_frame, void **this_cache, int regnum)
static void record_btrace_frame_dealloc_cache(struct frame_info *self, void *this_cache)

Definition at line 1768 of file record-btrace.c.

Referenced by dwarf2_frame_cfa(), and record_btrace_to_get_unwinder().

◆ record_btrace_generating_corefile

int record_btrace_generating_corefile
static

◆ record_btrace_ops

struct target_ops record_btrace_ops
static

◆ record_btrace_resume_exec_dir

enum exec_direction_kind record_btrace_resume_exec_dir = EXEC_FORWARD
static

Definition at line 68 of file record-btrace.c.

Referenced by record_btrace_execution_direction(), and record_btrace_resume().

◆ record_btrace_tailcall_frame_unwind

const struct frame_unwind record_btrace_tailcall_frame_unwind
Initial value:
=
{
NULL,
}
static void record_btrace_frame_this_id(struct frame_info *this_frame, void **this_cache, struct frame_id *this_id)
static int record_btrace_tailcall_frame_sniffer(const struct frame_unwind *self, struct frame_info *this_frame, void **this_cache)
static enum unwind_stop_reason record_btrace_frame_unwind_stop_reason(struct frame_info *this_frame, void **this_cache)
static struct value * record_btrace_frame_prev_register(struct frame_info *this_frame, void **this_cache, int regnum)
static void record_btrace_frame_dealloc_cache(struct frame_info *self, void *this_cache)

Definition at line 1779 of file record-btrace.c.

Referenced by dwarf2_frame_cfa(), and record_btrace_to_get_tailcall_unwinder().

◆ record_btrace_thread_observer

struct observer* record_btrace_thread_observer
static

◆ replay_memory_access

const char* replay_memory_access = replay_memory_access_read_only
static

◆ replay_memory_access_read_only

const char replay_memory_access_read_only[] = "read-only"
static

Definition at line 51 of file record-btrace.c.

Referenced by record_btrace_xfer_partial().

◆ replay_memory_access_read_write

const char replay_memory_access_read_write[] = "read-write"
static

◆ replay_memory_access_types

const char* const replay_memory_access_types[]
static
Initial value:
=
{
NULL
}
static const char replay_memory_access_read_only[]
Definition: record-btrace.c:51
static const char replay_memory_access_read_write[]
Definition: record-btrace.c:52

Definition at line 53 of file record-btrace.c.

Referenced by _initialize_record_btrace().

◆ set_record_btrace_bts_cmdlist

struct cmd_list_element* set_record_btrace_bts_cmdlist
static

Definition at line 83 of file record-btrace.c.

Referenced by _initialize_record_btrace(), and cmd_set_record_btrace_bts().

◆ set_record_btrace_cmdlist

struct cmd_list_element* set_record_btrace_cmdlist
static

Definition at line 64 of file record-btrace.c.

Referenced by _initialize_record_btrace(), and cmd_set_record_btrace().

◆ set_record_btrace_pt_cmdlist

struct cmd_list_element* set_record_btrace_pt_cmdlist
static

Definition at line 87 of file record-btrace.c.

Referenced by _initialize_record_btrace(), and cmd_set_record_btrace_pt().

◆ show_record_btrace_bts_cmdlist

struct cmd_list_element* show_record_btrace_bts_cmdlist
static

Definition at line 84 of file record-btrace.c.

Referenced by _initialize_record_btrace(), and cmd_show_record_btrace_bts().

◆ show_record_btrace_cmdlist

struct cmd_list_element* show_record_btrace_cmdlist
static

Definition at line 65 of file record-btrace.c.

Referenced by _initialize_record_btrace(), and cmd_show_record_btrace().

◆ show_record_btrace_pt_cmdlist

struct cmd_list_element* show_record_btrace_pt_cmdlist
static

Definition at line 88 of file record-btrace.c.

Referenced by _initialize_record_btrace(), and cmd_show_record_btrace_pt().