在哪里定义内核符号__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下载适当的源代码。