Re: [PATCH v2 1/2] riscv: vdso: Prevent gcc from inserting calls to memset()

From: Guo Ren
Date: Tue Jul 09 2024 - 21:30:49 EST


On Fri, Jul 5, 2024 at 2:10 PM Alexandre Ghiti <alexghiti@xxxxxxxxxxxx> wrote:
>
> gcc is smart enough to insert a call to memset() in
> riscv_vdso_get_cpus(), which generates a dynamic relocation.
>
> So prevent gcc from doing that by using the
> -fno-tree-loop-distribute-patterns option.
Good catch. I think we could put a comment on
"-fno-tree-loop-distribute-patterns". eg: Perform loop distribution of
patterns that can be code generated with calls to a library.

Others, LGTM!

Reviewed-by: Guo Ren <guoren@xxxxxxxxxx>

>
> Signed-off-by: Alexandre Ghiti <alexghiti@xxxxxxxxxxxx>
> ---
> arch/riscv/kernel/vdso/Makefile | 1 +
> 1 file changed, 1 insertion(+)
>
> diff --git a/arch/riscv/kernel/vdso/Makefile b/arch/riscv/kernel/vdso/Makefile
> index f7ef8ad9b550..c7e40bf36371 100644
> --- a/arch/riscv/kernel/vdso/Makefile
> +++ b/arch/riscv/kernel/vdso/Makefile
> @@ -18,6 +18,7 @@ obj-vdso = $(patsubst %, %.o, $(vdso-syms)) note.o
>
> ccflags-y := -fno-stack-protector
> ccflags-y += -DDISABLE_BRANCH_PROFILING
> +ccflags-y += -fno-tree-loop-distribute-patterns
>
> ifneq ($(c-gettimeofday-y),)
> CFLAGS_vgettimeofday.o += -fPIC -include $(c-gettimeofday-y)
> --
> 2.39.2
>


--
Best Regards
Guo Ren