Linux kernel mirror (for testing) git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel os linux

Merge tag 'trace-v6.19-4' of git://git.kernel.org/pub/scm/linux/kernel/git/trace/linux-trace

Pull tracing fixes from Steven Rostedt:

- Fix unused tracepoint build for modules only using exported
tracepoints

The tracepoint-update.c code that looks for unused tracepoints
expects if tracepoints are used then it will have tracepoints
defined. If not, it errors out which fails the build.

In most cases this the way things work. A tracepoint can't be used if
it is not defined. There is one exception; If a module only uses
tracepoints that are defined in other modules or the vmlinux proper,
where the tracepoints are exported. In this case, the
tracepoint-update.c code thinks tracepoints are used but not defined
and errors out, failing the build.

When tracepoint-update.c detects this case, if it is a module that is
being processed, exit out normally as it is a legitimate case.

- Add tracepoint-update.c to MAINTAINERS file

The tracepoint-update.c file is specific to tracing so add it to the
tracing subsystem in the MAINTAINERS file.

* tag 'trace-v6.19-4' of git://git.kernel.org/pub/scm/linux/kernel/git/trace/linux-trace:
MAINTAINERS: Add tracepoint-update.c to TRACING section
tracing: Fix unused tracepoints when module uses only exported ones

+4
+1
MAINTAINERS
··· 26455 26455 F: kernel/trace/ 26456 26456 F: kernel/tracepoint.c 26457 26457 F: scripts/tracing/ 26458 + F: scripts/tracepoint-update.c 26458 26459 F: tools/testing/selftests/ftrace/ 26459 26460 26460 26461 TRACING MMIO ACCESSES (MMIOTRACE)
+3
scripts/tracepoint-update.c
··· 210 210 } 211 211 212 212 if (!tracepoint_data_sec) { 213 + /* A module may reference only exported tracepoints */ 214 + if (mod) 215 + return 0; 213 216 fprintf(stderr, "no __tracepoint_strings in file: %s\n", fname); 214 217 return -1; 215 218 }