GDB (xrefs)
Typedefs | Functions | Variables
/tmp/gdb-7.10/gdb/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 "observer.h"
#include "cli/cli-utils.h"

Go to the source code of this file.

Typedefs

typedef void(* hook_type) (const char *)
 

Functions

void _initialize_core (void)
 
void core_file_command (char *filename, int from_tty)
 
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)
 
char * get_exec_file (int err)
 
char * 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)
 
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)
 
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)
 
void read_memory_string (CORE_ADDR memaddr, char *buffer, int max_len)
 
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)
 
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 (char *, int, struct cmd_list_element *)
 
static VEC (char_ptr)
 
void set_gnutarget (char *newtarget)
 

Variables

hook_type deprecated_exec_file_display_hook
 
static hook_typeexec_file_extra_hooks
 
static int exec_file_hook_count = 0
 
bfd * core_bfd = NULL
 
struct target_opscore_target
 
char * gnutarget
 
static char * gnutarget_string
 

Typedef Documentation

typedef void(* hook_type) (const char *)

Definition at line 49 of file corefile.c.

Function Documentation

void _initialize_core ( void  )
static void call_extra_exec_file_hooks ( const char *  filename)
static

Definition at line 86 of file corefile.c.

References exec_file_extra_hooks, and exec_file_hook_count.

Referenced by specify_exec_file_hook().

void core_file_command ( char *  filename,
int  from_tty 
)
char* get_exec_file ( int  err)
void memory_error ( enum target_xfer_status  err,
CORE_ADDR  memaddr 
)
char* memory_error_message ( enum target_xfer_status  err,
struct gdbarch gdbarch,
CORE_ADDR  memaddr 
)
void read_code ( CORE_ADDR  memaddr,
gdb_byte myaddr,
ssize_t  len 
)
LONGEST read_code_integer ( CORE_ADDR  memaddr,
int  len,
enum bfd_endian  byte_order 
)

Definition at line 331 of file corefile.c.

References extract_signed_integer(), and read_code().

Referenced by i386_analyze_frame_setup().

ULONGEST read_code_unsigned_integer ( CORE_ADDR  memaddr,
int  len,
enum bfd_endian  byte_order 
)
void read_memory ( CORE_ADDR  memaddr,
gdb_byte myaddr,
ssize_t  len 
)

Definition at line 244 of file corefile.c.

References target_ops::beneath, current_target, memory_error(), QUIT, status, TARGET_OBJECT_MEMORY, TARGET_XFER_E_IO, TARGET_XFER_EOF, TARGET_XFER_OK, and target_xfer_partial.

Referenced by 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(), amd64_return_value(), amd64_windows_return_value(), amd64fbsd_supply_uthread(), amd64obsd_supply_pcb(), amd64obsd_supply_uthread(), avr_frame_prev_register(), avr_scan_prologue(), displaced_step_fixup(), dump_memory_to_file(), dwarf_expr_read_mem(), evaluate_subexp_java(), extract_call_winsize(), get_frame_memory(), get_java_utf8_name(), get_running_thread_id(), h8300h_return_value(), i386_darwin_sigcontext_addr(), i386_darwin_sstep_at_sigreturn(), i386_displaced_step_copy_insn(), i386_linux_resume(), i386_linux_sigcontext_addr(), i386_relocate_instruction(), i386_return_value(), i386_skip_probe(), i386fbsd_supply_uthread(), i386nbsd_supply_pcb(), i386obsd_supply_pcb(), i386obsd_supply_uthread(), ia64_frame_prev_register(), ia64_linux_sigcontext_register_address(), ia64_sigtramp_frame_prev_register(), infpy_read_memory(), iq2000_extract_return_value(), java_value_print(), lm32_extract_return_value(), m32c_return_value(), m68k_return_value(), m68k_svr4_return_value(), m68kbsd_supply_pcb(), mep_get_insn(), mep_return_value(), mips_linux_in_dynsym_stub(), mt_return_value(), open_symbol_file_object(), pascal_val_print(), ppcnbsd_supply_pcb(), ppcobsd_supply_pcb(), print_it_exception(), print_object_command(), printf_c_string(), printf_wide_c_string(), read_fat_string_value(), read_known_tasks_array(), read_known_tasks_list(), read_mem(), read_memory_integer(), read_memory_string(), read_memory_typed_address(), read_memory_unsigned_integer(), read_target_long_array(), resume(), simple_displaced_step_copy_insn(), sparc32_return_value(), sparc64nbsd_supply_pcb(), sparc64obsd_supply_pcb(), spu_get_overlay_table(), supply_register_at_address(), value_assign(), vax_return_value(), write_pieced_value(), and xtensa_push_dummy_call().

