[U-Boot] [BUG] U-Boot generates unusable x86_64 EFI binaries
Heinrich Schuchardt
xypron.glpk at gmx.de
Mon Sep 24 19:40:48 UTC 2018
Hello
neither the helloworld.efi of qemu-x86_64_defconfig nor the
u-boot-payload.efi of efi-x86_payload64_defconfig can be started from
the firmware of my Thinkpad 585 while grubx64.efi works fine.
Looking at the generated PE header I found the following abnormality:
coff.PointerToSymbolTable != 0
coff.NumberOfSymbols != 0
(using https://github.com/xypron/efi_analyzer)
According to the Microsoft Portable Executable and Common Object File
Format Specification - rev 11 - 2017-01-17 these fields should be 0.
The U-Boot executables have these sections which do not exist in
grubx64.efi, the EFI shell, and the Windows loader:
Section[3] .dynamic
Section[4] .dynsym
So I think we have to change something in the linking to get usable EFI
binaries.
Best regards
Heinrich
More information about the U-Boot
mailing list