diff options
author | H.J. Lu <hjl.tools@gmail.com> | 2010-03-01 17:26:02 +0000 |
---|---|---|
committer | H.J. Lu <hjl.tools@gmail.com> | 2010-03-01 17:26:02 +0000 |
commit | 0257d639d42f896a359993ae8adb5792e280f65f (patch) | |
tree | f815d98bd5824c6d0061d5ace0645a9a7e413ad0 /gdb/features | |
parent | cb928c67c90cfb5bbb0636d91855b95e51ad275d (diff) | |
download | gdb-0257d639d42f896a359993ae8adb5792e280f65f.tar.gz |
Remove TDESC_TYPE_I386_EFLAGS and TDESC_TYPE_I386_MXCSR.
2010-03-01 H.J. Lu <hongjiu.lu@intel.com>
* target-descriptions.c (tdesc_type): Remove
TDESC_TYPE_I386_EFLAGS and TDESC_TYPE_I386_MXCSR.
(tdesc_predefined_types): Likewise.
(tdesc_gdb_type): Likewise. Pass NULL to append_flags_type_flag
if flag name is empty.
(maint_print_c_tdesc_cmd): Handle TDESC_TYPE_FLAGS.
* features/i386/32bit-core.xml: Define i386_eflags.
* features/i386/64bit-core.xml: Likewise.
* features/i386/32bit-sse.xml: Define i386_mxcsr.
* features/i386/64bit-sse.xml: Likewise.
* features/i386/amd64-linux.c: Regenerated.
* features/i386/amd64.c: Likewise.
* features/i386/i386-linux.c: Likewise.
* features/i386/i386.c: Likewise.
Diffstat (limited to 'gdb/features')
-rw-r--r-- | gdb/features/i386/32bit-core.xml | 20 | ||||
-rw-r--r-- | gdb/features/i386/32bit-sse.xml | 16 | ||||
-rw-r--r-- | gdb/features/i386/64bit-core.xml | 20 | ||||
-rw-r--r-- | gdb/features/i386/64bit-sse.xml | 16 | ||||
-rw-r--r-- | gdb/features/i386/amd64-linux.c | 35 | ||||
-rw-r--r-- | gdb/features/i386/amd64.c | 35 | ||||
-rw-r--r-- | gdb/features/i386/i386-linux.c | 35 | ||||
-rw-r--r-- | gdb/features/i386/i386.c | 35 |
8 files changed, 212 insertions, 0 deletions
diff --git a/gdb/features/i386/32bit-core.xml b/gdb/features/i386/32bit-core.xml index b047074829a..4d0377eb4c8 100644 --- a/gdb/features/i386/32bit-core.xml +++ b/gdb/features/i386/32bit-core.xml @@ -7,6 +7,26 @@ <!DOCTYPE feature SYSTEM "gdb-target.dtd"> <feature name="org.gnu.gdb.i386.core"> + <flags id="i386_eflags" size="4"> + <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"/> <reg name="ecx" bitsize="32" type="int32"/> <reg name="edx" bitsize="32" type="int32"/> diff --git a/gdb/features/i386/32bit-sse.xml b/gdb/features/i386/32bit-sse.xml index e849b8d9fad..cca94b37534 100644 --- a/gdb/features/i386/32bit-sse.xml +++ b/gdb/features/i386/32bit-sse.xml @@ -22,6 +22,22 @@ <field name="v2_int64" type="v2i64"/> <field name="uint128" type="uint128"/> </union> + <flags id="i386_mxcsr" size="4"> + <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"/> <reg name="xmm1" bitsize="128" type="vec128"/> diff --git a/gdb/features/i386/64bit-core.xml b/gdb/features/i386/64bit-core.xml index ae41cf220b0..8cfe3fe0533 100644 --- a/gdb/features/i386/64bit-core.xml +++ b/gdb/features/i386/64bit-core.xml @@ -7,6 +7,26 @@ <!DOCTYPE feature SYSTEM "gdb-target.dtd"> <feature name="org.gnu.gdb.i386.core"> + <flags id="i386_eflags" size="4"> + <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"/> <reg name="rbx" bitsize="64" type="int64"/> <reg name="rcx" bitsize="64" type="int64"/> diff --git a/gdb/features/i386/64bit-sse.xml b/gdb/features/i386/64bit-sse.xml index a71fe78f6d4..d7f7925d653 100644 --- a/gdb/features/i386/64bit-sse.xml +++ b/gdb/features/i386/64bit-sse.xml @@ -22,6 +22,22 @@ <field name="v2_int64" type="v2i64"/> <field name="uint128" type="uint128"/> </union> + <flags id="i386_mxcsr" size="4"> + <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"/> <reg name="xmm1" bitsize="128" type="vec128"/> diff --git a/gdb/features/i386/amd64-linux.c b/gdb/features/i386/amd64-linux.c index 64a29ce62ee..71efcbef749 100644 --- a/gdb/features/i386/amd64-linux.c +++ b/gdb/features/i386/amd64-linux.c @@ -17,6 +17,25 @@ initialize_tdesc_amd64_linux (void) set_tdesc_osabi (result, osabi_from_tdesc_string ("GNU/Linux")); feature = tdesc_create_feature (result, "org.gnu.gdb.i386.core"); + field_type = tdesc_create_flags (feature, "i386_eflags", 4); + tdesc_add_flag (field_type, 0, "CF"); + tdesc_add_flag (field_type, 1, ""); + tdesc_add_flag (field_type, 2, "PF"); + tdesc_add_flag (field_type, 4, "AF"); + tdesc_add_flag (field_type, 6, "ZF"); + tdesc_add_flag (field_type, 7, "SF"); + tdesc_add_flag (field_type, 8, "TF"); + tdesc_add_flag (field_type, 9, "IF"); + tdesc_add_flag (field_type, 10, "DF"); + tdesc_add_flag (field_type, 11, "OF"); + tdesc_add_flag (field_type, 14, "NT"); + tdesc_add_flag (field_type, 16, "RF"); + tdesc_add_flag (field_type, 17, "VM"); + tdesc_add_flag (field_type, 18, "AC"); + tdesc_add_flag (field_type, 19, "VIF"); + tdesc_add_flag (field_type, 20, "VIP"); + tdesc_add_flag (field_type, 21, "ID"); + tdesc_create_reg (feature, "rax", 0, 1, NULL, 64, "int64"); tdesc_create_reg (feature, "rbx", 1, 1, NULL, 64, "int64"); tdesc_create_reg (feature, "rcx", 2, 1, NULL, 64, "int64"); @@ -93,6 +112,22 @@ initialize_tdesc_amd64_linux (void) field_type = tdesc_named_type (feature, "uint128"); tdesc_add_field (type, "uint128", field_type); + field_type = tdesc_create_flags (feature, "i386_mxcsr", 4); + tdesc_add_flag (field_type, 0, "IE"); + tdesc_add_flag (field_type, 1, "DE"); + tdesc_add_flag (field_type, 2, "ZE"); + tdesc_add_flag (field_type, 3, "OE"); + tdesc_add_flag (field_type, 4, "UE"); + tdesc_add_flag (field_type, 5, "PE"); + tdesc_add_flag (field_type, 6, "DAZ"); + tdesc_add_flag (field_type, 7, "IM"); + tdesc_add_flag (field_type, 8, "DM"); + tdesc_add_flag (field_type, 9, "ZM"); + tdesc_add_flag (field_type, 10, "OM"); + tdesc_add_flag (field_type, 11, "UM"); + tdesc_add_flag (field_type, 12, "PM"); + tdesc_add_flag (field_type, 15, "FZ"); + tdesc_create_reg (feature, "xmm0", 40, 1, NULL, 128, "vec128"); tdesc_create_reg (feature, "xmm1", 41, 1, NULL, 128, "vec128"); tdesc_create_reg (feature, "xmm2", 42, 1, NULL, 128, "vec128"); diff --git a/gdb/features/i386/amd64.c b/gdb/features/i386/amd64.c index af7b7296dd9..154e8df1290 100644 --- a/gdb/features/i386/amd64.c +++ b/gdb/features/i386/amd64.c @@ -15,6 +15,25 @@ initialize_tdesc_amd64 (void) set_tdesc_architecture (result, bfd_scan_arch ("i386:x86-64")); feature = tdesc_create_feature (result, "org.gnu.gdb.i386.core"); + field_type = tdesc_create_flags (feature, "i386_eflags", 4); + tdesc_add_flag (field_type, 0, "CF"); + tdesc_add_flag (field_type, 1, ""); + tdesc_add_flag (field_type, 2, "PF"); + tdesc_add_flag (field_type, 4, "AF"); + tdesc_add_flag (field_type, 6, "ZF"); + tdesc_add_flag (field_type, 7, "SF"); + tdesc_add_flag (field_type, 8, "TF"); + tdesc_add_flag (field_type, 9, "IF"); + tdesc_add_flag (field_type, 10, "DF"); + tdesc_add_flag (field_type, 11, "OF"); + tdesc_add_flag (field_type, 14, "NT"); + tdesc_add_flag (field_type, 16, "RF"); + tdesc_add_flag (field_type, 17, "VM"); + tdesc_add_flag (field_type, 18, "AC"); + tdesc_add_flag (field_type, 19, "VIF"); + tdesc_add_flag (field_type, 20, "VIP"); + tdesc_add_flag (field_type, 21, "ID"); + tdesc_create_reg (feature, "rax", 0, 1, NULL, 64, "int64"); tdesc_create_reg (feature, "rbx", 1, 1, NULL, 64, "int64"); tdesc_create_reg (feature, "rcx", 2, 1, NULL, 64, "int64"); @@ -91,6 +110,22 @@ initialize_tdesc_amd64 (void) field_type = tdesc_named_type (feature, "uint128"); tdesc_add_field (type, "uint128", field_type); + field_type = tdesc_create_flags (feature, "i386_mxcsr", 4); + tdesc_add_flag (field_type, 0, "IE"); + tdesc_add_flag (field_type, 1, "DE"); + tdesc_add_flag (field_type, 2, "ZE"); + tdesc_add_flag (field_type, 3, "OE"); + tdesc_add_flag (field_type, 4, "UE"); + tdesc_add_flag (field_type, 5, "PE"); + tdesc_add_flag (field_type, 6, "DAZ"); + tdesc_add_flag (field_type, 7, "IM"); + tdesc_add_flag (field_type, 8, "DM"); + tdesc_add_flag (field_type, 9, "ZM"); + tdesc_add_flag (field_type, 10, "OM"); + tdesc_add_flag (field_type, 11, "UM"); + tdesc_add_flag (field_type, 12, "PM"); + tdesc_add_flag (field_type, 15, "FZ"); + tdesc_create_reg (feature, "xmm0", 40, 1, NULL, 128, "vec128"); tdesc_create_reg (feature, "xmm1", 41, 1, NULL, 128, "vec128"); tdesc_create_reg (feature, "xmm2", 42, 1, NULL, 128, "vec128"); diff --git a/gdb/features/i386/i386-linux.c b/gdb/features/i386/i386-linux.c index 37447bdbb47..cc1fb99b209 100644 --- a/gdb/features/i386/i386-linux.c +++ b/gdb/features/i386/i386-linux.c @@ -17,6 +17,25 @@ initialize_tdesc_i386_linux (void) set_tdesc_osabi (result, osabi_from_tdesc_string ("GNU/Linux")); feature = tdesc_create_feature (result, "org.gnu.gdb.i386.core"); + field_type = tdesc_create_flags (feature, "i386_eflags", 4); + tdesc_add_flag (field_type, 0, "CF"); + tdesc_add_flag (field_type, 1, ""); + tdesc_add_flag (field_type, 2, "PF"); + tdesc_add_flag (field_type, 4, "AF"); + tdesc_add_flag (field_type, 6, "ZF"); + tdesc_add_flag (field_type, 7, "SF"); + tdesc_add_flag (field_type, 8, "TF"); + tdesc_add_flag (field_type, 9, "IF"); + tdesc_add_flag (field_type, 10, "DF"); + tdesc_add_flag (field_type, 11, "OF"); + tdesc_add_flag (field_type, 14, "NT"); + tdesc_add_flag (field_type, 16, "RF"); + tdesc_add_flag (field_type, 17, "VM"); + tdesc_add_flag (field_type, 18, "AC"); + tdesc_add_flag (field_type, 19, "VIF"); + tdesc_add_flag (field_type, 20, "VIP"); + tdesc_add_flag (field_type, 21, "ID"); + tdesc_create_reg (feature, "eax", 0, 1, NULL, 32, "int32"); tdesc_create_reg (feature, "ecx", 1, 1, NULL, 32, "int32"); tdesc_create_reg (feature, "edx", 2, 1, NULL, 32, "int32"); @@ -88,6 +107,22 @@ initialize_tdesc_i386_linux (void) field_type = tdesc_named_type (feature, "uint128"); tdesc_add_field (type, "uint128", field_type); + field_type = tdesc_create_flags (feature, "i386_mxcsr", 4); + tdesc_add_flag (field_type, 0, "IE"); + tdesc_add_flag (field_type, 1, "DE"); + tdesc_add_flag (field_type, 2, "ZE"); + tdesc_add_flag (field_type, 3, "OE"); + tdesc_add_flag (field_type, 4, "UE"); + tdesc_add_flag (field_type, 5, "PE"); + tdesc_add_flag (field_type, 6, "DAZ"); + tdesc_add_flag (field_type, 7, "IM"); + tdesc_add_flag (field_type, 8, "DM"); + tdesc_add_flag (field_type, 9, "ZM"); + tdesc_add_flag (field_type, 10, "OM"); + tdesc_add_flag (field_type, 11, "UM"); + tdesc_add_flag (field_type, 12, "PM"); + tdesc_add_flag (field_type, 15, "FZ"); + tdesc_create_reg (feature, "xmm0", 32, 1, NULL, 128, "vec128"); tdesc_create_reg (feature, "xmm1", 33, 1, NULL, 128, "vec128"); tdesc_create_reg (feature, "xmm2", 34, 1, NULL, 128, "vec128"); diff --git a/gdb/features/i386/i386.c b/gdb/features/i386/i386.c index 5ac9ad9a587..7f7beb3b320 100644 --- a/gdb/features/i386/i386.c +++ b/gdb/features/i386/i386.c @@ -15,6 +15,25 @@ initialize_tdesc_i386 (void) set_tdesc_architecture (result, bfd_scan_arch ("i386")); feature = tdesc_create_feature (result, "org.gnu.gdb.i386.core"); + field_type = tdesc_create_flags (feature, "i386_eflags", 4); + tdesc_add_flag (field_type, 0, "CF"); + tdesc_add_flag (field_type, 1, ""); + tdesc_add_flag (field_type, 2, "PF"); + tdesc_add_flag (field_type, 4, "AF"); + tdesc_add_flag (field_type, 6, "ZF"); + tdesc_add_flag (field_type, 7, "SF"); + tdesc_add_flag (field_type, 8, "TF"); + tdesc_add_flag (field_type, 9, "IF"); + tdesc_add_flag (field_type, 10, "DF"); + tdesc_add_flag (field_type, 11, "OF"); + tdesc_add_flag (field_type, 14, "NT"); + tdesc_add_flag (field_type, 16, "RF"); + tdesc_add_flag (field_type, 17, "VM"); + tdesc_add_flag (field_type, 18, "AC"); + tdesc_add_flag (field_type, 19, "VIF"); + tdesc_add_flag (field_type, 20, "VIP"); + tdesc_add_flag (field_type, 21, "ID"); + tdesc_create_reg (feature, "eax", 0, 1, NULL, 32, "int32"); tdesc_create_reg (feature, "ecx", 1, 1, NULL, 32, "int32"); tdesc_create_reg (feature, "edx", 2, 1, NULL, 32, "int32"); @@ -83,6 +102,22 @@ initialize_tdesc_i386 (void) field_type = tdesc_named_type (feature, "uint128"); tdesc_add_field (type, "uint128", field_type); + field_type = tdesc_create_flags (feature, "i386_mxcsr", 4); + tdesc_add_flag (field_type, 0, "IE"); + tdesc_add_flag (field_type, 1, "DE"); + tdesc_add_flag (field_type, 2, "ZE"); + tdesc_add_flag (field_type, 3, "OE"); + tdesc_add_flag (field_type, 4, "UE"); + tdesc_add_flag (field_type, 5, "PE"); + tdesc_add_flag (field_type, 6, "DAZ"); + tdesc_add_flag (field_type, 7, "IM"); + tdesc_add_flag (field_type, 8, "DM"); + tdesc_add_flag (field_type, 9, "ZM"); + tdesc_add_flag (field_type, 10, "OM"); + tdesc_add_flag (field_type, 11, "UM"); + tdesc_add_flag (field_type, 12, "PM"); + tdesc_add_flag (field_type, 15, "FZ"); + tdesc_create_reg (feature, "xmm0", 32, 1, NULL, 128, "vec128"); tdesc_create_reg (feature, "xmm1", 33, 1, NULL, 128, "vec128"); tdesc_create_reg (feature, "xmm2", 34, 1, NULL, 128, "vec128"); |