objdump中代码段的输出在disassemble_data()中调用bfd_map_over_sections()完成,其中使用的回调函数是disassemble_section()用于解析代码段。
disassemble_section()调用disassemble_bytes()来解析代码段中的代码。
在disassemble_bytes()中根据不同的体系结构,调用不同的disassemble函数。对于arm体系结构而言,调用的是opcodes/arm-dis.c中的print_insn_big_arm()或print_insn_small_arm()。
本文介绍objdump如何通过调用disassemble_data()及其内部的bfd_map_over_sections()和回调函数disassemble_section()来解析ARM架构的代码段。进一步地,通过disassemble_bytes()调用特定于ARM的指令解析函数实现具体指令的解读。
1354

被折叠的 条评论
为什么被折叠?



