[PATCH v2 07/28] binman: Expand the error message for breaching a section

Simon Glass sjg at chromium.org
Tue Oct 27 00:40:05 CET 2020


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 at chromium.org>
---

(no changes since v1)

 tools/binman/etype/section.py | 10 ++++++----
 tools/binman/ftest.py         |  5 +++--
 2 files changed, 9 insertions(+), 6 deletions(-)

diff --git a/tools/binman/etype/section.py b/tools/binman/etype/section.py
index 327750461eb..a3e37c33c1b 100644
--- a/tools/binman/etype/section.py
+++ b/tools/binman/etype/section.py
@@ -220,10 +220,12 @@ class Entry_section(Entry):
             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 adc16038d99..4f7e22612cc 100644
--- a/tools/binman/ftest.py
+++ b/tools/binman/ftest.py
@@ -970,8 +970,9 @@ class TestFunctional(unittest.TestCase):
         """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):
-- 
2.29.0.rc2.309.g374f81d7ae-goog



More information about the U-Boot mailing list