OSDN Git Service

2003-01-27 Andrew Cagney <ac131313@redhat.com>
authorAndrew Cagney <cagney@redhat.com>
Mon, 27 Jan 2003 21:41:41 +0000 (21:41 +0000)
committerAndrew Cagney <cagney@redhat.com>
Mon, 27 Jan 2003 21:41:41 +0000 (21:41 +0000)
commitbe4507bdc9e5c7e6e4471ff361534232aea3e442
tree6adbe97543cf8afae6cc24a1ed637ebb39f02382
parent38fec97148307ce55c3c20dcee14820550816e1c
2003-01-27  Andrew Cagney  <ac131313@redhat.com>

* sentinel-frame.h, sentinel-frame.c: New files.
* Makefile.in (frame.o): Update dependencies.
(SFILES): Add sentinel-frame.c.
(sentinel_frame_h): Define.
(COMMON_OBS): Add sentinel-frame.o.
(sentinel-frame.o): Specify dependencies.
* frame.c: Include "sentinel-frame.h".
(frame_register_unwind): Rewrite assuming that there is always a a
->next frame.
(frame_register, generic_unwind_get_saved_register): Ditto.
(frame_read_unsigned_register, frame_read_signed_register): Ditto.
(create_sentinel_frame, unwind_to_current_frame): New functions.
(get_current_frame): Rewrite using create_sentinel_frame and
unwind_to_current_frame.  When possible, always create a frame.
(create_new_frame): Set next to the sentinel frame.
(get_next_frame): Rewrite.  Don't go below the level 0 frame.
(deprecated_update_frame_pc_hack): Update the next frame's PC and
ID cache when necessary.
(frame_saved_regs_id_unwind): Use frame_relative_level.
(deprecated_generic_get_saved_register): Use frame_relative_level,
get_frame_saved_regs, get_frame_pc, get_frame_base and
get_next_frame.
(frame_saved_regs_register_unwind): Use get_frame_saved_regs and
frame_register.
gdb/ChangeLog
gdb/Makefile.in
gdb/frame.c
gdb/sentinel-frame.c [new file with mode: 0644]
gdb/sentinel-frame.h [new file with mode: 0644]