[PATCH] riscv: disable stack-protector for vDSO

Palmer Dabbelt palmer at dabbelt.com
Thu Jul 30 23:58:14 EDT 2020


On Wed, 29 Jul 2020 00:51:29 PDT (-0700), tklauser at distanz.ch wrote:
> Currently, building the vDSO with clang leads assembler errors like the
> following:
>
>   /tmp/vgettimeofday-1ae0d2.s: Assembler messages:
>   /tmp/vgettimeofday-1ae0d2.s:28: Error: bad expression
>   /tmp/vgettimeofday-1ae0d2.s:28: Error: illegal operands `auipc a2,%got_pcrel_hi(__stack_chk_guard)'
>
> Disable the stack-protector for vDSO to fix these.
>
> Link: https://github.com/ClangBuiltLinux/linux/issues/1112
> Signed-off-by: Tobias Klauser <tklauser at distanz.ch>
> ---
>  arch/riscv/kernel/vdso/Makefile | 2 ++
>  1 file changed, 2 insertions(+)
>
> diff --git a/arch/riscv/kernel/vdso/Makefile b/arch/riscv/kernel/vdso/Makefile
> index c8c9e40023c6..478e7338ddc1 100644
> --- a/arch/riscv/kernel/vdso/Makefile
> +++ b/arch/riscv/kernel/vdso/Makefile
> @@ -16,6 +16,8 @@ vdso-syms += flush_icache
>  # Files to link into the vdso
>  obj-vdso = $(patsubst %, %.o, $(vdso-syms)) note.o
>
> +ccflags-y := -fno-stack-protector
> +
>  ifneq ($(c-gettimeofday-y),)
>    CFLAGS_vgettimeofday.o += -fPIC -include $(c-gettimeofday-y)
>  endif

Thanks, this is on fixes.



More information about the linux-riscv mailing list