aboutsummaryrefslogtreecommitdiff
path: root/gdb/gdbarch.h
diff options
context:
space:
mode:
authorAndrew Cagney <cagney@redhat.com>2000-04-22 06:44:39 +0000
committerAndrew Cagney <cagney@redhat.com>2000-04-22 06:44:39 +0000
commitd03e67c95f6ddaaf4d8ad1a17752099403b83bda (patch)
tree63b8e978c16bb3925fc80a7ebf07a88c76406eaa /gdb/gdbarch.h
parent19be430370b901be8149b925820d300a2663ef43 (diff)
downloadgdb-d03e67c95f6ddaaf4d8ad1a17752099403b83bda.zip
gdb-d03e67c95f6ddaaf4d8ad1a17752099403b83bda.tar.gz
gdb-d03e67c95f6ddaaf4d8ad1a17752099403b83bda.tar.bz2
Convert REG_STRUCT_HAS_ADDR to multi-arch. Use REG_STRUCT_HAS_ADDR_P
in conversion.
Diffstat (limited to 'gdb/gdbarch.h')
-rw-r--r--gdb/gdbarch.h17
1 files changed, 17 insertions, 0 deletions
diff --git a/gdb/gdbarch.h b/gdb/gdbarch.h
index 06d7439..6ed0856 100644
--- a/gdb/gdbarch.h
+++ b/gdb/gdbarch.h
@@ -815,6 +815,23 @@ extern void set_gdbarch_stack_align (struct gdbarch *gdbarch, gdbarch_stack_alig
#define STACK_ALIGN(sp) (gdbarch_stack_align (current_gdbarch, sp))
#endif
+#if defined (REG_STRUCT_HAS_ADDR)
+/* Legacy for systems yet to multi-arch REG_STRUCT_HAS_ADDR */
+#define REG_STRUCT_HAS_ADDR_P() (1)
+#endif
+
+extern int gdbarch_reg_struct_has_addr_p (struct gdbarch *gdbarch);
+#if (GDB_MULTI_ARCH > 1) || !defined (REG_STRUCT_HAS_ADDR_P)
+#define REG_STRUCT_HAS_ADDR_P() (gdbarch_reg_struct_has_addr_p (current_gdbarch))
+#endif
+
+typedef int (gdbarch_reg_struct_has_addr_ftype) (int gcc_p, struct type *type);
+extern int gdbarch_reg_struct_has_addr (struct gdbarch *gdbarch, int gcc_p, struct type *type);
+extern void set_gdbarch_reg_struct_has_addr (struct gdbarch *gdbarch, gdbarch_reg_struct_has_addr_ftype *reg_struct_has_addr);
+#if (GDB_MULTI_ARCH > 1) || !defined (REG_STRUCT_HAS_ADDR)
+#define REG_STRUCT_HAS_ADDR(gcc_p, type) (gdbarch_reg_struct_has_addr (current_gdbarch, gcc_p, type))
+#endif
+
extern struct gdbarch_tdep *gdbarch_tdep (struct gdbarch *gdbarch);