From a1a87ddd1990aa70e7a64a1059f8c3b23ac35099 Mon Sep 17 00:00:00 2001 From: Beniamin Sandu Date: Thu, 13 Aug 2020 16:24:39 +0300 Subject: [PATCH] Kconfig: fix dependency issue when building in-tree without CONFIG_FTRACE When building in-tree, one could disable CONFIG_FTRACE from kernel config which will leave CONFIG_TRACEPOINTS selected by LTTNG modules, but generate a lot of linker errors like below because it leaves out other stuff, e.g.: trace.c:(.text+0xd86b): undefined reference to `trace_event_buffer_reserve' ld: trace.c:(.text+0xd8de): undefined reference to `trace_event_buffer_commit' ld: trace.c:(.text+0xd926): undefined reference to `event_triggers_call' ld: trace.c:(.text+0xd942): undefined reference to `trace_event_ignore_this_pid' ld: net/mac80211/trace.o: in function `trace_event_raw_event_drv_tdls_cancel_channel_switch': It appears to be caused by the fact that TRACE_EVENT macros in the Linux kernel depend on the Ftrace ring buffer as soon as CONFIG_TRACEPOINTS is enabled. Steps to reproduce: - Get a clone of an upstream stable kernel and use scripts/built-in.sh on it - Configure a standard x86-64 build, enable built-in LTTNG but disable CONFIG_FTRACE from Kernel Hacking-->Tracers using menuconfig - Build will fail at linking stage Signed-off-by: Beniamin Sandu Signed-off-by: Mathieu Desnoyers --- Kconfig | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Kconfig b/Kconfig index acdab73b..10eccff6 100644 --- a/Kconfig +++ b/Kconfig @@ -2,7 +2,7 @@ config LTTNG tristate "LTTng support" - select TRACEPOINTS + select TRACING help LTTng is an open source tracing framework for Linux. -- 2.34.1