我正试图在我的台式计算机上模拟一个简单的Hello world ARM示例。我尝试了qemu和gem5。两者都给出了类似的错误。他们找不到ld-linux-aarch64.so.1
。其实我也找不到。如果我能找到它,我会用-L (在qemu中)或--redirects (在gem5中)来显示它。
该文件为:
armhello: ELF 64-bit LSB shared object, ARM aarch64, version 1 (SYSV), dynamically linked, interpreter /lib/ld-linux-aarch64.so.1, BuildID[sha1]=23a21b7a545ac510923b6b3713d2bbee092f820a, for GNU/Linux 3.7.0, not stripped
它是用:aarch64-linux-gnu-gcc
编译的
我正在尝试使用以下命令在qemu中运行它:
qemu-aarch64 armhello
我得到了这个错误:
/lib/ld-linux-aarch64.so.1: No such file or directory
我尝试用以下命令在gem5中运行它:(simpleARM.py指向我的可执行文件(名为armhello))
build/ARM/gem5.opt configs/tutorial/simpleARM.py
我得到了这个错误:
panic: panic condition fd < 0 occurred: Failed to open file /lib/ld-linux-aarch64.so.1.
我该如何解决这个问题呢?
注意:我知道它在编译时是有效的--static。但我需要运行更复杂的动态链接的二进制文件,并且我无法更改这些文件。这只是一个例子。
发布于 2020-10-27 17:18:06
对于gem5,您可以使用--redirects
和--interp-dir
:How to run a dynamically linked executable syscall emulation mode se.py in gem5?
对于qemu,您需要-L
:Using dynamic linker with qemu-arm
https://stackoverflow.com/questions/64547306
复制相似问题