[Bug 948004] [NEW] valgrind can't redirect strlen for 32-bit executables
Jay Foad
948004 at bugs.launchpad.net
Tue Mar 6 13:39:32 UTC 2012
Public bug reported:
On x86_64 I can't valgrind even a simple 32-bit program that uses
strlen. I get:
$ cat s.c
#include <string.h>
int main(int argc, const char *argv[]) {
return strlen(argv[0]);
}
$ gcc -m32 -o s s.c && valgrind ./s
==6462== Memcheck, a memory error detector
==6462== Copyright (C) 2002-2011, and GNU GPL'd, by Julian Seward et al.
==6462== Using Valgrind-3.7.0 and LibVEX; rerun with -h for copyright info
==6462== Command: ./s
==6462==
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.
However, I already have libc6-dbg installed, and I can't find any 32-bit
multilib package called "libc6-dbg-i386" or similar.
ProblemType: Bug
DistroRelease: Ubuntu 12.04
Package: valgrind 1:3.7.0-0ubuntu2
ProcVersionSignature: Ubuntu 3.2.0-18.28-generic 3.2.9
Uname: Linux 3.2.0-18-generic x86_64
ApportVersion: 1.94-0ubuntu2
Architecture: amd64
Date: Tue Mar 6 13:33:39 2012
InstallationMedia: Ubuntu 12.04 LTS "Precise Pangolin" - Alpha amd64 (20120201.1)
ProcEnviron:
LANGUAGE=en_GB:en
TERM=xterm
PATH=(custom, user)
LANG=en_GB.UTF-8
SHELL=/bin/bash
SourcePackage: valgrind
UpgradeStatus: Upgraded to precise on 2012-03-05 (1 days ago)
** Affects: valgrind (Ubuntu)
Importance: Undecided
Status: New
** Tags: amd64 apport-bug precise
--
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/948004
Title:
valgrind can't redirect strlen for 32-bit executables
Status in “valgrind” package in Ubuntu:
New
Bug description:
On x86_64 I can't valgrind even a simple 32-bit program that uses
strlen. I get:
$ cat s.c
#include <string.h>
int main(int argc, const char *argv[]) {
return strlen(argv[0]);
}
$ gcc -m32 -o s s.c && valgrind ./s
==6462== Memcheck, a memory error detector
==6462== Copyright (C) 2002-2011, and GNU GPL'd, by Julian Seward et al.
==6462== Using Valgrind-3.7.0 and LibVEX; rerun with -h for copyright info
==6462== Command: ./s
==6462==
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.
However, I already have libc6-dbg installed, and I can't find any
32-bit multilib package called "libc6-dbg-i386" or similar.
ProblemType: Bug
DistroRelease: Ubuntu 12.04
Package: valgrind 1:3.7.0-0ubuntu2
ProcVersionSignature: Ubuntu 3.2.0-18.28-generic 3.2.9
Uname: Linux 3.2.0-18-generic x86_64
ApportVersion: 1.94-0ubuntu2
Architecture: amd64
Date: Tue Mar 6 13:33:39 2012
InstallationMedia: Ubuntu 12.04 LTS "Precise Pangolin" - Alpha amd64 (20120201.1)
ProcEnviron:
LANGUAGE=en_GB:en
TERM=xterm
PATH=(custom, user)
LANG=en_GB.UTF-8
SHELL=/bin/bash
SourcePackage: valgrind
UpgradeStatus: Upgraded to precise on 2012-03-05 (1 days ago)
To manage notifications about this bug go to:
https://bugs.launchpad.net/ubuntu/+source/valgrind/+bug/948004/+subscriptions
More information about the foundations-bugs
mailing list