mirror of
https://github.com/darlinghq/darling-gdb.git
synced 2025-02-03 15:42:52 +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:
parent
4249f881bd
commit
7ae4c3a566
@ -1,3 +1,9 @@
|
||||
2003-12-10 J. Brobecker <brobecker@gnat.com>
|
||||
|
||||
* 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.
|
||||
|
||||
2003-12-08 Kevin Buettner <kevinb@redhat.com>
|
||||
|
||||
* remote.c (remote_open_1, remote_cisco_open): Avoid closing
|
||||
|
@ -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
|
||||
|
@ -2036,7 +2036,14 @@ get_frame_language (void)
|
||||
|
||||
if (deprecated_selected_frame)
|
||||
{
|
||||
s = find_pc_symtab (get_frame_pc (deprecated_selected_frame));
|
||||
/* We determine the current frame language by looking up its
|
||||
associated symtab. To retrieve this symtab, we use 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(), it 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 (deprecated_selected_frame));
|
||||
if (s)
|
||||
flang = s->language;
|
||||
else
|
||||
|
Loading…
x
Reference in New Issue
Block a user