Commit | Line | Data |
---|---|---|
c2dea0bc AG |
1 | # SPDX-License-Identifier: GPL-2.0 |
2 | # =========================================================================== | |
3 | # Post-link riscv pass | |
4 | # =========================================================================== | |
5 | # | |
6 | # Check that vmlinux relocations look sane | |
7 | ||
8 | PHONY := __archpost | |
9 | __archpost: | |
10 | ||
11 | -include include/config/auto.conf | |
12 | include $(srctree)/scripts/Kbuild.include | |
13 | ||
14 | quiet_cmd_relocs_check = CHKREL $@ | |
15 | cmd_relocs_check = \ | |
16 | $(CONFIG_SHELL) $(srctree)/arch/riscv/tools/relocs_check.sh "$(OBJDUMP)" "$(NM)" "$@" | |
17 | ||
559d1e45 AG |
18 | ifdef CONFIG_RELOCATABLE |
19 | quiet_cmd_cp_vmlinux_relocs = CPREL vmlinux.relocs | |
20 | cmd_cp_vmlinux_relocs = cp vmlinux vmlinux.relocs | |
21 | ||
22 | quiet_cmd_relocs_strip = STRIPREL $@ | |
23 | cmd_relocs_strip = $(OBJCOPY) --remove-section='.rel.*' \ | |
24 | --remove-section='.rel__*' \ | |
25 | --remove-section='.rela.*' \ | |
26 | --remove-section='.rela__*' $@ | |
27 | endif | |
28 | ||
c2dea0bc AG |
29 | # `@true` prevents complaint when there is nothing to be done |
30 | ||
31 | vmlinux: FORCE | |
32 | @true | |
33 | ifdef CONFIG_RELOCATABLE | |
34 | $(call if_changed,relocs_check) | |
559d1e45 AG |
35 | $(call if_changed,cp_vmlinux_relocs) |
36 | $(call if_changed,relocs_strip) | |
c2dea0bc AG |
37 | endif |
38 | ||
39 | %.ko: FORCE | |
40 | @true | |
41 | ||
42 | clean: | |
43 | @true | |
44 | ||
45 | PHONY += FORCE clean | |
46 | ||
47 | FORCE: | |
48 | ||
49 | .PHONY: $(PHONY) |