| 1234567891011121314151617181920212223242526272829303132333435363738394041424344 |
- # SPDX-License-Identifier: GPL-2.0
- # ===========================================================================
- # Post-link x86 pass
- # ===========================================================================
- #
- # 1. Separate relocations from vmlinux into vmlinux.relocs.
- # 2. Strip relocations from vmlinux.
- PHONY := __archpost
- __archpost:
- -include include/config/auto.conf
- include $(srctree)/scripts/Kbuild.include
- CMD_RELOCS = arch/x86/tools/relocs
- OUT_RELOCS = arch/x86/boot/compressed
- quiet_cmd_relocs = RELOCS $(OUT_RELOCS)/$@.relocs
- cmd_relocs = \
- mkdir -p $(OUT_RELOCS); \
- $(CMD_RELOCS) $@ > $(OUT_RELOCS)/$@.relocs; \
- $(CMD_RELOCS) --abs-relocs $@
- quiet_cmd_strip_relocs = RSTRIP $@
- cmd_strip_relocs = \
- $(OBJCOPY) --remove-section='.rel.*' --remove-section='.rel__*' \
- --remove-section='.rela.*' --remove-section='.rela__*' $@
- # `@true` prevents complaint when there is nothing to be done
- vmlinux: FORCE
- @true
- ifeq ($(CONFIG_X86_NEED_RELOCS),y)
- $(call cmd,relocs)
- $(call cmd,strip_relocs)
- endif
- clean:
- @rm -f $(OUT_RELOCS)/vmlinux.relocs
- PHONY += FORCE clean
- FORCE:
- .PHONY: $(PHONY)
|