Index: gdb/features/i386/amd64-mpx-linux.c |
diff --git a/gdb/features/i386/amd64-avx-linux.c b/gdb/features/i386/amd64-mpx-linux.c |
similarity index 80% |
copy from gdb/features/i386/amd64-avx-linux.c |
copy to gdb/features/i386/amd64-mpx-linux.c |
index 73392d3d8113aab4b409d73cbc73f3a647458541..86a17748d0bb028d33459bddb30c46529d016725 100644 |
--- a/gdb/features/i386/amd64-avx-linux.c |
+++ b/gdb/features/i386/amd64-mpx-linux.c |
@@ -1,16 +1,18 @@ |
-/* THIS FILE IS GENERATED. Original: amd64-avx-linux.xml */ |
+/* THIS FILE IS GENERATED. -*- buffer-read-only: t -*- vi:set ro: |
+ Original: amd64-mpx-linux.xml */ |
#include "defs.h" |
#include "osabi.h" |
#include "target-descriptions.h" |
-struct target_desc *tdesc_amd64_avx_linux; |
+struct target_desc *tdesc_amd64_mpx_linux; |
static void |
-initialize_tdesc_amd64_avx_linux (void) |
+initialize_tdesc_amd64_mpx_linux (void) |
{ |
struct target_desc *result = allocate_target_description (); |
struct tdesc_feature *feature; |
- struct tdesc_type *field_type, *type; |
+ struct tdesc_type *field_type; |
+ struct tdesc_type *type; |
set_tdesc_architecture (result, bfd_scan_arch ("i386:x86-64")); |
@@ -167,5 +169,43 @@ initialize_tdesc_amd64_avx_linux (void) |
tdesc_create_reg (feature, "ymm14h", 72, 1, NULL, 128, "uint128"); |
tdesc_create_reg (feature, "ymm15h", 73, 1, NULL, 128, "uint128"); |
- tdesc_amd64_avx_linux = result; |
+ feature = tdesc_create_feature (result, "org.gnu.gdb.i386.mpx"); |
+ type = tdesc_create_struct (feature, "br128"); |
+ field_type = tdesc_named_type (feature, "uint64"); |
+ tdesc_add_field (type, "lbound", field_type); |
+ field_type = tdesc_named_type (feature, "uint64"); |
+ tdesc_add_field (type, "ubound_raw", field_type); |
+ |
+ type = tdesc_create_struct (feature, "_bndstatus"); |
+ tdesc_set_struct_size (type, 8); |
+ tdesc_add_bitfield (type, "bde", 2, 63); |
+ tdesc_add_bitfield (type, "error", 0, 1); |
+ |
+ type = tdesc_create_union (feature, "status"); |
+ field_type = tdesc_named_type (feature, "data_ptr"); |
+ tdesc_add_field (type, "raw", field_type); |
+ field_type = tdesc_named_type (feature, "_bndstatus"); |
+ tdesc_add_field (type, "status", field_type); |
+ |
+ type = tdesc_create_struct (feature, "_bndcfgu"); |
+ tdesc_set_struct_size (type, 8); |
+ tdesc_add_bitfield (type, "base", 12, 63); |
+ tdesc_add_bitfield (type, "reserved", 2, 11); |
+ tdesc_add_bitfield (type, "preserved", 1, 1); |
+ tdesc_add_bitfield (type, "enabled", 0, 0); |
+ |
+ type = tdesc_create_union (feature, "cfgu"); |
+ field_type = tdesc_named_type (feature, "data_ptr"); |
+ tdesc_add_field (type, "raw", field_type); |
+ field_type = tdesc_named_type (feature, "_bndcfgu"); |
+ tdesc_add_field (type, "config", field_type); |
+ |
+ tdesc_create_reg (feature, "bnd0raw", 74, 1, NULL, 128, "br128"); |
+ tdesc_create_reg (feature, "bnd1raw", 75, 1, NULL, 128, "br128"); |
+ tdesc_create_reg (feature, "bnd2raw", 76, 1, NULL, 128, "br128"); |
+ tdesc_create_reg (feature, "bnd3raw", 77, 1, NULL, 128, "br128"); |
+ tdesc_create_reg (feature, "bndcfgu", 78, 1, NULL, 64, "cfgu"); |
+ tdesc_create_reg (feature, "bndstatus", 79, 1, NULL, 64, "status"); |
+ |
+ tdesc_amd64_mpx_linux = result; |
} |