* lib/mi-support.exp (mi_gdb_load): Fix typo.
[deliverable/binutils-gdb.git] / gdb / maint.c
index aa34239076582b5a57c422f12299a297d175ea92..30655cfaf57514476d5bab90fff4ab9842191b36 100644 (file)
@@ -1,6 +1,8 @@
 /* Support for GDB maintenance commands.
-   Copyright 1992, 1993, 1994, 1995, 1996, 1997, 1999, 2000, 2001, 2002, 2003
-   Free Software Foundation, Inc.
+
+   Copyright 1992, 1993, 1994, 1995, 1996, 1997, 1999, 2000, 2001,
+   2002, 2003, 2004 Free Software Foundation, Inc.
+
    Written by Fred Fish at Cygnus Support.
 
    This file is part of GDB.
@@ -54,8 +56,6 @@ static void maintenance_space_display (char *, int);
 
 static void maintenance_info_command (char *, int);
 
-static void print_section_table (bfd *, asection *, void *);
-
 static void maintenance_info_sections (char *, int);
 
 static void maintenance_print_command (char *, int);
@@ -69,6 +69,12 @@ static void maintenance_do_deprecate (char *, int);
    and one with slow communications.  */
 
 int watchdog = 0;
+static void
+show_watchdog (struct ui_file *file, int from_tty,
+              struct cmd_list_element *c, const char *value)
+{
+  fprintf_filtered (file, _("Watchdog timer is %s.\n"), value);
+}
 
 /*
 
@@ -87,12 +93,11 @@ int watchdog = 0;
 static void
 maintenance_command (char *args, int from_tty)
 {
-  printf_unfiltered ("\"maintenance\" must be followed by the name of a maintenance command.\n");
+  printf_unfiltered (_("\"maintenance\" must be followed by the name of a maintenance command.\n"));
   help_list (maintenancelist, "maintenance ", -1, gdb_stdout);
 }
 
 #ifndef _WIN32
-/* ARGSUSED */
 static void
 maintenance_dump_me (char *args, int from_tty)
 {
@@ -147,7 +152,7 @@ maintenance_demangle (char *args, int from_tty)
 
   if (args == NULL || *args == '\0')
     {
-      printf_unfiltered ("\"maintenance demangle\" takes an argument to demangle.\n");
+      printf_unfiltered (_("\"maintenance demangle\" takes an argument to demangle.\n"));
     }
   else
     {
@@ -160,7 +165,7 @@ maintenance_demangle (char *args, int from_tty)
        }
       else
        {
-         printf_unfiltered ("Can't demangle \"%s\"\n", args);
+         printf_unfiltered (_("Can't demangle \"%s\"\n"), args);
        }
     }
 }
@@ -171,7 +176,7 @@ maintenance_time_display (char *args, int from_tty)
   extern int display_time;
 
   if (args == NULL || *args == '\0')
-    printf_unfiltered ("\"maintenance time\" takes a numeric argument.\n");
+    printf_unfiltered (_("\"maintenance time\" takes a numeric argument.\n"));
   else
     display_time = strtol (args, NULL, 10);
 }
@@ -191,11 +196,10 @@ maintenance_space_display (char *args, int from_tty)
    allow_unknown 0.  Therefore, its own definition is called only for
    "maintenance info" with no args.  */
 
-/* ARGSUSED */
 static void
 maintenance_info_command (char *arg, int from_tty)
 {
-  printf_unfiltered ("\"maintenance info\" must be followed by the name of an info command.\n");
+  printf_unfiltered (_("\"maintenance info\" must be followed by the name of an info command.\n"));
   help_list (maintenanceinfolist, "maintenance info ", -1, gdb_stdout);
 }
 
