qemu-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Qemu-devel] qemu-i386 -L / /usr/bin/perl -e 'print `perl -v`' doesn't p


From: Jay Schulist
Subject: [Qemu-devel] qemu-i386 -L / /usr/bin/perl -e 'print `perl -v`' doesn't print
Date: Thu, 22 Oct 2009 10:25:59 -0700

Hello,
I have an issue with perl and qemu that I'm hoping someone knows what
is happening. I'm using qemu-i386 on a fedora 11 intel system and the
following command fails:

$ qemu-i386 -L / /usr/bin/perl -e 'print `perl -v`'
qemu: Unsupported syscall: 240

I've included the strace at the end of the message. The command should
give the following output:

$ /usr/bin/perl -e 'print `perl -v`'

This is perl, v5.10.0 built for i386-linux-thread-multi

Copyright 1987-2007, Larry Wall

Perl may be copied only under the terms of either the Artistic License or the
GNU General Public License, which may be found in the Perl 5 source kit.

Complete documentation for Perl, including FAQ lists, should be found on
this system using "man perl" or "perldoc perl".  If you have access to the
Internet, point your browser at http://www.perl.org/, the Perl Home Page.


Note the following works just fine:

$ qemu-i386 -L / /usr/bin/perl -v
qemu: Unsupported syscall: 240

This is perl, v5.10.0 built for i386-linux-thread-multi

Copyright 1987-2007, Larry Wall

Perl may be copied only under the terms of either the Artistic License or the
GNU General Public License, which may be found in the Perl 5 source kit.

Complete documentation for Perl, including FAQ lists, should be found on
this system using "man perl" or "perldoc perl".  If you have access to the
Internet, point your browser at http://www.perl.org/, the Perl Home Page.


I am using qemu-i386 v0.11.0 as shown below and other binaries run
under qemu look fine. Could you suggest a way to get this perl command
working.

Thank you,
Jay

-------------------------------------------------------
# ./configure --prefix=/usr --target-list=i386-linux-user
# make
# make install

$ qemu-i386 -v
qemu-i386 version 0.11.0, Copyright (c) 2003-2008 Fabrice Bellard
usage: qemu-i386 [options] program [arguments...]
Linux CPU emulator (compiled for i386 emulation)

Standard options:
-h                print this help
-g port           wait gdb connection to port
-L path           set the elf interpreter prefix (default=/usr/gnemul/qemu-i386)
-s size           set the stack size in bytes (default=524288)
-cpu model        select CPU (-cpu ? for list)
-drop-ld-preload  drop LD_PRELOAD for target process
-E var=value      sets/modifies targets environment variable(s)
-U var            unsets targets environment variable(s)
-0 argv0          forces target process argv[0] to be argv0

Debug options:
-d options   activate log (logfile=/tmp/qemu.log)
-p pagesize  set the host page size to 'pagesize'
-singlestep  always run in singlestep mode
-strace      log system calls

Environment variables:
QEMU_STRACE       Print system calls and arguments similar to the
                  'strace' program.  Enable by setting to any value.
You can use -E and -U options to set/unset environment variables
for target process.  It is possible to provide several variables
by repeating the option.  For example:
    -E var1=val2 -E var2=val2 -U LD_PRELOAD -U LD_DEBUG
Note that if you provide several changes to single variable
last change will stay in effect.


