powerpc/ftrace: Fix dropping weak symbols with older toolchains
authorNaveen N Rao <naveen@kernel.org>
Mon, 19 Jun 2023 09:47:19 +0000 (15:17 +0530)
committerMichael Ellerman <mpe@ellerman.id.au>
Mon, 21 Aug 2023 14:09:05 +0000 (00:09 +1000)
commitf6834c8c59a8e977a6f6e4f96c5d28dfa5db8430
treea044c2e3675bdb6869a698f9b4ea4a23edfbe224
parent34daf445f82bd3a4df852bb5f1dffd792ac830a0
powerpc/ftrace: Fix dropping weak symbols with older toolchains

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: stable@vger.kernel.org
Fixes: 7af82ff90a2b06 ("powerpc/ftrace: Ignore weak functions")
Signed-off-by: Naveen N Rao <naveen@kernel.org>
Reviewed-by: Christophe Leroy <christophe.leroy@csgroup.eu>
Signed-off-by: Michael Ellerman <mpe@ellerman.id.au>
Link: https://msgid.link/7b265908a9461e38fc756ef9b569703860a80621.1687166935.git.naveen@kernel.org
arch/powerpc/include/asm/ftrace.h