diff options
author | Doug Evans <dje@google.com> | 2016-10-06 12:12:33 +0100 |
---|---|---|
committer | Pedro Alves <palves@redhat.com> | 2016-10-06 12:12:33 +0100 |
commit | ee8da4b8396d9a74d27cb9bb0f3aa43d6d23b8ea (patch) | |
tree | 1fd455f93881201680ad490eb1e54d62647b33d6 /gdb/features/i386 | |
parent | 3ac6b810d1e58fe10ee496fdb1ebd4ce050dc91c (diff) | |
download | binutils-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.xml | 34 | ||||
-rw-r--r-- | gdb/features/i386/32bit-mpx.xml | 6 | ||||
-rw-r--r-- | gdb/features/i386/32bit-sse.xml | 28 | ||||
-rw-r--r-- | gdb/features/i386/64bit-core.xml | 34 | ||||
-rw-r--r-- | gdb/features/i386/64bit-mpx.xml | 5 | ||||
-rw-r--r-- | gdb/features/i386/64bit-sse.xml | 28 | ||||
-rw-r--r-- | gdb/features/i386/i386-avx-mpx-linux.c | 2 | ||||
-rw-r--r-- | gdb/features/i386/i386-avx-mpx.c | 2 | ||||
-rw-r--r-- | gdb/features/i386/i386-avx512-linux.c | 2 | ||||
-rw-r--r-- | gdb/features/i386/i386-avx512.c | 2 | ||||
-rw-r--r-- | gdb/features/i386/i386-mpx-linux.c | 2 | ||||
-rw-r--r-- | gdb/features/i386/i386-mpx.c | 2 | ||||
-rw-r--r-- | gdb/features/i386/x32-core.xml | 34 |
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"/> |