-------------------------------------------------------
address@hidden ~]$ qemu-i386 -strace -L / /usr/bin/perl -e
'print `perl -v`'
18454 brk(NULL) = 0x0804a000
18454 uname(0x4007f296) = 0
18454 access("/etc/ld.so.preload",R_OK) = -1 errno=2 (No such file or directory)
18454 
open("/usr/lib/perl5/5.10.0/i386-linux-thread-multi/CORE/tls/i686/sse2/libperl.so",O_RDONLY)
= -1 errno=2 (No such file or directory)
18454 
stat64("/usr/lib/perl5/5.10.0/i386-linux-thread-multi/CORE/tls/i686/sse2",0x4007efcc)
= -1 errno=2 (No such file or directory)
18454 
open("/usr/lib/perl5/5.10.0/i386-linux-thread-multi/CORE/tls/i686/libperl.so",O_RDONLY)
= -1 errno=2 (No such file or directory)
18454 
stat64("/usr/lib/perl5/5.10.0/i386-linux-thread-multi/CORE/tls/i686",0x4007efcc)
= -1 errno=2 (No such file or directory)
18454 
open("/usr/lib/perl5/5.10.0/i386-linux-thread-multi/CORE/tls/sse2/libperl.so",O_RDONLY)
= -1 errno=2 (No such file or directory)
18454 
stat64("/usr/lib/perl5/5.10.0/i386-linux-thread-multi/CORE/tls/sse2",0x4007efcc)
= -1 errno=2 (No such file or directory)
18454 
open("/usr/lib/perl5/5.10.0/i386-linux-thread-multi/CORE/tls/libperl.so",O_RDONLY)
= -1 errno=2 (No such file or directory)
18454 
stat64("/usr/lib/perl5/5.10.0/i386-linux-thread-multi/CORE/tls",0x4007efcc)
= -1 errno=2 (No such file or directory)
18454 
open("/usr/lib/perl5/5.10.0/i386-linux-thread-multi/CORE/i686/sse2/libperl.so",O_RDONLY)
= -1 errno=2 (No such file or directory)
18454 
stat64("/usr/lib/perl5/5.10.0/i386-linux-thread-multi/CORE/i686/sse2",0x4007efcc)
= -1 errno=2 (No such file or directory)
18454 
open("/usr/lib/perl5/5.10.0/i386-linux-thread-multi/CORE/i686/libperl.so",O_RDONLY)
= -1 errno=2 (No such file or directory)
18454 
stat64("/usr/lib/perl5/5.10.0/i386-linux-thread-multi/CORE/i686",0x4007efcc)
= -1 errno=2 (No such file or directory)
18454 
open("/usr/lib/perl5/5.10.0/i386-linux-thread-multi/CORE/sse2/libperl.so",O_RDONLY)
= -1 errno=2 (No such file or directory)
18454 
stat64("/usr/lib/perl5/5.10.0/i386-linux-thread-multi/CORE/sse2",0x4007efcc)
= -1 errno=2 (No such file or directory)
18454 
open("/usr/lib/perl5/5.10.0/i386-linux-thread-multi/CORE/libperl.so",O_RDONLY)
= 3
18454 read(3,0x4007f094,512) = 512
18454 fstat64(3,0x4007efa0) = 0
18454 mmap2(NULL,4096,PROT_READ|PROT_WRITE,MAP_PRIVATE|MAP_ANONYMOUS,-1,0)
= 0x42083000
18454 mmap2(NULL,2473052,PROT_EXEC|PROT_READ,MAP_PRIVATE|MAP_DENYWRITE,3,0)
= 0x42084000
18454 
mmap2(0x422db000,20480,PROT_READ|PROT_WRITE,MAP_PRIVATE|MAP_DENYWRITE|MAP_FIXED,3,0x257)
= 0x422db000
18454 close(3) = 0
18454 
open("/usr/lib/perl5/5.10.0/i386-linux-thread-multi/CORE/libresolv.so.2",O_RDONLY)
= -1 errno=2 (No such file or directory)
18454 open("/etc/ld.so.cache",O_RDONLY) = 3
18454 fstat64(3,0x4007ef5c) = 0
18454 mmap2(NULL,100843,PROT_READ,MAP_PRIVATE,3,0) = 0x422e0000
18454 close(3) = 0
18454 open("/lib/libresolv.so.2",O_RDONLY) = 3
18454 read(3,0x4007f078,512) = 512
18454 fstat64(3,0x4007ef90) = 0
18454 mmap2(0x00cb6000,100424,PROT_EXEC|PROT_READ,MAP_PRIVATE|MAP_DENYWRITE,3,0)
= 0x00cb6000
18454 mprotect(0x00cca000,4096,PROT_NONE) = 0
18454 
mmap2(0x00ccb000,8192,PROT_READ|PROT_WRITE,MAP_PRIVATE|MAP_DENYWRITE|MAP_FIXED,3,0x14)
= 0x00ccb000
18454 
mmap2(0x00ccd000,6216,PROT_READ|PROT_WRITE,MAP_PRIVATE|MAP_ANONYMOUS|MAP_FIXED,-1,0)
= 0x00ccd000
18454 close(3) = 0
18454 
open("/usr/lib/perl5/5.10.0/i386-linux-thread-multi/CORE/libnsl.so.1",O_RDONLY)
= -1 errno=2 (No such file or directory)
18454 open("/lib/libnsl.so.1",O_RDONLY) = 3
18454 read(3,0x4007f05c,512) = 512
18454 fstat64(3,0x4007ef70) = 0
18454 mmap2(0x05c85000,108520,PROT_EXEC|PROT_READ,MAP_PRIVATE|MAP_DENYWRITE,3,0)
= 0x05c85000
18454 
mmap2(0x05c9c000,8192,PROT_READ|PROT_WRITE,MAP_PRIVATE|MAP_DENYWRITE|MAP_FIXED,3,0x16)
= 0x05c9c000
18454 
mmap2(0x05c9e000,6120,PROT_READ|PROT_WRITE,MAP_PRIVATE|MAP_ANONYMOUS|MAP_FIXED,-1,0)
= 0x05c9e000
18454 close(3) = 0
18454 
open("/usr/lib/perl5/5.10.0/i386-linux-thread-multi/CORE/libdl.so.2",O_RDONLY)
= -1 errno=2 (No such file or directory)
18454 open("/lib/libdl.so.2",O_RDONLY) = 3
18454 read(3,0x4007f040,512) = 512
18454 fstat64(3,0x4007ef50) = 0
18454 mmap2(0x00576000,16500,PROT_EXEC|PROT_READ,MAP_PRIVATE|MAP_DENYWRITE,3,0)
= 0x00576000
18454 
mmap2(0x00579000,8192,PROT_READ|PROT_WRITE,MAP_PRIVATE|MAP_DENYWRITE|MAP_FIXED,3,0x2)
= 0x00579000
18454 close(3) = 0
18454 
open("/usr/lib/perl5/5.10.0/i386-linux-thread-multi/CORE/libm.so.6",O_RDONLY)
= -1 errno=2 (No such file or directory)
18454 open("/lib/libm.so.6",O_RDONLY) = 3
18454 read(3,0x4007f024,512) = 512
18454 fstat64(3,0x4007ef30) = 0
18454 mmap2(0x0054c000,159872,PROT_EXEC|PROT_READ,MAP_PRIVATE|MAP_DENYWRITE,3,0)
= 0x0054c000
18454 
mmap2(0x00572000,8192,PROT_READ|PROT_WRITE,MAP_PRIVATE|MAP_DENYWRITE|MAP_FIXED,3,0x25)
= 0x00572000
18454 close(3) = 0
18454 
open("/usr/lib/perl5/5.10.0/i386-linux-thread-multi/CORE/libcrypt.so.1",O_RDONLY)
= -1 errno=2 (No such file or directory)
18454 open("/lib/libcrypt.so.1",O_RDONLY) = 3
18454 read(3,0x4007f008,512) = 512
18454 fstat64(3,0x4007ef20) = 0
18454 mmap2(NULL,196956,PROT_EXEC|PROT_READ,MAP_PRIVATE|MAP_DENYWRITE,3,0)
= 0x422f9000
18454 
mmap2(0x42301000,8192,PROT_READ|PROT_WRITE,MAP_PRIVATE|MAP_DENYWRITE|MAP_FIXED,3,0x7)
= 0x42301000
18454 
mmap2(0x42303000,155996,PROT_READ|PROT_WRITE,MAP_PRIVATE|MAP_ANONYMOUS|MAP_FIXED,-1,0)
= 0x42303000
18454 close(3) = 0
18454 
open("/usr/lib/perl5/5.10.0/i386-linux-thread-multi/CORE/libutil.so.1",O_RDONLY)
= -1 errno=2 (No such file or directory)
18454 open("/lib/libutil.so.1",O_RDONLY) = 3
18454 read(3,0x4007efec,512) = 512
18454 fstat64(3,0x4007ef00) = 0
18454 mmap2(NULL,4096,PROT_READ|PROT_WRITE,MAP_PRIVATE|MAP_ANONYMOUS,-1,0)
= 0x4232a000
18454 mmap2(0x00dfa000,12420,PROT_EXEC|PROT_READ,MAP_PRIVATE|MAP_DENYWRITE,3,0)
= 0x00dfa000
18454 
mmap2(0x00dfc000,8192,PROT_READ|PROT_WRITE,MAP_PRIVATE|MAP_DENYWRITE|MAP_FIXED,3,0x1)
= 0x00dfc000
18454 close(3) = 0
18454 
open("/usr/lib/perl5/5.10.0/i386-linux-thread-multi/CORE/libpthread.so.0",O_RDONLY)
= -1 errno=2 (No such file or directory)
18454 open("/lib/libpthread.so.0",O_RDONLY) = 3
18454 read(3,0x4007efd0,512) = 512
18454 fstat64(3,0x4007eee0) = 0
18454 mmap2(0x0057d000,106976,PROT_EXEC|PROT_READ,MAP_PRIVATE|MAP_DENYWRITE,3,0)
= 0x0057d000
18454 mprotect(0x00593000,4096,PROT_NONE) = 0
18454 
mmap2(0x00594000,8192,PROT_READ|PROT_WRITE,MAP_PRIVATE|MAP_DENYWRITE|MAP_FIXED,3,0x16)
= 0x00594000
18454 
mmap2(0x00596000,4576,PROT_READ|PROT_WRITE,MAP_PRIVATE|MAP_ANONYMOUS|MAP_FIXED,-1,0)
= 0x00596000
18454 close(3) = 0
18454 
open("/usr/lib/perl5/5.10.0/i386-linux-thread-multi/CORE/libc.so.6",O_RDONLY)
= -1 errno=2 (No such file or directory)
18454 open("/lib/libc.so.6",O_RDONLY) = 3
18454 read(3,0x4007efb4,512) = 512
18454 fstat64(3,0x4007eec0) = 0
18454 
mmap2(0x003d9000,1509672,PROT_EXEC|PROT_READ,MAP_PRIVATE|MAP_DENYWRITE,3,0)
= 0x003d9000
18454 
mmap2(0x00544000,12288,PROT_READ|PROT_WRITE,MAP_PRIVATE|MAP_DENYWRITE|MAP_FIXED,3,0x16b)
= 0x00544000
18454 
mmap2(0x00547000,10536,PROT_READ|PROT_WRITE,MAP_PRIVATE|MAP_ANONYMOUS|MAP_FIXED,-1,0)
= 0x00547000
18454 close(3) = 0
18454 
open("/usr/lib/perl5/5.10.0/i386-linux-thread-multi/CORE/libfreebl3.so",O_RDONLY)
= -1 errno=2 (No such file or directory)
18454 open("/lib/libfreebl3.so",O_RDONLY) = 3
18454 read(3,0x4007ec5c,512) = 512
18454 fstat64(3,0x4007eb70) = 0
18454 mmap2(NULL,293964,PROT_EXEC|PROT_READ,MAP_PRIVATE|MAP_DENYWRITE,3,0)
= 0x4232b000
18454 
mmap2(0x4236e000,4096,PROT_READ|PROT_WRITE,MAP_PRIVATE|MAP_DENYWRITE|MAP_FIXED,3,0x42)
= 0x4236e000
18454 
mmap2(0x4236f000,15436,PROT_READ|PROT_WRITE,MAP_PRIVATE|MAP_ANONYMOUS|MAP_FIXED,-1,0)
= 0x4236f000
18454 close(3) = 0
18454 mmap2(NULL,4096,PROT_READ|PROT_WRITE,MAP_PRIVATE|MAP_ANONYMOUS,-1,0)
= 0x42373000
18454 mmap2(NULL,4096,PROT_READ|PROT_WRITE,MAP_PRIVATE|MAP_ANONYMOUS,-1,0)
= 0x42374000
18454 set_thread_area(1074263116,1078292420,1110916768,1,0,1074263144) = 0
18454 mprotect(0x00544000,8192,PROT_READ) = 0
18454 mprotect(0x00594000,4096,PROT_READ) = 0
18454 mprotect(0x00dfc000,4096,PROT_READ) = 0
18454 mprotect(0x42301000,4096,PROT_READ) = 0
18454 mprotect(0x00572000,4096,PROT_READ) = 0
18454 mprotect(0x00579000,4096,PROT_READ) = 0
18454 mprotect(0x05c9c000,4096,PROT_READ) = 0
18454 mprotect(0x00ccb000,4096,PROT_READ) = 0
18454 mprotect(0x40456000,4096,PROT_READ) = 0
18454 munmap(0x422e0000,100843) = 0
18454 set_tid_address(1110916872,5853172,1110916872,47,29,1074263456) = 18454
18454 set_robust_list(1110916880,12,5853172,47,1110916768,1074263456)
= -1 errno=38 (Function not implemented)
18454 futex(0x4007f590,129,1,0x0000002f,0x00594ff4,5853172)qemu:
Unsupported syscall: 240
 = -1 errno=38 (Function not implemented)
