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/features | |
parent | ee06c79b0fefd5e4ed5e7a1171dc3440130e41da (diff) | |
download | binutils-fc14343205d3a68db1fc139e4af9796be208fab4.zip binutils-fc14343205d3a68db1fc139e4af9796be208fab4.tar.gz binutils-fc14343205d3a68db1fc139e4af9796be208fab4.tar.bz2 |
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/features')
-rw-r--r-- | gdb/features/Makefile | 2 | ||||
-rw-r--r-- | gdb/features/i386/32bit-mpx.c | 51 | ||||
-rw-r--r-- | gdb/features/i386/32bit-mpx.xml | 45 | ||||
-rw-r--r-- | gdb/features/i386/64bit-mpx.c | 51 | ||||
-rw-r--r-- | gdb/features/i386/64bit-mpx.xml | 44 |
5 files changed, 0 insertions, 193 deletions
diff --git a/gdb/features/Makefile b/gdb/features/Makefile index ddf4ec2..01b327c 100644 --- a/gdb/features/Makefile +++ b/gdb/features/Makefile @@ -222,12 +222,10 @@ FEATURE_XMLFILES = aarch64-core.xml \ i386/32bit-sse.xml \ i386/32bit-linux.xml \ i386/32bit-avx.xml \ - i386/32bit-mpx.xml \ i386/32bit-avx512.xml \ i386/32bit-segments.xml \ i386/64bit-avx512.xml \ i386/64bit-core.xml \ - i386/64bit-mpx.xml \ i386/64bit-segments.xml \ i386/64bit-avx.xml \ i386/64bit-linux.xml \ diff --git a/gdb/features/i386/32bit-mpx.c b/gdb/features/i386/32bit-mpx.c deleted file mode 100644 index 40b34ed..0000000 --- a/gdb/features/i386/32bit-mpx.c +++ /dev/null @@ -1,51 +0,0 @@ -/* THIS FILE IS GENERATED. -*- buffer-read-only: t -*- vi:set ro: - Original: 32bit-mpx.xml */ - -#include "gdbsupport/tdesc.h" - -static int -create_feature_i386_32bit_mpx (struct target_desc *result, long regnum) -{ - struct tdesc_feature *feature; - - feature = tdesc_create_feature (result, "org.gnu.gdb.i386.mpx"); - tdesc_type_with_fields *type_with_fields; - type_with_fields = tdesc_create_struct (feature, "br128"); - tdesc_type *field_type; - field_type = tdesc_named_type (feature, "uint64"); - tdesc_add_field (type_with_fields, "lbound", field_type); - field_type = tdesc_named_type (feature, "uint64"); - tdesc_add_field (type_with_fields, "ubound_raw", field_type); - - type_with_fields = tdesc_create_struct (feature, "_bndstatus"); - tdesc_set_struct_size (type_with_fields, 8); - tdesc_add_bitfield (type_with_fields, "bde", 2, 31); - tdesc_add_bitfield (type_with_fields, "error", 0, 1); - - type_with_fields = tdesc_create_union (feature, "status"); - field_type = tdesc_named_type (feature, "data_ptr"); - tdesc_add_field (type_with_fields, "raw", field_type); - field_type = tdesc_named_type (feature, "_bndstatus"); - tdesc_add_field (type_with_fields, "status", field_type); - - type_with_fields = tdesc_create_struct (feature, "_bndcfgu"); - tdesc_set_struct_size (type_with_fields, 8); - tdesc_add_bitfield (type_with_fields, "base", 12, 31); - tdesc_add_bitfield (type_with_fields, "reserved", 2, 11); - tdesc_add_bitfield (type_with_fields, "preserved", 1, 1); - tdesc_add_bitfield (type_with_fields, "enabled", 0, 0); - - type_with_fields = tdesc_create_union (feature, "cfgu"); - field_type = tdesc_named_type (feature, "data_ptr"); - tdesc_add_field (type_with_fields, "raw", field_type); - field_type = tdesc_named_type (feature, "_bndcfgu"); - tdesc_add_field (type_with_fields, "config", field_type); - - tdesc_create_reg (feature, "bnd0raw", regnum++, 1, NULL, 128, "br128"); - tdesc_create_reg (feature, "bnd1raw", regnum++, 1, NULL, 128, "br128"); - tdesc_create_reg (feature, "bnd2raw", regnum++, 1, NULL, 128, "br128"); - tdesc_create_reg (feature, "bnd3raw", regnum++, 1, NULL, 128, "br128"); - tdesc_create_reg (feature, "bndcfgu", regnum++, 1, NULL, 64, "cfgu"); - tdesc_create_reg (feature, "bndstatus", regnum++, 1, NULL, 64, "status"); - return regnum; -} diff --git a/gdb/features/i386/32bit-mpx.xml b/gdb/features/i386/32bit-mpx.xml deleted file mode 100644 index 81eb2ee..0000000 --- a/gdb/features/i386/32bit-mpx.xml +++ /dev/null @@ -1,45 +0,0 @@ -<?xml version="1.0"?> -<!-- Copyright (C) 2013-2024 Free Software Foundation, Inc. - - Copying and distribution of this file, with or without modification, - are permitted in any medium without royalty provided the copyright - notice and this notice are preserved. --> - -<!DOCTYPE feature SYSTEM "gdb-target.dtd"> -<feature name="org.gnu.gdb.i386.mpx"> - <struct id="br128"> - <field name="lbound" type="uint64"/> - <field name="ubound_raw" type="uint64"/> - </struct> - - <struct id="_bndstatus" size="8"> - <field name="bde" start="2" end="31"/> - <field name="error" start="0" end="1"/> - </struct> - - <union id="status"> - <field name="raw" type="data_ptr"/> - <field name="status" type="_bndstatus"/> - </union> - - <struct id="_bndcfgu" size="8"> - <field name="base" start="12" end="31" /> - <field name="reserved" start="2" end="11"/> - <!-- Explicitly set the type here, otherwise it defaults to bool. - Perhaps this should be uint32, but the container type has size 8. --> - <field name="preserved" start="1" end="1" type="uint64"/> - <field name="enabled" start="0" end="0" type="uint64"/> - </struct> - - <union id="cfgu"> - <field name="raw" type="data_ptr"/> - <field name="config" type="_bndcfgu"/> - </union> - - <reg name="bnd0raw" bitsize="128" type="br128"/> - <reg name="bnd1raw" bitsize="128" type="br128"/> - <reg name="bnd2raw" bitsize="128" type="br128"/> - <reg name="bnd3raw" bitsize="128" type="br128"/> - <reg name="bndcfgu" bitsize="64" type="cfgu"/> - <reg name="bndstatus" bitsize="64" type="status"/> -</feature> diff --git a/gdb/features/i386/64bit-mpx.c b/gdb/features/i386/64bit-mpx.c deleted file mode 100644 index 3eabc9d..0000000 --- a/gdb/features/i386/64bit-mpx.c +++ /dev/null @@ -1,51 +0,0 @@ -/* THIS FILE IS GENERATED. -*- buffer-read-only: t -*- vi:set ro: - Original: 64bit-mpx.xml */ - -#include "gdbsupport/tdesc.h" - -static int -create_feature_i386_64bit_mpx (struct target_desc *result, long regnum) -{ - struct tdesc_feature *feature; - - feature = tdesc_create_feature (result, "org.gnu.gdb.i386.mpx"); - tdesc_type_with_fields *type_with_fields; - type_with_fields = tdesc_create_struct (feature, "br128"); - tdesc_type *field_type; - field_type = tdesc_named_type (feature, "uint64"); - tdesc_add_field (type_with_fields, "lbound", field_type); - field_type = tdesc_named_type (feature, "uint64"); - tdesc_add_field (type_with_fields, "ubound_raw", field_type); - - type_with_fields = tdesc_create_struct (feature, "_bndstatus"); - tdesc_set_struct_size (type_with_fields, 8); - tdesc_add_bitfield (type_with_fields, "bde", 2, 63); - tdesc_add_bitfield (type_with_fields, "error", 0, 1); - - type_with_fields = tdesc_create_union (feature, "status"); - field_type = tdesc_named_type (feature, "data_ptr"); - tdesc_add_field (type_with_fields, "raw", field_type); - field_type = tdesc_named_type (feature, "_bndstatus"); - tdesc_add_field (type_with_fields, "status", field_type); - - type_with_fields = tdesc_create_struct (feature, "_bndcfgu"); - tdesc_set_struct_size (type_with_fields, 8); - tdesc_add_bitfield (type_with_fields, "base", 12, 63); - tdesc_add_bitfield (type_with_fields, "reserved", 2, 11); - tdesc_add_bitfield (type_with_fields, "preserved", 1, 1); - tdesc_add_bitfield (type_with_fields, "enabled", 0, 0); - - type_with_fields = tdesc_create_union (feature, "cfgu"); - field_type = tdesc_named_type (feature, "data_ptr"); - tdesc_add_field (type_with_fields, "raw", field_type); - field_type = tdesc_named_type (feature, "_bndcfgu"); - tdesc_add_field (type_with_fields, "config", field_type); - - tdesc_create_reg (feature, "bnd0raw", regnum++, 1, NULL, 128, "br128"); - tdesc_create_reg (feature, "bnd1raw", regnum++, 1, NULL, 128, "br128"); - tdesc_create_reg (feature, "bnd2raw", regnum++, 1, NULL, 128, "br128"); - tdesc_create_reg (feature, "bnd3raw", regnum++, 1, NULL, 128, "br128"); - tdesc_create_reg (feature, "bndcfgu", regnum++, 1, NULL, 64, "cfgu"); - tdesc_create_reg (feature, "bndstatus", regnum++, 1, NULL, 64, "status"); - return regnum; -} diff --git a/gdb/features/i386/64bit-mpx.xml b/gdb/features/i386/64bit-mpx.xml deleted file mode 100644 index 812c78c..0000000 --- a/gdb/features/i386/64bit-mpx.xml +++ /dev/null @@ -1,44 +0,0 @@ -<?xml version="1.0"?> -<!-- Copyright (C) 2013-2024 Free Software Foundation, Inc. - - Copying and distribution of this file, with or without modification, - are permitted in any medium without royalty provided the copyright - notice and this notice are preserved. --> - -<!DOCTYPE feature SYSTEM "gdb-target.dtd"> -<feature name="org.gnu.gdb.i386.mpx"> - <struct id="br128"> - <field name="lbound" type="uint64"/> - <field name="ubound_raw" type="uint64"/> - </struct> - - <struct id="_bndstatus" size="8"> - <field name="bde" start="2" end="63"/> - <field name="error" start="0" end="1"/> - </struct> - - <union id="status"> - <field name="raw" type="data_ptr"/> - <field name="status" type="_bndstatus"/> - </union> - - <struct id="_bndcfgu" size="8"> - <field name="base" start="12" end="63"/> - <field name="reserved" start="2" end="11"/> - <!-- Explicitly set the type here, otherwise it defaults to bool. --> - <field name="preserved" start="1" end="1" type="uint64"/> - <field name="enabled" start="0" end="0" type="uint64"/> - </struct> - - <union id="cfgu"> - <field name="raw" type="data_ptr"/> - <field name="config" type="_bndcfgu"/> - </union> - - <reg name="bnd0raw" bitsize="128" type="br128"/> - <reg name="bnd1raw" bitsize="128" type="br128"/> - <reg name="bnd2raw" bitsize="128" type="br128"/> - <reg name="bnd3raw" bitsize="128" type="br128"/> - <reg name="bndcfgu" bitsize="64" type="cfgu"/> - <reg name="bndstatus" bitsize="64" type="status"/> -</feature> |