mirror of
https://github.com/u-boot/u-boot.git
synced 2025-04-24 06:24:17 +00:00
binman: elf: Check for ELF_TOOLS availability and remove extra semicolon
Check if elf tools are available when running DecodeElf(). Also remove superfuous semicolon at line ending. Signed-off-by: Lukas Funke <lukas.funke@weidmueller.com> Reviewed-by: Simon Glass <sjg@chromium.org> Revert part of patch to make binman test pass Signed-off-by: Simon Glass <sjg@chromium.org>
This commit is contained in:
parent
7755b22007
commit
43176ed86d
2 changed files with 20 additions and 6 deletions
tools/binman
|
@ -447,13 +447,15 @@ def DecodeElf(data, location):
|
|||
Returns:
|
||||
ElfInfo object containing information about the decoded ELF file
|
||||
"""
|
||||
if not ELF_TOOLS:
|
||||
raise ValueError("Python: No module named 'elftools'")
|
||||
file_size = len(data)
|
||||
with io.BytesIO(data) as fd:
|
||||
elf = ELFFile(fd)
|
||||
data_start = 0xffffffff;
|
||||
data_end = 0;
|
||||
mem_end = 0;
|
||||
virt_to_phys = 0;
|
||||
data_start = 0xffffffff
|
||||
data_end = 0
|
||||
mem_end = 0
|
||||
virt_to_phys = 0
|
||||
|
||||
for i in range(elf.num_segments()):
|
||||
segment = elf.get_segment(i)
|
||||
|
|
|
@ -255,8 +255,20 @@ class TestElf(unittest.TestCase):
|
|||
fname = self.ElfTestFile('embed_data')
|
||||
with self.assertRaises(ValueError) as e:
|
||||
elf.GetSymbolFileOffset(fname, ['embed_start', 'embed_end'])
|
||||
self.assertIn("Python: No module named 'elftools'",
|
||||
str(e.exception))
|
||||
with self.assertRaises(ValueError) as e:
|
||||
elf.DecodeElf(tools.read_file(fname), 0xdeadbeef)
|
||||
with self.assertRaises(ValueError) as e:
|
||||
elf.GetFileOffset(fname, 0xdeadbeef)
|
||||
with self.assertRaises(ValueError) as e:
|
||||
elf.GetSymbolFromAddress(fname, 0xdeadbeef)
|
||||
with self.assertRaises(ValueError) as e:
|
||||
entry = FakeEntry(10)
|
||||
section = FakeSection()
|
||||
elf.LookupAndWriteSymbols(fname, entry, section, True)
|
||||
|
||||
self.assertIn(
|
||||
"Section 'section_path': entry 'entry_path': Cannot write symbols to an ELF file without Python elftools",
|
||||
str(e.exception))
|
||||
finally:
|
||||
elf.ELF_TOOLS = old_val
|
||||
|
||||
|
|
Loading…
Add table
Reference in a new issue