From: CHEN H. l. <Hon...@al...> - 2011-06-29 00:49:03
|
Hi, I managed to cross-compile valgrind for linux on ppc (MPC8313), but failed to run it. Below is the err info caught by strace. What's wrong with it? Thanks in advance. BTW, the configure options are like: configure --host=powerpc-unknown-linux --target=powerpc-unknown-linux --prefix=/tmp/valgrind-install --build=i486-cross-linux-gnu >strace ./valgrind execve("./valgrind", ["./valgrind"], [/* 9 vars */]) = 0 brk(0) = 0x10015000 access("/etc/ld.so.preload", R_OK) = -1 ENOENT (No such file or directory) open("/etc/ld.so.cache", O_RDONLY) = -1 ENOENT (No such file or directory) open("/lib/tls/ppc603/libc.so.6", O_RDONLY) = -1 ENOENT (No such file or directory) stat64("/lib/tls/ppc603", 0xbfa07f38) = -1 ENOENT (No such file or directory) open("/lib/tls/libc.so.6", O_RDONLY) = -1 ENOENT (No such file or directory) stat64("/lib/tls", 0xbfa07f38) = -1 ENOENT (No such file or directory) open("/lib/ppc603/libc.so.6", O_RDONLY) = -1 ENOENT (No such file or directory) stat64("/lib/ppc603", 0xbfa07f38) = -1 ENOENT (No such file or directory) open("/lib/libc.so.6", O_RDONLY) = 3 read(3, "\177ELF\1\2\1\0\0\0\0\0\0\0\0\0\0\3\0\24\0\0\0\1\0\1\273\310\0\0\0004". .., 512) = 512 fstat64(3, {st_mode=S_IFREG|0755, st_size=1242872, ...}) = 0 mmap(0xfeae000, 1314840, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_DENYWRITE, 3, 0) = 0xfeae000 mprotect(0xffd9000, 61440, PROT_NONE) = 0 mmap(0xffe8000, 20480, PROT_READ|PROT_WRITE|PROT_EXEC, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0x12a000) = 0xffe8000 mmap(0xffed000, 8216, PROT_READ|PROT_WRITE|PROT_EXEC, MAP_PRIVATE|MAP_FIXED|MAP_ANONYMOUS, -1, 0) = 0xffed000 close(3) = 0 mmap(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0x4801e000 mprotect(0xffe8000, 8192, PROT_READ) = 0 mprotect(0x4802e000, 4096, PROT_READ) = 0 readlink("/proc/self/exe", "/tmp/valgrind/bin/valgrind", 4096) = 26 brk(0) = 0x10015000 brk(0x10036000) = 0x10036000 execve("/home/honglinc/local/valgrind/lib/valgrind/memcheck-ppc32-linux" , ["./valgrind"], [/* 10 vars */]) = 0 open("/proc/self/maps", O_RDONLY) = 3 read(3, "00100000-00102000 r-xp 00000000 "..., 100000) = 363 read(3, "", 99637) = 0 close(3) = 0 mmap2(0x61d4a000, 4194304, PROT_READ|PROT_WRITE|PROT_EXEC, MAP_PRIVATE|MAP_FIXED|MAP_ANONYMOUS, 0, 0) = 0x61d4a000 getrlimit(RLIMIT_DATA, {rlim_cur=RLIM_INFINITY, rlim_max=RLIM_INFINITY}) = 0 setrlimit(RLIMIT_DATA, {rlim_cur=0, rlim_max=RLIM_INFINITY}) = 0 getrlimit(RLIMIT_STACK, {rlim_cur=8192*1024, rlim_max=RLIM_INFINITY}) = 0 rt_sigprocmask(SIG_UNBLOCK, [ILL FPE], [], 8) = 0 rt_sigaction(SIGILL, NULL, {SIG_DFL, [], 0}, 8) = 0 rt_sigaction(SIGFPE, NULL, {SIG_DFL, [], 0}, 8) = 0 rt_sigaction(SIGILL, {0x38032830, [], SA_NODEFER}, NULL, 8) = 0 rt_sigaction(SIGFPE, {0x38032830, [], SA_NODEFER}, NULL, 8) = 0 --- {si_signo=SIGILL, si_code=ILL_ILLOPC, si_addr=0x38033634} (Illegal instruction) --- --- {si_signo=SIGSEGV, si_code=SEGV_MAPERR, si_addr=0} (Segmentation fault) --- +++ killed by SIGSEGV +++ Segmentation fault |