From: Beniamin Sandu Date: Thu, 13 Aug 2020 13:24:39 +0000 (+0300) Subject: Kconfig: fix dependency issue when building in-tree without CONFIG_FTRACE X-Git-Tag: v2.12.3~19 X-Git-Url: https://git.lttng.org./?a=commitdiff_plain;h=ff4d1d7e85be94ef43709cd698f0ec9a12f247d1;p=lttng-modules.git 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 --- 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.