From: Bin Meng Date: Tue, 2 Oct 2018 14:39:30 +0000 (-0700) Subject: x86: efi: payload: Generate Microsoft PE format compliant image X-Git-Tag: v2019.01-rc1~9^2~48 X-Git-Url: https://git.librecmc.org/?a=commitdiff_plain;h=972ffcd7b0bef07e07e02a339bc0ae95a5d9d5b8;p=oweals%2Fu-boot.git x86: efi: payload: Generate Microsoft PE format compliant image Per Microsoft PE Format documentation [1], PointerToSymbolTable and NumberOfSymbols should be zero for an image in the COFF file header. Currently U-Boot is generating u-boot-payload.efi image in which these two members are not zero. This updates the build rules to tell linker to remove the symbol table completely so that we can generate compliant *.efi images. [1] https://docs.microsoft.com/zh-cn/windows/desktop/Debug/pe-format Reported-by: Heinrich Schuchardt Signed-off-by: Bin Meng Reviewed-by: Heinrich Schuchardt Signed-off-by: Alexander Graf --- diff --git a/arch/x86/config.mk b/arch/x86/config.mk index 8151e476d4..f4faea69e4 100644 --- a/arch/x86/config.mk +++ b/arch/x86/config.mk @@ -34,7 +34,7 @@ PLATFORM_LDFLAGS += -m $(if $(IS_32BIT),elf_i386,elf_x86_64) # This is used in the top-level Makefile which does not include # PLATFORM_LDFLAGS -LDFLAGS_EFI_PAYLOAD := -Bsymbolic -Bsymbolic-functions -shared --no-undefined +LDFLAGS_EFI_PAYLOAD := -Bsymbolic -Bsymbolic-functions -shared --no-undefined -s OBJCOPYFLAGS_EFI := -j .text -j .sdata -j .data -j .dynamic -j .dynsym \ -j .rel -j .rela -j .reloc