[PATCH] riscv: Add -fPIC option to CFLAGS_vgettimeofday.o

Palmer Dabbelt palmer at dabbelt.com
Thu Jun 25 18:02:12 EDT 2020


On Mon, 22 Jun 2020 18:13:22 PDT (-0700), vincent.chen at sifive.com wrote:
> The time related vDSO functions use a variable, vdso_data, to access the
> vDSO data page to get the system time information. Because the vdso_data
> for CFLAGS_vgettimeofday.o is an external variable defined in vdso.o,
> the CFLAGS_vgettimeofday.o should be compiled with -fPIC to ensure
> that vdso_data is addressable.
>
> Reported-by: kernel test robot <lkp at intel.com>
> Signed-off-by: Vincent Chen <vincent.chen at sifive.com>
> ---
>  arch/riscv/kernel/vdso/Makefile | 2 +-
>  1 file changed, 1 insertion(+), 1 deletion(-)
>
> diff --git a/arch/riscv/kernel/vdso/Makefile b/arch/riscv/kernel/vdso/Makefile
> index 38ba55b0eb9d..29cf052f6541 100644
> --- a/arch/riscv/kernel/vdso/Makefile
> +++ b/arch/riscv/kernel/vdso/Makefile
> @@ -17,7 +17,7 @@ vdso-syms += flush_icache
>  obj-vdso = $(patsubst %, %.o, $(vdso-syms)) note.o
>
>  ifneq ($(c-gettimeofday-y),)
> -  CFLAGS_vgettimeofday.o += -include $(c-gettimeofday-y)
> +  CFLAGS_vgettimeofday.o += -fPIC -include $(c-gettimeofday-y)
>  endif
>
>  # Build rules

Presumably this should apply to all the C files compiled into the VDSO, but as
that's the only one this is fine for now.  I don't know enough build system
wizardry to make that happen, so I guess we'll have to wait until we get a
second C file :)

This is on fixes.

Thanks!



More information about the linux-riscv mailing list