binman: Rename ELF parameters to 'section'
authorSimon Glass <sjg@chromium.org>
Fri, 1 Jun 2018 15:38:13 +0000 (09:38 -0600)
committerSimon Glass <sjg@chromium.org>
Thu, 7 Jun 2018 19:25:07 +0000 (11:25 -0800)
We now pass a Section object to these functions rather than an Image.
Rename the parameters to avoid confusion.

Signed-off-by: Simon Glass <sjg@chromium.org>
tools/binman/elf.py
tools/binman/elf_test.py
tools/binman/etype/entry.py
tools/binman/etype/u_boot_spl.py

index 50085a3893a092660ee0ac3a1b1b18876b877801..0ae3b611bae6bee6fa5bf160ddbf16335d5cbdb3 100644 (file)
@@ -75,7 +75,7 @@ def GetSymbolAddress(fname, sym_name):
         return None
     return sym.address
 
-def LookupAndWriteSymbols(elf_fname, entry, image):
+def LookupAndWriteSymbols(elf_fname, entry, section):
     """Replace all symbols in an entry with their correct values
 
     The entry contents is updated so that values for referenced symbols will be
@@ -87,7 +87,7 @@ def LookupAndWriteSymbols(elf_fname, entry, image):
         elf_fname: Filename of ELF image containing the symbol information for
             entry
         entry: Entry to process
-        image: Image which can be used to lookup symbol values
+        section: Section which can be used to lookup symbol values
     """
     fname = tools.GetInputFilename(elf_fname)
     syms = GetSymbols(fname, ['image', 'binman'])
@@ -98,8 +98,8 @@ def LookupAndWriteSymbols(elf_fname, entry, image):
         return
     for name, sym in syms.iteritems():
         if name.startswith('_binman'):
-            msg = ("Image '%s': Symbol '%s'\n   in entry '%s'" %
-                   (image.GetPath(), name, entry.GetPath()))
+            msg = ("Section '%s': Symbol '%s'\n   in entry '%s'" %
+                   (section.GetPath(), name, entry.GetPath()))
             offset = sym.address - base.address
             if offset < 0 or offset + sym.size > entry.contents_size:
                 raise ValueError('%s has offset %x (size %x) but the contents '
@@ -114,7 +114,7 @@ def LookupAndWriteSymbols(elf_fname, entry, image):
                                  (msg, sym.size))
 
             # Look up the symbol in our entry tables.
-            value = image.LookupSymbol(name, sym.weak, msg)
+            value = section.LookupSymbol(name, sym.weak, msg)
             if value is not None:
                 value += base.address
             else:
index 4abde121bd156e7b76901a8148dbeb14e9145924..fb6e451cf0ec181070d9c4bea3ffb33a4fceac50 100644 (file)
@@ -40,12 +40,12 @@ class FakeEntry:
     def GetPath(self):
         return 'entry_path'
 
-class FakeImage:
+class FakeSection:
     def __init__(self, sym_value=1):
         self.sym_value = sym_value
 
     def GetPath(self):
-        return 'image_path'
+        return 'section_path'
 
     def LookupSymbol(self, name, weak, msg):
         return self.sym_value
@@ -67,51 +67,51 @@ class TestElf(unittest.TestCase):
 
     def testMissingFile(self):
         entry = FakeEntry(10)
-        image = FakeImage()
+        section = FakeSection()
         with self.assertRaises(ValueError) as e:
-            syms = elf.LookupAndWriteSymbols('missing-file', entry, image)
+            syms = elf.LookupAndWriteSymbols('missing-file', entry, section)
         self.assertIn("Filename 'missing-file' not found in input path",
                       str(e.exception))
 
     def testOutsideFile(self):
         entry = FakeEntry(10)
-        image = FakeImage()
+        section = FakeSection()
         elf_fname = os.path.join(binman_dir, 'test', 'u_boot_binman_syms')
         with self.assertRaises(ValueError) as e:
-            syms = elf.LookupAndWriteSymbols(elf_fname, entry, image)
+            syms = elf.LookupAndWriteSymbols(elf_fname, entry, section)
         self.assertIn('entry_path has offset 4 (size 8) but the contents size '
                       'is a', str(e.exception))
 
     def testMissingImageStart(self):
         entry = FakeEntry(10)
-        image = FakeImage()
+        section = FakeSection()
         elf_fname = os.path.join(binman_dir, 'test', 'u_boot_binman_syms_bad')
-        self.assertEqual(elf.LookupAndWriteSymbols(elf_fname, entry, image),
+        self.assertEqual(elf.LookupAndWriteSymbols(elf_fname, entry, section),
                          None)
 
     def testBadSymbolSize(self):
         entry = FakeEntry(10)
-        image = FakeImage()
+        section = FakeSection()
         elf_fname = os.path.join(binman_dir, 'test', 'u_boot_binman_syms_size')
         with self.assertRaises(ValueError) as e:
-            syms = elf.LookupAndWriteSymbols(elf_fname, entry, image)
+            syms = elf.LookupAndWriteSymbols(elf_fname, entry, section)
         self.assertIn('has size 1: only 4 and 8 are supported',
                       str(e.exception))
 
     def testNoValue(self):
         entry = FakeEntry(20)
-        image = FakeImage(sym_value=None)
+        section = FakeSection(sym_value=None)
         elf_fname = os.path.join(binman_dir, 'test', 'u_boot_binman_syms')
-        syms = elf.LookupAndWriteSymbols(elf_fname, entry, image)
+        syms = elf.LookupAndWriteSymbols(elf_fname, entry, section)
         self.assertEqual(chr(255) * 16 + 'a' * 4, entry.data)
 
     def testDebug(self):
         elf.debug = True
         entry = FakeEntry(20)
-        image = FakeImage()
+        section = FakeSection()
         elf_fname = os.path.join(binman_dir, 'test', 'u_boot_binman_syms')
         with capture_sys_output() as (stdout, stderr):
-            syms = elf.LookupAndWriteSymbols(elf_fname, entry, image)
+            syms = elf.LookupAndWriteSymbols(elf_fname, entry, section)
         elf.debug = False
         self.assertTrue(len(stdout.getvalue()) > 0)
 
index 23e436a2e9ddc057ecf26ef72f6cd73987bd9ee3..39da7f86022b7eb0472a59ac582337df73917258 100644 (file)
@@ -203,10 +203,10 @@ class Entry(object):
     def ProcessContents(self):
         pass
 
-    def WriteSymbols(self, image):
+    def WriteSymbols(self, section):
         """Write symbol values into binary files for access at run time
 
         Args:
-          image: Image containing the entry
+          section: Section containing the entry
         """
         pass
index 6a1c123467881ded6c467c12c591622efdc09ae3..bfcdc499c23706953042ae89074a69c176913aa5 100644 (file)
@@ -18,5 +18,5 @@ class Entry_u_boot_spl(Entry_blob):
     def GetDefaultFilename(self):
         return 'spl/u-boot-spl.bin'
 
-    def WriteSymbols(self, image):
-        elf.LookupAndWriteSymbols(self.elf_fname, self, image)
+    def WriteSymbols(self, section):
+        elf.LookupAndWriteSymbols(self.elf_fname, self, section)