[U-Boot] efi_loader: handling of global data in *.efi files

Alexander Graf agraf at suse.de
Tue Oct 16 13:23:58 UTC 2018



On 13.10.18 12:40, Heinrich Schuchardt wrote:
> Hello Alex, hello Simon,
> 
> in arch/arm/lib/elf_aarch64_efi.lds we merge the .bss section into the
> .data section with a comment by Simon:
> 
> "The EFI loader doesn't seem to like a .bss section, so we stick it into
> .data".
> 
> Real live EFI binaries like iPXE's snp.efi have a .bss section:
> 
> Number of Sections 6
> Section[0] .text
> Section[1] .rodata
> Section[2] .data
> Section[3] .bss
> Section[4] .reloc
> Section[5] .debug
> 
> Do you remember what the exact problem was with .bss sections?
> 
> .bss sections have to be initialized after relocation. I could not find
> any code relating to this in efi_image_loader.c. Did I miss it?

.bss usually gets initialized by crt0 which is part of the target .efi
binary. Maybe our efi crt0 is missing .bss initialization?


Alex


More information about the U-Boot mailing list