Linux内核导出符号

时间:2012-04-09 08:45:31

标签: linux linux-kernel

我想查看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 个答案:

答案 0 :(得分:18)

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

  

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

     

S   s符号位于小对象的未初始化数据部分。

     

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

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