mirror of
https://github.com/torvalds/linux.git
synced 2026-09-25 21:21:09 -04:00
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 <[email protected]> Signed-off-by: Thomas Gleixner <[email protected]> Tested-by: Shijith Thotton <[email protected]> Tested-by: Andre Przywara <[email protected]> Cc: [email protected] Cc: [email protected] Cc: [email protected] Cc: [email protected] Cc: Catalin Marinas <[email protected]> Cc: Will Deacon <[email protected]> Cc: Arnd Bergmann <[email protected]> Cc: Russell King <[email protected]> Cc: Ralf Baechle <[email protected]> Cc: Paul Burton <[email protected]> Cc: Daniel Lezcano <[email protected]> Cc: Mark Salyzyn <[email protected]> Cc: Peter Collingbourne <[email protected]> Cc: Shuah Khan <[email protected]> Cc: Dmitry Safonov <[email protected]> Cc: Rasmus Villemoes <[email protected]> Cc: Huw Davies <[email protected]> Link: https://lkml.kernel.org/r/[email protected]
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
|