linuxppc-dev.lists.ozlabs.org archive mirror
 help / color / mirror / Atom feed
From: Nicholas Piggin <npiggin@gmail.com>
To: linuxppc-dev@lists.ozlabs.org
Cc: Nicholas Piggin <npiggin@gmail.com>,
	Stephen Rothwell <sfr@canb.auug.org.au>
Subject: [PATCH 1/7] powerpc: use the new post-link pass to check relocations
Date: Wed, 19 Oct 2016 14:15:54 +1100	[thread overview]
Message-ID: <20161019031600.17933-2-npiggin@gmail.com> (raw)
In-Reply-To: <20161019031600.17933-1-npiggin@gmail.com>

Currently powerpc has to introduce a dependency on its default build
target zImage in order to run a relocation check pass over the linked
vmlinux. This is deficient because the check is not run if the plain
vmlinux target is built, or if one of the other boot targets is built.

Switch to using the kbuild post-link pass in order to run this check.

Signed-off-by: Nicholas Piggin <npiggin@gmail.com>
---
 arch/powerpc/Makefile          | 11 -----------
 arch/powerpc/Makefile.postlink | 34 ++++++++++++++++++++++++++++++++++
 2 files changed, 34 insertions(+), 11 deletions(-)
 create mode 100644 arch/powerpc/Makefile.postlink

diff --git a/arch/powerpc/Makefile b/arch/powerpc/Makefile
index 617dece..314dd77 100644
--- a/arch/powerpc/Makefile
+++ b/arch/powerpc/Makefile
@@ -263,17 +263,6 @@ PHONY += $(BOOT_TARGETS1) $(BOOT_TARGETS2)
 
 boot := arch/$(ARCH)/boot
 
-ifeq ($(CONFIG_RELOCATABLE),y)
-quiet_cmd_relocs_check = CALL    $<
-      cmd_relocs_check = $(CONFIG_SHELL) $< "$(OBJDUMP)" "$(obj)/vmlinux"
-
-PHONY += relocs_check
-relocs_check: arch/powerpc/relocs_check.sh vmlinux
-	$(call cmd,relocs_check)
-
-zImage: relocs_check
-endif
-
 $(BOOT_TARGETS1): vmlinux
 	$(Q)$(MAKE) ARCH=ppc64 $(build)=$(boot) $(patsubst %,$(boot)/%,$@)
 $(BOOT_TARGETS2): vmlinux
diff --git a/arch/powerpc/Makefile.postlink b/arch/powerpc/Makefile.postlink
new file mode 100644
index 0000000..f90bdc0
--- /dev/null
+++ b/arch/powerpc/Makefile.postlink
@@ -0,0 +1,34 @@
+# ===========================================================================
+# Post-link powerpc pass
+# ===========================================================================
+#
+# 1. Check that vmlinux relocations look sane
+
+PHONY := __archpost
+__archpost:
+
+include include/config/auto.conf
+include scripts/Kbuild.include
+
+quiet_cmd_relocs_check = CHKREL  $@
+      cmd_relocs_check = $(CONFIG_SHELL) $(srctree)/arch/powerpc/relocs_check.sh "$(OBJDUMP)" "$@"
+
+# `@true` prevents complaint when there is nothing to be done
+
+vmlinux: FORCE
+	@true
+ifeq ($(CONFIG_RELOCATABLE),y)
+	$(call if_changed,relocs_check)
+endif
+
+%.ko: FORCE
+	@true
+
+clean:
+	@true
+
+PHONY += FORCE clean
+
+FORCE:
+
+.PHONY: $(PHONY)
-- 
2.9.3

  reply	other threads:[~2016-10-19  3:16 UTC|newest]

Thread overview: 22+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2016-10-19  3:15 [PATCH 0/7] build updates Nicholas Piggin
2016-10-19  3:15 ` Nicholas Piggin [this message]
2016-10-19  3:15 ` [PATCH 2/7] powerpc: add arch/powerpc/tools directory Nicholas Piggin
2016-10-19  3:15 ` [PATCH 3/7] powerpc/64s: tool to flag direct branches from unrelocated interrupt vectors Nicholas Piggin
2016-10-19  4:28   ` Balbir Singh
2016-10-19  6:01     ` Nicholas Piggin
2016-10-19 10:57   ` Michael Ellerman
2016-10-19  3:15 ` [PATCH 4/7] powerpc/64: tool to check head sections location sanity Nicholas Piggin
2016-11-15  0:55   ` Michael Ellerman
2016-11-22  4:54     ` Nicholas Piggin
2016-11-22  5:56       ` Michael Ellerman
2016-10-19  3:15 ` [PATCH 5/7] powerpc/64: handle linker stubs in low .text code Nicholas Piggin
2016-10-19  3:15 ` [PATCH 6/7] powerpc: switch to using thin archives if COMPILE_TEST is set Nicholas Piggin
2016-10-19  5:57   ` Stephen Rothwell
2016-10-19  9:26     ` Nicholas Piggin
2016-10-19 11:00   ` Michael Ellerman
2016-10-20  3:48     ` Nicholas Piggin
2016-11-22  0:34   ` [6/7] " Michael Ellerman
2016-10-19  3:16 ` [PATCH 7/7] powerpc/64: allow CONFIG_RELOCATABLE if COMPILE_TEST Nicholas Piggin
2017-05-03 22:18   ` [7/7] " Michael Ellerman
2016-10-19  7:44 ` [PATCH 0/7] build updates Nicholas Piggin
2016-10-21  6:35   ` [PATCH 0/7] build updates (and RFC on one-pass kallsyms generation) Nicholas Piggin

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20161019031600.17933-2-npiggin@gmail.com \
    --to=npiggin@gmail.com \
    --cc=linuxppc-dev@lists.ozlabs.org \
    --cc=sfr@canb.auug.org.au \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).