18454 rt_sigaction(32,1074262588,0,8,5853172,1074262740) = 0
18454 rt_sigaction(33,1074262588,0,8,5853172,1074262740) = -1 errno=22
(Invalid argument)
18454 rt_sigprocmask(1,1074263288,0,8,5853172,1074263456) = 0
18454 ugetrlimit(3,1074263424,5529588,8,1,1074262740) = 0
18454 uname(0x4007f2f4) = 0
18454 rt_sigaction(8,1074262904,1074262764,8,5529588,1074263056) = 0
18454 brk(NULL) = 0x0804a000
18454 brk(0x0806b000) = 0x0806b000
18454 getuid32(1110299820,1110916908,134520840,134520840,134522140,1074263288)
= 540
18454 geteuid32(1110299820,1110916908,134520840,134520840,134522140,1074263288)
= 540
18454 getgid32(1110299820,1110916908,134520840,134520840,134522140,1074263288)
= 1005
18454 getegid32(1110299820,1110916908,134520840,134520840,134522140,1074263288)
= 1005
18454 open("/usr/lib/locale/locale-archive",O_RDONLY|O_LARGEFILE) = 3
18454 fstat64(3,0x00546ae0) = 0
18454 mmap2(NULL,2097152,PROT_READ,MAP_PRIVATE,3,0) = 0x42375000
18454 close(3) = 0
18454 open("/dev/urandom",O_RDONLY|O_LARGEFILE) = 3
18454 read(3,0x4007f3cc,4) = 4
18454 close(3) = 0
18454 time(0,1110299820,134521660,134520840,1074263644,1074263080) = 1256231880
18454 readlink("/proc/self/exe",0x4007e3cc,4095) = 13
18454 
stat64("/usr/lib/perl5/site_perl/5.10.0/i386-linux-thread-multi",0x4007f330)
= -1 errno=2 (No such file or directory)
18454 stat64("/usr/lib/perl5/site_perl/5.10.0",0x4007f330) = -1
errno=2 (No such file or directory)
18454 stat64("/usr/lib/perl5/site_perl/i386-linux-thread-multi",0x4007f330)
= -1 errno=2 (No such file or directory)
18454 ioctl(0,21505,1074262216,1074262280,5529588,1074262264) = 0
18454 _llseek(0,0,0,1074262256,1,1074262280) = -1 errno=29 (Illegal seek)
18454 ioctl(1,21505,1074262216,1074262280,5529588,1074262264) = 0
18454 _llseek(1,0,0,1074262256,1,1074262280) = -1 errno=29 (Illegal seek)
18454 ioctl(2,21505,1074262216,1074262280,5529588,1074262264) = 0
18454 _llseek(2,0,0,1074262256,1,1074262280) = -1 errno=29 (Illegal seek)
18454 open("/dev/null",O_RDONLY|O_LARGEFILE) = 3
18454 ioctl(3,21505,1074262504,1074262568,5529588,1074262552) = -1
errno=25 (Inappropriate ioctl for device)
18454 _llseek(3,0,0,1074262544,1,1074262568) = 0
18454 fcntl64(3,F_SETFD,0x00000001) = 0
18454 fstat64(3,0x0804a060) = 0
18454 rt_sigaction(17,0,1074262588,8,5853172,1074262880) = 0
18454 brk(0x0808c000) = 0x0808c000
18454 close(3) = 0
18454 pipe(1074262656,1110191144,1110299820,134520840,1,1074262696) = 0
18454 pipe(1074262648,1110191144,1110299820,134520840,1,1074262696) = 0
18454 clone(18874385,0,0,0,1110916872,1074262556) = -1 errno=22
(Invalid argument)
18454 close(3) = 0
18454 close(4) = 0
18454 close(5) = 0
18454 close(6) = 0
18454 exit_group(0)
address@hidden ~]$




reply via email to

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