doj中的扩展section: .attributes

来源:互联网 发布:百度网盘网络出错 编辑:程序博客网 时间:2024/05/01 00:22

 

快乐虾

http://blog.csdn.net/lights_joy/

lights@hb165.com

  

本文适用于

bfinutils-2.19

vs2008

visual dsp++ 5.0

 

欢迎转载,但请保留作者信息

 

vdsp中的doj文件采用的是elf格式,但是做了一些扩展,其中.attributes是额外添加上去的一个section,它的section head可取如下值:

 

table 0属性值附加说明
sh_name17Section name, index in string tbl
sh_typeSTRTABType of section
sh_flags0x00000000Miscellaneous section attributes
sh_addr0x00000000Section virtual addr at execution
sh_offset24173Section file offset
sh_size248Size of section in bytes
sh_link0Index of another section
sh_info0x00000000Additional section information
sh_addralign0Section alignment
sh_entsize0Entry size if section holds table

它的sh_type值为STRTAB,也即是说这个段中只存储字符串列表。按STRTAB将它的内容展开:

table 0起始位置字符串值
10
21ProjectName common
320ProjectName common
439FuncName _env_get_addr
562FuncName _env_get_char_memory
692FuncName _env_crc_update
7117FuncName _env_get_char_init
8145FuncName _env_relocate
9168FuncName _env_complete
10191Content CodeData
11208si-revision 0.3
12224processor-id ADSP-BF561

 

很明显,每一行都定义了一个attribute,用/t将属性的名称和值分开,这样,上表的内容就可以解释为:

 

table 0属性名称属性值
1ProjectNamecommon
2ProjectNamecommon
3FuncName_env_get_addr
4FuncName_env_get_char_memory
5FuncName_env_crc_update
6FuncName_env_get_char_init
7FuncName_env_relocate
8FuncName_env_complete
9ContentCodeData
10si-revision0.3
11processor-idADSP-BF561

 

 

参考资料

bfd对多目标的支持2008-9-25

bfdelf32格式的支持(2008-11-7)

objdumpreadelf的区别(2008-11-10)

objdump代码分析(2008-11-10)

bfd的文件格式识别2008-11-10

bfd的后端数据表示(2008-11-10)

Bfd中的内存泄漏2008-11-13

Bfdelf文件头的处理(2008-11-27)

bfd中添加处理vdsp文件的target(2008-11-27)

doj中的扩展section: .commandLine(2008-11-28)