From 423cbc737c8c20ec9fb829fb2cce43fef9e85acf Mon Sep 17 00:00:00 2001 From: Alan Hayward Date: Thu, 7 Dec 2017 15:06:51 +0000 Subject: [PATCH] Remove xml file references from target descriptions. We no longer need to know the name of the xml file for targets using the new target descriptions. This patch removes the references and regenerates the C files. This patch is identical to the V3 version. Alan. 2018-03-21 Alan Hayward 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. --- gdb/common/tdesc.h | 4 +--- gdb/features/aarch64-core.c | 2 +- gdb/features/aarch64-fpu.c | 2 +- gdb/features/i386/32bit-avx.c | 2 +- gdb/features/i386/32bit-avx512.c | 2 +- gdb/features/i386/32bit-core.c | 2 +- gdb/features/i386/32bit-linux.c | 2 +- gdb/features/i386/32bit-mpx.c | 2 +- gdb/features/i386/32bit-pkeys.c | 2 +- gdb/features/i386/32bit-sse.c | 2 +- gdb/features/i386/64bit-avx.c | 2 +- gdb/features/i386/64bit-avx512.c | 2 +- gdb/features/i386/64bit-core.c | 2 +- gdb/features/i386/64bit-linux.c | 2 +- gdb/features/i386/64bit-mpx.c | 2 +- gdb/features/i386/64bit-pkeys.c | 2 +- gdb/features/i386/64bit-segments.c | 2 +- gdb/features/i386/64bit-sse.c | 2 +- gdb/features/i386/x32-core.c | 2 +- gdb/features/tic6x-c6xp.c | 2 +- gdb/features/tic6x-core.c | 2 +- gdb/features/tic6x-gp.c | 2 +- gdb/gdbserver/tdesc.c | 6 ++---- gdb/target-descriptions.c | 7 +++---- 24 files changed, 27 insertions(+), 32 deletions(-) diff --git a/gdb/common/tdesc.h b/gdb/common/tdesc.h index 45eb24ea2bb..3d23258acf3 100644 --- a/gdb/common/tdesc.h +++ b/gdb/common/tdesc.h @@ -322,9 +322,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 db10c4aa068..cd3de02cbc1 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 0c40c4cef22..47962d1f242 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 6e2cfdbdcbc..b9feac377cf 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 863c119ac40..51a403259db 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 f6de7370742..098c2ca31c6 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 af476da194e..3bc593739c9 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 84101746b50..8288e9d758f 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 272751f5781..a2a72f40a31 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 78fc02b863c..68fbab06a40 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 5f11035af3f..7e45c980dbc 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 733910025ba..acc07a3628b 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 efc70163808..617425da217 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 c9c56f193cf..68de9d27e8b 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 d923813d699..ce4d611d9c1 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 f1cbce0ce7f..70b88cf74db 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 900471fc48c..b06d40fbda3 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 294360197f5..e0830937411 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 9b0bcc5a7ef..dd6e1a2ed6a 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 261a562d903..bfd69d7fd52 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 65f73ec97df..0415209275a 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 b6245883794..4a0734c04a4 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 5ec73d91177..13d7225f49e 100644 --- a/gdb/gdbserver/tdesc.c +++ b/gdb/gdbserver/tdesc.c @@ -199,11 +199,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; } diff --git a/gdb/target-descriptions.c b/gdb/target-descriptions.c index 467ae94e0c7..e3e5f60b27a 100644 --- a/gdb/target-descriptions.c +++ b/gdb/target-descriptions.c @@ -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