162306a36Sopenharmony_ci# SPDX-License-Identifier: GPL-2.0 262306a36Sopenharmony_ci# =========================================================================== 362306a36Sopenharmony_ci# Post-link riscv pass 462306a36Sopenharmony_ci# =========================================================================== 562306a36Sopenharmony_ci# 662306a36Sopenharmony_ci# Check that vmlinux relocations look sane 762306a36Sopenharmony_ci 862306a36Sopenharmony_ciPHONY := __archpost 962306a36Sopenharmony_ci__archpost: 1062306a36Sopenharmony_ci 1162306a36Sopenharmony_ci-include include/config/auto.conf 1262306a36Sopenharmony_ciinclude $(srctree)/scripts/Kbuild.include 1362306a36Sopenharmony_ci 1462306a36Sopenharmony_ciquiet_cmd_relocs_check = CHKREL $@ 1562306a36Sopenharmony_cicmd_relocs_check = \ 1662306a36Sopenharmony_ci $(CONFIG_SHELL) $(srctree)/arch/riscv/tools/relocs_check.sh "$(OBJDUMP)" "$(NM)" "$@" 1762306a36Sopenharmony_ci 1862306a36Sopenharmony_ciifdef CONFIG_RELOCATABLE 1962306a36Sopenharmony_ciquiet_cmd_cp_vmlinux_relocs = CPREL vmlinux.relocs 2062306a36Sopenharmony_cicmd_cp_vmlinux_relocs = cp vmlinux vmlinux.relocs 2162306a36Sopenharmony_ci 2262306a36Sopenharmony_ciquiet_cmd_relocs_strip = STRIPREL $@ 2362306a36Sopenharmony_cicmd_relocs_strip = $(OBJCOPY) --remove-section='.rel.*' \ 2462306a36Sopenharmony_ci --remove-section='.rel__*' \ 2562306a36Sopenharmony_ci --remove-section='.rela.*' \ 2662306a36Sopenharmony_ci --remove-section='.rela__*' $@ 2762306a36Sopenharmony_ciendif 2862306a36Sopenharmony_ci 2962306a36Sopenharmony_ci# `@true` prevents complaint when there is nothing to be done 3062306a36Sopenharmony_ci 3162306a36Sopenharmony_civmlinux: FORCE 3262306a36Sopenharmony_ci @true 3362306a36Sopenharmony_ciifdef CONFIG_RELOCATABLE 3462306a36Sopenharmony_ci $(call if_changed,relocs_check) 3562306a36Sopenharmony_ci $(call if_changed,cp_vmlinux_relocs) 3662306a36Sopenharmony_ci $(call if_changed,relocs_strip) 3762306a36Sopenharmony_ciendif 3862306a36Sopenharmony_ci 3962306a36Sopenharmony_ci%.ko: FORCE 4062306a36Sopenharmony_ci @true 4162306a36Sopenharmony_ci 4262306a36Sopenharmony_ciclean: 4362306a36Sopenharmony_ci @true 4462306a36Sopenharmony_ci 4562306a36Sopenharmony_ciPHONY += FORCE clean 4662306a36Sopenharmony_ci 4762306a36Sopenharmony_ciFORCE: 4862306a36Sopenharmony_ci 4962306a36Sopenharmony_ci.PHONY: $(PHONY) 50