GDB (xrefs)
Loading...
Searching...
No Matches
Typedefs | Functions | Variables
corefile.c File Reference
#include "defs.h"
#include <signal.h>
#include <fcntl.h>
#include "inferior.h"
#include "symtab.h"
#include "command.h"
#include "gdbcmd.h"
#include "bfd.h"
#include "target.h"
#include "gdbcore.h"
#include "dis-asm.h"
#include <sys/stat.h>
#include "completer.h"
#include "observable.h"
#include "cli/cli-utils.h"
#include "gdbarch.h"
#include "interps.h"

Go to the source code of this file.

Typedefs

typedef void(* hook_type) (const char *)
 

Functions

static void call_extra_exec_file_hooks (const char *filename)
 
void specify_exec_file_hook (void(*hook)(const char *))
 
void reopen_exec_file (void)
 
void validate_files (void)
 
const char * get_exec_file (int err)
 
std::string memory_error_message (enum target_xfer_status err, struct gdbarch *gdbarch, CORE_ADDR memaddr)
 
void memory_error (enum target_xfer_status err, CORE_ADDR memaddr)
 
static void read_memory_object (enum target_object object, CORE_ADDR memaddr, gdb_byte *myaddr, ssize_t len)
 
void read_memory (CORE_ADDR memaddr, gdb_byte *myaddr, ssize_t len)
 
void read_stack (CORE_ADDR memaddr, gdb_byte *myaddr, ssize_t len)
 
void read_code (CORE_ADDR memaddr, gdb_byte *myaddr, ssize_t len)
 
int safe_read_memory_integer (CORE_ADDR memaddr, int len, enum bfd_endian byte_order, LONGEST *return_value)
 
int safe_read_memory_unsigned_integer (CORE_ADDR memaddr, int len, enum bfd_endian byte_order, ULONGEST *return_value)
 
LONGEST read_memory_integer (CORE_ADDR memaddr, int len, enum bfd_endian byte_order)
 
ULONGEST read_memory_unsigned_integer (CORE_ADDR memaddr, int len, enum bfd_endian byte_order)
 
LONGEST read_code_integer (CORE_ADDR memaddr, int len, enum bfd_endian byte_order)
 
ULONGEST read_code_unsigned_integer (CORE_ADDR memaddr, int len, enum bfd_endian byte_order)
 
CORE_ADDR read_memory_typed_address (CORE_ADDR addr, struct type *type)
 
void write_memory (CORE_ADDR memaddr, const bfd_byte *myaddr, ssize_t len)
 
static void notify_memory_changed (inferior *inf, CORE_ADDR addr, ssize_t len, const bfd_byte *data)
 
void write_memory_with_notification (CORE_ADDR memaddr, const bfd_byte *myaddr, ssize_t len)
 
void write_memory_unsigned_integer (CORE_ADDR addr, int len, enum bfd_endian byte_order, ULONGEST value)
 
void write_memory_signed_integer (CORE_ADDR addr, int len, enum bfd_endian byte_order, LONGEST value)
 
static void show_gnutarget_string (struct ui_file *file, int from_tty, struct cmd_list_element *c, const char *value)
 
static void set_gnutarget_command (const char *ignore, int from_tty, struct cmd_list_element *c)
 
static void complete_set_gnutarget (struct cmd_list_element *cmd, completion_tracker &tracker, const char *text, const char *word)
 
void set_gnutarget (const char *newtarget)
 
void _initialize_core ()
 

Variables

hook_type deprecated_exec_file_display_hook
 
static hook_typeexec_file_extra_hooks
 
static int exec_file_hook_count = 0
 
const char * gnutarget
 
static std::string gnutarget_string
 

Typedef Documentation

◆ hook_type

typedef void(* hook_type) (const char *)

Definition at line 47 of file corefile.c.

Function Documentation

◆ _initialize_core()

void _initialize_core ( )

Definition at line 468 of file corefile.c.

Referenced by initialize_all_files().

◆ call_extra_exec_file_hooks()

static void call_extra_exec_file_hooks ( const char * filename)
static

Definition at line 61 of file corefile.c.

References exec_file_extra_hooks, and exec_file_hook_count.

Referenced by specify_exec_file_hook().

◆ complete_set_gnutarget()

static void complete_set_gnutarget ( struct cmd_list_element * cmd,
completion_tracker & tracker,
const char * text,
const char * word )
static

Definition at line 436 of file corefile.c.

References complete_on_enum().

◆ get_exec_file()

const char * get_exec_file ( int err)

◆ memory_error()

void memory_error ( enum target_xfer_status err,
CORE_ADDR memaddr )

◆ memory_error_message()

std::string memory_error_message ( enum target_xfer_status err,
struct gdbarch * gdbarch,
CORE_ADDR memaddr )

