diff options
Diffstat (limited to 'gdb/gdbarch.h')
-rw-r--r-- | gdb/gdbarch.h | 18 |
1 files changed, 18 insertions, 0 deletions
diff --git a/gdb/gdbarch.h b/gdb/gdbarch.h index 6ff875e..6b59371 100644 --- a/gdb/gdbarch.h +++ b/gdb/gdbarch.h @@ -1267,6 +1267,24 @@ extern void set_gdbarch_iterate_over_objfiles_in_search_order (struct gdbarch *g 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); +/* Return non-zero if the instruction at ADDR is a call; zero otherwise. */ + +typedef int (gdbarch_insn_is_call_ftype) (struct gdbarch *gdbarch, CORE_ADDR addr); +extern int gdbarch_insn_is_call (struct gdbarch *gdbarch, CORE_ADDR addr); +extern void set_gdbarch_insn_is_call (struct gdbarch *gdbarch, gdbarch_insn_is_call_ftype *insn_is_call); + +/* Return non-zero if the instruction at ADDR is a return; zero otherwise. */ + +typedef int (gdbarch_insn_is_ret_ftype) (struct gdbarch *gdbarch, CORE_ADDR addr); +extern int gdbarch_insn_is_ret (struct gdbarch *gdbarch, CORE_ADDR addr); +extern void set_gdbarch_insn_is_ret (struct gdbarch *gdbarch, gdbarch_insn_is_ret_ftype *insn_is_ret); + +/* Return non-zero if the instruction at ADDR is a jump; zero otherwise. */ + +typedef int (gdbarch_insn_is_jump_ftype) (struct gdbarch *gdbarch, CORE_ADDR addr); +extern int gdbarch_insn_is_jump (struct gdbarch *gdbarch, CORE_ADDR addr); +extern void set_gdbarch_insn_is_jump (struct gdbarch *gdbarch, gdbarch_insn_is_jump_ftype *insn_is_jump); + /* Definition for an unknown syscall, used basically in error-cases. */ #define UNKNOWN_SYSCALL (-1) |