如何检查某个部分是代码还是数据(.elf)?

时间:2017-08-03 11:12:34

标签: shell gcc gnu elf

我正在编写一个应该分析.elf记忆的脚本。 更具体地说:代码大小和数据大小。 GNU大小实用程序列出了节大小。

>mips-mti-elf-size.exe -A -x -t file.elf
section                              size                 addr                                 
.sec(1)
.sec(2)
.
.sec(i)
.sec(n)
Total                                0x-----

我也可以检查总.text大小或总.data大小。 有没有办法决定每一秒(i)它是代码还是数据?

1 个答案:

答案 0 :(得分:0)

使用mips-mti-elf-readelf.exe:

 mips-mti-elf-readelf.exe -S file.elf

这将返回:

  [Nr] Name              Type            Addr     Off    Size   ES Flg Lk Inf Al
  [ 0]                   NULL            00000000 000000 000000 00      0   0  0
  [ 1] .secName                          9014d000 00d000 000480 00  AX  0   0 4096
  ...

使用Flg:如果X已启动,则为代码。