On Fri, Feb 11, 2011 at 9:49 PM, Andi Kleen <a...@linux.intel.com> wrote: > Hi, > > Is the linux-user qemu for x86-64/i386 supposed to work? > > For example running it with a simple hello world on FC14 in gdb: > > /home/ak/tsrc/hello: ELF 64-bit LSB executable, x86-64, version 1 (SYSV), > dynamically linked (uses shared libs), for GNU/Linux 2.6.32, not stripped > > [Thread debugging using libthread_db enabled] > ERROR: ioctl(SNDCTL_DSP_MAPINBUF): target=0x80085013 host=0x80105013 > ERROR: ioctl(SNDCTL_DSP_MAPOUTBUF): target=0x80085014 host=0x80105014 > > Program received signal SIGSEGV, Segmentation fault. > 0x000000006021f854 in static_code_gen_buffer () > (gdb) disp/3i $pc > 1: x/3i $pc > => 0x6021f854 <static_code_gen_buffer+162660>: mov (%rbx),%rbp > 0x6021f857 <static_code_gen_buffer+162663>: mov 0x28(%r14),%rbx > 0x6021f85b <static_code_gen_buffer+162667>: > add $0xffffffffffffff88,%rbx > (gdb) p $rbx > $2 = 0 > > I tested a few releases back, 0.13 and also 14-rc0 and they > all segfault, although they are not all in the same place. > The qemu-user shipped by Fedora also seems to have the same problem. > > Is this a known issue or am I doing something obviously wrong?
I don't have any problems running a statically linked x86_64 helloworld program in an i386 chroot. Dynamically linked programs try to use wrong libraries, but at least running /lib64/ld-linux-x86-64.so.2 directly works.