aboutsummaryrefslogtreecommitdiff
path: root/gdb/gdbarch.h
diff options
context:
space:
mode:
authorJoel Brobecker <brobecker@gnat.com>2012-12-15 14:27:56 +0000
committerJoel Brobecker <brobecker@gnat.com>2012-12-15 14:27:56 +0000
commit7e35103a303c52a8ae636600db6fcba630758a91 (patch)
treeaa2669e5a3943736b362b2289ff0d40c66b99c2e /gdb/gdbarch.h
parent25abf4decf405891fa9ad0d5ad138e021a5a872b (diff)
downloadgdb-7e35103a303c52a8ae636600db6fcba630758a91.zip
gdb-7e35103a303c52a8ae636600db6fcba630758a91.tar.gz
gdb-7e35103a303c52a8ae636600db6fcba630758a91.tar.bz2
gdbarch-ification of ravenscar-thread support.
gdb/ChangeLog: * gdbarch.sh: Add "struct ravenscar_arch_ops" advance declaration. (ravenscar_ops): New gdbarch variable. * gdbarch.h, gdbarch.c: Regenerate. * ravenscar-thread.h (ravenscar_register_arch_ops): Delete. * ravenscar-thread.c (current_arch_ops): Delete. (ravenscar_fetch_registers): Get the ravenscar_arch_ops from the gdbarch. (ravenscar_store_registers, ravenscar_prepare_to_store): Likewise. (ravenscar_inferior_created): Add gdbarch_ravenscar_ops check. (ravenscar_register_arch_ops): Delete. * ravenscar-sparc-thread.h: New file. * ravenscar-sparc-thread.c: #include "ravenscar-sparc-thread.h". (ravenscar_sparc_ops): Define value statically. (_initialize_ravenscar_sparc): Delete. (register_sparc_ravenscar_ops): New function. * sparc-tdep.c: #include "ravenscar-sparc-thread.h". (sparc32_gdbarch_init): Add call to register_sparc_ravenscar_ops. * Makefile.in (ALL_TARGET_OBS): Add ravenscar-thread.o and ravenscar-sparc-thread.o. (SFILES): Add ravenscar-thread.c. (HFILES_NO_SRCDIR): Add ravenscar-sparc-thread.h. (ALLDEPFILES): ravenscar-sparc-thread.c. * configure.tgt: Add ravenscar-thread.o and ravenscar-sparc-thread.o to gdb_target_obs for all the targets that use sparc-tdep.o.
Diffstat (limited to 'gdb/gdbarch.h')
-rw-r--r--gdb/gdbarch.h6
1 files changed, 6 insertions, 0 deletions
diff --git a/gdb/gdbarch.h b/gdb/gdbarch.h
index 572aca3..63157fb 100644
--- a/gdb/gdbarch.h
+++ b/gdb/gdbarch.h
@@ -57,6 +57,7 @@ struct syscall;
struct agent_expr;
struct axs_value;
struct stap_parse_info;
+struct ravenscar_arch_ops;
/* The architecture associated with the inferior through the
connection to the target.
@@ -1221,6 +1222,11 @@ typedef void (gdbarch_iterate_over_objfiles_in_search_order_ftype) (struct gdbar
extern void gdbarch_iterate_over_objfiles_in_search_order (struct gdbarch *gdbarch, iterate_over_objfiles_in_search_order_cb_ftype *cb, void *cb_data, struct objfile *current_objfile);
extern void set_gdbarch_iterate_over_objfiles_in_search_order (struct gdbarch *gdbarch, gdbarch_iterate_over_objfiles_in_search_order_ftype *iterate_over_objfiles_in_search_order);
+/* Ravenscar arch-dependent ops. */
+
+extern struct ravenscar_arch_ops * gdbarch_ravenscar_ops (struct gdbarch *gdbarch);
+extern void set_gdbarch_ravenscar_ops (struct gdbarch *gdbarch, struct ravenscar_arch_ops * ravenscar_ops);
+
/* Definition for an unknown syscall, used basically in error-cases. */
#define UNKNOWN_SYSCALL (-1)