[Bug 1247026] Re: valgrind does not work on amd64 (strlen missing)
TJ
ubuntu at iam.tj
Mon Dec 8 13:02:19 UTC 2014
I've just hit this issue with 14.04 Trusty amd64 and like Adam,
"valgrind ls" works but "valgrind ./a.out" for the (simple) C++ program
I was working with (that demonstrates layout of objects in memory)
induces the same "strlen" failure message.
I tried to reproduce a minimal test case and couldn't and then realised
the reason for the message:
At one point I'd built the binary for 32-bit architecture using
g++ -m32 ....
Building for native 64-bit doesn't induce the issue, so the problem
appears to lie in the multilib support.
--
You received this bug notification because you are a member of Ubuntu
Foundations Bugs, which is subscribed to valgrind in Ubuntu.
https://bugs.launchpad.net/bugs/1247026
Title:
valgrind does not work on amd64 (strlen missing)
Status in Valgrind:
Unknown
Status in glibc package in Ubuntu:
Confirmed
Status in valgrind package in Ubuntu:
Confirmed
Bug description:
It seems that strlen has been inlined in the amd64 version of glibc
currently used in Ubuntu 13.10 (saucy). This makes it impossible to
run valgrind. It fails with the following output:
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-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: Cannot continue -- exiting now. Sorry.
Either the glibc package needs to be fixed so it does not inline
strlen or valgrind needs to be fixed. A work-around patch to valgrind
can be found in this thread:
https://bugs.kde.org/show_bug.cgi?id=286864
To manage notifications about this bug go to:
https://bugs.launchpad.net/valgrind/+bug/1247026/+subscriptions
More information about the foundations-bugs
mailing list