summaryrefslogtreecommitdiff
path: root/gdb/maint.c
diff options
context:
space:
mode:
authorJim Blandy <jimb@codesourcery.com>2003-04-14 18:42:28 +0000
committerJim Blandy <jimb@codesourcery.com>2003-04-14 18:42:28 +0000
commit44ea7b70f90e6f139269b8210568fd08f3dd4fbe (patch)
treeb619e7a0d1486a58edc19a067a2db5199d131ef3 /gdb/maint.c
parentdaf7c4ad3aecfa9c617bfae6950bb0b5782e6edd (diff)
downloadbinutils-gdb-44ea7b70f90e6f139269b8210568fd08f3dd4fbe.tar.gz
gdb/ChangeLog:
2003-04-10 Jim Blandy <jimb@redhat.com> * symmisc.c: #include "gdb_regex.h". (maintenance_list_symtabs, maintenance_list_psymtabs): New functions. * maint.c (maintenance_list_command): New function. (_initialize_maint_cmds): Register the above as commands. * symtab.h (maintenance_list_symtabs, maintenance_list_psymtabs): New declarations. * cli/cli-cmds.c (maintenancelistlist): New variable. (init_cmd_lists): Initialize it. * cli/cli-cmds.h (maintenancelistlist): New declaration. * gdbcmd.h (maintenancelistlist): New declaration. * Makefile.in (symmisc.o): Update dependencies. gdb/doc/ChangeLog: 2003-04-09 Jim Blandy <jimb@redhat.com> * gdb.texinfo (Symbols): Document 'maint list symtabs' and 'maint list psymtabs'.
Diffstat (limited to 'gdb/maint.c')
-rw-r--r--gdb/maint.c30
1 files changed, 30 insertions, 0 deletions
diff --git a/gdb/maint.c b/gdb/maint.c
index 166acdb2ea9..2eb59ee5e3a 100644
--- a/gdb/maint.c
+++ b/gdb/maint.c
@@ -434,6 +434,18 @@ maintenance_print_command (char *arg, int from_tty)
help_list (maintenanceprintlist, "maintenance print ", -1, gdb_stdout);
}
+/* The "maintenance list" command is defined as a prefix, with
+ allow_unknown 0. Therefore, its own definition is called only for
+ "maintenance list" with no args. */
+
+/* ARGSUSED */
+static void
+maintenance_list_command (char *arg, int from_tty)
+{
+ printf_unfiltered ("\"maintenance list\" must be followed by the name of a list command.\n");
+ help_list (maintenancelistlist, "maintenance list ", -1, gdb_stdout);
+}
+
/* The "maintenance translate-address" command converts a section and address
to a symbol. This can be called in two ways:
maintenance translate-address <secname> <addr>
@@ -732,6 +744,11 @@ lists all sections from all object files, including shared libraries.",
&maintenanceprintlist, "maintenance print ", 0,
&maintenancelist);
+ add_prefix_cmd ("list", class_maintenance, maintenance_list_command,
+ "Maintenance command for listing GDB internal state.",
+ &maintenancelistlist, "maintenance list ", 0,
+ &maintenancelist);
+
add_prefix_cmd ("set", class_maintenance, maintenance_set_cmd, "\
Set GDB internal variables used by the GDB maintainer.\n\
Configure variables internal to GDB that aid in GDB's maintenance",
@@ -810,6 +827,19 @@ If a SOURCE file is specified, dump only that file's partial symbols.",
"Print dump of current object file definitions.",
&maintenanceprintlist);
+ add_cmd ("symtabs", class_maintenance, maintenance_list_symtabs,
+ "List the full symbol tables for all object files.\n\
+This does not include information about individual symbols, blocks, or\n\
+linetables --- just the symbol table structures themselves.\n\
+With an argument REGEXP, list the symbol tables whose names that match that.",
+ &maintenancelistlist);
+
+ add_cmd ("psymtabs", class_maintenance, maintenance_list_psymtabs,
+ "List the partial symbol tables for all object files.\n\
+This does not include information about individual partial symbols,\n\
+just the symbol table structures themselves.",
+ &maintenancelistlist);
+
add_cmd ("statistics", class_maintenance, maintenance_print_statistics,
"Print statistics about internal gdb state.",
&maintenanceprintlist);