mirror of
https://github.com/espressif/binutils-gdb.git
synced 2025-10-16 20:32:21 +08:00
2002-11-28 Andrew Cagney <cagney@redhat.com>
* stack.c (get_selected_block): In-line get_current_block. * frame.h (get_current_block): Delete declaration. * blockframe.c (get_current_block): Delete function.
This commit is contained in:
@ -1,3 +1,9 @@
|
|||||||
|
2002-11-28 Andrew Cagney <cagney@redhat.com>
|
||||||
|
|
||||||
|
* stack.c (get_selected_block): In-line get_current_block.
|
||||||
|
* frame.h (get_current_block): Delete declaration.
|
||||||
|
* blockframe.c (get_current_block): Delete function.
|
||||||
|
|
||||||
2002-11-28 Andrew Cagney <ac131313@redhat.com>
|
2002-11-28 Andrew Cagney <ac131313@redhat.com>
|
||||||
|
|
||||||
* gdbarch.sh (DEPRECATED_USE_GENERIC_DUMMY_FRAMES): Rename
|
* gdbarch.sh (DEPRECATED_USE_GENERIC_DUMMY_FRAMES): Rename
|
||||||
|
@ -247,17 +247,6 @@ get_frame_block (struct frame_info *frame, CORE_ADDR *addr_in_block)
|
|||||||
return block_for_pc (pc);
|
return block_for_pc (pc);
|
||||||
}
|
}
|
||||||
|
|
||||||
struct block *
|
|
||||||
get_current_block (CORE_ADDR *addr_in_block)
|
|
||||||
{
|
|
||||||
CORE_ADDR pc = read_pc ();
|
|
||||||
|
|
||||||
if (addr_in_block)
|
|
||||||
*addr_in_block = pc;
|
|
||||||
|
|
||||||
return block_for_pc (pc);
|
|
||||||
}
|
|
||||||
|
|
||||||
CORE_ADDR
|
CORE_ADDR
|
||||||
get_pc_function_start (CORE_ADDR pc)
|
get_pc_function_start (CORE_ADDR pc)
|
||||||
{
|
{
|
||||||
|
@ -419,8 +419,6 @@ extern void get_frame_saved_regs (struct frame_info *,
|
|||||||
extern struct block *get_frame_block (struct frame_info *,
|
extern struct block *get_frame_block (struct frame_info *,
|
||||||
CORE_ADDR *addr_in_block);
|
CORE_ADDR *addr_in_block);
|
||||||
|
|
||||||
extern struct block *get_current_block (CORE_ADDR *addr_in_block);
|
|
||||||
|
|
||||||
extern struct block *get_selected_block (CORE_ADDR *addr_in_block);
|
extern struct block *get_selected_block (CORE_ADDR *addr_in_block);
|
||||||
|
|
||||||
extern struct symbol *get_frame_function (struct frame_info *);
|
extern struct symbol *get_frame_function (struct frame_info *);
|
||||||
|
16
gdb/stack.c
16
gdb/stack.c
@ -1543,8 +1543,22 @@ get_selected_block (CORE_ADDR *addr_in_block)
|
|||||||
if (!target_has_stack)
|
if (!target_has_stack)
|
||||||
return 0;
|
return 0;
|
||||||
|
|
||||||
|
/* NOTE: cagney/2002-11-28: Why go to all this effort to not create
|
||||||
|
a selected/current frame? Perhaphs this function is called,
|
||||||
|
indirectly, by WFI in "infrun.c" where avoiding the creation of
|
||||||
|
an inner most frame is very important (it slows down single
|
||||||
|
step). I suspect, though that this was true in the deep dark
|
||||||
|
past but is no longer the case. A mindless look at all the
|
||||||
|
callers tends to support this theory. I think we should be able
|
||||||
|
to assume that there is always a selcted frame. */
|
||||||
|
/* gdb_assert (selected_frame != NULL); So, do you feel lucky? */
|
||||||
if (!selected_frame)
|
if (!selected_frame)
|
||||||
return get_current_block (addr_in_block);
|
{
|
||||||
|
CORE_ADDR pc = read_pc ();
|
||||||
|
if (addr_in_block != NULL)
|
||||||
|
*addr_in_block = pc;
|
||||||
|
return block_for_pc (pc);
|
||||||
|
}
|
||||||
return get_frame_block (selected_frame, addr_in_block);
|
return get_frame_block (selected_frame, addr_in_block);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
Reference in New Issue
Block a user