LONGEST read_memory_integer ( CORE_ADDR  memaddr,
int  len,
enum bfd_endian  byte_order 
)
void read_memory_string ( CORE_ADDR  memaddr,
char *  buffer,
int  max_len 
)

Definition at line 351 of file corefile.c.

References read_memory().

Referenced by ada_tag_name_from_tsd().

CORE_ADDR read_memory_typed_address ( CORE_ADDR  addr,
struct type type 
)
ULONGEST read_memory_unsigned_integer ( CORE_ADDR  memaddr,
int  len,
enum bfd_endian  byte_order 
)

Definition at line 321 of file corefile.c.

References extract_unsigned_integer(), and read_memory().

Referenced by aarch64_analyze_prologue(), aarch64_software_single_step(), amd64_displaced_step_fixup(), amd64_windows_skip_trampoline_code(), amd64obsd_collect_uthread(), amd64obsd_supply_uthread(), amd64obsd_trapframe_cache(), append_ocl_sos(), arm_analyze_load_stack_chk_guard(), arm_analyze_prologue(), arm_deal_with_atomic_sequence_raw(), arm_get_next_pc_raw(), arm_linux_get_syscall_number(), arm_linux_rt_sigreturn_init(), arm_linux_sigreturn_init(), arm_linux_syscall_next_pc(), arm_pe_skip_trampoline_code(), arm_process_displaced_insn(), arm_skip_stack_protector(), arm_stack_frame_destroyed_p(), arm_wince_skip_main_prologue(), bfin_breakpoint_from_pc(), bfin_skip_prologue(), branch_dest(), bsd_uthread_check_magic(), bsd_uthread_extra_thread_info(), bsd_uthread_lookup_offset(), bsd_uthread_thread_alive(), cleanup_block_load_all(), cleanup_block_store_pc(), cris_scan_prologue(), decode_prologue(), dip_prefix(), execute_l32e(), find_implementation_from_class(), find_step_target(), ft32_analyze_prologue(), 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_linux_resume(), 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(), iq2000_scan_prologue(), m32c_skip_trampoline_code(), m68hc11_analyze_instruction(), m68k_analyze_frame_setup(), m68k_analyze_prologue(), m68k_analyze_register_saves(), m68k_linux_get_sigtramp_info(), m88k_fetch_instruction(), move_mem_to_reg_movem_op(), moxie_analyze_prologue(), mt_skip_prologue(), nios2_analyze_prologue(), none_reg_mode_jump_op(), ppc64_plt_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_backchain_frame_unwind_cache(), s390_linux_get_syscall_number(), s390_sigtramp_frame_unwind_cache(), sh64_frame_prev_register(), sh_analyze_prologue(), sh_stack_frame_destroyed_p(), skip_prologue_function(), solib_svr4_r_ldsomap(), sparc32_linux_step_trap(), sparc32_return_value(), sparc32obsd_supply_uthread(), sparc64_linux_step_trap(), sparc64obsd_supply_uthread(), spu_overlay_update_osect(), thumb_analyze_prologue(), thumb_deal_with_atomic_sequence_raw(), thumb_get_next_pc_raw(), thumb_process_displaced_insn(), tic6x_fetch_instruction(), v850_analyze_prologue(), vax_skip_prologue(), xstormy16_analyze_prologue(), and xstormy16_stack_frame_destroyed_p().

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

Definition at line 271 of file corefile.c.

References memory_error(), status, and target_read_stack().

void reopen_exec_file ( void  )
int safe_read_memory_integer ( CORE_ADDR  memaddr,
int  len,
enum bfd_endian  byte_order,
LONGEST return_value 
)
void set_gnutarget ( char *  newtarget)

