summaryrefslogtreecommitdiff
path: root/gdb/features/i386
diff options
context:
space:
mode:
authorDoug Evans <dje@google.com>2016-10-06 12:12:33 +0100
committerPedro Alves <palves@redhat.com>2016-10-06 12:12:33 +0100
commitee8da4b8396d9a74d27cb9bb0f3aa43d6d23b8ea (patch)
tree1fd455f93881201680ad490eb1e54d62647b33d6 /gdb/features/i386
parent3ac6b810d1e58fe10ee496fdb1ebd4ce050dc91c (diff)
downloadbinutils-gdb-ee8da4b8396d9a74d27cb9bb0f3aa43d6d23b8ea.tar.gz
Make "end" field in feature specs required again.
Newer gdbservers may be talking to older gdbs, and older gdbs will flag a missing "end" as an error. So just make "end" required again, and for compatibility change the default field type to "bool". gdb/ChangeLog: 2016-10-06 Doug Evans <dje@google.com> * features/aarch64-core.xml (cpsr_flags): Elide "type" and specify "end" in all fields. * features/aarch64.c: Regenerate. * features/i386/32bit-mpx.xml (_bndcfgu): Specify type of "preserved" and "enabled" fields. Correct size of "enabled" field. * features/i386/64bit-mpx.xml (_bndcfgu): Specify type of "preserved" and "enabled" fields. * features/i386/i386-avx-mpx-linux.c: Regenerate. * features/i386/i386-avx-mpx.c: Regenerate. * features/i386/i386-avx512-linux.c: Regenerate. * features/i386/i386-avx512.c: Regenerate. * features/i386/i386-mpx-linux.c: Regenerate. * features/i386/i386-mpx.c: Regenerate. * features/arc-arcompact.c: Regenerate. * features/arc-v2.c: Regenerate. * xml-tdesc.c (tdesc_start_field): Require "end" spec. Single bit fields default to "bool" type. Revert 2016-03-15 Doug Evans <dje@google.com> * features/i386/32bit-core.xml (i386_eflags): Remove "end" spec. * features/i386/32bit-sse.xml (i386_eflags): Ditto. * features/i386/64bit-core.xml (i386_eflags): Ditto. * features/i386/64bit-sse.xml (i386_eflags): Ditto. * features/i386/x32-core.xml (i386_eflags): Ditto. gdb/doc/ChangeLog: 2016-10-06 Doug Evans <dje@google.com> * gdb.texinfo (Target Description Format): Update docs on "end" field spec and field default type. gdb/testsuite/ChangeLog: 2016-10-06 Doug Evans <dje@google.com> * gdb.xml/extra-regs.xml: Update, end field now required, default type for single bitfields is bool. * gdb.xml/tdesc-regs.exp: Ditto.
Diffstat (limited to 'gdb/features/i386')
-rw-r--r--gdb/features/i386/32bit-core.xml34
-rw-r--r--gdb/features/i386/32bit-mpx.xml6
-rw-r--r--gdb/features/i386/32bit-sse.xml28
-rw-r--r--gdb/features/i386/64bit-core.xml34
-rw-r--r--gdb/features/i386/64bit-mpx.xml5
-rw-r--r--gdb/features/i386/64bit-sse.xml28
-rw-r--r--gdb/features/i386/i386-avx-mpx-linux.c2
-rw-r--r--gdb/features/i386/i386-avx-mpx.c2
-rw-r--r--gdb/features/i386/i386-avx512-linux.c2
-rw-r--r--gdb/features/i386/i386-avx512.c2
-rw-r--r--gdb/features/i386/i386-mpx-linux.c2
-rw-r--r--gdb/features/i386/i386-mpx.c2
-rw-r--r--gdb/features/i386/x32-core.xml34
13 files changed, 92 insertions, 89 deletions
diff --git a/gdb/features/i386/32bit-core.xml b/gdb/features/i386/32bit-core.xml
index b00d9137372..a27863f0df5 100644
--- a/gdb/features/i386/32bit-core.xml
+++ b/gdb/features/i386/32bit-core.xml
@@ -8,23 +8,23 @@
<!DOCTYPE feature SYSTEM "gdb-target.dtd">
<feature name="org.gnu.gdb.i386.core">
<flags id="i386_eflags" size="4">
- <field name="CF" start="0"/>
- <field name="" start="1"/>
- <field name="PF" start="2"/>
- <field name="AF" start="4"/>
- <field name="ZF" start="6"/>
- <field name="SF" start="7"/>
- <field name="TF" start="8"/>
- <field name="IF" start="9"/>
- <field name="DF" start="10"/>
- <field name="OF" start="11"/>
- <field name="NT" start="14"/>
- <field name="RF" start="16"/>
- <field name="VM" start="17"/>
- <field name="AC" start="18"/>
- <field name="VIF" start="19"/>
- <field name="VIP" start="20"/>
- <field name="ID" start="21"/>
+ <field name="CF" start="0" end="0"/>
+ <field name="" start="1" end="1"/>
+ <field name="PF" start="2" end="2"/>
+ <field name="AF" start="4" end="4"/>
+ <field name="ZF" start="6" end="6"/>
+ <field name="SF" start="7" end="7"/>
+ <field name="TF" start="8" end="8"/>
+ <field name="IF" start="9" end="9"/>
+ <field name="DF" start="10" end="10"/>
+ <field name="OF" start="11" end="11"/>
+ <field name="NT" start="14" end="14"/>
+ <field name="RF" start="16" end="16"/>
+ <field name="VM" start="17" end="17"/>
+ <field name="AC" start="18" end="18"/>
+ <field name="VIF" start="19" end="19"/>
+ <field name="VIP" start="20" end="20"/>
+ <field name="ID" start="21" end="21"/>
</flags>
<reg name="eax" bitsize="32" type="int32"/>
diff --git a/gdb/features/i386/32bit-mpx.xml b/gdb/features/i386/32bit-mpx.xml
index b1c06153a7a..8d319cf0c8e 100644
--- a/gdb/features/i386/32bit-mpx.xml
+++ b/gdb/features/i386/32bit-mpx.xml
@@ -25,8 +25,10 @@
<struct id="_bndcfgu" size="8">
<field name="base" start="12" end="31" />
<field name="reserved" start="2" end="11"/>
- <field name="preserved" start="1" end="1"/>
- <field name="enabled" start="0" end="1"/>
+ <!-- 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">
diff --git a/gdb/features/i386/32bit-sse.xml b/gdb/features/i386/32bit-sse.xml
index 4448a7e2c8c..5a44d1ef9ce 100644
--- a/gdb/features/i386/32bit-sse.xml
+++ b/gdb/features/i386/32bit-sse.xml
@@ -23,20 +23,20 @@
<field name="uint128" type="uint128"/>
</union>
<flags id="i386_mxcsr" size="4">
- <field name="IE" start="0"/>
- <field name="DE" start="1"/>
- <field name="ZE" start="2"/>
- <field name="OE" start="3"/>
- <field name="UE" start="4"/>
- <field name="PE" start="5"/>
- <field name="DAZ" start="6"/>
- <field name="IM" start="7"/>
- <field name="DM" start="8"/>
- <field name="ZM" start="9"/>
- <field name="OM" start="10"/>
- <field name="UM" start="11"/>
- <field name="PM" start="12"/>
- <field name="FZ" start="15"/>
+ <field name="IE" start="0" end="0"/>
+ <field name="DE" start="1" end="1"/>
+ <field name="ZE" start="2" end="2"/>
+ <field name="OE" start="3" end="3"/>
+ <field name="UE" start="4" end="4"/>
+ <field name="PE" start="5" end="5"/>
+ <field name="DAZ" start="6" end="6"/>
+ <field name="IM" start="7" end="7"/>
+ <field name="DM" start="8" end="8"/>
+ <field name="ZM" start="9" end="9"/>
+ <field name="OM" start="10" end="10"/>
+ <field name="UM" start="11" end="11"/>
+ <field name="PM" start="12" end="12"/>
+ <field name="FZ" start="15" end="15"/>
</flags>
<reg name="xmm0" bitsize="128" type="vec128" regnum="32"/>
diff --git a/gdb/features/i386/64bit-core.xml b/gdb/features/i386/64bit-core.xml
index 6e847c1686f..92f4e87ef0b 100644
--- a/gdb/features/i386/64bit-core.xml
+++ b/gdb/features/i386/64bit-core.xml
@@ -8,23 +8,23 @@
<!DOCTYPE feature SYSTEM "gdb-target.dtd">
<feature name="org.gnu.gdb.i386.core">
<flags id="i386_eflags" size="4">
- <field name="CF" start="0"/>
- <field name="" start="1"/>
- <field name="PF" start="2"/>
- <field name="AF" start="4"/>
- <field name="ZF" start="6"/>
- <field name="SF" start="7"/>
- <field name="TF" start="8"/>
- <field name="IF" start="9"/>
- <field name="DF" start="10"/>
- <field name="OF" start="11"/>
- <field name="NT" start="14"/>
- <field name="RF" start="16"/>
- <field name="VM" start="17"/>
- <field name="AC" start="18"/>
- <field name="VIF" start="19"/>
- <field name="VIP" start="20"/>
- <field name="ID" start="21"/>
+ <field name="CF" start="0" end="0"/>
+ <field name="" start="1" end="1"/>
+ <field name="PF" start="2" end="2"/>
+ <field name="AF" start="4" end="4"/>
+ <field name="ZF" start="6" end="6"/>
+ <field name="SF" start="7" end="7"/>
+ <field name="TF" start="8" end="8"/>
+ <field name="IF" start="9" end="9"/>
+ <field name="DF" start="10" end="10"/>
+ <field name="OF" start="11" end="11"/>
+ <field name="NT" start="14" end="14"/>
+ <field name="RF" start="16" end="16"/>
+ <field name="VM" start="17" end="17"/>
+ <field name="AC" start="18" end="18"/>
+ <field name="VIF" start="19" end="19"/>
+ <field name="VIP" start="20" end="20"/>
+ <field name="ID" start="21" end="21"/>
</flags>
<reg name="rax" bitsize="64" type="int64"/>
diff --git a/gdb/features/i386/64bit-mpx.xml b/gdb/features/i386/64bit-mpx.xml
index 279b537a9d2..877cc0f4be1 100644
--- a/gdb/features/i386/64bit-mpx.xml
+++ b/gdb/features/i386/64bit-mpx.xml
@@ -25,8 +25,9 @@
<struct id="_bndcfgu" size="8">
<field name="base" start="12" end="63"/>
<field name="reserved" start="2" end="11"/>
- <field name="preserved" start="1" end="1"/>
- <field name="enabled" start="0" end="0"/>
+ <!-- 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">
diff --git a/gdb/features/i386/64bit-sse.xml b/gdb/features/i386/64bit-sse.xml
index dd6a850643a..2a5271e8752 100644
--- a/gdb/features/i386/64bit-sse.xml
+++ b/gdb/features/i386/64bit-sse.xml
@@ -23,20 +23,20 @@
<field name="uint128" type="uint128"/>
</union>
<flags id="i386_mxcsr" size="4">
- <field name="IE" start="0"/>
- <field name="DE" start="1"/>
- <field name="ZE" start="2"/>
- <field name="OE" start="3"/>
- <field name="UE" start="4"/>
- <field name="PE" start="5"/>
- <field name="DAZ" start="6"/>
- <field name="IM" start="7"/>
- <field name="DM" start="8"/>
- <field name="ZM" start="9"/>
- <field name="OM" start="10"/>
- <field name="UM" start="11"/>
- <field name="PM" start="12"/>
- <field name="FZ" start="15"/>
+ <field name="IE" start="0" end="0"/>
+ <field name="DE" start="1" end="1"/>
+ <field name="ZE" start="2" end="2"/>
+ <field name="OE" start="3" end="3"/>
+ <field name="UE" start="4" end="4"/>
+ <field name="PE" start="5" end="5"/>
+ <field name="DAZ" start="6" end="6"/>
+ <field name="IM" start="7" end="7"/>
+ <field name="DM" start="8" end="8"/>
+ <field name="ZM" start="9" end="9"/>
+ <field name="OM" start="10" end="10"/>
+ <field name="UM" start="11" end="11"/>
+ <field name="PM" start="12" end="12"/>
+ <field name="FZ" start="15" end="15"/>
</flags>
<reg name="xmm0" bitsize="128" type="vec128" regnum="40"/>
diff --git a/gdb/features/i386/i386-avx-mpx-linux.c b/gdb/features/i386/i386-avx-mpx-linux.c
index 941f2b3d605..4b27bfcb05a 100644
--- a/gdb/features/i386/i386-avx-mpx-linux.c
+++ b/gdb/features/i386/i386-avx-mpx-linux.c
@@ -168,7 +168,7 @@ initialize_tdesc_i386_avx_mpx_linux (void)
tdesc_add_bitfield (type, "base", 12, 31);
tdesc_add_bitfield (type, "reserved", 2, 11);
tdesc_add_bitfield (type, "preserved", 1, 1);
- tdesc_add_bitfield (type, "enabled", 0, 1);
+ tdesc_add_bitfield (type, "enabled", 0, 0);
type = tdesc_create_union (feature, "cfgu");
field_type = tdesc_named_type (feature, "data_ptr");
diff --git a/gdb/features/i386/i386-avx-mpx.c b/gdb/features/i386/i386-avx-mpx.c
index d822aacd54d..b27b40a3a3e 100644
--- a/gdb/features/i386/i386-avx-mpx.c
+++ b/gdb/features/i386/i386-avx-mpx.c
@@ -163,7 +163,7 @@ initialize_tdesc_i386_avx_mpx (void)
tdesc_add_bitfield (type, "base", 12, 31);
tdesc_add_bitfield (type, "reserved", 2, 11);
tdesc_add_bitfield (type, "preserved", 1, 1);
- tdesc_add_bitfield (type, "enabled", 0, 1);
+ tdesc_add_bitfield (type, "enabled", 0, 0);
type = tdesc_create_union (feature, "cfgu");
field_type = tdesc_named_type (feature, "data_ptr");
diff --git a/gdb/features/i386/i386-avx512-linux.c b/gdb/features/i386/i386-avx512-linux.c
index 47a3319a133..0d3ab2236d2 100644
--- a/gdb/features/i386/i386-avx512-linux.c
+++ b/gdb/features/i386/i386-avx512-linux.c
@@ -168,7 +168,7 @@ initialize_tdesc_i386_avx512_linux (void)
tdesc_add_bitfield (type, "base", 12, 31);
tdesc_add_bitfield (type, "reserved", 2, 11);
tdesc_add_bitfield (type, "preserved", 1, 1);
- tdesc_add_bitfield (type, "enabled", 0, 1);
+ tdesc_add_bitfield (type, "enabled", 0, 0);
type = tdesc_create_union (feature, "cfgu");
field_type = tdesc_named_type (feature, "data_ptr");
diff --git a/gdb/features/i386/i386-avx512.c b/gdb/features/i386/i386-avx512.c
index 6e8cb553abe..1cb68a1653a 100644
--- a/gdb/features/i386/i386-avx512.c
+++ b/gdb/features/i386/i386-avx512.c
@@ -163,7 +163,7 @@ initialize_tdesc_i386_avx512 (void)
tdesc_add_bitfield (type, "base", 12, 31);
tdesc_add_bitfield (type, "reserved", 2, 11);
tdesc_add_bitfield (type, "preserved", 1, 1);
- tdesc_add_bitfield (type, "enabled", 0, 1);
+ tdesc_add_bitfield (type, "enabled", 0, 0);
type = tdesc_create_union (feature, "cfgu");
field_type = tdesc_named_type (feature, "data_ptr");
diff --git a/gdb/features/i386/i386-mpx-linux.c b/gdb/features/i386/i386-mpx-linux.c
index 298b7ffc4b3..43ea192a303 100644
--- a/gdb/features/i386/i386-mpx-linux.c
+++ b/gdb/features/i386/i386-mpx-linux.c
@@ -158,7 +158,7 @@ initialize_tdesc_i386_mpx_linux (void)
tdesc_add_bitfield (type, "base", 12, 31);
tdesc_add_bitfield (type, "reserved", 2, 11);
tdesc_add_bitfield (type, "preserved", 1, 1);
- tdesc_add_bitfield (type, "enabled", 0, 1);
+ tdesc_add_bitfield (type, "enabled", 0, 0);
type = tdesc_create_union (feature, "cfgu");
field_type = tdesc_named_type (feature, "data_ptr");
diff --git a/gdb/features/i386/i386-mpx.c b/gdb/features/i386/i386-mpx.c
index c19af55d226..e832d2e188f 100644
--- a/gdb/features/i386/i386-mpx.c
+++ b/gdb/features/i386/i386-mpx.c
@@ -153,7 +153,7 @@ initialize_tdesc_i386_mpx (void)
tdesc_add_bitfield (type, "base", 12, 31);
tdesc_add_bitfield (type, "reserved", 2, 11);
tdesc_add_bitfield (type, "preserved", 1, 1);
- tdesc_add_bitfield (type, "enabled", 0, 1);
+ tdesc_add_bitfield (type, "enabled", 0, 0);
type = tdesc_create_union (feature, "cfgu");
field_type = tdesc_named_type (feature, "data_ptr");
diff --git a/gdb/features/i386/x32-core.xml b/gdb/features/i386/x32-core.xml
index c03cdea2433..ab51ffcc588 100644
--- a/gdb/features/i386/x32-core.xml
+++ b/gdb/features/i386/x32-core.xml
@@ -8,23 +8,23 @@
<!DOCTYPE feature SYSTEM "gdb-target.dtd">
<feature name="org.gnu.gdb.i386.core">
<flags id="i386_eflags" size="4">
- <field name="CF" start="0"/>
- <field name="" start="1"/>
- <field name="PF" start="2"/>
- <field name="AF" start="4"/>
- <field name="ZF" start="6"/>
- <field name="SF" start="7"/>
- <field name="TF" start="8"/>
- <field name="IF" start="9"/>
- <field name="DF" start="10"/>
- <field name="OF" start="11"/>
- <field name="NT" start="14"/>
- <field name="RF" start="16"/>
- <field name="VM" start="17"/>
- <field name="AC" start="18"/>
- <field name="VIF" start="19"/>
- <field name="VIP" start="20"/>
- <field name="ID" start="21"/>
+ <field name="CF" start="0" end="0"/>
+ <field name="" start="1" end="1"/>
+ <field name="PF" start="2" end="2"/>
+ <field name="AF" start="4" end="4"/>
+ <field name="ZF" start="6" end="6"/>
+ <field name="SF" start="7" end="7"/>
+ <field name="TF" start="8" end="8"/>
+ <field name="IF" start="9" end="9"/>
+ <field name="DF" start="10" end="10"/>
+ <field name="OF" start="11" end="11"/>
+ <field name="NT" start="14" end="14"/>
+ <field name="RF" start="16" end="16"/>
+ <field name="VM" start="17" end="17"/>
+ <field name="AC" start="18" end="18"/>
+ <field name="VIF" start="19" end="19"/>
+ <field name="VIP" start="20" end="20"/>
+ <field name="ID" start="21" end="21"/>
</flags>
<reg name="rax" bitsize="64" type="int64"/>