aboutsummaryrefslogtreecommitdiff
path: root/gdb/target-descriptions.h
diff options
context:
space:
mode:
authorYao Qi <yao.qi@linaro.org>2017-07-26 14:55:31 +0100
committerYao Qi <yao.qi@linaro.org>2017-07-26 14:55:31 +0100
commit27d41eac62a6a1aa803dfcfba2be61431e7b3d13 (patch)
treecaab5f884290aaeda3202b0795abdc7d0ed6f158 /gdb/target-descriptions.h
parentea03d0d3c32b22aeddfeb139a4a515f7e5961347 (diff)
downloadgdb-27d41eac62a6a1aa803dfcfba2be61431e7b3d13.zip
gdb-27d41eac62a6a1aa803dfcfba2be61431e7b3d13.tar.gz
gdb-27d41eac62a6a1aa803dfcfba2be61431e7b3d13.tar.bz2
Add "maint check xml-descriptions" to test builtin xml target descriptions
Now, GDB is able to dynamically create i386-linux target descriptions from features, instead of using pre-generated target descriptions. These pre-generated target descriptions are no longer used by GDB (note that they are still used by GDBserver). This patch add a new maint command "maint check xml-descriptions" to test dynamically generated tdesc are identical to these generated from xml files. gdb: 2017-07-26 Yao Qi <yao.qi@linaro.org> * cli/cli-cmds.c (maintenancechecklist): New variable. * gdbcmd.h (maintenancechecklist): Declare it. * i386-linux-tdep.c (_initialize_i386_linux_tdep) [GDB_SELF_TEST]: Call i386_linux_read_description with different masks. * maint.c (maintenance_check_command): New function. (_initialize_maint_cmds): Call add_prefix_cmd. * target-descriptions.c (tdesc_reg): override operator != and ==. (tdesc_type): Likewise. (tdesc_feature): Likewise. (target_desc): Likewise. [GDB_SELF_TEST] (selftests::record_xml_tdesc): New function. (maintenance_check_xml_descriptions): New function. (_initialize_target_descriptions) Add command "xml-descriptions". * target-descriptions.h (selftests::record_xml_tdesc): Declare. gdb/testsuite: 2017-07-26 Yao Qi <yao.qi@linaro.org> * gdb.gdb/unittest.exp: Invoke command "maintenance check xml-descriptions". gdb/doc: 2017-07-26 Yao Qi <yao.qi@linaro.org> * gdb.texinfo (Maintenance Commands): Document command "maint check xml-descriptions".
Diffstat (limited to 'gdb/target-descriptions.h')
-rw-r--r--gdb/target-descriptions.h12
1 files changed, 12 insertions, 0 deletions
diff --git a/gdb/target-descriptions.h b/gdb/target-descriptions.h
index 361ac97..591da15 100644
--- a/gdb/target-descriptions.h
+++ b/gdb/target-descriptions.h
@@ -253,4 +253,16 @@ void tdesc_create_reg (struct tdesc_feature *feature, const char *name,
int regnum, int save_restore, const char *group,
int bitsize, const char *type);
+#if GDB_SELF_TEST
+namespace selftests {
+
+/* Record that XML_FILE should generate a target description that equals
+ TDESC, to be verified by the "maintenance check xml-descriptions"
+ command. */
+
+void record_xml_tdesc (const char *xml_file,
+ const struct target_desc *tdesc);
+}
+#endif
+
#endif /* TARGET_DESCRIPTIONS_H */