linux/arch/x86/Makefile.postlink
<<
>>
Prefs
   1# SPDX-License-Identifier: GPL-2.0
   2# ===========================================================================
   3# Post-link x86 pass
   4# ===========================================================================
   5#
   6# 1. Separate relocations from vmlinux into vmlinux.relocs.
   7# 2. Strip relocations from vmlinux.
   8
   9PHONY := __archpost
  10__archpost:
  11
  12-include include/config/auto.conf
  13include $(srctree)/scripts/Kbuild.include
  14
  15CMD_RELOCS = arch/x86/tools/relocs
  16OUT_RELOCS = arch/x86/boot/compressed
  17quiet_cmd_relocs = RELOCS  $(OUT_RELOCS)/$@.relocs
  18      cmd_relocs = \
  19        mkdir -p $(OUT_RELOCS); \
  20        $(CMD_RELOCS) $@ > $(OUT_RELOCS)/$@.relocs; \
  21        $(CMD_RELOCS) --abs-relocs $@
  22
  23quiet_cmd_strip_relocs = RSTRIP  $@
  24      cmd_strip_relocs = \
  25        $(OBJCOPY) --remove-section='.rel.*' --remove-section='.rel__*' \
  26                   --remove-section='.rela.*' --remove-section='.rela__*' $@
  27
  28# `@true` prevents complaint when there is nothing to be done
  29
  30vmlinux: FORCE
  31        @true
  32ifeq ($(CONFIG_X86_NEED_RELOCS),y)
  33        $(call cmd,relocs)
  34        $(call cmd,strip_relocs)
  35endif
  36
  37clean:
  38        @rm -f $(OUT_RELOCS)/vmlinux.relocs
  39
  40PHONY += FORCE clean
  41
  42FORCE:
  43
  44.PHONY: $(PHONY)
  45