x86: efi: app: Generate Microsoft PE format compliant image
authorBin Meng <bmeng.cn@gmail.com>
Tue, 2 Oct 2018 14:39:31 +0000 (07:39 -0700)
committerAlexander Graf <agraf@suse.de>
Sun, 2 Dec 2018 20:59:36 +0000 (21:59 +0100)
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-app.efi 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

Signed-off-by: Bin Meng <bmeng.cn@gmail.com>
Reviewed-by: Heinrich Schuchardt <xypron.glpk@gmx.de>
Signed-off-by: Alexander Graf <agraf@suse.de>
arch/x86/config.mk

index f4faea69e4de29ec84f5ef4a51272f8a74e690e6..b5e8f46297912230610d3818dc871ddc2c734b25 100644 (file)
@@ -65,7 +65,7 @@ CPPFLAGS_crt0-efi-$(EFIARCH).o += $(CFLAGS_EFI)
 ifeq ($(CONFIG_EFI_APP),y)
 
 PLATFORM_CPPFLAGS += $(CFLAGS_EFI)
-LDFLAGS_FINAL += -znocombreloc -shared
+LDFLAGS_FINAL += -znocombreloc -shared -s
 LDSCRIPT := $(LDSCRIPT_EFI)
 
 else