[Makefile] Check vdso.so only when it has been built

This commit is contained in:
Simon Gaiser
2019-08-14 00:50:29 +02:00
committed by Michał Kowalczyk
parent 517be2a241
commit 2c340b75d5
3 changed files with 14 additions and 15 deletions
+11 -13
View File
@@ -127,28 +127,26 @@ LDFLAGS-vdso/vdso.so.dbg = -nostdlib -shared \
-z max-page-size=4096 -z common-page-size=4096 \
-T vdso/vdso.lds -soname linux-vdso.so.1
vdso/vdso.so.dbg: LDFLAGS =
vdso/vdso.so.dbg: vdso/vdso.lds vdso/vdso.o vdso/vdso-note.o | vdso-check-no-reloc
vdso/vdso.so.dbg: vdso/vdso.lds vdso/vdso.o vdso/vdso-note.o | vdso/.vdso-no-reloc-checked
$(call cmd,ld)
#
# vdso.so is required to have no relocations.
# this rule checks it.
#
vdso-check-no-reloc: vdso/.vdso.so
# vdso.so is required to have no relocations. This rule checks it.
# Use default linker script to retain relocations if exist.
LDFLAGS-vdso/.vdso-linked-for-reloc-check.so = -nostdlib -shared -Bsymbolic
vdso/.vdso-linked-for-reloc-check.so: LDFLAGS =
vdso/.vdso-linked-for-reloc-check.so: vdso/vdso.o
$(call cmd,ld)
vdso/.vdso-no-reloc-checked: vdso/.vdso-linked-for-reloc-check.so
$(call cmd,check_no_reloc)
# use default linker script to retain relocations if exist.
LDFLAGS-vdso/.vdso.so = -nostdlib -shared -Bsymbolic
vdso/.vdso.so: LDFLAGS =
vdso/.vdso.so: vdso/vdso.o
$(call cmd,ld)
$Q touch $@
OBJCOPYFLAGS-vdso/vdso.so = -S
vdso/vdso.so: vdso/vdso.so.dbg
$(call cmd,objcopy)
vdso/vdso-data.o: vdso/vdso.so
CLEAN_FILES += vdso/vdso.so.dbg vdso/vdso.so vdso/.vdso.so
CLEAN_FILES += vdso/vdso.so.dbg vdso/vdso.so vdso/.vdso-linked-for-reloc-check.so vdso/.vdso-no-reloc-checked
clean:
rm -rf $(addsuffix .o,$(all_objs)) $(addsuffix .d,$(all_objs)) \
+2 -1
View File
@@ -1,3 +1,4 @@
/.vdso.so
/.vdso-linked-for-reloc-check.so
/.vdso-no-reloc-checked
/vdso-data.c
/vdso.so.dbg
+1 -1
View File
@@ -112,5 +112,5 @@ quiet_cmd_objcopy = [ $@ ]
# check_no_reloc
# This depends on the output of readelf command.
quiet_cmd_check_no_reloc = [ $@ ]
quiet_cmd_check_no_reloc = [ check_no_reloc $^ ]
cmd_check_no_reloc = LC_ALL=C readelf -r $^ | grep -q 'There are no relocations in this file.'