kernel_optimize_test/arch/mips/vdso
Nathan Chancellor 22235ef34a MIPS: VDSO: Allow ld.lld to link the VDSO
Currently, when linking with ld.lld, this warning pops up:

    arch/mips/vdso/Makefile:70: MIPS VDSO requires binutils >= 2.25

CONFIG_LD_VERSION is set with scripts/ld-version.sh, which is specific
to GNU ld. It returns 0 for ld.lld so CONFIG_MIPS_LD_CAN_LINK_VDSO does
not set.

ld.lld has a completely different versioning scheme (as it follows
LLVM's versioning) and it does not have the issue mentioned in the
comment block so it should be allowed to link the VDSO.

With this patch, the VDSO successfully links and shows P_MIPS_PC32 in
vgettimeofday.o.

$ llvm-objdump -Dr arch/mips/vdso/vgettimeofday.o | grep R_MIPS_PC32
			00000024:  R_MIPS_PC32	_start
			000000b0:  R_MIPS_PC32	_start
			000002bc:  R_MIPS_PC32	_start
			0000036c:  R_MIPS_PC32	_start
			00000468:  R_MIPS_PC32	_start

Reported-by: Dmitry Golovin <dima@golovin.in>
Signed-off-by: Nathan Chancellor <natechancellor@gmail.com>
Link: https://github.com/ClangBuiltLinux/linux/issues/785
Link: e364e2e9ce
Signed-off-by: Thomas Bogendoerfer <tsbogend@alpha.franken.de>
2020-05-12 10:02:11 +02:00
..
.gitignore .gitignore: add SPDX License Identifier 2020-03-25 11:50:48 +01:00
config-n32-o32-env.c mips: compat: vdso: Use legacy syscalls as fallback 2019-09-03 15:35:23 +01:00
elf.S
genvdso.c mips/vdso: Support mremap() for vDSO 2020-01-15 10:44:14 -08:00
genvdso.h
Kconfig MIPS: VDSO: Allow ld.lld to link the VDSO 2020-05-12 10:02:11 +02:00
Makefile MIPS: VDSO: Use $(LD) instead of $(CC) to link VDSO 2020-05-12 10:02:00 +02:00
sigreturn.S
vdso.lds.S MIPS: VDSO: Move disabling the VDSO logic to Kconfig 2020-05-12 10:01:45 +02:00
vgettimeofday.c mips: Fix gettimeofday() in the vdso library 2019-12-02 10:50:37 -08:00