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.
This commit is contained in:
Doug Evans
2016-10-06 12:12:33 +01:00
committed by Pedro Alves
parent 3ac6b810d1
commit ee8da4b839
24 changed files with 206 additions and 173 deletions

View File

@ -44,23 +44,23 @@
<reg name="pc" bitsize="64" type="code_ptr"/>
<flags id="cpsr_flags" size="4">
<field name="SP" start="0" type="bool"/>
<field name="SP" start="0" end="0"/>
<field name="" start="1" end="1"/>
<field name="EL" start="2" end="3"/>
<field name="nRW" start="4" type="bool"/>
<field name="nRW" start="4" end="4"/>
<field name="" start="5" end="5"/>
<field name="F" start="6" type="bool"/>
<field name="I" start="7" type="bool"/>
<field name="A" start="8" type="bool"/>
<field name="D" start="9" type="bool"/>
<field name="F" start="6" end="6"/>
<field name="I" start="7" end="7"/>
<field name="A" start="8" end="8"/>
<field name="D" start="9" end="9"/>
<field name="IL" start="20" type="bool"/>
<field name="SS" start="21" type="bool"/>
<field name="IL" start="20" end="20"/>
<field name="SS" start="21" end="21"/>
<field name="V" start="28" type="bool"/>
<field name="C" start="29" type="bool"/>
<field name="Z" start="30" type="bool"/>
<field name="N" start="31" type="bool"/>
<field name="V" start="28" end="28"/>
<field name="C" start="29" end="29"/>
<field name="Z" start="30" end="30"/>
<field name="N" start="31" end="31"/>
</flags>
<reg name="cpsr" bitsize="32" type="cpsr_flags"/>

View File

@ -19,10 +19,10 @@ initialize_tdesc_aarch64 (void)
feature = tdesc_create_feature (result, "org.gnu.gdb.aarch64.core");
type = tdesc_create_flags (feature, "cpsr_flags", 4);
tdesc_add_flag (type, 0, "SP");
tdesc_add_bitfield (type, "", 1, 1);
tdesc_add_flag (type, 1, "");
tdesc_add_bitfield (type, "EL", 2, 3);
tdesc_add_flag (type, 4, "nRW");
tdesc_add_bitfield (type, "", 5, 5);
tdesc_add_flag (type, 5, "");
tdesc_add_flag (type, 6, "F");
tdesc_add_flag (type, 7, "I");
tdesc_add_flag (type, 8, "A");

View File

@ -54,19 +54,19 @@ initialize_tdesc_arc_arcompact (void)
feature = tdesc_create_feature (result, "org.gnu.gdb.arc.aux-minimal");
type = tdesc_create_flags (feature, "status32_type", 4);
tdesc_add_bitfield (type, "H", 0, 0);
tdesc_add_flag (type, 0, "H");
tdesc_add_bitfield (type, "E", 1, 2);
tdesc_add_bitfield (type, "A", 3, 4);
tdesc_add_bitfield (type, "AE", 5, 5);
tdesc_add_bitfield (type, "DE", 6, 6);
tdesc_add_bitfield (type, "U", 7, 7);
tdesc_add_bitfield (type, "V", 8, 8);
tdesc_add_bitfield (type, "C", 9, 9);
tdesc_add_bitfield (type, "N", 10, 10);
tdesc_add_bitfield (type, "Z", 11, 11);
tdesc_add_bitfield (type, "L", 12, 12);
tdesc_add_bitfield (type, "R", 13, 13);
tdesc_add_bitfield (type, "SE", 14, 14);
tdesc_add_flag (type, 5, "AE");
tdesc_add_flag (type, 6, "DE");
tdesc_add_flag (type, 7, "U");
tdesc_add_flag (type, 8, "V");
tdesc_add_flag (type, 9, "C");
tdesc_add_flag (type, 10, "N");
tdesc_add_flag (type, 11, "Z");
tdesc_add_flag (type, 12, "L");
tdesc_add_flag (type, 13, "R");
tdesc_add_flag (type, 14, "SE");
tdesc_create_reg (feature, "pc", 34, 1, NULL, 32, "code_ptr");
tdesc_create_reg (feature, "status32", 35, 1, NULL, 32, "status32_type");

View File

@ -54,23 +54,23 @@ initialize_tdesc_arc_v2 (void)
feature = tdesc_create_feature (result, "org.gnu.gdb.arc.aux-minimal");
type = tdesc_create_flags (feature, "status32_type", 4);
tdesc_add_bitfield (type, "H", 0, 0);
tdesc_add_flag (type, 0, "H");
tdesc_add_bitfield (type, "E", 1, 4);
tdesc_add_bitfield (type, "AE", 5, 5);
tdesc_add_bitfield (type, "DE", 6, 6);
tdesc_add_bitfield (type, "U", 7, 7);
tdesc_add_bitfield (type, "V", 8, 8);
tdesc_add_bitfield (type, "C", 9, 9);
tdesc_add_bitfield (type, "N", 10, 10);
tdesc_add_bitfield (type, "Z", 11, 11);
tdesc_add_bitfield (type, "L", 12, 12);
tdesc_add_bitfield (type, "DZ", 13, 13);
tdesc_add_bitfield (type, "SC", 14, 14);
tdesc_add_bitfield (type, "ES", 15, 15);
tdesc_add_flag (type, 5, "AE");
tdesc_add_flag (type, 6, "DE");
tdesc_add_flag (type, 7, "U");
tdesc_add_flag (type, 8, "V");
tdesc_add_flag (type, 9, "C");
tdesc_add_flag (type, 10, "N");
tdesc_add_flag (type, 11, "Z");
tdesc_add_flag (type, 12, "L");
tdesc_add_flag (type, 13, "DZ");
tdesc_add_flag (type, 14, "SC");
tdesc_add_flag (type, 15, "ES");
tdesc_add_bitfield (type, "RB", 16, 18);
tdesc_add_bitfield (type, "AD", 19, 19);
tdesc_add_bitfield (type, "US", 20, 20);
tdesc_add_bitfield (type, "IE", 31, 31);
tdesc_add_flag (type, 19, "AD");
tdesc_add_flag (type, 20, "US");
tdesc_add_flag (type, 31, "IE");
tdesc_create_reg (feature, "pc", 34, 1, NULL, 32, "code_ptr");
tdesc_create_reg (feature, "status32", 35, 1, NULL, 32, "status32_type");

View File

@ -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"/>

View File

@ -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">

View File

@ -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"/>

View File

@ -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"/>

View File

@ -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">

View File

@ -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"/>

View File

@ -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");

View File

@ -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");

View File

@ -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");

View File

@ -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");

View File

@ -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");

View File

@ -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");

View File

@ -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"/>