内核符号__tracepoint_module_load定义在哪里?

在哪里定义了内核符号__tracepoint_module_load
我曾经在/proc/kallsyms中看到过它,但现在找不到了。

bootlin.com/linux/也找不到它。

tianlong253 回答:内核符号__tracepoint_module_load定义在哪里?

  

在哪里定义了内核符号__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

P.S。对于预处理器魔术, elixir.bootlin.com 并不是那么有用。要进行真正的调查,只需克隆Linux kernel或从pub下载适当的资源。

本文链接:https://www.f2er.com/2952030.html

大家都在问