Chinaunix首页 | 论坛 | 博客
  • 博客访问: 567426
  • 博文数量: 169
  • 博客积分: 2656
  • 博客等级: 少校
  • 技术积分: 1685
  • 用 户 组: 普通用户
  • 注册时间: 2009-07-30 13:03
文章分类

全部博文(169)

文章存档

2011年(1)

2010年(135)

2009年(33)

我的朋友

分类: 嵌入式

2010-05-23 17:21:34

离职的同事没有留下可用的源代码,害的我不得不去跟object文件作斗争,elf格式不是一般的复杂,一时半会儿不能完全掌握。但我想获知的主要是其中的初始化函数完成了哪些工作,因此获得它调用了哪些函数比较重要,而完成这一点可以借助objdump来完成,具体过程如下:

  1. d:\Tornado-2.2-xscale\host\x86-win32\bin\torVars.bat,设置环境变量

  2. objdumparm -d xx.o>xx.s得到汇编代码

  3. objdumparm -r xx.o>rel.txt得到relocation信息

汇编代码中的函数调用在源程序中统统为0xebfffffe,是需要在link的时候重定位的,所以需要对照rel.txt,可以得到实际调用的函数名称,如下面的例子所示:

  • xx.s

    be1c: ebfffffe bl 0

  • rel.txt

    0000be1c R_ARM_PC24 ipAttach

我们就可以知道,在0000be1c处调用了ipAttach函数。

阅读(1396) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~