首页 > 代码库 > linux 修改 elf 文件的dynamic linker 和 rpath
linux 修改 elf 文件的dynamic linker 和 rpath
好久没写了,z最近各种事情纠结。。。。天平座的伤不起。。。
转到正题,最近遇到了linux 下面不同 glibc gcc 不兼容问题,为了使高版本gcc glibc 不依赖于宿主机的环境,做了一系列的工作,结果还算满意,简单记录一下
glibc 版本的问题解决方案在于把 glibc 库抽离出来和可执行文件一起发布
dynamic linker 比较恶心了,由于它是写死在elf 文件的,为了让他在别的机器上跑起来,需要修改
修改目前主要有两种方法 1 编译的时候
-Wl,-dynamic-linker -Wl ,--rpath 这个方法在编译的时候写死了,不是很方便
google 一番,发现了一个神器。。。
PatchELF 隆重出场
https://nixos.org/patchelf.html
里面有详细的说明,很强大不解释。。。。
另外在期间参考的两篇文章:
https://www.sunchangming.com/blog/post/4122.html
http://chenyufei.info/blog/2012-09-14/packaging-linux-applications/
对动态连接器感兴趣的可以看看 《程序员的自我修养。。。>>
linux 修改 elf 文件的dynamic linker 和 rpath
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。