1 # SPDX-License-Identifier: GPL-2.0 1 # SPDX-License-Identifier: GPL-2.0 2 # ============================================ 2 # =========================================================================== 3 # Post-link riscv pass !! 3 # Post-link MIPS pass 4 # ============================================ 4 # =========================================================================== 5 # 5 # 6 # Check that vmlinux relocations look sane !! 6 # 1. Check that Loongson3 LL/SC workarounds are applied correctly >> 7 # 2. Insert relocations into vmlinux 7 8 8 PHONY := __archpost 9 PHONY := __archpost 9 __archpost: 10 __archpost: 10 11 11 -include include/config/auto.conf 12 -include include/config/auto.conf 12 include $(srctree)/scripts/Kbuild.include 13 include $(srctree)/scripts/Kbuild.include 13 14 14 quiet_cmd_relocs_check = CHKREL $@ !! 15 CMD_LS3_LLSC = arch/mips/tools/loongson3-llsc-check 15 cmd_relocs_check = !! 16 quiet_cmd_ls3_llsc = LLSCCHK $@ 16 $(CONFIG_SHELL) $(srctree)/arch/riscv/ !! 17 cmd_ls3_llsc = $(CMD_LS3_LLSC) $@ 17 !! 18 18 ifdef CONFIG_RELOCATABLE !! 19 CMD_RELOCS = arch/mips/boot/tools/relocs 19 quiet_cmd_cp_vmlinux_relocs = CPREL vmlinux. !! 20 quiet_cmd_relocs = RELOCS $@ 20 cmd_cp_vmlinux_relocs = cp vmlinux vmlinux.rel !! 21 cmd_relocs = $(CMD_RELOCS) $@ 21 << 22 quiet_cmd_relocs_strip = STRIPREL $@ << 23 cmd_relocs_strip = $(OBJCOPY) --remove-secti << 24 --remove-secti << 25 --remove-secti << 26 --remove-secti << 27 endif << 28 22 29 # `@true` prevents complaint when there is not 23 # `@true` prevents complaint when there is nothing to be done 30 24 31 vmlinux: FORCE 25 vmlinux: FORCE 32 @true 26 @true 33 ifdef CONFIG_RELOCATABLE !! 27 ifeq ($(CONFIG_CPU_LOONGSON3_WORKAROUNDS),y) 34 $(call if_changed,relocs_check) !! 28 $(call if_changed,ls3_llsc) 35 $(call if_changed,cp_vmlinux_relocs) !! 29 endif 36 $(call if_changed,relocs_strip) !! 30 ifeq ($(CONFIG_RELOCATABLE),y) >> 31 $(call if_changed,relocs) 37 endif 32 endif 38 33 39 clean: 34 clean: 40 @true 35 @true 41 36 42 PHONY += FORCE clean 37 PHONY += FORCE clean 43 38 44 FORCE: 39 FORCE: 45 40 46 .PHONY: $(PHONY) 41 .PHONY: $(PHONY)
Linux® is a registered trademark of Linus Torvalds in the United States and other countries.
TOMOYO® is a registered trademark of NTT DATA CORPORATION.