aboutsummaryrefslogtreecommitdiff
path: root/tools/binman/entry.py
diff options
context:
space:
mode:
authorSimon Glass <sjg@chromium.org>2018-09-14 04:57:36 -0600
committerSimon Glass <sjg@chromium.org>2018-09-29 11:49:35 -0600
commit163ed6c342cfd15b623a46f3755203c712374a9a (patch)
tree5de0842cb24244db853f5253f84b865a8668206a /tools/binman/entry.py
parentfe1ae3ecc3a2203babd7837bd2d5cf514a374c1f (diff)
downloadu-boot-163ed6c342cfd15b623a46f3755203c712374a9a.zip
u-boot-163ed6c342cfd15b623a46f3755203c712374a9a.tar.gz
u-boot-163ed6c342cfd15b623a46f3755203c712374a9a.tar.bz2
binman: Allow writing a map file when something goes wrong
When we get a problem like overlapping regions it is sometimes hard to figure what what is going on. At present we don't write the map file in this case. However the file does provide useful information. Catch any packing errors and write a map file (if enabled with -m) to aid debugging. Signed-off-by: Simon Glass <sjg@chromium.org>
Diffstat (limited to 'tools/binman/entry.py')
-rw-r--r--tools/binman/entry.py11
1 files changed, 9 insertions, 2 deletions
diff --git a/tools/binman/entry.py b/tools/binman/entry.py
index 01be291..648cfd2 100644
--- a/tools/binman/entry.py
+++ b/tools/binman/entry.py
@@ -391,9 +391,16 @@ class Entry(object):
pass
@staticmethod
+ def GetStr(value):
+ if value is None:
+ return '<none> '
+ return '%08x' % value
+
+ @staticmethod
def WriteMapLine(fd, indent, name, offset, size, image_pos):
- print('%08x %s%08x %08x %s' % (image_pos, ' ' * indent, offset,
- size, name), file=fd)
+ print('%s %s%s %s %s' % (Entry.GetStr(image_pos), ' ' * indent,
+ Entry.GetStr(offset), Entry.GetStr(size),
+ name), file=fd)
def WriteMap(self, fd, indent):
"""Write a map of the entry to a .map file