19d9173e9SPetr Pavlu# SPDX-License-Identifier: GPL-2.0 29d9173e9SPetr Pavlu# =========================================================================== 39d9173e9SPetr Pavlu# Post-link x86 pass 49d9173e9SPetr Pavlu# =========================================================================== 59d9173e9SPetr Pavlu# 69d9173e9SPetr Pavlu# 1. Separate relocations from vmlinux into vmlinux.relocs. 79d9173e9SPetr Pavlu# 2. Strip relocations from vmlinux. 89d9173e9SPetr Pavlu 99d9173e9SPetr PavluPHONY := __archpost 109d9173e9SPetr Pavlu__archpost: 119d9173e9SPetr Pavlu 129d9173e9SPetr Pavlu-include include/config/auto.conf 139d9173e9SPetr Pavluinclude $(srctree)/scripts/Kbuild.include 14*71d815bfSArd Biesheuvelinclude $(srctree)/scripts/Makefile.lib 159d9173e9SPetr Pavlu 169d9173e9SPetr PavluCMD_RELOCS = arch/x86/tools/relocs 179d9173e9SPetr PavluOUT_RELOCS = arch/x86/boot/compressed 189d9173e9SPetr Pavluquiet_cmd_relocs = RELOCS $(OUT_RELOCS)/$@.relocs 199d9173e9SPetr Pavlu cmd_relocs = \ 209d9173e9SPetr Pavlu mkdir -p $(OUT_RELOCS); \ 219d9173e9SPetr Pavlu $(CMD_RELOCS) $@ > $(OUT_RELOCS)/$@.relocs; \ 229d9173e9SPetr Pavlu $(CMD_RELOCS) --abs-relocs $@ 239d9173e9SPetr Pavlu 249d9173e9SPetr Pavlu# `@true` prevents complaint when there is nothing to be done 259d9173e9SPetr Pavlu 269d9173e9SPetr Pavluvmlinux: FORCE 279d9173e9SPetr Pavlu @true 289d9173e9SPetr Pavluifeq ($(CONFIG_X86_NEED_RELOCS),y) 299d9173e9SPetr Pavlu $(call cmd,relocs) 309d9173e9SPetr Pavlu $(call cmd,strip_relocs) 319d9173e9SPetr Pavluendif 329d9173e9SPetr Pavlu 339d9173e9SPetr Pavluclean: 349d9173e9SPetr Pavlu @rm -f $(OUT_RELOCS)/vmlinux.relocs 359d9173e9SPetr Pavlu 369d9173e9SPetr PavluPHONY += FORCE clean 379d9173e9SPetr Pavlu 389d9173e9SPetr PavluFORCE: 399d9173e9SPetr Pavlu 409d9173e9SPetr Pavlu.PHONY: $(PHONY) 41