gdb/
[deliverable/binutils-gdb.git] / gdb / symmisc.c
index 9ce7679f978d3b5fc14a651c0f68be113521fd8f..ce0bd205afc455ce9298942fe42cd3dc9bc0b197 100644 (file)
@@ -1,7 +1,6 @@
 /* Do various things to symbol tables (other than lookup), for GDB.
 
-   Copyright (C) 1986-2000, 2002-2004, 2007-2012 Free Software
-   Foundation, Inc.
+   Copyright (C) 1986-2013 Free Software Foundation, Inc.
 
    This file is part of GDB.
 
@@ -35,6 +34,8 @@
 #include "gdb_regex.h"
 #include "gdb_stat.h"
 #include "dictionary.h"
+#include "typeprint.h"
+#include "gdbcmd.h"
 
 #include "gdb_string.h"
 #include "readline/readline.h"
@@ -400,7 +401,7 @@ dump_symtab (struct objfile *objfile, struct symtab *symtab,
     dump_symtab_1 (objfile, symtab, outfile);
 }
 
-void
+static void
 maintenance_print_symbols (char *args, int from_tty)
 {
   char **argv;
@@ -480,7 +481,8 @@ print_symbol (void *args)
     {
       if (TYPE_TAG_NAME (SYMBOL_TYPE (symbol)))
        {
-         LA_PRINT_TYPE (SYMBOL_TYPE (symbol), "", outfile, 1, depth);
+         LA_PRINT_TYPE (SYMBOL_TYPE (symbol), "", outfile, 1, depth,
+                        &type_print_raw_options);
        }
       else
        {
@@ -490,7 +492,8 @@ print_symbol (void *args)
                     : (TYPE_CODE (SYMBOL_TYPE (symbol)) == TYPE_CODE_STRUCT
                        ? "struct" : "union")),
                            SYMBOL_LINKAGE_NAME (symbol));
-         LA_PRINT_TYPE (SYMBOL_TYPE (symbol), "", outfile, 1, depth);
+         LA_PRINT_TYPE (SYMBOL_TYPE (symbol), "", outfile, 1, depth,
+                        &type_print_raw_options);
        }
       fprintf_filtered (outfile, ";\n");
     }
@@ -504,7 +507,8 @@ print_symbol (void *args)
          LA_PRINT_TYPE (SYMBOL_TYPE (symbol), SYMBOL_PRINT_NAME (symbol),
                         outfile,
                         TYPE_CODE (SYMBOL_TYPE (symbol)) != TYPE_CODE_ENUM,
-                        depth);
+                        depth,
+                        &type_print_raw_options);
          fprintf_filtered (outfile, "; ");
        }
       else
@@ -622,7 +626,7 @@ print_symbol (void *args)
   return 1;
 }
 
-void
+static void
 maintenance_print_msymbols (char *args, int from_tty)
 {
   char **argv;
@@ -678,7 +682,7 @@ maintenance_print_msymbols (char *args, int from_tty)
   do_cleanups (cleanups);
 }
 
-void
+static void
 maintenance_print_objfiles (char *ignore, int from_tty)
 {
   struct program_space *pspace;
@@ -694,9 +698,9 @@ maintenance_print_objfiles (char *ignore, int from_tty)
       }
 }
 
-
 /* List all the symbol tables whose names match REGEXP (optional).  */
-void
+
+static void
 maintenance_info_symtabs (char *regexp, int from_tty)
 {
   struct program_space *pspace;
@@ -773,10 +777,34 @@ block_depth (struct block *block)
 \f
 
 /* Do early runtime initializations.  */
+
 void
 _initialize_symmisc (void)
 {
   std_in = stdin;
   std_out = stdout;
   std_err = stderr;
+
+  add_cmd ("symbols", class_maintenance, maintenance_print_symbols, _("\
+Print dump of current symbol definitions.\n\
+Entries in the full symbol table are dumped to file OUTFILE.\n\
+If a SOURCE file is specified, dump only that file's symbols."),
+          &maintenanceprintlist);
+
+  add_cmd ("msymbols", class_maintenance, maintenance_print_msymbols, _("\
+Print dump of current minimal symbol definitions.\n\
+Entries in the minimal symbol table are dumped to file OUTFILE.\n\
+If a SOURCE file is specified, dump only that file's minimal symbols."),
+          &maintenanceprintlist);
+
+  add_cmd ("objfiles", class_maintenance, maintenance_print_objfiles,
+          _("Print dump of current object file definitions."),
+          &maintenanceprintlist);
+
+  add_cmd ("symtabs", class_maintenance, maintenance_info_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."),
+          &maintenanceinfolist);
 }
This page took 0.02594 seconds and 4 git commands to generate.