aboutsummaryrefslogtreecommitdiff
path: root/gdb/arch-utils.c
diff options
context:
space:
mode:
authorAndrew Cagney <cagney@redhat.com>2001-06-16 20:00:24 +0000
committerAndrew Cagney <cagney@redhat.com>2001-06-16 20:00:24 +0000
commit7824d2f224517915cf8001aaf29988a93a4b4b90 (patch)
tree7cc55b046a5fa48ab6c5307bb53904a39ee8f4d5 /gdb/arch-utils.c
parent1622c8f76475cdcba35e690db46bf48fe0238617 (diff)
downloadgdb-7824d2f224517915cf8001aaf29988a93a4b4b90.zip
gdb-7824d2f224517915cf8001aaf29988a93a4b4b90.tar.gz
gdb-7824d2f224517915cf8001aaf29988a93a4b4b90.tar.bz2
* arch-utils.c (init_frame_pc_default): New function
* arch-utils.h (init_frame_pc_default): Declare. * gdbarch.sh (INIT_FRAME_PC): Default to init_frame_pc_default and not init_frame_pc_noop. * gdbarch.h, gdbarch.c: Re-generate. * blockframe.c (INIT_FRAME_PC): Delete macro definition. * mips-tdep.c (mips_gdbarch_init): Set init_frame_pc to init_frame_pc_noop.
Diffstat (limited to 'gdb/arch-utils.c')
-rw-r--r--gdb/arch-utils.c11
1 files changed, 11 insertions, 0 deletions
diff --git a/gdb/arch-utils.c b/gdb/arch-utils.c
index 24ca70f..3da3c27 100644
--- a/gdb/arch-utils.c
+++ b/gdb/arch-utils.c
@@ -306,6 +306,17 @@ init_frame_pc_noop (int fromleaf, struct frame_info *prev)
return;
}
+void
+init_frame_pc_default (int fromleaf, struct frame_info *prev)
+{
+ if (fromleaf)
+ prev->pc = SAVED_PC_AFTER_CALL (prev->next);
+ else if (prev->next != NULL)
+ prev->pc = FRAME_SAVED_PC (prev->next);
+ else
+ prev->pc = read_pc ();
+}
+
int
cannot_register_not (int regnum)
{