Hello, I have recently built my own package of glibc instead of using the one provided by my operating system.
The result is that valgrind is now complaining: --- $ valgrind ./a.out ==1445== Memcheck, a memory error detector ==1445== Copyright (C) 2002-2015, and GNU GPL'd, by Julian Seward et al. ==1445== Using Valgrind-3.11.0 and LibVEX; rerun with -h for copyright info ==1445== Command: ./a.out ==1445== 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-linux.so.2 valgrind: was not found whilst processing valgrind: symbols from the object with soname: ld-linux.so.2 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. --- It seems that valgrind requires to not strip the dynamic linker. It's true that in my glibc package, I have stripped it: --- $ file /lib64/ld-2.26.so /lib64/ld-2.26.so: ELF 64-bit LSB shared object, x86-64, version 1 (SYSV), dynamically linked, stripped --- So, I have rebuilt my own package of glibc without stripping the dynamic linker. Here, you can see, it is no longer stripped: --- $ file /lib64/ld-2.26.so /lib64/ld-2.26.so: ELF 64-bit LSB shared object, x86-64, version 1 (SYSV), dynamically linked, not stripped --- However, valgrind is still complaining: --- $ valgrind ./a.out ==1445== Memcheck, a memory error detector ==1445== Copyright (C) 2002-2015, and GNU GPL'd, by Julian Seward et al. ==1445== Using Valgrind-3.11.0 and LibVEX; rerun with -h for copyright info ==1445== Command: ./a.out ==1445== 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-linux.so.2 valgrind: was not found whilst processing valgrind: symbols from the object with soname: ld-linux.so.2 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. --- Why valgrind is still complaining please? Thank you. Best regards. ------------------------------------------------------------------------------ Check out the vibrant tech community on one of the world's most engaging tech sites, Slashdot.org! http://sdm.link/slashdot _______________________________________________ Valgrind-users mailing list Valgrind-users@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/valgrind-users