mirror of
https://mirrors.bfsu.edu.cn/git/linux.git
synced 2024-12-23 02:54:32 +08:00
2fb2c17993
drivers/firmware/efi/libstub/Makefile builds a static library, which
is not linked into the main vmlinux target in the ordinary way [arm64],
or at all [ARM, x86].
Since commit:
7f2084fa55
("[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 follow the default linking rules for static libraries
built under libstub/ so using subdir-y instead of obj-y is the correct
way to descend into this directory.
Signed-off-by: Masahiro Yamada <masahiroy@kernel.org>
Signed-off-by: Ard Biesheuvel <ardb@kernel.org>
[ardb: update commit log to clarify that arm64 deviates in this respect]
Signed-off-by: Ingo Molnar <mingo@kernel.org>
Link: https://lore.kernel.org/r/20200305055047.6097-1-masahiroy@kernel.org
Link: https://lore.kernel.org/r/20200308080859.21568-23-ardb@kernel.org
42 lines
1.5 KiB
Makefile
42 lines
1.5 KiB
Makefile
# SPDX-License-Identifier: GPL-2.0
|
|
#
|
|
# Makefile for linux kernel
|
|
#
|
|
|
|
#
|
|
# ARM64 maps efi runtime services in userspace addresses
|
|
# which don't have KASAN shadow. So dereference of these addresses
|
|
# in efi_call_virt() will cause crash if this code instrumented.
|
|
#
|
|
KASAN_SANITIZE_runtime-wrappers.o := n
|
|
|
|
obj-$(CONFIG_ACPI_BGRT) += efi-bgrt.o
|
|
obj-$(CONFIG_EFI) += efi.o vars.o reboot.o memattr.o tpm.o
|
|
obj-$(CONFIG_EFI) += capsule.o memmap.o
|
|
obj-$(CONFIG_EFI_PARAMS_FROM_FDT) += fdtparams.o
|
|
obj-$(CONFIG_EFI_VARS) += efivars.o
|
|
obj-$(CONFIG_EFI_ESRT) += esrt.o
|
|
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
|
|
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/
|
|
obj-$(CONFIG_EFI_DEV_PATH_PARSER) += dev-path-parser.o
|
|
obj-$(CONFIG_APPLE_PROPERTIES) += apple-properties.o
|
|
obj-$(CONFIG_EFI_RCI2_TABLE) += rci2-table.o
|
|
obj-$(CONFIG_EFI_EMBEDDED_FIRMWARE) += embedded-firmware.o
|
|
|
|
fake_map-y += fake_mem.o
|
|
fake_map-$(CONFIG_X86) += x86_fake_mem.o
|
|
|
|
arm-obj-$(CONFIG_EFI) := arm-init.o arm-runtime.o
|
|
obj-$(CONFIG_ARM) += $(arm-obj-y)
|
|
obj-$(CONFIG_ARM64) += $(arm-obj-y)
|
|
obj-$(CONFIG_EFI_CAPSULE_LOADER) += capsule-loader.o
|
|
obj-$(CONFIG_EFI_EARLYCON) += earlycon.o
|
|
obj-$(CONFIG_UEFI_CPER_ARM) += cper-arm.o
|
|
obj-$(CONFIG_UEFI_CPER_X86) += cper-x86.o
|