@@ -306,11 +310,12 @@ maint_print_section_info (const char *name, flagword flags,
                          CORE_ADDR addr, CORE_ADDR endaddr, 
                          unsigned long filepos)
 {
-  /* FIXME-32x64: Need print_address_numeric with field width.  */
+  /* FIXME-32x64: Need deprecated_print_address_numeric with field
+     width.  */
   printf_filtered ("    0x%s", paddr (addr));
   printf_filtered ("->0x%s", paddr (endaddr));
   printf_filtered (" at %s",
-                  local_hex_string_custom ((unsigned long) filepos, "08l"));
+                  hex_string_custom ((unsigned long) filepos, 8));
   printf_filtered (": %s", name);
   print_bfd_flags (flags);
   printf_filtered ("\n");
@@ -353,16 +358,15 @@ print_objfile_section_info (bfd *abfd,
     }
 }
 
-/* ARGSUSED */
 static void
 maintenance_info_sections (char *arg, int from_tty)
 {
   if (exec_bfd)
     {
-      printf_filtered ("Exec file:\n");
+      printf_filtered (_("Exec file:\n"));
       printf_filtered ("    `%s', ", bfd_get_filename (exec_bfd));
       wrap_here ("        ");
-      printf_filtered ("file type %s.\n", bfd_get_target (exec_bfd));
+      printf_filtered (_("file type %s.\n"), bfd_get_target (exec_bfd));
       if (arg && *arg && match_substring (arg, "ALLOBJ"))
        {
          struct objfile *ofile;
@@ -377,7 +381,7 @@ maintenance_info_sections (char *arg, int from_tty)
 
          ALL_OBJFILES (ofile)
            {
-             printf_filtered ("  Object file: %s\n"
+             printf_filtered (_("  Object file: %s\n")
                               bfd_get_filename (ofile->obfd));
              ALL_OBJFILE_OSECTIONS (ofile, osect)
                {
@@ -391,15 +395,14 @@ maintenance_info_sections (char *arg, int from_tty)
 
   if (core_bfd)
     {
-      printf_filtered ("Core file:\n");
+      printf_filtered (_("Core file:\n"));
       printf_filtered ("    `%s', ", bfd_get_filename (core_bfd));
       wrap_here ("        ");
-      printf_filtered ("file type %s.\n", bfd_get_target (core_bfd));
+      printf_filtered (_("file type %s.\n"), bfd_get_target (core_bfd));
       bfd_map_over_sections (core_bfd, print_bfd_section_info, arg);
     }
 }
 
-/* ARGSUSED */
 void
 maintenance_print_statistics (char *args, int from_tty)
 {
@@ -407,7 +410,7 @@ maintenance_print_statistics (char *args, int from_tty)
   print_symbol_bcache_statistics ();
 }
 
-void
+static void
 maintenance_print_architecture (char *args, int from_tty)
 {
   if (args == NULL)
@@ -416,7 +419,7 @@ maintenance_print_architecture (char *args, int from_tty)
     {
       struct ui_file *file = gdb_fopen (args, "w");
       if (file == NULL)
-       perror_with_name ("maintenance print architecture");
+       perror_with_name (_("maintenance print architecture"));
       gdbarch_dump (current_gdbarch, file);    
       ui_file_delete (file);
     }
@@ -426,11 +429,10 @@ maintenance_print_architecture (char *args, int from_tty)
    allow_unknown 0.  Therefore, its own definition is called only for
    "maintenance print" with no args.  */
 
-/* ARGSUSED */
 static void
 maintenance_print_command (char *arg, int from_tty)
 {
-  printf_unfiltered ("\"maintenance print\" must be followed by the name of a print command.\n");
+  printf_unfiltered (_("\"maintenance print\" must be followed by the name of a print command.\n"));
   help_list (maintenanceprintlist, "maintenance print ", -1, gdb_stdout);
 }
 
@@ -450,7 +452,7 @@ maintenance_translate_address (char *arg, int from_tty)
   struct objfile *objfile;
 
   if (arg == NULL || *arg == 0)
-    error ("requires argument (address or section + address)");
+    error (_("requires argument (address or section + address)"));
 
   sect = NULL;
   p = arg;
@@ -460,7 +462,7 @@ maintenance_translate_address (char *arg, int from_tty)
       while (*p && !isspace (*p))      /* Find end of section name */
        p++;
       if (*p == '\000')                /* End of command? */
-       error ("Need to specify <section-name> and <address>");
+       error (_("Need to specify <section-name> and <address>"));
       *p++ = '\000';
       while (isspace (*p))
        p++;                    /* Skip whitespace */
@@ -473,7 +475,7 @@ maintenance_translate_address (char *arg, int from_tty)
       }
 
       if (!sect)
-       error ("Unknown section %s.", arg);
+       error (_("Unknown section %s."), arg);
     }
 
   address = parse_and_eval_address (p);
@@ -488,9 +490,9 @@ maintenance_translate_address (char *arg, int from_tty)
                     SYMBOL_PRINT_NAME (sym),
                     paddr_u (address - SYMBOL_VALUE_ADDRESS (sym)));
   else if (sect)
-    printf_filtered ("no symbol at %s:0x%s\n", sect->name, paddr (address));
+    printf_filtered (_("no symbol at %s:0x%s\n"), sect->name, paddr (address));
   else
-    printf_filtered ("no symbol at 0x%s\n", paddr (address));
+    printf_filtered (_("no symbol at 0x%s\n"), paddr (address));
 
   return;
 }
@@ -505,9 +507,9 @@ maintenance_deprecate (char *args, int from_tty)
 {
   if (args == NULL || *args == '\0')
     {
-      printf_unfiltered ("\"maintenance deprecate\" takes an argument, \n\
+      printf_unfiltered (_("\"maintenance deprecate\" takes an argument, \n\
 the command you want to deprecate, and optionally the replacement command \n\
-enclosed in quotes.\n");
+enclosed in quotes.\n"));
     }
 
   maintenance_do_deprecate (args, 1);
@@ -520,8 +522,8 @@ maintenance_undeprecate (char *args, int from_tty)
 {
   if (args == NULL || *args == '\0')
     {
-      printf_unfiltered ("\"maintenance undeprecate\" takes an argument, \n\
-the command you want to undeprecate.\n");
+      printf_unfiltered (_("\"maintenance undeprecate\" takes an argument, \n\
+the command you want to undeprecate.\n"));
     }
 
   maintenance_do_deprecate (args, 0);
@@ -553,7 +555,7 @@ maintenance_do_deprecate (char *text, int deprecate)
 
   if (!lookup_cmd_composition (text, &alias, &prefix_cmd, &cmd))
     {
-      printf_filtered ("Can't find command '%s' to deprecate.\n", text);
+      printf_filtered (_("Can't find command '%s' to deprecate.\n"), text);
       return;
     }
 
@@ -614,13 +616,13 @@ maintenance_do_deprecate (char *text, int deprecate)
 
 /* Maintenance set/show framework.  */
 
-static struct cmd_list_element *maintenance_set_cmdlist;
-static struct cmd_list_element *maintenance_show_cmdlist;
+struct cmd_list_element *maintenance_set_cmdlist;
+struct cmd_list_element *maintenance_show_cmdlist;
 
 static void
 maintenance_set_cmd (char *args, int from_tty)
 {
-  printf_unfiltered ("\"maintenance set\" must be followed by the name of a set command.\n");
+  printf_unfiltered (_("\"maintenance set\" must be followed by the name of a set command.\n"));
   help_list (maintenance_set_cmdlist, "maintenance set ", -1, gdb_stdout);
 }
 
@@ -633,6 +635,12 @@ maintenance_show_cmd (char *args, int from_tty)
 /* Profiling support.  */
 
 static int maintenance_profile_p;
+static void
+show_maintenance_profile_p (struct ui_file *file, int from_tty,
+                           struct cmd_list_element *c, const char *value)
+{
+  fprintf_filtered (file, _("Internal profiling is %s.\n"), value);
+}
 
 #if defined (HAVE_MONSTARTUP) && defined (HAVE__MCLEANUP)
 
@@ -690,7 +698,7 @@ maintenance_set_profile_cmd (char *args, int from_tty, struct cmd_list_element *
 static void
 maintenance_set_profile_cmd (char *args, int from_tty, struct cmd_list_element *c)
 {
-  error ("Profiling support is not available on this system.");
+  error (_("Profiling support is not available on this system."));
 }
 #endif
 
@@ -699,24 +707,24 @@ _initialize_maint_cmds (void)
 {
   struct cmd_list_element *tmpcmd;
 
-  add_prefix_cmd ("maintenance", class_maintenance, maintenance_command,
-                 "Commands for use by GDB maintainers.\n\
+  add_prefix_cmd ("maintenance", class_maintenance, maintenance_command, _("\
+Commands for use by GDB maintainers.\n\
 Includes commands to dump specific internal GDB structures in\n\
 a human readable form, to cause GDB to deliberately dump core,\n\
-to test internal functions such as the C++/ObjC demangler, etc.",
+to test internal functions such as the C++/ObjC demangler, etc."),
                  &maintenancelist, "maintenance ", 0,
                  &cmdlist);
 
   add_com_alias ("mt", "maintenance", class_maintenance, 1);
 
-  add_prefix_cmd ("info", class_maintenance, maintenance_info_command,
-     "Commands for showing internal info about the program being debugged.",
+  add_prefix_cmd ("info", class_maintenance, maintenance_info_command, _("\
+Commands for showing internal info about the program being debugged."),
                  &maintenanceinfolist, "maintenance info ", 0,
                  &maintenancelist);
   add_alias_cmd ("i", "info", class_maintenance, 1, &maintenancelist);
 
-  add_cmd ("sections", class_maintenance, maintenance_info_sections,
-          "List the BFD sections of the exec and core files. \n\
+  add_cmd ("sections", class_maintenance, maintenance_info_sections, _("\
+List the BFD sections of the exec and core files. \n\
 Arguments may be any combination of:\n\
        [one or more section names]\n\
        ALLOC LOAD RELOC READONLY CODE DATA ROM CONSTRUCTOR\n\
@@ -724,150 +732,155 @@ Arguments may be any combination of:\n\
 Sections matching any argument will be listed (no argument\n\
 implies all sections).  In addition, the special argument\n\
        ALLOBJ\n\
-lists all sections from all object files, including shared libraries.",
+lists all sections from all object files, including shared libraries."),
           &maintenanceinfolist);
 
   add_prefix_cmd ("print", class_maintenance, maintenance_print_command,
-                 "Maintenance command for printing GDB internal state.",
+                 _("Maintenance command for printing GDB internal state."),
                  &maintenanceprintlist, "maintenance print ", 0,
                  &maintenancelist);
 
-  add_prefix_cmd ("set", class_maintenance, maintenance_set_cmd, "\
+  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",
+Configure variables internal to GDB that aid in GDB's maintenance"),
                  &maintenance_set_cmdlist, "maintenance set ",
                  0/*allow-unknown*/,
                  &maintenancelist);
 
-  add_prefix_cmd ("show", class_maintenance, maintenance_show_cmd, "\
+  add_prefix_cmd ("show", class_maintenance, maintenance_show_cmd, _("\
 Show GDB internal variables used by the GDB maintainer.\n\
-Configure variables internal to GDB that aid in GDB's maintenance",
+Configure variables internal to GDB that aid in GDB's maintenance"),
                  &maintenance_show_cmdlist, "maintenance show ",
                  0/*allow-unknown*/,
                  &maintenancelist);
 
 #ifndef _WIN32
-  add_cmd ("dump-me", class_maintenance, maintenance_dump_me,
-          "Get fatal error; make debugger dump its core.\n\
+  add_cmd ("dump-me", class_maintenance, maintenance_dump_me, _("\
+Get fatal error; make debugger dump its core.\n\
 GDB sets its handling of SIGQUIT back to SIG_DFL and then sends\n\
-itself a SIGQUIT signal.",
+itself a SIGQUIT signal."),
           &maintenancelist);
 #endif
 
-  add_cmd ("internal-error", class_maintenance, maintenance_internal_error,
-          "Give GDB an internal error.\n\
-Cause GDB to behave as if an internal error was detected.",
+  add_cmd ("internal-error", class_maintenance,
+          maintenance_internal_error, _("\
+Give GDB an internal error.\n\
+Cause GDB to behave as if an internal error was detected."),
           &maintenancelist);
 
-  add_cmd ("internal-warning", class_maintenance, maintenance_internal_warning,
-          "Give GDB an internal warning.\n\
-Cause GDB to behave as if an internal warning was reported.",
+  add_cmd ("internal-warning", class_maintenance,
+          maintenance_internal_warning, _("\
+Give GDB an internal warning.\n\
+Cause GDB to behave as if an internal warning was reported."),
           &maintenancelist);
 
-  add_cmd ("demangle", class_maintenance, maintenance_demangle,
-          "Demangle a C++/ObjC mangled name.\n\
+  add_cmd ("demangle", class_maintenance, maintenance_demangle, _("\
+Demangle a C++/ObjC mangled name.\n\
 Call internal GDB demangler routine to demangle a C++ link name\n\
-and prints the result.",
+and prints the result."),
           &maintenancelist);
 
-  add_cmd ("time", class_maintenance, maintenance_time_display,
-          "Set the display of time usage.\n\
+  add_cmd ("time", class_maintenance, maintenance_time_display, _("\
+Set the display of time usage.\n\
 If nonzero, will cause the execution time for each command to be\n\
-displayed, following the command's output.",
+displayed, following the command's output."),
           &maintenancelist);
 
-  add_cmd ("space", class_maintenance, maintenance_space_display,
-          "Set the display of space usage.\n\
+  add_cmd ("space", class_maintenance, maintenance_space_display, _("\
+Set the display of space usage.\n\
 If nonzero, will cause the execution space for each command to be\n\
-displayed, following the command's output.",
+displayed, following the command's output."),
           &maintenancelist);
 
-  add_cmd ("type", class_maintenance, maintenance_print_type,
-          "Print a type chain for a given symbol.\n\
+  add_cmd ("type", class_maintenance, maintenance_print_type, _("\
+Print a type chain for a given symbol.\n\
 For each node in a type chain, print the raw data for each member of\n\
-the type structure, and the interpretation of the data.",
+the type structure, and the interpretation of the data."),
           &maintenanceprintlist);
 
-  add_cmd ("symbols", class_maintenance, maintenance_print_symbols,
-          "Print dump of current symbol definitions.\n\
+  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.",
+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\
+  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.",
+If a SOURCE file is specified, dump only that file's minimal symbols."),
           &maintenanceprintlist);
 
-  add_cmd ("psymbols", class_maintenance, maintenance_print_psymbols,
-          "Print dump of current partial symbol definitions.\n\
+  add_cmd ("psymbols", class_maintenance, maintenance_print_psymbols, _("\
+Print dump of current partial symbol definitions.\n\
 Entries in the partial symbol table are dumped to file OUTFILE.\n\
-If a SOURCE file is specified, dump only that file's partial symbols.",
+If a SOURCE file is specified, dump only that file's partial symbols."),
           &maintenanceprintlist);
 
   add_cmd ("objfiles", class_maintenance, maintenance_print_objfiles,
-          "Print dump of current object file definitions.",
+          _("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\
+  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.",
+With an argument REGEXP, list the symbol tables whose names that match that."),
           &maintenanceinfolist);
 
-  add_cmd ("psymtabs", class_maintenance, maintenance_info_psymtabs,
-          "List the partial symbol tables for all object files.\n\
+  add_cmd ("psymtabs", class_maintenance, maintenance_info_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.",
+just the symbol table structures themselves."),
           &maintenanceinfolist);
 
   add_cmd ("statistics", class_maintenance, maintenance_print_statistics,
-          "Print statistics about internal gdb state.",
+          _("Print statistics about internal gdb state."),
           &maintenanceprintlist);
 
-  add_cmd ("architecture", class_maintenance, maintenance_print_architecture,
-          "Print the internal architecture configuration.\
-Takes an optional file parameter.",
+  add_cmd ("architecture", class_maintenance,
+          maintenance_print_architecture, _("\
+Print the internal architecture configuration.\n\
+Takes an optional file parameter."),
           &maintenanceprintlist);
 
   add_cmd ("check-symtabs", class_maintenance, maintenance_check_symtabs,
-          "Check consistency of psymtabs and symtabs.",
+          _("Check consistency of psymtabs and symtabs."),
           &maintenancelist);
 
   add_cmd ("translate-address", class_maintenance, maintenance_translate_address,
-          "Translate a section name and address to a symbol.",
+          _("Translate a section name and address to a symbol."),
           &maintenancelist);
 
-  add_cmd ("deprecate", class_maintenance, maintenance_deprecate,
-          "Deprecate a command.  Note that this is just in here so the \n\
+  add_cmd ("deprecate", class_maintenance, maintenance_deprecate, _("\
+Deprecate a command.  Note that this is just in here so the \n\
 testsuite can check the comamnd deprecator. You probably shouldn't use this,\n\
 rather you should use the C function deprecate_cmd().  If you decide you \n\
 want to use it: maintenance deprecate 'commandname' \"replacement\". The \n\
-replacement is optional.", &maintenancelist);
+replacement is optional."), &maintenancelist);
 
-  add_cmd ("undeprecate", class_maintenance, maintenance_undeprecate,
-          "Undeprecate a command.  Note that this is just in here so the \n\
+  add_cmd ("undeprecate", class_maintenance, maintenance_undeprecate, _("\
+Undeprecate a command.  Note that this is just in here so the \n\
 testsuite can check the comamnd deprecator. You probably shouldn't use this,\n\
-If you decide you want to use it: maintenance undeprecate 'commandname'",
+If you decide you want to use it: maintenance undeprecate 'commandname'"),
           &maintenancelist);
 
-  add_show_from_set (
-                     add_set_cmd ("watchdog", class_maintenance, var_zinteger, (char *) &watchdog,
-                                  "Set watchdog timer.\n\
-When non-zero, this timeout is used instead of waiting forever for a target to\n\
-finish a low-level step or continue operation.  If the specified amount of time\n\
-passes without a response from the target, an error occurs.", &setlist),
-                     &showlist);
-
+  add_setshow_zinteger_cmd ("watchdog", class_maintenance, &watchdog, _("\
+Set watchdog timer."), _("\
+Show watchdog timer."), _("\
+When non-zero, this timeout is used instead of waiting forever for a target\n\
+to finish a low-level step or continue operation.  If the specified amount\n\
+of time passes without a response from the target, an error occurs."),
+                           NULL,
+                           show_watchdog,
+                           &setlist, &showlist);
 
   add_setshow_boolean_cmd ("profile", class_maintenance,
-                          &maintenance_profile_p,
-                          "Set internal profiling.\n"
-                          "When enabled GDB is profiled.",
-                          "Show internal profiling.\n",
-                          maintenance_set_profile_cmd, NULL,
+                          &maintenance_profile_p, _("\
+Set internal profiling."), _("\
+Show internal profiling."), _("\
+When enabled GDB is profiled."),
+                          maintenance_set_profile_cmd,
+                          show_maintenance_profile_p,
                           &maintenance_set_cmdlist,
                           &maintenance_show_cmdlist);
 }
This page took 0.034024 seconds and 4 git commands to generate.