[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Qemu-devel] qemu-arm in various flavours and circumstances
From: |
Lennert Buytenhek |
Subject: |
[Qemu-devel] qemu-arm in various flavours and circumstances |
Date: |
Sat, 7 Aug 2004 14:37:01 +0200 |
User-agent: |
Mutt/1.4.1i |
OK, I built a number of different ARM binaries with different toolchains,
a few different versions of qemu, and ran them under a few different
circumstances.
The test
--------
I made the following 27 "Hello, world!" binaries (all static):
- hello-arm-unknown-linux-gnu-gcc-2.95.3-glibc-{2.1.3,2.2.2}
- hello-arm-unknown-linux-gnu-gcc-3.2.3-glibc-{2.2.3,2.2.5,2.3.2}
- hello-arm-unknown-linux-gnu-gcc-3.3.1-glibc-2.3.2
- hello-arm-unknown-linux-gnu-gcc-3.3-glibc-{2.2.5,2.3.2}
- hello-arm-unknown-linux-gnu-gcc-3.4.0-glibc-2.3.2
- hello-armv4eb-redhat-linux-gcc-{3.3.2,3.3.3,3.4.0}-glibc-2.3.2
- hello-armv4e-redhat-linux-gcc-{3.3.2,3.3.3,3.4.0}-glibc-2.3.2
- hello-armv5eb-redhat-linux-gcc-{3.3.2,3.3.3,3.4.0}-glibc-2.3.2
- hello-armv5e-redhat-linux-gcc-{3.3.2,3.3.3,3.4.0}-glibc-2.3.2
- hello-armv5teb-redhat-linux-gcc-{3.3.2,3.3.3,3.4.0}-glibc-2.3.2
- hello-armv5te-redhat-linux-gcc-{3.3.2,3.3.3,3.4.0}-glibc-2.3.2
And used the following versions of qemu:
- qemu 0.6.0
- qemu 20040806
- qemu 20040806 plus patch.qemu_5e, patch.qemu_rrx, patch.qemu_selfmodify
Each version of qemu was built on:
- Red Hat 7.3
- Fedora Core 2
And each invocation of "qemu-version target-binary" was done with both
'setarch i686' and without. So, 12 (3*2*2) different runs for each
target binary, 12*27=324 runs total. All runs are done on a FC2 host.
The results
-----------
bigendian:
- The bigendian binaries (armv?eb, armv?teb) always result in
"Error loading $NAME_OF_BINARY", under every version of qemu
(I didn't muck with WORDS_BIGENDIAN.)
setarch i686:
- An FC2-compiled qemu-arm, when ran on an FC2 host without setarch i686,
under each and every circumstance gives a sig11.
- An FC2-compiled qemu-arm, when ran on an FC2 host with setarch i686,
always behaves the same as a RH73-compiled qemu-arm when ran on an FC2
host. Meaning, sometimes it works, sometimes it doesn't -- see below.
When using either a RH73-compiled qemu or setarch i686:
- All arm-unknown-linux-gnu and armv4e-redhat-linux toolchains produce
binaries that work under qemu.
- There is no difference in results between qemu 0.6.0 and qemu 20040806.
- There is no difference in results between armv5e and armv5te binaries.
- All armv5(t)e binaries give a sig11 under qemu 0.6.0 and qemu 20040806,
but under qemu 20040806 plus Paul's three patches they give sig4:
"qemu: uncaught target signal 4 (Illegal instruction) - exiting"
--L
- [Qemu-devel] qemu-arm in various flavours and circumstances,
Lennert Buytenhek <=