diff options
author | Heinrich Schuchardt <xypron.glpk@gmx.de> | 2019-01-20 08:20:31 +0100 |
---|---|---|
committer | Alexander Graf <agraf@suse.de> | 2019-02-13 09:40:06 +0100 |
commit | 2013c6850e169bfd5ef662a5fb49fdba2860c4f1 (patch) | |
tree | bab7ecbcc9e23fad3811c5d48fbbeb17eb625bce | |
parent | f51a226436a874ad4a9fda48dfab169155a48d49 (diff) |
efi_loader: use freestanding library for efi apps
GCC requires that freestanding programs provide memcpy(), memmove(),
memset(), and memcmp().
Add the library functions when building a *.efi files.
The EFI selftests might use other compilation flags. So use a symbolic
link to provide lib/efi_selftest/efi_freestanding.c and compile it
separately.
Reported-by: Alexander Graf <agraf@suse.de>
Fixes: 5be444d14b38 ("efi_loader: consistent build flags for EFI applications")
Signed-off-by: Heinrich Schuchardt <xypron.glpk@gmx.de>
Signed-off-by: Alexander Graf <agraf@suse.de>
l--------- | lib/efi_selftest/efi_freestanding.c | 1 | ||||
-rw-r--r-- | scripts/Makefile.lib | 2 |
2 files changed, 2 insertions, 1 deletions
diff --git a/lib/efi_selftest/efi_freestanding.c b/lib/efi_selftest/efi_freestanding.c new file mode 120000 index 0000000000..4b7edd52bd --- /dev/null +++ b/lib/efi_selftest/efi_freestanding.c @@ -0,0 +1 @@ +../efi_loader/efi_freestanding.c
\ No newline at end of file diff --git a/scripts/Makefile.lib b/scripts/Makefile.lib index a5b57fc6b9..4facb76ace 100644 --- a/scripts/Makefile.lib +++ b/scripts/Makefile.lib @@ -389,7 +389,7 @@ $(obj)/efi_reloc.o: $(srctree)/arch/$(ARCH)/lib/$(EFI_RELOC:.o=.c) $(recordmcoun $(call cmd,force_checksrc) $(call if_changed_rule,cc_o_c) -$(obj)/%_efi.so: $(obj)/%.o $(obj)/efi_crt0.o $(obj)/efi_reloc.o +$(obj)/%_efi.so: $(obj)/%.o $(obj)/efi_crt0.o $(obj)/efi_reloc.o $(obj)/efi_freestanding.o $(call cmd,efi_ld) # ACPI |