Fix GDB PR cli/926.
* cli/cli-decode.c (add_setshow_uinteger_cmd): New function.
* command.h (add_setshow_uinteger_cmd): Declare.
* frame.c (set_backtrace_cmd): New function.
(show_backtrace_cmd): New function.
* frame.c (_initialize_frame): Replace "set/show
backtrace-below-main" with "set/show backtrace past-main". Add
command "set/show backtrace limit".
(backtrace_past_main): Rename "backtrace_below_main".
(backtrace_limit): New variable.
(get_prev_frame): Update. Check the backtrace_limit.
2003-08-09 Andrew Cagney <cagney@redhat.com>
* gdb.texinfo (Backtrace): Replace "set/show backtrace-below-main"
with "set/show backtrace past-main" and "set/show backtrace
limit".
Index: doc/gdb.texinfo
===================================================================
RCS file: /cvs/src/src/gdb/doc/gdb.texinfo,v
retrieving revision 1.174
diff -u -r1.174 gdb.texinfo
--- doc/gdb.texinfo 8 Aug 2003 01:58:00 -0000 1.174
+++ doc/gdb.texinfo 9 Aug 2003 14:57:10 -0000
@@ -3922,27 +3922,40 @@
value, indicating that your program has stopped at the beginning of the
code for line @code{993} of @code{builtin.c}.
-@kindex set backtrace-below-main
-@kindex show backtrace-below-main
+@kindex set backtrace past-main
+@kindex show backtrace past-main
+@kindex set backtrace limit
+@kindex show backtrace limit
-Most programs have a standard entry point---a place where system libraries
-and startup code transition into user code. For C this is @code{main}.
-When @value{GDBN} finds the entry function in a backtrace it will terminate
-the backtrace, to avoid tracing into highly system-specific (and generally
-uninteresting) code. If you need to examine the startup code, then you can
-change this behavior.
+Most programs have a standard user entry point---a place where system
+libraries and startup code transition into user code. For C this is
+@code{main}. When @value{GDBN} finds the entry function in a backtrace
+it will terminate the backtrace, to avoid tracing into highly
+system-specific (and generally uninteresting) code.
+
+If you need to examine the startup code, or limit the number of levels
+in a backtrace, you can change this behavior:
@table @code
-@item set backtrace-below-main off
+@item set backtrace past-main
+@itemx set backtrace past-main on
+Backtraces will continue past the user entry point.
+
+@item set backtrace past-main off
Backtraces will stop when they encounter the user entry point. This is the
default.
-@item set backtrace-below-main
-@itemx set backtrace-below-main on
-Backtraces will continue past the user entry point to the top of the stack.
+@item show backtrace past-main
+Display the current user entry point backtrace policy.
+
+@item set backtrace limit @var{n}
+@itemx set backtrace limit 0
+@cindex backtrace limit
+Limit the backtrace to @var{n} levels. A value of zero means
+unlimited.
-@item show backtrace-below-main
-Display the current backtrace policy.
+@item show backtrace limit
+Display the current limit on backtrace levels.
@end table
@node Selection
* gdb.texinfo (Mode Options): Mention that level three is the
highest available and that level 2 is deprecated.
(Annotations Overview): Mention annotation levels. Cross reference
to "Limitations of the Annotation Interface" in annotate.texi.
(TODO, Value Annotations, Frame Annotations): Delete section.
(Displays, Breakpoint Info): Delete.
* agentexpr.texi: Retitle section, and change it to an appendix.
Comment out texinfo initialization. Factor a @var{} into two
pieces to prevent makeinfo warnings.
* gdb.texinfo: Add Agent Expressions appendix.
'dump', 'append', and 'restore': note that format argument is
optional; simplify presentation of the command variants; and be
more precise about the formats.
Rename commands 'maint list symtabs' and 'maint list psymtabs' to
'maint info symtabs' and 'maint info psymtabs'.
* symmisc.c (maintenance_info_symtabs, maintenance_info_psymtabs):
Renamed from maintenance_list_symtabs and maintenance_list_psymtabs.
* symtab.h (maintenance_info_symtabs, maintenance_info_psymtabs):
Declarations updated.
* maint.c (maintenance_list_command): Delete.
(_initialize_maint_cmds): Update calls to add_cmd.
* gdbcmd.h (maintenancelistlist): Delete declaration.
* cli/cli-cmds.c (maintenancelistlist): Delete.
(init_cmd_lists): Don't initialize it.
* cli/cli-cmds.h (maintenancelistlist): Delete declaration.
gdb/doc/ChangeLog:
* gdb.texinfo (Symbols): Update documentation: 'maint list
symtabs' and 'maint list psymtabs' have been renamed 'maint info
symtabs' and 'maint info psymtabs'.
2003-05-02 Elena Zannoni <ezannoni@redhat.com>
* charset.c (GDB_DEFAULT_TARGET_CHARSET,
GDB_DEFAULT_HOST_CHARSET): Move to earlier in the file.
(host_charset_name, target_charset_name): New vars for use by
set/show commands.
(host_charset_enum, target_charset_enum): New enums for set/show
commands.
(set_charset_sfunc, set_host_charset_sfunc,
set_target_charset_sfunc): New functions.
(set_host_charset, set_target_charset): Make static.
(list_charsets, set_host_charset_command,
set_target_charset_command): Delete functions.
(show_charset_command): Rewrite as....
(show_charset): Hook this up with the set/show command mechanism.
(_initialize_charset): Change names of charsets to match the
set/show enums. Use host_charset_name and target_charset_name.
Use set/show mechanism for charset, host-charset, target-charset
commands. Do not make 'show host-charset' and 'show
target-charset' be aliases of 'show charset'.
* charset.h (set_host_charset, set_target_charset): Don't export,
they are not used outside the file.
gdb/testsuite:
2003-05-01 Elena Zannoni <ezannoni@redhat.com>
* gdb.base/charset.exp: Update based on new behavior of set/show
charset commands.
gdb/doc:
2003-05-02 Elena Zannoni <ezannoni@redhat.com>
* gdb.texinfo (Character Sets): Update to reflect new behavior of
set/show charsets commands.
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'.
From Keith Seitz <keiths@redhat.com>:
* gdb.texinfo (Interpreters): New chapter. Refer the command-line
option "-i"/"--interpreter" to this chapter. Include index
entries.
* gdb.texinfo (C@t{++}): Recommend DWARF 2, then stabs+.
(Variables): Recommend stabs+ and DWARF 2.
(C plus plus expressions): Correct info about
compiler versions, debug formats.
(Contributors): Change 'DWARF2' to 'DWARF 2'.
PR symtab/874.
* main.c (captured_main): Delete #ifdef ADDITIONAL_OPTIONS,
ADDITIONAL_OPTION_CASES, and ADDITIONAL_OPTION_HANDLER code.
(print_gdb_help): Delete #ifdef ADDITIONAL_OPTION_HELP code.
* stabsread.c (DBX_PARM_SYMBOL_CLASS): Delete macro.
(define_symbol): Update.
* symfile.c (generic_load): Remove references to nindy.
* symtab.c: Remove references to nindy.
Index: doc/ChangeLog
2003-02-01 Andrew Cagney <ac131313@redhat.com>
* gdbint.texinfo (Target Architecture Definition): Delete
description of ADDITIONAL_OPTIONS, ADDITIONAL_OPTION_CASES,
ADDITIONAL_OPTION_HANDLER, and ADDITIONAL_OPTION_HELP, and
BEFORE_MAIN_LOOP_HOOK, and DBX_PARM_SYMBOL_CLASS along with
references to nindy and i960.
* gdb.texinfo (i960): Delete all references to i960 and nindy.
2003-01-23 Alexander Larsson <alexl@redhat.com>
Jim Blandy <jimb@redhat.com>
Add support for executables whose debug info has been separated
out into a separate file, leaving only a link behind.
* objfiles.h (struct objfile): New fields: separate_debug_objfile
and separate_debug_objfile_backlink.
(put_objfile_before): New declaration.
* symfile.c: #include "filenames.h".
(symbol_file_add_with_addrs_or_offsets): If this objfile has its
debug info in a separate file, read that, too. Save the addrs
argument, so we can use it again to read the separated debug info;
syms_from_objfile modifies the table we pass it.
(reread_symbols): After re-reading an objfile, call
reread_separate_symbols to refresh its separate debug info
objfile, if it has one.
(reread_separate_symbols, find_separate_debug_file,
get_debug_link_info, separate_debug_file_exists): New functions.
(debug_file_directory): New global var.
(_initialize_symfile): Initialize debug_file_directory, and
provide the new `set debug-file-directory' command to let the user
change it.
* objfiles.c (free_objfile): If this objfile has its debug info in
a separate objfile, free that one too. If this is itself a
separate debug info objfile, clear our parent's backlink.
(put_objfile_before): New function.
* utils.c (gnu_debuglink_crc32): New function.
* defs.h (gnu_debuglink_crc32): New declaration.
* Makefile.in (symfile.o): Note dependency on "filenames.h".
* configure.in: Handle --with-separate-debug-dir config option.
* acinclude.m4 (AC_DEFINE_DIR): New macro.
* acconfig.h (DEBUGDIR): New macro.
* configure, aclocal.m4, config.in: Regenerated.
gdb/doc/ChangeLog:
2003-01-23 Jim Blandy <jimb@redhat.com>
* gdb.texinfo (Separate Debug Files): New section.
* NEWS: Mention that MI syntax, selected by "mi" changed to "mi2"
and that "mi0" syntax has been removed.
2002-10-01 Andrew Cagney <ac131313@redhat.com>
* gdb.texinfo (Mode Options): Update --interpreter option. "mi2"
and "mi1" instead of "mi1" and "mi0".
2002-10-01 Andrew Cagney <ac131313@redhat.com>
* mi-main.c (mi2_command_loop): New function.
(mi0_command_loop): Delete function.
(_initialize_mi_main): Recognize, and default to, "mi2". Do not
recognize "mi0".
* mi-out.c (mi_table_begin): Remove mi0 code.
(mi_table_body, mi_table_end): Ditto.
(mi_table_header, mi_open, mi_close): Ditto.