From: Christophe Leroy <christophe.leroy@csgroup.eu>
To: Michael Ellerman <mpe@ellerman.id.au>
Cc: linuxppc-dev@lists.ozlabs.org, linux-kernel@vger.kernel.org
Subject: Re: [PATCH] powerpc/vdso32: Add missing _restgpr_31_x to fix build failure
Date: Fri, 12 Mar 2021 14:09:04 +0100 [thread overview]
Message-ID: <d28e06ff-ade0-588f-42a5-ca01e6ebda80@csgroup.eu> (raw)
In-Reply-To: <a7aa198a88bcd33c6e35e99f70f86c7b7f2f9440.1615270757.git.christophe.leroy@csgroup.eu>
Le 09/03/2021 à 07:19, Christophe Leroy a écrit :
> 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 42ed6d56ade2 ("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: ab037dd87a2f ("powerpc/vdso: Switch VDSO to generic C implementation.")
> Signed-off-by: Christophe Leroy <christophe.leroy@csgroup.eu>
Fixes the following builds:
http://kisskb.ellerman.id.au/kisskb/buildresult/14492138/
http://kisskb.ellerman.id.au/kisskb/buildresult/14492041/
Christophe
> ---
> I don't know if there is a way to tell GCC not to emit that call, because at the end we get more instructions than needed.
> ---
> arch/powerpc/kernel/vdso32/gettimeofday.S | 11 +++++++++++
> 1 file changed, 11 insertions(+)
>
> diff --git a/arch/powerpc/kernel/vdso32/gettimeofday.S b/arch/powerpc/kernel/vdso32/gettimeofday.S
> index a6e29f880e0e..d21d08140a5e 100644
> --- a/arch/powerpc/kernel/vdso32/gettimeofday.S
> +++ b/arch/powerpc/kernel/vdso32/gettimeofday.S
> @@ -65,3 +65,14 @@ V_FUNCTION_END(__kernel_clock_getres)
> V_FUNCTION_BEGIN(__kernel_time)
> cvdso_call_time __c_kernel_time
> V_FUNCTION_END(__kernel_time)
> +
> +/* Routines for restoring integer registers, called by the compiler. */
> +/* Called with r11 pointing to the stack header word of the caller of the */
> +/* function, just beyond the end of the integer restore area. */
> +_GLOBAL(_restgpr_31_x)
> +_GLOBAL(_rest32gpr_31_x)
> + lwz r0,4(r11)
> + lwz r31,-4(r11)
> + mtlr r0
> + mr r1,r11
> + blr
>
next prev parent reply other threads:[~2021-03-12 13:10 UTC|newest]
Thread overview: 17+ messages / expand[flat|nested] mbox.gz Atom feed top
2021-03-09 6:19 [PATCH] powerpc/vdso32: Add missing _restgpr_31_x to fix build failure Christophe Leroy
2021-03-09 6:19 ` Christophe Leroy
2021-03-12 2:29 ` Segher Boessenkool
2021-03-12 2:29 ` Segher Boessenkool
2021-03-15 16:23 ` Rasmus Villemoes
2021-03-15 16:23 ` Rasmus Villemoes
2021-03-15 16:38 ` David Laight
2021-03-15 16:38 ` David Laight
2021-03-15 23:59 ` Segher Boessenkool
2021-03-15 23:59 ` Segher Boessenkool
2021-03-16 9:35 ` David Laight
2021-03-16 9:35 ` David Laight
2021-03-15 23:47 ` Segher Boessenkool
2021-03-15 23:47 ` Segher Boessenkool
2021-03-12 13:09 ` Christophe Leroy [this message]
2021-03-15 13:31 ` Michael Ellerman
2021-03-15 13:31 ` Michael Ellerman
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=d28e06ff-ade0-588f-42a5-ca01e6ebda80@csgroup.eu \
--to=christophe.leroy@csgroup.eu \
--cc=linux-kernel@vger.kernel.org \
--cc=linuxppc-dev@lists.ozlabs.org \
--cc=mpe@ellerman.id.au \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.