Messages in this thread Patch in this message | | | Date | Thu, 4 Mar 2021 10:45:44 -0800 | Subject | [PATCH] KVM: arm64: Disable LTO in hyp | From | Sami Tolvanen <> |
| |
allmodconfig + CONFIG_LTO_CLANG_THIN=y fails to build due to following linker errors:
ld.lld: error: irqbypass.c:(function __guest_enter: .text+0x21CC): relocation R_AARCH64_CONDBR19 out of range: 2031220 is not in [-1048576, 1048575]; references hyp_panic >>> defined in vmlinux.o
ld.lld: error: irqbypass.c:(function __guest_enter: .text+0x21E0): relocation R_AARCH64_ADR_PREL_LO21 out of range: 2031200 is not in [-1048576, 1048575]; references hyp_panic >>> defined in vmlinux.o
As LTO is not really necessary for the hypervisor code, disable it for the hyp directory to fix the build.
Link: https://github.com/ClangBuiltLinux/linux/issues/1317 Reported-by: Nathan Chancellor <nathan@kernel.org> Tested-by: Nathan Chancellor <nathan@kernel.org> Signed-off-by: Sami Tolvanen <samitolvanen@google.com> --- arch/arm64/kvm/hyp/Makefile | 3 +++ 1 file changed, 3 insertions(+)
diff --git a/arch/arm64/kvm/hyp/Makefile b/arch/arm64/kvm/hyp/Makefile index 687598e41b21..e8116016e6a8 100644 --- a/arch/arm64/kvm/hyp/Makefile +++ b/arch/arm64/kvm/hyp/Makefile @@ -11,3 +11,6 @@ subdir-ccflags-y := -I$(incdir) \ $(DISABLE_STACKLEAK_PLUGIN) obj-$(CONFIG_KVM) += vhe/ nvhe/ pgtable.o + +# Disable LTO for the files in this directory +KBUILD_CFLAGS := $(filter-out $(CC_FLAGS_LTO), $(KBUILD_CFLAGS)) base-commit: f69d02e37a85645aa90d18cacfff36dba370f797 -- 2.30.1.766.gb4fecdf3b7-goog
| |