MIPS: VDSO: Fix build for binutils < 2.25
authorPaul Burton <paul.burton@mips.com>
Wed, 2 Oct 2019 17:46:36 +0000 (17:46 +0000)
committerPaul Burton <paul.burton@mips.com>
Wed, 2 Oct 2019 21:07:32 +0000 (14:07 -0700)
commit8919975b617197ebe39290d379caa02caf6bf3e3
tree4c04a668d3a112e867037829cae272f1240d9b84
parent90800281e761247d8096ab213c10d638602655f9
MIPS: VDSO: Fix build for binutils < 2.25

Versions of binutils prior to 2.25 are unable to link our VDSO due to an
unsupported R_MIPS_PC32 relocation generated by the ".word _start - ."
line of the inline asm in get_vdso_base(). As such, the intent is that
when building with binutils older than 2.25 we don't build code for
gettimeofday() & friends in the VDSO that rely upon get_vdso_base().

Commit 24640f233b46 ("mips: Add support for generic vDSO") converted us
to using generic VDSO infrastructure, and as part of that the
gettimeofday() functionality moved to a new vgettimeofday.c file. The
check for binutils < 2.25 wasn't updated to handle this new filename,
and so it continues trying to remove the old unused filename from the
build. The end result is that we try to include the gettimeofday() code
in builds that will fail to link.

Fix this by updating the binutils < 2.25 case to remove vgettimeofday.c
from obj-vdso-y, rather than gettimeofday.c.

Signed-off-by: Paul Burton <paul.burton@mips.com>
Fixes: 24640f233b46 ("mips: Add support for generic vDSO")
Cc: Vincenzo Frascino <vincenzo.frascino@arm.com>
Cc: linux-mips@vger.kernel.org
arch/mips/vdso/Makefile