范文健康探索娱乐情感热点
投稿投诉
热点动态
科技财经
情感日志
励志美文
娱乐时尚
游戏搞笑
探索旅游
历史星座
健康养生
美丽育儿
范文作文
教案论文
国学影视

Linux下C程序符号延迟绑定

  动态库使用方式分为:隐式链接(隐式加载),编译时通过编译选项指定动态库显式链接(显式加载),通过代码调用dlopen、dlsym、dlclose  指定动态库
  动态库的符号解析分为:立即绑定延迟绑定
  使用方法:
  隐式链接+立即绑定
  -Wl,-z,now
  隐式链接+延迟绑定
  默认行为
  显式链接+立即绑定
  RTLD_NOW
  显式链接+延迟绑定
  RTLD_LAZY
  例子:#include  //gcc -g -fcf-protection=none -o hello hello.c //gcc -g -no-pie -fcf-protection=none -Wl,-z,now -o hello hello.c void hello(void) {     printf("Hello, World! "); }  int main(int argc, char **argv) {     hello();     return 0; }readelf -r hello.o readelf -r hello objdump -d -s -j .plt -j .got.plt hello重定位是连接符号引用与符号定义的过程(符号和地址的绑定).rel.text(链接时重定位) 重定位的地方在.text段内,以offset指定具体要定位位置。在连接时候由连接器完成。注意比 较.text段前后变化。指的是比较.o文件和最终的执行文件(或者动态库文件)。就是重定位前后比 较,以上是说明了具体比较对象而已。.rel.dyn(启动时重定位) 重定位的地方在.got段内。主要是针对外部数据变量符号。例如全局数据。重定位在程序运行时定 位,一般是在.init段内。定位过程:获得符号对应value后,根据rel.dyn表中对应的offset,修 改.got表对应位置的value。另外,.rel.dyn 含义是指和dyn有关,一般是指在程序运行时候,动态 加载。区别于rel.plt,rel.plt是指和plt相关,具体是指在某个函数被调用时候加载。.rel.plt(调用时重定位) 重定位的地方在.got.plt段内(注意也是.got内,具体区分而已)。 主要是针对外部函数符号。一般 是函数首次被调用时候重定位。可看汇编,理解其首次访问是如何重定位的,实际很简单,就是 初次重定位函数地址,然后把最终函数地址放到.got.plt内,以后读取该.got.plt就直接得到最终函 数地址(参考过程说明)。 所有外部函数调用都是经过一个对应桩函数,这些桩函数都在.plt段内。.got(Global Offset Table,全局偏移表) 是Linux ELF文件中用于定位全局变量和函数的一个表。GOT表前三项是特殊的:GOT[0]本ELF动态 段(.dynamic段)的装载地址;GOT[1]本ELF的link_map数据结构描述符地址(编译时填充 0);GOT[2]_dl_runtime_resolve函数的地址(编译时填充0)。GOT的其他表项为全局变量的地址 或者为不需要延迟绑定的函数的地址。.got.plt 用于存放需要延迟绑定的函数的地址。.plt(Procedure Linkage Table,过程链接表)(延迟绑定) 是Linux ELF文件中用于延迟绑定的表,即函数第一次被调用的时候才进行绑定。因此,第一次调 用函数时开销比较大,但是其后的每次调用都只会花费一条指令和一个间接的存储器引用。其中 PLT[0]是一个特殊的表项,它跳转到动态链接器中执行。.plt 关联 GOT 项是在 .rela.plt中。.plt.got(立即绑定) 非延迟绑定的plt。.plt.got 关联 GOT 项是在 .rela.dyn。.plt.sec 启用-fcf-protection编译选项时,原先属于.plt的现在属于.plt.sec。

