summaryrefslogtreecommitdiff
path: root/tools/binman/entry.py
diff options
context:
space:
mode:
authorSimon Glass <sjg@chromium.org>2023-01-11 16:10:17 -0700
committerSimon Glass <sjg@chromium.org>2023-01-18 14:55:41 -0700
commitc1157860c5e9ca45e41859e013ed83919e7397f0 (patch)
treec2b4f1cf8570fcc3e03264e8e105a25674a654e6 /tools/binman/entry.py
parent9766f69c98c2aa056d0518a9545f9e89484e9172 (diff)
binman: Provide general support for updating ELF symbols
The current support for updating variables in a binary is hard-coded to work with U-Boot: - It assumes the image starts at __image_copy_start - It uses the existing U-Boot-specific entry types It is useful for other projects to use these feature. Add properties to enable writing symbols for any blob, a way of specifying the base symbol and a way of providing the ELF filename to allow symbol lookup to take place. With this it is possible to update a Zephyr image, such as zephyr.bin after it has been built. Signed-off-by: Simon Glass <sjg@chromium.org>
Diffstat (limited to 'tools/binman/entry.py')
-rw-r--r--tools/binman/entry.py3
1 files changed, 2 insertions, 1 deletions
diff --git a/tools/binman/entry.py b/tools/binman/entry.py
index 0c94665f7a8..aca08e62d3a 100644
--- a/tools/binman/entry.py
+++ b/tools/binman/entry.py
@@ -144,6 +144,7 @@ class Entry(object):
self.absent = False
self.optional = False
self.overlap = False
+ self.elf_base_sym = None
@staticmethod
def FindEntryClass(etype, expanded):
@@ -676,7 +677,7 @@ class Entry(object):
# Check if we are writing symbols into an ELF file
is_elf = self.GetDefaultFilename() == self.elf_fname
elf.LookupAndWriteSymbols(self.elf_fname, self, section.GetImage(),
- is_elf)
+ is_elf, self.elf_base_sym)
def CheckEntries(self):
"""Check that the entry offsets are correct