[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <mhng-6809e805-0a92-401b-af74-fef93eeda1ae@palmer-ri-x1c9a>
Date: Mon, 01 May 2023 05:44:26 -0700 (PDT)
From: Palmer Dabbelt <palmer@...belt.com>
To: ribalda@...omium.org
CC: ebiederm@...ssion.com, prudo@...ux.vnet.ibm.com, dyoung@...hat.com,
akpm@...ux-foundation.org, tglx@...utronix.de, mingo@...hat.com,
bp@...en8.de, dave.hansen@...ux.intel.com, x86@...nel.org,
hpa@...or.com, nathan@...nel.org, trix@...hat.com,
mpe@...erman.id.au, npiggin@...il.com, christophe.leroy@...roup.eu,
Paul Walmsley <paul.walmsley@...ive.com>,
aou@...s.berkeley.edu, bhe@...hat.com, prudo@...hat.com,
kexec@...ts.infradead.org, linux-kernel@...r.kernel.org,
zwisler@...gle.com, rostedt@...dmis.org, horms@...nel.org,
ndesaulniers@...gle.com, llvm@...ts.linux.dev,
linuxppc-dev@...ts.ozlabs.org, linux-riscv@...ts.infradead.org,
ribalda@...omium.org, stable@...r.kernel.org
Subject: Re: [PATCH v6 4/4] risc/purgatory: Add linker script
On Mon, 01 May 2023 05:38:22 PDT (-0700), ribalda@...omium.org wrote:
> If PGO is enabled, the purgatory ends up with multiple .text sections.
> This is not supported by kexec and crashes the system.
>
> Cc: stable@...r.kernel.org
> Fixes: 930457057abe ("kernel/kexec_file.c: split up __kexec_load_puragory")
> Signed-off-by: Ricardo Ribalda <ribalda@...omium.org>
> ---
> arch/riscv/purgatory/Makefile | 5 +++++
> 1 file changed, 5 insertions(+)
>
> diff --git a/arch/riscv/purgatory/Makefile b/arch/riscv/purgatory/Makefile
> index 5730797a6b40..cf3a44121a90 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 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
Acked-by: Palmer Dabbelt <palmer@...osinc.com>
Powered by blists - more mailing lists