From 0e96689efc977542a47e815a78892833e0305d79 Mon Sep 17 00:00:00 2001 From: Masahiro Yamada Date: Wed, 9 Oct 2024 23:37:47 +0900 Subject: [PATCH] fixup Signed-off-by: Masahiro Yamada --- arch/Kconfig | 2 +- arch/powerpc/Kconfig | 5 ++--- arch/powerpc/tools/.gitignore | 2 ++ arch/powerpc/tools/Makefile | 7 ++----- arch/powerpc/tools/ftrace-gen-ool-stubs.sh | 5 ++--- scripts/Makefile.vmlinux | 4 ++-- scripts/link-vmlinux.sh | 2 +- 7 files changed, 12 insertions(+), 15 deletions(-) create mode 100644 arch/powerpc/tools/.gitignore diff --git a/arch/Kconfig b/arch/Kconfig index 87806750cf4e..a1538927c8c1 100644 --- a/arch/Kconfig +++ b/arch/Kconfig @@ -1685,7 +1685,7 @@ config ARCH_NEED_CMPXCHG_1_EMU bool config ARCH_WANTS_PRE_LINK_VMLINUX - def_bool n + bool help An architecture can select this if it provides arch//tools/Makefile with .arch.vmlinux.o target to be linked into vmlinux. diff --git a/arch/powerpc/Kconfig b/arch/powerpc/Kconfig index 8a31f61f1b34..c85470b24118 100644 --- a/arch/powerpc/Kconfig +++ b/arch/powerpc/Kconfig @@ -575,13 +575,12 @@ config ARCH_USING_PATCHABLE_FUNCTION_ENTRY config PPC_FTRACE_OUT_OF_LINE def_bool PPC64 && ARCH_USING_PATCHABLE_FUNCTION_ENTRY - depends on PPC64 select ARCH_WANTS_PRE_LINK_VMLINUX config PPC_FTRACE_OUT_OF_LINE_NUM_RESERVE int "Number of ftrace out-of-line stubs to reserve within .text" - default 32768 if PPC_FTRACE_OUT_OF_LINE - default 0 + depends on PPC_FTRACE_OUT_OF_LINE + default 32768 help Number of stubs to reserve for use by ftrace. This space is reserved within .text, and is distinct from any additional space diff --git a/arch/powerpc/tools/.gitignore b/arch/powerpc/tools/.gitignore new file mode 100644 index 000000000000..ec380a14a09a --- /dev/null +++ b/arch/powerpc/tools/.gitignore @@ -0,0 +1,2 @@ +# SPDX-License-Identifier: GPL-2.0-only +/vmlinux.arch.S diff --git a/arch/powerpc/tools/Makefile b/arch/powerpc/tools/Makefile index 9eeb6edf02fe..96dbbc4f3e66 100644 --- a/arch/powerpc/tools/Makefile +++ b/arch/powerpc/tools/Makefile @@ -3,10 +3,7 @@ quiet_cmd_gen_ftrace_ool_stubs = GEN $@ cmd_gen_ftrace_ool_stubs = $< $(CONFIG_PPC_FTRACE_OUT_OF_LINE_NUM_RESERVE) vmlinux.o $@ -$(obj)/.vmlinux.arch.S: $(src)/ftrace-gen-ool-stubs.sh vmlinux.o FORCE +$(obj)/vmlinux.arch.S: $(src)/ftrace-gen-ool-stubs.sh vmlinux.o FORCE $(call if_changed,gen_ftrace_ool_stubs) -$(obj)/.vmlinux.arch.o: $(obj)/.vmlinux.arch.S FORCE - $(call if_changed_rule,as_o_S) - -clean-files += .vmlinux.arch.S .vmlinux.arch.o +targets += vmlinux.arch.S diff --git a/arch/powerpc/tools/ftrace-gen-ool-stubs.sh b/arch/powerpc/tools/ftrace-gen-ool-stubs.sh index 33f5ae4bace5..c69b375309bc 100755 --- a/arch/powerpc/tools/ftrace-gen-ool-stubs.sh +++ b/arch/powerpc/tools/ftrace-gen-ool-stubs.sh @@ -10,16 +10,15 @@ is_enabled() { vmlinux_o=${2} arch_vmlinux_S=${3} -arch_vmlinux_o=$(dirname ${arch_vmlinux_S})/$(basename ${arch_vmlinux_S} .S).o RELOCATION=R_PPC64_ADDR64 if is_enabled CONFIG_PPC32; then RELOCATION=R_PPC_ADDR32 fi -num_ool_stubs_text=$(${CROSS_COMPILE}objdump -r -j __patchable_function_entries ${vmlinux_o} | +num_ool_stubs_text=$(${OBJDUMP} -r -j __patchable_function_entries ${vmlinux_o} | grep -v ".init.text" | grep "${RELOCATION}" | wc -l) -num_ool_stubs_inittext=$(${CROSS_COMPILE}objdump -r -j __patchable_function_entries ${vmlinux_o} | +num_ool_stubs_inittext=$(${OBJDUMP} -r -j __patchable_function_entries ${vmlinux_o} | grep ".init.text" | grep "${RELOCATION}" | wc -l) num_ool_stubs_text_builtin=${1} diff --git a/scripts/Makefile.vmlinux b/scripts/Makefile.vmlinux index 8f08117f4a48..dddad554e912 100644 --- a/scripts/Makefile.vmlinux +++ b/scripts/Makefile.vmlinux @@ -23,9 +23,9 @@ vmlinux: .vmlinux.export.o endif ifdef CONFIG_ARCH_WANTS_PRE_LINK_VMLINUX -vmlinux: arch/$(SRCARCH)/tools/.vmlinux.arch.o +vmlinux: arch/$(SRCARCH)/tools/vmlinux.arch.o -arch/$(SRCARCH)/tools/.vmlinux.arch.o: vmlinux.o +arch/$(SRCARCH)/tools/vmlinux.arch.o: vmlinux.o FORCE $(Q)$(MAKE) $(build)=arch/$(SRCARCH)/tools $@ endif diff --git a/scripts/link-vmlinux.sh b/scripts/link-vmlinux.sh index 33c1aa8dd468..7acf4e31e51c 100755 --- a/scripts/link-vmlinux.sh +++ b/scripts/link-vmlinux.sh @@ -200,7 +200,7 @@ ${MAKE} -f "${srctree}/scripts/Makefile.build" obj=init init/version-timestamp.o arch_vmlinux_o="" if is_enabled CONFIG_ARCH_WANTS_PRE_LINK_VMLINUX; then - arch_vmlinux_o=arch/${SRCARCH}/tools/.vmlinux.arch.o + arch_vmlinux_o=arch/${SRCARCH}/tools/vmlinux.arch.o fi btf_vmlinux_bin_o= -- 2.43.0