我想检查
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的含义吗?
解决方法
第二列中的字符与nm的输出具有相同的含义:
D
d
The symbol is in the initialized data section.
S
s
The symbol is in an uninitialized data section for small objects.
T
t
The symbol is in the text (code) section.
大写符号是全局/导出的;小写字母是本地未声明的符号.