[PATCH] efi/libstub: avoid linking libstub/lib-ksyms.o into vmlinux

From: Masahiro Yamada
Date: Thu Mar 05 2020 - 00:51:04 EST


drivers/firmware/efi/libstub/Makefile is supposed to create a static
library, which is not directly linked to vmlinux.

Since commit 7f2084fa55e6 ("[kbuild] handle exports in lib-y objects
reliably"), any Makefile using lib-y generates lib-ksyms.o which is
linked into vmlinux.

In this case, the following garbage object is linked into vmlinux.

drivers/firmware/efi/libstub/lib-ksyms.o

We do not want to link anything from libstub/ directly to vmlinux,
so using subdir-y instead of obj-y is the correct way to descend into
this directory.

Signed-off-by: Masahiro Yamada <masahiroy@xxxxxxxxxx>
---

drivers/firmware/efi/Makefile | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/drivers/firmware/efi/Makefile b/drivers/firmware/efi/Makefile
index 554d795270d9..4fd2fa02f549 100644
--- a/drivers/firmware/efi/Makefile
+++ b/drivers/firmware/efi/Makefile
@@ -19,7 +19,7 @@ obj-$(CONFIG_EFI_VARS_PSTORE) += efi-pstore.o
obj-$(CONFIG_UEFI_CPER) += cper.o
obj-$(CONFIG_EFI_RUNTIME_MAP) += runtime-map.o
obj-$(CONFIG_EFI_RUNTIME_WRAPPERS) += runtime-wrappers.o
-obj-$(CONFIG_EFI_STUB) += libstub/
+subdir-$(CONFIG_EFI_STUB) += libstub
obj-$(CONFIG_EFI_FAKE_MEMMAP) += fake_map.o
obj-$(CONFIG_EFI_BOOTLOADER_CONTROL) += efibc.o
obj-$(CONFIG_EFI_TEST) += test/
--
2.17.1