[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-Id: <1648542114.vy2hyu1uzt.astroid@bobo.none>
Date: Tue, 29 Mar 2022 18:22:28 +1000
From: Nicholas Piggin <npiggin@...il.com>
To: Benjamin Herrenschmidt <benh@...nel.crashing.org>,
Christophe Leroy <christophe.leroy@...roup.eu>,
Michael Ellerman <mpe@...erman.id.au>,
Paul Mackerras <paulus@...ba.org>
Cc: linux-kernel@...r.kernel.org, linuxppc-dev@...ts.ozlabs.org
Subject: Re: [PATCH] powerpc/64: Fix build failure with allyesconfig in
book3s_64_entry.S
Excerpts from Christophe Leroy's message of March 27, 2022 5:32 pm:
> Using conditional branches between two files is hasardous,
> they may get linked to far from each other.
>
> arch/powerpc/kvm/book3s_64_entry.o:(.text+0x3ec): relocation truncated
> to fit: R_PPC64_REL14 (stub) against symbol `system_reset_common'
> defined in .text section in arch/powerpc/kernel/head_64.o
>
> Reorganise the code to use non conditional branches.
Thanks for the fix, I agree this is better.
Reviewed-by: Nicholas Piggin <npiggin@...il.com>
>
> Cc: Nicholas Piggin <npiggin@...il.com>
> Fixes: 89d35b239101 ("KVM: PPC: Book3S HV P9: Implement the rest of the P9 path in C")
> Signed-off-by: Christophe Leroy <christophe.leroy@...roup.eu>
> ---
> arch/powerpc/kvm/book3s_64_entry.S | 7 ++++---
> 1 file changed, 4 insertions(+), 3 deletions(-)
>
> diff --git a/arch/powerpc/kvm/book3s_64_entry.S b/arch/powerpc/kvm/book3s_64_entry.S
> index 05e003eb5d90..99fa36df36fa 100644
> --- a/arch/powerpc/kvm/book3s_64_entry.S
> +++ b/arch/powerpc/kvm/book3s_64_entry.S
> @@ -414,10 +414,11 @@ END_FTR_SECTION_IFSET(CPU_FTR_DAWR1)
> */
> ld r10,HSTATE_SCRATCH0(r13)
> cmpwi r10,BOOK3S_INTERRUPT_MACHINE_CHECK
> - beq machine_check_common
> + beq 1f
>
> cmpwi r10,BOOK3S_INTERRUPT_SYSTEM_RESET
> - beq system_reset_common
> + bne .
>
> - b .
> + b system_reset_common
> +1: b machine_check_common
> #endif
> --
> 2.35.1
>
>
Powered by blists - more mailing lists