binman: Expand the error message for breaching a section
Add in a few more details to this error message to make it easier to see
what is going on.
Signed-off-by: Simon Glass <sjg@chromium.org>
diff --git a/tools/binman/etype/section.py b/tools/binman/etype/section.py
index 3277504..a3e37c3 100644
--- a/tools/binman/etype/section.py
+++ b/tools/binman/etype/section.py
@@ -220,10 +220,12 @@
if (entry.offset < self._skip_at_start or
entry.offset + entry.size > self._skip_at_start +
self.size):
- entry.Raise("Offset %#x (%d) is outside the section starting "
- "at %#x (%d)" %
- (entry.offset, entry.offset, self._skip_at_start,
- self._skip_at_start))
+ entry.Raise('Offset %#x (%d) size %#x (%d) is outside the '
+ "section '%s' starting at %#x (%d) "
+ 'of size %#x (%d)' %
+ (entry.offset, entry.offset, entry.size, entry.size,
+ self._node.path, self._skip_at_start,
+ self._skip_at_start, self.size, self.size))
if entry.offset < offset and entry.size:
entry.Raise("Offset %#x (%d) overlaps with previous entry '%s' "
"ending at %#x (%d)" %
diff --git a/tools/binman/ftest.py b/tools/binman/ftest.py
index adc1603..4f7e226 100644
--- a/tools/binman/ftest.py
+++ b/tools/binman/ftest.py
@@ -970,8 +970,9 @@
"""Test that the end-at-4gb property checks for offset boundaries"""
with self.assertRaises(ValueError) as e:
self._DoTestFile('028_pack_4gb_outside.dts')
- self.assertIn("Node '/binman/u-boot': Offset 0x0 (0) is outside "
- "the section starting at 0xffffffe0 (4294967264)",
+ self.assertIn("Node '/binman/u-boot': Offset 0x0 (0) size 0x4 (4) "
+ "is outside the section '/binman' starting at "
+ '0xffffffe0 (4294967264) of size 0x20 (32)',
str(e.exception))
def testPackX86Rom(self):