linux-user: x86_64 target fails to call sys_futex()

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

Bug Description

I'm building the latest QEMU (06b4f00d53637f2c16a62c2cbaa30bffb045cf88) on ARM to run some x86_64 executables in user mode. This is my configuration:

./configure \
  --prefix=/root/qemu-x86_64 \
  --target-list=x86_64-linux-user \
  --disable-system \
  --disable-tools

The following program is used for testing:

https://gist.github.com/hujiajie/e8cff43b574b399c8f59#file-test-c

I compile the test program in Debian-7.5-amd64 like this:

gcc -o test `pkg-config --cflags glib-2.0` test.c `pkg-config --static --libs glib-2.0` -static

and launch the program on ARM with

qemu-x86_64 test

The test crashes with the following message:

qemu: uncaught target signal 11 (Segmentation fault) - core dumped
Segmentation fault

The output of `strace qemu-x86_64 test` is here:

https://gist.github.com/hujiajie/88d1d5e580d432d11b2d#file-test-strace-log

It seems that the error is caused by the failure of the futex syscall.

qemu-i386 could launch the 32-bit test perfectly, the problem only happens on a x86_64 target.

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

The test program works fine with current git master, so I think we have fixed this bug at some point in the last two years.

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.