Got below error during build:

  In file included from drivers/firmware/efi/libstub/efi-stub-helper.c:16:0:
  drivers/firmware/efi/libstub/efi-stub-helper.c: In function ‘efi_char16_puts’:
  arch/x86/include/asm/efi.h:355:3: sorry, unimplemented: ms_abi attribute 
requires -maccumulate-outgoing-args or subtarget optimization implying it
     : __efi64_thunk_map(inst, func, inst, ##__VA_ARGS__))
     ^
  drivers/firmware/efi/libstub/efi-stub-helper.c:37:2: note: in expansion of 
macro ‘efi_call_proto’
    efi_call_proto(efi_table_attr(efi_system_table, con_out),
    ^
  drivers/firmware/efi/libstub/efi-stub-helper.c:37: confused by earlier 
errors, bailing out

Fix it by adding -maccumulate-outgoing-args for efi libstub build
as suggested by gcc.

Signed-off-by: Zhenzhong Duan <[email protected]>
---
 drivers/firmware/efi/libstub/Makefile | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/drivers/firmware/efi/libstub/Makefile 
b/drivers/firmware/efi/libstub/Makefile
index cce4a74..25e5d02 100644
--- a/drivers/firmware/efi/libstub/Makefile
+++ b/drivers/firmware/efi/libstub/Makefile
@@ -6,7 +6,7 @@
 # enabled, even if doing so doesn't break the build.
 #
 cflags-$(CONFIG_X86_32)                := -march=i386
-cflags-$(CONFIG_X86_64)                := -mcmodel=small
+cflags-$(CONFIG_X86_64)                := -mcmodel=small 
-maccumulate-outgoing-args
 cflags-$(CONFIG_X86)           += -m$(BITS) -D__KERNEL__ \
                                   -fPIC -fno-strict-aliasing -mno-red-zone \
                                   -mno-mmx -mno-sse -fshort-wchar \
-- 
1.8.3.1

Reply via email to