X-Git-Url: http://git.efficios.com/?a=blobdiff_plain;f=gdb%2Fi386-linux-tdep.h;h=4842d2162440ac42dde9cdb47cb9e1181f435a09;hb=ec8e2b6d3051f0b4b2a8eee9917898e95046c62f;hp=5ac08d3e5434ce13268b53da1c8577f1a1751718;hpb=32d0add0a654c1204ab71dc8a55d9374538c4b33;p=deliverable%2Fbinutils-gdb.git diff --git a/gdb/i386-linux-tdep.h b/gdb/i386-linux-tdep.h index 5ac08d3e54..4842d21624 100644 --- a/gdb/i386-linux-tdep.h +++ b/gdb/i386-linux-tdep.h @@ -1,6 +1,6 @@ /* Target-dependent code for GNU/Linux x86. - Copyright (C) 2002-2015 Free Software Foundation, Inc. + Copyright (C) 2002-2019 Free Software Foundation, Inc. This file is part of GDB. @@ -29,7 +29,7 @@ /* Register number for the "orig_eax" pseudo-register. If this pseudo-register contains a value >= 0 it is interpreted as the system call number that the kernel is supposed to restart. */ -#define I386_LINUX_ORIG_EAX_REGNUM (I386_ZMM7H_REGNUM + 1) +#define I386_LINUX_ORIG_EAX_REGNUM (I386_PKRU_REGNUM + 1) /* Total number of registers for GNU/Linux. */ #define I386_LINUX_NUM_REGS (I386_LINUX_ORIG_EAX_REGNUM + 1) @@ -37,12 +37,13 @@ /* Get XSAVE extended state xcr0 from core dump. */ extern uint64_t i386_linux_core_read_xcr0 (bfd *abfd); -/* Linux target description. */ -extern struct target_desc *tdesc_i386_linux; -extern struct target_desc *tdesc_i386_mmx_linux; -extern struct target_desc *tdesc_i386_avx_linux; -extern struct target_desc *tdesc_i386_mpx_linux; -extern struct target_desc *tdesc_i386_avx512_linux; +/* Handle and display information related to the MPX bound violation + to the user. */ +extern void i386_linux_handle_segmentation_fault (struct gdbarch *gdbarch, + struct ui_out *uiout); + +/* Return the target description according to XCR0. */ +extern const struct target_desc *i386_linux_read_description (uint64_t xcr0); /* Format of XSAVE extended state is: struct @@ -56,6 +57,7 @@ extern struct target_desc *tdesc_i386_avx512_linux; avx512_zmmh_regs0-7[1153..1407] avx512_zmmh_regs8-15[1408..1663] avx512_zmm_regs16-31[1664..2687] + pkru[2688..2752] future_state etc }; @@ -72,4 +74,7 @@ extern struct target_desc *tdesc_i386_avx512_linux; extern int i386_linux_gregset_reg_offset[]; +/* Return x86 siginfo type. */ +extern struct type *x86_linux_get_siginfo_type (struct gdbarch *gdbarch); + #endif /* i386-linux-tdep.h */