Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!
Bug 388703 - dev-utils/valgrind-3.6.1 will not work on x86 without splitdebug
Summary: dev-utils/valgrind-3.6.1 will not work on x86 without splitdebug
Status: RESOLVED FIXED
Alias: None
Product: Gentoo Linux
Classification: Unclassified
Component: [OLD] Development (show other bugs)
Hardware: All Linux
: Normal normal (vote)
Assignee: Anthony Basile
URL:
Whiteboard:
Keywords:
Depends on:
Blocks:
 
Reported: 2011-10-27 20:42 UTC by Andrew Savchenko
Modified: 2012-02-03 22:55 UTC (History)
0 users

See Also:
Package list:
Runtime testing required: ---


Attachments
emerge --info (emerge.info,8.01 KB, text/plain)
2011-10-27 20:44 UTC, Andrew Savchenko
Details

Note You need to log in before you can comment on or make changes to this bug.
Description Andrew Savchenko gentoo-dev 2011-10-27 20:42:26 UTC
Hello,

while valgrind's ebuild warns about splitdebug FEATURE which must be used to build glibc in order to valgrind to work, this warning is issued only for ppc, ppc64 and amd64 architectures.

But for ~x86 with valgrind-3.6.1 and glibc-2.13-r4 it fails due to the very same reson:

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:      index
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.

After recompilation of glibc with splitdebug it works well.
Please add x86 for a list of warned architectures.
Comment 1 Andrew Savchenko gentoo-dev 2011-10-27 20:44:12 UTC
Created attachment 291043 [details]
emerge --info
Comment 2 Anthony Basile gentoo-dev 2011-10-28 00:37:16 UTC
Okay fixed in valgrind-3.6.1-r2.ebuild.
Comment 3 James Dominy 2012-02-03 12:35:04 UTC
I'm still getting the error. I'm on an x86 laptop. I've reemerged glibc with splitdebug, and with CFLAGS="${CFLAGS} -ggdb". I've confirmed that /usr/lib/debug/lib/libc-2.14.1.so.debug exists, and I've grepped it for strlen which also exists. I reemerged valgrind after this, just to be sure, but it's still giving the strlen error...

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

I even went so far as to recompile binutils with -ggdb and splitdebug. Still no luck. I'm using dev-util/valgrind-3.7.0-r2.

My emerge --info