Definition at line 494 of file corefile.c.

References set_gnutarget_command(), and xfree().

Referenced by _initialize_core().

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

Definition at line 454 of file corefile.c.

References gnutarget_string, and remove_trailing_whitespace().

Referenced by _initialize_core(), and set_gnutarget().

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

Definition at line 442 of file corefile.c.

References _, and fprintf_filtered().

Referenced by _initialize_core().

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

Definition at line 163 of file corefile.c.

References _, core_bfd, exec_bfd, and warning().

Referenced by core_open(), and exec_file_attach().

static VEC ( char_ptr  )
static

Definition at line 470 of file corefile.c.

References xrealloc().

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

Definition at line 389 of file corefile.c.

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

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(), amd64fbsd_collect_uthread(), amd64obsd_collect_uthread(), arm_displaced_init_closure(), arm_push_dummy_call(), avr_push_dummy_call(), bfin_push_dummy_call(), call_function_by_hand_dummy(), cris_push_dummy_call(), ensure_lval(), find_func_descr(), 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_linux_resume(), i386_push_dummy_call(), i386fbsd_collect_uthread(), i386obsd_collect_uthread(), ia64_pseudo_register_write(), ia64_push_dummy_call(), ia64_store_argument_in_slot(), iq2000_push_dummy_call(), lm32_push_dummy_call(), m32c_push_dummy_call(), m32c_return_value(), m32r_push_dummy_call(), m68hc11_push_dummy_call(), m68k_push_dummy_call(), m88k_store_arguments(), 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(), mt_push_dummy_call(), mt_return_value(), nios2_push_dummy_call(), ppc64_sysv_abi_push_param(), ppc64_sysv_abi_push_val(), ppc_ravenscar_generic_store_registers(), ppc_sysv_abi_push_dummy_call(), push_large_arguments(), put_frame_register(), rl78_push_dummy_call(), rl78_return_value(), rs6000_lynx178_push_dummy_call(), rs6000_push_dummy_call(), rx_push_dummy_call(), s390_handle_arg(), score_push_dummy_call(), sh64_push_dummy_call(), sh_push_dummy_call_fpu(), sh_push_dummy_call_nofpu(), simple_displaced_step_copy_insn(), sparc32_push_dummy_code(), sparc32_return_value(), sparc32_store_arguments(), sparc32obsd_collect_uthread(), sparc64_store_arguments(), sparc64obsd_collect_uthread(), sparc_ravenscar_store_registers(), tic6x_push_dummy_call(), tilegx_push_dummy_call(), v850_push_dummy_call(), value_coerce_to_target(), value_force_lval(), vax_push_dummy_call(), vax_store_arguments(), write_memory_ptid(), write_memory_signed_integer(), write_memory_unsigned_integer(), write_memory_with_notification(), write_pieced_value(), xstormy16_push_dummy_call(), and xtensa_push_dummy_call().

void write_memory_signed_integer ( CORE_ADDR  addr,
int  len,
enum bfd_endian  byte_order,
LONGEST  value 
)
void write_memory_unsigned_integer ( CORE_ADDR  addr,
int  len,
enum bfd_endian  byte_order,
ULONGEST  value 
)
void write_memory_with_notification ( CORE_ADDR  memaddr,
const bfd_byte *  myaddr,
ssize_t  len 
)

Variable Documentation

bfd* core_bfd = NULL
struct target_ops* core_target

Definition at line 62 of file corefile.c.

Referenced by init_core_ops().

hook_type deprecated_exec_file_display_hook

Definition at line 51 of file corefile.c.

Referenced by exec_file_attach(), and specify_exec_file_hook().

hook_type* exec_file_extra_hooks
static

Definition at line 52 of file corefile.c.

Referenced by call_extra_exec_file_hooks(), and specify_exec_file_hook().

int exec_file_hook_count = 0
static

Definition at line 54 of file corefile.c.

Referenced by call_extra_exec_file_hooks(), and specify_exec_file_hook().

char* gnutarget
char* gnutarget_string
static

Definition at line 440 of file corefile.c.

Referenced by set_gnutarget_command().