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

Guo Ren guoren at kernel.org
Tue Jul 9 18:30:30 PDT 2024


On Fri, Jul 5, 2024 at 2:10 PM Alexandre Ghiti <alexghiti at rivosinc.com> 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 at kernel.org>

>
> Signed-off-by: Alexandre Ghiti <alexghiti at rivosinc.com>
> ---
>  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



More information about the linux-riscv mailing list