diff options
author | Daniel Jacobowitz <drow@false.org> | 2007-02-07 22:48:06 +0000 |
---|---|---|
committer | Daniel Jacobowitz <drow@false.org> | 2007-02-07 22:48:06 +0000 |
commit | 108546a0ea067d8e5da4d223fb03c6659b153bd0 (patch) | |
tree | e36d290d0b6ae5ab759822bb3fb0d474243a7b2d /gdb/doc | |
parent | 7bd1c9613d962037a19b474fda5c6ab4cbf38501 (diff) | |
download | gdb-108546a0ea067d8e5da4d223fb03c6659b153bd0.zip gdb-108546a0ea067d8e5da4d223fb03c6659b153bd0.tar.gz gdb-108546a0ea067d8e5da4d223fb03c6659b153bd0.tar.bz2 |
* Makefile.in (XMLFILES): New.
(COMMON_OBS): Add xml-builtin.o.
(xml-builtin.c, stamp-xml): New rules.
(xml-tdesc.o): Update.
* features/feature_to_c.sh: New file.
* xml-support.c (MAX_XINCLUDE_DEPTH): Define.
(struct gdb_xml_parser): Add dtd_name and is_xinclude.
(gdb_xml_start_element): Initialize scope after possibly reallocating
scopes. Move cleanup later. Handle the XInclude description
specially.
(gdb_xml_end_element): Only parse the body if there is a current element.
Call XML_DefaultCurrent if there is no element.
(gdb_xml_fetch_external_entity, gdb_xml_use_dtd): New.
(struct xinclude_parsing_data, xinclude_start_include)
(xinclude_end_include, xml_xinclude_default)
(xml_xinclude_start_doctype, xml_xinclude_end_doctype)
(xml_xinclude_xml_decl, xml_xinclude_cleanup, xinclude_attributes)
(xinclude_elements, xml_process_xincludes, fetch_xml_builtin): New.
* xml-support.h (xml_fetch_another, xml_process_xincludes)
(fetch_xml_builtin, xml_builtin, gdb_xml_use_dtd): New declarations.
* xml-tdesc.c (tdesc_parse_xml): Add fetcher_baton argument. Expand
XInclude directives. Use the compiled in DTD.
(fetch_xml_from_file): Add baton argument. Treat it as a containing
directory name. Do not warn here.
(file_read_description_xml): Update call. Warn here instead. Pass
a dirname as baton.
(fetch_available_features_from_target): New.
(target_read_description_xml): Use it.
* features/gdb-target.dtd: Add copyright notice. Use xinclude.dtd
to handle XInclude.
* features/xinclude.dtd: New file.
* gdb.xml/bad-include.xml, gdb.xml/inc-2.xml, gdb.xml/inc-body.xml,
gdb.xml/includes.xml, gdb.xml/tdesc-xinclude.exp: New files.
* gdb.texinfo (Target Description Format): Add section on XInclude.
Diffstat (limited to 'gdb/doc')
-rw-r--r-- | gdb/doc/ChangeLog | 4 | ||||
-rw-r--r-- | gdb/doc/gdb.texinfo | 27 |
2 files changed, 31 insertions, 0 deletions
diff --git a/gdb/doc/ChangeLog b/gdb/doc/ChangeLog index b51fe2d..b37890e 100644 --- a/gdb/doc/ChangeLog +++ b/gdb/doc/ChangeLog @@ -1,3 +1,7 @@ +2007-02-07 Daniel Jacobowitz <dan@codesourcery.com> + + * gdb.texinfo (Target Description Format): Add section on XInclude. + 2006-02-03 Nick Roberts <nickrob@snap.net.nz> * gdb.texinfo (GDB/MI Miscellaneous Commands): Describe the new diff --git a/gdb/doc/gdb.texinfo b/gdb/doc/gdb.texinfo index 01eb8fa..251ed9e 100644 --- a/gdb/doc/gdb.texinfo +++ b/gdb/doc/gdb.texinfo @@ -25825,6 +25825,33 @@ The content of the @samp{<architecture>} element is an architecture name, from the same selection accepted by @code{set architecture} (@pxref{Targets, ,Specifying a Debugging Target}). +@subsection Inclusion +@cindex target descriptions, inclusion +@cindex XInclude +@ifnotinfo +@cindex <xi:include> +@end ifnotinfo + +It can sometimes be valuable to split a target description up into +several different annexes, either for organizational purposes, or to +share files between different possible target descriptions. You can +divide a description into multiple files by replacing any element of +the target description with an inclusion directive of the form: + +@example +<xi:include href="@var{document}"/> +@end example + +@noindent +When @value{GDBN} encounters an element of this form, it will retrieve +the named XML @var{document}, and replace the inclusion directive with +the contents of that document. If the current description was read +using @samp{qXfer}, then so will be the included document; +@var{document} will be interpreted as the name of an annex. If the +current description was read from a file, @value{GDBN} will look for +@var{document} as a file in the same directory where it found the +original description. + @include gpl.texi |