免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
查看: 2193 | 回复: 1
打印 上一主题 下一主题

两道关于objdump和ld生成文本文件的问题,比较生僻 [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2004-01-01 16:37 |只看该作者 |倒序浏览
1)生成.dump文件,如下:
hello.gdb:     file format elf32-littlearm

Sections:
Idx Name          Size      VMA       LMA       File off  Algn
  0 .text         000044f0  00000000  00000000  00008000  2**2
                  CONTENTS, ALLOC, LOAD, READONLY, CODE
  1 .data         00000360  000044f0  000044f0  0000c4f0  2**2
                  CONTENTS, ALLOC, LOAD, DATA
  2 .bss          00000480  00004850  00004850  0000c850  2**4
                  ALLOC
  3 .debug_aranges 000000c0  00000000  00000000  0000c850  2**0
                  CONTENTS, READONLY, DEBUGGING
  4 .debug_pubnames 000002d7  000000c0  000000c0  0000c910  2**0
                  CONTENTS, READONLY, DEBUGGING
  5 .debug_info   00000ec5  00000397  00000397  0000cbe7  2**0
                  CONTENTS, READONLY, DEBUGGING
  6 .debug_abbrev 000001a2  0000125c  0000125c  0000daac  2**0
                  CONTENTS, READONLY, DEBUGGING
  7 .debug_line   00000000  000013fe  000013fe  0000dc4e  2**0
                  CONTENTS, READONLY, DEBUGGING
SYMBOL TABLE:
00000000 l    d  .text        00000000
000044f0 l    d  .data        00000000
00004850 l    d  .bss        00000000
00000000 l    d  .debug_aranges        00000000
000000c0 l    d  .debug_pubnames        00000000
00000397 l    d  .debug_info        00000000
0000125c l    d  .debug_abbrev        00000000
000013fe l    d  .debug_line        00000000
00000000 l    d  *ABS*        00000000
.........      ........
在Sections中我不知道Algn,File off,VMA和LMA是什么意思,虽然知道MA就是MEMORY ADDRESS.
在Sections中有.debug_arrangs,.debug_pubnames,.debug_info,.debug_abbrev,.debug_line
不知是什么意思?在网上我又找到.glue_7t,.glue_7,.stack,又是问题.在SYMBOL TABLE中,第二
项选项有l/g/w ,第三项选项有d/df/O/F,不知是什么意思.
2)在hello目录下生成新的文件,其中有一个为hello.err_ld.通过察看,这个文件是由
如下形式反复的语句组成.形式为:
ABS  Vma=0x0,value=0x0,address=0x30,sym_addr=0x0,rs=0x0,opcode=0x4,HL=0x4,sym-addr=0x44f0
reloc@30=0x30
reloc[0]=0x30
这种形式是什么意思.ABS ,Vma,value,address,sym_addr,rs,opcode,HL=,sym-addr,reloc@30,reloc[0]=0x30
各代表什么意思?本身这条语句代表什么意思?*.err_ld是什么文件,用来干什么?

论坛徽章:
0
2 [报告]
发表于 2004-01-01 23:24 |只看该作者

两道关于objdump和ld生成文本文件的问题,比较生僻

1.section中,Algn表示对齐调整值,File off表示该section在文件中的偏移量,VMA表示文件虚拟内存地址,LMA表示物理内存地址,应该和VMA相同。
  section有很多类型,你说的那些带有debug的,肯定是包含调试信息的section。至于.glue什么的,不太清楚,你可以发过来我看看.在symbol table中,第二项表示符号链接时的可见性和行为,第三项表示类型信息,具体你可以看ELF文件规范.
2.那个hello.err_ld从名字看应该是错误处理动态链接函数.具体的你可以看源码
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP