[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

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
- 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"


reply via email to

[Prev in Thread] Current Thread [Next in Thread]