aboutsummaryrefslogtreecommitdiff
path: root/gdb/gdbarch.h
diff options
context:
space:
mode:
authorAndrew Cagney <cagney@redhat.com>2002-09-13 23:21:45 +0000
committerAndrew Cagney <cagney@redhat.com>2002-09-13 23:21:45 +0000
commite76cff22f1fca12ce2a57e1782031b5eb07da6b3 (patch)
tree97d90daf09d1d1c9c605c35446f90e308b9dbb59 /gdb/gdbarch.h
parent905abb3f14417c53440d68bc2fb94a187c71bc05 (diff)
downloadgdb-e76cff22f1fca12ce2a57e1782031b5eb07da6b3.zip
gdb-e76cff22f1fca12ce2a57e1782031b5eb07da6b3.tar.gz
gdb-e76cff22f1fca12ce2a57e1782031b5eb07da6b3.tar.bz2
2002-09-13 Andrew Cagney <cagney@redhat.com>
* gdbarch.sh (SIGTRAMP_END): Change to a predicate function. * gdbarch.h, gdbarch.c: Regenerate.
Diffstat (limited to 'gdb/gdbarch.h')
-rw-r--r--gdb/gdbarch.h25
1 files changed, 25 insertions, 0 deletions
diff --git a/gdb/gdbarch.h b/gdb/gdbarch.h
index 246b4da..15bed4c 100644
--- a/gdb/gdbarch.h
+++ b/gdb/gdbarch.h
@@ -2422,6 +2422,31 @@ extern void set_gdbarch_sigtramp_start (struct gdbarch *gdbarch, gdbarch_sigtram
#endif
#endif
+#if defined (SIGTRAMP_END)
+/* Legacy for systems yet to multi-arch SIGTRAMP_END */
+#if !defined (SIGTRAMP_END_P)
+#define SIGTRAMP_END_P() (1)
+#endif
+#endif
+
+/* Default predicate for non- multi-arch targets. */
+#if (!GDB_MULTI_ARCH) && !defined (SIGTRAMP_END_P)
+#define SIGTRAMP_END_P() (0)
+#endif
+
+extern int gdbarch_sigtramp_end_p (struct gdbarch *gdbarch);
+#if (GDB_MULTI_ARCH > GDB_MULTI_ARCH_PARTIAL) && defined (SIGTRAMP_END_P)
+#error "Non multi-arch definition of SIGTRAMP_END"
+#endif
+#if (GDB_MULTI_ARCH > GDB_MULTI_ARCH_PARTIAL) || !defined (SIGTRAMP_END_P)
+#define SIGTRAMP_END_P() (gdbarch_sigtramp_end_p (current_gdbarch))
+#endif
+
+/* Default (function) for non- multi-arch platforms. */
+#if (!GDB_MULTI_ARCH) && !defined (SIGTRAMP_END)
+#define SIGTRAMP_END(pc) (internal_error (__FILE__, __LINE__, "SIGTRAMP_END"), 0)
+#endif
+
typedef CORE_ADDR (gdbarch_sigtramp_end_ftype) (CORE_ADDR pc);
extern CORE_ADDR gdbarch_sigtramp_end (struct gdbarch *gdbarch, CORE_ADDR pc);
extern void set_gdbarch_sigtramp_end (struct gdbarch *gdbarch, gdbarch_sigtramp_end_ftype *sigtramp_end);