instead of frame_read_register.
(i386_fetch_pointer_argument): Use get_frame_register_unsigned
instead of frame_read_register. Use I386_ESP_REGNUM instead of
SP_REGNUM.
(i386_frame_prev_register): Use frame_unwind_register_unsigned
instead of frame_unwind_unsigned_register. Use
I386_EFLAGS_REGISTER instead of PS_REGNUM.
(i386_get_longjmp_target): Use regcache_read_unsigned_register
instead of read_register. Use builtin_type_void_data_ptr instead
of builtin_type_void_func_ptr when extracting the address of the
jmp_buf.
(i386_extract_return_value, i386_store_return_value,
i386_pseudo_register_read, i386_pseudo_register_write): Use
register_size instead REGISTER_RAW_SIZE.
(i387_print_float_info): Use get_frame_register and
get_frame_register_unsigned instead of frame_register_read.
(child_resume): Make `eflags' an ULONGEST. Use
regcache_cooked_read_unsigned and regcache_cooked_write_unsigned
instead of register_read and register_write.
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
* interps.c (interp_set): Check for a NULL "old_interp".
Index: mi/ChangeLog
2003-08-08 Andrew Cagney <cagney@redhat.com>
* mi-main.c (captured_mi_execute_command): Add "mi2" and "mi3" to
interpreters that hack around CLI.
* mi-interp.c (mi3_command_loop): New function.
(mi_interpreter_resume): Check for "mi3", default to "mi2".
2003-08-08 H.J. Lu <hongjiu.lu@intel.com>
* Makefile.in (FLAGS_TO_PASS): Add DESTDIR.
(install-only): Support DESTDIR.
(uninstall): Likewise.
(install-gdbtk): Likewise.
gdb/doc/
2003-08-08 H.J. Lu <hongjiu.lu@intel.com>
* Makefile.in (install-info): Support DESTDIR.
(install-html): Likewise.
gdb/gdbserver/
2003-08-08 H.J. Lu <hongjiu.lu@intel.com>
* Makefile.in (install-only): Create dest dir. Support DESTDIR.
(uninstall): Support DESTDIR.
mmalloc/
2003-08-08 H.J. Lu <hongjiu.lu@intel.com>
* Makefile.in (install-info): Create dest dir. Support DESTDIR.
(install): Likewise.
* inferior.h (AT_SYMBOL): Define.
* blockframe.c (inside_entry_file): Check for AT_SYMBOL.
* infcall.c (call_function_by_hand): Add code to handle AT_SYMBOL.
* mips-tdep.c (mips_call_dummy_address): Delete function.
(mips_gdbarch_init): Set call_dummy_location to AT_SYMBOL, do not
set call_dummy_address.
* gdb.base/attach.exp, gdb.base/detach.exp, gdb.base/gcore.exp,
gdb.mi/mi-basics.exp, gdb.threads/gcore-thread.exp,
gdb.trace/save-trace.exp: Make sure that full pathnames are
escaped correctly.
* 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.
* mi-cmd-env.c (env_execute_cli_command): Use an explicit "%s %s"
when constructing the run command.
(mi_cmd_env_cd, mi_cmd_env_path, mi_cmd_env_dir): Simplify command
string removing the "%s".