首页 > 试题广场 >

考虑目标文件m.o中对函数swap的调用。

[问答题]
考虑目标文件m.o中对函数swap的调用。
      9:  e8 00 00 00 00  callq e <main+Oxe>  svap()
具有如下重定位条目:
      r.offset = 0xa
      r.symbol = swap
      r. type  = R_X86.64_ PC32
      r, addend = -4
      A.假设链接器将m.o中的。text重定位到地址0x4004e0,把swap重定位到地址0x4004f8。那么callq指令中对swap的重定位引用的值应该是什么?
      B.假设链接器将m.o中的.text重定位到地址0x4004d0,把swap重定位到地址0x400500。那么callq指令中对swap的重定位引用的值应该是什么?
重定位引用的地址 refptr = addr(.test)+r.offset;
重定位引用的值    *refptr = addr(swap) + r.addend + refptr;

发表于 2021-03-10 09:27:23 回复(0)