^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1) # SPDX-License-Identifier: GPL-2.0
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 3) GENERIC_VDSO_MK_PATH := $(abspath $(lastword $(MAKEFILE_LIST)))
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 4) GENERIC_VDSO_DIR := $(dir $(GENERIC_VDSO_MK_PATH))
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 5)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 6) c-gettimeofday-$(CONFIG_GENERIC_GETTIMEOFDAY) := $(addprefix $(GENERIC_VDSO_DIR), gettimeofday.c)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 7)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 8) # This cmd checks that the vdso library does not contain absolute relocation
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 9) # It has to be called after the linking of the vdso library and requires it
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 10) # as a parameter.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 11) #
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 12) # $(ARCH_REL_TYPE_ABS) is defined in the arch specific makefile and corresponds
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 13) # to the absolute relocation types printed by "objdump -R" and accepted by the
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 14) # dynamic linker.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 15) ifndef ARCH_REL_TYPE_ABS
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 16) $(error ARCH_REL_TYPE_ABS is not set)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 17) endif
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 18)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 19) quiet_cmd_vdso_check = VDSOCHK $@
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 20) cmd_vdso_check = if $(OBJDUMP) -R $@ | egrep -h "$(ARCH_REL_TYPE_ABS)"; \
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 21) then (echo >&2 "$@: dynamic relocations are not supported"; \
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 22) rm -f $@; /bin/false); fi