mirror of
git://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
synced 2025-08-05 16:54:27 +00:00

So far, we have relied on the fact that gcc supports both -mprofile-kernel, as well as -fpatchable-function-entry, and clang supports neither. Our Makefile only checks for CONFIG_MPROFILE_KERNEL to decide which files to build. Clang has a feature request out [*] to implement -fpatchable-function-entry, and is unlikely to support -mprofile-kernel. Update our Makefile checks so that we pick up the correct files to build once clang picks up support for -fpatchable-function-entry. [*] https://github.com/llvm/llvm-project/issues/57031 Signed-off-by: Naveen N Rao <naveen@kernel.org> Signed-off-by: Michael Ellerman <mpe@ellerman.id.au> Link: https://patch.msgid.link/20241030070850.1361304-2-hbathini@linux.ibm.com
34 lines
923 B
Makefile
34 lines
923 B
Makefile
# SPDX-License-Identifier: GPL-2.0
|
|
#
|
|
# Makefile for the powerpc trace subsystem
|
|
#
|
|
|
|
ifdef CONFIG_FUNCTION_TRACER
|
|
# do not trace tracer code
|
|
CFLAGS_REMOVE_ftrace.o = $(CC_FLAGS_FTRACE)
|
|
CFLAGS_REMOVE_ftrace_64_pg.o = $(CC_FLAGS_FTRACE)
|
|
endif
|
|
|
|
ifdef CONFIG_FUNCTION_TRACER
|
|
obj32-y += ftrace.o ftrace_entry.o
|
|
ifeq ($(CONFIG_MPROFILE_KERNEL)$(CONFIG_ARCH_USING_PATCHABLE_FUNCTION_ENTRY),)
|
|
obj64-y += ftrace_64_pg.o ftrace_64_pg_entry.o
|
|
else
|
|
obj64-y += ftrace.o ftrace_entry.o
|
|
endif
|
|
endif
|
|
|
|
obj-$(CONFIG_TRACING) += trace_clock.o
|
|
|
|
obj-$(CONFIG_PPC64) += $(obj64-y)
|
|
obj-$(CONFIG_PPC32) += $(obj32-y)
|
|
|
|
# Disable GCOV, KCOV & sanitizers in odd or sensitive code
|
|
GCOV_PROFILE_ftrace.o := n
|
|
KCOV_INSTRUMENT_ftrace.o := n
|
|
KCSAN_SANITIZE_ftrace.o := n
|
|
UBSAN_SANITIZE_ftrace.o := n
|
|
GCOV_PROFILE_ftrace_64_pg.o := n
|
|
KCOV_INSTRUMENT_ftrace_64_pg.o := n
|
|
KCSAN_SANITIZE_ftrace_64_pg.o := n
|
|
UBSAN_SANITIZE_ftrace_64_pg.o := n
|