On 01/19/2019 12:55 PM, Heinrich Schuchardt wrote:
On 1/19/19 11:21 AM, Heinrich Schuchardt wrote:
Hello Alex,

bootefi hello fails since  5be444d14b380b210b246aa73dd5a111e4b1f80d
efi_loader: consistent build flags for EFI applications

The problem is caused by incorrect entry point information in the EFI
binary:

Actual positions in EFI file:
0x178 hw_memcmp.constprop.0
0x1a8 efi_main

Header information in EFI file
(using https://github.com/xypron/efi_analyzer):

BaseOfCode=0x148
AddressOfEntryPoint=0x148

So AddressOfEntryPoint is not pointing to efi_main().
In arch/arm/lib/crt0_aarch64_efi.S we define AddressOfEntryPoint to
point to _start. _start() calls _relocate().

We already do a relocation in efi_load_pe(). I cannot understand why the
code should be relocated twice.

IIRC we don't generate PE relocations from ELF relocations. Instead, we bundle ELF relocations into its own section inside the target binary and then relocate ourselves.

So in the binary you're examining, there should be no pe relocations.


Alex

_______________________________________________
U-Boot mailing list
U-Boot@lists.denx.de
https://lists.denx.de/listinfo/u-boot

Reply via email to