mirror of
https://github.com/bminor/binutils-gdb.git
synced 2025-12-27 01:28:46 +00:00
* frame.c (select_frame): Get the current frame PC using
get_frame_address_in_block() instead of get_frame_pc().
* stack.c (get_frame_language): Likewise.
This commit is contained in:
@@ -917,7 +917,13 @@ select_frame (struct frame_info *fi)
|
||||
source language of this frame, and switch to it if desired. */
|
||||
if (fi)
|
||||
{
|
||||
s = find_pc_symtab (get_frame_pc (fi));
|
||||
/* We retrieve the frame's symtab by using the frame PC. However
|
||||
we cannot use the frame pc as is, because it usually points to
|
||||
the instruction following the "call", which is sometimes the
|
||||
first instruction of another function. So we rely on
|
||||
get_frame_address_in_block() which provides us with a PC which
|
||||
is guaranteed to be inside the frame's code block. */
|
||||
s = find_pc_symtab (get_frame_address_in_block (fi));
|
||||
if (s
|
||||
&& s->language != current_language->la_language
|
||||
&& s->language != language_unknown
|
||||
|
||||
Reference in New Issue
Block a user