Emulacja obcego procesora z poziomu shell'a

Potrzebujesz pomocy z C, C++, perl, python, itp.
Awatar użytkownika
lis6502
Member
Posty: 1798
Rejestracja: 05 listopada 2008, 20:14
Lokalizacja: Miasto Szybowców

Emulacja obcego procesora z poziomu shell'a

Post autor: lis6502 »

Potrzebuję dostosować system w taki sposób, by wykonanie kodu skompilowanego pod inną architekturę nie wywalało błędów.
Dokładnie chodzi mi o taką sytuację:
krosskompilatorem kompiluję nieśmiertelne hello.c. Powstaje mi a.out.
./a.out daje mi na stdout 'hello world!' a nie

Kod: Zaznacz cały

bash: ./a.out: cannot execute binary file
Wiem, że kernel ma taką możliwość (support for MISC binaries) i że z tej możliwości korzysta wine. Pytanie: jak podłączyć odpowiednie binarki pod odpowiedni emulator? Wydaje mi się, że qemu pociągnie tę architekturę.
Pytam, ponieważ potrzebuję obejść problem z configure, mianowicie podaję '--target=sh3-unknown-linux-gnu' (krosskompilator i resztę 'przyjaciół' mam w PATH), a gdy dojdzie do momentu 'checking wherter we are crosscompiling... no' i dalej 'checking size of long' (piszę z pamięci), gdzie skompilowany zostaje conftest.c i badany jest efekt jego działania. Wiadomo, że program nie rusza i konfiguracja staje.
Chyba że ktoś zna sposób na 'przekonanie' configure, że jednak krosskompilujemy...
ODPOWIEDZ