Linux内核的符号表位于两个部分。首先是内核的静态部分,也就是内核文件映像vmlinuz部分的符号表。还有一部分则是Linux可配置模块部分的符号表。前者对应于/proc/ksyms和System。map这两个文件。
前者是一个"proc文件"并且是在内核启动时创建的。
实际上 它不是一个真实的文件;它只是内核数据的简单表示形式。然而,System。map却是文件系统上的一个真实文件。可以用vi来查看整个系统的符号表。关于这个文件中的一些标记下面是具体的意义:
T
External text。
t
Local text。
D
External initialized data。
d
Local initialized data。
B
External zeroed data。
b
Local zeroed data。
A
External absolute。
a
Local absolute。
U
External undefined。
G
External small initialized data。
g
Local small initialized data。
I
Init section (IRIX4 static shared library initialization code)。
S
External small zeroed data。
s
Local small zeroed data。
R
External read only。
r
Local read only。
C
Common。
E
Small common。
PS:对于普通的ELF文件,可以使用nm命令来获得这个可执行程序的符号表 Linux内核的符号表位于两个部分。首先是内核的静态部分,也就是内核文件映像vmlinuz部分的符号表。还有一部分则是Linux可配置模块部分的符号表。前者对应于/proc/ksyms和System。
map这两个文件。
前者是一个"proc文件"并且是在内核启动时创建的。实际上 它不是一个真实的文件;它只是内核数据的简单表示形式。然而,System。map却是文件系统上的一个真实文件。可以用vi来查看整个系统的符号表。关于这个文件中的一些标记下面是具体的意义:
T
External text。
t
Local text。
D
External initialized data。
d
Local initialized data。
B
External zeroed data。
b
Local zeroed data。
A
External absolute。
a
Local absolute。
U
External undefined。
G
External small initialized data。
g
Local small initialized data。
I
Init section (IRIX4 static shared library initialization code)。
S
External small zeroed data。
s
Local small zeroed data。
R
External read only。
r
Local read only。
C
Common。
E
Small common。
PS:对于普通的ELF文件,可以使用nm命令来获得这个可执行程序的符号表
考试大温馨提示:本内容来源于网络,仅代表作者个人观点,与本站立场无关,仅供您学习交流使用。
其中可能有部分文章经过多次转载而造成文章内容缺失、错误或文章作者不详等问题,请您谅解。如有侵犯您的权利,请联系我们,本站会立即予以处理。
全部