Le 19/06/2023 à 11:47, Naveen N Rao a écrit : > The minimum level of gcc supported for building the kernel is v5.1. > v5.x releases of gcc emitted a three instruction sequence for > -mprofile-kernel: > mflr r0 > std r0, 16(r1) > bl _mcount > > It is only with the v6.x releases that gcc started emitting the two > instruction sequence for -mprofile-kernel, omitting the second store > instruction. > > With the older three instruction sequence, the actual ftrace location > can be the 5th instruction into a function. Update the allowed offset > for ftrace location from 12 to 16 to accommodate the same. > > Cc: sta...@vger.kernel.org > Fixes: 7af82ff90a2b06 ("powerpc/ftrace: Ignore weak functions") > Signed-off-by: Naveen N Rao <nav...@kernel.org>
Reviewed-by: Christophe Leroy <christophe.le...@csgroup.eu> > --- > arch/powerpc/include/asm/ftrace.h | 2 +- > 1 file changed, 1 insertion(+), 1 deletion(-) > > diff --git a/arch/powerpc/include/asm/ftrace.h > b/arch/powerpc/include/asm/ftrace.h > index 91c049d51d0e10..2edc6269b1a357 100644 > --- a/arch/powerpc/include/asm/ftrace.h > +++ b/arch/powerpc/include/asm/ftrace.h > @@ -12,7 +12,7 @@ > > /* Ignore unused weak functions which will have larger offsets */ > #ifdef CONFIG_MPROFILE_KERNEL > -#define FTRACE_MCOUNT_MAX_OFFSET 12 > +#define FTRACE_MCOUNT_MAX_OFFSET 16 > #elif defined(CONFIG_PPC32) > #define FTRACE_MCOUNT_MAX_OFFSET 8 > #endif