diff options
author | Yao Qi <yao.qi@linaro.org> | 2017-07-26 14:55:31 +0100 |
---|---|---|
committer | Yao Qi <yao.qi@linaro.org> | 2017-07-26 14:55:31 +0100 |
commit | 27d41eac62a6a1aa803dfcfba2be61431e7b3d13 (patch) | |
tree | caab5f884290aaeda3202b0795abdc7d0ed6f158 /gdb/target-descriptions.h | |
parent | ea03d0d3c32b22aeddfeb139a4a515f7e5961347 (diff) | |
download | gdb-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.h | 12 |
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 */ |