mirror of
https://mirrors.bfsu.edu.cn/git/linux.git
synced 2024-12-15 23:14:31 +08:00
00b26474c2
In the last few years the kernel gained quite some architecture specific vdso implementations which contain very similar code. Introduce a generic VDSO implementation of gettimeofday() which will be shareable between architectures once they are converted over. The implementation is based on the current x86 VDSO code. [ tglx: Massaged changelog and made the kernel doc tabular ] Signed-off-by: Vincenzo Frascino <vincenzo.frascino@arm.com> Signed-off-by: Thomas Gleixner <tglx@linutronix.de> Tested-by: Shijith Thotton <sthotton@marvell.com> Tested-by: Andre Przywara <andre.przywara@arm.com> Cc: linux-arch@vger.kernel.org Cc: linux-arm-kernel@lists.infradead.org Cc: linux-mips@vger.kernel.org Cc: linux-kselftest@vger.kernel.org Cc: Catalin Marinas <catalin.marinas@arm.com> Cc: Will Deacon <will.deacon@arm.com> Cc: Arnd Bergmann <arnd@arndb.de> Cc: Russell King <linux@armlinux.org.uk> Cc: Ralf Baechle <ralf@linux-mips.org> Cc: Paul Burton <paul.burton@mips.com> Cc: Daniel Lezcano <daniel.lezcano@linaro.org> Cc: Mark Salyzyn <salyzyn@android.com> Cc: Peter Collingbourne <pcc@google.com> Cc: Shuah Khan <shuah@kernel.org> Cc: Dmitry Safonov <0x7f454c46@gmail.com> Cc: Rasmus Villemoes <linux@rasmusvillemoes.dk> Cc: Huw Davies <huw@codeweavers.com> Link: https://lkml.kernel.org/r/20190621095252.32307-3-vincenzo.frascino@arm.com
23 lines
890 B
Makefile
23 lines
890 B
Makefile
# SPDX-License-Identifier: GPL-2.0
|
|
|
|
GENERIC_VDSO_MK_PATH := $(abspath $(lastword $(MAKEFILE_LIST)))
|
|
GENERIC_VDSO_DIR := $(dir $(GENERIC_VDSO_MK_PATH))
|
|
|
|
c-gettimeofday-$(CONFIG_GENERIC_GETTIMEOFDAY) := $(addprefix $(GENERIC_VDSO_DIR), gettimeofday.c)
|
|
|
|
# This cmd checks that the vdso library does not contain absolute relocation
|
|
# It has to be called after the linking of the vdso library and requires it
|
|
# as a parameter.
|
|
#
|
|
# $(ARCH_REL_TYPE_ABS) is defined in the arch specific makefile and corresponds
|
|
# to the absolute relocation types printed by "objdump -R" and accepted by the
|
|
# dynamic linker.
|
|
ifndef ARCH_REL_TYPE_ABS
|
|
$(error ARCH_REL_TYPE_ABS is not set)
|
|
endif
|
|
|
|
quiet_cmd_vdso_check = VDSOCHK $@
|
|
cmd_vdso_check = if $(OBJDUMP) -R $@ | egrep -h "$(ARCH_REL_TYPE_ABS)"; \
|
|
then (echo >&2 "$@: dynamic relocations are not supported"; \
|
|
rm -f $@; /bin/false); fi
|