aboutsummaryrefslogtreecommitdiff
path: root/gdb/gdbarch.h
diff options
context:
space:
mode:
authorAndrew Cagney <cagney@redhat.com>2000-04-21 04:17:18 +0000
committerAndrew Cagney <cagney@redhat.com>2000-04-21 04:17:18 +0000
commit2ada493ad19d2c56b79df05931f7c82710259000 (patch)
tree80c8c32b690dc195bb691cb7c9f32fee53c51b52 /gdb/gdbarch.h
parent2f9429aea399b8ff5c1d2d8f7dd0b5e14202f1e8 (diff)
downloadgdb-2ada493ad19d2c56b79df05931f7c82710259000.zip
gdb-2ada493ad19d2c56b79df05931f7c82710259000.tar.gz
gdb-2ada493ad19d2c56b79df05931f7c82710259000.tar.bz2
* valops.c (hand_function_call): Replace #ifdef STACK_ALIGN with
run-time test for STACK_ALIGN_P. * gdbarch.sh: Add support for function and variable predicates. (STACK_ALIGN): Add. Implement with predicate - STACK_ALIGN_P. * gdbarch.h, gdbarch.c: Re-generate.
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 cdf60a7..06d7439 100644
--- a/gdb/gdbarch.h
+++ b/gdb/gdbarch.h
@@ -798,6 +798,23 @@ extern void set_gdbarch_frame_num_args (struct gdbarch *gdbarch, gdbarch_frame_n
#endif
#endif
+#if defined (STACK_ALIGN)
+/* Legacy for systems yet to multi-arch STACK_ALIGN */
+#define STACK_ALIGN_P() (1)
+#endif
+
+extern int gdbarch_stack_align_p (struct gdbarch *gdbarch);
+#if (GDB_MULTI_ARCH > 1) || !defined (STACK_ALIGN_P)
+#define STACK_ALIGN_P() (gdbarch_stack_align_p (current_gdbarch))
+#endif
+
+typedef CORE_ADDR (gdbarch_stack_align_ftype) (CORE_ADDR sp);
+extern CORE_ADDR gdbarch_stack_align (struct gdbarch *gdbarch, CORE_ADDR sp);
+extern void set_gdbarch_stack_align (struct gdbarch *gdbarch, gdbarch_stack_align_ftype *stack_align);
+#if (GDB_MULTI_ARCH > 1) || !defined (STACK_ALIGN)
+#define STACK_ALIGN(sp) (gdbarch_stack_align (current_gdbarch, sp))
+#endif
+
extern struct gdbarch_tdep *gdbarch_tdep (struct gdbarch *gdbarch);