mirror of
https://github.com/AsahiLinux/u-boot
synced 2024-11-24 21:54:01 +00:00
binman: Correct symbol calculation with non-zero image base
At present binman adds the image base address to the symbol value before it writes it to the binary. This is not correct since the symbol value itself (e.g. image position) has no relationship to the image base. Fix this and update the tests to cover this case. Signed-off-by: Simon Glass <sjg@chromium.org> Reviewed-by: Bin Meng <bmeng.cn@gmail.com>
This commit is contained in:
parent
895ae8726d
commit
15c981cc8a
2 changed files with 2 additions and 4 deletions
|
@ -135,9 +135,7 @@ def LookupAndWriteSymbols(elf_fname, entry, section):
|
|||
|
||||
# Look up the symbol in our entry tables.
|
||||
value = section.LookupSymbol(name, sym.weak, msg)
|
||||
if value is not None:
|
||||
value += base.address
|
||||
else:
|
||||
if value is None:
|
||||
value = -1
|
||||
pack_string = pack_string.lower()
|
||||
value_bytes = struct.pack(pack_string, value)
|
||||
|
|
|
@ -9,7 +9,7 @@ ENTRY(_start)
|
|||
|
||||
SECTIONS
|
||||
{
|
||||
. = 0x00000000;
|
||||
. = 0x00000010;
|
||||
_start = .;
|
||||
|
||||
. = ALIGN(4);
|
||||
|
|
Loading…
Reference in a new issue