[PATCH 5/6] : Remove xml file references from target descriptions.

Alan Hayward
2018-01-16T09:55:29Z

With the previous patch we no longer need to know the name of the
xml file. This patch removes the references and regenerates the
C files.

Alan.

2018-01-16 Alan Hayward <alan.hayward@arm.com>

gdb/
* arch/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.

diff --git a/gdb/arch/tdesc.h b/gdb/arch/tdesc.h
index edd7de104973676fe69873ffe696e99eb77fbc84..b1b25d9f7f3eafb57b78795f6bee066410cbcc21 100644
--- a/gdb/arch/tdesc.h
+++ b/gdb/arch/tdesc.h
@@ -310,9 +310,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,
diff --git a/gdb/features/aarch64-core.c b/gdb/features/aarch64-core.c
index 3707b7e05560507328077684215218ccbad63fee..a9ec3941a19a75ef27f35dd6bbf1fea1135e88f9 100644
--- a/gdb/features/aarch64-core.c
+++ b/gdb/features/aarch64-core.c
@@ -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");
diff --git a/gdb/features/aarch64-fpu.c b/gdb/features/aarch64-fpu.c
index cac3981f7dd918e051826272eb69da8e7ac5269a..32ff9e46a095e327f6af13f6b68333575440a2d8 100644
--- a/gdb/features/aarch64-fpu.c
+++ b/gdb/features/aarch64-fpu.c
@@ -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);
diff --git a/gdb/features/i386/32bit-avx.c b/gdb/features/i386/32bit-avx.c
index 8a0c35655d9a9efa19ea04053b05b0e6ba0035e8..3a98936a0c7a9715cb2d83feacde0cc6f675d8ac 100644
--- a/gdb/features/i386/32bit-avx.c
+++ b/gdb/features/i386/32bit-avx.c
@@ -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");
diff --git a/gdb/features/i386/32bit-avx512.c b/gdb/features/i386/32bit-avx512.c
index 39c7e9771a94d06f05ebb72cb108ef1e569cbaa7..064e541de983bcb9309f22e2ff80900d98f58923 100644
--- a/gdb/features/i386/32bit-avx512.c
+++ b/gdb/features/i386/32bit-avx512.c
@@ -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);
diff --git a/gdb/features/i386/32bit-core.c b/gdb/features/i386/32bit-core.c
index 294e86d81eecbd488adb45e29644290ce5fd313e..215c0b5ae2b7a0f3b0e6c06953257111f295f86e 100644
--- a/gdb/features/i386/32bit-core.c
+++ b/gdb/features/i386/32bit-core.c
@@ -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");
diff --git a/gdb/features/i386/32bit-linux.c b/gdb/features/i386/32bit-linux.c
index 136e3d71b41a6e5af7f115fb94937a659a48185a..1ba932d795af393ebfa2860b29acdd069177ca19 100644
--- a/gdb/features/i386/32bit-linux.c
+++ b/gdb/features/i386/32bit-linux.c
@@ -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;
diff --git a/gdb/features/i386/32bit-mpx.c b/gdb/features/i386/32bit-mpx.c
index 8f1be3a60f03243bd5decde1fcb4ba3a94773159..4ec42466e7a77785fd249ec55c8d13eca196c103 100644
--- a/gdb/features/i386/32bit-mpx.c
+++ b/gdb/features/i386/32bit-mpx.c
@@ -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;
diff --git a/gdb/features/i386/32bit-pkeys.c b/gdb/features/i386/32bit-pkeys.c
index 4ad7649915f21a0f62c9162a2fc425907c692ea4..89f1a5b3e0612ac5ad17cac7d78cd626d5ea9f3d 100644
--- a/gdb/features/i386/32bit-pkeys.c
+++ b/gdb/features/i386/32bit-pkeys.c
@@ -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;
}
diff --git a/gdb/features/i386/32bit-sse.c b/gdb/features/i386/32bit-sse.c
index cf48960353881519789986fd7f1c46b8802d9a11..4913c9aec8cb04981bdef3747dd596589eabcad4 100644
--- a/gdb/features/i386/32bit-sse.c
+++ b/gdb/features/i386/32bit-sse.c
@@ -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);
diff --git a/gdb/features/i386/64bit-avx.c b/gdb/features/i386/64bit-avx.c
index d8e391423bc2f52fe491972d20aabea4ea26f21a..146b6a57b7e1afb5ef1b21251b0613df919de05b 100644
--- a/gdb/features/i386/64bit-avx.c
+++ b/gdb/features/i386/64bit-avx.c
@@ -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");
diff --git a/gdb/features/i386/64bit-avx512.c b/gdb/features/i386/64bit-avx512.c
index e103e43464c7337f6556fb6035d953a3881f3e98..61108c2e5816062eb8bfd1de239edd58544ef304 100644
--- a/gdb/features/i386/64bit-avx512.c
+++ b/gdb/features/i386/64bit-avx512.c
@@ -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);
diff --git a/gdb/features/i386/64bit-core.c b/gdb/features/i386/64bit-core.c
index 9e39ee42d9a31d68efbf838c47ae43b12a797e3f..ed540e091bcea98c3fa5548f16fd8d7aa6297280 100644
--- a/gdb/features/i386/64bit-core.c
+++ b/gdb/features/i386/64bit-core.c
@@ -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");
diff --git a/gdb/features/i386/64bit-linux.c b/gdb/features/i386/64bit-linux.c
index 570910b9cc0f6ebf88f83dd4e73e54a38cf11636..5222ff22fb8dbb6281c0dea9deadbdd490b1d4a8 100644
--- a/gdb/features/i386/64bit-linux.c
+++ b/gdb/features/i386/64bit-linux.c
@@ -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;
diff --git a/gdb/features/i386/64bit-mpx.c b/gdb/features/i386/64bit-mpx.c
index 725e76a0dd99cc79e1ac10dd62cd4bcca3cf682d..2b88dd5db994f6a29de78adb3d872b584d295022 100644
--- a/gdb/features/i386/64bit-mpx.c
+++ b/gdb/features/i386/64bit-mpx.c
@@ -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;
diff --git a/gdb/features/i386/64bit-pkeys.c b/gdb/features/i386/64bit-pkeys.c
index 9d974c3772d93b44d5ae92ccc0752d6be9c21f4d..5bdeecd8460e02ba96a27fe9248fa30184d25d84 100644
--- a/gdb/features/i386/64bit-pkeys.c
+++ b/gdb/features/i386/64bit-pkeys.c
@@ -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;
}
diff --git a/gdb/features/i386/64bit-segments.c b/gdb/features/i386/64bit-segments.c
index 7a1fbf53f35eb0106c2c3c4c32b1f7f0aa276b6a..9c7b0fe1ac15b60e66807e95bec94613a39575b7 100644
--- a/gdb/features/i386/64bit-segments.c
+++ b/gdb/features/i386/64bit-segments.c
@@ -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;
diff --git a/gdb/features/i386/64bit-sse.c b/gdb/features/i386/64bit-sse.c
index 2859217f45860d52c76650fa5ad17eb9611ab8c8..edb70e9de29400642c11a384dfe2e5e41edc6356 100644
--- a/gdb/features/i386/64bit-sse.c
+++ b/gdb/features/i386/64bit-sse.c
@@ -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);
diff --git a/gdb/features/i386/x32-core.c b/gdb/features/i386/x32-core.c
index c268e11bea9e81563fe586299ccea4bde9c7497f..aad5d687f7a4774bfca6790c049f968846422338 100644
--- a/gdb/features/i386/x32-core.c
+++ b/gdb/features/i386/x32-core.c
@@ -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");
diff --git a/gdb/features/tic6x-c6xp.c b/gdb/features/tic6x-c6xp.c
index 5b0f566ee4c5687c1a8de4e08ab2828ba5242505..470ba21f4ad1d83c7a9398b62dcc974b518d0866 100644
--- a/gdb/features/tic6x-c6xp.c
+++ b/gdb/features/tic6x-c6xp.c
@@ -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");
diff --git a/gdb/features/tic6x-core.c b/gdb/features/tic6x-core.c
index 823d4c1da107786b5a983afb04a2fa88b69d3684..eb4891821296dd3a09db39667bdcbf25c3e1a954 100644
--- a/gdb/features/tic6x-core.c
+++ b/gdb/features/tic6x-core.c
@@ -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");
diff --git a/gdb/features/tic6x-gp.c b/gdb/features/tic6x-gp.c
index df0d0e37fc2c085e8bddedff2ab00cf26ddb2c73..2efb8390ade1ad2ef1af64e30306868ab3096420 100644
--- a/gdb/features/tic6x-gp.c
+++ b/gdb/features/tic6x-gp.c
@@ -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");
diff --git a/gdb/gdbserver/tdesc.c b/gdb/gdbserver/tdesc.c
index 08b896ba790a0bbf7a47f35952555e278830800c..e81f4f22b72574001919f505ec741e7350402394 100644
--- a/gdb/gdbserver/tdesc.c
+++ b/gdb/gdbserver/tdesc.c
@@ -180,8 +180,7 @@ tdesc_get_features_xml (target_desc *tdesc)
/* See arch/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);
tdesc->features.emplace_back (new_feature);
diff --git a/gdb/target-descriptions.c b/gdb/target-descriptions.c
index 6787848b287414cd218ad62e274707d5b4b5a368..17521ee8add8ce51616f689a017948c4c7dff91c 100644
--- a/gdb/target-descriptions.c
+++ b/gdb/target-descriptions.c
@@ -1085,8 +1085,7 @@ tdesc_use_registers (struct gdbarch *gdbarch,
/* See arch/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);

@@ -1554,8 +1553,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