|
From: Giuseppe A. <giu...@sa...> - 2014-03-18 15:40:16
|
Hello, I'm pretty new to Valgrind (and Linux embedded as well). I'm trying to install Valgrind on an embedded linux platform (Angstrom distribution). I've cross-compiled it Valgrind correctly but when I try to launch it (valgrind ls -al) on the board I have the following error: 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: memcpy valgrind: in an object with soname matching: ld-linux.so.3 valgrind: was not found whilst processing valgrind: symbols from the object with soname: ld-linux.so.3 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. The package you need valgrind: to install for fix (1) is called valgrind: valgrind: On Debian, Ubuntu: libc6-dbg valgrind: On SuSE, openSuSE, Fedora, RHEL: glibc-debuginfo valgrind: valgrind: Cannot continue -- exiting now. Sorry. Could you please tell me how I can fix this problem? Thank you very much |
|
From: Tom H. <to...@co...> - 2014-03-18 16:14:11
|
On 18/03/14 15:40, Giuseppe Assalve wrote: > I'm trying to install Valgrind on an embedded linux platform (Angstrom > distribution). > I've cross-compiled it Valgrind correctly but when I try to launch it > (valgrind ls -al) on the board I have the following error: > > 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: memcpy > valgrind: in an object with soname matching: ld-linux.so.3 > valgrind: was not found whilst processing > valgrind: symbols from the object with soname: ld-linux.so.3 > 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. The package you need > valgrind: to install for fix (1) is called > valgrind: > valgrind: On Debian, Ubuntu: libc6-dbg > valgrind: On SuSE, openSuSE, Fedora, RHEL: glibc-debuginfo > valgrind: > valgrind: Cannot continue -- exiting now. Sorry. > > Could you please tell me how I can fix this problem? I believe the answer to your question is in the verbose message which valgrind printed... To reiterate, you need to either stop your ld.so getting stripped in such a severe way, or you need to provide debug symbols for it. Tom -- Tom Hughes (to...@co...) http://compton.nu/ |
|
From: Giuseppe A. <giu...@sa...> - 2014-03-18 17:19:48
|
Hello, thank you very much for your reply. Since, as I've written before, I'm new to Linux could you please explain to me how I can actually do the two options? - _you need to provide debug symbols for it_ If I've well understood I should install the library libc6-dbg on the board but where can I find this library for ARM / Angstrom platform? - _you need to either stop your ld.so getting stripped in such a severe way_ What do I have to do to stop ld.so? Thank you again for your help Giuseppe Il 18/03/2014 17:13, Tom Hughes ha scritto: > On 18/03/14 15:40, Giuseppe Assalve wrote: > >> I'm trying to install Valgrind on an embedded linux platform (Angstrom >> distribution). >> I've cross-compiled it Valgrind correctly but when I try to launch it >> (valgrind ls -al) on the board I have the following error: >> >> 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: memcpy >> valgrind: in an object with soname matching: ld-linux.so.3 >> valgrind: was not found whilst processing >> valgrind: symbols from the object with soname: ld-linux.so.3 >> 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. The package you need >> valgrind: to install for fix (1) is called >> valgrind: >> valgrind: On Debian, Ubuntu: libc6-dbg >> valgrind: On SuSE, openSuSE, Fedora, RHEL: glibc-debuginfo >> valgrind: >> valgrind: Cannot continue -- exiting now. Sorry. >> >> Could you please tell me how I can fix this problem? > > I believe the answer to your question is in the verbose message which > valgrind printed... > > To reiterate, you need to either stop your ld.so getting stripped in > such a severe way, or you need to provide debug symbols for it. > > Tom > |
|
From: Tom H. <to...@co...> - 2014-03-18 17:34:13
|
On 18/03/14 17:19, Giuseppe Assalve wrote: y much for your reply. > > Since, as I've written before, I'm new to Linux could you please explain > to me how I can actually do the two options? > > - _you need to provide debug symbols for it_ > If I've well understood I should install the library libc6-dbg on the > board but where can I find this library for ARM / Angstrom platform? > > - _you need to either stop your ld.so getting stripped in such a severe way_ > What do I have to do to stop ld.so? I can't answer those questions because I simply don't know. I've never used that particular linux distribution/development environment. You need to seek help from people that are expert in that, whether that's the people who sold you the environment, or the open source community that creates it. The simple answer to your first question may well be that the platform you are using does not provide separate debug packages, but you'd need to ask people that know about it to be sure. The answer to the second is probably that you need to rebuild the dynamic linker after modifying the build system to not runs strip on it, or to do so less aggressively, but again you need help from somebody who knows how that system is built. Tom -- Tom Hughes (to...@co...) http://compton.nu/ |