滑天下之大稽,国足强力归化被欠薪,面临无球可踢,足协无能为力文彬少侃球(首发)在扬科维奇执教国足败北新西兰后,他强调了归化球员的重要性,在接下来的时间里,国足阵容体系势必会添加归化球员来提升实力,但是在归化球员权益保障方面,如今面临无人想管美媒列出202324赛季有可能离开NBA,前往中国打球的十名球员202223赛季NBA常规赛已经结束了,我们可以发现有不少老将已经开始为自己202324赛季之后的篮球职业生涯烦恼了,目前NBA已经进入了新老更替阶段,很多球员有可能被NBA淘汰,CBA季后赛首钢挺进八强完成最低目标下轮遇辽宁还靠防守制胜4月12日晚的CBA季后赛,北京首钢队在客场以127比102再次大胜吉林队,他们以大比分2比0淘汰对手,晋级8强。接下来首钢将与卫冕冠军辽宁队进行三战两胜的较量。与上赛季相比,首钢地方债月报18期地方政府债券发行8900。32亿元环比增长54。48回顾2月数据2023年2月,地方政府债券共计发行5761。33亿元,新增债券发行4419。16亿元(专项债券3357。53亿元,一般债券1061。63亿元),再融资债券发行1342四敢看湘潭地方敢闯丨新增18家!天易经开区省级专精特新中小企业队伍进一步壮大湖南日报新湖南客户端4月13日讯(通讯员郭彦君)湖南省工业和信息化厅近日发布2023年湖南省专精特新中小企业名单,本次公示,天易经开区再创佳绩,有18家企业入围。专精特新中小企业以奉贤人,第一批上海市级乡村旅游重点村,奉贤这些地方上榜!上海乡村是超大城市的稀缺资源,是城市核心功能的重要承载地,是提升城市能级和核心竞争力的战略空间。为助力全面推进乡村振兴战略,深入实施乡村旅游精品工程,市文化旅游局近期开展了第一批市约起!这些地方明起开放露营!又到了花香盈袖草色青青的季节让人忍不住想拥抱自然在草坪上露营放风筝晒太阳静静感受柔婉春风与舒畅暖意想想都很惬意那么问题来了在常州经开区哪里可以露营放风筝呢?官方指导Get一下公园绿总要来一趟东湖走走绿道东湖绿道真是武汉最值得去的地方今天武汉下雨了,原准备去东湖走走听涛道的计划,因着下雨只能取消,另择时间再去。东湖绿道全长有102公里,由七个绿道组成,它们分别是湖中道听涛道磨山道湖山道郊野道白马道和森林道。前几凡妮莎哈金斯刚刚穿了一件有玫瑰图案的透明衣服凡妮莎哈金斯将她令人羡慕的迷你泳衣和热气腾腾的热带衣橱换成了终极春季时装制服。周二,这位女演员在纽约进行了一场性感秀,她穿了几套完全放弃了颜色的服装,并遵循了小裙子和大外套的模式。西方极乐世界在哪里?西方极乐世界佛教信仰与佛学解析在佛教中,西方极乐世界是一个充满祥和安宁的理想境界,被认为是修行者们所向往的圣地。这个概念起源于印度佛教,后来传入中国,成为东亚地区信徒们普遍信仰的净胆固醇一直高需要吃药吗?心血管心血管专家门诊日常胆固醇一直高要吃药吗?医低危别浪费钱。如果你没有不舒服,我的胆固醇一直都高,高多少?六点八九。有几个问题你现在有没有其他疾病,有没有高血压糖尿病冠心病?都没有。首
生活是自己的,与他人无关我们在生活中往往不能忽略他人对我们的看法想法,以至有时我们会过于在意别人的看法,而活成了别人眼中的样子,却忘记了自己的初心。我们所有的理想也好,目标也罢,最终都应该以取悦自己为目的我们每个人努力的付出,终会换取到属于自己的收获来自五湖四海的朋友,缘分让我们相聚头条。我们每个人都是独一无二的存在。头条创作者,也是阅读者。我们每个人努力的付出,终会换取到属于自己的收获。我们每个人都是独一无二的存在。我们每个纳米涂层的工作原理1。纳米是什么意思?什么是纳米技术?它的用途是什么,适用于哪些行业?我们经常在说纳米,那么纳米是什么意思呢?纳米是一种非常小的单位,拿米来举例,一米是由十亿纳米组成。纳米技术是在无励志语录只有努力过才懂得努力的意义励志语录Feb26(1)礼拜六只有努力过才懂得努力的意义别人看不到的坚持痛苦当你的野心配不上你的努力的时候一定要放下脚步一步一步慢慢来来一定会得到你想要的(2)年末倒计时天谈什么苦迎春曲之拥抱晨曦2022。2。26今天是2022年2月26日星期六,农历正月二十六走出家门告别昨天敞开心扉与晨曦来个拥抱晨曦的美丽触角会让你感到温暖和美妙享受大自然的馈赠你会愉悦心情更能体会岁月静好告别冬日的严寒和不慕深情竞芳研,柔情款款为己容银莲花银莲花是以色列的国花,又称为复活之花,花色多彩,美如罂粟,罂粟有毒,而此花却无!银莲花的花朵有多种花色,十分的漂亮,它的花语是失去希望渐渐淡薄的爱期待被抛弃。而不同颜色的花语,它代30岁以后,请过低配的生活你好,我是七月的小雨滴。专注女性成长与情感干货,欢迎关注,我在这陪你到老。30岁,是一个经历阅历不错的年龄段,已经渐渐褪去了稚嫩的想法,渐渐变成熟,也渐渐知道自己想要什么样的生活。恐龙是怎么灭绝的?你知道吗?第一可能,恐龙灭绝于小行星的撞击,6534。83万年前,小行星撞击地球,带来空气污染食物短缺疾病肆虐。第二种可能,气温骤变影响恐龙的卵,白垩纪末期,恐龙蛋蛋壳有变薄的趋势临近灭绝时我国成功发射陆地探测一号01组B星新京报快讯(记者张建林)2月27日7时44分,我国在酒泉卫星发射中心采用长征四号丙遥三十运载火箭,成功发射陆地探测一号01组B星(L波段差分干涉合成孔径雷达卫星B星)。本次发射是长距离地面几千公里的地底是什么样的呢?前苏联探地心计划人类自古以来就想着能上天入地,随着科技的发展,人们现在可以探访月球考察火星发射火箭建立太空空间站人类已经实现了上天,那么入地呢,可以探知吗?美国曾有一部科幻电影地心游记,是法国作家中国成功发射陆地探测一号01组B星将与A星在轨组网中新社北京2月27日电(马帅莎何家玲于泽游)2月27日7时44分,中国在酒泉卫星发射中心采用长征四号丙遥三十运载火箭,成功发射陆地探测一号01组B星(又称L波段差分干涉合成孔径雷达