mirror of
https://github.com/espressif/binutils-gdb.git
synced 2025-08-05 21:50:21 +08:00
2002-11-29 Andrew Cagney <ac131313@redhat.com>
* stack.c (selected_frame, select_frame): Move from here ... * frame.c (selected_frame, select_frame): ... to here. Include "language.h". * Makefile.in (frame.o): Update dependencies. * frame.c (get_selected_frame): New function. * frame.h (get_selected_frame): Declare. (deprecated_selected_frame): Rename selected_frame. * ada-lang.c, ada-tasks.c, breakpoint.c, corelow.c: Update. * eval.c, f-valprint.c, findvar.c, frame.c, frame.h: Update. * h8300-tdep.c, h8500-tdep.c, hppa-tdep.c, infcmd.c: Update. * inflow.c, infrun.c, macroscope.c, mips-tdep.c: Update. * mn10300-tdep.c, ocd.c, regcache.h, remote-e7000.c: Update. * remote-mips.c, remote-rdp.c, sh-tdep.c, sparc-tdep.c: Update. * stack.c, thread.c, tracepoint.c, valops.c, varobj.c: Update. * z8k-tdep.c, cli/cli-cmds.c: Update. Index: mi/ChangeLog 2002-11-29 Andrew Cagney <ac131313@redhat.com> * mi/mi-cmd-stack.c, mi/mi-main.c: Update to use deprecated_selected_frame. Index: tui/ChangeLog 2002-11-29 Andrew Cagney <ac131313@redhat.com> * tui/tui-hooks.c: Update to use deprecated_selected_frame. * tui/tui.c, tui/tuiDisassem.c, tui/tuiRegs.c: Ditto. * tui/tuiSource.c, tui/tuiSourceWin.c, tui/tuiWin.c: Ditto.
This commit is contained in:
31
gdb/frame.h
31
gdb/frame.h
@ -73,15 +73,24 @@ extern struct frame_info *get_current_frame (void);
|
||||
flush_cached_frames() and reinit_frame_cache() is that the latter
|
||||
explicitly sets the selected frame back to the current frame there
|
||||
isn't any real difference (except that one delays the selection of
|
||||
a new frame). There should instead be a get_selected_frame()
|
||||
method that reinit's the frame cache on-demand. As for
|
||||
invalidating the cache, there should be two methods one that
|
||||
reverts the thread's selected frame back to current frame (for when
|
||||
the inferior resumes) and one that does not (for when the user
|
||||
modifies the target invalidating the frame cache). */
|
||||
a new frame). Code can instead simply rely on get_selected_frame()
|
||||
to reinit's the selected frame as needed. As for invalidating the
|
||||
cache, there should be two methods one that reverts the thread's
|
||||
selected frame back to current frame (for when the inferior
|
||||
resumes) and one that does not (for when the user modifies the
|
||||
target invalidating the frame cache). */
|
||||
extern void flush_cached_frames (void);
|
||||
extern void reinit_frame_cache (void);
|
||||
|
||||
/* On demand, create the selected frame and then return it. If the
|
||||
selected frame can not be created, this function throws an error. */
|
||||
/* FIXME: cagney/2002-11-28: At present, when there is no selected
|
||||
frame, this function always returns the current (inner most) frame.
|
||||
It should instead, when a thread has previously had its frame
|
||||
selected (but not resumed) and the frame cache invalidated, find
|
||||
and then return that thread's previously selected frame. */
|
||||
extern struct frame_info *get_selected_frame (void);
|
||||
|
||||
/* Select a specific frame. NULL, apparently implies re-select the
|
||||
inner most frame. */
|
||||
extern void select_frame (struct frame_info *);
|
||||
@ -564,21 +573,21 @@ extern void return_command (char *, int);
|
||||
The relevant code needs to be audited to determine if it is
|
||||
possible (or pratical) to instead pass the applicable frame in as a
|
||||
parameter. For instance, DEPRECATED_DO_REGISTERS_INFO() relied on
|
||||
the selected_frame global, but its replacement,
|
||||
the deprecated_selected_frame global, while its replacement,
|
||||
PRINT_REGISTERS_INFO(), is parameterized with the selected frame.
|
||||
The only real exceptions occure at the edge (in the CLI code) where
|
||||
user commands need to pick up the selected frame before proceeding.
|
||||
|
||||
This is important. GDB is trying to stamp out the hack:
|
||||
|
||||
saved_frame = selected_frame;
|
||||
selected_frame = ...;
|
||||
saved_frame = deprecated_selected_frame;
|
||||
deprecated_selected_frame = ...;
|
||||
hack_using_global_selected_frame ();
|
||||
selected_frame = saved_frame;
|
||||
deprecated_selected_frame = saved_frame;
|
||||
|
||||
Take care! */
|
||||
|
||||
extern struct frame_info *selected_frame;
|
||||
extern struct frame_info *deprecated_selected_frame;
|
||||
|
||||
|
||||
/* NOTE: cagney/2002-11-28:
|
||||
|
Reference in New Issue
Block a user