diff options
author | Simon Glass <sjg@chromium.org> | 2023-01-11 16:10:17 -0700 |
---|---|---|
committer | Simon Glass <sjg@chromium.org> | 2023-01-18 14:55:41 -0700 |
commit | c1157860c5e9ca45e41859e013ed83919e7397f0 (patch) | |
tree | c2b4f1cf8570fcc3e03264e8e105a25674a654e6 /tools/binman/entry.py | |
parent | 9766f69c98c2aa056d0518a9545f9e89484e9172 (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.py | 3 |
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 |