gdb
* NEWS: Mention "info proc" and core files. * corelow.c (core_info_proc): New function. (init_core_ops): Set to_info_proc. * gdbarch.c, gdbarch.h: Rebuild. * gdbarch.sh (core_info_proc): New method. * infcmd.c (info_proc_cmd_1): Invoke target_info_proc first. * linux-tdep.c (linux_core_info_proc_mappings) (linux_core_info_proc): New functions. (linux_find_memory_region_ftype): New typedef. (linux_find_memory_regions_full): New function, from linux_find_memory_regions. (struct linux_find_memory_regions_data): New. (linux_find_memory_regions_thunk): New function. (linux_find_memory_regions): Rewrite. (struct linux_make_mappings_data): New. (linux_make_mappings_callback) (linux_make_mappings_corefile_notes): New functions. (linux_make_corefile_notes): Call linux_make_mappings_corefile_notes. (linux_init_abi): Call set_gdbarch_core_info_proc. * target.c (target_info_proc): Return 'int'. * target.h (target_info_proc): Update. gdb/doc * gdb.texinfo (SVR4 Process Information): Mention core files. gdb/testsuite * gdb.base/info-proc.exp: Add core file tests. bfd * elf.c (elfcore_grok_note) <NT_FILE>: New case.
This commit is contained in:
parent
83a2341852
commit
451b7c33cb
16 changed files with 444 additions and 19 deletions
|
@ -927,6 +927,19 @@ core_has_registers (struct target_ops *ops)
|
|||
return (core_bfd != NULL);
|
||||
}
|
||||
|
||||
/* Implement the to_info_proc method. */
|
||||
|
||||
static void
|
||||
core_info_proc (struct target_ops *ops, char *args, enum info_proc_what request)
|
||||
{
|
||||
struct gdbarch *gdbarch = get_current_arch ();
|
||||
|
||||
/* Since this is the core file target, call the 'core_info_proc'
|
||||
method on gdbarch, not 'info_proc'. */
|
||||
if (gdbarch_core_info_proc_p (gdbarch))
|
||||
gdbarch_core_info_proc (gdbarch, args, request);
|
||||
}
|
||||
|
||||
/* Fill in core_ops with its defined operations and properties. */
|
||||
|
||||
static void
|
||||
|
@ -953,6 +966,7 @@ init_core_ops (void)
|
|||
core_ops.to_has_memory = core_has_memory;
|
||||
core_ops.to_has_stack = core_has_stack;
|
||||
core_ops.to_has_registers = core_has_registers;
|
||||
core_ops.to_info_proc = core_info_proc;
|
||||
core_ops.to_magic = OPS_MAGIC;
|
||||
|
||||
if (core_target)
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue