Open probonopd opened 4 years ago
The important error there is:
../kpx_cpu/sheepshaver_glue.cpp:813:2: error: #error "FIXME: You don't have the capability to skip instruction within signal handlers"
#error "FIXME: You don't have the capability to skip instruction within signal handlers"
If you want to use SheepShaver on a new architecture, you at least need to write a relevant instruction skip implementation for it in CrossPlatform/sigsegv.cpp
.
To clarify the mechanism a bit, the configure
script does a test of the signal handling code, and if the test case fails to build or fails to run through successfully, HAVE_SIGSEGV_SKIP_INSTRUCTION
is not set. But as you can see in sheepshaver_glue.cpp
there's no alternative if there's no instruction skip available, it just fails to build. https://github.com/cebix/macemu/blob/master/SheepShaver/src/kpx_cpu/sheepshaver_glue.cpp#L812
Thanks @rakslice. So no one has been running it on aarch64 yet?
Can you estimate roughly how much work it would take?
Not an aarch64
build -- maybe there's someone running an armhf
or similar build on an aarch64
Ubuntu install, since there's already a case in sigsegv.cpp
for __arm__
and your distro and CPU are compatible with it?
No clue on how much work to get an aarch64
build working, mainly because it's really unknown what additional issues will come up and how long it would take to solve them all, if they are even solvable. And that will still be a build without a path forward on JIT, so a build where let's say the hardware to run it fast enough for it to be useful for anything is quite unusual.
With "Apple Silicon" coming, I could imagine future Mac users to be very interested in an aarch64 version ;-)
With "Apple Silicon" coming, I could imagine future Mac users to be very interested in an aarch64 version ;-)
The future is now.
My fork now supports Linux/arm64.
I am trying to compile SheepShaver on Ubuntu 18.04.4 LTS (Bionic Beaver) on an aarch64 (Amlogic-based x96 system with Armbian by balbes150). I am getting: