900字范文,内容丰富有趣,生活中的好帮手!
900字范文 > c语言修改elf文件crc32 ELF文件中调试信息的格式说明?

c语言修改elf文件crc32 ELF文件中调试信息的格式说明?

时间:2020-11-18 22:13:59

相关推荐

c语言修改elf文件crc32 ELF文件中调试信息的格式说明?

看了很多文档,都是对ELF文件中的调试信息格式一带而过,包括《Linker&Loader》中也没有详细介绍。

我想获取调试信息中的数据结构相关的信息,结构大小,每个变量的名称,大小等信息。

|

通过objdump的命令,例如:tmp.o是elf文件,objdump参数应该为--sym

1、dump出符号表,objdumpppc--symtmp.o>bootrom_sym.txt,内容如下:

tmp.o:fileformatelf32-powerpc

SYMBOLTABLE:

02c00000ld.text00000000

02ce7cc0ld.data00000000

02d0a1f0ld.bss00000000

00000000ld.PPC.EMB.apuinfo00000000

00000000ld*ABS*00000000

00000000ld*ABS*00000000

00000000ld*ABS*00000000

00000000ldf*ABS*00000000bootConfig.c

02ce7da8lO.data00000078netIf

02ce7e2clO.data00000004trapValue1

02ce7e30lO.data00000004trapValue2

02ce7f34lO.data00000044noticeChar.0

02d0a674lO.bss00000004noticeNum.1

02d0a678lO.bss00000004memTestRoundPass

02ce7f78lO.data00000004SEED_X

02ce7f7clO.data00000004SEED_Y

02ce7f80lO.data00000004a.2

02ce7f84lO.data00000004b.3

02c00184lF.text00000058memCheckRand

02c00200lF.text00000278movinv1

02c00478lF.text000001d8addr_tst1

02c00650lF.text00000184addr_tst2

02c007d4lF.text00000284modtst

02c00a58lF.text00000204movinvr

02c00c5clF.text00000340movinv32

02c00f9clF.text00000188bit_fade

02c01124lF.text000003bcenhancedMemCheckMainLoop

02c014e0lF.text000001d8patchVecBase

02c018a0lF.text00000184CheckRam

02c093a4lF.text000000c8usrBootLineInit

02c08840lF.text00000080go

.....................................................

2、dump出汇编,objdumpppc--disassembletmp.o>bootrom_asm.txt,内容如下:

tmp.o:fileformatelf32-powerpc

Disassemblyofsection.text:

02c00000:

2c00000:9421fff8stwur1,-8(r1)

2c00004:7c0802a6mflrr0

2c00008:9001000cstwr0,12(r1)

2c0000c:4cc63182crclr4*cr1+eq

2c00010:480016a9bl2c016b8

2c00014:8001000clwzr0,12(r1)

2c00018:38210008addir1,r1,8

2c0001c:7c0803a6mtlrr0

2c00020:4e800020blr

02c00024:

2c00024:9421fff8stwur1,-8(r1)

2c00028:7c0802a6mflrr0

2c0002c:9001000cstwr0,12(r1)

2c00030:48088809bl2c88838

2c00034:480c7bb9bl2cc7bec

2c00038:48097015bl2c9704c

2c0003c:480c4941bl2cc497c

2c00040:480c6549bl2cc6588

2c00044:480c5129bl2cc516c

2c00048:480c1fcdbl2cc

2c0004c:480ca9edbl2ccaa38

2c00050:480c2e19bl2cc2e68

2c00054:3ca002dblisr5,731

2c00058:3d2002cflisr9,719

2c0005c:80894a38lwzr4,19000(r9)

2c00060:3c6002dblisr3,731

2c00064:38c00100lir6,256

2c00068:38a5c614addir5,r5,-14828

2c0006c:3863b948addir3,r3,-18104

2c00070:4cc63182crclr4*cr1+eq

2c00074:480a124dbl2ca12c0

。。。。。。。。。。。

就这样,linux下面也有类似的工具。

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。