aboutsummaryrefslogtreecommitdiff
path: root/gdb/hppa-tdep.h
diff options
context:
space:
mode:
authorRandolph Chung <tausq@debian.org>2004-12-08 01:48:03 +0000
committerRandolph Chung <tausq@debian.org>2004-12-08 01:48:03 +0000
commitf77a2124d69481a53bfc5ddc7945de81f1dec428 (patch)
tree1e3f1b2b62d30cfaa1d9c4b5fd36f87353213fc4 /gdb/hppa-tdep.h
parentf1b38a579122b37f86f25c35e23eb75b72978bd1 (diff)
downloadgdb-f77a2124d69481a53bfc5ddc7945de81f1dec428.zip
gdb-f77a2124d69481a53bfc5ddc7945de81f1dec428.tar.gz
gdb-f77a2124d69481a53bfc5ddc7945de81f1dec428.tar.bz2
2004-12-07 Randolph Chung <tausq@debian.org>
* hppa-tdep.h (gdbarch_tdep): Add unwind_adjust_stub method. * hppa-hpux-tdep.c (hppa_hpux_unwind_adjust_stub): New function. (hppa_hpux_init_abi) Set unwind_adjust_stub method. * hppa-tdep.c (hppa_frame_cache): Call unwind_adjust_stub method if defined.
Diffstat (limited to 'gdb/hppa-tdep.h')
-rw-r--r--gdb/hppa-tdep.h9
1 files changed, 9 insertions, 0 deletions
diff --git a/gdb/hppa-tdep.h b/gdb/hppa-tdep.h
index a0632de..0b4185a 100644
--- a/gdb/hppa-tdep.h
+++ b/gdb/hppa-tdep.h
@@ -88,6 +88,15 @@ struct gdbarch_tdep
IN_SOLIB_CALL_TRAMPOLINE evaluates to nonzero if we are currently
stopped in one of these. */
int (*in_solib_call_trampoline) (CORE_ADDR pc, char *name);
+
+ /* For targets that support multiple spaces, we may have additional stubs
+ in the return path. These stubs are internal to the ABI, and users are
+ not interested in them. If we detect that we are returning to a stub,
+ adjust the pc to the real caller. This improves the behavior of commands
+ that traverse frames such as "up" and "finish". */
+ void (*unwind_adjust_stub) (struct frame_info *next_frame, CORE_ADDR base,
+ struct trad_frame_saved_reg *saved_regs);
+
};
/*