efi/libstub/arm64: link stub lib.a conditionally
authorMasahiro Yamada <masahiroy@kernel.org>
Thu, 4 Jun 2020 02:20:30 +0000 (11:20 +0900)
committerArd Biesheuvel <ardb@kernel.org>
Thu, 9 Jul 2020 06:45:09 +0000 (09:45 +0300)
Since commit 799c43415442 ("kbuild: thin archives make default for
all archs"), core-y is passed to the linker with --whole-archive.
Hence, the whole of stub library is linked to vmlinux.

Use libs-y so that lib.a is passed after --no-whole-archive for
conditional linking.

The unused drivers/firmware/efi/libstub/relocate.o will be dropped
for ARCH=arm64.

Signed-off-by: Masahiro Yamada <masahiroy@kernel.org>
Link: https://lore.kernel.org/r/20200604022031.164207-1-masahiroy@kernel.org
Signed-off-by: Ard Biesheuvel <ardb@kernel.org>
arch/arm64/Makefile

index 76359cf..4621fb6 100644 (file)
@@ -143,7 +143,7 @@ export      TEXT_OFFSET
 
 core-y         += arch/arm64/
 libs-y         := arch/arm64/lib/ $(libs-y)
-core-$(CONFIG_EFI_STUB) += $(objtree)/drivers/firmware/efi/libstub/lib.a
+libs-$(CONFIG_EFI_STUB) += $(objtree)/drivers/firmware/efi/libstub/lib.a
 
 # Default target when executing plain make
 boot           := arch/arm64/boot