2002-12-13 Andrew Cagney <ac131313@redhat.com>
* frame.c (deprecated_update_current_frame_pc_hack): New function. * frame.h (deprecated_update_current_frame_pc_hack): Declare. * infrun.c (normal_stop): Use said function instead of directly modifying the frame's PC.
This commit is contained in:
parent
3de2dc4ff6
commit
b87efeee0c
4 changed files with 30 additions and 2 deletions
|
@ -1,3 +1,11 @@
|
||||||
|
2002-12-13 Andrew Cagney <ac131313@redhat.com>
|
||||||
|
|
||||||
|
* frame.c (deprecated_update_current_frame_pc_hack): New
|
||||||
|
function.
|
||||||
|
* frame.h (deprecated_update_current_frame_pc_hack): Declare.
|
||||||
|
* infrun.c (normal_stop): Use said function instead of directly
|
||||||
|
modifying the frame's PC.
|
||||||
|
|
||||||
2002-12-13 Alexandre Oliva <aoliva@redhat.com>
|
2002-12-13 Alexandre Oliva <aoliva@redhat.com>
|
||||||
|
|
||||||
* frame.h (frame_id_unwind_ftype): Fix typo in return type.
|
* frame.h (frame_id_unwind_ftype): Fix typo in return type.
|
||||||
|
|
11
gdb/frame.c
11
gdb/frame.c
|
@ -1290,6 +1290,17 @@ frame_extra_info_zalloc (struct frame_info *fi, long size)
|
||||||
return fi->extra_info;
|
return fi->extra_info;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
void
|
||||||
|
deprecated_update_current_frame_pc_hack (CORE_ADDR pc)
|
||||||
|
{
|
||||||
|
/* FIXME: cagney/2002-12-06: Has the PC in the current frame
|
||||||
|
changed? "infrun.c", Thanks to DECR_PC_AFTER_BREAK, can change
|
||||||
|
the PC after the initial frame create. This puts things back in
|
||||||
|
sync. */
|
||||||
|
if (current_frame != NULL)
|
||||||
|
current_frame->pc = pc;
|
||||||
|
}
|
||||||
|
|
||||||
void
|
void
|
||||||
_initialize_frame (void)
|
_initialize_frame (void)
|
||||||
{
|
{
|
||||||
|
|
|
@ -654,4 +654,9 @@ extern struct frame_extra_info *frame_extra_info_zalloc (struct frame_info *fi,
|
||||||
long size);
|
long size);
|
||||||
extern struct frame_extra_info *get_frame_extra_info (struct frame_info *fi);
|
extern struct frame_extra_info *get_frame_extra_info (struct frame_info *fi);
|
||||||
|
|
||||||
|
/* FIXME: cagney/2002-12-06: Has the PC in the current frame changed?
|
||||||
|
"infrun.c", Thanks to DECR_PC_AFTER_BREAK, can change the PC after
|
||||||
|
the initial frame create. This puts things back in sync. */
|
||||||
|
extern void deprecated_update_current_frame_pc_hack (CORE_ADDR pc);
|
||||||
|
|
||||||
#endif /* !defined (FRAME_H) */
|
#endif /* !defined (FRAME_H) */
|
||||||
|
|
|
@ -3066,8 +3066,12 @@ normal_stop (void)
|
||||||
/* Make sure that the current_frame's pc is correct. This
|
/* Make sure that the current_frame's pc is correct. This
|
||||||
is a correction for setting up the frame info before doing
|
is a correction for setting up the frame info before doing
|
||||||
DECR_PC_AFTER_BREAK */
|
DECR_PC_AFTER_BREAK */
|
||||||
if (target_has_execution && get_current_frame ())
|
if (target_has_execution)
|
||||||
(get_current_frame ())->pc = read_pc ();
|
/* FIXME: cagney/2002-12-06: Has the PC changed? Thanks to
|
||||||
|
DECR_PC_AFTER_BREAK, the program counter can change. Ask the
|
||||||
|
frame code to check for this and sort out any resultant mess.
|
||||||
|
DECR_PC_AFTER_BREAK needs to just go away. */
|
||||||
|
deprecated_update_current_frame_pc_hack (read_pc ());
|
||||||
|
|
||||||
if (target_has_execution && breakpoints_inserted)
|
if (target_has_execution && breakpoints_inserted)
|
||||||
{
|
{
|
||||||
|
|
Loading…
Reference in a new issue