Linux内核导出的符号

我想检查一下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的含义吗?

Solutions Collecting From Web of "Linux内核导出的符号"

第二列中的字符与nm输出中的字符具有相同的含义:

D d符号位于已初始化的数据部分。

S s符号位于未初始化的数据段中,用于小型对象。

该符号位于文本(代码)部分。

大写符号是全局/导出的; 小写字母是本地未导出的符号。