Loading...
1# SPDX-License-Identifier: GPL-2.0
2
3GENERIC_VDSO_MK_PATH := $(abspath $(lastword $(MAKEFILE_LIST)))
4GENERIC_VDSO_DIR := $(dir $(GENERIC_VDSO_MK_PATH))
5
6c-gettimeofday-$(CONFIG_GENERIC_GETTIMEOFDAY) := $(addprefix $(GENERIC_VDSO_DIR), gettimeofday.c)
7
8# This cmd checks that the vdso library does not contain absolute relocation
9# It has to be called after the linking of the vdso library and requires it
10# as a parameter.
11#
12# $(ARCH_REL_TYPE_ABS) is defined in the arch specific makefile and corresponds
13# to the absolute relocation types printed by "objdump -R" and accepted by the
14# dynamic linker.
15ifndef ARCH_REL_TYPE_ABS
16$(error ARCH_REL_TYPE_ABS is not set)
17endif
18
19quiet_cmd_vdso_check = VDSOCHK $@
20 cmd_vdso_check = if $(OBJDUMP) -R $@ | egrep -h "$(ARCH_REL_TYPE_ABS)"; \
21 then (echo >&2 "$@: dynamic relocations are not supported"; \
22 rm -f $@; /bin/false); fi
1# SPDX-License-Identifier: GPL-2.0
2
3GENERIC_VDSO_MK_PATH := $(abspath $(lastword $(MAKEFILE_LIST)))
4GENERIC_VDSO_DIR := $(dir $(GENERIC_VDSO_MK_PATH))
5
6c-gettimeofday-$(CONFIG_GENERIC_GETTIMEOFDAY) := $(addprefix $(GENERIC_VDSO_DIR), gettimeofday.c)
7c-getrandom-$(CONFIG_VDSO_GETRANDOM) := $(addprefix $(GENERIC_VDSO_DIR), getrandom.c)
8
9# This cmd checks that the vdso library does not contain dynamic relocations.
10# It has to be called after the linking of the vdso library and requires it
11# as a parameter.
12#
13# As a workaround for some GNU ld ports which produce unneeded R_*_NONE
14# dynamic relocations, ignore R_*_NONE.
15quiet_cmd_vdso_check = VDSOCHK $@
16 cmd_vdso_check = if $(READELF) -rW $@ | grep -v _NONE | grep -q " R_\w*_"; \
17 then (echo >&2 "$@: dynamic relocations are not supported"; \
18 rm -f $@; /bin/false); fi