From: Bin Meng <bmeng.cn@gmail.com>
Date: Tue, 2 Oct 2018 14:39:31 +0000 (-0700)
Subject: x86: efi: app: Generate Microsoft PE format compliant image
X-Git-Tag: v2025.01-rc5-pxa1908~3252^2~47
X-Git-Url: http://git.dujemihanovic.xyz/html/static/git-logo.png?a=commitdiff_plain;h=c54ed3ef5ee536a24d2ad1d9caee83c6c391a338;p=u-boot.git

x86: efi: app: 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-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>
---

diff --git a/arch/x86/config.mk b/arch/x86/config.mk
index f4faea69e4..b5e8f46297 100644
--- a/arch/x86/config.mk
+++ b/arch/x86/config.mk
@@ -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