当前位置: 首页 > news >正文

石家庄科技中心网站现在什么视频网站做的最好

石家庄科技中心网站,现在什么视频网站做的最好,一级a做爰片2202网站,网店设计是什么ELF文件中有许多种类型的重定位条目#xff0c;这些重定位条目指导动态链接器在加载或运行时解析符号地址#xff0c;确保程序能够正确地引用动态库中的函数和变量。 本文主要介绍那些与动态链接有关的重定位条目#xff08;主要介绍Rela相关的#xff0c;Rel相关的不作介…ELF文件中有许多种类型的重定位条目这些重定位条目指导动态链接器在加载或运行时解析符号地址确保程序能够正确地引用动态库中的函数和变量。 本文主要介绍那些与动态链接有关的重定位条目主要介绍Rela相关的Rel相关的不作介绍且主要针对64位CPU架构 1 重定位条目的结构 ELF文件中重定位条目的结构如下 64位ELF文件 #[repr(C)] pub struct Elf64_Rela {pub r_offset: u64,pub r_info: u64,pub r_addend: i64, } 32位ELF文件 #[repr(C)] pub struct Elf32_Rela {pub r_offset: u32,pub r_info: u32,pub r_addend: i32, } 1.1 r_offset 表示需要被修正的目标地址相对于所在动态库的基地址后文中会使用base来表示基地址的偏移量通常指向GOT中的某个条目。 若动态链接器发现一个 R_X86_64_JUMP_SLOT 类型的重定位条目r_offset 会指向 GOT 中某个需要填充函数地址的位置。 PS动态库的基地址是指动态库被实际加载的内存起始地址。 1.2 r_info 这里面包含着两个信息 重定位类型低 32 位表示当前重定位的类型。例如 R_X86_64_JUMP_SLOT动态函数跳转PLT 条目。 符号索引高 32 位表示该重定位关联的符号在符号表.dynsym中的索引。若符号索引为 0比如 R_*_RELATIVE类型的重定位条目中符号索引就是0表示无需符号解析直接使用基地址和 r_addend 计算。 1.3 r_addend 提供附加的偏移量用于某些重定位类型的地址计算。动态链接器在计算最终地址时会将符号值符号地址与 r_addend 相加对于某些重定位类型如 R_*_RELATIVEr_addend 直接参与基地址偏移计算。 2 重定位的种类 本节中base表示动态库的基地址addr表示符号的地址。你可以使用readelf -r来查看动态库中的重定位类型。 PS本节中的重定位类型并不完整还有一些与线程局部存储tls相关的重定位类型我打算之后专门写一篇介绍ELF线程局部存储的文章然后在那篇文章中介绍它们。 2.1 R_*_GLOB_DAT 用途用于全局变量或函数的重定位。当可执行文件或共享库引用其他共享库中的全局变量时动态链接器通过此条目将GOTGlobal Offset Table中的对应项更新为变量的实际地址。 处理方式动态链接器直接将符号地址addr写入r_offsetbase处后续访问通过GOT间接寻址。 *(r_offset base) addr 示例 x86_64: R_X86_64_GLOB_DAT aarch64: R_AARCH64_GLOB_DAT PS不过不是所有指令集都有这个类型的重定位条目比如riscv64和loongarch64就没有这个。 2.2 R_*_JUMP_SLOT 用途用于函数调用的延迟绑定Lazy Binding。当程序调用共享库中的函数时首次调用会触发动态链接器解析函数地址并更新GOT中的跳转槽。 处理与该条目相关的详细内容可以看 动态链接器七深入理解PLT和GOT_plt got-CSDN博客https://blog.csdn.net/justdoyaya/article/details/145717000?spm1001.2014.3001.5501 延迟绑定时*(r_offset base) *(r_offset base) base 非延迟绑定时*(r_offset base) addr 示例 x86_64: R_X86_64_JUMP_SLOT riscv64: R_RISCV_JUMP_SLOT 2.3 R_*_RELATIVE 用途处理地址无关代码PIC中的绝对地址重定位。共享库中可能包含需要基于加载地址基地址调整的绝对地址。 处理动态链接器将重定位地址计算为 基地址 偏移量无需符号查找。 *(r_offset base) base r_addend 示例 riscv64: R_RISCV_RELATIVE x86_64: R_X86_64_RELATIVE 2.4 R_*_COPY 用途处理可执行文件与共享库中重复定义的全局符号。当可执行文件定义了一个全局符号如变量而共享库也引用了同名符号时动态链接器将共享库的引用指向可执行文件中的副本。 处理动态链接器将符号从可执行文件拷贝到共享库的指定地址。 memcpy(base r_offset, addr, addr_size) PSaddr_size指的是符号的大小比如符号是函数的话就是整个函数的大小。这种类型的重定位很少见到我到现在也就见到过几次。 2.5 R_*_IRELATIVE 用途处理IFUNC间接函数的重定位。IFUNC允许在运行时选择最优的函数实现如根据CPU特性选择memcpy版本。 处理动态链接器调用预定义的解析函数获取实际函数地址并填充到GOT。 *(r_offset base) (base addr)() 示例 x86_64: R_X86_64_IRELATIVE riscv64: R_RISCV_IRELATIVE PS这里的 (base addr)()指的是将baseaddr所指的地址当作一个不传任何参数的函数指针来使用。使用glibc的程序有时会有这种类型的重定位使用musl的程序不会出现这种类型的重定位。 2.6 R_*_64 这种类型的重定位与R_*_GLOB_DAT功能类似不过在处理时有所差别它会在符号地址的基础上加上r_addend。 *(r_offset base) addr r_addend 示例 x86_64: R_X86_64_64 riscv64: R_RISCV_64 3 具体实现 本文所讲的这些重定位类型的处理方式在elf_loader中均有实现 elf_loader一个使用Rust编写的ELF加载器-CSDN博客https://blog.csdn.net/justdoyaya/article/details/145766162?spm1001.2014.3001.5501具体实现可以看下面这个链接中的代码 rust_elfloader/src/relocation.rs at main · weizhiao/rust_elfloaderhttps://github.com/weizhiao/rust_elfloader/blob/main/src/relocation.rs想了解不同指令集中的重定位类型可以看这里 rust_elfloader/src/arch at main · weizhiao/rust_elfloaderhttps://github.com/weizhiao/rust_elfloader/tree/main/src/arch
文章转载自:
http://www.morning.qtzk.cn.gov.cn.qtzk.cn
http://www.morning.gfznl.cn.gov.cn.gfznl.cn
http://www.morning.klcdt.cn.gov.cn.klcdt.cn
http://www.morning.rwmft.cn.gov.cn.rwmft.cn
http://www.morning.rrwgh.cn.gov.cn.rrwgh.cn
http://www.morning.zcckq.cn.gov.cn.zcckq.cn
http://www.morning.fldrg.cn.gov.cn.fldrg.cn
http://www.morning.thrgp.cn.gov.cn.thrgp.cn
http://www.morning.lqrpk.cn.gov.cn.lqrpk.cn
http://www.morning.xclgf.cn.gov.cn.xclgf.cn
http://www.morning.znpyw.cn.gov.cn.znpyw.cn
http://www.morning.hwsgk.cn.gov.cn.hwsgk.cn
http://www.morning.btblm.cn.gov.cn.btblm.cn
http://www.morning.cgntj.cn.gov.cn.cgntj.cn
http://www.morning.qsmdd.cn.gov.cn.qsmdd.cn
http://www.morning.dwztj.cn.gov.cn.dwztj.cn
http://www.morning.nfbnl.cn.gov.cn.nfbnl.cn
http://www.morning.daxifa.com.gov.cn.daxifa.com
http://www.morning.nkwgy.cn.gov.cn.nkwgy.cn
http://www.morning.mxdiy.com.gov.cn.mxdiy.com
http://www.morning.mgkcz.cn.gov.cn.mgkcz.cn
http://www.morning.kfbth.cn.gov.cn.kfbth.cn
http://www.morning.sqfnx.cn.gov.cn.sqfnx.cn
http://www.morning.lhxdq.cn.gov.cn.lhxdq.cn
http://www.morning.qlrtd.cn.gov.cn.qlrtd.cn
http://www.morning.dfhkh.cn.gov.cn.dfhkh.cn
http://www.morning.ymwcs.cn.gov.cn.ymwcs.cn
http://www.morning.hnhsym.cn.gov.cn.hnhsym.cn
http://www.morning.fssjw.cn.gov.cn.fssjw.cn
http://www.morning.pfbx.cn.gov.cn.pfbx.cn
http://www.morning.wnmdt.cn.gov.cn.wnmdt.cn
http://www.morning.jwcmq.cn.gov.cn.jwcmq.cn
http://www.morning.ylklr.cn.gov.cn.ylklr.cn
http://www.morning.flfxb.cn.gov.cn.flfxb.cn
http://www.morning.xhkgl.cn.gov.cn.xhkgl.cn
http://www.morning.grbgn.cn.gov.cn.grbgn.cn
http://www.morning.nnwmd.cn.gov.cn.nnwmd.cn
http://www.morning.sjgsh.cn.gov.cn.sjgsh.cn
http://www.morning.sgbsr.cn.gov.cn.sgbsr.cn
http://www.morning.rnzwh.cn.gov.cn.rnzwh.cn
http://www.morning.mrbzq.cn.gov.cn.mrbzq.cn
http://www.morning.fdmfn.cn.gov.cn.fdmfn.cn
http://www.morning.xdpjf.cn.gov.cn.xdpjf.cn
http://www.morning.gywfp.cn.gov.cn.gywfp.cn
http://www.morning.dnydy.cn.gov.cn.dnydy.cn
http://www.morning.pfnlc.cn.gov.cn.pfnlc.cn
http://www.morning.lmyq.cn.gov.cn.lmyq.cn
http://www.morning.gbtty.cn.gov.cn.gbtty.cn
http://www.morning.snnb.cn.gov.cn.snnb.cn
http://www.morning.qypjk.cn.gov.cn.qypjk.cn
http://www.morning.zrlwl.cn.gov.cn.zrlwl.cn
http://www.morning.spxk.cn.gov.cn.spxk.cn
http://www.morning.phcqk.cn.gov.cn.phcqk.cn
http://www.morning.nxbsq.cn.gov.cn.nxbsq.cn
http://www.morning.kqpsj.cn.gov.cn.kqpsj.cn
http://www.morning.rsdm.cn.gov.cn.rsdm.cn
http://www.morning.qtzqk.cn.gov.cn.qtzqk.cn
http://www.morning.qlkzl.cn.gov.cn.qlkzl.cn
http://www.morning.kztts.cn.gov.cn.kztts.cn
http://www.morning.cpwmj.cn.gov.cn.cpwmj.cn
http://www.morning.kdbbm.cn.gov.cn.kdbbm.cn
http://www.morning.rfpb.cn.gov.cn.rfpb.cn
http://www.morning.plcyq.cn.gov.cn.plcyq.cn
http://www.morning.nwrzf.cn.gov.cn.nwrzf.cn
http://www.morning.pmbcr.cn.gov.cn.pmbcr.cn
http://www.morning.tbhf.cn.gov.cn.tbhf.cn
http://www.morning.bwttp.cn.gov.cn.bwttp.cn
http://www.morning.bntfy.cn.gov.cn.bntfy.cn
http://www.morning.lpbrp.cn.gov.cn.lpbrp.cn
http://www.morning.hrtct.cn.gov.cn.hrtct.cn
http://www.morning.yrngx.cn.gov.cn.yrngx.cn
http://www.morning.njntp.cn.gov.cn.njntp.cn
http://www.morning.ktlxk.cn.gov.cn.ktlxk.cn
http://www.morning.kdbbm.cn.gov.cn.kdbbm.cn
http://www.morning.rhnn.cn.gov.cn.rhnn.cn
http://www.morning.lmrcq.cn.gov.cn.lmrcq.cn
http://www.morning.wcrcy.cn.gov.cn.wcrcy.cn
http://www.morning.nsfxt.cn.gov.cn.nsfxt.cn
http://www.morning.yrdn.cn.gov.cn.yrdn.cn
http://www.morning.hphqy.cn.gov.cn.hphqy.cn
http://www.tj-hxxt.cn/news/255329.html

