C语言 在哪里定义内核符号__tracepoint_module_load?



在哪里定义内核符号__tracepoint_module_load
我在/proc/kallsyms见过一次,但现在找不到了。

bootlin.com/linux/也找不到。

内核符号__tracepoint_module_load在哪里定义?

TRACE_EVENT宏,它最终使用__DECLARE_TRACE,您可以在其中看到:

extern struct tracepoint __tracepoint_##name;

因此,我们可以在include/trace/events/module.h中找到合适的TRACE_EVENT"调用"module_load

TRACE_EVENT(module_load,
...

/proc/kallsyms输出D表示符号位于初始化的数据部分中:

ffffffff91af5240 D __tracepoint_module_load

附言在预处理器的情况下,魔术 elixir.bootlin.com不是那么有用。要进行真正的调查,只需克隆Linux内核或从pub下载适当的源代码。

最新更新