forked from Imagelibrary/binutils-gdb
* gdb.texinfo (Target Description Format): Add version attribute
for <target>. * xml-tdesc.c (tdesc_start_target): New. (target_attributes): New. (tdesc_elements): Use it. * features/gdb-target.dtd: Add #FIXED version attribute for <target>.
This commit is contained in:
@@ -1,3 +1,11 @@
|
||||
2007-06-13 Daniel Jacobowitz <dan@codesourcery.com>
|
||||
|
||||
* xml-tdesc.c (tdesc_start_target): New.
|
||||
(target_attributes): New.
|
||||
(tdesc_elements): Use it.
|
||||
* features/gdb-target.dtd: Add #FIXED version attribute for
|
||||
<target>.
|
||||
|
||||
2007-06-13 Arthur Huillet <arthur.huillet@free.fr>
|
||||
|
||||
* mi/mi-cmd-var.c (mi_cmd_var_assign): Fix typo.
|
||||
|
||||
@@ -1,3 +1,8 @@
|
||||
2007-06-13 Daniel Jacobowitz <dan@codesourcery.com>
|
||||
|
||||
* gdb.texinfo (Target Description Format): Add version attribute
|
||||
for <target>.
|
||||
|
||||
2007-06-13 Daniel Jacobowitz <dan@codesourcery.com>
|
||||
|
||||
* gdb.texinfo (MIPS Features): Document org.gnu.gdb.mips.linux.
|
||||
|
||||
@@ -25494,7 +25494,7 @@ target, or to warn you if you connect to an unsupported target.
|
||||
Here is a simple target description:
|
||||
|
||||
@smallexample
|
||||
<target>
|
||||
<target version="1.0">
|
||||
<architecture>i386:x86-64</architecture>
|
||||
</target>
|
||||
@end smallexample
|
||||
@@ -25510,7 +25510,7 @@ are explained further below.
|
||||
@smallexample
|
||||
<?xml version="1.0"?>
|
||||
<!DOCTYPE target SYSTEM "gdb-target.dtd">
|
||||
<target>
|
||||
<target version="1.0">
|
||||
@r{[}@var{architecture}@r{]}
|
||||
@r{[}@var{feature}@dots{}@r{]}
|
||||
</target>
|
||||
@@ -25521,7 +25521,11 @@ The description is generally insensitive to whitespace and line
|
||||
breaks, under the usual common-sense rules. The XML version
|
||||
declaration and document type declaration can generally be omitted
|
||||
(@value{GDBN} does not require them), but specifying them may be
|
||||
useful for XML validation tools.
|
||||
useful for XML validation tools. The @samp{version} attribute for
|
||||
@samp{<target>} may also be omitted, but we recommend
|
||||
including it; if future versions of @value{GDBN} use an incompatible
|
||||
revision of @file{gdb-target.dtd}, they will detect and report
|
||||
the version mismatch.
|
||||
|
||||
@subsection Inclusion
|
||||
@cindex target descriptions, inclusion
|
||||
|
||||
@@ -7,6 +7,8 @@
|
||||
<!-- The root element of a GDB target description is <target>. -->
|
||||
|
||||
<!ELEMENT target (architecture?, feature*)>
|
||||
<!ATTLIST target
|
||||
version CDATA #FIXED "1.0">
|
||||
|
||||
<!ELEMENT architecture (#PCDATA)>
|
||||
|
||||
|
||||
@@ -109,6 +109,22 @@ tdesc_end_arch (struct gdb_xml_parser *parser,
|
||||
set_tdesc_architecture (data->tdesc, arch);
|
||||
}
|
||||
|
||||
/* Handle the start of a <target> element. */
|
||||
|
||||
static void
|
||||
tdesc_start_target (struct gdb_xml_parser *parser,
|
||||
const struct gdb_xml_element *element,
|
||||
void *user_data, VEC(gdb_xml_value_s) *attributes)
|
||||
{
|
||||
struct tdesc_parsing_data *data = user_data;
|
||||
char *version = VEC_index (gdb_xml_value_s, attributes, 0)->value;
|
||||
|
||||
if (strcmp (version, "1.0") != 0)
|
||||
gdb_xml_error (parser,
|
||||
_("Target description has unsupported version \"%s\""),
|
||||
version);
|
||||
}
|
||||
|
||||
/* Handle the start of a <feature> element. */
|
||||
|
||||
static void
|
||||
@@ -328,6 +344,11 @@ static const struct gdb_xml_element feature_children[] = {
|
||||
{ NULL, NULL, NULL, GDB_XML_EF_NONE, NULL, NULL }
|
||||
};
|
||||
|
||||
static const struct gdb_xml_attribute target_attributes[] = {
|
||||
{ "version", GDB_XML_AF_NONE, NULL, NULL },
|
||||
{ NULL, GDB_XML_AF_NONE, NULL, NULL }
|
||||
};
|
||||
|
||||
static const struct gdb_xml_element target_children[] = {
|
||||
{ "architecture", NULL, NULL, GDB_XML_EF_OPTIONAL,
|
||||
NULL, tdesc_end_arch },
|
||||
@@ -338,8 +359,8 @@ static const struct gdb_xml_element target_children[] = {
|
||||
};
|
||||
|
||||
static const struct gdb_xml_element tdesc_elements[] = {
|
||||
{ "target", NULL, target_children, GDB_XML_EF_NONE,
|
||||
NULL, NULL },
|
||||
{ "target", target_attributes, target_children, GDB_XML_EF_NONE,
|
||||
tdesc_start_target, NULL },
|
||||
{ NULL, NULL, NULL, GDB_XML_EF_NONE, NULL, NULL }
|
||||
};
|
||||
|
||||
|
||||
Reference in New Issue
Block a user