aboutsummaryrefslogtreecommitdiff
path: root/gdb/gdbarch.c
diff options
context:
space:
mode:
Diffstat (limited to 'gdb/gdbarch.c')
-rw-r--r--gdb/gdbarch.c40
1 files changed, 34 insertions, 6 deletions
diff --git a/gdb/gdbarch.c b/gdb/gdbarch.c
index 81efdad..10f6397 100644
--- a/gdb/gdbarch.c
+++ b/gdb/gdbarch.c
@@ -761,13 +761,9 @@ verify_gdbarch (struct gdbarch *gdbarch)
&& (gdbarch->frame_args_skip == -1))
fprintf_unfiltered (log, "\n\tframe_args_skip");
/* Skip verify of frameless_function_invocation, invalid_p == 0 */
- if ((GDB_MULTI_ARCH > GDB_MULTI_ARCH_PARTIAL)
- && (gdbarch->frame_chain == 0))
- fprintf_unfiltered (log, "\n\tframe_chain");
+ /* Skip verify of frame_chain, has predicate */
/* Skip verify of frame_chain_valid, has predicate */
- if ((GDB_MULTI_ARCH > GDB_MULTI_ARCH_PARTIAL)
- && (gdbarch->frame_saved_pc == 0))
- fprintf_unfiltered (log, "\n\tframe_saved_pc");
+ /* Skip verify of frame_saved_pc, has predicate */
/* Skip verify of frame_args_address, invalid_p == 0 */
/* Skip verify of frame_locals_address, invalid_p == 0 */
if ((GDB_MULTI_ARCH > GDB_MULTI_ARCH_PARTIAL)
@@ -1429,6 +1425,15 @@ gdbarch_dump (struct gdbarch *gdbarch, struct ui_file *file)
"gdbarch_dump: FRAME_ARGS_SKIP = %ld\n",
(long) FRAME_ARGS_SKIP);
#endif
+#ifdef FRAME_CHAIN_P
+ fprintf_unfiltered (file,
+ "gdbarch_dump: %s # %s\n",
+ "FRAME_CHAIN_P()",
+ XSTRING (FRAME_CHAIN_P ()));
+ fprintf_unfiltered (file,
+ "gdbarch_dump: FRAME_CHAIN_P() = %d\n",
+ FRAME_CHAIN_P ());
+#endif
#ifdef FRAME_CHAIN
fprintf_unfiltered (file,
"gdbarch_dump: %s # %s\n",
@@ -1505,6 +1510,15 @@ gdbarch_dump (struct gdbarch *gdbarch, struct ui_file *file)
(long) current_gdbarch->frame_num_args
/*FRAME_NUM_ARGS ()*/);
#endif
+#ifdef FRAME_SAVED_PC_P
+ fprintf_unfiltered (file,
+ "gdbarch_dump: %s # %s\n",
+ "FRAME_SAVED_PC_P()",
+ XSTRING (FRAME_SAVED_PC_P ()));
+ fprintf_unfiltered (file,
+ "gdbarch_dump: FRAME_SAVED_PC_P() = %d\n",
+ FRAME_SAVED_PC_P ());
+#endif
#ifdef FRAME_SAVED_PC
fprintf_unfiltered (file,
"gdbarch_dump: %s # %s\n",
@@ -4657,6 +4671,13 @@ set_gdbarch_frameless_function_invocation (struct gdbarch *gdbarch,
gdbarch->frameless_function_invocation = frameless_function_invocation;
}
+int
+gdbarch_frame_chain_p (struct gdbarch *gdbarch)
+{
+ gdb_assert (gdbarch != NULL);
+ return gdbarch->frame_chain != 0;
+}
+
CORE_ADDR
gdbarch_frame_chain (struct gdbarch *gdbarch, struct frame_info *frame)
{
@@ -4702,6 +4723,13 @@ set_gdbarch_frame_chain_valid (struct gdbarch *gdbarch,
gdbarch->frame_chain_valid = frame_chain_valid;
}
+int
+gdbarch_frame_saved_pc_p (struct gdbarch *gdbarch)
+{
+ gdb_assert (gdbarch != NULL);
+ return gdbarch->frame_saved_pc != 0;
+}
+
CORE_ADDR
gdbarch_frame_saved_pc (struct gdbarch *gdbarch, struct frame_info *fi)
{