qemu-i386 fails on system(3) with a cross-toolchain from Buildroot

Bug #1076445 reported by fperrad
6
This bug affects 1 person
Affects Status Importance Assigned to Milestone
QEMU
Fix Released
Undecided
Unassigned

Bug Description

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 <stdio.h>
    #include <stdlib.h>

    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

Revision history for this message
Peter Maydell (pmaydell) wrote :

Looks like the long-standing "clone/fork for i386 user mode targets doesn't work" issue. See also discussion in bug 739785...

Revision history for this message
Peter Maydell (pmaydell) wrote :

Fixed in 2013 some time.

Changed in qemu:
status: New → Fix Released
To post a comment you must log in.
This report contains Public information  
Everyone can see this information.

Other bug subscribers

Remote bug watches

Bug watches keep track of this bug in other bug trackers.