X-Git-Url: http://git.efficios.com/?a=blobdiff_plain;f=gdb%2Fmaint.c;h=2f431fd405e641a0876f244a4b1738c071e2e3a0;hb=7160c4c357f1e15085c0cd6c9d56b5035f356f6e;hp=0ee3533a7103c71acc5989ada13e0fea176a8dc2;hpb=bb599908a8d0f463182ab1fd0abb56ea15bfd627;p=deliverable%2Fbinutils-gdb.git diff --git a/gdb/maint.c b/gdb/maint.c index 0ee3533a71..2f431fd405 100644 --- a/gdb/maint.c +++ b/gdb/maint.c @@ -1,7 +1,7 @@ /* Support for GDB maintenance commands. - Copyright 1992, 1993, 1994, 1995, 1996, 1997, 1999, 2000, 2001, - 2002, 2003, 2004 Free Software Foundation, Inc. + Copyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1999, 2000, 2001, 2002, + 2003, 2004, 2007 Free Software Foundation, Inc. Written by Fred Fish at Cygnus Support. @@ -9,7 +9,7 @@ This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by - the Free Software Foundation; either version 2 of the License, or + the Free Software Foundation; either version 3 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, @@ -18,9 +18,7 @@ GNU General Public License for more details. You should have received a copy of the GNU General Public License - along with this program; if not, write to the Free Software - Foundation, Inc., 59 Temple Place - Suite 330, - Boston, MA 02111-1307, USA. */ + along with this program. If not, see . */ #include "defs.h" @@ -44,8 +42,6 @@ extern void _initialize_maint_cmds (void); static void maintenance_command (char *, int); -static void maintenance_dump_me (char *, int); - static void maintenance_internal_error (char *args, int from_tty); static void maintenance_demangle (char *, int); @@ -69,6 +65,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,7 +89,7 @@ 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); } @@ -146,7 +148,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 { @@ -159,7 +161,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); } } } @@ -170,7 +172,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); } @@ -193,7 +195,7 @@ maintenance_space_display (char *args, int from_tty) 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); } @@ -304,7 +306,8 @@ 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", @@ -356,10 +359,10 @@ 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; @@ -374,7 +377,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) { @@ -388,10 +391,10 @@ 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); } } @@ -412,7 +415,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); } @@ -425,7 +428,7 @@ maintenance_print_architecture (char *args, int from_tty) 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); } @@ -445,7 +448,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; @@ -455,7 +458,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 and
"); + error (_("Need to specify and
")); *p++ = '\000'; while (isspace (*p)) p++; /* Skip whitespace */ @@ -468,7 +471,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); @@ -483,9 +486,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; } @@ -500,9 +503,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); @@ -515,8 +518,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); @@ -548,7 +551,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; } @@ -609,13 +612,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); } @@ -628,6 +631,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) @@ -685,7 +694,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 @@ -694,24 +703,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\ @@ -719,153 +728,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); - deprecated_add_show_from_set - (add_set_cmd ("watchdog", class_maintenance, var_zinteger, - (char *) &watchdog, - "Set watchdog timer.\n\ + 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.", - &setlist), - &showlist); - +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.", "\ -Show internal profiling.", "\ -When enabled GDB is profiled.", "\ -Internal profiling is %s.", - 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); }