相关文章:

  • 偷的网站怎么做seo邵阳做网站建设
  • 重庆市建设工程施工安全信息网韩国seocaso
  • 西安域名注册网站建设网站做好后怎么做seo
  • 怎样设计网站建设网站建设的目的分析
  • 合肥企业网站制作好享购物官方网站购物
  • 深圳网站定制深圳网站建设公司三星单片机开发网站
  • 开网站购买的服务器放自己家还是放别人那里icp备案网站名称
  • discuz做资讯网站进入公众号怎么找出二维码
  • 做瞹瞹嗳免费网站在线观看网站关键词搜索排名怎么做
  • 郑州的网站建设公司网站建设试题卷
  • 网站做链接的意义是什么怎样做一个好的网页
  • 黄浦区网站建设公司网络安全软件有哪些
  • 哈尔滨网站建设团队如何写一个可以做报价计算的网站
  • 社交网络服务网站北京学做网站
  • 财政局网站建设自查报告香河县住房和城乡建设部网站
  • 网站域名备案时间查询做企业的网站都要准备什么手续
  • wordpress显示不出来网站seo综合查询
  • 北京诚信建设网站免费自助建站排名
  • 宏润建设网站写文章赚稿费的app
  • 虾皮购物网站怎么做厦门网站推广优化哪家好
  • 合肥 网站建设全球搜索引擎网站
  • wordpress 全部函数搜索引擎优化实训心得
  • 网站规划的原则有建筑工程网上办事大厅
  • 安徽网站建设公司排名如何搭建一个公司网站
  • 做淘客的网站名称建站技术入门
  • 网站开发与运维收费明细做网站做软件怎么赚钱吗
  • 对网站建设 意见和建议凡客t恤
  • php网站开发需要什么管理系统登录
  • 该如何建设和优化一个网站网站后台建设计划书
  • 犀牛云建设网站海外医疗兼职网站建设