linux 编译指定加载器,如何覆盖Linux下elf可执行文件的.interp标头中指定的链接器?...

我有一个交叉编译器,在其.interp标头中指定了一个自定义加载器:

objdump -s beaglebone/x86_64-angstromsdk-linux/usr/bin/armv7a-angstrom-linux-gnueabi/arm-angstrom-linux-gnueabi-g++ | head

beaglebone/x86_64-angstromsdk-linux/usr/bin/armv7a-angstrom-linux-gnueabi/arm-angstrom-linux-gnueabi-g++: file format elf64-x86-64

Contents of section .interp:

400200 2f757372 2f6c6f63 616c2f6f 65636f72 /usr/local/oecor

400210 652d7838 365f3634 2f737973 726f6f74 e-x86_64/sysroot

400220 732f7838 365f3634 2d616e67 7374726f s/x86_64-angstro

400230 6d73646b 2d6c696e 75782f6c 69622f6c msdk-linux/lib/l

400240 642d6c69 6e75782d 7838362d 36342e73 d-linux-x86-64.s

400250 6f2e3200 o.2.

我希望能够在不将其安装到系统位置的情况下使用该二进制文件.是否可以覆盖.interp标头中指定的加载程序,并指示Linux使用系统加载程序(/lib/x86_64-linux-gnu/ld-linux-x86-64.so.2)?尽管无法执行支持程序,但在/lib/x86_64-linux-gnu/ld-linux-x86-64.so.2上运行arm-angstrom-linux-gnueabi-g可以手动进行.

解决方法:

标签:dynamic-linking,elf,cross-compiling,linux

来源: https://codeday.me/bug/20191201/2078869.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值