[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <023afd0c-dc61-5891-5145-5bcdce8227be@prevas.dk>
Date: Mon, 15 Mar 2021 17:23:44 +0100
From: Rasmus Villemoes <rasmus.villemoes@...vas.dk>
To: Segher Boessenkool <segher@...nel.crashing.org>,
Christophe Leroy <christophe.leroy@...roup.eu>
Cc: Benjamin Herrenschmidt <benh@...nel.crashing.org>,
Paul Mackerras <paulus@...ba.org>,
Michael Ellerman <mpe@...erman.id.au>,
linux-kernel@...r.kernel.org, linuxppc-dev@...ts.ozlabs.org
Subject: Re: [PATCH] powerpc/vdso32: Add missing _restgpr_31_x to fix build
failure
On 12/03/2021 03.29, Segher Boessenkool wrote:
> Hi!
>
> On Tue, Mar 09, 2021 at 06:19:30AM +0000, Christophe Leroy wrote:
>> 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.
>
>> 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.
>
> The function is required by the ABI, you need to have it.
>
> You get *fewer* insns statically, and that is what -Os is about: reduce
> the size of the binaries.
Is there any reason to not just always build the vdso with -O2? It's one
page/one VMA either way, and the vdso is about making certain system
calls cheaper, so if unconditional -O2 could save a few cycles compared
to -Os, why not? (And if, as it seems, there's only one user within the
DSO of _restgpr_31_x, yes, the overall size of the .text segment
probably increases slightly).
Rasmus
Powered by blists - more mailing lists