aboutsummaryrefslogtreecommitdiff
path: root/gdb/infcmd.c
diff options
context:
space:
mode:
authorTom Tromey <tromey@redhat.com>2012-12-14 15:30:38 +0000
committerTom Tromey <tromey@redhat.com>2012-12-14 15:30:38 +0000
commit451b7c33cb3c9ec6272c36870adb4d4f5649aae2 (patch)
treeff333176601f64b665e349b49b57f62fa54260e4 /gdb/infcmd.c
parent83a234185206fff55520c396f6f10d3786ce5c12 (diff)
downloadgdb-451b7c33cb3c9ec6272c36870adb4d4f5649aae2.zip
gdb-451b7c33cb3c9ec6272c36870adb4d4f5649aae2.tar.gz
gdb-451b7c33cb3c9ec6272c36870adb4d4f5649aae2.tar.bz2
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.
Diffstat (limited to 'gdb/infcmd.c')
-rw-r--r--gdb/infcmd.c11
1 files changed, 7 insertions, 4 deletions
diff --git a/gdb/infcmd.c b/gdb/infcmd.c
index db9b9b5..4e38725 100644
--- a/gdb/infcmd.c
+++ b/gdb/infcmd.c
@@ -2883,10 +2883,13 @@ info_proc_cmd_1 (char *args, enum info_proc_what what, int from_tty)
{
struct gdbarch *gdbarch = get_current_arch ();
- if (gdbarch_info_proc_p (gdbarch))
- gdbarch_info_proc (gdbarch, args, what);
- else
- target_info_proc (args, what);
+ if (!target_info_proc (args, what))
+ {
+ if (gdbarch_info_proc_p (gdbarch))
+ gdbarch_info_proc (gdbarch, args, what);
+ else
+ error (_("Not supported on this target."));
+ }
}
/* Implement `info proc' when given without any futher parameters. */