summaryrefslogtreecommitdiff
path: root/arch/powerpc/kernel/vdso
diff options
context:
space:
mode:
authorNicholas Piggin <npiggin@gmail.com>2023-04-08 12:17:50 +1000
committerMichael Ellerman <mpe@ellerman.id.au>2023-04-20 12:54:24 +1000
commit4e991e3c16a350d1eeffc100ce3fb25292596d03 (patch)
tree850fa79b5e450ca0bbb807c42a50cfd54d01f70e /arch/powerpc/kernel/vdso
parentdc5dac748af9087e9240bd2ae6ae7db48d5360ae (diff)
powerpc: add CFUNC assembly label annotation
This macro is to be used in assembly where C functions are called. pcrel addressing mode requires branches to functions with a localentry value of 1 to have either a trailing nop or @notoc. This macro permits the latter without changing callers. Signed-off-by: Nicholas Piggin <npiggin@gmail.com> [mpe: Add dummy definitions to fix selftests build] Signed-off-by: Michael Ellerman <mpe@ellerman.id.au> Link: https://msgid.link/20230408021752.862660-5-npiggin@gmail.com
Diffstat (limited to 'arch/powerpc/kernel/vdso')
-rw-r--r--arch/powerpc/kernel/vdso/gettimeofday.S6
1 files changed, 5 insertions, 1 deletions
diff --git a/arch/powerpc/kernel/vdso/gettimeofday.S b/arch/powerpc/kernel/vdso/gettimeofday.S
index 0c4ecc8fec5a..48fc6658053a 100644
--- a/arch/powerpc/kernel/vdso/gettimeofday.S
+++ b/arch/powerpc/kernel/vdso/gettimeofday.S
@@ -38,7 +38,11 @@
.else
addi r4, r5, VDSO_DATA_OFFSET
.endif
- bl DOTSYM(\funct)
+#ifdef __powerpc64__
+ bl CFUNC(DOTSYM(\funct))
+#else
+ bl \funct
+#endif
PPC_LL r0, PPC_MIN_STKFRM + PPC_LR_STKOFF(r1)
#ifdef __powerpc64__
PPC_LL r2, PPC_MIN_STKFRM + STK_GOT(r1)