https://bugs.kde.org/show_bug.cgi?id=502566

            Bug ID: 502566
           Summary: valgrind defaults to unstripped ld-linux-x86-64.so
    Classification: Developer tools
           Product: valgrind
           Version: 3.24.0
          Platform: Other
                OS: Linux
            Status: REPORTED
          Severity: wishlist
          Priority: NOR
         Component: general
          Assignee: jsew...@acm.org
          Reporter: 96wvn...@anonaddy.me
  Target Milestone: ---

SUMMARY
valgrind default to /usr/lib/ld-linux-x86-64.so.2, which on my system is
stripped. I have glibc-debug installed, which installs the unstripped version
to /usr/lib/debug/usr/lib/, however valgrind does not use this. Using
LD_LIBRARY_PATH=/usr/lib/debug/usr/lib/ valgrind, does not fix the problem.
debuginfod is installed and running.

Output:
==30428== Memcheck, a memory error detector
==30428== Copyright (C) 2002-2024, and GNU GPL'd, by Julian Seward et al.
==30428== Using Valgrind-3.24.0 and LibVEX; rerun with -h for copyright info
==30428== Command: ./main
==30428== 

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:      strcmp
valgrind:  in an object with soname matching:   ld-linux-x86-64.so.2
valgrind:  was not found whilst processing
valgrind:  symbols from the object with soname: ld-linux-x86-64.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:  Note that if you are debugging a 32 bit process on a
valgrind:  64 bit system, you will need a corresponding 32 bit debuginfo
valgrind:  package (e.g. libc6-dbg:i386).
valgrind:  
valgrind:  Cannot continue -- exiting now.  Sorry.

Due to the output saying to message the maintainer and tell them to next time
ship and unstripped version, I have made the severity a wishlist.

STEPS TO REPRODUCE
1. Have a stripped version of glibc
2. Installed a non-stripped version of glibc
3. Rename /usr/lib/debug/usr/lib/ld-linux-x86-64.so.2.debug to
usr/lib/debug/usr/lib/ld-linux-x86-64.so.2
4. Run valgrind with LD_LIBRARY_PATH pointing to the non-stripped version.

OBSERVED RESULT
(see above)

EXPECTED RESULT
I hoped that LD_LIBRARY_PATH would override which version valgrind uses, or
that valgrind would find the /usr/lib/debug folder present and utilise the
files in there.

SOFTWARE/OS VERSIONS
Linux/KDE Plasma: Artix Linux

-- 
You are receiving this mail because:
You are watching all bug changes.

Reply via email to