首页 > 其他 > 详细

ELF文件之六——使用链接脚本-2个函数-data-bss-temp-call

时间:2020-02-09 21:42:16      阅读:75      评论:0      收藏:0      [点我收藏+]

main.c

技术分享图片
int enable;
int test = 1;

int main()
{
    int temp;
    
    add();
    return 0;
}

int add()
{
    return 0;
}
View Code

o反汇编的地址都是0起始,elf的地址都是映射后的地址。

技术分享图片技术分享图片

多了一个.rela.text,大小为12字节

技术分享图片

偏移为4,什么意思?

info的次高8位为重定位目标所在节符号表的索引为9,即为add,其数值为0x0000 0020,即第4列Sym.Value的数值。

低8位表示type,即R_SPARC_WDISP30(在ABI sparc supplement中有定义),表示( S + A - P ) > > 2

什么意思?推测,S为Sym.Value,A为Addend,P为?合起来即为0x0000 0000 + 0 - 0 = 0x0000 0020

为什么o文件的反汇编为call main+4呢?如果新加一个del函数,则是call main+c?不明白

难道o文件的调用关系不准确,需要看elf文件的?

技术分享图片

技术分享图片

 

ELF文件之六——使用链接脚本-2个函数-data-bss-temp-call

原文:https://www.cnblogs.com/yanhc/p/12288557.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!