Revert "arm64: Fix vdso-offsets.h dependency"
authorCatalin Marinas <catalin.marinas@arm.com>
Mon, 11 Jul 2016 16:04:13 +0000 (17:04 +0100)
committerCatalin Marinas <catalin.marinas@arm.com>
Mon, 11 Jul 2016 16:04:13 +0000 (17:04 +0100)
This reverts commit 90f777beb788d08300f4a1482cb4fd37a401b472.

While this commit was aimed at fixing the dependencies, with a large
make -j the vdso-offsets.h file is not generated, leading to build
failures.

Signed-off-by: Catalin Marinas <catalin.marinas@arm.com>
arch/arm64/kernel/Makefile
arch/arm64/kernel/vdso/Makefile

index efffc231a244bfb4f8ed112f2a3757b9bdb1fee4..7700c0c2396295ac20e2a426ef2e2f8558852741 100644 (file)
@@ -54,7 +54,6 @@ obj-m                                 += $(arm64-obj-m)
 head-y                                 := head.o
 extra-y                                        += $(head-y) vmlinux.lds
 
-# Check that the vDSO symbol offsets header file is up to date and re-generate
-# it if necessary.
-$(objtree)/include/generated/vdso-offsets.h: FORCE
-       $(Q)$(MAKE) $(build)=$(obj)/vdso $@
+# vDSO - this must be built first to generate the symbol offsets
+$(call objectify,$(arm64-obj-y)): $(obj)/vdso/vdso-offsets.h
+$(obj)/vdso/vdso-offsets.h: $(obj)/vdso
index 2854337202027322d97b9f3a0eba7c1f8f253893..b467fd0a384b36b87fe76ef7e50b4a28bda8bd01 100644 (file)
@@ -23,7 +23,7 @@ GCOV_PROFILE := n
 ccflags-y += -Wl,-shared
 
 obj-y += vdso.o
-extra-y += vdso.lds
+extra-y += vdso.lds vdso-offsets.h
 CPPFLAGS_vdso.lds += -P -C -U$(ARCH)
 
 # Force dependency (incbin is bad)
@@ -42,10 +42,11 @@ $(obj)/%.so: $(obj)/%.so.dbg FORCE
 gen-vdsosym := $(srctree)/$(src)/gen_vdso_offsets.sh
 quiet_cmd_vdsosym = VDSOSYM $@
 define cmd_vdsosym
-       $(NM) $< | $(gen-vdsosym) | LC_ALL=C sort > $@
+       $(NM) $< | $(gen-vdsosym) | LC_ALL=C sort > $@ && \
+       cp $@ include/generated/
 endef
 
-$(objtree)/include/generated/vdso-offsets.h: $(obj)/vdso.so.dbg FORCE
+$(obj)/vdso-offsets.h: $(obj)/vdso.so.dbg FORCE
        $(call if_changed,vdsosym)
 
 # Assembly rules for the .S files