
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