Portage 2.1.10.44 (default/linux/x86/10.0/desktop, gcc-4.5.3, glibc-2.14.1-r2, 3.2.0-gentoo-r1 i686)
=================================================================
System uname: Linux-3.2.0-gentoo-r1-i686-Genuine_Intel-R-_CPU_T2400_@_1.83GHz-with-gentoo-2.1
Timestamp of tree: Fri, 13 Jan 2012 06:45:01 +0000
ccache version 3.1.7 [enabled]
app-shells/bash:          4.2_p20
dev-java/java-config:     2.1.11-r3
dev-lang/python:          2.7.2-r3, 3.2.2
dev-util/ccache:          3.1.7
dev-util/cmake:           2.8.6-r4
dev-util/pkgconfig:       0.26
sys-apps/baselayout:      2.1
sys-apps/openrc:          0.9.8
sys-apps/sandbox:         2.5
sys-devel/autoconf:       2.13, 2.68
sys-devel/automake:       1.11.2
sys-devel/binutils:       2.22-r1
sys-devel/gcc:            4.5.3-r2
sys-devel/gcc-config:     1.5-r2
sys-devel/libtool:        2.4.2
sys-devel/make:           3.82-r3
sys-kernel/linux-headers: 3.2 (virtual/os-headers)
sys-libs/glibc:           2.14.1-r2
Repositories: gentoo pcsx2 arcon enlightenment
ACCEPT_KEYWORDS="x86 ~x86"
ACCEPT_LICENSE="* -@EULA"
CBUILD="i686-pc-linux-gnu"
CFLAGS="-O2 -march=pentium4 -pipe -ggdb"
CHOST="i686-pc-linux-gnu"
CONFIG_PROTECT="/etc /usr/share/gnupg/qualified.txt /usr/share/openvpn/easy-rsa /var/lib/hsqldb"
CONFIG_PROTECT_MASK="/etc/ca-certificates.conf /etc/dconf /etc/env.d /etc/env.d/java/ /etc/fonts/fonts.conf /etc/gconf /etc/gentoo-release /etc/php/apache2-php5.3/ext-active/ /etc/php/apache2-php5.4/ext-active/ /etc/php/cgi-php5.3/ext-active/ /etc/php/cgi-php5.4/ext-active/ /etc/php/cli-php5.3/ext-active/ /etc/php/cli-php5.4/ext-active/ /etc/revdep-rebuild /etc/sandbox.d /etc/terminfo /etc/texmf/language.dat.d /etc/texmf/language.def.d /etc/texmf/updmap.d /etc/texmf/web2c"
CXXFLAGS="-O2 -march=pentium4 -pipe -ggdb"
DISTDIR="/usr/portage/distfiles"
FEATURES="assume-digests binpkg-logs ccache distlocks ebuild-locks fixlafiles news parallel-fetch protect-owned sandbox sfperms strict unknown-features-warn unmerge-logs unmerge-orphans userfetch"
FFLAGS=""
GENTOO_MIRRORS="ftp://bragi/gentoo ftp://ftp.is.co.za/linux/distributions/gentoo"
LANG="en_ZA.utf8"
LDFLAGS="-Wl,-O1 -Wl,--as-needed"
LINGUAS="en en_ZA en_GB en_US"
MAKEOPTS="-j3"
PKGDIR="/usr/portage/packages"
PORTAGE_CONFIGROOT="/"
PORTAGE_RSYNC_OPTS="--recursive --links --safe-links --perms --times --compress --force --whole-file --delete --stats --timeout=180 --exclude=/distfiles --exclude=/local --exclude=/packages"
PORTAGE_TMPDIR="/var/tmp"
PORTDIR="/usr/portage"
PORTDIR_OVERLAY="/var/lib/layman/pcsx2 /var/lib/layman/arcon /var/lib/layman/enlightenment"
SYNC="rsync://rsync.europe.gentoo.org/gentoo-portage"
USE="X a52 aac acl acpi additions ads aio alsa amr ao apache2 ass athena attrib audiofile auto-completion bash-completion bazaar bcmath bdf berkdb blas bluetooth branding bzip2 cairo caps caps-ng cdda cddb cdparanoia cdr cgi cjk cli client colordiff community consolekit coverart cracklib cramfs creds crypt cscope css cups cvs cxx dbus dhcp directfb discard-path djvu dmx dri drm dso dts dvd dvdnav dvdr dvi dvipdfm eap-sim eap-tls emerald enca encode exif expat extensions external-ffmpeg extra extras faac faad fame fastcgi ffmpeg fftw fileinfo firefox flac fontconfig fontforge force-cgi-redirect fortran fpm ftp fuse games gd gdbm gdu gecko gif gimp git glibc-omitfp glitz gnuplot gnutls gpg gphoto2 gpm graphics graphite gs gsl gsm gstreamer gtk hash hpn humanities icons iconv id3 id3tag idn imagemagick imap innodb intl ioctl ipc ipv6 jabber jadetex java java6 javascript jingle jit jpeg kpathsea lame lapack latex latex3 lcdfilter lcms ldap libffi libnotify lightning lm_sensors lock logrotate lua luatex lzma lzo mad maildir math matplotlib matroska md5sum mercurial midi mime mirage mmap mmx mmxext mng modules mozilla mp3 mp4 mpeg mpg123 mplayer mppe-mppc mtp mudflap multitarget multiuser musepack music musicbrainz mysql mysqli ncurses network new-login nls nptl nptlonly nsplugin ntfs ntp nvidia ocaml offensive ogg omega openal opengl openmp optimization osc osdmenu pam pam_ssh pango pcf pcntl pcre pda pdf pdo pg-intdatetime pgf phar php pixmaps plotutils pm-utils pnat png pnm podcast policykit posix postgres ppds pppd proj pstricks pulseaudio qt3support qt4 raw readline recode reiser4 reiserfs remix rss rtc rtmp samba schroedinger science sdl session sha512 sharedext sharedmem shm slang smbclient smp sockets sound spell sse sse2 ssl startup-notification strong-optimization subversion svg swat sysfs syslog sysvipc t1lib taglib tcpd tex4ht theora thin-splines threads thunar tiff timidity tk truetype twolame type3 udev ukit unicode unsupported urandom usb utils vcd vdpau vhosts vidix vim-syntax voice vorbis vpx wav web webdav webdav-neon webinterface wide-unicode wifi wikipedia wimax win32codecs wininst wma wmf wps wxwidgets x264 x86 xanim xattr xcb xcomposite xetex xindy xinerama xinetd xklavier xml xmlreader xmlrpc xmlwriter xorg xosd xpm xscreensaver xulrunner xv xvid xvmc yahoo youtube zip zlib zoran" ALSA_CARDS="seq-dummy intel-hda-snd" ALSA_PCM_PLUGINS="adpcm alaw asym copy dmix dshare dsnoop empty extplug file hooks iec958 ioplug ladspa lfloat linear meter mmap_emul mulaw multi null plug rate route share shm softvol" APACHE2_MODULES="actions alias auth_basic auth_digest authn_anon authn_dbd authn_dbm authn_default authn_file authz_dbm authz_default authz_groupfile authz_host authz_owner authz_user autoindex cache dav dav_fs dav_lock dbd deflate dir disk_cache env expires ext_filter file_cache filter headers ident imagemap include info log_config logio mem_cache mime mime_magic negotiation proxy proxy_ajp proxy_balancer proxy_connect proxy_http rewrite setenvif so speling status unique_id userdir usertrack vhost_alias" CALLIGRA_FEATURES="kexi words flow plan stage tables krita karbon braindump" CAMERAS="ptp2" COLLECTD_PLUGINS="df interface irq load memory rrdtool swap syslog" ELIBC="glibc" GPSD_PROTOCOLS="ashtech aivdm earthmate evermore fv18 garmin garmintxt gpsclock itrax mtk3301 nmea ntrip navcom oceanserver oldstyle oncore rtcm104v2 rtcm104v3 sirf superstar2 timing tsip tripmate tnt ubx" INPUT_DEVICES="evdev synaptics" KERNEL="linux" LCD_DEVICES="bayrad cfontz cfontz633 glk hd44780 lb216 lcdm001 mtxorb ncurses text" LINGUAS="en en_ZA en_GB en_US" PHP_TARGETS="php5-3" RUBY_TARGETS="ruby18" USERLAND="GNU" VIDEO_CARDS="nvidia vesa" XTABLES_ADDONS="quota2 psd pknock lscan length2 ipv4options ipset ipp2p iface geoip fuzzy condition tee tarpit sysrq steal rawnat logmark ipmark dhcpmac delude chaos account"
Unset:  CPPFLAGS, CTARGET, EMERGE_DEFAULT_OPTS, INSTALL_MASK, LC_ALL, PORTAGE_BUNZIP2_COMMAND, PORTAGE_COMPRESS, PORTAGE_COMPRESS_FLAGS, PORTAGE_RSYNC_EXTRA_OPTS
Comment 4 Anthony Basile gentoo-dev 2012-02-03 22:55:14 UTC
(In reply to comment #3)

> 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
> 

Hi James, welcome to the wonderful world of valgrind :)  You've actually hit a different error.  See bug #390323.

Long story short, splitdebug or nostrip will not fix this.  We're hoping upstream will get it.