objdump中常见的符号是什么?

时间:2015-01-09 14:18:48

标签: gcc binutils

我正在阅读objdump的文档:
objdump manual

并且在使用-t选项指定基于ELF的文件条目的符号表的输出的行中,有一行我想更好地理解。我在这里复制了部分文档以澄清。我的问题是,对于常见的符号,objdump显示了对齐,但是什么被认为是常见的符号?
提前谢谢。


文档内容

  

另一种常见的输出格式,通常见于基于ELF的文件,   看起来像这样:

      00000000 l    d  .bss   00000000 .bss
      00000000 g       .text  00000000 fred
     

这里的第一个数字是符号的值(有时称为其地址)。下一个字段实际上是一组字符和   空格,指示在符号上设置的标志位。这些   字符如下所述。接下来是与之相关的部分   符号是关联的或 ABS 如果该部分是绝对的(即不是   连接任何部分),或 UND 如果引用部分   被转储的文件,但没有在那里定义。

     

在节名之后出现另一个字段,一个数字,这是常见的   符号是对齐,其他符号是大小。最后   显示符号的名称。

1 个答案:

答案 0 :(得分:0)

我并不完全熟悉这个术语,但我相信"常用的符号"是指"公共变量存储"中的符号,表示.bss部分。请参阅the assembler documentation

.bss部分用于程序启动时未初始化(或零初始化)的数据。此数据没有存储在目标文件中的值,因此文件偏移量不合适。

非公共变量存储符号是与存储在目标文件中的数据或代码相关联的变量,函数等,它们将在运行时加载到内存中。