efi_loader helloworld.efi: Fix building with -Os
authorAlexander Graf <agraf@suse.de>
Fri, 1 Dec 2017 21:09:50 +0000 (22:09 +0100)
committerAlexander Graf <agraf@suse.de>
Fri, 1 Dec 2017 21:31:00 +0000 (22:31 +0100)
Depending on your compiler, when compiling the hello world efi binary
with -Os, gcc might think it's a smart idea to replace common patterns
such as memory copies with explicit calls to memcpy().

While that sounds great at first, we don't have any memcpy() available
in our helloworld build target. So let's indicate to gcc that we really
do want to have the code be built as freestanding.

Fixes: bbf75dd9 ("efi_loader: output load options in helloworld")
Signed-off-by: Alexander Graf <agraf@suse.de>
lib/efi_loader/Makefile

index 83d879b686ee152240ded963c6e5ee4feabfdd66..2722265ee3d1dc728ef0681e06a7b5020c22aa41 100644 (file)
@@ -7,8 +7,8 @@
 # This file only gets included with CONFIG_EFI_LOADER set, so all
 # object inclusion implicitly depends on it
 
-CFLAGS_helloworld.o := $(CFLAGS_EFI)
-CFLAGS_REMOVE_helloworld.o := $(CFLAGS_NON_EFI)
+CFLAGS_helloworld.o := $(CFLAGS_EFI) -Os -ffreestanding
+CFLAGS_REMOVE_helloworld.o := $(CFLAGS_NON_EFI) -Os
 
 ifneq ($(CONFIG_CMD_BOOTEFI_HELLO_COMPILE),)
 always += helloworld.efi