|
From: Williams, H. <Har...@es...> - 2011-01-25 18:53:01
|
Ok got my previous problem cleared up... Now the following occurs when testing valgrind on the target ppc: /aridata/local/valgrind/bin # ./valgrind --version valgrind-3.6.0 /aridata/local/valgrind/bin # ./valgrind ls -l ==903== Memcheck, a memory error detector ==903== Copyright (C) 2002-2010, and GNU GPL'd, by Julian Seward et al. ==903== Using Valgrind-3.6.0 and LibVEX; rerun with -h for copyright info ==903== Command: ls -l ==903== valgrind: Fatal error at startup: a function redirection valgrind: which is mandatory for this platform-tool combination valgrind: cannot be set up. Details of the redirection are: valgrind: valgrind: A must-be-redirected function valgrind: whose name matches the pattern: strlen valgrind: in an object with soname matching: ld.so.1 valgrind: was not found whilst processing valgrind: symbols from the object with soname: ld.so.1 valgrind: valgrind: Possible fixes: (1, short term): install glibc's debuginfo valgrind: package on this machine. (2, longer term): ask the packagers valgrind: for your Linux distribution to please in future ship a non- valgrind: stripped ld.so (or whatever the dynamic linker .so is called) valgrind: that exports the above-named function using the standard valgrind: calling conventions for this platform. valgrind: valgrind: Cannot continue -- exiting now. Sorry. I also have another problem which may be related... See the post... http://forums.xilinx.com/t5/EDK-and-Platform-Studio/Others-have-gdb-debug-symbols-but-I-don-t/td-p/122496 -----Original Message----- From: Julian Seward [mailto:js...@ac...] Sent: Sat 1/22/2011 1:56 AM To: Williams, Hardy Subject: Re: Build Problem for PowerPC First off, you need to be sending this to the valgrind-users list (http://www.valgrind.org/support/mailing_lists.html) not directly to the authors. If I had to guess, this happened because you're building for a non-Altivec enabled processor, which is OK, yet the initial configure step concluded that (for whatever reason) Altivec is available. Hence it has included a bunch of Altivec instructions. All of that stuff is guarded by #ifdef HAS_ALTIVEC. Try disabling HAS_ALTIVEC in config.h and try again. J On Thursday, January 20, 2011, you wrote: > ran the ./configure command with the following options variables: > > [williawh@tepc-edev valgrind-3.6.0]$ ./configure --prefix=$VALGRIND_HOME > --enable-only32bit --host=powerpc-linux CC=${CROSS_COMPILE}gcc > LD=${CROSS_COMPILE}ld AR=${CROSS_COMPILE}ar > > [williawh@tepc-edev valgrind-3.6.0]$ env | grep CROSS > > CROSS_COMPILE=ppc_4xx- > > [williawh@tepc-edev valgrind-3.6.0]$ which ppc_4xx-gcc > > /opt/eldk/usr/bin/ppc_4xx-gcc > > [williawh@tepc-edev eldk]$ pwd > > /opt/eldk > > [williawh@tepc-edev eldk]$ cat version > > ELDK version 4.2 > ppc_4xx: Build 2008-04-01 > > We are using an embedded linux kernel from Xilinx (Virtex4) ppc405 > > When performing the "make" I got the following build error: > > make > . > . > . > ppc_4xx-gcc -DHAVE_CONFIG_H -I. -I.. -I.. -I../include -I../VEX/pub > -DVGA_ppc32=1 -DVGO_linux=1 -DVGP_ppc32_linux=1 -I../coregrind > -DVG_LIBDIR="\"/home/williawh/workspace/valgrind/lib/valgrind"\" > -DVG_PLATFORM="\"ppc32-linux\"" -I.. -I../include -I../VEX/pub > -DVGA_ppc32=1 -DVGO_linux=1 -DVGP_ppc32_linux=1 -I../coregrind > -DVG_LIBDIR="\"/home/williawh/workspace/valgrind/lib/valgrind"\" > -DVG_PLATFORM="\"ppc32-linux\"" -m32 -g -Wno-long-long -MT > libcoregrind_ppc32_linux_a-dispatch-amd64-linux.o -MD -MP -MF > .deps/libcoregrind_ppc32_linux_a-dispatch-amd64-linux.Tpo -c -o > libcoregrind_ppc32_linux_a-dispatch-amd64-linux.o `test -f > 'm_dispatch/dispatch-amd64-linux.S' || echo > './'`m_dispatch/dispatch-amd64-linux.S mv -f > .deps/libcoregrind_ppc32_linux_a-dispatch-amd64-linux.Tpo > .deps/libcoregrind_ppc32_linux_a-dispatch-amd64-linux.Po ppc_4xx-gcc > -DHAVE_CONFIG_H -I. -I.. -I.. -I../include -I../VEX/pub -DVGA_ppc32=1 > -DVGO_linux=1 -DVGP_ppc32_linux=1 -I../coregrind > -DVG_LIBDIR="\"/home/williawh/workspace/valgrind/lib/valgrind"\" > -DVG_PLATFORM="\"ppc32-linux\"" -I.. -I../include -I../VEX/pub > -DVGA_ppc32=1 -DVGO_linux=1 -DVGP_ppc32_linux=1 -I../coregrind > -DVG_LIBDIR="\"/home/williawh/workspace/valgrind/lib/valgrind"\" > -DVG_PLATFORM="\"ppc32-linux\"" -m32 -g -Wno-long-long -MT > libcoregrind_ppc32_linux_a-dispatch-ppc32-linux.o -MD -MP -MF > .deps/libcoregrind_ppc32_linux_a-dispatch-ppc32-linux.Tpo -c -o > libcoregrind_ppc32_linux_a-dispatch-ppc32-linux.o `test -f > 'm_dispatch/dispatch-ppc32-linux.S' || echo > './'`m_dispatch/dispatch-ppc32-linux.S m_dispatch/dispatch-ppc32-linux.S: > Assembler messages: > m_dispatch/dispatch-ppc32-linux.S:144: Error: Unrecognized opcode: `stvx' > m_dispatch/dispatch-ppc32-linux.S:146: Error: Unrecognized opcode: `stvx' > m_dispatch/dispatch-ppc32-linux.S:148: Error: Unrecognized opcode: `stvx' > m_dispatch/dispatch-ppc32-linux.S:150: Error: Unrecognized opcode: `stvx' > m_dispatch/dispatch-ppc32-linux.S:152: Error: Unrecognized opcode: `stvx' > m_dispatch/dispatch-ppc32-linux.S:154: Error: Unrecognized opcode: `stvx' > m_dispatch/dispatch-ppc32-linux.S:156: Error: Unrecognized opcode: `stvx' > m_dispatch/dispatch-ppc32-linux.S:158: Error: Unrecognized opcode: `stvx' > m_dispatch/dispatch-ppc32-linux.S:160: Error: Unrecognized opcode: `stvx' > m_dispatch/dispatch-ppc32-linux.S:162: Error: Unrecognized opcode: `stvx' > m_dispatch/dispatch-ppc32-linux.S:164: Error: Unrecognized opcode: `stvx' > m_dispatch/dispatch-ppc32-linux.S:166: Error: Unrecognized opcode: `stvx' > m_dispatch/dispatch-ppc32-linux.S:226: Error: Unrecognized opcode: > `vspltisw' m_dispatch/dispatch-ppc32-linux.S:227: Error: Unrecognized > opcode: `mtvscr' m_dispatch/dispatch-ppc32-linux.S:428: Error: > Unrecognized opcode: `vspltisw' m_dispatch/dispatch-ppc32-linux.S:429: > Error: Unrecognized opcode: `vspltisw' > m_dispatch/dispatch-ppc32-linux.S:430: Error: Unrecognized opcode: > `vsldoi' m_dispatch/dispatch-ppc32-linux.S:432: Error: Unrecognized > opcode: `mfvscr' m_dispatch/dispatch-ppc32-linux.S:433: Error: > Unrecognized opcode: `vand' m_dispatch/dispatch-ppc32-linux.S:434: Error: > Unrecognized opcode: `vspltw' m_dispatch/dispatch-ppc32-linux.S:435: > Error: Unrecognized opcode: `vcmpequw.' > m_dispatch/dispatch-ppc32-linux.S:521: Error: Unrecognized opcode: `lvx' > m_dispatch/dispatch-ppc32-linux.S:523: Error: Unrecognized opcode: `lvx' > m_dispatch/dispatch-ppc32-linux.S:525: Error: Unrecognized opcode: `lvx' > m_dispatch/dispatch-ppc32-linux.S:527: Error: Unrecognized opcode: `lvx' > m_dispatch/dispatch-ppc32-linux.S:529: Error: Unrecognized opcode: `lvx' > m_dispatch/dispatch-ppc32-linux.S:531: Error: Unrecognized opcode: `lvx' > m_dispatch/dispatch-ppc32-linux.S:533: Error: Unrecognized opcode: `lvx' > m_dispatch/dispatch-ppc32-linux.S:535: Error: Unrecognized opcode: `lvx' > m_dispatch/dispatch-ppc32-linux.S:537: Error: Unrecognized opcode: `lvx' > m_dispatch/dispatch-ppc32-linux.S:539: Error: Unrecognized opcode: `lvx' > m_dispatch/dispatch-ppc32-linux.S:541: Error: Unrecognized opcode: `lvx' > m_dispatch/dispatch-ppc32-linux.S:543: Error: Unrecognized opcode: `lvx' > make[3]: *** [libcoregrind_ppc32_linux_a-dispatch-ppc32-linux.o] Error 1 > make[3]: Leaving directory > `/home/williawh/workspace/valgrind/valgrind-3.6.0/coregrind' make[2]: *** > [all] Error 2 > make[2]: Leaving directory > `/home/williawh/workspace/valgrind/valgrind-3.6.0/coregrind' make[1]: *** > [all-recursive] Error 1 > make[1]: Leaving directory > `/home/williawh/workspace/valgrind/valgrind-3.6.0' make: *** [all] Error 2 > > Please let me know what I am doing wrong. > > Thanks, > > Wm Hardy Williams > Jacobs Engineering > Johnson Space Center ER6 Divison > SpaceCraft Systems Software Developer > 281-910-8116 |
|
From: John R. <jr...@bi...> - 2011-01-25 19:18:34
|
> valgrind: A must-be-redirected function > valgrind: whose name matches the pattern: strlen > valgrind: in an object with soname matching: ld.so.1 > valgrind: was not found whilst processing > valgrind: symbols from the object with soname: ld.so.1 > valgrind: > valgrind: Possible fixes: (1, short term): install glibc's debuginfo > valgrind: package on this machine. (2, longer term): ask the packagers > valgrind: for your Linux distribution to please in future ship a non- > valgrind: stripped ld.so (or whatever the dynamic linker .so is called) > valgrind: that exports the above-named function using the standard > valgrind: calling conventions for this platform. > valgrind: > valgrind: Cannot continue -- exiting now. Sorry. That error message cannot be any more clear. Proper operation of valgrind depends on finding the symbol 'strlen' in the dynamic linker 'ld.so.1', but valgrind cannot find the symbol strlen in ld.so.1. Can you? Hint: readelf --all ld.so.1 | grep strlen -- |
|
From: Julian S. <js...@ac...> - 2011-01-26 00:56:29
|
You need to do what it says .. install glibc's debuginfo package so as to be able to use Memcheck without being flooded with false errors. But first .. try running with --tool=none (no instrumentation) to as least find out whether what you have at the moment can run your application successfully. J On Tuesday, January 25, 2011, Williams, Hardy wrote: > Ok got my previous problem cleared up... > Now the following occurs when testing valgrind on the target ppc: > > /aridata/local/valgrind/bin # ./valgrind --version > valgrind-3.6.0 > /aridata/local/valgrind/bin # ./valgrind ls -l > ==903== Memcheck, a memory error detector > ==903== Copyright (C) 2002-2010, and GNU GPL'd, by Julian Seward et al. > ==903== Using Valgrind-3.6.0 and LibVEX; rerun with -h for copyright info > ==903== Command: ls -l > ==903== > > valgrind: Fatal error at startup: a function redirection > valgrind: which is mandatory for this platform-tool combination > valgrind: cannot be set up. Details of the redirection are: > valgrind: > valgrind: A must-be-redirected function > valgrind: whose name matches the pattern: strlen > valgrind: in an object with soname matching: ld.so.1 > valgrind: was not found whilst processing > valgrind: symbols from the object with soname: ld.so.1 > valgrind: > valgrind: Possible fixes: (1, short term): install glibc's debuginfo > valgrind: package on this machine. (2, longer term): ask the packagers > valgrind: for your Linux distribution to please in future ship a non- > valgrind: stripped ld.so (or whatever the dynamic linker .so is called) > valgrind: that exports the above-named function using the standard > valgrind: calling conventions for this platform. > valgrind: > valgrind: Cannot continue -- exiting now. Sorry. > > I also have another problem which may be related... See the post... > http://forums.xilinx.com/t5/EDK-and-Platform-Studio/Others-have-gdb-debug-s > ymbols-but-I-don-t/td-p/122496 > > > > > -----Original Message----- > From: Julian Seward [mailto:js...@ac...] > Sent: Sat 1/22/2011 1:56 AM > To: Williams, Hardy > Subject: Re: Build Problem for PowerPC > > > First off, you need to be sending this to the valgrind-users list > (http://www.valgrind.org/support/mailing_lists.html) > not directly to the authors. > > If I had to guess, this happened because you're building for a > non-Altivec enabled processor, which is OK, yet the initial > configure step concluded that (for whatever reason) Altivec is > available. Hence it has included a bunch of Altivec instructions. > All of that stuff is guarded by #ifdef HAS_ALTIVEC. > > Try disabling HAS_ALTIVEC in config.h and try again. > > J > > On Thursday, January 20, 2011, you wrote: > > ran the ./configure command with the following options variables: > > [williawh@tepc-edev valgrind-3.6.0]$ ./configure --prefix=$VALGRIND_HOME > > > > --enable-only32bit --host=powerpc-linux CC=${CROSS_COMPILE}gcc > > LD=${CROSS_COMPILE}ld AR=${CROSS_COMPILE}ar > > > > [williawh@tepc-edev valgrind-3.6.0]$ env | grep CROSS > > > > CROSS_COMPILE=ppc_4xx- > > > > [williawh@tepc-edev valgrind-3.6.0]$ which ppc_4xx-gcc > > > > /opt/eldk/usr/bin/ppc_4xx-gcc > > > > [williawh@tepc-edev eldk]$ pwd > > > > /opt/eldk > > > > [williawh@tepc-edev eldk]$ cat version > > > > ELDK version 4.2 > > ppc_4xx: Build 2008-04-01 > > > > We are using an embedded linux kernel from Xilinx (Virtex4) ppc405 > > > > When performing the "make" I got the following build error: > > > > make > > . > > . > > . > > ppc_4xx-gcc -DHAVE_CONFIG_H -I. -I.. -I.. -I../include -I../VEX/pub > > > > -DVGA_ppc32=1 -DVGO_linux=1 -DVGP_ppc32_linux=1 -I../coregrind > > -DVG_LIBDIR="\"/home/williawh/workspace/valgrind/lib/valgrind"\" > > -DVG_PLATFORM="\"ppc32-linux\"" -I.. -I../include -I../VEX/pub > > -DVGA_ppc32=1 -DVGO_linux=1 -DVGP_ppc32_linux=1 -I../coregrind > > -DVG_LIBDIR="\"/home/williawh/workspace/valgrind/lib/valgrind"\" > > -DVG_PLATFORM="\"ppc32-linux\"" -m32 -g -Wno-long-long -MT > > libcoregrind_ppc32_linux_a-dispatch-amd64-linux.o -MD -MP -MF > > .deps/libcoregrind_ppc32_linux_a-dispatch-amd64-linux.Tpo -c -o > > libcoregrind_ppc32_linux_a-dispatch-amd64-linux.o `test -f > > 'm_dispatch/dispatch-amd64-linux.S' || echo > > './'`m_dispatch/dispatch-amd64-linux.S mv -f > > .deps/libcoregrind_ppc32_linux_a-dispatch-amd64-linux.Tpo > > .deps/libcoregrind_ppc32_linux_a-dispatch-amd64-linux.Po ppc_4xx-gcc > > -DHAVE_CONFIG_H -I. -I.. -I.. -I../include -I../VEX/pub -DVGA_ppc32=1 > > -DVGO_linux=1 -DVGP_ppc32_linux=1 -I../coregrind > > -DVG_LIBDIR="\"/home/williawh/workspace/valgrind/lib/valgrind"\" > > -DVG_PLATFORM="\"ppc32-linux\"" -I.. -I../include -I../VEX/pub > > -DVGA_ppc32=1 -DVGO_linux=1 -DVGP_ppc32_linux=1 -I../coregrind > > -DVG_LIBDIR="\"/home/williawh/workspace/valgrind/lib/valgrind"\" > > -DVG_PLATFORM="\"ppc32-linux\"" -m32 -g -Wno-long-long -MT > > libcoregrind_ppc32_linux_a-dispatch-ppc32-linux.o -MD -MP -MF > > .deps/libcoregrind_ppc32_linux_a-dispatch-ppc32-linux.Tpo -c -o > > libcoregrind_ppc32_linux_a-dispatch-ppc32-linux.o `test -f > > 'm_dispatch/dispatch-ppc32-linux.S' || echo > > './'`m_dispatch/dispatch-ppc32-linux.S m_dispatch/dispatch-ppc32-linux.S: > > > > Assembler messages: > > m_dispatch/dispatch-ppc32-linux.S:144: Error: Unrecognized opcode: > > `stvx' m_dispatch/dispatch-ppc32-linux.S:146: Error: Unrecognized > > opcode: `stvx' m_dispatch/dispatch-ppc32-linux.S:148: Error: > > Unrecognized opcode: `stvx' m_dispatch/dispatch-ppc32-linux.S:150: > > Error: Unrecognized opcode: `stvx' > > m_dispatch/dispatch-ppc32-linux.S:152: Error: Unrecognized opcode: > > `stvx' m_dispatch/dispatch-ppc32-linux.S:154: Error: Unrecognized > > opcode: `stvx' m_dispatch/dispatch-ppc32-linux.S:156: Error: > > Unrecognized opcode: `stvx' m_dispatch/dispatch-ppc32-linux.S:158: > > Error: Unrecognized opcode: `stvx' > > m_dispatch/dispatch-ppc32-linux.S:160: Error: Unrecognized opcode: > > `stvx' m_dispatch/dispatch-ppc32-linux.S:162: Error: Unrecognized > > opcode: `stvx' m_dispatch/dispatch-ppc32-linux.S:164: Error: > > Unrecognized opcode: `stvx' m_dispatch/dispatch-ppc32-linux.S:166: > > Error: Unrecognized opcode: `stvx' > > > > m_dispatch/dispatch-ppc32-linux.S:226: Error: Unrecognized opcode: > > `vspltisw' m_dispatch/dispatch-ppc32-linux.S:227: Error: Unrecognized > > opcode: `mtvscr' m_dispatch/dispatch-ppc32-linux.S:428: Error: > > Unrecognized opcode: `vspltisw' m_dispatch/dispatch-ppc32-linux.S:429: > > Error: Unrecognized opcode: `vspltisw' > > m_dispatch/dispatch-ppc32-linux.S:430: Error: Unrecognized opcode: > > `vsldoi' m_dispatch/dispatch-ppc32-linux.S:432: Error: Unrecognized > > opcode: `mfvscr' m_dispatch/dispatch-ppc32-linux.S:433: Error: > > Unrecognized opcode: `vand' m_dispatch/dispatch-ppc32-linux.S:434: Error: > > Unrecognized opcode: `vspltw' m_dispatch/dispatch-ppc32-linux.S:435: > > Error: Unrecognized opcode: `vcmpequw.' > > m_dispatch/dispatch-ppc32-linux.S:521: Error: Unrecognized opcode: `lvx' > > m_dispatch/dispatch-ppc32-linux.S:523: Error: Unrecognized opcode: `lvx' > > m_dispatch/dispatch-ppc32-linux.S:525: Error: Unrecognized opcode: `lvx' > > m_dispatch/dispatch-ppc32-linux.S:527: Error: Unrecognized opcode: `lvx' > > m_dispatch/dispatch-ppc32-linux.S:529: Error: Unrecognized opcode: `lvx' > > m_dispatch/dispatch-ppc32-linux.S:531: Error: Unrecognized opcode: `lvx' > > m_dispatch/dispatch-ppc32-linux.S:533: Error: Unrecognized opcode: `lvx' > > m_dispatch/dispatch-ppc32-linux.S:535: Error: Unrecognized opcode: `lvx' > > m_dispatch/dispatch-ppc32-linux.S:537: Error: Unrecognized opcode: `lvx' > > m_dispatch/dispatch-ppc32-linux.S:539: Error: Unrecognized opcode: `lvx' > > m_dispatch/dispatch-ppc32-linux.S:541: Error: Unrecognized opcode: `lvx' > > m_dispatch/dispatch-ppc32-linux.S:543: Error: Unrecognized opcode: `lvx' > > make[3]: *** [libcoregrind_ppc32_linux_a-dispatch-ppc32-linux.o] Error 1 > > make[3]: Leaving directory > > `/home/williawh/workspace/valgrind/valgrind-3.6.0/coregrind' make[2]: *** > > [all] Error 2 > > > > make[2]: Leaving directory > > > > `/home/williawh/workspace/valgrind/valgrind-3.6.0/coregrind' make[1]: *** > > [all-recursive] Error 1 > > > > make[1]: Leaving directory > > > > `/home/williawh/workspace/valgrind/valgrind-3.6.0' make: *** [all] Error > > 2 > > > > Please let me know what I am doing wrong. > > > > Thanks, > > > > Wm Hardy Williams > > Jacobs Engineering > > Johnson Space Center ER6 Divison > > SpaceCraft Systems Software Developer > > 281-910-8116 |