diff options
author | Ricardo Ribalda <ribalda@chromium.org> | 2023-05-01 14:27:23 +0200 |
---|---|---|
committer | Ricardo Ribalda <ribalda@chromium.org> | 2023-05-01 19:40:20 +0200 |
commit | 847e1e26a9f34706527edb0199020f72ac3dc731 (patch) | |
tree | b99f381af67fa63d150b6aa763c59178bb418ab7 | |
parent | e69a1adccc870c50798afdae74c548590b6aa2ee (diff) | |
download | linux-b4/kexec_clang16.tar.gz |
riscv/purgatory: Remove PGO flagsb4/kexec_clang16
If profile-guided optimization is enabled, the purgatory ends up with
multiple .text sections.
This is not supported by kexec and crashes the system.
Cc: stable@vger.kernel.org
Fixes: 930457057abe ("kernel/kexec_file.c: split up __kexec_load_puragory")
Acked-by: Palmer Dabbelt <palmer@rivosinc.com>
Signed-off-by: Ricardo Ribalda <ribalda@chromium.org>
-rw-r--r-- | arch/riscv/purgatory/Makefile | 5 |
1 files changed, 5 insertions, 0 deletions
diff --git a/arch/riscv/purgatory/Makefile b/arch/riscv/purgatory/Makefile index 5730797a6b402c..bd2e27f8253268 100644 --- a/arch/riscv/purgatory/Makefile +++ b/arch/riscv/purgatory/Makefile @@ -35,6 +35,11 @@ CFLAGS_sha256.o := -D__DISABLE_EXPORTS CFLAGS_string.o := -D__DISABLE_EXPORTS CFLAGS_ctype.o := -D__DISABLE_EXPORTS +# When profile-guided optimization is enabled, llvm emits two different +# overlapping text sections, which is not supported by kexec. Remove profile +# optimization flags. +KBUILD_CFLAGS := $(filter-out -fprofile-sample-use=% -fprofile-use=%,$(KBUILD_CFLAGS)) + # When linking purgatory.ro with -r unresolved symbols are not checked, # also link a purgatory.chk binary without -r to check for unresolved symbols. PURGATORY_LDFLAGS := -e purgatory_start -z nodefaultlib |