Skip to content

Commit 08c18b6

Browse files
chleroympe
authored andcommitted
powerpc/vdso32: Add missing _restgpr_31_x to fix build failure
With some defconfig including CONFIG_CC_OPTIMIZE_FOR_SIZE, (for instance mvme5100_defconfig and ps3_defconfig), gcc 5 generates a call to _restgpr_31_x. Until recently it went unnoticed, but commit 42ed6d5 ("powerpc/vdso: Block R_PPC_REL24 relocations") made it rise to the surface. Provide that function (copied from lib/crtsavres.S) in gettimeofday.S Fixes: ab037dd ("powerpc/vdso: Switch VDSO to generic C implementation.") Signed-off-by: Christophe Leroy <[email protected]> Signed-off-by: Michael Ellerman <[email protected]> Link: https://lore.kernel.org/r/a7aa198a88bcd33c6e35e99f70f86c7b7f2f9440.1615270757.git.christophe.leroy@csgroup.eu
1 parent 0b73688 commit 08c18b6

File tree

1 file changed

+11
-0
lines changed

1 file changed

+11
-0
lines changed

arch/powerpc/kernel/vdso32/gettimeofday.S

Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -65,3 +65,14 @@ V_FUNCTION_END(__kernel_clock_getres)
6565
V_FUNCTION_BEGIN(__kernel_time)
6666
cvdso_call_time __c_kernel_time
6767
V_FUNCTION_END(__kernel_time)
68+
69+
/* Routines for restoring integer registers, called by the compiler. */
70+
/* Called with r11 pointing to the stack header word of the caller of the */
71+
/* function, just beyond the end of the integer restore area. */
72+
_GLOBAL(_restgpr_31_x)
73+
_GLOBAL(_rest32gpr_31_x)
74+
lwz r0,4(r11)
75+
lwz r31,-4(r11)
76+
mtlr r0
77+
mr r1,r11
78+
blr

0 commit comments

Comments
 (0)