Summary: | Valgrind (3.25.1) fails to start on riscv64: "must-be-redirected function ... strcmp" for ld-linux-riscv64-lp64d.so.1 | ||
---|---|---|---|
Product: | [Developer tools] valgrind | Reporter: | gyx1779937943 |
Component: | memcheck | Assignee: | Julian Seward <jseward> |
Status: | RESOLVED DUPLICATE | ||
Severity: | major | CC: | mark, pjfloyd |
Priority: | NOR | ||
Version First Reported In: | 3.25.1 | ||
Target Milestone: | --- | ||
Platform: | Arch Linux | ||
OS: | Linux | ||
Latest Commit: | Version Fixed In: | ||
Sentry Crash Report: |
Description
gyx1779937943
2025-10-03 08:52:46 UTC
This is really an Arch Linux packaging issue. (In reply to gyx1779937943 from comment #0) > 2: valgrind: Fatal error at startup: a function redirection > 2: valgrind: which is mandatory for this platform-tool combination > 2: valgrind: cannot be set up. Details of the redirection are: > 2: valgrind: > 2: valgrind: A must-be-redirected function > 2: valgrind: whose name matches the pattern: strcmp > 2: valgrind: in an object with soname matching: > ld-linux-riscv64-lp64d.so.1 > 2: valgrind: was not found whilst processing > 2: valgrind: symbols from the object with soname: > ld-linux-riscv64-lp64d.so.1 > 2: valgrind: > 2: valgrind: Possible fixes: (1, short term): install glibc's debuginfo > 2: valgrind: package on this machine. (2, longer term): ask the packagers > 2: valgrind: for your Linux distribution to please in future ship a non- > 2: valgrind: stripped ld.so (or whatever the dynamic linker .so is called) > 2: valgrind: that exports the above-named function using the standard > 2: valgrind: calling conventions for this platform. The package you need > 2: valgrind: to install for fix (1) is called ... > 2: valgrind: Cannot continue -- exiting now. Sorry. > ``` > The test executable itself runs fine without Valgrind. The dynamic linker > /lib/ld-linux-riscv64-lp64d.so.1 on this system is stripped and does not > export the expected symbol(s) that Valgrind requires to set up function > redirection. This is the problem. > file /lib/ld-linux-riscv64-lp64d.so.1 reports the loader as stripped. > [...] > Dynamic linker: /lib/ld-linux-riscv64-lp64d.so.1 (exists; file reports it is > stripped) > > Distribution / Packaging environment: Arch Linux on WSL2/riscv64 (using > pacman) See also README_PACKAGERS: -- Do not ship your Linux distro with a completely stripped /lib/ld.so. *** This bug has been marked as a duplicate of bug 286864 *** |