GDB (xrefs)
|
#include "defs.h"
#include "gdbcmd.h"
#include "regcache.h"
#include "gdbthread.h"
#include "event-top.h"
#include "exceptions.h"
#include "completer.h"
#include "arch-utils.h"
#include "gdbcore.h"
#include "exec.h"
#include "record.h"
#include "record-full.h"
#include "elf-bfd.h"
#include "gcore.h"
#include "event-loop.h"
#include "inf-loop.h"
#include "gdb_bfd.h"
#include "observer.h"
#include <signal.h>
Go to the source code of this file.
#define DEFAULT_RECORD_FULL_INSN_MAX_NUM 200000 |
Definition at line 61 of file record-full.c.
#define RECORD_FULL_FILE_MAGIC netorder32(0x20091016) |
Definition at line 66 of file record-full.c.
Referenced by record_full_restore(), and record_full_save().
#define RECORD_FULL_IS_REPLAY (record_full_list->next || execution_direction == EXEC_REVERSE) |
Definition at line 63 of file record-full.c.
Referenced by record_full_info(), record_full_insert_breakpoint(), record_full_is_replaying(), record_full_resume(), record_full_stopped_by_watchpoint(), record_full_stopped_data_address(), record_full_store_registers(), record_full_wait_1(), and record_full_xfer_partial().
typedef struct record_full_breakpoint* record_full_breakpoint_p |
Definition at line 1720 of file record-full.c.
enum record_full_type |
Definition at line 110 of file record-full.c.
void _initialize_record_full | ( | void | ) |
Definition at line 2913 of file record-full.c.
References _, add_alias_cmd(), add_cmd(), add_deprecated_target_alias(), add_prefix_cmd(), add_setshow_boolean_cmd(), add_setshow_uinteger_cmd(), add_target(), class_obscure, class_support, cmd_record_full_restore(), cmd_record_full_start(), deprecate_cmd(), init_record_full_core_ops(), init_record_full_ops(), record_full_entry::next, no_class, record_full_entry::prev, record_cmdlist, record_full_core_ops, record_full_end, record_full_first, record_full_insn_max_num, record_full_memory_query, record_full_ops, record_full_stop_at_limit, set_record_cmdlist, set_record_full_command(), set_record_full_insn_max_num(), show_record_cmdlist, show_record_full_command(), and record_full_entry::type.
static void bfdcore_read | ( | bfd * | obfd, |
asection * | osec, | ||
void * | buf, | ||
int | len, | ||
int * | offset | ||
) | [inline, static] |
Definition at line 2380 of file record-full.c.
References _, error(), and len.
Referenced by record_full_restore().
static void bfdcore_write | ( | bfd * | obfd, |
asection * | osec, | ||
void * | buf, | ||
int | len, | ||
int * | offset | ||
) | [inline, static] |
Definition at line 2599 of file record-full.c.
References _, error(), and len.
Referenced by record_full_save().
static void cmd_record_full_restore | ( | char * | args, |
int | from_tty | ||
) | [static] |
Definition at line 2615 of file record-full.c.
References core_file_command(), and record_full_open().
Referenced by _initialize_record_full().
static void cmd_record_full_start | ( | char * | args, |
int | from_tty | ||
) | [static] |
Definition at line 2870 of file record-full.c.
References execute_command().
Referenced by _initialize_record_full().
static void init_record_full_core_ops | ( | void | ) | [static] |
Definition at line 2291 of file record-full.c.
References OPS_MAGIC, record_full_async(), record_full_can_async_p(), record_full_can_execute_reverse(), record_full_close(), record_full_core_fetch_registers(), record_full_core_has_execution(), record_full_core_insert_breakpoint(), record_full_core_kill(), record_full_core_ops, record_full_core_prepare_to_store(), record_full_core_remove_breakpoint(), record_full_core_resume(), record_full_core_store_registers(), record_full_core_xfer_partial(), record_full_delete(), record_full_execution_direction(), record_full_get_bookmark(), record_full_goto(), record_full_goto_begin(), record_full_goto_bookmark(), record_full_goto_end(), record_full_info(), record_full_is_async_p(), record_full_is_replaying(), record_full_open(), record_full_stopped_by_watchpoint(), record_full_stopped_data_address(), record_full_wait(), record_stratum, target_ops::to_async, target_ops::to_can_async_p, target_ops::to_can_execute_reverse, target_ops::to_close, target_ops::to_delete_record, target_ops::to_doc, target_ops::to_execution_direction, target_ops::to_fetch_registers, target_ops::to_get_bookmark, target_ops::to_goto_bookmark, target_ops::to_goto_record, target_ops::to_goto_record_begin, target_ops::to_goto_record_end, target_ops::to_has_execution, target_ops::to_info_record, target_ops::to_insert_breakpoint, target_ops::to_is_async_p, target_ops::to_kill, target_ops::to_longname, target_ops::to_magic, target_ops::to_open, target_ops::to_prepare_to_store, target_ops::to_record_is_replaying, target_ops::to_remove_breakpoint, target_ops::to_resume, target_ops::to_shortname, target_ops::to_stopped_by_watchpoint, target_ops::to_stopped_data_address, target_ops::to_store_registers, target_ops::to_stratum, target_ops::to_wait, and target_ops::to_xfer_partial.
Referenced by _initialize_record_full().
static void init_record_full_ops | ( | void | ) | [static] |
Definition at line 2055 of file record-full.c.
References find_default_create_inferior(), OPS_MAGIC, record_detach(), record_disconnect(), record_full_async(), record_full_can_async_p(), record_full_can_execute_reverse(), record_full_close(), record_full_delete(), record_full_execution_direction(), record_full_get_bookmark(), record_full_goto(), record_full_goto_begin(), record_full_goto_bookmark(), record_full_goto_end(), record_full_info(), record_full_insert_breakpoint(), record_full_is_async_p(), record_full_is_replaying(), record_full_open(), record_full_ops, record_full_remove_breakpoint(), record_full_resume(), record_full_save(), record_full_stopped_by_watchpoint(), record_full_stopped_data_address(), record_full_store_registers(), record_full_wait(), record_full_xfer_partial(), record_kill(), record_mourn_inferior(), record_stratum, target_ops::to_async, target_ops::to_can_async_p, target_ops::to_can_execute_reverse, target_ops::to_close, target_ops::to_create_inferior, target_ops::to_delete_record, target_ops::to_detach, target_ops::to_disconnect, target_ops::to_doc, target_ops::to_execution_direction, target_ops::to_get_bookmark, target_ops::to_goto_bookmark, 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_is_async_p, target_ops::to_kill, target_ops::to_longname, target_ops::to_magic, target_ops::to_mourn_inferior, target_ops::to_open, target_ops::to_record_is_replaying, target_ops::to_remove_breakpoint, target_ops::to_resume, target_ops::to_save_record, target_ops::to_shortname, target_ops::to_stopped_by_watchpoint, target_ops::to_stopped_data_address, target_ops::to_store_registers, target_ops::to_stratum, target_ops::to_wait, and target_ops::to_xfer_partial.
Referenced by _initialize_record_full().
static uint16_t netorder16 | ( | uint16_t | input | ) | [inline, static] |
Definition at line 2413 of file record-full.c.
References store_unsigned_integer().
static uint32_t netorder32 | ( | uint32_t | input | ) | [inline, static] |
Definition at line 2403 of file record-full.c.
References store_unsigned_integer().
Referenced by record_full_restore(), and record_full_save().
static uint64_t netorder64 | ( | uint64_t | input | ) | [inline, static] |
Definition at line 2393 of file record-full.c.
References store_unsigned_integer().
Referenced by record_full_restore(), and record_full_save().
static void record_full_arch_list_add | ( | struct record_full_entry * | rec | ) | [static] |
Definition at line 441 of file record-full.c.
References fprintf_unfiltered(), gdb_stdlog, host_address_to_string(), record_full_entry::next, record_full_entry::prev, record_debug, and record_full_arch_list_tail.
Referenced by record_full_arch_list_add_end(), record_full_arch_list_add_mem(), record_full_arch_list_add_reg(), and record_full_restore().
int record_full_arch_list_add_end | ( | void | ) |
Definition at line 540 of file record-full.c.
References record_full_entry::end, fprintf_unfiltered(), gdb_stdlog, record_full_end_entry::insn_num, record_debug, record_full_arch_list_add(), record_full_end_alloc(), record_full_insn_count, record_full_end_entry::sigval, and record_full_entry::u.
Referenced by amd64_linux_record_signal(), arm_process_record(), i386_linux_record_signal(), i386_process_record(), moxie_process_record(), record_full_registers_change(), and record_full_xfer_partial().
int record_full_arch_list_add_mem | ( | CORE_ADDR | addr, |
int | len | ||
) |
Definition at line 509 of file record-full.c.
References fprintf_unfiltered(), gdb_stdlog, paddress(), record_debug, record_full_arch_list_add(), record_full_get_loc(), record_full_mem_alloc(), record_full_mem_release(), record_read_memory(), and target_gdbarch().
Referenced by amd64_linux_record_signal(), amd64_linux_syscall_record(), arm_process_record(), i386_linux_record_signal(), i386_process_record(), i386_record_lea_modrm(), i386_record_push(), moxie_process_record(), record_full_xfer_partial(), record_linux_msghdr(), record_linux_sockaddr(), and record_linux_system_call().
int record_full_arch_list_add_reg | ( | struct regcache * | regcache, |
int | regnum | ||
) |
Definition at line 486 of file record-full.c.
References fprintf_unfiltered(), gdb_stdlog, record_debug, record_full_arch_list_add(), record_full_get_loc(), record_full_reg_alloc(), and regcache_raw_read().
Referenced by amd64_all_but_ip_registers_record(), amd64_linux_record_signal(), amd64_linux_syscall_record(), arm_process_record(), i386_all_but_ip_registers_record(), i386_linux_intx80_sysenter_syscall_record(), i386_linux_record_signal(), i386_process_record(), i386_record_floats(), i386_record_push(), moxie_process_record(), and record_full_registers_change().
static void record_full_arch_list_cleanups | ( | void * | ignore | ) | [static] |
Definition at line 583 of file record-full.c.
References record_full_list_release().
Referenced by record_full_message(), and record_full_restore().
static void record_full_async | ( | void(*)(enum inferior_event_type event_type, void *context) | callback, |
void * | context | ||
) | [static] |
Definition at line 1893 of file record-full.c.
References record_full_beneath_to_async.
Referenced by init_record_full_core_ops(), and init_record_full_ops().
static void record_full_async_inferior_event_handler | ( | gdb_client_data | data | ) | [static] |
Definition at line 834 of file record-full.c.
References INF_REG_EVENT, and inferior_event_handler().
Referenced by record_full_open().
static int record_full_can_async_p | ( | void | ) | [static] |
Definition at line 1904 of file record-full.c.
References target_async_permitted.
Referenced by init_record_full_core_ops(), and init_record_full_ops().
static int record_full_can_execute_reverse | ( | void | ) | [static] |
Definition at line 1837 of file record-full.c.
Referenced by init_record_full_core_ops(), and init_record_full_ops().
static void record_full_check_insn_num | ( | int | set_terminal | ) | [static] |
Definition at line 558 of file record-full.c.
References _, error(), record_full_insn_max_num, record_full_insn_num, record_full_stop_at_limit, target_terminal_inferior(), target_terminal_ours, and yquery().
Referenced by record_full_message(), record_full_registers_change(), and record_full_xfer_partial().
static void record_full_close | ( | void | ) | [static] |
Definition at line 1019 of file record-full.c.
References delete_async_event_handler(), fprintf_unfiltered(), gdb_stdlog, record_full_core_buf_entry::prev, record_debug, record_full_core_regbuf, record_full_list_release(), and xfree().
Referenced by init_record_full_core_ops(), and init_record_full_ops().
static void record_full_core_fetch_registers | ( | struct target_ops * | ops, |
struct regcache * | regcache, | ||
int | regno | ||
) | [static] |
Definition at line 2130 of file record-full.c.
References gdbarch_num_regs(), get_regcache_arch(), MAX_REGISTER_SIZE, record_full_core_regbuf, and regcache_raw_supply().
Referenced by init_record_full_core_ops().
static int record_full_core_has_execution | ( | struct target_ops * | ops, |
ptid_t | the_ptid | ||
) | [static] |
Definition at line 2285 of file record-full.c.
Referenced by init_record_full_core_ops().
static int record_full_core_insert_breakpoint | ( | struct gdbarch * | gdbarch, |
struct bp_target_info * | bp_tgt | ||
) | [static] |
Definition at line 2267 of file record-full.c.
Referenced by init_record_full_core_ops().
static void record_full_core_kill | ( | struct target_ops * | ops | ) | [static] |
Definition at line 2119 of file record-full.c.
References fprintf_unfiltered(), gdb_stdlog, record_debug, record_full_core_ops, and unpush_target().
Referenced by init_record_full_core_ops().
static void record_full_core_open_1 | ( | char * | name, |
int | from_tty | ||
) | [static] |
Definition at line 842 of file record-full.c.
References _, build_section_table(), core_bfd, error(), gdbarch_num_regs(), get_current_regcache(), get_regcache_arch(), MAX_REGISTER_SIZE, push_target(), record_full_core_ops, record_full_core_regbuf, record_full_restore(), regcache_raw_collect(), regnum, target_fetch_registers(), xfree(), and xmalloc().
Referenced by record_full_open().
static void record_full_core_prepare_to_store | ( | struct regcache * | regcache | ) | [static] |
Definition at line 2151 of file record-full.c.
Referenced by init_record_full_core_ops().
static int record_full_core_remove_breakpoint | ( | struct gdbarch * | gdbarch, |
struct bp_target_info * | bp_tgt | ||
) | [static] |
Definition at line 2276 of file record-full.c.
Referenced by init_record_full_core_ops().
static void record_full_core_resume | ( | struct target_ops * | ops, |
ptid_t | ptid, | ||
int | step, | ||
enum gdb_signal | signal | ||
) | [static] |
Definition at line 2098 of file record-full.c.
References execution_direction, inferior_event_handler(), mark_async_event_handler(), target_async, and target_can_async_p.
Referenced by init_record_full_core_ops().
static void record_full_core_store_registers | ( | struct target_ops * | ops, |
struct regcache * | regcache, | ||
int | regno | ||
) | [static] |
Definition at line 2158 of file record-full.c.
References _, error(), MAX_REGISTER_SIZE, record_full_core_regbuf, and regcache_raw_collect().
Referenced by init_record_full_core_ops().
static LONGEST record_full_core_xfer_partial | ( | struct target_ops * | ops, |
enum target_object | object, | ||
const char * | annex, | ||
gdb_byte * | readbuf, | ||
const gdb_byte * | writebuf, | ||
ULONGEST | offset, | ||
LONGEST | len | ||
) | [static] |
Definition at line 2172 of file record-full.c.
References _, target_section::addr, record_full_core_buf_entry::buf, target_section::endaddr, error(), len, memcpy(), memset(), offset, record_full_core_buf_entry::p, p, record_full_core_buf_entry::prev, record_full_beneath_to_xfer_partial, record_full_core_buf_list, record_full_core_end, TARGET_OBJECT_MEMORY, target_section::the_bfd_section, ULONGEST, xfree(), and xmalloc().
Referenced by init_record_full_core_ops().
static void record_full_delete | ( | void | ) | [static] |
Definition at line 1970 of file record-full.c.
References record_full_list_release_following().
Referenced by init_record_full_core_ops(), and init_record_full_ops().
static struct record_full_entry* record_full_end_alloc | ( | void | ) | [static, read] |
Definition at line 319 of file record-full.c.
References record_full_end, record_full_entry::type, and xcalloc().
Referenced by record_full_arch_list_add_end(), and record_full_restore().
static void record_full_end_release | ( | struct record_full_entry * | rec | ) | [inline, static] |
Definition at line 332 of file record-full.c.
References xfree().
Referenced by record_full_entry_release().
static enum record_full_type record_full_entry_release | ( | struct record_full_entry * | rec | ) | [inline, static] |
Definition at line 341 of file record-full.c.
References record_full_end, record_full_end_release(), record_full_mem, record_full_mem_release(), record_full_reg, record_full_reg_release(), type, and record_full_entry::type.
Referenced by record_full_list_release(), record_full_list_release_first(), and record_full_list_release_following().
static void record_full_exec_insn | ( | struct regcache * | regcache, |
struct gdbarch * | gdbarch, | ||
struct record_full_entry * | entry | ||
) | [inline, static] |
Definition at line 718 of file record-full.c.
References _, record_full_mem_entry::addr, fprintf_unfiltered(), gdb_stdlog, get_regcache_aspace(), hardware_watchpoint_inserted_in_range(), host_address_to_string(), record_full_mem_entry::len, record_full_reg_entry::len, MAX_REGISTER_SIZE, record_full_entry::mem, record_full_mem_entry::mem_entry_not_accessible, memcpy(), record_full_reg_entry::num, paddress(), record_debug, record_full_get_loc(), record_full_mem, record_full_reg, record_read_memory(), record_full_entry::reg, regcache_cooked_read(), regcache_cooked_write(), target_write_memory(), record_full_entry::type, record_full_entry::u, and warning().
Referenced by record_full_goto_insn(), record_full_save(), and record_full_wait_1().
static enum exec_direction_kind record_full_execution_direction | ( | void | ) | [static] |
Definition at line 1918 of file record-full.c.
References record_full_execution_dir.
Referenced by init_record_full_core_ops(), and init_record_full_ops().
struct cleanup* record_full_gdb_operation_disable_set | ( | void | ) | [read] |
Definition at line 699 of file record-full.c.
References make_cleanup_restore_integer().
Referenced by adjust_pc_after_break(), record_full_goto_insn(), record_full_insert_breakpoint(), record_full_remove_breakpoint(), record_full_save(), and record_full_wait_1().
static gdb_byte* record_full_get_bookmark | ( | char * | args, |
int | from_tty | ||
) | [static] |
Definition at line 1845 of file record-full.c.
References record_full_entry::end, fprintf_unfiltered(), gdb_stdlog, record_full_end_entry::insn_num, pulongest(), record_debug, record_full_end, record_full_entry::type, and record_full_entry::u.
Referenced by init_record_full_core_ops(), and init_record_full_ops().
static gdb_byte* record_full_get_loc | ( | struct record_full_entry * | rec | ) | [inline, static] |
Definition at line 463 of file record-full.c.
References record_full_mem_entry::buf, record_full_reg_entry::buf, gdb_assert_not_reached, record_full_mem_entry::len, record_full_reg_entry::len, record_full_entry::mem, record_full_mem_entry::ptr, record_full_reg_entry::ptr, record_full_end, record_full_mem, record_full_reg, record_full_entry::reg, record_full_entry::type, record_full_mem_entry::u, record_full_reg_entry::u, and record_full_entry::u.
Referenced by record_full_arch_list_add_mem(), record_full_arch_list_add_reg(), record_full_exec_insn(), record_full_restore(), and record_full_save().
static void record_full_goto | ( | ULONGEST | target_insn | ) | [static] |
Definition at line 2043 of file record-full.c.
References record_full_entry::end, record_full_end_entry::insn_num, record_full_entry::next, p, record_full_end, record_full_first, record_full_goto_entry(), record_full_entry::type, and record_full_entry::u.
Referenced by init_record_full_core_ops(), and init_record_full_ops().
static void record_full_goto_begin | ( | void | ) | [static] |
Definition at line 2013 of file record-full.c.
References record_full_entry::next, p, record_full_end, record_full_first, record_full_goto_entry(), and record_full_entry::type.
Referenced by init_record_full_core_ops(), and init_record_full_ops().
static void record_full_goto_bookmark | ( | gdb_byte * | raw_bookmark, |
int | from_tty | ||
) | [static] |
Definition at line 1868 of file record-full.c.
References _, cmd_record_goto(), error(), fprintf_unfiltered(), gdb_stdlog, and record_debug.
Referenced by init_record_full_core_ops(), and init_record_full_ops().
static void record_full_goto_end | ( | void | ) | [static] |
Definition at line 2027 of file record-full.c.
References record_full_entry::next, p, record_full_entry::prev, record_full_end, record_full_goto_entry(), and record_full_entry::type.
Referenced by init_record_full_core_ops(), and init_record_full_ops().
static void record_full_goto_entry | ( | struct record_full_entry * | p | ) | [static] |
Definition at line 1986 of file record-full.c.
References _, record_full_entry::end, error(), EXEC_FORWARD, EXEC_REVERSE, get_selected_frame(), record_full_end_entry::insn_num, print_stack_frame(), printf_filtered(), pulongest(), record_full_goto_insn(), registers_changed(), reinit_frame_cache(), SRC_AND_LOC, and record_full_entry::u.
Referenced by record_full_goto(), record_full_goto_begin(), and record_full_goto_end().
static void record_full_goto_insn | ( | struct record_full_entry * | entry, |
enum exec_direction_kind | dir | ||
) | [static] |
Definition at line 2843 of file record-full.c.
References do_cleanups(), EXEC_FORWARD, EXEC_REVERSE, get_current_regcache(), get_regcache_arch(), record_full_entry::next, record_full_entry::prev, record_full_exec_insn(), and record_full_gdb_operation_disable_set().
Referenced by record_full_goto_entry().
static void record_full_info | ( | void | ) | [static] |
Definition at line 1924 of file record-full.c.
References _, record_full_entry::end, record_full_end_entry::insn_num, record_full_entry::next, p, printf_filtered(), pulongest(), record_full_end, record_full_first, record_full_insn_count, record_full_insn_max_num, record_full_insn_num, RECORD_FULL_IS_REPLAY, record_full_entry::type, and record_full_entry::u.
Referenced by init_record_full_core_ops(), and init_record_full_ops().
static void record_full_init_record_breakpoints | ( | void | ) | [static] |
Definition at line 1749 of file record-full.c.
References iterate_over_bp_locations(), and VEC_free.
Referenced by record_full_open().
static int record_full_insert_breakpoint | ( | struct gdbarch * | gdbarch, |
struct bp_target_info * | bp_tgt | ||
) | [static] |
Definition at line 1761 of file record-full.c.
References record_full_breakpoint::addr, record_full_breakpoint::address_space, do_cleanups(), record_full_breakpoint::in_target_beneath, bp_target_info::placed_address, bp_target_info::placed_address_space, record_full_beneath_to_insert_breakpoint, record_full_gdb_operation_disable_set(), RECORD_FULL_IS_REPLAY, and VEC_safe_push.
Referenced by init_record_full_ops().
static int record_full_is_async_p | ( | void | ) | [static] |
Definition at line 1911 of file record-full.c.
References target_async_permitted.
Referenced by init_record_full_core_ops(), and init_record_full_ops().
static int record_full_is_replaying | ( | void | ) | [static] |
Definition at line 1978 of file record-full.c.
References RECORD_FULL_IS_REPLAY.
Referenced by init_record_full_core_ops(), and init_record_full_ops().
static void record_full_list_release | ( | struct record_full_entry * | rec | ) | [static] |
Definition at line 362 of file record-full.c.
References record_full_entry::next, record_full_entry::prev, record_full_entry_release(), record_full_first, and record_full_insn_num.
Referenced by record_full_arch_list_cleanups(), record_full_close(), record_full_registers_change(), and record_full_xfer_partial().
static void record_full_list_release_first | ( | void | ) | [static] |
Definition at line 411 of file record-full.c.
References gdb_assert, record_full_entry::next, record_full_entry::prev, record_full_end, record_full_entry_release(), record_full_first, and record_full_insn_num.
Referenced by record_full_message(), record_full_registers_change(), record_full_xfer_partial(), and set_record_full_insn_max_num().
static void record_full_list_release_following | ( | struct record_full_entry * | rec | ) | [static] |
Definition at line 388 of file record-full.c.
References record_full_entry::next, record_full_end, record_full_entry_release(), record_full_insn_count, and record_full_insn_num.
Referenced by record_full_delete(), record_full_store_registers(), and record_full_xfer_partial().
static struct record_full_entry* record_full_mem_alloc | ( | CORE_ADDR | addr, |
int | len | ||
) | [static, read] |
Definition at line 291 of file record-full.c.
References record_full_mem_entry::addr, record_full_mem_entry::buf, len, record_full_mem_entry::len, record_full_entry::mem, record_full_mem_entry::ptr, record_full_mem, record_full_entry::type, record_full_mem_entry::u, record_full_entry::u, xcalloc(), and xmalloc().
Referenced by record_full_arch_list_add_mem(), and record_full_restore().
static void record_full_mem_release | ( | struct record_full_entry * | rec | ) | [inline, static] |
Definition at line 308 of file record-full.c.
References record_full_mem_entry::buf, gdb_assert, record_full_mem_entry::len, record_full_entry::mem, record_full_mem_entry::ptr, record_full_mem, record_full_entry::type, record_full_mem_entry::u, record_full_entry::u, and xfree().
Referenced by record_full_arch_list_add_mem(), and record_full_entry_release().
static int record_full_message | ( | struct regcache * | regcache, |
enum gdb_signal | signal | ||
) | [static] |
Definition at line 595 of file record-full.c.
References _, discard_cleanups(), record_full_entry::end, error(), gdb_assert, gdbarch_process_record(), gdbarch_process_record_signal(), gdbarch_process_record_signal_p(), get_regcache_arch(), make_cleanup(), record_full_entry::next, record_full_entry::prev, record_full_arch_list_cleanups(), record_full_arch_list_head, record_full_arch_list_tail, record_full_check_insn_num(), record_full_end, record_full_first, record_full_insn_max_num, record_full_insn_num, record_full_list, record_full_list_release_first(), regcache_read_pc(), record_full_end_entry::sigval, record_full_entry::type, and record_full_entry::u.
Referenced by record_full_message_wrapper(), and record_full_resume().
static int record_full_message_wrapper | ( | void * | args | ) | [static] |
Definition at line 672 of file record-full.c.
References record_full_message(), record_full_message_args::regcache, and record_full_message_args::signal.
Referenced by record_full_message_wrapper_safe().
static int record_full_message_wrapper_safe | ( | struct regcache * | regcache, |
enum gdb_signal | signal | ||
) | [static] |
Definition at line 681 of file record-full.c.
References catch_errors(), record_full_message_wrapper(), record_full_message_args::regcache, RETURN_MASK_ALL, and record_full_message_args::signal.
Referenced by record_full_wait_1().
static void record_full_open | ( | char * | name, |
int | from_tty | ||
) | [static] |
Definition at line 916 of file record-full.c.
References _, target_ops::beneath, core_bfd, create_async_event_handler(), current_inferior(), current_target, error(), fprintf_unfiltered(), gdb_stdlog, record_full_entry::next, observer_notify_record_changed(), record_debug, record_full_async_inferior_event_handler(), record_full_beneath_to_async, record_full_beneath_to_insert_breakpoint, record_full_beneath_to_remove_breakpoint, record_full_beneath_to_resume, record_full_beneath_to_stopped_by_watchpoint, record_full_beneath_to_stopped_data_address, record_full_beneath_to_store_registers, record_full_beneath_to_wait, record_full_beneath_to_xfer_partial, record_full_core_open_1(), record_full_first, record_full_init_record_breakpoints(), record_full_insn_count, record_full_insn_num, record_full_open_1(), record_stratum, tmp_to_async, tmp_to_insert_breakpoint, tmp_to_remove_breakpoint, tmp_to_resume, tmp_to_resume_ops, tmp_to_stopped_by_watchpoint, tmp_to_stopped_data_address, tmp_to_store_registers, tmp_to_store_registers_ops, tmp_to_wait, tmp_to_wait_ops, tmp_to_xfer_partial, tmp_to_xfer_partial_ops, target_ops::to_async, target_ops::to_insert_breakpoint, target_ops::to_remove_breakpoint, target_ops::to_resume, target_ops::to_stopped_by_watchpoint, target_ops::to_stopped_data_address, target_ops::to_store_registers, target_ops::to_stratum, target_ops::to_wait, and target_ops::to_xfer_partial.
Referenced by cmd_record_full_restore(), init_record_full_core_ops(), and init_record_full_ops().
static void record_full_open_1 | ( | char * | name, |
int | from_tty | ||
) | [static] |
Definition at line 872 of file record-full.c.
References _, error(), fprintf_unfiltered(), gdb_stdlog, gdbarch_process_record_p(), non_stop, push_target(), record_debug, record_full_ops, target_gdbarch(), target_has_execution, tmp_to_insert_breakpoint, tmp_to_remove_breakpoint, tmp_to_resume, tmp_to_stopped_by_watchpoint, tmp_to_stopped_data_address, tmp_to_store_registers, and tmp_to_wait.
Referenced by record_full_open().
static struct record_full_entry* record_full_reg_alloc | ( | struct regcache * | regcache, |
int | regnum | ||
) | [static, read] |
Definition at line 262 of file record-full.c.
References record_full_reg_entry::buf, get_regcache_arch(), record_full_reg_entry::len, record_full_reg_entry::num, record_full_reg_entry::ptr, record_full_reg, record_full_entry::reg, register_size(), regnum, record_full_entry::type, record_full_reg_entry::u, record_full_entry::u, xcalloc(), and xmalloc().
Referenced by record_full_arch_list_add_reg(), and record_full_restore().
static void record_full_reg_release | ( | struct record_full_entry * | rec | ) | [inline, static] |
Definition at line 280 of file record-full.c.
References record_full_reg_entry::buf, gdb_assert, record_full_reg_entry::len, record_full_reg_entry::ptr, record_full_reg, record_full_entry::reg, record_full_entry::type, record_full_reg_entry::u, record_full_entry::u, and xfree().
Referenced by record_full_entry_release().
static void record_full_registers_change | ( | struct regcache * | regcache, |
int | regnum | ||
) | [static] |
Definition at line 1533 of file record-full.c.
References _, error(), gdbarch_num_regs(), get_regcache_arch(), record_full_entry::next, record_full_entry::prev, record_full_arch_list_add_end(), record_full_arch_list_add_reg(), record_full_arch_list_head, record_full_arch_list_tail, record_full_check_insn_num(), record_full_insn_max_num, record_full_insn_num, record_full_list, record_full_list_release(), and record_full_list_release_first().
Referenced by record_full_store_registers().
static int record_full_remove_breakpoint | ( | struct gdbarch * | gdbarch, |
struct bp_target_info * | bp_tgt | ||
) | [static] |
Definition at line 1798 of file record-full.c.
References record_full_breakpoint::addr, record_full_breakpoint::address_space, do_cleanups(), gdb_assert_not_reached, record_full_breakpoint::in_target_beneath, bp_target_info::placed_address, bp_target_info::placed_address_space, record_full_beneath_to_remove_breakpoint, record_full_gdb_operation_disable_set(), VEC_iterate, and VEC_unordered_remove.
Referenced by init_record_full_ops().
static void record_full_restore | ( | void | ) | [static] |
Definition at line 2424 of file record-full.c.
References _, record_full_mem_entry::addr, bfdcore_read(), core_bfd, discard_cleanups(), record_full_entry::end, error(), fprintf_unfiltered(), gdb_assert, gdb_stdlog, get_current_arch(), get_current_regcache(), get_selected_frame(), record_full_end_entry::insn_num, len, record_full_mem_entry::len, record_full_reg_entry::len, make_cleanup(), record_full_entry::mem, netorder32(), netorder64(), record_full_entry::next, record_full_reg_entry::num, paddress(), phex_nz(), record_full_entry::prev, print_stack_frame(), printf_filtered(), record_debug, record_full_arch_list_add(), record_full_arch_list_cleanups(), record_full_arch_list_head, record_full_end, record_full_end_alloc(), RECORD_FULL_FILE_MAGIC, record_full_first, record_full_get_loc(), record_full_insn_count, record_full_insn_max_num, record_full_insn_num, record_full_mem, record_full_mem_alloc(), record_full_reg, record_full_reg_alloc(), record_full_entry::reg, regnum, record_full_end_entry::sigval, SRC_AND_LOC, record_full_entry::u, and warning().
Referenced by record_full_core_open_1().
static void record_full_resume | ( | struct target_ops * | ops, |
ptid_t | ptid, | ||
int | step, | ||
enum gdb_signal | signal | ||
) | [static] |
Definition at line 1077 of file record-full.c.
References execution_direction, gdbarch_software_single_step(), gdbarch_software_single_step_p(), get_current_frame(), get_current_regcache(), inferior_event_handler(), mark_async_event_handler(), record_full_beneath_to_resume, RECORD_FULL_IS_REPLAY, record_full_message(), single_step_breakpoints_inserted(), target_async, target_can_async_p, target_pass_signals(), and target_thread_architecture.
Referenced by init_record_full_ops().
static void record_full_save | ( | const char * | recfilename | ) | [static] |
Definition at line 2636 of file record-full.c.
References _, record_full_mem_entry::addr, bfdcore_write(), create_gcore_bfd(), discard_cleanups(), do_cleanups(), record_full_entry::end, error(), fprintf_unfiltered(), gdb_bfd_unref(), gdb_stdlog, get_current_regcache(), get_regcache_arch(), record_full_end_entry::insn_num, len, record_full_mem_entry::len, record_full_reg_entry::len, make_cleanup(), record_full_entry::mem, netorder32(), netorder64(), record_full_entry::next, record_full_reg_entry::num, paddress(), phex_nz(), record_full_entry::prev, printf_filtered(), record_debug, record_full_end, record_full_exec_insn(), RECORD_FULL_FILE_MAGIC, record_full_first, record_full_gdb_operation_disable_set(), record_full_get_loc(), record_full_list, record_full_mem, record_full_reg, record_full_save_cleanups(), record_full_entry::reg, regnum, record_full_end_entry::sigval, type, record_full_entry::type, record_full_entry::u, and write_gcore_file().
Referenced by init_record_full_ops().
static void record_full_save_cleanups | ( | void * | data | ) | [static] |
Definition at line 2622 of file record-full.c.
References gdb_bfd_unref(), and xfree().
Referenced by record_full_save().
static void record_full_sig_handler | ( | int | signo | ) | [static] |
Definition at line 1144 of file record-full.c.
References fprintf_unfiltered(), gdb_stdlog, and record_debug.
Referenced by record_full_wait_1().
static int record_full_stopped_by_watchpoint | ( | void | ) | [static] |
Definition at line 1513 of file record-full.c.
References record_full_beneath_to_stopped_by_watchpoint, record_full_hw_watchpoint, and RECORD_FULL_IS_REPLAY.
Referenced by init_record_full_core_ops(), and init_record_full_ops().
static int record_full_stopped_data_address | ( | struct target_ops * | ops, |
CORE_ADDR * | addr_p | ||
) | [static] |
Definition at line 1522 of file record-full.c.
References record_full_beneath_to_stopped_data_address, and RECORD_FULL_IS_REPLAY.
Referenced by init_record_full_core_ops(), and init_record_full_ops().
static void record_full_store_registers | ( | struct target_ops * | ops, |
struct regcache * | regcache, | ||
int | regno | ||
) | [static] |
Definition at line 1580 of file record-full.c.
References _, error(), gdbarch_num_regs(), gdbarch_register_name(), get_regcache_arch(), query(), record_full_beneath_to_store_registers, RECORD_FULL_IS_REPLAY, record_full_list_release_following(), record_full_registers_change(), and regcache_invalidate().
Referenced by init_record_full_ops().
static ptid_t record_full_wait | ( | struct target_ops * | ops, |
ptid_t | ptid, | ||
struct target_waitstatus * | status, | ||
int | options | ||
) | [static] |
Definition at line 1495 of file record-full.c.
References target_waitstatus::kind, record_full_wait_1(), and TARGET_WAITKIND_IGNORE.
Referenced by init_record_full_core_ops(), and init_record_full_ops().
static ptid_t record_full_wait_1 | ( | struct target_ops * | ops, |
ptid_t | ptid, | ||
struct target_waitstatus * | status, | ||
int | options | ||
) | [static] |
Definition at line 1183 of file record-full.c.
References breakpoint_inserted_here_p(), gdbarch::decr_pc_after_break, discard_cleanups(), do_cleanups(), record_full_entry::end, EXEC_FORWARD, EXEC_REVERSE, execution_direction, fprintf_unfiltered(), gdb_assert, gdb_stdlog, gdbarch_decr_pc_after_break(), gdbarch_software_single_step(), gdbarch_software_single_step_p(), get_current_frame(), get_current_regcache(), get_regcache_arch(), get_regcache_aspace(), handle_sigint(), host_address_to_string(), inferior_ptid, target_waitstatus::kind, make_cleanup(), minus_one_ptid, record_full_entry::next, paddress(), record_full_entry::prev, record_debug, record_full_beneath_to_resume, record_full_beneath_to_wait, record_full_core_ops, record_full_end, record_full_exec_insn(), record_full_first, record_full_gdb_operation_disable_set(), RECORD_FULL_IS_REPLAY, record_full_message_wrapper_safe(), record_full_sig_handler(), record_full_wait_cleanups(), regcache_read_pc(), regcache_write_pc(), registers_changed(), reinit_frame_cache(), remove_single_step_breakpoints(), set_executing(), target_waitstatus::sig, record_full_end_entry::sigval, single_step_breakpoints_inserted(), software_breakpoint_inserted_here_p(), target_stopped_by_watchpoint, target_terminal_ours, target_thread_architecture, TARGET_WAITKIND_IGNORE, TARGET_WAITKIND_NO_HISTORY, TARGET_WAITKIND_STOPPED, TARGET_WNOHANG, record_full_entry::type, record_full_entry::u, and target_waitstatus::value.
Referenced by record_full_wait().
static void record_full_wait_cleanups | ( | void * | ignore | ) | [static] |
Definition at line 1158 of file record-full.c.
References EXEC_REVERSE, execution_direction, record_full_entry::next, and record_full_entry::prev.
Referenced by record_full_wait_1().
static LONGEST record_full_xfer_partial | ( | struct target_ops * | ops, |
enum target_object | object, | ||
const char * | annex, | ||
gdb_byte * | readbuf, | ||
const gdb_byte * | writebuf, | ||
ULONGEST | offset, | ||
LONGEST | len | ||
) | [static] |
Definition at line 1640 of file record-full.c.
References _, error(), fprintf_unfiltered(), gdb_stdlog, record_full_entry::next, paddress(), record_full_entry::prev, query(), record_debug, record_full_arch_list_add_end(), record_full_arch_list_add_mem(), record_full_arch_list_head, record_full_arch_list_tail, record_full_beneath_to_xfer_partial, record_full_check_insn_num(), record_full_insn_max_num, record_full_insn_num, RECORD_FULL_IS_REPLAY, record_full_list, record_full_list_release(), record_full_list_release_first(), record_full_list_release_following(), target_gdbarch(), TARGET_OBJECT_MEMORY, and TARGET_OBJECT_RAW_MEMORY.
Referenced by init_record_full_ops().
static void set_record_full_command | ( | char * | args, |
int | from_tty | ||
) | [static] |
Definition at line 2893 of file record-full.c.
References _, all_commands, gdb_stdout, help_list(), and printf_unfiltered().
Referenced by _initialize_record_full().
static void set_record_full_insn_max_num | ( | char * | args, |
int | from_tty, | ||
struct cmd_list_element * | c | ||
) | [static] |
Definition at line 2876 of file record-full.c.
References record_full_insn_max_num, record_full_insn_num, and record_full_list_release_first().
Referenced by _initialize_record_full().
static void show_record_full_command | ( | char * | args, |
int | from_tty | ||
) | [static] |
Definition at line 2904 of file record-full.c.
References cmd_show_list().
Referenced by _initialize_record_full().
Definition at line 1725 of file record-full.c.
References record_full_breakpoint::addr, record_full_breakpoint::address_space, bp_loc_software_breakpoint, record_full_breakpoint::in_target_beneath, bp_location::inserted, bp_location::loc_type, bp_target_info::placed_address, bp_target_info::placed_address_space, bp_location::target_info, and VEC_safe_push.
Referenced by initialize_all_files().
struct record_full_entry* record_full_arch_list_head = NULL [static] |
Definition at line 193 of file record-full.c.
Referenced by record_full_message(), record_full_registers_change(), record_full_restore(), and record_full_xfer_partial().
struct record_full_entry* record_full_arch_list_tail = NULL [static] |
Definition at line 194 of file record-full.c.
Referenced by record_full_arch_list_add(), record_full_message(), record_full_registers_change(), and record_full_xfer_partial().
struct async_event_handler* record_full_async_inferior_event_token [static] |
Definition at line 831 of file record-full.c.
void(* record_full_beneath_to_async)(void(*)(enum inferior_event_type, void *), void *) [static] |
Definition at line 249 of file record-full.c.
Referenced by record_full_async(), and record_full_open().
int(* record_full_beneath_to_insert_breakpoint)(struct gdbarch *, struct bp_target_info *) [static] |
Definition at line 240 of file record-full.c.
Referenced by record_full_insert_breakpoint(), and record_full_open().
int(* record_full_beneath_to_remove_breakpoint)(struct gdbarch *, struct bp_target_info *) [static] |
Definition at line 243 of file record-full.c.
Referenced by record_full_open(), and record_full_remove_breakpoint().
void(* record_full_beneath_to_resume)(struct target_ops *, ptid_t, int, enum gdb_signal) [static] |
Definition at line 220 of file record-full.c.
Referenced by record_full_open(), record_full_resume(), and record_full_wait_1().
struct target_ops* record_full_beneath_to_resume_ops [static] |
Definition at line 219 of file record-full.c.
int(* record_full_beneath_to_stopped_by_watchpoint)(void) [static] |
Definition at line 245 of file record-full.c.
Referenced by record_full_open(), and record_full_stopped_by_watchpoint().
int(* record_full_beneath_to_stopped_data_address)(struct target_ops *, CORE_ADDR *) [static] |
Definition at line 246 of file record-full.c.
Referenced by record_full_open(), and record_full_stopped_data_address().
void(* record_full_beneath_to_store_registers)(struct target_ops *, struct regcache *, int regno) [static] |
Definition at line 227 of file record-full.c.
Referenced by record_full_open(), and record_full_store_registers().
struct target_ops* record_full_beneath_to_store_registers_ops [static] |
Definition at line 226 of file record-full.c.
ptid_t(* record_full_beneath_to_wait)(struct target_ops *, ptid_t, struct target_waitstatus *, int) [static] |
Definition at line 223 of file record-full.c.
Referenced by record_full_open(), and record_full_wait_1().
struct target_ops* record_full_beneath_to_wait_ops [static] |
Definition at line 222 of file record-full.c.
LONGEST(* record_full_beneath_to_xfer_partial)(struct target_ops *ops, enum target_object object, const char *annex, gdb_byte *readbuf, const gdb_byte *writebuf, ULONGEST offset, LONGEST len) [static] |
Definition at line 232 of file record-full.c.
Referenced by record_full_core_xfer_partial(), record_full_open(), and record_full_xfer_partial().
struct target_ops* record_full_beneath_to_xfer_partial_ops [static] |
Definition at line 230 of file record-full.c.
struct cmd_list_element* record_full_cmdlist [static] |
Definition at line 216 of file record-full.c.
struct record_full_core_buf_entry* record_full_core_buf_list = NULL [static] |
Definition at line 172 of file record-full.c.
Referenced by record_full_core_xfer_partial().
struct target_section* record_full_core_end [static] |
Definition at line 171 of file record-full.c.
Referenced by record_full_core_xfer_partial().
struct target_ops record_full_core_ops [static] |
Definition at line 209 of file record-full.c.
Referenced by _initialize_record_full(), init_record_full_core_ops(), record_full_core_kill(), record_full_core_open_1(), and record_full_wait_1().
gdb_byte* record_full_core_regbuf = NULL [static] |
Definition at line 169 of file record-full.c.
Referenced by record_full_close(), record_full_core_fetch_registers(), record_full_core_open_1(), and record_full_core_store_registers().
struct target_section* record_full_core_start [static] |
Definition at line 170 of file record-full.c.
enum exec_direction_kind record_full_execution_dir = EXEC_FORWARD [static] |
Definition at line 1072 of file record-full.c.
Referenced by record_full_execution_direction().
struct record_full_entry record_full_first [static] |
Definition at line 191 of file record-full.c.
Referenced by _initialize_record_full(), record_full_goto(), record_full_goto_begin(), record_full_info(), record_full_list_release(), record_full_list_release_first(), record_full_message(), record_full_open(), record_full_restore(), record_full_save(), and record_full_wait_1().
int record_full_gdb_operation_disable = 0 [static] |
Definition at line 696 of file record-full.c.
int record_full_get_sig = 0 [static] |
Definition at line 1139 of file record-full.c.
int record_full_hw_watchpoint = 0 [static] |
Definition at line 711 of file record-full.c.
Referenced by record_full_stopped_by_watchpoint().
ULONGEST record_full_insn_count [static] |
Definition at line 205 of file record-full.c.
Referenced by record_full_arch_list_add_end(), record_full_info(), record_full_list_release_following(), record_full_open(), and record_full_restore().
unsigned int record_full_insn_max_num = DEFAULT_RECORD_FULL_INSN_MAX_NUM [static] |
Definition at line 200 of file record-full.c.
Referenced by _initialize_record_full(), record_full_check_insn_num(), record_full_info(), record_full_message(), record_full_registers_change(), record_full_restore(), record_full_xfer_partial(), and set_record_full_insn_max_num().
unsigned int record_full_insn_num = 0 [static] |
Definition at line 202 of file record-full.c.
Referenced by record_full_check_insn_num(), record_full_info(), record_full_list_release(), record_full_list_release_first(), record_full_list_release_following(), record_full_message(), record_full_open(), record_full_registers_change(), record_full_restore(), record_full_xfer_partial(), and set_record_full_insn_max_num().
struct record_full_entry* record_full_list = &record_full_first [static] |
Definition at line 192 of file record-full.c.
Referenced by record_full_message(), record_full_registers_change(), record_full_save(), and record_full_xfer_partial().
Definition at line 159 of file record-full.c.
Referenced by _initialize_record_full(), i386_process_record(), i386_record_lea_modrm(), and record_linux_system_call().
struct target_ops record_full_ops [static] |
Definition at line 208 of file record-full.c.
Referenced by _initialize_record_full(), init_record_full_ops(), and record_full_open_1().
int record_full_resume_step = 0 [static] |
Definition at line 1051 of file record-full.c.
int record_full_resumed = 0 [static] |
Definition at line 1056 of file record-full.c.
int record_full_stop_at_limit = 1 [static] |
Definition at line 197 of file record-full.c.
Referenced by _initialize_record_full(), and record_full_check_insn_num().
struct cmd_list_element* set_record_full_cmdlist [static] |
Definition at line 212 of file record-full.c.
struct cmd_list_element* show_record_full_cmdlist [static] |
Definition at line 213 of file record-full.c.
void(* tmp_to_async)(void(*)(enum inferior_event_type, void *), void *) [static] |
Definition at line 824 of file record-full.c.
Referenced by record_full_open().
int(* tmp_to_insert_breakpoint)(struct gdbarch *, struct bp_target_info *) [static] |
Definition at line 817 of file record-full.c.
Referenced by record_full_open(), and record_full_open_1().
int(* tmp_to_remove_breakpoint)(struct gdbarch *, struct bp_target_info *) [static] |
Definition at line 819 of file record-full.c.
Referenced by record_full_open(), and record_full_open_1().
void(* tmp_to_resume)(struct target_ops *, ptid_t, int, enum gdb_signal) [static] |
Definition at line 799 of file record-full.c.
Referenced by record_full_open(), and record_full_open_1().
struct target_ops* tmp_to_resume_ops [static] |
Definition at line 798 of file record-full.c.
Referenced by record_full_open().
int(* tmp_to_stopped_by_watchpoint)(void) [static] |
Definition at line 821 of file record-full.c.
Referenced by record_full_open(), and record_full_open_1().
static int(* tmp_to_stopped_data_address)(struct target_ops *, CORE_ADDR *) [static] |
Definition at line 822 of file record-full.c.
Referenced by record_full_open(), and record_full_open_1().
void(* tmp_to_store_registers)(struct target_ops *, struct regcache *, int regno) [static] |
Definition at line 806 of file record-full.c.
Referenced by record_full_open(), and record_full_open_1().
struct target_ops* tmp_to_store_registers_ops [static] |
Definition at line 805 of file record-full.c.
Referenced by record_full_open().
ptid_t(* tmp_to_wait)(struct target_ops *, ptid_t, struct target_waitstatus *, int) [static] |
Definition at line 802 of file record-full.c.
Referenced by record_full_open(), and record_full_open_1().
struct target_ops* tmp_to_wait_ops [static] |
Definition at line 801 of file record-full.c.
Referenced by record_full_open().
LONGEST(* tmp_to_xfer_partial)(struct target_ops *ops, enum target_object object, const char *annex, gdb_byte *readbuf, const gdb_byte *writebuf, ULONGEST offset, LONGEST len) [static] |
Definition at line 810 of file record-full.c.
Referenced by record_full_open().
struct target_ops* tmp_to_xfer_partial_ops [static] |
Definition at line 809 of file record-full.c.
Referenced by record_full_open().