mirror of
https://github.com/bminor/binutils-gdb.git
synced 2025-11-16 12:34:43 +00:00
[PATCH v3 7/8]: Remove xml file references from target descriptions.
We no longer need to know the name of the xml file. This patch removes the references and regenerates the C files. Alan. 2018-03-01 Alan Hayward <alan.hayward@arm.com> gdb/ * common/tdesc.h (tdesc_create_feature): Remove xml filename parameter. * features/aarch64-core.c (create_feature_aarch64_core): Regenerate. * features/aarch64-fpu.c (create_feature_aarch64_fpu): Likewise. * features/i386/32bit-avx.c (create_feature_i386_32bit_avx): Likewise. * features/i386/32bit-avx512.c (create_feature_i386_32bit_avx512): Likewise. * features/i386/32bit-core.c (create_feature_i386_32bit_core): Likewise. * features/i386/32bit-linux.c (create_feature_i386_32bit_linux): Likewise. * features/i386/32bit-mpx.c (create_feature_i386_32bit_mpx): Likewise. * features/i386/32bit-pkeys.c (create_feature_i386_32bit_pkeys): Likewise. * features/i386/32bit-sse.c (create_feature_i386_32bit_sse): Likewise. * features/i386/64bit-avx.c (create_feature_i386_64bit_avx): Likewise. * features/i386/64bit-avx512.c (create_feature_i386_64bit_avx512): Likewise. * features/i386/64bit-core.c (create_feature_i386_64bit_core): Likewise. * features/i386/64bit-linux.c (create_feature_i386_64bit_linux): Likewise. * features/i386/64bit-mpx.c (create_feature_i386_64bit_mpx): Likewise. * features/i386/64bit-pkeys.c (create_feature_i386_64bit_pkeys): Likewise. * features/i386/64bit-segments.c (create_feature_i386_64bit_segments): Likewise. * features/i386/64bit-sse.c (create_feature_i386_64bit_sse): Likewise. * features/i386/x32-core.c (create_feature_i386_x32_core): Likewise. * features/tic6x-c6xp.c (create_feature_tic6x_c6xp): Likewise. * features/tic6x-core.c (create_feature_tic6x_core): Likewise. * features/tic6x-gp.c (create_feature_tic6x_gp): Likewise. * target-descriptions.c: In generated code, don't pass xml filename. gdbserver/ * gdbserver/tdesc.c: Remove xml parameter.
This commit is contained in:
@@ -323,9 +323,7 @@ struct tdesc_type *tdesc_named_type (const struct tdesc_feature *feature,
|
||||
|
||||
/* Return the created feature named NAME in target description TDESC. */
|
||||
struct tdesc_feature *tdesc_create_feature (struct target_desc *tdesc,
|
||||
const char *name,
|
||||
const char *xml = nullptr);
|
||||
|
||||
const char *name);
|
||||
|
||||
/* Return the created vector tdesc_type named NAME in FEATURE. */
|
||||
struct tdesc_type *tdesc_create_vector (struct tdesc_feature *feature,
|
||||
|
||||
@@ -8,7 +8,7 @@ create_feature_aarch64_core (struct target_desc *result, long regnum)
|
||||
{
|
||||
struct tdesc_feature *feature;
|
||||
|
||||
feature = tdesc_create_feature (result, "org.gnu.gdb.aarch64.core", "aarch64-core.xml");
|
||||
feature = tdesc_create_feature (result, "org.gnu.gdb.aarch64.core");
|
||||
tdesc_type_with_fields *type_with_fields;
|
||||
type_with_fields = tdesc_create_flags (feature, "cpsr_flags", 4);
|
||||
tdesc_add_flag (type_with_fields, 0, "SP");
|
||||
|
||||
@@ -8,7 +8,7 @@ create_feature_aarch64_fpu (struct target_desc *result, long regnum)
|
||||
{
|
||||
struct tdesc_feature *feature;
|
||||
|
||||
feature = tdesc_create_feature (result, "org.gnu.gdb.aarch64.fpu", "aarch64-fpu.xml");
|
||||
feature = tdesc_create_feature (result, "org.gnu.gdb.aarch64.fpu");
|
||||
tdesc_type *element_type;
|
||||
element_type = tdesc_named_type (feature, "ieee_double");
|
||||
tdesc_create_vector (feature, "v2d", element_type, 2);
|
||||
|
||||
@@ -8,7 +8,7 @@ create_feature_i386_32bit_avx (struct target_desc *result, long regnum)
|
||||
{
|
||||
struct tdesc_feature *feature;
|
||||
|
||||
feature = tdesc_create_feature (result, "org.gnu.gdb.i386.avx", "32bit-avx.xml");
|
||||
feature = tdesc_create_feature (result, "org.gnu.gdb.i386.avx");
|
||||
tdesc_create_reg (feature, "ymm0h", regnum++, 1, NULL, 128, "uint128");
|
||||
tdesc_create_reg (feature, "ymm1h", regnum++, 1, NULL, 128, "uint128");
|
||||
tdesc_create_reg (feature, "ymm2h", regnum++, 1, NULL, 128, "uint128");
|
||||
|
||||
@@ -8,7 +8,7 @@ create_feature_i386_32bit_avx512 (struct target_desc *result, long regnum)
|
||||
{
|
||||
struct tdesc_feature *feature;
|
||||
|
||||
feature = tdesc_create_feature (result, "org.gnu.gdb.i386.avx512", "32bit-avx512.xml");
|
||||
feature = tdesc_create_feature (result, "org.gnu.gdb.i386.avx512");
|
||||
tdesc_type *element_type;
|
||||
element_type = tdesc_named_type (feature, "uint128");
|
||||
tdesc_create_vector (feature, "v2ui128", element_type, 2);
|
||||
|
||||
@@ -8,7 +8,7 @@ create_feature_i386_32bit_core (struct target_desc *result, long regnum)
|
||||
{
|
||||
struct tdesc_feature *feature;
|
||||
|
||||
feature = tdesc_create_feature (result, "org.gnu.gdb.i386.core", "32bit-core.xml");
|
||||
feature = tdesc_create_feature (result, "org.gnu.gdb.i386.core");
|
||||
tdesc_type_with_fields *type_with_fields;
|
||||
type_with_fields = tdesc_create_flags (feature, "i386_eflags", 4);
|
||||
tdesc_add_flag (type_with_fields, 0, "CF");
|
||||
|
||||
@@ -8,7 +8,7 @@ create_feature_i386_32bit_linux (struct target_desc *result, long regnum)
|
||||
{
|
||||
struct tdesc_feature *feature;
|
||||
|
||||
feature = tdesc_create_feature (result, "org.gnu.gdb.i386.linux", "32bit-linux.xml");
|
||||
feature = tdesc_create_feature (result, "org.gnu.gdb.i386.linux");
|
||||
regnum = 41;
|
||||
tdesc_create_reg (feature, "orig_eax", regnum++, 1, NULL, 32, "int");
|
||||
return regnum;
|
||||
|
||||
@@ -8,7 +8,7 @@ create_feature_i386_32bit_mpx (struct target_desc *result, long regnum)
|
||||
{
|
||||
struct tdesc_feature *feature;
|
||||
|
||||
feature = tdesc_create_feature (result, "org.gnu.gdb.i386.mpx", "32bit-mpx.xml");
|
||||
feature = tdesc_create_feature (result, "org.gnu.gdb.i386.mpx");
|
||||
tdesc_type_with_fields *type_with_fields;
|
||||
type_with_fields = tdesc_create_struct (feature, "br128");
|
||||
tdesc_type *field_type;
|
||||
|
||||
@@ -8,7 +8,7 @@ create_feature_i386_32bit_pkeys (struct target_desc *result, long regnum)
|
||||
{
|
||||
struct tdesc_feature *feature;
|
||||
|
||||
feature = tdesc_create_feature (result, "org.gnu.gdb.i386.pkeys", "32bit-pkeys.xml");
|
||||
feature = tdesc_create_feature (result, "org.gnu.gdb.i386.pkeys");
|
||||
tdesc_create_reg (feature, "pkru", regnum++, 1, NULL, 32, "uint32");
|
||||
return regnum;
|
||||
}
|
||||
|
||||
@@ -8,7 +8,7 @@ create_feature_i386_32bit_sse (struct target_desc *result, long regnum)
|
||||
{
|
||||
struct tdesc_feature *feature;
|
||||
|
||||
feature = tdesc_create_feature (result, "org.gnu.gdb.i386.sse", "32bit-sse.xml");
|
||||
feature = tdesc_create_feature (result, "org.gnu.gdb.i386.sse");
|
||||
tdesc_type *element_type;
|
||||
element_type = tdesc_named_type (feature, "ieee_single");
|
||||
tdesc_create_vector (feature, "v4f", element_type, 4);
|
||||
|
||||
@@ -8,7 +8,7 @@ create_feature_i386_64bit_avx (struct target_desc *result, long regnum)
|
||||
{
|
||||
struct tdesc_feature *feature;
|
||||
|
||||
feature = tdesc_create_feature (result, "org.gnu.gdb.i386.avx", "64bit-avx.xml");
|
||||
feature = tdesc_create_feature (result, "org.gnu.gdb.i386.avx");
|
||||
tdesc_create_reg (feature, "ymm0h", regnum++, 1, NULL, 128, "uint128");
|
||||
tdesc_create_reg (feature, "ymm1h", regnum++, 1, NULL, 128, "uint128");
|
||||
tdesc_create_reg (feature, "ymm2h", regnum++, 1, NULL, 128, "uint128");
|
||||
|
||||
@@ -8,7 +8,7 @@ create_feature_i386_64bit_avx512 (struct target_desc *result, long regnum)
|
||||
{
|
||||
struct tdesc_feature *feature;
|
||||
|
||||
feature = tdesc_create_feature (result, "org.gnu.gdb.i386.avx512", "64bit-avx512.xml");
|
||||
feature = tdesc_create_feature (result, "org.gnu.gdb.i386.avx512");
|
||||
tdesc_type *element_type;
|
||||
element_type = tdesc_named_type (feature, "ieee_single");
|
||||
tdesc_create_vector (feature, "v4f", element_type, 4);
|
||||
|
||||
@@ -8,7 +8,7 @@ create_feature_i386_64bit_core (struct target_desc *result, long regnum)
|
||||
{
|
||||
struct tdesc_feature *feature;
|
||||
|
||||
feature = tdesc_create_feature (result, "org.gnu.gdb.i386.core", "64bit-core.xml");
|
||||
feature = tdesc_create_feature (result, "org.gnu.gdb.i386.core");
|
||||
tdesc_type_with_fields *type_with_fields;
|
||||
type_with_fields = tdesc_create_flags (feature, "i386_eflags", 4);
|
||||
tdesc_add_flag (type_with_fields, 0, "CF");
|
||||
|
||||
@@ -8,7 +8,7 @@ create_feature_i386_64bit_linux (struct target_desc *result, long regnum)
|
||||
{
|
||||
struct tdesc_feature *feature;
|
||||
|
||||
feature = tdesc_create_feature (result, "org.gnu.gdb.i386.linux", "64bit-linux.xml");
|
||||
feature = tdesc_create_feature (result, "org.gnu.gdb.i386.linux");
|
||||
regnum = 57;
|
||||
tdesc_create_reg (feature, "orig_rax", regnum++, 1, NULL, 64, "int");
|
||||
return regnum;
|
||||
|
||||
@@ -8,7 +8,7 @@ create_feature_i386_64bit_mpx (struct target_desc *result, long regnum)
|
||||
{
|
||||
struct tdesc_feature *feature;
|
||||
|
||||
feature = tdesc_create_feature (result, "org.gnu.gdb.i386.mpx", "64bit-mpx.xml");
|
||||
feature = tdesc_create_feature (result, "org.gnu.gdb.i386.mpx");
|
||||
tdesc_type_with_fields *type_with_fields;
|
||||
type_with_fields = tdesc_create_struct (feature, "br128");
|
||||
tdesc_type *field_type;
|
||||
|
||||
@@ -8,7 +8,7 @@ create_feature_i386_64bit_pkeys (struct target_desc *result, long regnum)
|
||||
{
|
||||
struct tdesc_feature *feature;
|
||||
|
||||
feature = tdesc_create_feature (result, "org.gnu.gdb.i386.pkeys", "64bit-pkeys.xml");
|
||||
feature = tdesc_create_feature (result, "org.gnu.gdb.i386.pkeys");
|
||||
tdesc_create_reg (feature, "pkru", regnum++, 1, NULL, 32, "uint32");
|
||||
return regnum;
|
||||
}
|
||||
|
||||
@@ -8,7 +8,7 @@ create_feature_i386_64bit_segments (struct target_desc *result, long regnum)
|
||||
{
|
||||
struct tdesc_feature *feature;
|
||||
|
||||
feature = tdesc_create_feature (result, "org.gnu.gdb.i386.segments", "64bit-segments.xml");
|
||||
feature = tdesc_create_feature (result, "org.gnu.gdb.i386.segments");
|
||||
tdesc_create_reg (feature, "fs_base", regnum++, 1, NULL, 64, "int");
|
||||
tdesc_create_reg (feature, "gs_base", regnum++, 1, NULL, 64, "int");
|
||||
return regnum;
|
||||
|
||||
@@ -8,7 +8,7 @@ create_feature_i386_64bit_sse (struct target_desc *result, long regnum)
|
||||
{
|
||||
struct tdesc_feature *feature;
|
||||
|
||||
feature = tdesc_create_feature (result, "org.gnu.gdb.i386.sse", "64bit-sse.xml");
|
||||
feature = tdesc_create_feature (result, "org.gnu.gdb.i386.sse");
|
||||
tdesc_type *element_type;
|
||||
element_type = tdesc_named_type (feature, "ieee_single");
|
||||
tdesc_create_vector (feature, "v4f", element_type, 4);
|
||||
|
||||
@@ -8,7 +8,7 @@ create_feature_i386_x32_core (struct target_desc *result, long regnum)
|
||||
{
|
||||
struct tdesc_feature *feature;
|
||||
|
||||
feature = tdesc_create_feature (result, "org.gnu.gdb.i386.core", "x32-core.xml");
|
||||
feature = tdesc_create_feature (result, "org.gnu.gdb.i386.core");
|
||||
tdesc_type_with_fields *type_with_fields;
|
||||
type_with_fields = tdesc_create_flags (feature, "i386_eflags", 4);
|
||||
tdesc_add_flag (type_with_fields, 0, "CF");
|
||||
|
||||
@@ -8,7 +8,7 @@ create_feature_tic6x_c6xp (struct target_desc *result, long regnum)
|
||||
{
|
||||
struct tdesc_feature *feature;
|
||||
|
||||
feature = tdesc_create_feature (result, "org.gnu.gdb.tic6x.c6xp", "tic6x-c6xp.xml");
|
||||
feature = tdesc_create_feature (result, "org.gnu.gdb.tic6x.c6xp");
|
||||
tdesc_create_reg (feature, "TSR", regnum++, 1, NULL, 32, "uint32");
|
||||
tdesc_create_reg (feature, "ILC", regnum++, 1, NULL, 32, "uint32");
|
||||
tdesc_create_reg (feature, "RILC", regnum++, 1, NULL, 32, "uint32");
|
||||
|
||||
@@ -8,7 +8,7 @@ create_feature_tic6x_core (struct target_desc *result, long regnum)
|
||||
{
|
||||
struct tdesc_feature *feature;
|
||||
|
||||
feature = tdesc_create_feature (result, "org.gnu.gdb.tic6x.core", "tic6x-core.xml");
|
||||
feature = tdesc_create_feature (result, "org.gnu.gdb.tic6x.core");
|
||||
tdesc_create_reg (feature, "A0", regnum++, 1, NULL, 32, "uint32");
|
||||
tdesc_create_reg (feature, "A1", regnum++, 1, NULL, 32, "uint32");
|
||||
tdesc_create_reg (feature, "A2", regnum++, 1, NULL, 32, "uint32");
|
||||
|
||||
@@ -8,7 +8,7 @@ create_feature_tic6x_gp (struct target_desc *result, long regnum)
|
||||
{
|
||||
struct tdesc_feature *feature;
|
||||
|
||||
feature = tdesc_create_feature (result, "org.gnu.gdb.tic6x.gp", "tic6x-gp.xml");
|
||||
feature = tdesc_create_feature (result, "org.gnu.gdb.tic6x.gp");
|
||||
tdesc_create_reg (feature, "A16", regnum++, 1, NULL, 32, "uint32");
|
||||
tdesc_create_reg (feature, "A17", regnum++, 1, NULL, 32, "uint32");
|
||||
tdesc_create_reg (feature, "A18", regnum++, 1, NULL, 32, "uint32");
|
||||
|
||||
@@ -195,11 +195,9 @@ tdesc_get_features_xml (target_desc *tdesc)
|
||||
/* See common/tdesc.h. */
|
||||
|
||||
struct tdesc_feature *
|
||||
tdesc_create_feature (struct target_desc *tdesc, const char *name,
|
||||
const char *xml)
|
||||
tdesc_create_feature (struct target_desc *tdesc, const char *name)
|
||||
{
|
||||
struct tdesc_feature *new_feature = new tdesc_feature
|
||||
(xml != nullptr ? xml : name);
|
||||
struct tdesc_feature *new_feature = new tdesc_feature (name);
|
||||
tdesc->features.emplace_back (new_feature);
|
||||
return new_feature;
|
||||
}
|
||||
|
||||
@@ -1130,8 +1130,7 @@ tdesc_use_registers (struct gdbarch *gdbarch,
|
||||
/* See common/tdesc.h. */
|
||||
|
||||
struct tdesc_feature *
|
||||
tdesc_create_feature (struct target_desc *tdesc, const char *name,
|
||||
const char *xml)
|
||||
tdesc_create_feature (struct target_desc *tdesc, const char *name)
|
||||
{
|
||||
struct tdesc_feature *new_feature = new tdesc_feature (name);
|
||||
|
||||
@@ -1599,8 +1598,8 @@ public:
|
||||
printf_unfiltered (" struct tdesc_feature *feature;\n");
|
||||
|
||||
printf_unfiltered
|
||||
("\n feature = tdesc_create_feature (result, \"%s\", \"%s\");\n",
|
||||
e->name.c_str (), lbasename (m_filename_after_features.c_str ()));
|
||||
("\n feature = tdesc_create_feature (result, \"%s\");\n",
|
||||
e->name.c_str ());
|
||||
}
|
||||
|
||||
void visit_post (const tdesc_feature *e) override
|
||||
|
||||
Reference in New Issue
Block a user