^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1) # SPDX-License-Identifier: GPL-2.0
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2) # ===========================================================================
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 3) # Post-link powerpc pass
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 4) # ===========================================================================
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 5) #
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 6) # 1. Check that vmlinux relocations look sane
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 7)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 8) PHONY := __archpost
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 9) __archpost:
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 10)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 11) -include include/config/auto.conf
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 12) include scripts/Kbuild.include
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 13)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 14) quiet_cmd_head_check = CHKHEAD $@
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 15) cmd_head_check = $(CONFIG_SHELL) $(srctree)/arch/powerpc/tools/head_check.sh "$(NM)" "$@"
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 16)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 17) quiet_cmd_relocs_check = CHKREL $@
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 18) ifdef CONFIG_PPC_BOOK3S_64
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 19) cmd_relocs_check = \
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 20) $(CONFIG_SHELL) $(srctree)/arch/powerpc/tools/relocs_check.sh "$(OBJDUMP)" "$(NM)" "$@" ; \
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 21) $(BASH) $(srctree)/arch/powerpc/tools/unrel_branch_check.sh "$(OBJDUMP)" "$(NM)" "$@"
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 22) else
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 23) cmd_relocs_check = \
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 24) $(CONFIG_SHELL) $(srctree)/arch/powerpc/tools/relocs_check.sh "$(OBJDUMP)" "$(NM)" "$@"
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 25) endif
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 26)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 27) # `@true` prevents complaint when there is nothing to be done
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 28)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 29) vmlinux: FORCE
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 30) @true
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 31) ifdef CONFIG_PPC64
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 32) $(call cmd,head_check)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 33) endif
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 34) ifdef CONFIG_RELOCATABLE
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 35) $(call if_changed,relocs_check)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 36) endif
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 37)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 38) %.ko: FORCE
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 39) @true
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 40)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 41) clean:
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 42) rm -f .tmp_symbols.txt
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 43)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 44) PHONY += FORCE clean
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 45)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 46) FORCE:
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 47)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 48) .PHONY: $(PHONY)