+<!-- Copyright (C) 2007-2020 Free Software Foundation, Inc.
+
+ Copying and distribution of this file, with or without modification,
+ are permitted in any medium without royalty provided the copyright
+ notice and this notice are preserved. -->
+
<!-- The root element of a GDB target description is <target>. -->
-<!ELEMENT target (architecture?)>
+<!-- The osabi and compatible elements were added post GDB 6.8. The version
+ wasn't bumped, since older GDBs silently ignore unknown elements. -->
+
+<!ELEMENT target (architecture?, osabi?, compatible*, feature*)>
<!ATTLIST target
- xmlns:xi CDATA #FIXED "http://www.w3.org/2001/XInclude">
+ version CDATA #FIXED "1.0">
<!ELEMENT architecture (#PCDATA)>
+<!ELEMENT osabi (#PCDATA)>
+
+<!ELEMENT compatible (#PCDATA)>
+
+<!ELEMENT feature
+ ((vector | flags | struct | union )*, reg*)>
+<!ATTLIST feature
+ name ID #REQUIRED>
+
+<!ELEMENT reg (description*)>
+<!ATTLIST reg
+ name CDATA #REQUIRED
+ bitsize CDATA #REQUIRED
+ regnum CDATA #IMPLIED
+ save-restore (yes | no) 'yes'
+ type CDATA 'int'
+ group CDATA #IMPLIED
+ >
+
+<!ELEMENT vector EMPTY>
+<!ATTLIST vector
+ id CDATA #REQUIRED
+ type CDATA #REQUIRED
+ count CDATA #REQUIRED>
+
+<!ELEMENT flags (field+)>
+<!ATTLIST flags
+ id CDATA #REQUIRED
+ size CDATA #REQUIRED>
+
+<!ELEMENT enum (evalue+)>
+<!ATTLIST enum
+ id CDATA #REQUIRED
+ size CDATA #REQUIRED>
+
+<!ELEMENT struct (field+)>
+<!ATTLIST struct
+ id CDATA #REQUIRED
+ size CDATA #IMPLIED>
+
+<!ELEMENT union (field+)>
+<!ATTLIST union
+ id CDATA #REQUIRED>
+
+<!ELEMENT field EMPTY>
+<!ATTLIST field
+ name CDATA #REQUIRED
+ type CDATA #IMPLIED
+ start CDATA #IMPLIED
+ end CDATA #IMPLIED>
+
+<!ELEMENT evalue EMPTY>
+<!ATTLIST evalue
+ name CDATA #REQUIRED
+ value CDATA #REQUIRED>
+<!ENTITY % xinclude SYSTEM "xinclude.dtd">
+%xinclude;