[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Qemu-devel] [Bug 1263747] Re: Arm64 fails to run a binary which runs OK
From: |
Richard Jones |
Subject: |
[Qemu-devel] [Bug 1263747] Re: Arm64 fails to run a binary which runs OK on real hardware |
Date: |
Mon, 23 Dec 2013 21:27:21 -0000 |
It's an Aarch64 binary so it won't run on 32 bit ARM at all. However I
guess you meant does the equivalent program run on 32 bit ARM, and the
answer is yes, but that doesn't tell us much because OCaml uses separate
code generators for 32 and 64 bit ARM.
The binary is single threaded.
I enabled tracing on qemu and got this:
http://oirase.annexia.org/tmp/arm64-call-trace.txt
The associate disassembly of the binary is here:
http://oirase.annexia.org/tmp/arm64-disassembly.txt
I'm not exactly sure which instruction fails to be emulated properly,
but it looks like one of the ones in the caml_c_call function.
--
You received this bug notification because you are a member of qemu-
devel-ml, which is subscribed to QEMU.
https://bugs.launchpad.net/bugs/1263747
Title:
Arm64 fails to run a binary which runs OK on real hardware
Status in QEMU:
New
Bug description:
Note this is using the not-yet-upstream aarch64 patches from:
https://github.com/susematz/qemu/tree/aarch64-1.6
---- ----
This binary:
http://oirase.annexia.org/tmp/test.gz
runs OK on real aarch64 hardware. It is a statically linked Linux
binary which (if successful) will print "hello, world" and exit
cleanly.
On qemu-arm64 userspace emulator it doesn't print anything and loops
forever using 100% CPU.
---- ----
The following section is only if you wish to compile this binary from
source, otherwise you can ignore it.
First compile OCaml from:
https://github.com/ocaml/ocaml
(note you have to compile it on aarch64 or in qemu, it's not possible
to cross-compile). You will have to apply the one-line patch from:
https://sympa.inria.fr/sympa/arc/caml-list/2013-12/msg00179.html
./configure
make -j1 world.opt
Then do:
echo 'print_endline "hello, world"' > test.ml
./boot/ocamlrun ./ocamlopt -I stdlib stdlib.cmxa test.ml -o test
./test
To manage notifications about this bug go to:
https://bugs.launchpad.net/qemu/+bug/1263747/+subscriptions