◆ notify_memory_changed()

static void notify_memory_changed ( inferior * inf,
CORE_ADDR addr,
ssize_t len,
const bfd_byte * data )
static

◆ read_code()

void read_code ( CORE_ADDR memaddr,
gdb_byte * myaddr,
ssize_t len )

◆ read_code_integer()

LONGEST read_code_integer ( CORE_ADDR memaddr,
int len,
enum bfd_endian byte_order )

Definition at line 316 of file corefile.c.

References extract_signed_integer(), and read_code().

Referenced by i386_analyze_frame_setup().

◆ read_code_unsigned_integer()

ULONGEST read_code_unsigned_integer ( CORE_ADDR memaddr,
int len,
enum bfd_endian byte_order )

◆ read_memory()

void read_memory ( CORE_ADDR memaddr,
gdb_byte * myaddr,
ssize_t len )

Definition at line 238 of file corefile.c.

References read_memory_object(), and TARGET_OBJECT_MEMORY.

Referenced by ada_exception_message_1(), ada_value_assign(), ada_value_primitive_packed_val(), alpha_extract_return_value(), alpha_return_value(), amd64_darwin_sigcontext_addr(), amd64_displaced_step_copy_insn(), amd64_relocate_instruction(), amd64obsd_supply_pcb(), amd64obsd_supply_uthread(), avr_frame_prev_register(), avr_scan_prologue(), compute_variant_fields_inner(), default_search_memory(), displaced_step_prepare_throw(), dump_memory_to_file(), extract_call_winsize(), ravenscar_thread_target::get_fpu_state(), get_frame_memory(), get_running_thread_id(), h8300h_return_value(), i386_darwin_sigcontext_addr(), i386_darwin_sstep_at_sigreturn(), i386_displaced_step_copy_insn(), i386_gnu_sigcontext_addr(), i386_linux_sigcontext_addr(), i386_relocate_instruction(), i386_skip_probe(), i386nbsd_supply_pcb(), i386obsd_supply_pcb(), i386obsd_supply_uthread(), ia64_frame_prev_register(), ia64_linux_sigcontext_register_address(), infpy_read_memory(), iq2000_extract_return_value(), lm32_extract_return_value(), i386_linux_nat_target::low_resume(), m32c_return_value(), m68k_return_value(), m68k_svr4_return_value(), m68kbsd_supply_pcb(), selftests::memory_error_test(), mep_get_insn(), mep_return_value(), mips_linux_in_dynsym_stub(), open_symbol_file_object(), or1k_return_value(), ppcnbsd_supply_pcb(), ppcobsd_supply_pcb(), ada_catchpoint::print_it(), print_object_command(), selftests::print_one_insn_test(), printf_c_string(), printf_wide_c_string(), read_fat_string_value(), read_known_tasks_array(), read_known_tasks_list(), dwarf_expr_context::read_mem(), read_memory_integer(), read_memory_typed_address(), read_memory_unsigned_integer(), read_target_long_array(), read_target_long_array(), recpy_bt_insn_data(), selftests::search_memory_tests::run_tests(), rw_pieced_value(), s390_displaced_step_copy_insn(), remote_target::search_memory(), sparc64nbsd_supply_pcb(), sparc64obsd_supply_pcb(), ravenscar_arch_ops::supply_one_register(), value_assign(), pascal_language::value_print_inner(), vax_return_value(), xtensa_push_dummy_call(), z80_frame_prev_register(), z80_frame_unwind_cache(), z80_insn_is_call(), z80_insn_is_jump(), z80_insn_is_ret(), z80_scan_prologue(), and z80_software_single_step().

◆ read_memory_integer()

LONGEST read_memory_integer ( CORE_ADDR memaddr,
int len,
enum bfd_endian byte_order )

◆ read_memory_object()

static void read_memory_object ( enum target_object object,
CORE_ADDR memaddr,
gdb_byte * myaddr,
ssize_t len )
static

◆ read_memory_typed_address()

CORE_ADDR read_memory_typed_address ( CORE_ADDR addr,
struct type * type )

◆ read_memory_unsigned_integer()

ULONGEST read_memory_unsigned_integer ( CORE_ADDR memaddr,
int len,
enum bfd_endian byte_order )

Definition at line 306 of file corefile.c.

References extract_unsigned_integer(), and read_memory().

