diff options
Diffstat (limited to 'gdb/gdbarch.h')
-rw-r--r-- | gdb/gdbarch.h | 12 |
1 files changed, 12 insertions, 0 deletions
diff --git a/gdb/gdbarch.h b/gdb/gdbarch.h index 7ffbf1fd29..2225c76ea3 100644 --- a/gdb/gdbarch.h +++ b/gdb/gdbarch.h @@ -64,6 +64,7 @@ struct elf_internal_linux_prpsinfo; struct mem_range; struct syscalls_info; struct thread_info; +struct ui_out; #include "regcache.h" @@ -300,6 +301,17 @@ typedef int (gdbarch_ax_pseudo_register_push_stack_ftype) (struct gdbarch *gdbar extern int gdbarch_ax_pseudo_register_push_stack (struct gdbarch *gdbarch, struct agent_expr *ax, int reg); extern void set_gdbarch_ax_pseudo_register_push_stack (struct gdbarch *gdbarch, gdbarch_ax_pseudo_register_push_stack_ftype *ax_pseudo_register_push_stack); +/* Some targets/architectures can do extra processing/display of + segmentation faults. E.g., Intel MPX boundary faults. + Call the architecture dependent function to handle the fault. + UIOUT is the output stream where the handler will place information. */ + +extern int gdbarch_handle_segmentation_fault_p (struct gdbarch *gdbarch); + +typedef void (gdbarch_handle_segmentation_fault_ftype) (struct gdbarch *gdbarch, struct ui_out *uiout); +extern void gdbarch_handle_segmentation_fault (struct gdbarch *gdbarch, struct ui_out *uiout); +extern void set_gdbarch_handle_segmentation_fault (struct gdbarch *gdbarch, gdbarch_handle_segmentation_fault_ftype *handle_segmentation_fault); + /* GDB's standard (or well known) register numbers. These can map onto a real register or a pseudo (computed) register or not be defined at all (-1). |