/* Target-dependent code for GNU/Linux i386.
- Copyright (C) 2000-2018 Free Software Foundation, Inc.
+ Copyright (C) 2000-2019 Free Software Foundation, Inc.
This file is part of GDB.
#include "xml-syscall.h"
#include "i387-tdep.h"
-#include "x86-xstate.h"
+#include "gdbsupport/x86-xstate.h"
/* The syscall's XML filename for i386. */
#define XML_SYSCALL_FILENAME_I386 "syscalls/i386-linux.xml"
if (!i386_mpx_enabled ())
return;
- TRY
+ try
{
/* Sigcode evaluates if the actual segfault is a boundary violation. */
sig_code = parse_and_eval_long ("$_siginfo.si_code\n");
access
= parse_and_eval_long ("$_siginfo._sifields._sigfault.si_addr");
}
- CATCH (exception, RETURN_MASK_ALL)
+ catch (const gdb_exception &exception)
{
return;
}
- END_CATCH
/* If this is not a boundary violation just return. */
if (sig_code != SIG_CODE_BONDARY_FAULT)
[(xcr0 & X86_XSTATE_PKRU) ? 1 : 0];
if (*tdesc == NULL)
- *tdesc = i386_create_target_description (xcr0, true);
+ *tdesc = i386_create_target_description (xcr0, true, false);
return *tdesc;
}
{
gdbarch_register_osabi (bfd_arch_i386, 0, GDB_OSABI_LINUX,
i386_linux_init_abi);
-
-#if GDB_SELF_TEST
- struct
- {
- const char *xml;
- uint64_t mask;
- } xml_masks[] = {
- { "i386/i386-linux.xml", X86_XSTATE_SSE_MASK },
- { "i386/i386-mmx-linux.xml", X86_XSTATE_X87_MASK },
- { "i386/i386-avx-linux.xml", X86_XSTATE_AVX_MASK },
- { "i386/i386-mpx-linux.xml", X86_XSTATE_MPX_MASK },
- { "i386/i386-avx-mpx-linux.xml", X86_XSTATE_AVX_MPX_MASK },
- { "i386/i386-avx-avx512-linux.xml", X86_XSTATE_AVX_AVX512_MASK },
- { "i386/i386-avx-mpx-avx512-pku-linux.xml",
- X86_XSTATE_AVX_MPX_AVX512_PKU_MASK },
- };
-
- for (auto &a : xml_masks)
- {
- auto tdesc = i386_linux_read_description (a.mask);
-
- selftests::record_xml_tdesc (a.xml, tdesc);
- }
-#endif /* GDB_SELF_TEST */
}