使用dlopen在armhf系统上加载arm共享对象

时间:2012-12-05 12:56:06

标签: linux arm shared-objects

有没有办法在armhf系统上加载为arm(el)编译的共享对象(Ubuntu 12.10 for armhf)? 对于可执行文件,我通过创建以下符号链接来解决问题

/lib/ld-linux.so.3 - > /lib/ld-linuxarmhf.so.3

看看strace输出(尝试加载data_nohf / test.so的最后几行)似乎即使没有二进制映射也是由dlopen完成的。

open("data_nohf/test.so", O_RDONLY|O_CLOEXEC) = 3
read(3, "\177ELF\1\1\1\0\0\0\0\0\0\0\0\0\3\0(\0\1\0\0\0(\356\2\0204\0\0\0"..., 512) = 512
lseek(3, 1456412, SEEK_SET)             = 1456412
read(3, "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"..., 1080) = 1080
lseek(3, 1456140, SEEK_SET)             = 1456140
read(3, "A(\0\0\0aeabi\0\1\36\0\0\0\0056\0\6\6\10\1\t\1\22\4\24\1\25\1\27"..., 41) = 41
exit_group(1)                           = ?

1 个答案:

答案 0 :(得分:-1)

在armhf系统中不支持armel(二进制)的原因在于提到 Debian Hard Float (armhf) for RPi