ReleasenotesforValgrind
~~~~~~~~~~~~~~~~~~~~~~~~~~
IfyouarebuildingabinarypackageofValgrindfordistribution,
pleasereadREADME_PACKAGERS.Itcontainssomeimportantinformation.
IfyouaredevelopingValgrind,pleasereadREADME_DEVELOPERS.Itcontains
someusefulinformation.
Forinstructionsonhowtobuild/install,seetheendofthisfile.
Ifyouhaveproblems,consulttheFAQtoseeifthereareworkarounds.
ExecutiveSummary
~~~~~~~~~~~~~~~~~
Valgrindisaframeworkforbuildingdynamicanalysistools.Thereare
Valgrindtoolsthatcanautomaticallydetectmanymemorymanagement
andthreadingbugs,andprofileyourprogramsindetail.Youcanalso
useValgrindtobuildnewtools.
TheValgrinddistributioncurrentlyincludessixproduction-quality
tools:amemoryerrordetector,twothreaderrordetectors,acache
andbranch-predictionprofiler,acall-graphgeneratingcacheabd
branch-predictionprofiler,andaheapprofiler.Italsoincludes
threeexperimentaltools:aheap/stack/globalarrayoverrundetector,
adifferentkindofheapprofiler,andaSimPointbasicblockvector
generator.
ValgrindiscloselytiedtodetailsoftheCPU,operatingsystemandto
alesserextent,compilerandbasicClibraries.Thismakesitdifficult
tomakeitportable.Nonetheless,itisavailableforthefollowing
platforms:
-X86/Linux
-AMD64/Linux
-PPC32/Linux
-PPC64/Linux
-ARM/Linux
-x86/MacOSX
-AMD64/MacOSX
-S390X/Linux
-MIPS32/Linux
-MIPS64/Linux
-X86/Solaris
-AMD64/Solaris
NotethatAMD64isjustanothernameforx86_64,andValgrindrunsfine
onIntelprocessors.AlsonotethatthecoreofMacOSXiscalled
"Darwin"andthisnameisusedsometimes.
ValgrindislicensedundertheGNUGeneralPublicLicense,version2.
ReadthefileCOPYINGinthesourcedistributionfordetails.
However:ifyoucontributecode,youneedtomakeitavailableasGPL
version2orlater,andnot2-only.
Documentation
~~~~~~~~~~~~~
Acomprehensiveuserguideissupplied.Pointyourbrowserat
$PREFIX/share/doc/valgrind/manual.html,where$PREFIXiswhateveryou
specifiedwith--prefix=whenbuilding.
Buildingandinstallingit
~~~~~~~~~~~~~~~~~~~~~~~~~~
ToinstallfromtheSubversionrepository:
0.CheckoutthecodefromSVN,followingtheinstructionsat
http://www.valgrind.org/downloads/repository.html.
1.cdintothesourcedirectory.
2.Run./autogen.shtosetuptheenvironment(youneedthestandard
autoconftoolstodoso).
3.Continuewiththefollowinginstructions...
Toinstallfromatar.bz2distribution:
4.Run./configure,withsomeoptionsifyouwish.Theonlyinteresting
oneistheusual--prefix=/where/you/want/it/installed.
5.Run"make".
6.Run"makeinstall",possiblyasrootifthedestinationpermissions
requirethat.
7.Seeifitworks.Try"valgrindls-l".Eitherthisworks,orit
bombsoutwithsomecomplaint.Inthatcase,pleaseletusknow
(seewww.valgrind.org).
Important!Donotmovethevalgrindinstallationintoaplace
differentfromthatspecifiedby--prefixatbuildtime.Thiswill
causethingstobreakinsubtleways,mostlywhenValgrindhandles
fork/execcalls.
TheValgrindDevelopers