[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