xref: /linux/lib/vdso/Makefile (revision 3a39d672e7f48b8d6b91a09afa4b55352773b4b5)
100b26474SVincenzo Frascino# SPDX-License-Identifier: GPL-2.0
200b26474SVincenzo Frascino
300b26474SVincenzo FrascinoGENERIC_VDSO_MK_PATH := $(abspath $(lastword $(MAKEFILE_LIST)))
400b26474SVincenzo FrascinoGENERIC_VDSO_DIR := $(dir $(GENERIC_VDSO_MK_PATH))
500b26474SVincenzo Frascino
600b26474SVincenzo Frascinoc-gettimeofday-$(CONFIG_GENERIC_GETTIMEOFDAY) := $(addprefix $(GENERIC_VDSO_DIR), gettimeofday.c)
7*81723e3aSChristophe Leroyc-getrandom-$(CONFIG_VDSO_GETRANDOM) := $(addprefix $(GENERIC_VDSO_DIR), getrandom.c)
800b26474SVincenzo Frascino
9aff69273SFangrui Song# This cmd checks that the vdso library does not contain dynamic relocations.
1000b26474SVincenzo Frascino# It has to be called after the linking of the vdso library and requires it
1100b26474SVincenzo Frascino# as a parameter.
1200b26474SVincenzo Frascino#
13aff69273SFangrui Song# As a workaround for some GNU ld ports which produce unneeded R_*_NONE
14aff69273SFangrui Song# dynamic relocations, ignore R_*_NONE.
1500b26474SVincenzo Frascinoquiet_cmd_vdso_check = VDSOCHK $@
16aff69273SFangrui Song      cmd_vdso_check = if $(READELF) -rW $@ | grep -v _NONE | grep -q " R_\w*_"; \
1700b26474SVincenzo Frascino		       then (echo >&2 "$@: dynamic relocations are not supported"; \
1800b26474SVincenzo Frascino			     rm -f $@; /bin/false); fi
19