xref: /linux/arch/powerpc/Makefile.postlink (revision 60675d4ca1ef0857e44eba5849b74a3a998d0c0f)
1b2441318SGreg Kroah-Hartman# SPDX-License-Identifier: GPL-2.0
2f188d052SNicholas Piggin# ===========================================================================
3f188d052SNicholas Piggin# Post-link powerpc pass
4f188d052SNicholas Piggin# ===========================================================================
5f188d052SNicholas Piggin#
6f188d052SNicholas Piggin# 1. Check that vmlinux relocations look sane
7f188d052SNicholas Piggin
8f188d052SNicholas PigginPHONY := __archpost
9f188d052SNicholas Piggin__archpost:
10f188d052SNicholas Piggin
1124e0bfbfSHoria Geantă-include include/config/auto.conf
1267d7c302SMasahiro Yamadainclude $(srctree)/scripts/Kbuild.include
13f188d052SNicholas Piggin
14c494adefSNicholas Pigginquiet_cmd_head_check = CHKHEAD $@
15c494adefSNicholas Piggin      cmd_head_check = $(CONFIG_SHELL) $(srctree)/arch/powerpc/tools/head_check.sh "$(NM)" "$@"
16c494adefSNicholas Piggin
17f188d052SNicholas Pigginquiet_cmd_relocs_check = CHKREL  $@
184ea80652SNicholas Pigginifdef CONFIG_PPC_BOOK3S_64
194ea80652SNicholas Piggin      cmd_relocs_check =						\
2043e76cd3SAlexandre Ghiti	$(CONFIG_SHELL) $(srctree)/arch/powerpc/tools/relocs_check.sh "$(OBJDUMP)" "$(NM)" "$@" ; \
21b71dca98SStephen Rothwell	$(BASH) $(srctree)/arch/powerpc/tools/unrel_branch_check.sh "$(OBJDUMP)" "$(NM)" "$@"
224ea80652SNicholas Pigginelse
234ea80652SNicholas Piggin      cmd_relocs_check =						\
2443e76cd3SAlexandre Ghiti	$(CONFIG_SHELL) $(srctree)/arch/powerpc/tools/relocs_check.sh "$(OBJDUMP)" "$(NM)" "$@"
254ea80652SNicholas Pigginendif
26f188d052SNicholas Piggin
27*782f46cbSNaveen N Raoquiet_cmd_ftrace_check = CHKFTRC $@
28*782f46cbSNaveen N Rao      cmd_ftrace_check = $(CONFIG_SHELL) $(srctree)/arch/powerpc/tools/ftrace_check.sh "$(NM)" "$@"
29*782f46cbSNaveen N Rao
30f188d052SNicholas Piggin# `@true` prevents complaint when there is nothing to be done
31f188d052SNicholas Piggin
32f188d052SNicholas Pigginvmlinux: FORCE
33f188d052SNicholas Piggin	@true
34c494adefSNicholas Pigginifdef CONFIG_PPC64
35c494adefSNicholas Piggin	$(call cmd,head_check)
36c494adefSNicholas Pigginendif
37f188d052SNicholas Pigginifdef CONFIG_RELOCATABLE
38f188d052SNicholas Piggin	$(call if_changed,relocs_check)
39f188d052SNicholas Pigginendif
40*782f46cbSNaveen N Raoifdef CONFIG_FUNCTION_TRACER
41*782f46cbSNaveen N Raoifndef CONFIG_PPC64_ELF_ABI_V1
42*782f46cbSNaveen N Rao	$(call cmd,ftrace_check)
43*782f46cbSNaveen N Raoendif
44*782f46cbSNaveen N Raoendif
45f188d052SNicholas Piggin
46f188d052SNicholas Pigginclean:
47c494adefSNicholas Piggin	rm -f .tmp_symbols.txt
48f188d052SNicholas Piggin
49f188d052SNicholas PigginPHONY += FORCE clean
50f188d052SNicholas Piggin
51f188d052SNicholas PigginFORCE:
52f188d052SNicholas Piggin
53f188d052SNicholas Piggin.PHONY: $(PHONY)
54