linux内核符号表

时间:2021-10-22 17:37:48
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这两个文件。


转自:http://soft.chinabyte.com/os/32/11855532.shtml