architecture: 0.983 i386: 0.975 user-level: 0.939 files: 0.910 performance: 0.892 x86: 0.858 ppc: 0.858 PID: 0.857 kernel: 0.839 register: 0.831 device: 0.818 arm: 0.806 peripherals: 0.805 graphic: 0.779 permissions: 0.724 mistranslation: 0.700 boot: 0.698 semantic: 0.696 socket: 0.690 TCG: 0.640 debug: 0.625 hypervisor: 0.570 network: 0.556 risc-v: 0.537 VMM: 0.504 vnc: 0.487 assembly: 0.471 KVM: 0.371 virtual: 0.340 -------------------- i386: 0.989 x86: 0.980 virtual: 0.520 hypervisor: 0.335 files: 0.062 TCG: 0.032 PID: 0.018 register: 0.012 debug: 0.007 semantic: 0.006 arm: 0.004 architecture: 0.003 user-level: 0.003 kernel: 0.003 boot: 0.003 performance: 0.003 device: 0.003 network: 0.002 VMM: 0.002 socket: 0.001 permissions: 0.001 KVM: 0.001 peripherals: 0.001 ppc: 0.001 risc-v: 0.001 graphic: 0.001 mistranslation: 0.000 vnc: 0.000 assembly: 0.000 qemu-i386 fails on system(3) with a cross-toolchain from Buildroot qemu-i386 fails with small C program containing a system(). The C program is cross-compiled with a toolchain created by buildroot (http://buildroot.net/), gcc version 4.6.3, uClibc version 0.9.33.2 . qemu version 1.2.0 (built with http://git.buildroot.net/buildroot/tree/package/qemu/qemu.mk) host machine : Ubuntu 12.04 LTS on x86_64. $ cat sys.c #include #include int main() { int ret = system("echo hello"); printf("%d\n", ret); } $ ../../host/usr/bin/i686-buildroot-linux-uclibc-gcc -o sys sys.c $ file sys sys: ELF 32-bit LSB executable, Intel 80386, version 1 (SYSV), dynamically linked (uses shared libs), not stripped $ ../../host/usr/bin/qemu-i386 ./sys -1 same problem with x86_64 : $ ../../host/usr/bin/x86_64-buildroot-linux-uclibc-gcc -o sys sys.c $ file sys sys: ELF 64-bit LSB executable, x86-64, version 1 (SYSV), dynamically linked (uses shared libs), not stripped $ ../../host/usr/bin/qemu-x86_64 sys -1 works fine with arm : $ ../../host/usr/bin/arm-buildroot-linux-uclibcgnueabi-gcc -o sys sys.c $ file sys sys: ELF 32-bit LSB executable, ARM, version 1 (SYSV), dynamically linked (uses shared libs), not stripped $ ../../host/usr/bin/qemu-arm ./sys hello 0 works fine with mips : $ ../../host/usr/bin/mips-buildroot-linux-uclibc-gcc -o sys sys.c $ file sys sys: ELF 32-bit MSB executable, MIPS, MIPS32 rel2 version 1 (SYSV), dynamically linked (uses shared libs), with unknown capability 0x41000000 = 0xf676e75, with unknown capability 0x10000 = 0x70403, not stripped $ ../../host/usr/bin/qemu-mips sys hello 0 Looks like the long-standing "clone/fork for i386 user mode targets doesn't work" issue. See also discussion in bug 739785... Fixed in 2013 some time.