Linux内核符号表字符信息的含义(System.map)

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.
   编者注:对于普通的ELF文件,可以使用nm命令来获得这个可执行程序的符号表 Linux内核的符号表位于两个部分。首先是内核的静态部分,也就是内核文件映像vmlinuz部分的符号表。还有一部分则是Linux可配置模块部分的符号表。前者对应于/proc/ksyms和System.map这两个文件。

你可能感兴趣的:(Linux内核符号表字符信息的含义(System.map))