当我们 cat 'proc/kallsyms' 或 'system.map' 我们得到这样的符号
....
c033718c T nf_hook_slow
c04ca284 r __ksymtab_nf_hook_slow
c04ca28c r __ksymtab_nf_hooks
c04d24a0 r __kcrctab_nf_hook_slow
c04d24a4 r __kcrctab_nf_hooks
c04e9122 r __kstrtab_nf_hook_slow
c04e9179 r __kstrtab_nf_hooks
c054d854 D nf_hooks
c0571ca0 d nf_hook_mutex
....
- T, r, D, d 的东西是什么意思?
- 我可以在内核源代码中找到 EXPORT_SYMBOL(...) 的符号,但还有其他前缀为 __ksymtab... 或 __kstrtab... 这些是什么?
- System.map 中是否有符号但 /proc/kallsyms 中排除了符号?(假设内核编译正确)
- 我启用了 netfilter 的 linux 内核,但我找不到符号“nf_hooks”,但有“__ksymtab_nf_hook”。有没有办法使用 __ksymtab_nf_hook 获取 nf_hooks 的地址?
- 我在我的 linux 源代码中看到 EXPORT_SYMBOL(nf_hook) 但如果我“cat /proc/kallsyms”就找不到它。这有什么典型的原因吗?
先感谢您。