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
  • [Valgrind-users] stripping glibc... YuGiOhJCJ Mailing-List via Valgrind-users

Reply via email to