mirror of
https://github.com/espressif/binutils-gdb.git
synced 2025-06-04 22:15:12 +08:00
* frame.h (selected_frame_level): Document as deprecated.
(frame_relative_level): Declare. * stack.c (frame_relative_level): New function. (selected_frame_level): Document as deprecated. (select_frame): Do not set the selected_frame_level. * stack.c (frame_info, record_selected_frame): Update. (frame_command, current_frame_command): Update. (up_silently_base, up_command, down_silently_base): Update. (down_command): Update. * inflow.c (kill_command): Update. * tracepoint.c (finish_tfind_command): Update. * corelow.c (core_open): Update. * thread.c (info_threads_command): Update. (do_captured_thread_select): Update. * infcmd.c (finish_command): Update. * breakpoint.c (insert_breakpoints, do_enable_breakpoint): Update.
This commit is contained in:
@ -1,3 +1,23 @@
|
|||||||
|
2002-04-21 Andrew Cagney <ac131313@redhat.com>
|
||||||
|
|
||||||
|
* frame.h (selected_frame_level): Document as deprecated.
|
||||||
|
(frame_relative_level): Declare.
|
||||||
|
* stack.c (frame_relative_level): New function.
|
||||||
|
(selected_frame_level): Document as deprecated.
|
||||||
|
(select_frame): Do not set the selected_frame_level.
|
||||||
|
|
||||||
|
* stack.c (frame_info, record_selected_frame): Update.
|
||||||
|
(frame_command, current_frame_command): Update.
|
||||||
|
(up_silently_base, up_command, down_silently_base): Update.
|
||||||
|
(down_command): Update.
|
||||||
|
* inflow.c (kill_command): Update.
|
||||||
|
* tracepoint.c (finish_tfind_command): Update.
|
||||||
|
* corelow.c (core_open): Update.
|
||||||
|
* thread.c (info_threads_command): Update.
|
||||||
|
(do_captured_thread_select): Update.
|
||||||
|
* infcmd.c (finish_command): Update.
|
||||||
|
* breakpoint.c (insert_breakpoints, do_enable_breakpoint): Update.
|
||||||
|
|
||||||
2002-04-21 Jason Thorpe <thorpej@wasabisystems.com>
|
2002-04-21 Jason Thorpe <thorpej@wasabisystems.com>
|
||||||
|
|
||||||
* config/alpha/tm-fbsd.h (FRAME_CHAIN_VALID): Remove.
|
* config/alpha/tm-fbsd.h (FRAME_CHAIN_VALID): Remove.
|
||||||
|
@ -901,7 +901,7 @@ insert_breakpoints (void)
|
|||||||
/* Save the current frame and level so we can restore it after
|
/* Save the current frame and level so we can restore it after
|
||||||
evaluating the watchpoint expression on its own frame. */
|
evaluating the watchpoint expression on its own frame. */
|
||||||
saved_frame = selected_frame;
|
saved_frame = selected_frame;
|
||||||
saved_level = selected_frame_level;
|
saved_level = frame_relative_level (selected_frame);
|
||||||
|
|
||||||
/* Determine if the watchpoint is within scope. */
|
/* Determine if the watchpoint is within scope. */
|
||||||
if (b->exp_valid_block == NULL)
|
if (b->exp_valid_block == NULL)
|
||||||
@ -1002,7 +1002,7 @@ insert_breakpoints (void)
|
|||||||
|
|
||||||
/* Restore the frame and level. */
|
/* Restore the frame and level. */
|
||||||
if ((saved_frame != selected_frame) ||
|
if ((saved_frame != selected_frame) ||
|
||||||
(saved_level != selected_frame_level))
|
(saved_level != frame_relative_level (selected_frame)))
|
||||||
select_frame (saved_frame, saved_level);
|
select_frame (saved_frame, saved_level);
|
||||||
|
|
||||||
if (val)
|
if (val)
|
||||||
@ -7282,7 +7282,7 @@ is valid is not currently in scope.\n", bpt->number);
|
|||||||
}
|
}
|
||||||
|
|
||||||
save_selected_frame = selected_frame;
|
save_selected_frame = selected_frame;
|
||||||
save_selected_frame_level = selected_frame_level;
|
save_selected_frame_level = frame_relative_level (selected_frame);
|
||||||
select_frame (fr, -1);
|
select_frame (fr, -1);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -359,7 +359,8 @@ core_open (char *filename, int from_tty)
|
|||||||
/* Now, set up the frame cache, and print the top of stack. */
|
/* Now, set up the frame cache, and print the top of stack. */
|
||||||
flush_cached_frames ();
|
flush_cached_frames ();
|
||||||
select_frame (get_current_frame (), 0);
|
select_frame (get_current_frame (), 0);
|
||||||
print_stack_frame (selected_frame, selected_frame_level, 1);
|
print_stack_frame (selected_frame,
|
||||||
|
frame_relative_level (selected_frame), 1);
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
|
10
gdb/frame.h
10
gdb/frame.h
@ -160,6 +160,11 @@ extern void frame_saved_regs_zalloc (struct frame_info *);
|
|||||||
|
|
||||||
#define FRAME_FP(fi) ((fi)->frame)
|
#define FRAME_FP(fi) ((fi)->frame)
|
||||||
|
|
||||||
|
/* Level of the frame: 0 for innermost, 1 for its caller, ...; or -1
|
||||||
|
for an invalid frame. */
|
||||||
|
|
||||||
|
extern int frame_relative_level (struct frame_info *fi);
|
||||||
|
|
||||||
/* Define a default FRAME_CHAIN_VALID, in the form that is suitable for most
|
/* Define a default FRAME_CHAIN_VALID, in the form that is suitable for most
|
||||||
targets. If FRAME_CHAIN_VALID returns zero it means that the given frame
|
targets. If FRAME_CHAIN_VALID returns zero it means that the given frame
|
||||||
is the outermost one and has no caller.
|
is the outermost one and has no caller.
|
||||||
@ -184,7 +189,10 @@ extern struct frame_info *selected_frame;
|
|||||||
0 for innermost, 1 for its caller, ...
|
0 for innermost, 1 for its caller, ...
|
||||||
or -1 for frame specified by address with no defined level. */
|
or -1 for frame specified by address with no defined level. */
|
||||||
|
|
||||||
extern int selected_frame_level;
|
/* FIXME: cagney/2002-04-21: The variable `selected_frame_level' is
|
||||||
|
deprecated. It will dissapear `real soon now'. */
|
||||||
|
|
||||||
|
extern int selected_frame_level; /* DEPRECATED */
|
||||||
|
|
||||||
extern struct frame_info *create_new_frame (CORE_ADDR, CORE_ADDR);
|
extern struct frame_info *create_new_frame (CORE_ADDR, CORE_ADDR);
|
||||||
|
|
||||||
|
@ -1289,7 +1289,8 @@ finish_command (char *arg, int from_tty)
|
|||||||
if (from_tty)
|
if (from_tty)
|
||||||
{
|
{
|
||||||
printf_filtered ("Run till exit from ");
|
printf_filtered ("Run till exit from ");
|
||||||
print_stack_frame (selected_frame, selected_frame_level, 0);
|
print_stack_frame (selected_frame,
|
||||||
|
frame_relative_level (selected_frame), 0);
|
||||||
}
|
}
|
||||||
|
|
||||||
/* If running asynchronously and the target support asynchronous
|
/* If running asynchronously and the target support asynchronous
|
||||||
|
@ -594,7 +594,8 @@ kill_command (char *arg, int from_tty)
|
|||||||
if (selected_frame == NULL)
|
if (selected_frame == NULL)
|
||||||
fputs_filtered ("No selected stack frame.\n", gdb_stdout);
|
fputs_filtered ("No selected stack frame.\n", gdb_stdout);
|
||||||
else
|
else
|
||||||
print_stack_frame (selected_frame, selected_frame_level, 1);
|
print_stack_frame (selected_frame,
|
||||||
|
frame_relative_level (selected_frame), 1);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -1,3 +1,7 @@
|
|||||||
|
2002-04-14 Andrew Cagney <ac131313@redhat.com>
|
||||||
|
|
||||||
|
* mi-main.c (mi_cmd_exec_return):
|
||||||
|
|
||||||
2002-04-09 Andrew Cagney <ac131313@redhat.com>
|
2002-04-09 Andrew Cagney <ac131313@redhat.com>
|
||||||
|
|
||||||
* mi-main.c (register_changed_p): Use frame_register_read instead
|
* mi-main.c (register_changed_p): Use frame_register_read instead
|
||||||
|
@ -165,7 +165,7 @@ mi_cmd_exec_return (char *args, int from_tty)
|
|||||||
/* Because we have called return_command with from_tty = 0, we need
|
/* Because we have called return_command with from_tty = 0, we need
|
||||||
to print the frame here. */
|
to print the frame here. */
|
||||||
show_and_print_stack_frame (selected_frame,
|
show_and_print_stack_frame (selected_frame,
|
||||||
selected_frame_level,
|
frame_relative_level (selected_frame),
|
||||||
LOC_AND_ADDRESS);
|
LOC_AND_ADDRESS);
|
||||||
|
|
||||||
return MI_CMD_DONE;
|
return MI_CMD_DONE;
|
||||||
|
44
gdb/stack.c
44
gdb/stack.c
@ -119,7 +119,22 @@ struct frame_info *selected_frame;
|
|||||||
0 for innermost, 1 for its caller, ...
|
0 for innermost, 1 for its caller, ...
|
||||||
or -1 for frame specified by address with no defined level. */
|
or -1 for frame specified by address with no defined level. */
|
||||||
|
|
||||||
int selected_frame_level;
|
/* FIXME: cagney/2002-04-21: The variable `selected_frame_level' is
|
||||||
|
deprecated. It will dissapear `real soon now'. */
|
||||||
|
|
||||||
|
int selected_frame_level; /* DEPRECATED */
|
||||||
|
|
||||||
|
/* Level of the selected frame: 0 for innermost, 1 for its caller, ...
|
||||||
|
or -1 for NULL frame. */
|
||||||
|
|
||||||
|
int
|
||||||
|
frame_relative_level (struct frame_info *fi)
|
||||||
|
{
|
||||||
|
if (fi == NULL)
|
||||||
|
return -1;
|
||||||
|
else
|
||||||
|
return fi->level;
|
||||||
|
}
|
||||||
|
|
||||||
/* Zero means do things normally; we are interacting directly with the
|
/* Zero means do things normally; we are interacting directly with the
|
||||||
user. One means print the full filename and linenumber when a
|
user. One means print the full filename and linenumber when a
|
||||||
@ -817,9 +832,10 @@ frame_info (char *addr_exp, int from_tty)
|
|||||||
}
|
}
|
||||||
calling_frame_info = get_prev_frame (fi);
|
calling_frame_info = get_prev_frame (fi);
|
||||||
|
|
||||||
if (!addr_exp && selected_frame_level >= 0)
|
if (!addr_exp && frame_relative_level (selected_frame) >= 0)
|
||||||
{
|
{
|
||||||
printf_filtered ("Stack level %d, frame at ", selected_frame_level);
|
printf_filtered ("Stack level %d, frame at ",
|
||||||
|
frame_relative_level (selected_frame));
|
||||||
print_address_numeric (fi->frame, 1, gdb_stdout);
|
print_address_numeric (fi->frame, 1, gdb_stdout);
|
||||||
printf_filtered (":\n");
|
printf_filtered (":\n");
|
||||||
}
|
}
|
||||||
@ -1457,7 +1473,9 @@ select_frame (struct frame_info *fi, int level)
|
|||||||
register struct symtab *s;
|
register struct symtab *s;
|
||||||
|
|
||||||
selected_frame = fi;
|
selected_frame = fi;
|
||||||
selected_frame_level = level;
|
/* FIXME: cagney/2002-04-21: The variable `selected_frame_level' is
|
||||||
|
deprecated. It will dissapear `real soon now'. */
|
||||||
|
selected_frame_level = level; /* DEPRECATED */
|
||||||
/* FIXME: cagney/2002-04-05: It can't be this easy (and looking at
|
/* FIXME: cagney/2002-04-05: It can't be this easy (and looking at
|
||||||
the increasingly complex list of checkes, it wasn't)! GDB is
|
the increasingly complex list of checkes, it wasn't)! GDB is
|
||||||
dragging around, and constantly updating, the global variable
|
dragging around, and constantly updating, the global variable
|
||||||
@ -1530,7 +1548,7 @@ void
|
|||||||
record_selected_frame (CORE_ADDR *frameaddrp, int *levelp)
|
record_selected_frame (CORE_ADDR *frameaddrp, int *levelp)
|
||||||
{
|
{
|
||||||
*frameaddrp = selected_frame ? selected_frame->frame : 0;
|
*frameaddrp = selected_frame ? selected_frame->frame : 0;
|
||||||
*levelp = selected_frame_level;
|
*levelp = frame_relative_level (selected_frame);
|
||||||
}
|
}
|
||||||
|
|
||||||
/* Return the symbol-block in which the selected frame is executing.
|
/* Return the symbol-block in which the selected frame is executing.
|
||||||
@ -1641,7 +1659,8 @@ void
|
|||||||
frame_command (char *level_exp, int from_tty)
|
frame_command (char *level_exp, int from_tty)
|
||||||
{
|
{
|
||||||
select_frame_command (level_exp, from_tty);
|
select_frame_command (level_exp, from_tty);
|
||||||
show_and_print_stack_frame (selected_frame, selected_frame_level, 1);
|
show_and_print_stack_frame (selected_frame,
|
||||||
|
frame_relative_level (selected_frame), 1);
|
||||||
}
|
}
|
||||||
|
|
||||||
/* The XDB Compatibility command to print the current frame. */
|
/* The XDB Compatibility command to print the current frame. */
|
||||||
@ -1651,7 +1670,8 @@ current_frame_command (char *level_exp, int from_tty)
|
|||||||
{
|
{
|
||||||
if (target_has_stack == 0 || selected_frame == 0)
|
if (target_has_stack == 0 || selected_frame == 0)
|
||||||
error ("No stack.");
|
error ("No stack.");
|
||||||
print_only_stack_frame (selected_frame, selected_frame_level, 1);
|
print_only_stack_frame (selected_frame,
|
||||||
|
frame_relative_level (selected_frame), 1);
|
||||||
}
|
}
|
||||||
|
|
||||||
/* Select the frame up one or COUNT stack levels
|
/* Select the frame up one or COUNT stack levels
|
||||||
@ -1673,7 +1693,7 @@ up_silently_base (char *count_exp)
|
|||||||
fi = find_relative_frame (selected_frame, &count1);
|
fi = find_relative_frame (selected_frame, &count1);
|
||||||
if (count1 != 0 && count_exp == 0)
|
if (count1 != 0 && count_exp == 0)
|
||||||
error ("Initial frame selected; you cannot go up.");
|
error ("Initial frame selected; you cannot go up.");
|
||||||
select_frame (fi, selected_frame_level + count - count1);
|
select_frame (fi, frame_relative_level (selected_frame) + count - count1);
|
||||||
}
|
}
|
||||||
|
|
||||||
static void
|
static void
|
||||||
@ -1686,7 +1706,8 @@ static void
|
|||||||
up_command (char *count_exp, int from_tty)
|
up_command (char *count_exp, int from_tty)
|
||||||
{
|
{
|
||||||
up_silently_base (count_exp);
|
up_silently_base (count_exp);
|
||||||
show_and_print_stack_frame (selected_frame, selected_frame_level, 1);
|
show_and_print_stack_frame (selected_frame,
|
||||||
|
frame_relative_level (selected_frame), 1);
|
||||||
}
|
}
|
||||||
|
|
||||||
/* Select the frame down one or COUNT stack levels
|
/* Select the frame down one or COUNT stack levels
|
||||||
@ -1717,7 +1738,7 @@ down_silently_base (char *count_exp)
|
|||||||
error ("Bottom (i.e., innermost) frame selected; you cannot go down.");
|
error ("Bottom (i.e., innermost) frame selected; you cannot go down.");
|
||||||
}
|
}
|
||||||
|
|
||||||
select_frame (frame, selected_frame_level + count - count1);
|
select_frame (frame, frame_relative_level (selected_frame) + count - count1);
|
||||||
}
|
}
|
||||||
|
|
||||||
/* ARGSUSED */
|
/* ARGSUSED */
|
||||||
@ -1731,7 +1752,8 @@ static void
|
|||||||
down_command (char *count_exp, int from_tty)
|
down_command (char *count_exp, int from_tty)
|
||||||
{
|
{
|
||||||
down_silently_base (count_exp);
|
down_silently_base (count_exp);
|
||||||
show_and_print_stack_frame (selected_frame, selected_frame_level, 1);
|
show_and_print_stack_frame (selected_frame,
|
||||||
|
frame_relative_level (selected_frame), 1);
|
||||||
}
|
}
|
||||||
|
|
||||||
void
|
void
|
||||||
|
@ -421,7 +421,7 @@ info_threads_command (char *arg, int from_tty)
|
|||||||
struct thread_info *tp;
|
struct thread_info *tp;
|
||||||
ptid_t current_ptid;
|
ptid_t current_ptid;
|
||||||
struct frame_info *cur_frame;
|
struct frame_info *cur_frame;
|
||||||
int saved_frame_level = selected_frame_level;
|
int saved_frame_level = frame_relative_level (selected_frame);
|
||||||
int counter;
|
int counter;
|
||||||
char *extra_info;
|
char *extra_info;
|
||||||
|
|
||||||
@ -713,7 +713,7 @@ do_captured_thread_select (struct ui_out *uiout,
|
|||||||
#endif
|
#endif
|
||||||
ui_out_text (uiout, ")]");
|
ui_out_text (uiout, ")]");
|
||||||
|
|
||||||
print_stack_frame (selected_frame, selected_frame_level, 1);
|
print_stack_frame (selected_frame, frame_relative_level (selected_frame), 1);
|
||||||
return GDB_RC_OK;
|
return GDB_RC_OK;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -1958,7 +1958,8 @@ finish_tfind_command (char *msg,
|
|||||||
else
|
else
|
||||||
source_only = 1;
|
source_only = 1;
|
||||||
|
|
||||||
print_stack_frame (selected_frame, selected_frame_level, source_only);
|
print_stack_frame (selected_frame, frame_relative_level (selected_frame),
|
||||||
|
source_only);
|
||||||
do_displays ();
|
do_displays ();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
Reference in New Issue
Block a user