问答文章1 问答文章501 问答文章1001 问答文章1501 问答文章2001 问答文章2501 问答文章3001 问答文章3501 问答文章4001 问答文章4501 问答文章5001 问答文章5501 问答文章6001 问答文章6501 问答文章7001 问答文章7501 问答文章8001 问答文章8501 问答文章9001 问答文章9501

模块内函数调用和libc符号重命名

发布网友 发布时间:2024-10-22 07:37

我来回答

1个回答

热心网友 时间:2024-11-08 06:30

在处理模块内函数调用和libc符号重命名时,为了优化性能和避免运行时替换带来的开销,编译器和链接器采取了多种策略。例如,GCC 5引入的-fno-semantic-interposition在函数定义在同一模块时,可以避免PLT使用。musl采用--dynamic-list来指定预emptionible符号,以允许用户替换特定函数。链接器选项如-Bsymbolic和--dynamic-list能够减少预emption,但不同架构可能对PLT的开销有额外影响。

在i386和PowerPC64架构上,PLT的使用会带来额外的指令和寻址复杂性。glibc通过hidden aliases如__GI_memcpy来避免PLT,而musl则在必要时使用__开头的函数。STV_PROTECTED提供了对暴露给外部的函数的保护,但之前链接器对pointer equality的要求导致与STV_PROTECTED的冲突。

编译器和链接器之间的逻辑一致性是个挑战,因为需要在保留内建函数语义的同时支持重命名。glibc通过添加第二层重命名解决这个问题,而Clang的解决方案还在发展中。

总的来说,处理函数调用和符号重命名涉及编译器、链接器和架构特性之间的微妙平衡,以优化性能和保持程序一致性。
声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com
找专业防水队做完还漏水怎么维权 法院会受理房屋漏水造成的纠纷吗? 巴西龟最长活多久,家养!!! 养胃的药最好的是什么啊 婴儿积食发烧不愿吃药怎么办 板门穴位在哪个部位 手机设置放偷看的方法? 凝结水回收器生产厂家? 个人账户养老金预测公式:现有5万元,缴费20年,能领多少钱? 临沂比较有名的男装品牌 烧水桶发热盘不锈钢和紫铜哪个好 printf 哪个串口 ...湘潭大学,云南大学,广西大学,这几个的对外汉语哪个更好一些,_百 ... 广西大学对外汉语专业属于什么院系? 用12864画图,我画了一个点,为什么却显示出两个字节的线 为什么电脑上的程序和软件打开之后都是迅雷看看? ...迅雷看看。我用的是迅雷看看,现在该怎么办? 医学检验技术这个专业咋样好就业吗 NBA历史上最年轻的MVP是谁? 我才创的QQ群,怎么样才能设管理员啊? 怎样把QQ群里的一个人设为管理员 怎么把QQ群里的人设成管理员啊???求助,急需!!! 我建了一个QQ群,请问怎么把其他人设成管理员 QQ群里怎么把人设为管理员 《真正的英雄》以一个中国初中生的名义对遇难的七名宇航员说几句话... 主动脉瓣膜狭窄的分度标准 【1.2.1 文本数据读写】Matlab文件读写完全版 求中国大陆现代军事片 有谁见过WORD档备用信用证吗? matlab怎样读取80M的text文件(textread,load都是dataread out of memor... t和p有什么不同 历年各大院校对外招生对外汉语录取分数线是多少,如青大,山师大,杭州... 赵云和许褚都是领导者的侍卫 两人谁更厉害一些 急,求问用ems寄的国际包裹怎么查询??? 家里有猫能养兰花吗? 小学安全警示牌标语集锦 左边睾丸老是用力或者左腿触碰到左睾丸的时候会痛!去医院第一次医生开... ...有点分叉,以后就好了。我以为是前列腺炎,我去医院检查,发..._百度... 男生生长期会出现尿急尿频.睾丸有酸痛感的症状么? 泄洪会造成什么后果 水库提前泄洪有什么坏处? 烫伤后能用什么偏方治疗 烫伤后可用哪些偏方治疗? 烫伤后,可以使用哪种偏方治疗? 什么叫做实体? 如果用scan函数从键盘输入两个整型数据分别给变量x,y,则默认数据分隔符... 用什么软件可以切割10个G的txt数据 格式化输入函数scan f与格式化输入函数printf第二个参数写法一致是否正 ... ...printf("a=%c,b=%c\n",a,b);运行时我输入2种格式,最后的结果为什么是... ...上输入月份数字对应的输出表示的英文 自编函数