Referenced by aix_sighandle_frame_cache(), amd64_displaced_step_fixup(), amd64_windows_skip_trampoline_code(), amd64obsd_collect_uthread(), amd64obsd_supply_uthread(), amd64obsd_trapframe_cache(), arm_analyze_load_stack_chk_guard(), arm_get_next_pcs_read_memory_unsigned_integer(), arm_linux_get_next_pcs_syscall_next_pc(), arm_linux_get_syscall_number(), arm_linux_rt_sigreturn_init(), arm_linux_sigreturn_init(), arm_linux_sigreturn_next_pc(), arm_pe_skip_trampoline_code(), arm_process_displaced_insn(), arm_stack_frame_destroyed_p_1(), arm_wince_skip_main_prologue(), bfin_breakpoint_kind_from_pc(), bfin_skip_prologue(), BP_MANIPULATION(), branch_dest(), bsd_uthread_check_magic(), bsd_uthread_lookup_offset(), cleanup_block_load_all(), cleanup_block_store_pc(), cris_scan_prologue(), csky_analyze_prologue(), decode_prologue(), dip_prefix(), execute_l32e(), bsd_uthread_target::extra_thread_info(), find_implementation_from_class(), find_step_target(), get_data_from_address(), get_frame_memory_unsigned(), h8300_analyze_prologue(), h8300_extract_return_value(), h8300_is_argument_spill(), hppa_fallback_frame_cache(), i386_darwin_sstep_at_sigreturn(), i386_displaced_step_fixup(), i386_fetch_pointer_argument(), i386_pe_skip_trampoline_code(), i386_svr4_sigcontext_addr(), i386bsd_sigcontext_addr(), i386nbsd_sigtramp_cache_init(), i386obsd_collect_uthread(), i386obsd_supply_uthread(), i386obsd_trapframe_cache(), ia64_convert_from_func_ptr_addr(), ia64_sigtramp_frame_prev_register(), iq2000_scan_prologue(), i386_linux_nat_target::low_resume(), m32c_skip_trampoline_code(), m68hc11_analyze_instruction(), m68k_analyze_frame_setup(), m68k_analyze_prologue(), m68k_analyze_register_saves(), m68k_linux_get_sigtramp_info(), move_mem_to_reg_movem_op(), moxie_analyze_prologue(), nds32_analyze_epilogue(), nds32_analyze_prologue(), nds32_stack_frame_destroyed_p(), nios2_analyze_prologue(), none_reg_mode_jump_op(), ppc64_plt_entry_point(), ppc64_plt_pcrel_entry_point(), ppc64_sysv_abi_push_dummy_call(), ppc_linux_sigtramp_cache(), ppc_process_record(), ppc_skip_trampoline_code(), read_insn(), read_objc_class(), read_objc_methlist_nmethods(), read_objc_method(), read_objc_object(), read_objc_super(), rs6000_convert_from_func_ptr_addr(), rs6000_skip_trampoline_code(), s390_linux_get_syscall_number(), s390_process_record(), s390_sigtramp_frame_unwind_cache(), sh_analyze_prologue(), sh_stack_frame_destroyed_p(), solib_svr4_r_ldsomap(), solib_svr4_r_next(), sparc32_linux_step_trap(), sparc32_return_value(), sparc32obsd_supply_uthread(), sparc64_linux_step_trap(), sparc64obsd_supply_uthread(), bsd_uthread_target::thread_alive(), thumb_analyze_prologue(), thumb_process_displaced_insn(), tic6x_fetch_instruction(), v850_analyze_prologue(), xstormy16_analyze_prologue(), and xstormy16_stack_frame_destroyed_p().

◆ read_stack()

void read_stack ( CORE_ADDR memaddr,
gdb_byte * myaddr,
ssize_t len )

Definition at line 246 of file corefile.c.

References read_memory_object(), and TARGET_OBJECT_STACK_MEMORY.

◆ reopen_exec_file()

void reopen_exec_file ( void )

◆ safe_read_memory_integer()

int safe_read_memory_integer ( CORE_ADDR memaddr,
int len,
enum bfd_endian byte_order,
LONGEST * return_value )

◆ safe_read_memory_unsigned_integer()

int safe_read_memory_unsigned_integer ( CORE_ADDR memaddr,
int len,
enum bfd_endian byte_order,
ULONGEST * return_value )

◆ set_gnutarget()

void set_gnutarget ( const char * newtarget)

Definition at line 460 of file corefile.c.

References gnutarget_string, and set_gnutarget_command().

◆ set_gnutarget_command()

static void set_gnutarget_command ( const char * ignore,
int from_tty,
struct cmd_list_element * c )
static

Definition at line 419 of file corefile.c.

References gnutarget, gnutarget_string, and remove_trailing_whitespace().

Referenced by set_gnutarget().

◆ show_gnutarget_string()

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

Definition at line 410 of file corefile.c.

References gdb_printf().

◆ specify_exec_file_hook()

void specify_exec_file_hook ( void(*)(const char *) hook)

◆ validate_files()

void validate_files ( void )

Definition at line 134 of file corefile.c.

References core_bfd, current_program_space, and program_space::exec_bfd().

Referenced by core_target_open(), and exec_file_attach().

