diff options
author | Schimpe, Christina <christina.schimpe@intel.com> | 2024-03-06 11:22:49 +0000 |
---|---|---|
committer | Schimpe, Christina <christina.schimpe@intel.com> | 2024-09-25 11:06:57 +0000 |
commit | fc14343205d3a68db1fc139e4af9796be208fab4 (patch) | |
tree | c13cb1c8c2e826556e5a1a0352a87c53f20ea8d1 /gdb/amd64-tdep.c | |
parent | gdb, testsuite, python: Add missing imports. (diff) | |
download | binutils-gdb-fc14343205d3a68db1fc139e4af9796be208fab4.tar.gz binutils-gdb-fc14343205d3a68db1fc139e4af9796be208fab4.tar.bz2 binutils-gdb-fc14343205d3a68db1fc139e4af9796be208fab4.zip |
gdb, gdbserver, python, testsuite: Remove MPX.
GDB deprecated the commands "show/set mpx bound" in GDB 15.1, as Intel
listed Intel(R) Memory Protection Extensions (MPX) as removed in 2019.
MPX is also deprecated in gcc (since v9.1), the linux kernel (since v5.6)
and glibc (since v2.35). Let's now remove MPX support in GDB completely.
This includes the removal of:
- MPX functionality including register support
- deprecated mpx commands
- i386 and amd64 implementation of the hooks report_signal_info and
get_siginfo_type
- tests
- and pretty printer.
We keep MPX register numbers to not break compatibility with old gdbservers.
Approved-By: Felix Willgerodt <felix.willgerodt@intel.com>
Diffstat (limited to 'gdb/amd64-tdep.c')
-rw-r--r-- | gdb/amd64-tdep.c | 22 |
1 files changed, 1 insertions, 21 deletions
diff --git a/gdb/amd64-tdep.c b/gdb/amd64-tdep.c index df6b882a3fb..b63e35d522a 100644 --- a/gdb/amd64-tdep.c +++ b/gdb/amd64-tdep.c @@ -110,11 +110,6 @@ static const char * const amd64_ymmh_avx512_names[] = "ymm28h", "ymm29h", "ymm30h", "ymm31h" }; -static const char * const amd64_mpx_names[] = -{ - "bnd0raw", "bnd1raw", "bnd2raw", "bnd3raw", "bndcfgu", "bndstatus" -}; - static const char * const amd64_k_names[] = { "k0", "k1", "k2", "k3", @@ -1039,13 +1034,6 @@ amd64_push_dummy_call (struct gdbarch *gdbarch, struct value *function, enum bfd_endian byte_order = gdbarch_byte_order (gdbarch); gdb_byte buf[8]; - /* BND registers can be in arbitrary values at the moment of the - inferior call. This can cause boundary violations that are not - due to a real bug or even desired by the user. The best to be done - is set the BND registers to allow access to the whole memory, INIT - state, before pushing the inferior call. */ - i387_reset_bnd_regs (gdbarch, regcache); - /* Pass arguments. */ sp = amd64_push_arguments (regcache, nargs, args, sp, return_method); @@ -3196,13 +3184,6 @@ amd64_init_abi (struct gdbarch_info info, struct gdbarch *gdbarch, tdep->ymm0h_regnum = AMD64_YMM0H_REGNUM; } - if (tdesc_find_feature (tdesc, "org.gnu.gdb.i386.mpx") != NULL) - { - tdep->mpx_register_names = amd64_mpx_names; - tdep->bndcfgu_regnum = AMD64_BNDCFGU_REGNUM; - tdep->bnd0r_regnum = AMD64_BND0R_REGNUM; - } - if (tdesc_find_feature (tdesc, "org.gnu.gdb.i386.segments") != NULL) { tdep->fsbase_regnum = AMD64_FSBASE_REGNUM; @@ -3377,11 +3358,10 @@ const struct target_desc * amd64_target_description (uint64_t xcr0, bool segments) { static target_desc *amd64_tdescs \ - [2/*AVX*/][2/*MPX*/][2/*AVX512*/][2/*PKRU*/][2/*segments*/] = {}; + [2/*AVX*/][2/*AVX512*/][2/*PKRU*/][2/*segments*/] = {}; target_desc **tdesc; tdesc = &amd64_tdescs[(xcr0 & X86_XSTATE_AVX) ? 1 : 0] - [(xcr0 & X86_XSTATE_MPX) ? 1 : 0] [(xcr0 & X86_XSTATE_AVX512) ? 1 : 0] [(xcr0 & X86_XSTATE_PKRU) ? 1 : 0] [segments ? 1 : 0]; |