2

我正在将 C 程序编译为 elf32-bigmips 汇编代码,并且我已经设法使用以下命令获取汇编输出(对于使用 O1 的示例程序)。

mips-elf-gcc -O1 -c -g fib.c

mips-elf-objdump -D -S -M 无别名 -j .rodata -j .text -j .bss -j .data fib.o > fib-O1.asm

但是,这给了我缺少链接部分的汇编代码。我在代码中使用带有数据的常量数组,这些数组都是汇编代码中的引用,就好像它们从内存位置 0 开始一样,即没有内存地址偏移!我怀疑这是因为缺少链接器信息?

  • 如何获得具有正确内存引用的后链接器汇编代码?

谢谢

4

1 回答 1

3

-c选项的意思是Compile and assemble, but do not link。如果您还想将目标代码链接到可执行文件中,请将其删除,然后运行objdump​​.

于 2013-04-18T08:56:26.120 回答