◆ write_memory()

void write_memory ( CORE_ADDR memaddr,
const bfd_byte * myaddr,
ssize_t len )

Definition at line 347 of file corefile.c.

References memory_error(), status, target_write_memory(), and TARGET_XFER_E_IO.

Referenced by aarch64_push_dummy_call(), alpha_push_dummy_call(), amd64_displaced_step_copy_insn(), amd64_dtrace_disable_probe(), amd64_dtrace_enable_probe(), amd64_push_arguments(), amd64_push_dummy_call(), amd64_windows_adjust_args_passed_by_pointer(), amd64_windows_push_arguments(), amd64_windows_push_dummy_call(), amd64obsd_collect_uthread(), arc_push_dummy_call(), arm_displaced_init_closure(), arm_push_dummy_call(), avr_push_dummy_call(), bfin_push_dummy_call(), BP_MANIPULATION_ENDIAN(), call_function_by_hand_dummy(), cris_push_dummy_call(), csky_push_dummy_call(), ensure_lval(), find_func_descr(), find_func_descr(), value::force_lval(), fortran_argument_convert(), frv_push_dummy_call(), h8300_push_dummy_call(), hppa32_push_dummy_call(), hppa64_push_dummy_call(), i386_darwin_push_dummy_call(), i386_darwin_sstep_at_sigreturn(), i386_displaced_step_copy_insn(), i386_thiscall_push_dummy_call(), i386obsd_collect_uthread(), ia64_pseudo_register_write(), ia64_push_dummy_call(), ia64_store_argument_in_slot(), iq2000_push_dummy_call(), loongarch_push_dummy_call(), i386_linux_nat_target::low_resume(), m32c_push_dummy_call(), m32c_return_value(), m32r_push_dummy_call(), m68hc11_push_dummy_call(), m68k_push_dummy_call(), mep_push_dummy_call(), mips_eabi_push_dummy_call(), mips_n32n64_push_dummy_call(), mips_o32_push_dummy_call(), mips_o64_push_dummy_call(), mips_push_dummy_code(), mn10300_push_dummy_call(), msp430_push_dummy_call(), nds32_push_dummy_call(), nios2_push_dummy_call(), or1k_push_dummy_call(), or1k_return_value(), ppc64_sysv_abi_push_param(), ppc64_sysv_abi_push_val(), ppc_sysv_abi_push_dummy_call(), push_large_arguments(), put_frame_register(), riscv_push_dummy_call(), riscv_return_value(), rl78_push_dummy_call(), rl78_return_value(), rs6000_lynx178_push_dummy_call(), rs6000_push_dummy_call(), rx_push_dummy_call(), s390_displaced_step_copy_insn(), s390_handle_arg(), sh_push_dummy_call_fpu(), sh_push_dummy_call_nofpu(), sparc32_push_dummy_code(), sparc32_return_value(), sparc32_store_arguments(), sparc32obsd_collect_uthread(), sparc64_store_arguments(), sparc64obsd_collect_uthread(), ravenscar_arch_ops::store_one_register(), tic6x_push_dummy_call(), tilegx_push_dummy_call(), v850_push_dummy_call(), value_coerce_to_target(), vax_push_dummy_call(), vax_store_arguments(), write_memory_ptid(), write_memory_signed_integer(), write_memory_unsigned_integer(), write_memory_with_notification(), xstormy16_push_dummy_call(), and xtensa_push_dummy_call().

◆ write_memory_signed_integer()

void write_memory_signed_integer ( CORE_ADDR addr,
int len,
enum bfd_endian byte_order,
LONGEST value )

◆ write_memory_unsigned_integer()

void write_memory_unsigned_integer ( CORE_ADDR addr,
int len,
enum bfd_endian byte_order,
ULONGEST value )

◆ write_memory_with_notification()

void write_memory_with_notification ( CORE_ADDR memaddr,
const bfd_byte * myaddr,
ssize_t len )

Variable Documentation

◆ deprecated_exec_file_display_hook

hook_type deprecated_exec_file_display_hook

Definition at line 49 of file corefile.c.

Referenced by exec_file_attach(), and specify_exec_file_hook().

◆ exec_file_extra_hooks

hook_type* exec_file_extra_hooks
static

Definition at line 50 of file corefile.c.

Referenced by call_extra_exec_file_hooks(), and specify_exec_file_hook().

◆ exec_file_hook_count

int exec_file_hook_count = 0
static

Definition at line 52 of file corefile.c.

Referenced by call_extra_exec_file_hooks(), and specify_exec_file_hook().

◆ gnutarget

const char* gnutarget

◆ gnutarget_string

std::string gnutarget_string
static

Definition at line 408 of file corefile.c.

Referenced by set_gnutarget(), and set_gnutarget_command().