Linux内核导出符号

17

我想查看Linux内核导出的符号列表。因此,我执行以下命令:

# cat /proc/kallsyms
0000000000000000 D per_cpu__irq_stack_union
0000000000000000 D __per_cpu_start
0000000000004000 D per_cpu__gdt_page
0000000000005000 d per_cpu__exception_stacks
000000000000b000 d per_cpu__idt_desc
000000000000b010 d per_cpu__xen_cr0_value
000000000000b018 D per_cpu__xen_vcpu
000000000000b020 D per_cpu__xen_vcpu_info
000000000000b060 d per_cpu__mc_buffer
000000000000c570 D per_cpu__xen_mc_irq_flags

这是我得到的输出结果。 我的问题是,这个输出中每个字段的含义是什么? 第一个字段看起来像地址,但我没有得到关于第二个字段的任何参考资料。 有人能解释一下第二个字段中值 D、d、t、T 和 s 的含义吗?
1个回答

21
第二列中的字符与nm输出中的意义相同:

Dd 符号位于初始化数据段。

Ss 符号位于未初始化的小对象数据段。

Tt 符号位于文本(代码)段。

大写符号表示全局/导出;小写符号表示本地未导出符号。

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接