.bin中创建的.bin中未定义的符号

时间:2013-11-27 07:52:13

标签: assembly embedded arm elf

假设我有一个从asm源创建的目标文件(elf文件):

.text
.code 32
    MOV R1, #10
    LDR R2, [R1]
.string "hello world"
fun1:
    MOV R1, #1
    LDR R2, =_symbol1
    LDR R3, =_symbol2
    b _reset
.end

运行arm-elf-nm给了我符号:

U _reset
U _symbol1
U _symbol2
t fun1

因此用于将一些地址加载到寄存器的3个符号是未定义的。现在让我们使用arm-elf-objcopy制作一个二进制文件。我假设二进制文件包含普通位,没有任何重定位。

我的问题是:如果未定义,_symbol1和_symbol2会被替换为0吗?另一方面,如果他们被定义,

.equ _symbol1 0x400
.equ _symbol2 0x500

他们会被这些价值取代吗?

0 个答案:

没有答案