|
From: Yao Qi <qiy...@cn...> - 2005-12-05 11:18:48
|
I fail to build TOOLs after I update my working copy. Here is the
output,
[qiyao@plinuxt6 lackey]$ make
Making all in .
make[1]: Entering directory `/home/qiyao/svn/valgrind/lackey'
gcc -m32 -O -g -Wmissing-prototypes -Winline -Wall -Wshadow
-Wpointer-arith -Wstrict-prototypes -Wmissing-declarations
-Wno-long-long -Wdeclaration-after-statement -o lackey-ppc32-linux
-static -Wl,-defsym,valt_load_address=0x70000000 -nodefaultlibs
-nostartfiles -u _start -m32 -Wl,-T,../valt_load_address_ppc32_linux.lds
lackey_ppc32_linux-lk_main.o ../coregrind/libcoregrind_ppc32_linux.a
../VEX/libvex_ppc32_linux.a -lgcc
gcc -m32 -O -g -Wmissing-prototypes -Winline -Wall -Wshadow
-Wpointer-arith -Wstrict-prototypes -Wmissing-declarations
-Wno-long-long -Wdeclaration-after-statement -o lackey-ppc64-linux
-static -Wl,-defsym,valt_load_address=0x70000000 -nodefaultlibs
-nostartfiles -u _start -m64 -Wl,-T,../valt_load_address_ppc64_linux.lds
lackey_ppc64_linux-lk_main.o ../coregrind/libcoregrind_ppc64_linux.a
../VEX/libvex_ppc64_linux.a -lgcc
../coregrind/libcoregrind_ppc64_linux.a(libcoregrind_ppc64_linux_a-m_syscall.o)(.text+0x18c):
In function `vgPlain_do_syscall':
/home/qiyao/svn/valgrind/coregrind/m_syscall.c:269: undefined reference
to `do_syscall_WRK'
../coregrind/libcoregrind_ppc64_linux.a(libcoregrind_ppc64_linux_a-scheduler.o)(.text+0xefc):
In function `run_thread_for_a_while':
m_scheduler/scheduler.c:431: undefined reference to
`vgPlain_run_innerloop'
../coregrind/libcoregrind_ppc64_linux.a(libcoregrind_ppc64_linux_a-syswrap-main.o)(.text+0x18):
In function `do_syscall_for_client':
m_syswrap/syswrap-main.c:238: undefined reference to
`vgModuleLocal_do_syscall_for_client_WRK'
../coregrind/libcoregrind_ppc64_linux.a(libcoregrind_ppc64_linux_a-syswrap-linux.o)(.text+0x4f0):
In function `vgPlain_main_thread_wrapper_NORETURN':
m_syswrap/syswrap-linux.c:276: undefined reference to
`vgModuleLocal_call_on_new_stack_0_1'
../coregrind/libcoregrind_ppc64_linux.a(libcoregrind_ppc64_linux_a-syswrap-ppc64-linux.o)(.text+0x358):
In function `do_clone':
m_syswrap/syswrap-ppc64-linux.c:338: undefined reference to
`do_syscall_clone_ppc64_linux'
collect2: ld returned 1 exit status
make[1]: *** [lackey-ppc64-linux] Error 1
make[1]: Leaving directory `/home/qiyao/svn/valgrind/lackey'
make: *** [all-recursive] Error 1
[qiyao@plinuxt6 lackey]$ nm ../coregrind/libcoregrind_ppc64_linux_a-m_syscall.o | grep WRK
0000000000000114 t .do_syscall_WRK
U do_syscall_WRK
I am not so clear about dot symbol name in PPC64 ABI, so I try to add
"do_syscall_WRK:" at line 222 coregrind/m_syscall.c like this,
220 asm(
221 ".text\n"
222 "do_syscall_WRK:\n"
223 ".do_syscall_WRK:\n"
224 "std 3,-16(1)\n" /* stash arg */
Although the symbol "do_syscall_WRK" could be resolved, I do not think it is
a smart way. Could anyone here have a look? Any one could confirm or
deny this. Thanks in advance!
--
Regards, Yao
------------
Yao Qi
|