From: Simon Marchi <simon.marchi@ericsson.com>
To: <gdb-patches@sourceware.org>
Cc: Simon Marchi <simon.marchi@ericsson.com>
Subject: [PATCH 1/2] Fix issues with gdb-memory-map.dtd
Date: Thu, 09 Nov 2017 23:18:00 -0000 [thread overview]
Message-ID: <1510269503-12483-1-git-send-email-simon.marchi@ericsson.com> (raw)
While writing a unit test for parse_memory_map, I tried to validate my
test input against gdb-memory-map.dtd, and found a few problems with it.
This doesn't influence how gdb parses it (AFAIK it doesn't use the
linked dtd), but if you edit the xml file in an editor that supports
dtds, you'll get plenty of errors.
- The <memory-map> element accepts exactly one <memory> OR <property>
as a child. This is a problem because you can't have multiple
<memory> elements and you shouldn't be able to have <property> elements
as direct children of <memory-map>.
- The <memory> element wants exactly one <property> child. This is
wrong, since you could have zero or more (even though we only
support one kind of property currently).
- I have no idea wht the device attribute of <memory> is, GDB doesn't
read that. I searched back in time a bit but couldn't find a trace
of it.
I took the opportunity to tighten what is accepted as a value of the
memory type and property name attributes. We currently accept any
string, but we could restrict them to the values GDB really accepts (and
which are documented).
AFAIK, this "file" only exists in the documentation, in gdb.texinfo, so
this is what I modified. However, it's also available at
http://sourceware.org/gdb/gdb-memory-map.dtd. This one should be
updated too, but I don't know how that should be done.
gdb/doc/ChangeLog:
* gdb.texinfo (Memory Map Format): Update gdb-memory-map.dtd.
---
gdb/doc/gdb.texinfo | 11 +++++------
1 file changed, 5 insertions(+), 6 deletions(-)
diff --git a/gdb/doc/gdb.texinfo b/gdb/doc/gdb.texinfo
index 29d4789..37d3e3d 100644
--- a/gdb/doc/gdb.texinfo
+++ b/gdb/doc/gdb.texinfo
@@ -40807,18 +40807,17 @@ The formal DTD for memory map format is given below:
<!-- .................................... .............. -->
<!-- memory-map.dtd -->
<!-- memory-map: Root element with versioning -->
-<!ELEMENT memory-map (memory | property)>
+<!ELEMENT memory-map (memory)*>
<!ATTLIST memory-map version CDATA #FIXED "1.0.0">
-<!ELEMENT memory (property)>
+<!ELEMENT memory (property)*>
<!-- memory: Specifies a memory region,
and its type, or device. -->
-<!ATTLIST memory type CDATA #REQUIRED
+<!ATTLIST memory type (ram|rom|flash) #REQUIRED
start CDATA #REQUIRED
- length CDATA #REQUIRED
- device CDATA #IMPLIED>
+ length CDATA #REQUIRED>
<!-- property: Generic attribute tag -->
<!ELEMENT property (#PCDATA | property)*>
-<!ATTLIST property name CDATA #REQUIRED>
+<!ATTLIST property name (blocksize) #REQUIRED>
@end smallexample
@node Thread List Format
--
2.7.4
next reply other threads:[~2017-11-09 23:18 UTC|newest]
Thread overview: 11+ messages / expand[flat|nested] mbox.gz Atom feed top
2017-11-09 23:18 Simon Marchi [this message]
2017-11-09 23:18 ` [PATCH 2/2] Fix mem region parsing regression and add test Simon Marchi
2017-11-14 21:43 ` Simon Marchi
2017-11-10 8:01 ` [PATCH 1/2] Fix issues with gdb-memory-map.dtd Eli Zaretskii
2017-11-10 21:01 ` Simon Marchi
2017-11-24 16:31 ` Simon Marchi
2017-11-24 21:30 ` Joel Brobecker
2017-11-24 21:35 ` Simon Marchi
2017-11-24 21:57 ` Joel Brobecker
2017-11-24 22:15 ` Simon Marchi
2017-11-24 22:23 ` Joel Brobecker
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=1510269503-12483-1-git-send-email-simon.marchi@ericsson.com \
--to=simon.marchi@ericsson.com \
--cc=gdb-patches@sourceware.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox