Я пытаюсь смоделировать простой пример ARM Hello world на своем настольном компьютере. Пробовал и 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. Но мне нужно запускать более сложные двоичные файлы, которые динамически связаны, и я не могу их изменить. Это всего лишь пример.