我有一个关于 Linux 上动态链接的问题。考虑以下对 ARM 二进制文件的反汇编。
8300 <printf@plt-0x40>:
....
8320: e28fc600 add ip, pc, #0, 12
8324: e28cca08 add ip, ip, #8, 20 ; 0x8000
8328: e5bcf344 ldr pc, [ip, #836]! ; 0x344
....
83fc <main>:
....
8424: ebffffbd bl 8320 <_init+0x2c>
该main()函数printf()在 处调用8424: bl 8320。上图中8320的地址在哪里.plt。现在,中的代码.plt调用动态链接器来调用printf()例程。
我的问题是动态链接器如何能够说它是对printf()?