1 <html> 2 <head> 3 <meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1"> 4 <title>2.NEWS</title> 5 <link rel="stylesheet" href="vg_basic.css" type="text/css"> 6 <meta name="generator" content="DocBook XSL Stylesheets V1.75.2"> 7 <link rel="home" href="index.html" title="Valgrind Documentation"> 8 <link rel="up" href="dist.html" title="Valgrind Distribution Documents"> 9 <link rel="prev" href="dist.authors.html" title="1.AUTHORS"> 10 <link rel="next" href="dist.readme.html" title="3.README"> 11 </head> 12 <body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF"> 13 <div><table class="nav" width="100%" cellspacing="3" cellpadding="3" border="0" summary="Navigation header"><tr> 14 <td width="22px" align="center" valign="middle"><a accesskey="p" href="dist.authors.html"><img src="images/prev.png" width="18" height="21" border="0" alt="Prev"></a></td> 15 <td width="25px" align="center" valign="middle"><a accesskey="u" href="dist.html"><img src="images/up.png" width="21" height="18" border="0" alt="Up"></a></td> 16 <td width="31px" align="center" valign="middle"><a accesskey="h" href="index.html"><img src="images/home.png" width="27" height="20" border="0" alt="Up"></a></td> 17 <th align="center" valign="middle">Valgrind Distribution Documents</th> 18 <td width="22px" align="center" valign="middle"><a accesskey="n" href="dist.readme.html"><img src="images/next.png" width="18" height="21" border="0" alt="Next"></a></td> 19 </tr></table></div> 20 <div class="chapter" title="2.NEWS"> 21 <div class="titlepage"><div><div><h2 class="title"> 22 <a name="dist.news"></a>2.NEWS</h2></div></div></div> 23 <div class="literallayout"><p><br> 24 <br> 25 Release3.6.1(16February2011)<br> 26 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~<br> 27 3.6.1isabugfixrelease.ItaddssupportforsomeSSE4<br> 28 instructionsthatwereomittedin3.6.0duetolackoftime.Initial<br> 29 supportforglibc-2.13hasbeenadded.Anumberofbugscausing<br> 30 crashingorassertionfailureshavebeenfixed.<br> 31 <br> 32 Thefollowingbugshavebeenfixedorresolved.Notethat"n-i-bz"<br> 33 standsfor"notinbugzilla"--thatis,abugthatwasreportedtous<br> 34 butnevergotabugzillaentry.Weencourageyoutofilebugsin<br> 35 bugzilla(http://bugs.kde.org/enter_valgrind_bug.cgi)ratherthan<br> 36 mailingthedevelopers(ormailinglists)directly--bugsthatare<br> 37 notenteredintobugzillatendtogetforgottenaboutorignored.<br> 38 <br> 39 Toseedetailsofagivenbug,visit<br> 40 https://bugs.kde.org/show_bug.cgi?id=XXXXXX<br> 41 whereXXXXXXisthebugnumberaslistedbelow.<br> 42 <br> 43 188572ValgrindonMacshouldsuppresssetenv()memleak<br> 44 194402vexamd64->IR:0x480xF0xAE0x4(properFX{SAVE,RSTOR}support)<br> 45 210481vexamd64->IR:Assertion`sz==2||sz==4'failed(REX.WPOPQ)<br> 46 246152callgrindinternalerrorafterpthread_cancelon32BitLinux<br> 47 250038ppc64:AltivecLVSRandLVSLinstructionsfailtheirregtest<br> 48 254420memorypooltrackingbroken<br> 49 254957Testcodefailingtocompileduetochangesinmemcheck.h<br> 50 255009helgrind/drd:crashonchmodwithinvalidparameter<br> 51 255130readdwarf3.cparse_type_DIEconfusedbyGNATAdatypes<br> 52 255355helgrind/drd:crashonthreadedprogramsdoingfork<br> 53 255358==255355<br> 54 255418(SSE4.x)rintcallcompiledwithICC<br> 55 255822--gen-suppressionscancreateinvalidfiles:"toomanycallers[...]"<br> 56 255888closingvalgrindoutputtagoutputtedtolog-streamonerror<br> 57 255963(SSE4.x)vexamd64->IR:0x660xF0x3A0x90xDB0x0(ROUNDPD)<br> 58 255966Slownesswhenusingmempoolannotations<br> 59 256387vexx86->IR:0xD40xA0x20x7(AADandAAM)<br> 60 256600super-optimizedstrcasecmp()falsepositive<br> 61 256669vexamd64->IR:UnhandledLOOPNELinsnonamd64<br> 62 256968(SSE4.x)vexamd64->IR:0x660xF0x380x100xD30x66(BLENDVPx)<br> 63 257011(SSE4.x)vexamd64->IR:0x660xF0x3A0xE0xFD0xA0(PBLENDW)<br> 64 257063(SSE4.x)vexamd64->IR:0x660xF0x3A0x80xC00x0(ROUNDPS)<br> 65 257276Missingcaseinmemcheck--track-origins=yes<br> 66 258870(SSE4.x)AddsupportforEXTRACTPSSSE4.1instruction<br> 67 261966(SSE4.x)supportforCRC32BandCRC32Qislacking(alsoCRC32{W,L})<br> 68 262985VEXregressioninvalgrind3.6.0inhandlingPowerPCVMX<br> 69 262995(SSE4.x)crashwhentryingtovalgrindgcc-snapshot(PCMPxSTRx$0)<br> 70 263099callgrind_annotatecountsIrimproperly[...]<br> 71 263877undefinedcoprocessorinstructiononARMv7<br> 72 265964configureFAILwithglibc-2.13<br> 73 n-i-bzFixcompileerrorw/icc-12.xinguest_arm_toIR.c<br> 74 n-i-bzDocs:fixbogusdescriptionsforVALGRIND_CREATE_BLOCKetal<br> 75 n-i-bzMassif:don'tassertonshmat()with--pages-as-heap=yes<br> 76 n-i-bzBugfixesandmajorspeedupsfortheexp-DHATspaceprofiler<br> 77 n-i-bzDRD:disable--free-is-writeduetoimplementationdifficulties<br> 78 <br> 79 (3.6.1:16February2011,vexr2103,valgrindr11561).<br> 80 <br> 81 <br> 82 <br> 83 Release3.6.0(21October2010)<br> 84 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~<br> 85 3.6.0isafeaturereleasewithmanysignificantimprovementsandthe<br> 86 usualcollectionofbugfixes.<br> 87 <br> 88 ThisreleasesupportsX86/Linux,AMD64/Linux,ARM/Linux,PPC32/Linux,<br> 89 PPC64/Linux,X86/DarwinandAMD64/Darwin.Supportforrecentdistros<br> 90 andtoolchaincomponents(glibc2.12,gcc4.5,OSX10.6)hasbeenadded.<br> 91 <br> 92 -------------------------<br> 93 <br> 94 Herearesomehighlights.Detailsareshownfurtherdown:<br> 95 <br> 96 *SupportforARM/Linux.<br> 97 <br> 98 *SupportforrecentLinuxdistros:Ubuntu10.10andFedora14.<br> 99 <br> 100 *SupportforMacOSX10.6,both32-and64-bitexecutables.<br> 101 <br> 102 *SupportfortheSSE4.2instructionset.<br> 103 <br> 104 *EnhancementstotheCallgrindprofiler,includingtheabilityto<br> 105 handleCPUswiththreelevelsofcache.<br> 106 <br> 107 *Anewexperimentalheapprofiler,DHAT.<br> 108 <br> 109 *Ahugenumberofbugfixesandsmallenhancements.<br> 110 <br> 111 -------------------------<br> 112 <br> 113 Herearedetailsoftheabovechanges,togetherwithdescriptionsof<br> 114 manyotherchanges,andalistoffixedbugs.<br> 115 <br> 116 *==================PLATFORMCHANGES=================<br> 117 <br> 118 *SupportforARM/Linux.ValgrindnowrunsonARMv7capableCPUs<br> 119 runningLinux.ItisknowntoworkonUbuntu10.04,Ubuntu10.10,<br> 120 andMaemo5,soyoucanrunValgrindonyourNokiaN900ifyouwant.<br> 121 <br> 122 ThisrequiresaCPUcapableofrunningtheARMv7-Ainstructionset<br> 123 (CortexA5,A8andA9).Valgrindprovidesfairlycompletecoverage<br> 124 oftheuserspaceinstructionset,includingARMandThumbinteger<br> 125 code,VFPv3,NEONandV6mediainstructions.TheMemcheck,<br> 126 CachegrindandMassiftoolsworkproperly;othertoolsworkto<br> 127 varyingdegrees.<br> 128 <br> 129 *SupportforrecentLinuxdistros(Ubuntu10.10andFedora14),along<br> 130 withsupportforrecentreleasesoftheunderlyingtoolchain<br> 131 components,notablygcc-4.5andglibc-2.12.<br> 132 <br> 133 *SupportforMacOSX10.6,both32-and64-bitexecutables.64-bit<br> 134 supportalsoworksmuchbetteronOSX10.5,andisassolidas<br> 135 32-bitsupportnow.<br> 136 <br> 137 *SupportfortheSSE4.2instructionset.SSE4.2issupportedin<br> 138 64-bitmode.In32-bitmode,supportisonlyavailableuptoand<br> 139 includingSSSE3.Someexceptions:SSE4.2AESinstructionsarenot<br> 140 supportedin64-bitmode,and32-bitmodedoesinfactsupportthe<br> 141 bareminimumSSE4instructionstoneededtorunprogramsonMacOSX<br> 142 10.6on32-bittargets.<br> 143 <br> 144 *SupportforIBMPOWER6cpushasbeenimproved.ThePowerISAupto<br> 145 andincludingversion2.05issupported.<br> 146 <br> 147 *====================TOOLCHANGES====================<br> 148 <br> 149 *Cachegrindhasanewprocessingscript,cg_diff,whichfindsthe<br> 150 differencebetweentwoprofiles.It'sveryusefulforevaluating<br> 151 theperformanceeffectsofachangeinaprogram.<br> 152 <br> 153 Relatedtothischange,themeaningofcg_annotate's(rarely-used)<br> 154 --thresholdoptionhaschanged;thisisunlikelytoaffectmany<br> 155 people,ifyoudouseitpleaseseetheusermanualfordetails.<br> 156 <br> 157 *Callgrindnowcandobranchpredictionsimulation,similarto<br> 158 Cachegrind.Inaddition,itoptionallycancountthenumberof<br> 159 executedglobalbusevents.Bothcanbeusedforabetter<br> 160 approximationofa"CycleEstimation"asderivedevent(youneedto<br> 161 updatetheeventformulainKCachegrindyourself).<br> 162 <br> 163 *CachegrindandCallgrindnowrefertotheLL(last-level)cache<br> 164 ratherthantheL2cache.Thisistoaccommodatemachineswith<br> 165 threelevelsofcaches--ifCachegrind/Callgrindauto-detectsthe<br> 166 cacheconfigurationofsuchamachineitwillrunthesimulationas<br> 167 iftheL2cacheisn'tpresent.Thismeanstheresultsareless<br> 168 likelytomatchthetrueresultforthemachine,but<br> 169 Cachegrind/Callgrind'sresultsarealreadyonlyapproximate,and<br> 170 shouldnotbeconsideredauthoritative.Theresultsarestill<br> 171 usefulforgivingageneralideaaboutaprogram'slocality.<br> 172 <br> 173 *Massifhasanewoption,--pages-as-heap,whichisdisabledby<br> 174 default.Whenenabled,insteadoftrackingallocationsatthelevel<br> 175 ofheapblocks(asallocatedwithmalloc/new/new[]),itinstead<br> 176 tracksmemoryallocationsatthelevelofmemorypages(asmappedby<br> 177 mmap,brk,etc).Eachmappedpageistreatedasitsownblock.<br> 178 Interpretingthepage-leveloutputisharderthantheheap-level<br> 179 output,butthisoptionisusefulifyouwanttoaccountforevery<br> 180 byteofmemoryusedbyaprogram.<br> 181 <br> 182 *DRDhastwonewcommand-lineoptions:--free-is-writeand<br> 183 --trace-alloc.Theformerallowstodetectreadingfromalreadyfreed<br> 184 memory,andthelatterallowstracingofallmemoryallocationsand<br> 185 deallocations.<br> 186 <br> 187 *DRDhasseveralnewannotations.Custombarrierimplementationscan<br> 188 nowbeannotated,aswellasbenignracesonstaticvariables.<br> 189 <br> 190 *DRD'shappensbefore/happensafterannotationshavebeenmademore<br> 191 powerful,sothattheycannowalsobeusedtoannotatee.g.asmart<br> 192 pointerimplementation.<br> 193 <br> 194 *Helgrind'sannotationsethasalsobeendrasticallyimproved,soas<br> 195 toprovidetousersageneralsetofannotationstodescribelocks,<br> 196 semaphores,barriersandconditionvariables.Annotationsto<br> 197 describethread-safereferencecountedheapobjectshavealsobeen<br> 198 added.<br> 199 <br> 200 *Memcheckhasanewcommand-lineoption,--show-possibly-lost,which<br> 201 isenabledbydefault.Whendisabled,theleakdetectorwillnot<br> 202 showpossibly-lostblocks.<br> 203 <br> 204 *Anewexperimentalheapprofiler,DHAT(DynamicHeapAnalysisTool),<br> 205 hasbeenadded.DHATkeepstrackofallocatedheapblocks,andalso<br> 206 inspectseverymemoryreferencetoseewhichblock(ifany)isbeing<br> 207 accessed.Thisgivesalotofinsightintoblocklifetimes,<br> 208 utilisation,turnover,liveness,andthelocationofhotandcold<br> 209 fields.YoucanuseDHATtodohot-fieldprofiling.<br> 210 <br> 211 *====================OTHERCHANGES====================<br> 212 <br> 213 *Improvedsupportforunfriendlyself-modifyingcode:theextra<br> 214 overheadincurredby--smc-check=allhasbeenreducedby<br> 215 approximatelyafactorof5ascomparedwith3.5.0.<br> 216 <br> 217 *Abilitytoshowdirectorynamesforsourcefilesinerrormessages.<br> 218 Thisiscombinedwithaflexiblemechanismforspecifyingwhich<br> 219 partsofthepathsshouldbeshown.Thisisenabledbythenewflag<br> 220 --fullpath-after.<br> 221 <br> 222 *Anewflag,--require-text-symbol,whichwillstoptherunifa<br> 223 specifiedsymbolisnotfounditagivensharedobjectwhenitis<br> 224 loadedintotheprocess.Thismakesadvancedworkingwithfunction<br> 225 interceptingandwrappingsaferandmorereliable.<br> 226 <br> 227 *ImprovedsupportfortheValkyrieGUI,version2.0.0.GUIoutput<br> 228 andcontrolofValgrindisnowavailableforthetoolsMemcheckand<br> 229 Helgrind.XMLoutputfromValgrindisavailableforMemcheck,<br> 230 Helgrindandexp-Ptrcheck.<br> 231 <br> 232 *Morereliablestackunwindingonamd64-linux,particularlyinthe<br> 233 presenceoffunctionwrappers,andwithgcc-4.5compiledcode.<br> 234 <br> 235 *Modestscalability(performanceimprovements)formassive<br> 236 long-runningapplications,particularlyforthosewithhugeamounts<br> 237 ofcode.<br> 238 <br> 239 *SupportforanalyzingprogramsrunningunderWinewithhasbeen<br> 240 improved.Theheaderfiles<valgrind/valgrind.h>,<br> 241 <valgrind/memcheck.h>and<valgrind/drd.h>cannowbeusedin<br> 242 Windows-programscompiledwithMinGWoroneoftheMicrosoftVisual<br> 243 Studiocompilers.<br> 244 <br> 245 *Ararebutseriouserrorinthe64-bitx86CPUsimulationwasfixed.<br> 246 The32-bitsimulatorwasnotaffected.Thisdidnotoccuroften,<br> 247 butwhenitdidwouldusuallycrashtheprogramundertest.<br> 248 Bug245925.<br> 249 <br> 250 *Alargenumberofbugswerefixed.Theseareshownbelow.<br> 251 <br> 252 *Anumberofbugswereinvestigated,andwerecandidatesforfixing,<br> 253 butarenotfixedin3.6.0,duetolackofdevelopertime.Theymay<br> 254 getfixedinlaterreleases.Theyare:<br> 255 <br> 256 194402vexamd64->IR:0x480xF0xAE0x40x240x49(FXSAVE64)<br> 257 212419falsepositive"lockorderviolated"(A+BvsA)<br> 258 213685Undefinedvaluepropagatespastdependencybreakinginstruction<br> 259 216837IncorrectinstrumentationofNSOperationQueueonDarwin<br> 260 237920valgrindsegfaultonforkfailure<br> 261 242137supportforcodecompiledbyLLVM-2.8<br> 262 242423AnotherunknownIntelcacheconfigvalue<br> 263 243232InconsistentLockOrderingsreportwithtrylock<br> 264 243483ppc:callgrindtriggersVEXassertionfailure<br> 265 243935Helgrind:implementationofANNOTATE_HAPPENS_BEFORE()iswrong<br> 266 244677Helgrindcrashhg_main.c:616(map_threads_lookup):Assertion<br> 267 'thr'failed.<br> 268 246152callgrindinternalerrorafterpthread_cancelon32BitLinux<br> 269 249435Analyzingwineprogramswithcallgrindtriggersacrash<br> 270 250038ppc64:Altiveclvsrandlvslinstructionsfailtheirregtest<br> 271 250065Handlinglargeallocations<br> 272 250101huge"free"memoryusageduetom_mallocfree.c<br> 273 "superblocksfragmentation"<br> 274 251569vexamd64->IR:0xF0x10xF90x8B0x4C0x24(RDTSCP)<br> 275 252091CallgrindonARMdoesnotdetectfunctionreturnscorrectly<br> 276 252600[PATCH]Allowlhstobeapointerforshl/shr<br> 277 254420memorypooltrackingbroken<br> 278 n-i-bzsupportforaddingsymbolsforJITgeneratedcode<br> 279 <br> 280 <br> 281 Thefollowingbugshavebeenfixedorresolved.Notethat"n-i-bz"<br> 282 standsfor"notinbugzilla"--thatis,abugthatwasreportedtous<br> 283 butnevergotabugzillaentry.Weencourageyoutofilebugsin<br> 284 bugzilla(http://bugs.kde.org/enter_valgrind_bug.cgi)ratherthan<br> 285 mailingthedevelopers(ormailinglists)directly--bugsthatare<br> 286 notenteredintobugzillatendtogetforgottenaboutorignored.<br> 287 <br> 288 Toseedetailsofagivenbug,visit<br> 289 https://bugs.kde.org/show_bug.cgi?id=XXXXXX<br> 290 whereXXXXXXisthebugnumberaslistedbelow.<br> 291 <br> 292 135264dcbzlinstructionmissing<br> 293 142688==250799<br> 294 153699Valgrindshouldreportunalignedreadswithmovdqa<br> 295 180217==212335<br> 296 190429Valgrindreportslostoferrorsinld.so<br> 297 withx86_642.9.90glibc<br> 298 197266valgrindappearstochokeonthexmmsinstruction<br> 299 "roundsd"onx86_64<br> 300 197988Crashwhendemanglingverylargesymbolnames<br> 301 202315unhandledsyscall:332(inotify_init1)<br> 302 203256Addpage-levelprofilingtoMassif<br> 303 205093dsymutil=yesneedsquotes,locking(partialfix)<br> 304 205241SnowLeopard10.6support(partialfix)<br> 305 206600Leakcheckerfailstoupgradeindirectblockswhentheir<br> 306 parentbecomesreachable<br> 307 210935portvalgrind.h(notvalgrind)towin32soappsrununder<br> 308 winecanmakeclientrequests<br> 309 211410vexamd64->IR:0x150xFF0xFF0x00x00x89<br> 310 withinLinuxip-stackchecksumfunctions<br> 311 212335unhandledinstructionbytes:0xF30xF0xBD0xC0<br> 312 (lzcnt%eax,%eax)<br> 313 213685Undefinedvaluepropagatespastdependencybreakinginstruction<br> 314 (partialfix)<br> 315 215914Valgrindinsertsbogusemptyenvironmentvariable<br> 316 217863==197988<br> 317 219538adjtimexsyscallwrapperwronginreadonlyadjtimemode<br> 318 222545shmatfailsundervalgindonsomearmtargets<br> 319 222560ARMNEONsupport<br> 320 230407==202315<br> 321 231076==202315<br> 322 232509Docsbuildfailswithformattinginside<title></title>elements<br> 323 232793==202315<br> 324 235642[PATCH]syswrap-linux.c:supportevdevEVIOCG*ioctls<br> 325 236546vexx86->IR:0x660xF0x3A0xA<br> 326 237202vexamd64->IR:0xF30xF0xB80xC00x490x3B<br> 327 237371bettersupportforVALGRIND_MALLOCLIKE_BLOCK<br> 328 237485symlink(syscall57)isnotsupportedonMacOS<br> 329 237723sysno==101exp-ptrcheck:the'impossible'happened:<br> 330 unhandledsyscall<br> 331 238208is_just_below_ESPdoesn'ttakeintoaccountred-zone<br> 332 238345valgrindpasseswrong$0whenexecutingashellscript<br> 333 238679mq_timedreceivesyscalldoesn'tflagthereceptionbuffer<br> 334 as"defined"<br> 335 238696fcntlcommandF_DUPFD_CLOEXECnotsupported<br> 336 238713unhandledinstructionbytes:0x660xF0x290xC6<br> 337 238713unhandledinstructionbytes:0x660xF0x290xC6<br> 338 2387453.5.0MakefailsonPPCAltivecopcodes,thoughconfigure<br> 339 says"Altivecoff"<br> 340 239992vexamd64->IR:0x480xF0xC40xC10x00x48<br> 341 240488==197988<br> 342 240639==212335<br> 343 241377==236546<br> 344 241903==202315<br> 345 241920==212335<br> 346 242606unhandledsyscall:setegid(inPtrcheck)<br> 347 242814Helgrind"Impossiblehashappened"during<br> 348 QApplication::initInstance();<br> 349 243064Valgrindattemptingtoreaddebuginformationfromiso<br> 350 243270MakestackunwindinginValgrindwrappersmorereliable<br> 351 243884exp-ptrcheck:the'impossiblehappened:unhandledsyscall<br> 352 sysno=277(mq_open)<br> 353 244009exp-ptrcheckunknownsyscallsinanalyzinglighttpd<br> 354 244493ARMVFPd16-d31registerssupport<br> 355 244670addsupportforaudit_session_selfsyscallonMacOS10.6<br> 356 244921Thexmlreportofhelgrindtoolisnotwellformat<br> 357 244923Inthexmlreportfile,the<preamble>notescapethe<br> 358 xmlchar,eg'<','&','>'<br> 359 245535printfullpathnamesinplaintextreports<br> 360 245925x86-64redzonehandlingproblem<br> 361 246258Valgrindnotcatchingintegerunderruns+new[]s<br> 362 246311reg/regcmpxchgdoesn'tworkonamd64<br> 363 246549unhandledsyscallunix:277whiletesting32-bitDarwinapp<br> 364 246888ImproveMakefile.vex.am<br> 365 247510[OSX10.6]Memcheckreportsunaddressablebytespassed<br> 366 to[f]chmod_extended<br> 367 247526IBMPOWER6(ISA2.05)supportisincomplete<br> 368 247561Someleaktestcasesfailsduetoreachableaddressesin<br> 369 callersaveregs<br> 370 247875sizeofIRTypetohandleIty_I128<br> 371 247894[PATCH]unhandledsyscallsys_readahead<br> 372 247980Doesn'thonorCFLAGSpassedtoconfigure<br> 373 248373darwin10.suppisemptyinthetrunk<br> 374 248822LinuxFIBMAPioctlhasintparameterinsteadoflong<br> 375 248893[PATCH]makereaddwarf.cbigendianesssafetoenable<br> 376 unwindingonbigendiansystems<br> 377 249224Syscall336notsupported(SYS_proc_info)<br> 378 249359==245535<br> 379 249775IncorrectschemefordetectingNEONcapabilitiesofhostCPU<br> 380 249943jniJVMinitfailswhenusingvalgrind<br> 381 249991ValgrindincorrectlydeclaresAESKEYGENASSISTsupport<br> 382 sinceVEXr2011<br> 383 249996linux/arm:unhandledsyscall:181(__NR_pwrite64)<br> 384 250799frexp$fenv_access_offfunctiongeneratesSIGILL<br> 385 250998vexx86->IR:unhandledinstructionbytes:0x660x660x660x2E<br> 386 251251supportpclmulqdqinsn<br> 387 251362valgrind:ARM:attachtodebuggereitherfailsorprovokes<br> 388 kerneloops<br> 389 251674Unhandledsyscall294<br> 390 251818==254550<br> 391 <br> 392 254257Addsupportfordebugfilesfoundbybuild-id<br> 393 254550[PATCH]ImplementDW_ATE_UTF(DWARF4)<br> 394 254646WrappedfunctionscausestackmisalignmentonOSX<br> 395 (andpossiblyLinux)<br> 396 254556ARM:valgrindinganythingfailswithSIGSEGVfor0xFFFF0FA0<br> 397 <br> 398 (3.6.0:21October2010,vexr2068,valgrindr11471).<br> 399 <br> 400 <br> 401 <br> 402 Release3.5.0(19August2009)<br> 403 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~<br> 404 3.5.0isafeaturereleasewithmanysignificantimprovementsandthe<br> 405 usualcollectionofbugfixes.ThemainimprovementisthatValgrind<br> 406 nowworksonMacOSX.<br> 407 <br> 408 ThisreleasesupportsX86/Linux,AMD64/Linux,PPC32/Linux,PPC64/Linux<br> 409 andX86/Darwin.Supportforrecentdistrosandtoolchaincomponents<br> 410 (glibc2.10,gcc4.5)hasbeenadded.<br> 411 <br> 412 -------------------------<br> 413 <br> 414 Hereisashortsummaryofthechanges.Detailsareshownfurther<br> 415 down:<br> 416 <br> 417 *SupportforMacOSX(10.5.x).<br> 418 <br> 419 *ImprovementsandsimplificationstoMemcheck'sleakchecker.<br> 420 <br> 421 *ClarificationandsimplificationsinvariousaspectsofValgrind's<br> 422 textoutput.<br> 423 <br> 424 *XMLoutputforHelgrindandPtrcheck.<br> 425 <br> 426 *PerformanceandstabilityimprovementsforHelgrindandDRD.<br> 427 <br> 428 *Genuinelyatomicsupportforx86/amd64/ppcatomicinstructions.<br> 429 <br> 430 *Anewexperimentaltool,BBV,usefulforcomputerarchitecture<br> 431 research.<br> 432 <br> 433 *ImprovedWinesupport,includingabilitytoreadWindowsPDB<br> 434 debuginfo.<br> 435 <br> 436 -------------------------<br> 437 <br> 438 Herearedetailsoftheabovechanges,followedbydescriptionsof<br> 439 manyotherminorchanges,andalistoffixedbugs.<br> 440 <br> 441 <br> 442 *ValgrindnowrunsonMacOSX.(NotethatMacOSXissometimes<br> 443 called"Darwin"becausethatisthenameoftheOScore,whichisthe<br> 444 levelthatValgrindworksat.)<br> 445 <br> 446 Supportedsystems:<br> 447 <br> 448 -ItrequiresOS10.5.x(Leopard).Portingto10.4.xisnotplanned<br> 449 becauseitwouldrequireworkand10.4isonlybecominglesscommon.<br> 450 <br> 451 -32-bitprogramsonx86andAMD64(a.k.ax86-64)machinesaresupported<br> 452 fairlywell.For10.5.x,32-bitprogramsarethedefaultevenon<br> 453 64-bitmachines,soithandlesmostcurrentprograms.<br> 454 <br> 455 -64-bitprogramsonx86andAMD64(a.k.ax86-64)machinesarenot<br> 456 officiallysupported,butsimpleprogramsatleastwillprobablywork.<br> 457 However,start-upisslow.<br> 458 <br> 459 -PowerPCmachinesarenotsupported.<br> 460 <br> 461 Thingsthatdon'twork:<br> 462 <br> 463 -ThePtrchecktool.<br> 464 <br> 465 -Objective-Cgarbagecollection.<br> 466 <br> 467 ---db-attach=yes.<br> 468 <br> 469 -IfyouhaveRogueAmoeba's"InstantHijack"programinstalled,<br> 470 ValgrindwillfailwithaSIGTRAPatstart-up.See<br> 471 https://bugs.kde.org/show_bug.cgi?id=193917fordetailsanda<br> 472 simplework-around.<br> 473 <br> 474 Usagenotes:<br> 475 <br> 476 -Youwilllikelyfind--dsymutil=yesausefuloption,aserror<br> 477 messagesmaybeimprecisewithoutit.<br> 478 <br> 479 -MacOSXsupportisnewandthereforewillbelessrobustthanthe<br> 480 Linuxsupport.Pleasereportanybugsyoufind.<br> 481 <br> 482 -ThreadedprogramsmayrunmoreslowlythanonLinux.<br> 483 <br> 484 ManythankstoGregParkerfordevelopingthisportoverseveralyears.<br> 485 <br> 486 <br> 487 *Memcheck'sleakcheckerhasbeenimproved.<br> 488 <br> 489 -Theresultsfor--leak-check=summarynowmatchthesummaryresults<br> 490 for--leak-check=full.Previouslytheycoulddifferbecause<br> 491 --leak-check=summarycounted"indirectlylost"blocksand<br> 492 "suppressed"blocksas"definitelylost".<br> 493 <br> 494 -Blocksthatareonlyreachableviaatleastoneinterior-pointer,<br> 495 butaredirectlypointedtobyastart-pointer,werepreviously<br> 496 markedas"stillreachable".Theyarenowcorrectlymarkedas<br> 497 "possiblylost".<br> 498 <br> 499 -Thedefaultvalueforthe--leak-resolutionoptionhasbeen<br> 500 changedfrom"low"to"high".Ingeneral,thismeansthatmore<br> 501 leakreportswillbeproduced,buteachleakreportwilldescribe<br> 502 fewerleakedblocks.<br> 503 <br> 504 -With--leak-check=full,"definitelylost"and"possiblylost"<br> 505 leaksarenowconsideredaspropererrors,ie.theyarecounted<br> 506 forthe"ERRORSUMMARY"andaffectthebehaviourof<br> 507 --error-exitcode.Theseleaksarenotcountedaserrorsif<br> 508 --leak-check=summaryisspecified,however.<br> 509 <br> 510 -Documentationfortheleakcheckerhasbeenimproved.<br> 511 <br> 512 <br> 513 *VariousaspectsofValgrind'stextoutputhavechanged.<br> 514 <br> 515 -Valgrind'sstart-upmessagehaschanged.Itisshorterbutalso<br> 516 includesthecommandbeingrun,whichmakesiteasiertouse<br> 517 --trace-children=yes.Anexample:<br> 518 <br> 519 -Valgrind'sshut-downmessageshavealsochanged.Thisismost<br> 520 noticeablewithMemcheck,wheretheleaksummarynowoccursbefore<br> 521 theerrorsummary.Thischangewasnecessarytoallowleakstobe<br> 522 countedaspropererrors(seethedescriptionoftheleakchecker<br> 523 changesaboveformoredetails).Thiswasalsonecessarytofixa<br> 524 longstandingbuginwhichusesofsuppressionsagainstleakswere<br> 525 not"counted",leadingtodifficultiesinmaintainingsuppression<br> 526 files(seehttps://bugs.kde.org/show_bug.cgi?id=186790).<br> 527 <br> 528 -Behaviorof-vhaschanged.Inpreviousversions,-vprintedout<br> 529 amixtureofmarginally-user-usefulinformation,andtool/core<br> 530 statistics.Thestatisticsprintinghasnowbeenmovedtoitsown<br> 531 flag,--stats=yes.Thismeans-vislessverboseandmorelikely<br> 532 toconveyusefulend-userinformation.<br> 533 <br> 534 -Theformatofsome(non-XML)stacktraceentrieshaschangeda<br> 535 little.Previouslythereweresixpossibleforms:<br> 536 <br> 537 0x80483BF:really(a.c:20)<br> 538 0x80483BF:really(in/foo/a.out)<br> 539 0x80483BF:really<br> 540 0x80483BF:(within/foo/a.out)<br> 541 0x80483BF:???(a.c:20)<br> 542 0x80483BF:???<br> 543 <br> 544 Thethirdandfourthoftheseformshavebeenmademoreconsistent<br> 545 withtheothers.Thesixpossibleformsarenow:<br> 546 <br> 547 0x80483BF:really(a.c:20)<br> 548 0x80483BF:really(in/foo/a.out)<br> 549 0x80483BF:really(in???)<br> 550 0x80483BF:???(in/foo/a.out)<br> 551 0x80483BF:???(a.c:20)<br> 552 0x80483BF:???<br> 553 <br> 554 Stacktracesproducedwhen--xml=yesisspecifiedaredifferent<br> 555 andunchanged.<br> 556 <br> 557 <br> 558 *HelgrindandPtrchecknowsupportXMLoutput,sotheycanbeused<br> 559 fromGUItools.Also,theXMLoutputmechanismhasbeen<br> 560 overhauled.<br> 561 <br> 562 -TheXMLformathasbeenoverhauledandgeneralised,soitismore<br> 563 suitableforerrorreportingtoolsingeneral.TheMemcheck<br> 564 specificaspectsofithavebeenremoved.Thenewformat,which<br> 565 isanevolutionoftheoldformat,isdescribedin<br> 566 docs/internals/xml-output-protocol4.txt.<br> 567 <br> 568 -Memcheckhasbeenupdatedtousethenewformat.<br> 569 <br> 570 -HelgrindandPtrcheckarenowabletoemitoutputinthisformat.<br> 571 <br> 572 -TheXMLoutputmechanismhasbeenoverhauled.XMLisnowoutput<br> 573 toitsownfiledescriptor,whichmeansthat:<br> 574 <br> 575 *ValgrindcanoutputtextandXMLindependently.<br> 576 <br> 577 *ThelongstandingproblemofXMLoutputbeingcorruptedby<br> 578 unexpectedun-taggedtextmessagesissolved.<br> 579 <br> 580 Asbefore,thedestinationfortextoutputisspecifiedusing<br> 581 --log-file=,--log-fd=or--log-socket=.<br> 582 <br> 583 Asbefore,XMLoutputforatoolisenabledusing--xml=yes.<br> 584 <br> 585 Becausethere'sanewXMLoutputchannel,theXMLoutput<br> 586 destinationisnowspecifiedby--xml-file=,--xml-fd=or<br> 587 --xml-socket=.<br> 588 <br> 589 Initialfeedbackhasshownthiscausessomeconfusion.To<br> 590 clarify,thetwoenvisagedusagescenariosare:<br> 591 <br> 592 (1)Normaltextoutput.Inthiscase,donotspecify--xml=yes<br> 593 noranyof--xml-file=,--xml-fd=or--xml-socket=.<br> 594 <br> 595 (2)XMLoutput.Inthiscase,specify--xml=yes,andoneof<br> 596 --xml-file=,--xml-fd=or--xml-socket=toselecttheXML<br> 597 destination,oneof--log-file=,--log-fd=or--log-socket=<br> 598 toselectthedestinationforanyremainingtextmessages,<br> 599 and,importantly,-q.<br> 600 <br> 601 -qmakesValgrindcompletelysilentonthetextchannel,<br> 602 exceptinthecaseofcriticalfailures,suchasValgrind<br> 603 itselfsegfaulting,orfailingtoreaddebugginginformation.<br> 604 Hence,inthisscenario,itsufficestocheckwhetherornot<br> 605 anyoutputappearedonthetextchannel.Ifyes,thenitis<br> 606 likelytobeacriticalerrorwhichshouldbebroughttothe<br> 607 attentionoftheuser.Ifno(thetextchannelproducedno<br> 608 output)thenitcanbeassumedthattherunwassuccessful.<br> 609 <br> 610 ThisallowsGUIstomakethecriticaldistinctiontheyneedto<br> 611 make(didtherunfailornot?)withouthavingtosearchor<br> 612 filterthetextoutputchannelinanyway.<br> 613 <br> 614 Itisalsorecommendedtouse--child-silent-after-fork=yesin<br> 615 scenario(2).<br> 616 <br> 617 <br> 618 *ImprovementsandchangesinHelgrind:<br> 619 <br> 620 -XMLoutput,asdescribedabove<br> 621 <br> 622 -Checksforconsistentassociationbetweenpthreadcondition<br> 623 variablesandtheirassociatedmutexesarenowperformed.<br> 624 <br> 625 -pthread_spinlockfunctionsaresupported.<br> 626 <br> 627 -Modestperformanceimprovements.<br> 628 <br> 629 -Initial(skeletal)supportfordescribingthebehaviourof<br> 630 non-POSIXsynchronisationobjectsthroughThreadSanitizer<br> 631 compatibleANNOTATE_*macros.<br> 632 <br> 633 -Morecontrollabletradeoffsbetweenperformanceandthelevelof<br> 634 detailof"previous"accessesinarace.Therearenowthree<br> 635 settings:<br> 636 <br> 637 *--history-level=full.Thisisthedefault,andwasalsothe<br> 638 defaultin3.4.x.Itshowsbothstacksinvolvedinarace,but<br> 639 requiresalotofmemoryandcanbeveryslowinprogramsthat<br> 640 domanyinter-threadsynchronisationevents.<br> 641 <br> 642 *--history-level=none.Thisonlyshowsthelaterstackinvolved<br> 643 inarace.Thiscanbemuchfasterthan--history-level=full,<br> 644 butmakesitmuchmoredifficulttofindtheotheraccess<br> 645 involvedintherace.<br> 646 <br> 647 Thenewintermediatesettingis<br> 648 <br> 649 *--history-level=approx<br> 650 <br> 651 Fortheearlier(other)access,twostacksarepresented.The<br> 652 earlieraccessisguaranteedtobesomewhereinbetweenthetwo<br> 653 programpointsdenotedbythosestacks.Thisisnotasuseful<br> 654 asshowingtheexactstackforthepreviousaccess(asper<br> 655 --history-level=full),butitisbetterthannothing,andit's<br> 656 almostasfastas--history-level=none.<br> 657 <br> 658 <br> 659 *NewfeaturesandimprovementsinDRD:<br> 660 <br> 661 -TheerrormessagesprintedbyDRDarenoweasiertointerpret.<br> 662 Insteadofusingtwodifferentnumberstoidentifyeachthread<br> 663 (ValgrindthreadIDandDRDthreadID),DRDdoesnowidentify<br> 664 threadsviaasinglenumber(theDRDthreadID).Furthermore<br> 665 "firstobservedat"informationisnowprintedforallerror<br> 666 messagesrelatedtosynchronizationobjects.<br> 667 <br> 668 -Addedsupportfornamedsemaphores(sem_open()andsem_close()).<br> 669 <br> 670 -Raceconditionsbetweenpthread_barrier_wait()and<br> 671 pthread_barrier_destroy()callsarenowreported.<br> 672 <br> 673 -Addedsupportforcustomallocatorsthroughthemacros<br> 674 VALGRIND_MALLOCLIKE_BLOCK()VALGRIND_FREELIKE_BLOCK()(definedin<br> 675 in<valgrind/valgrind.h>).Analternativeforthesetwomacrosis<br> 676 thenewclientrequestVG_USERREQ__DRD_CLEAN_MEMORY(definedin<br> 677 <valgrind/drd.h>).<br> 678 <br> 679 -Addedsupportforannotatingnon-POSIXsynchronizationobjects<br> 680 throughseveralnewANNOTATE_*()macros.<br> 681 <br> 682 -OpenMP:addedsupportfortheOpenMPruntime(libgomp)included<br> 683 withgccversions4.3.0and4.4.0.<br> 684 <br> 685 -Fasteroperation.<br> 686 <br> 687 -Addedtwonewcommand-lineoptions(--first-race-onlyand<br> 688 --segment-merging-interval).<br> 689 <br> 690 <br> 691 *Genuinelyatomicsupportforx86/amd64/ppcatomicinstructions<br> 692 <br> 693 Valgrindwillnowpreserve(memory-access)atomicityofLOCK-<br> 694 prefixedx86/amd64instructions,andanyothersimplyingaglobal<br> 695 buslock.DittoforPowerPCl{w,d}arx/st{w,d}cx.instructions.<br> 696 <br> 697 ThismeansthatValgrindedprocesseswill"playnicely"in<br> 698 situationswherecommunicationwithotherprocesses,orthekernel,<br> 699 isdonethroughsharedmemoryandcoordinatedwithsuchatomic<br> 700 instructions.Priortothischange,sucharrangementsusually<br> 701 resultedinhangs,racesorothersynchronisationfailures,because<br> 702 Valgrinddidnothonouratomicityofsuchinstructions.<br> 703 <br> 704 <br> 705 *Anewexperimentaltool,BBV,hasbeenadded.BBVgeneratesbasic<br> 706 blockvectorsforusewiththeSimPointanalysistool,whichallows<br> 707 aprogram'soverallbehaviourtobeapproximatedbyrunningonlya<br> 708 fractionofit.Thisisusefulforcomputerarchitecture<br> 709 researchers.YoucanrunBBVbyspecifying--tool=exp-bbv(the<br> 710 "exp-"prefixisshortfor"experimental").BBVwaswrittenby<br> 711 VinceWeaver.<br> 712 <br> 713 <br> 714 *ModestlyimprovedsupportforrunningWindowsapplicationsunder<br> 715 Wine.Inparticular,initialsupportforreadingWindows.PDBdebug<br> 716 informationhasbeenadded.<br> 717 <br> 718 <br> 719 *AnewMemcheckclientrequestVALGRIND_COUNT_LEAK_BLOCKShasbeen<br> 720 added.ItissimilartoVALGRIND_COUNT_LEAKSbutcountsblocks<br> 721 insteadofbytes.<br> 722 <br> 723 <br> 724 *TheValgrindclientrequestsVALGRIND_PRINTFand<br> 725 VALGRIND_PRINTF_BACKTRACEhavebeenchangedslightly.Previously,<br> 726 thestringwasalwaysprintedimmediatelyonitsownline.Now,the<br> 727 stringwillbeaddedtoabufferbutnotprinteduntilanewlineis<br> 728 encountered,orotherValgrindoutputisprinted(notethatfor<br> 729 VALGRIND_PRINTF_BACKTRACE,theback-traceitselfisconsidered<br> 730 "otherValgrindoutput").Thisallowsyoutousemultiple<br> 731 VALGRIND_PRINTFcallstobuildupasingleoutputline,andalsoto<br> 732 printmultipleoutputlineswithasinglerequest(byembedding<br> 733 multiplenewlinesinthestring).<br> 734 <br> 735 <br> 736 *ThegraphsdrawnbyMassif'sms_printprogramhavechangedslightly:<br> 737 <br> 738 -Thehalf-heightchars'.'and','arenolongerdrawn,because<br> 739 theyareconfusing.The--yoptioncanbeusedifthedefault<br> 740 y-resolutionisnothighenough.<br> 741 <br> 742 -Horizontallinesarenowdrawnafterthetopofasnapshotif<br> 743 thereisagapuntilthenextsnapshot.Thismakesitclearthat<br> 744 thememoryusagehasnotdroppedtozerobetweensnapshots.<br> 745 <br> 746 <br> 747 *Somethingthathappenedin3.4.0,butwasn'tclearlyannounced:the<br> 748 option--read-var-info=yescanbeusedbysometools(Memcheck,<br> 749 HelgrindandDRD).Whenenabled,itcausesValgrindtoreadDWARF3<br> 750 variabletypeandlocationinformation.Thismakesthosetools<br> 751 startupmoreslowlyandincreasesmemoryconsumption,but<br> 752 descriptionsofdataaddressesinerrormessagesbecomemore<br> 753 detailed.<br> 754 <br> 755 <br> 756 *exp-Omega,anexperimentalinstantaneousleak-detectingtool,was<br> 757 disabledin3.4.0duetoalackofinterestandmaintenance,<br> 758 althoughthesourcecodewasstillinthedistribution.Thesource<br> 759 codehasnowbeenremovedfromthedistribution.Foranyone<br> 760 interested,theremovaloccurredinSVNrevisionr10247.<br> 761 <br> 762 <br> 763 *Somechangeshavebeenmadetothebuildsystem.<br> 764 <br> 765 -VEX/isnowintegratedproperlyintothebuildsystem.Thismeans<br> 766 thatdependencytrackingwithinVEX/nowworksproperly,"make<br> 767 install"willworkwithoutrequiring"make"beforeit,and<br> 768 parallelbuilds(ie.'make-j')nowwork(previouslya<br> 769 .NOTPARALLELdirectivewasusedtoserializebuilds,ie.'make-j'<br> 770 waseffectivelyignored).<br> 771 <br> 772 -The--with-vexconfigureoptionhasbeenremoved.Itwasof<br> 773 littleuseandremovingitsimplifiedthebuildsystem.<br> 774 <br> 775 -Thelocationofsomeinstallfileshaschanged.Thisshouldnot<br> 776 affectmostusers.Thosewhomightbeaffected:<br> 777 <br> 778 *ForpeoplewhouseValgrindwithMPIprograms,theinstalled<br> 779 libmpiwrap.solibraryhasmovedfrom<br> 780 $(INSTALL)/<platform>/libmpiwrap.soto<br> 781 $(INSTALL)/libmpiwrap-<platform>.so.<br> 782 <br> 783 *ForpeoplewhodistributestandaloneValgrindtools,the<br> 784 installedlibrariessuchas$(INSTALL)/<platform>/libcoregrind.a<br> 785 havemovedto$(INSTALL)/libcoregrind-<platform>.a.<br> 786 <br> 787 Thesechangessimplifythebuildsystem.<br> 788 <br> 789 -Previously,allthedistributedsuppression(*.supp)fileswere<br> 790 installed.Now,onlydefault.suppisinstalled.Thisshouldnot<br> 791 affectusersastheotherinstalledsuppressionfileswerenot<br> 792 read;thefactthattheywereinstalledwasamistake.<br> 793 <br> 794 <br> 795 *KNOWNLIMITATIONS:<br> 796 <br> 797 -MemcheckisunusablewiththeIntelcompilersuiteversion11.1,<br> 798 whenitgeneratescodeforSSE2-and-abovecapabletargets.This<br> 799 isbecauseoficc'suseofhighlyoptimisedinlinedstrlen<br> 800 implementations.ItcausesMemchecktoreporthugenumbersof<br> 801 falseerrorseveninsimpleprograms.HelgrindandDRDmayalso<br> 802 haveproblems.<br> 803 <br> 804 Versions11.0andearliermaybeOK,butthishasnotbeen<br> 805 properlytested.<br> 806 <br> 807 <br> 808 Thefollowingbugshavebeenfixedorresolved.Notethat"n-i-bz"<br> 809 standsfor"notinbugzilla"--thatis,abugthatwasreportedtous<br> 810 butnevergotabugzillaentry.Weencourageyoutofilebugsin<br> 811 bugzilla(http://bugs.kde.org/enter_valgrind_bug.cgi)ratherthan<br> 812 mailingthedevelopers(ormailinglists)directly--bugsthatare<br> 813 notenteredintobugzillatendtogetforgottenaboutorignored.<br> 814 <br> 815 Toseedetailsofagivenbug,visit<br> 816 https://bugs.kde.org/show_bug.cgi?id=XXXXXX<br> 817 whereXXXXXXisthebugnumberaslistedbelow.<br> 818 <br> 819 84303HowaboutaLockChecktool?<br> 820 91633dereferenceofnullptrinvgPlain_st_basetype<br> 821 97452Valgrinddoesn'treportanypthreadsproblems<br> 822 100628leak-checkgetsassertionfailurewhenusing<br> 823 VALGRIND_MALLOCLIKE_BLOCKonmalloc()edmemory<br> 824 108528NPTLpthreadcleanuphandlersnotcalled<br> 825 110126Valgrind2.4.1configure.intramplesCFLAGS<br> 826 110128mallinfoisnotimplemented...<br> 827 110770VEX:Generatedfilesnotalwaysupdatedwhenmakingvalgrind<br> 828 111102Memcheck:problemswithlarge(memoryfootprint)applications<br> 829 115673Vex'sdecodershouldneverassert<br> 830 117564Falsepositive:Syscallparamclone(child_tidptr)contains<br> 831 uninitialisedbyte(s)<br> 832 119404executingsshfrominsidevalgrindfails<br> 833 133679Callgrinddoesnotwritepathnamestosourceswithdwarfdebug<br> 834 info<br> 835 135847configure.inproblemwithnongnucompilers(andpossiblefix)<br> 836 136154threads.c:273(vgCallgrind_post_signal):Assertion<br> 837 '*(vgCallgrind_current_fn_stack.top)==0'failed.<br> 838 136230memcheckreports"possiblylost",shouldbe"stillreachable"<br> 839 137073NULLargtoMALLOCLIKE_BLOCKcausescrash<br> 840 137904ValgrindreportsamemoryleakwhenusingPOSIXthreads,<br> 841 whileitshouldn't<br> 842 139076valgrindVT_GETSTATEerror<br> 843 142228complaintofelf_dynamic_do_relaintrivialusage<br> 844 145347spuriouswarningwithUSBDEVFS_REAPURB<br> 845 148441(wine)can'tfindmemoryleakinWine,win32binary<br> 846 executablefile.<br> 847 148742Leak-checkfailsassertonexit<br> 848 149878add(proper)checkforcallocintegeroverflow<br> 849 150606Callgraphisbrokenwhenusingcallgrindcontrol<br> 850 152393leakerrorsproduceanexitcodeof0.Ineedsomewayto<br> 851 causeleakerrorstoresultinanonzeroexitcode.<br> 852 157154documentation(leak-resolutiondocspeaksaboutnum-callers<br> 853 def=4)+whatisalossrecord<br> 854 159501incorrecthandlingofALSAioctls<br> 855 162020Valgrindinganempty/zero-bytefilecrashesvalgrind<br> 856 162482ppc:Valgrindcrasheswhilereadingstabsinformation<br> 857 162718x86:avoidsegmentselector0insys_set_thread_area()<br> 858 163253(wine)canonicaliseSymtabforgotsomefieldsinDiSym<br> 859 163560VEX/test_main.cismissingfromvalgrind-3.3.1<br> 860 164353malloc_usable_size()doesn'treturnausablesize<br> 861 165468Inconsistentformattinginmemcheckmanual--pleasefix<br> 862 169505main.c:286(endOfInstr):<br> 863 Assertion'ii->cost_offset==*cost_offset'failed<br> 864 177206Generatedefault.suppduringcompileinsteadofconfigure<br> 865 177209Configurevalt_load_addressbasedonarch+os<br> 866 177305eventfd/syscall323patchlost<br> 867 179731Testsfailtobuildbecauseofinliningofnon-localasmlabels<br> 868 181394helgrind:libhb_core.c:3762(msm_write):Assertion<br> 869 'ordxx==POrd_EQ||ordxx==POrd_LT'failed.<br> 870 181594Boguswarningforemptytextsegment<br> 871 181707dwarfdoesn'trequireenumerationstohavename<br> 872 185038exp-ptrcheck:"unhandledsyscall:285"(fallocate)onx86_64<br> 873 185050exp-ptrcheck:sg_main.c:727(add_block_to_GlobalTree):<br> 874 Assertion'!already_present'failed.<br> 875 185359exp-ptrcheck:unhandledsyscallgetresuid()<br> 876 185794"WARNING:unhandledsyscall:285"(fallocate)onx86_64<br> 877 185816Valgrindisunabletohandledebuginfoforfileswithsplit<br> 878 debuginfothatareprelinkedafterwards<br> 879 185980[darwin]unhandledsyscall:sem_open<br> 880 186238bbToIR_AMD64:disInstrmiscalculatednext%rip<br> 881 186507exp-ptrcheckunhandledsyscallsprctl,etc.<br> 882 186790Suppressionpatternusedforleaksarenotreported<br> 883 186796Symbolswithlength>200insuppressionfilesareignored<br> 884 187048drd:mutexPTHREAD_PROCESS_SHAREDattributemissinterpretation<br> 885 187416exp-ptrcheck:supportfor__NR_{setregid,setreuid,setresuid}<br> 886 188038helgrind:hg_main.c:926:mk_SHVAL_fail:the'impossible'happened<br> 887 188046bashismsintheconfigurescript<br> 888 188127amd64->IR:unhandledinstructionbytes:0xF00xF0xB00xA<br> 889 188161memcheck:--track-origins=yesasserts"mc_machine.c:672<br> 890 (get_otrack_shadow_offset_wrk):the'impossible'happened."<br> 891 188248helgrind:pthread_cleanup_push,pthread_rwlock_unlock,<br> 892 assertionfail"!lock->heldBy"<br> 893 188427Addsupportforepoll_create1(withpatch)<br> 894 188530SupportforSIOCGSTAMPNS<br> 895 188560Includevalgrind.specinthetarball<br> 896 188572ValgrindonMacshouldsuppresssetenv()memleak<br> 897 189054Valgrindfailstobuildbecauseofduplicatenon-localasmlabels<br> 898 189737vexamd64->IR:unhandledinstructionbytes:0xAC<br> 899 189762epoll_createsyscallnothandled(--tool=exp-ptrcheck)<br> 900 189763drdassertionfailure:s_threadinfo[tid].is_recording<br> 901 190219unhandledsyscall:328(x86-linux)<br> 902 190391dupof181394;seeabove<br> 903 190429Valgrindreportslotsoferrorsinld.sowithx86_642.9.90glibc<br> 904 190820Nodebuginformationonpowerpc-linux<br> 905 191095PATCH:Improveusbdevfsioctlhandling<br> 906 191182memcheck:VALGRIND_LEAK_CHECKquadraticwhenbignrofchunks<br> 907 orbignroferrors<br> 908 191189--xml=yesshouldobey--gen-suppressions=all<br> 909 191192syslog()needsasuppressiononmacosx<br> 910 191271DARWIN:WARNING:unhandledsyscall:33554697a.k.a.:265<br> 911 191761getrlimitonMacOSX<br> 912 191992multiple--fn-skiponlyworkssometimes;dependentonorder<br> 913 192634V.reports"aspacemsync_check_mapping_callback:<br> 914 segmentmismatch"onDarwin<br> 915 192954__extension__missingon2clientrequests<br> 916 194429Crashatstart-upwithglibc-2.10.1andlinux-2.6.29<br> 917 194474"INSTALL"filehasdifferentbuildinstructionsthan"README"<br> 918 194671Unhandledsyscall(sem_wait?)frommacvalgrind<br> 919 195069memcheck:reportsleak(memorystillreachable)for<br> 920 printf("%d',x)<br> 921 195169drd:(vgDrd_barrier_post_wait):<br> 922 Assertion'r->sg[p->post_iteration]'failed.<br> 923 195268valgrind--log-filedoesn'taccept~/...<br> 924 195838VEXabort:LibVEX_N_SPILL_BYTEStoosmallforCPUIDboilerplate<br> 925 195860WARNING:unhandledsyscall:unix:223<br> 926 196528needaerrorsuppressionforpthread_rwlock_initunderosx?<br> 927 197227Supportaio_*syscallsonDarwin<br> 928 197456valgrindshouldreject--suppressions=(directory)<br> 929 197512DWARF2CFIreader:unhandledCFIinstruction0:10<br> 930 197591unhandledsyscall27(mincore)<br> 931 197793MergeDCASbranchtothetrunk==85756,142103<br> 932 197794AvoidduplicatefilenamesinVex<br> 933 197898makecheckfailsoncurrentSVN<br> 934 197901makecheckfailsalsounderexp-ptrcheckincurrentSVN<br> 935 197929Make--leak-resolution=highthedefault<br> 936 197930Reducespacingbetweenleakreports<br> 937 197933Printcommandlineofclientatstart-up,andshortenpreamble<br> 938 197966unhandledsyscall205(x86-linux,--tool=exp-ptrcheck)<br> 939 198395addBBVtothedistributionasanexperimentaltool<br> 940 198624MissingsyscallsonDarwin:82,167,281,347<br> 941 198649callgrind_annotatedoesn'tcumulatecounters<br> 942 199338callgrind_annotatesorting/thresholdsarebrokenforallbutIr<br> 943 199977Valgrindcomplainsaboutanunrecognizedinstructioninthe<br> 944 atomic_incstestprogram<br> 945 200029valgrindisn'tabletoreadFedora12debuginfo<br> 946 200760darwinunhandledsyscall:unix:284<br> 947 200827DRDdoesn'tworkonMacOSX<br> 948 200990VG_(read_millisecond_timer)()doesnotworkcorrectly<br> 949 201016Valgrinddoesnotsupportpthread_kill()onMacOS<br> 950 201169Document--read-var-info<br> 951 201323Pre-3.5.0performancesanitychecking<br> 952 201384Reviewusermanualforthe3.5.0release<br> 953 201585mfpvrnotimplementedonppc<br> 954 201708testsfailingbecausex86directionflagisleftset<br> 955 201757Valgrinddoesn'thandleanyrecentsys_futexadditions<br> 956 20437764-bitvalgrindcannotstartashellscript<br> 957 (with#!/path/to/shell)iftheshellisa32-bitexecutable<br> 958 n-i-bzdrd:fixedassertionfailuretriggeredbymutexreinitialization.<br> 959 n-i-bzdrd:fixedabugthatcausedincorrectmessagestobeprinted<br> 960 aboutmemoryallocationeventswithmemoryaccesstracingenabled<br> 961 n-i-bzdrd:fixedamemoryleaktriggeredbyvectorclockdeallocation<br> 962 <br> 963 (3.5.0:19Aug2009,vexr1913,valgrindr10846).<br> 964 <br> 965 <br> 966 <br> 967 Release3.4.1(28February2009)<br> 968 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~<br> 969 3.4.1isabug-fixreleasethatfixessomeregressionsandassertion<br> 970 failuresindebuginforeadingin3.4.0,mostnotablyincorrectstack<br> 971 tracesonamd64-linuxonolder(glibc-2.3based)systems.Various<br> 972 otherdebuginfoproblemsarealsofixed.Anumberofbugsinthe<br> 973 exp-ptrchecktoolintroducedin3.4.0havebeenfixed.<br> 974 <br> 975 Inviewofthefactthat3.4.0containsuser-visibleregressions<br> 976 relativeto3.3.x,upgradingto3.4.1isrecommended.Packagersare<br> 977 encouragedtoship3.4.1inpreferenceto3.4.0.<br> 978 <br> 979 Thefixedbugsareasfollows.Notethat"n-i-bz"standsfor"notin<br> 980 bugzilla"--thatis,abugthatwasreportedtousbutnevergota<br> 981 bugzillaentry.Weencourageyoutofilebugsinbugzilla<br> 982 (http://bugs.kde.org/enter_valgrind_bug.cgi)ratherthanmailingthe<br> 983 developers(ormailinglists)directly--bugsthatarenotentered<br> 984 intobugzillatendtogetforgottenaboutorignored.<br> 985 <br> 986 n-i-bzFixvariousbugsreadingicc-11generateddebuginfo<br> 987 n-i-bzFixvariousbugsreadinggcc-4.4generateddebuginfo<br> 988 n-i-bzPreliminarysupportforglibc-2.10/Fedora11<br> 989 n-i-bzCachegrindandCallgrind:handlenon-power-of-twocachesizes,<br> 990 soastosupport(eg)24kAtomD1andCore2with3/6/12MBL2.<br> 991 179618exp-ptrcheckcrashed/exitprematurely<br> 992 179624helgrind:falsepositiveraceswithpthread_createand<br> 993 recv/open/close/read<br> 994 134207pkg-configoutputcontains@VG_PLATFORM@<br> 995 176926floatingpointexceptionatvalgrindstartupwithPPC440EPX<br> 996 181594Boguswarningforemptytextsegment<br> 997 173751amd64->IR:0x480xF0x6F0x45(evenmoreredundantrexprefixes)<br> 998 181707Dwarf3doesn'trequireenumerationstohavename<br> 999 185038exp-ptrcheck:"unhandledsyscall:285"(fallocate)onx86_64<br> 1000 185050exp-ptrcheck:sg_main.c:727(add_block_to_GlobalTree):<br> 1001 Assertion'!already_present'failed.<br> 1002 185359exp-ptrcheckunhandledsyscallgetresuid()<br> 1003 <br> 1004 (3.4.1.RC1:24Feb2008,vexr1884,valgrindr9253).<br> 1005 (3.4.1:28Feb2008,vexr1884,valgrindr9293).<br> 1006 <br> 1007 <br> 1008 <br> 1009 Release3.4.0(2January2009)<br> 1010 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~<br> 1011 3.4.0isafeaturereleasewithmanysignificantimprovementsandthe<br> 1012 usualcollectionofbugfixes.ThisreleasesupportsX86/Linux,<br> 1013 AMD64/Linux,PPC32/LinuxandPPC64/Linux.Supportforrecentdistros<br> 1014 (usinggcc4.4,glibc2.8and2.9)hasbeenadded.<br> 1015 <br> 1016 3.4.0bringssomesignificanttoolimprovements.Memcheckcannow<br> 1017 reporttheoriginofuninitialisedvalues,thethreadcheckers<br> 1018 HelgrindandDRDaremuchimproved,andwehaveanewexperimental<br> 1019 tool,exp-Ptrcheck,whichisabletodetectoverrunsofstackand<br> 1020 globalarrays.Indetail:<br> 1021 <br> 1022 *Memcheckisnowabletotracktheoriginofuninitialisedvalues.<br> 1023 Whenitreportsanuninitialisedvalueerror,itwilltrytoshow<br> 1024 theoriginofthevalue,aseitheraheaporstackallocation.<br> 1025 Origintrackingisexpensiveandsoisnotenabledbydefault.To<br> 1026 useit,specify--track-origins=yes.Memcheck'sspeedwillbe<br> 1027 essentiallyhalved,andmemoryusagewillbesignificantly<br> 1028 increased.Neverthelessitcandrasticallyreducetheeffort<br> 1029 requiredtoidentifytherootcauseofuninitialisedvalueerrors,<br> 1030 andsoisoftenaprogrammerproductivitywin,despiterunningmore<br> 1031 slowly.<br> 1032 <br> 1033 *Aversion(1.4.0)oftheValkyrieGUI,thatworkswithMemcheckin<br> 1034 3.4.0,willbereleasedshortly.<br> 1035 <br> 1036 *Helgrind'sracedetectionalgorithmhasbeencompletelyredesigned<br> 1037 andreimplemented,toaddressusabilityandscalabilityconcerns:<br> 1038 <br> 1039 -Thenewalgorithmhasalowerfalse-errorrate:itismuchless<br> 1040 likelytoreportracesthatdonotreallyexist.<br> 1041 <br> 1042 -Helgrindwilldisplayfullcallstacksforbothaccessesinvolved<br> 1043 inarace.Thismakesiteasiertoidentifytherootcausesof<br> 1044 races.<br> 1045 <br> 1046 -Limitationsonthesizeofprogramthatcanrunhavebeenremoved.<br> 1047 <br> 1048 -Performancehasbeenmodestlyimproved,althoughthatisvery<br> 1049 workload-dependent.<br> 1050 <br> 1051 -DirectsupportforQt4threadinghasbeenadded.<br> 1052 <br> 1053 -pthread_barriersarenowdirectlysupported.<br> 1054 <br> 1055 -HelgrindworkswellonallsupportedLinuxtargets.<br> 1056 <br> 1057 *TheDRDthreaddebuggingtoolhasseenmajorimprovements:<br> 1058 <br> 1059 -Greatlyimprovedperformanceandsignificantlyreducedmemory<br> 1060 usage.<br> 1061 <br> 1062 -Supportforseveralmajorthreadinglibraries(Boost.Thread,Qt4,<br> 1063 glib,OpenMP)hasbeenadded.<br> 1064 <br> 1065 -Supportforatomicinstructions,POSIXsemaphores,barriersand<br> 1066 reader-writerlockshasbeenadded.<br> 1067 <br> 1068 -WorksnowonPowerPCCPUstoo.<br> 1069 <br> 1070 -Addedsupportforprintingthreadstackusageatthreadexittime.<br> 1071 <br> 1072 -Addedsupportfordebugginglockcontention.<br> 1073 <br> 1074 -AddedamanualforDrd.<br> 1075 <br> 1076 *Anewexperimentaltool,exp-Ptrcheck,hasbeenadded.Ptrcheck<br> 1077 checksformisusesofpointers.Inthatsenseitisabitlike<br> 1078 Memcheck.However,PtrcheckcandothingsMemcheckcan't:itcan<br> 1079 detectoverrunsofstackandglobalarrays,itcandetect<br> 1080 arbitrarilyfarout-of-boundsaccessestoheapblocks,anditcan<br> 1081 detectaccessesheapblocksthathavebeenfreedaverylongtime<br> 1082 ago(millionsofblocksinthepast).<br> 1083 <br> 1084 Ptrcheckcurrentlyworksonlyonx86-linuxandamd64-linux.Touse<br> 1085 it,use--tool=exp-ptrcheck.Asimplemanualisprovided,aspart<br> 1086 ofthemainValgrinddocumentation.Asthisisanexperimental<br> 1087 tool,wewouldbeparticularlyinterestedinhearingaboutyour<br> 1088 experienceswithit.<br> 1089 <br> 1090 *exp-Omega,anexperimentalinstantaneousleak-detectingtool,isno<br> 1091 longerbuiltbydefault,althoughthecoderemainsintherepository<br> 1092 andthetarball.Thisisduetothreefactors:aperceivedlackof<br> 1093 users,alackofmaintenance,andconcernsthatitmaynotbe<br> 1094 possibletoachievereliableoperationusingtheexistingdesign.<br> 1095 <br> 1096 *Asusual,supportforthelatestLinuxdistrosandtoolchain<br> 1097 componentshasbeenadded.ItshouldworkwellonFedoraCore10,<br> 1098 OpenSUSE11.1andUbuntu8.10.gcc-4.4(initscurrentpre-release<br> 1099 state)issupported,asisglibc-2.9.TheC++demanglerhasbeen<br> 1100 updatedsoastoworkwellwithC++compiledbyeventhemostrecent<br> 1101 g++'s.<br> 1102 <br> 1103 *Youcannowuseframe-levelwildcardsinsuppressions.Thiswasa<br> 1104 frequently-requestedenhancement.Aline"..."inasuppressionnow<br> 1105 matcheszeroormoreframes.Thismakesiteasiertowrite<br> 1106 suppressionswhicharepreciseyetinsensitivetochangesin<br> 1107 inliningbehaviour.<br> 1108 <br> 1109 *3.4.0addssupportonx86/amd64fortheSSSE3instructionset.<br> 1110 <br> 1111 *VerybasicsupportforIBMPower6hasbeenadded(64-bitprocessesonly).<br> 1112 <br> 1113 *Valgrindisnowcross-compilable.Forexample,itispossibleto<br> 1114 crosscompileValgrindonanx86/amd64-linuxhost,sothatitruns<br> 1115 onappc32/64-linuxtarget.<br> 1116 <br> 1117 *Youcansetthemainthread'sstacksizeatstartupusingthe<br> 1118 new--main-stacksize=flag(subjectofcoursetoulimitsettings).<br> 1119 Thisisusefulforrunningappsthatneedalotofstackspace.<br> 1120 <br> 1121 *Thelimitationthatyoucan'tuse--trace-children=yestogether<br> 1122 with--db-attach=yeshasbeenremoved.<br> 1123 <br> 1124 *Thefollowingbugshavebeenfixed.Notethat"n-i-bz"standsfor<br> 1125 "notinbugzilla"--thatis,abugthatwasreportedtousbut<br> 1126 nevergotabugzillaentry.Weencourageyoutofilebugsin<br> 1127 bugzilla(http://bugs.kde.org/enter_valgrind_bug.cgi)ratherthan<br> 1128 mailingthedevelopers(ormailinglists)directly.<br> 1129 <br> 1130 n-i-bzMakereturntypesforsomeclientrequests64-bitclean<br> 1131 n-i-bzglibc2.9support<br> 1132 n-i-bzignoreunsafe.valgrindrc's(CVE-2008-4865)<br> 1133 n-i-bzMPI_Init(0,0)isvalidbutlibmpiwrap.csegfaults<br> 1134 n-i-bzBuildinginanenvwithoutgdbgivesbogusgdbattach<br> 1135 92456Tracingtheoriginofuninitialisedmemory<br> 1136 106497ValgrinddoesnotdemanglesomeC++templatesymbols<br> 1137 162222==106497<br> 1138 151612Suppressionwith"..."(frame-levelwildcardsin.suppfiles)<br> 1139 156404UnabletostartoocalcundermemcheckonopenSUSE10.3(64-bit)<br> 1140 159285unhandledsyscall:25(stime,onx86-linux)<br> 1141 159452unhandledioctl0x8B01on"valgrindiwconfig"<br> 1142 160954ppcbuildofvalgrindcrasheswithillegalinstruction(isel)<br> 1143 160956mallinfoimplementation,w/patch<br> 1144 162092Valgrindfailstostartgnome-system-monitor<br> 1145 162819malloc_free_filltestdoesn'tpassonglibc2.8x86<br> 1146 163794assertionfailurewith"--track-origins=yes"<br> 1147 163933sigcontext.errand.trapnomustbesettogether<br> 1148 163955removeconstraint!(--db-attach=yes&&--trace-children=yes)<br> 1149 164476Missingkernelmoduleloadingsystemcalls<br> 1150 164669SVNregression:mmap()dropsposixfilelocks<br> 1151 166581Callgrindoutputcorruptionwhenprogramforks<br> 1152 167288PatchfileformissingsystemcallsonCellBE<br> 1153 168943unsupportedscasinstructionpentium<br> 1154 171645Unrecognisedinstruction(MOVSD,non-binutilsencoding)<br> 1155 172417x86->IR:0x82...<br> 1156 172563amd64->IR:0xD90xF5-fprem1<br> 1157 173099.ldslinkerscriptgenerationerror<br> 1158 173177[x86_64]syscalls:125/126/179(capget/capset/quotactl)<br> 1159 173751amd64->IR:0x480xF0x6F0x45(evenmoreredundantprefixes)<br> 1160 174532==173751<br> 1161 174908--log-filevaluenotexpandedcorrectlyforcorefile<br> 1162 175044Addlookup_dcookieforamd64<br> 1163 175150x86->IR:0xF20xF0x110xC1(movssnon-binutilsencoding)<br> 1164 <br> 1165 Developer-visiblechanges:<br> 1166 <br> 1167 *Valgrind'sdebug-inforeadingmachineryhasbeenmajorlyoverhauled.<br> 1168 ItcannowcorrectlyestablishtheaddressesforELFdatasymbols,<br> 1169 whichissomethingthathasneverworkedproperlybeforenow.<br> 1170 <br> 1171 Also,ValgrindcannowreadDWARF3typeandlocationinformationfor<br> 1172 stackandglobalvariables.Thismakesitpossibletousethe<br> 1173 frameworktobuildtoolsthatrelyonknowingthetypeandlocations<br> 1174 ofstackandglobalvariables,forexampleexp-Ptrcheck.<br> 1175 <br> 1176 Readingofsuchinformationisdisabledbydefault,becausemost<br> 1177 toolsdon'tneedit,andbecauseitisexpensiveinspaceandtime.<br> 1178 However,youcanforceValgrindtoreadit,usingthe<br> 1179 --read-var-info=yesflag.Memcheck,HelgrindandDRDareableto<br> 1180 makeuseofsuchinformation,ifpresent,toprovidesource-level<br> 1181 descriptionsofdataaddressesintheerrormessagestheycreate.<br> 1182 <br> 1183 (3.4.0.RC1:24Dec2008,vexr1878,valgrindr8882).<br> 1184 (3.4.0:3Jan2009,vexr1878,valgrindr8899).<br> 1185 <br> 1186 <br> 1187 <br> 1188 Release3.3.1(4June2008)<br> 1189 ~~~~~~~~~~~~~~~~~~~~~~~~~~~<br> 1190 3.3.1fixesabunchofbugsin3.3.0,addssupportforglibc-2.8based<br> 1191 systems(openSUSE11,FedoraCore9),improvestheexistingglibc-2.7<br> 1192 support,andaddssupportfortheSSSE3(Core2)instructionset.<br> 1193 <br> 1194 3.3.1willlikelybethelastreleasethatsupportssomeveryold<br> 1195 systems.Inparticular,thenextmajorrelease,3.4.0,willdrop<br> 1196 supportfortheoldLinuxThreadsthreadinglibrary,andforgcc<br> 1197 versionspriorto3.0.<br> 1198 <br> 1199 Thefixedbugsareasfollows.Notethat"n-i-bz"standsfor"notin<br> 1200 bugzilla"--thatis,abugthatwasreportedtousbutnevergota<br> 1201 bugzillaentry.Weencourageyoutofilebugsinbugzilla<br> 1202 (http://bugs.kde.org/enter_valgrind_bug.cgi)ratherthanmailingthe<br> 1203 developers(ormailinglists)directly--bugsthatarenotentered<br> 1204 intobugzillatendtogetforgottenaboutorignored.<br> 1205 <br> 1206 n-i-bzMassifsegfaultsatexit<br> 1207 n-i-bzMemcheckassertsonAltiveccode<br> 1208 n-i-bzfixsizeofbuginHelgrind<br> 1209 n-i-bzcheckfdonsys_llseek<br> 1210 n-i-bzupdatesyscallliststokernel2.6.23.1<br> 1211 n-i-bzsupportsys_sync_file_range<br> 1212 n-i-bzhandlesys_sysinfo,sys_getresuid,sys_getresgidonppc64-linux<br> 1213 n-i-bzinterceptmemcpyin64-bitld.so's<br> 1214 n-i-bzFixwrappersforsys_{futimesat,utimensat}<br> 1215 n-i-bzMinorfalse-erroravoidancefixesforMemcheck<br> 1216 n-i-bzlibmpiwrap.c:addawrapperforMPI_Waitany<br> 1217 n-i-bzhelgrindsupportforglibc-2.8<br> 1218 n-i-bzpartialfixformc_leakcheck.c:698assert:<br> 1219 'lc_shadows[i]->data+lc_shadows[i]...<br> 1220 n-i-bzMassif/Cachegrindoutputcorruptionwhenprogramsfork<br> 1221 n-i-bzregisterallocatorfix:handlespillstorescorrectly<br> 1222 n-i-bzaddsupportforPA6TPowerPCCPUs<br> 1223 126389vexx86->IR:0xF0xAE(FXRSTOR)<br> 1224 158525==126389<br> 1225 152818vexx86->IR:0xF30xAC(repzlodsb)<br> 1226 153196vexx86->IR:0xF20xA6(repnzcmpsb)<br> 1227 155011vexx86->IR:0xCF(iret)<br> 1228 155091Warning[...]unhandledDW_OP_opcode0x23<br> 1229 156960==155901<br> 1230 155528supportCore2/SSSE3insnsonx86/amd64<br> 1231 155929ms_printfailsonmassifoutputscontaininglonglines<br> 1232 157665valgrindfailsonshmdt(0)aftershmatto0<br> 1233 157748supportx86PUSHFW/POPFW<br> 1234 158212helgrind:handlepthread_rwlock_try{rd,wr}lock.<br> 1235 158425sys_pollincorrectlyemulatedwhenRES==0<br> 1236 158744vexamd64->IR:0xF00x410xF0xC0(xaddb)<br> 1237 160907SupportforacoupleofrecentLinuxsyscalls<br> 1238 161285Patch--supportforeventfd()syscall<br> 1239 161378illegalopcodeindebuglibm(FUCOMPP)<br> 1240 160136==161378<br> 1241 161487numberofsuppressionsfilesislimitedto10<br> 1242 162386ms_printtypoinmillisecondstimeunitformassif<br> 1243 161036exp-drd:clientallocatedmemorywasneverfreed<br> 1244 162663signalfd_wrapperfailson64bitlinux<br> 1245 <br> 1246 (3.3.1.RC1:2June2008,vexr1854,valgrindr8169).<br> 1247 (3.3.1:4June2008,vexr1854,valgrindr8180).<br> 1248 <br> 1249 <br> 1250 <br> 1251 Release3.3.0(7December2007)<br> 1252 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~<br> 1253 3.3.0isafeaturereleasewithmanysignificantimprovementsandthe<br> 1254 usualcollectionofbugfixes.ThisreleasesupportsX86/Linux,<br> 1255 AMD64/Linux,PPC32/LinuxandPPC64/Linux.Supportforrecentdistros<br> 1256 (usinggcc4.3,glibc2.6and2.7)hasbeenadded.<br> 1257 <br> 1258 Themainexcitementin3.3.0isnewandimprovedtools.Helgrind<br> 1259 worksagain,Massifhasbeencompletelyoverhauledandmuchimproved,<br> 1260 Cachegrindnowdoesbranch-mispredictionprofiling,andanewcategory<br> 1261 ofexperimentaltoolshasbeencreated,containingtwonewtools:<br> 1262 OmegaandDRD.Therearemanyothersmallerimprovements.Indetail:<br> 1263 <br> 1264 -Helgrindhasbeencompletelyoverhauledandworksforthefirsttime<br> 1265 sinceValgrind2.2.0.Supportedfunctionalityis:detectionof<br> 1266 misusesofthePOSIXPThreadsAPI,detectionofpotentialdeadlocks<br> 1267 resultingfromcycliclockdependencies,anddetectionofdata<br> 1268 races.Comparedtothe2.2.0Helgrind,theracedetectionalgorithm<br> 1269 hassomesignificantimprovementsaimedatreducingthefalseerror<br> 1270 rate.Handlingofvariouskindsofcornercaseshasbeenimproved.<br> 1271 Effortshavebeenmadetomaketheerrormessageseasierto<br> 1272 understand.Extensivedocumentationisprovided.<br> 1273 <br> 1274 -Massifhasbeencompletelyoverhauled.Insteadofmeasuring<br> 1275 space-timeusage--whichwasn'talwaysusefulandmanypeoplefound<br> 1276 confusing--itnowmeasuresspaceusageatvariouspointsinthe<br> 1277 execution,includingthepointofpeakmemoryallocation.Its<br> 1278 outputformathasalsochanged:insteadofproducingPostScript<br> 1279 graphsandHTMLtext,itproducesasingletextoutput(viathenew<br> 1280 'ms_print'script)thatcontainsbothagraphandtheoldtextual<br> 1281 information,butinamorecompactandreadableform.Finally,the<br> 1282 newversionshouldbemorereliablethantheoldone,asithasbeen<br> 1283 testedmorethoroughly.<br> 1284 <br> 1285 -Cachegrindhasbeenextendedtodobranch-mispredictionprofiling.<br> 1286 Bothconditionalandindirectbranchesareprofiled.Thedefault<br> 1287 behaviourofCachegrindisunchanged.Tousethenewfunctionality,<br> 1288 givetheoption--branch-sim=yes.<br> 1289 <br> 1290 -Anewcategoryof"experimentaltools"hasbeencreated.Suchtools<br> 1291 maynotworkaswellasthestandardtools,butareincludedbecause<br> 1292 somepeoplewillfindthemuseful,andbecauseexposuretoawider<br> 1293 usergroupprovidestoolauthorswithmoreend-userfeedback.These<br> 1294 toolshavea"exp-"prefixattachedtotheirnamestoindicatetheir<br> 1295 experimentalnature.Currentlytherearetwoexperimentaltools:<br> 1296 <br> 1297 *exp-Omega:aninstantaneousleakdetector.See<br> 1298 exp-omega/docs/omega_introduction.txt.<br> 1299 <br> 1300 *exp-DRD:adataracedetectorbasedonthehappens-before<br> 1301 relation.Seeexp-drd/docs/README.txt.<br> 1302 <br> 1303 -Scalabilityimprovementsforverylargeprograms,particularlythose<br> 1304 whichhaveamillionormoremalloc'dblocksinuseatonce.These<br> 1305 improvementsmostlyaffectMemcheck.Memcheckisalsoupto10%<br> 1306 fasterforallprograms,withx86-linuxseeingthelargest<br> 1307 improvement.<br> 1308 <br> 1309 -WorkswellonthelatestLinuxdistros.HasbeentestedonFedora<br> 1310 Core8(x86,amd64,ppc32,ppc64)andopenSUSE10.3.glibc2.6and<br> 1311 2.7aresupported.gcc-4.3(initscurrentpre-releasestate)is<br> 1312 supported.Atthesametime,3.3.0retainssupportforolder<br> 1313 distros.<br> 1314 <br> 1315 -Thedocumentationhasbeenmodestlyreorganisedwiththeaimof<br> 1316 makingiteasiertofindinformationoncommon-usagescenarios.<br> 1317 Someadvancedmaterialhasbeenmovedintoanewchapterinthemain<br> 1318 manual,soastounclutterthemainflow,andothertidyinguphas<br> 1319 beendone.<br> 1320 <br> 1321 -ThereisexperimentalsupportforAIX5.3,both32-bitand64-bit<br> 1322 processes.Youneedtoberunninga64-bitkerneltouseValgrind<br> 1323 ona64-bitexecutable.<br> 1324 <br> 1325 -Therehavebeensomechangestocommandlineoptions,whichmay<br> 1326 affectyou:<br> 1327 <br> 1328 *--log-file-exactlyand<br> 1329 --log-file-qualifieroptionshavebeenremoved.<br> 1330 <br> 1331 Tomakeupforthis--log-fileoptionhasbeenmademorepowerful.<br> 1332 Itnowacceptsa%pformatspecifier,whichisreplacedwiththe<br> 1333 processID,anda%q{FOO}formatspecifier,whichisreplacedwith<br> 1334 thecontentsoftheenvironmentvariableFOO.<br> 1335 <br> 1336 *--child-silent-after-fork=yes|no[no]<br> 1337 <br> 1338 CausesValgrindtonotshowanydebuggingorloggingoutputfor<br> 1339 thechildprocessresultingfromafork()call.Thiscanmakethe<br> 1340 outputlessconfusing(althoughmoremisleading)whendealingwith<br> 1341 processesthatcreatechildren.<br> 1342 <br> 1343 *--cachegrind-out-file,--callgrind-out-fileand--massif-out-file<br> 1344 <br> 1345 Thesecontrolthenamesoftheoutputfilesproducedby<br> 1346 Cachegrind,CallgrindandMassif.Theyacceptthesame%pand%q<br> 1347 formatspecifiersthat--log-fileaccepts.--callgrind-out-file<br> 1348 replacesCallgrind'sold--baseoption.<br> 1349 <br> 1350 *Cachegrind's'cg_annotate'scriptnolongerusesthe--<pid><br> 1351 optiontospecifytheoutputfile.Instead,thefirstnon-option<br> 1352 argumentistakentobethenameoftheoutputfile,andany<br> 1353 subsequentnon-optionargumentsaretakentobethenamesof<br> 1354 sourcefilestobeannotated.<br> 1355 <br> 1356 *CachegrindandCallgrindnowusedirectorynameswherepossiblein<br> 1357 theiroutputfiles.Thismeansthatthe-Ioptionto<br> 1358 'cg_annotate'and'callgrind_annotate'shouldnotbeneededin<br> 1359 mostcases.Italsomeanstheycancorrectlyhandlethecase<br> 1360 wheretwosourcefilesindifferentdirectorieshavethesame<br> 1361 name.<br> 1362 <br> 1363 -Memcheckoffersanewsuppressionkind:"Jump".Thisisfor<br> 1364 suppressingjump-to-invalid-addresserrors.Previouslyyouhadto<br> 1365 usean"Addr1"suppression,whichdidn'tmakemuchsense.<br> 1366 <br> 1367 -Memcheckhasnewflags--malloc-fill=<hexnum>and<br> 1368 --free-fill=<hexnum>whichfreemalloc'd/free'dareaswiththe<br> 1369 specifiedbyte.Thiscanhelpshakeoutobscurememorycorruption<br> 1370 problems.Thedefinednessandaddressabilityoftheseareasis<br> 1371 unchanged--onlythecontentsareaffected.<br> 1372 <br> 1373 -ThebehaviourofMemcheck'sclientrequestsVALGRIND_GET_VBITSand<br> 1374 VALGRIND_SET_VBITShavechangedslightly.Theynolongerissue<br> 1375 addressabilityerrors--ifeitherarrayispartiallyunaddressable,<br> 1376 theyjustreturn3(asbefore).Also,SET_VBITSdoesn'treport<br> 1377 definednesserrorsifanyoftheVbitsareundefined.<br> 1378 <br> 1379 -ThefollowingMemcheckclientrequestshavebeenremoved:<br> 1380 VALGRIND_MAKE_NOACCESS<br> 1381 VALGRIND_MAKE_WRITABLE<br> 1382 VALGRIND_MAKE_READABLE<br> 1383 VALGRIND_CHECK_WRITABLE<br> 1384 VALGRIND_CHECK_READABLE<br> 1385 VALGRIND_CHECK_DEFINED<br> 1386 Theyweredeprecatedin3.2.0,whenequivalentbutbetter-namedclient<br> 1387 requestswereadded.Seethe3.2.0releasenotesformoredetails.<br> 1388 <br> 1389 -ThebehaviourofthetoolLackeyhaschangedslightly.First,theoutput<br> 1390 from--trace-memhasbeenmademorecompact,toreducethesizeofthe<br> 1391 traces.Second,anewoption--trace-superblockshasbeenadded,which<br> 1392 showstheaddressesofsuperblocks(codeblocks)astheyareexecuted.<br> 1393 <br> 1394 -Thefollowingbugshavebeenfixed.Notethat"n-i-bz"standsfor<br> 1395 "notinbugzilla"--thatis,abugthatwasreportedtousbut<br> 1396 nevergotabugzillaentry.Weencourageyoutofilebugsin<br> 1397 bugzilla(http://bugs.kde.org/enter_valgrind_bug.cgi)ratherthan<br> 1398 mailingthedevelopers(ormailinglists)directly.<br> 1399 <br> 1400 n-i-bzx86_linux_REDIR_FOR_index()broken<br> 1401 n-i-bzguest-amd64/toIR.c:2512(dis_op2_E_G):Assertion`0'failed.<br> 1402 n-i-bzSupportx86INTinsn(INT(0xCD)0x40-0x43)<br> 1403 n-i-bzAddsys_utimensatsystemcallforLinuxx86platform<br> 1404 79844Helgrindcomplainsaboutraceconditionwhichdoesnotexist<br> 1405 82871Massifoutputfunctionnamestooshort<br> 1406 89061Massif:ms_main.c:485(get_XCon):Assertion`xpt->max_chi...'<br> 1407 92615WriteoutputfromMassifatcrash<br> 1408 95483massiffeaturerequest:includepeakallocationinreport<br> 1409 112163MASSIFcrashedwithsignal7(SIGBUS)afterrunning2days<br> 1410 119404problemsrunningsetuidexecutables(partialfix)<br> 1411 121629addinstruction-countingmodefortiming<br> 1412 127371javavmgivingunhandledinstructionbytes:0x260x2E0x640x65<br> 1413 129937==150380<br> 1414 129576Massiflosestrackofmemory,incorrectgraphs<br> 1415 132132massif--format=htmloutputdoesnotdohtmlentityescaping<br> 1416 132950Heapalloc/usagesummary<br> 1417 133962unhandledinstructionbytes:0xF20x4C0xF0x10<br> 1418 134990use-fno-stack-protectorifpossible<br> 1419 136382==134990<br> 1420 137396Iwouldreallylikehelgrindtoworkagain...<br> 1421 137714x86/amd64->IR:0x660xF0xF70xC6(maskmovq,maskmovdq)<br> 1422 141631Massif:percentagesdon'taddupcorrectly<br> 1423 142706massifnumbersdon'tseemtoaddup<br> 1424 143062massifcrashesonappexitwithsignal8SIGFPE<br> 1425 144453(get_XCon):Assertion'xpt->max_children!=0'failed.<br> 1426 145559valgrindabortswhenmalloc_statsiscalled<br> 1427 145609valgrindabortsallrunswith'repeatedsection!'<br> 1428 145622--db-attachbrokenagainonx86-64<br> 1429 145837==149519<br> 1430 145887PPC32:getitimer()systemcallisnotsupported<br> 1431 146252==150678<br> 1432 146456(update_XCon):Assertion'xpt->curr_space>=-space_delta'...<br> 1433 146701==134990<br> 1434 146781Addingsupportforprivatefutexes<br> 1435 147325valgrindinternalerroronsyscall(SYS_io_destroy,0)<br> 1436 147498amd64->IR:0xF00xF0xB00xF(lockcmpxchg%cl,(%rdi))<br> 1437 147545Memcheck:mc_main.c:817(get_sec_vbits8):Assertion'n'failed.<br> 1438 147628SALCopcode0xd6unimplemented<br> 1439 147825crashonamd64-linuxwithgcc4.2andglibc2.6(CFI)<br> 1440 148174Incorrecttypeoffreed_list_volumecausesassertion[...]<br> 1441 148447x86_64:newNOPcodes:666666662e0f1f<br> 1442 149182PPCTrapinstructionsnotimplementedinvalgrind<br> 1443 149504Assertionhitonalloc_xpt->curr_space>=-space_delta<br> 1444 149519ppc32:VabortswithSIGSEGVonexecutionofasignalhandler<br> 1445 149892==137714<br> 1446 150044SEGVduringstackderegister<br> 1447 150380dwarf/gccinteroperation(dwarf3readproblems)<br> 1448 150408==148447<br> 1449 150678guest-amd64/toIR.c:3741(dis_Grp5):Assertion`sz==4'failed<br> 1450 151209VunabletoexecuteprogramsforuserswithUID>2^16<br> 1451 151938helpon--db-command=misleading<br> 1452 152022subw$0x28,%%spcausesassertionfailureinmemcheck<br> 1453 152357inbandoutbnotrecognizedin64-bitmode<br> 1454 152501vexx86->IR:0x270x660x890x45(daa)<br> 1455 152818vexx86->IR:0xF30xAC0xFC0x9C(replodsb)<br> 1456 <br> 1457 Developer-visiblechanges:<br> 1458 <br> 1459 -ThenamesofsomefunctionsandtypeswithintheVexIRhave<br> 1460 changed.Run'svnlog-r1689VEX/pub/libvex_ir.h'forfulldetails.<br> 1461 Anyexistingstandalonetoolswillhavetobeupdatedtoreflect<br> 1462 thesechanges.Thenewnamesshouldbeclearer.Thefile<br> 1463 VEX/pub/libvex_ir.hisalsomuchbettercommented.<br> 1464 <br> 1465 -Anumberofnewdebuggingcommandlineoptionshavebeenadded.<br> 1466 Thesearemostlyofusefordebuggingthesymboltableandline<br> 1467 numberreaders:<br> 1468 <br> 1469 --trace-symtab-patt=<patt>limitdebuginfotracingtoobjname<patt><br> 1470 --trace-cfi=no|yesshowcall-frame-infodetails?[no]<br> 1471 --debug-dump=symsmimic/usr/bin/readelf--syms<br> 1472 --debug-dump=linemimic/usr/bin/readelf--debug-dump=line<br> 1473 --debug-dump=framesmimic/usr/bin/readelf--debug-dump=frames<br> 1474 --sym-offsets=yes|noshowsymsinform'name+offset'?[no]<br> 1475 <br> 1476 -Internally,thecodebasehasbeenfurtherfactorisedand<br> 1477 abstractified,particularlywithrespecttosupportfornon-Linux<br> 1478 OSs.<br> 1479 <br> 1480 (3.3.0.RC1:2Dec2007,vexr1803,valgrindr7268).<br> 1481 (3.3.0.RC2:5Dec2007,vexr1804,valgrindr7282).<br> 1482 (3.3.0.RC3:9Dec2007,vexr1804,valgrindr7288).<br> 1483 (3.3.0:10Dec2007,vexr1804,valgrindr7290).<br> 1484 <br> 1485 <br> 1486 <br> 1487 Release3.2.3(29Jan2007)<br> 1488 ~~~~~~~~~~~~~~~~~~~~~~~~~~~<br> 1489 Unfortunately3.2.2introducedaregressionwhichcancausean<br> 1490 assertionfailure("vex:the`impossible'happened:eqIRConst")when<br> 1491 runningobscurepiecesofSSEcode.3.2.3fixesthisandaddsone<br> 1492 moreglibc-2.5intercept.Inallotherrespectsitisidenticalto<br> 1493 3.2.2.Pleasedonotuse(orpackage)3.2.2;insteaduse3.2.3.<br> 1494 <br> 1495 n-i-bzvex:the`impossible'happened:eqIRConst<br> 1496 n-i-bzAddaninterceptforglibc-2.5__stpcpy_chk<br> 1497 <br> 1498 (3.2.3:29Jan2007,vexr1732,valgrindr6560).<br> 1499 <br> 1500 <br> 1501 Release3.2.2(22Jan2007)<br> 1502 ~~~~~~~~~~~~~~~~~~~~~~~~~~~<br> 1503 3.2.2fixesabunchofbugsin3.2.1,addssupportforglibc-2.5based<br> 1504 systems(openSUSE10.2,FedoraCore6),improvessupportforicc-9.X<br> 1505 compiledcode,andbringsmodestperformanceimprovementsinsome<br> 1506 areas,includingamd64floatingpoint,powerpcsupport,andstartup<br> 1507 responsivenessonalltargets.<br> 1508 <br> 1509 Thefixedbugsareasfollows.Notethat"n-i-bz"standsfor"notin<br> 1510 bugzilla"--thatis,abugthatwasreportedtousbutnevergota<br> 1511 bugzillaentry.Weencourageyoutofilebugsinbugzilla<br> 1512 (http://bugs.kde.org/enter_valgrind_bug.cgi)ratherthanmailingthe<br> 1513 developers(ormailinglists)directly.<br> 1514 <br> 1515 129390ppc?->IR:somekindofVMXprefetch(dstt)<br> 1516 129968amd64->IR:0xF0xAE0x0(fxsave)<br> 1517 134319==129968<br> 1518 133054'makeinstall'failswithsyntaxerrors<br> 1519 118903==133054<br> 1520 132998startupfailsinwhenrunningonUML<br> 1521 134207pkg-configoutputcontains@VG_PLATFORM@<br> 1522 134727valgrindexitswith"Valuetoolargefordefineddatatype"<br> 1523 n-i-bzppc32/64:supportmcrfs<br> 1524 n-i-bzCachegrind/Callgrind:Updatecacheparameterdetection<br> 1525 135012x86->IR:0xD70x8A0xE00xD0(xlat)<br> 1526 125959==135012<br> 1527 126147x86->IR:0xF20xA50xF0x77(repnemovsw)<br> 1528 136650amd64->IR:0xC20x80x0<br> 1529 135421x86->IR:unhandledGrp5(R)case6<br> 1530 n-i-bzImproveddocumentationoftheIRintermediaterepresentation<br> 1531 n-i-bzjcxz(x86)(userslist,8Nov)<br> 1532 n-i-bzExeContexthashingfix<br> 1533 n-i-bzfixCFIreadingfailures("DwarfCFI0:240:320:480:7")<br> 1534 n-i-bzfixCachegrind/Callgrindsimulationbug<br> 1535 n-i-bzlibmpiwrap.c:fixhandlingofMPI_LONG_DOUBLE<br> 1536 n-i-bzmakeUsererrorssuppressible<br> 1537 136844corruptedmalloclinewhenusing--gen-suppressions=yes<br> 1538 138507==136844<br> 1539 n-i-bzSpeeduptheJIT'sregisterallocator<br> 1540 n-i-bzFixconfusingleak-checkerflaghints<br> 1541 n-i-bzSupportrecentautoswampversions<br> 1542 n-i-bzppc32/64dispatcherspeedups<br> 1543 n-i-bzppc64frontendrld/rlwimprovements<br> 1544 n-i-bzppc64backendimm64improvements<br> 1545 136300support64Kpagesonppc64-linux<br> 1546 139124==136300<br> 1547 n-i-bzfixppcinsnsettestsforgcc>=4.1<br> 1548 137493x86->IR:recentbinutilsno-ops<br> 1549 137714x86->IR:0x660xF0xF70xC6(maskmovdqu)<br> 1550 138424"failedinUMEwitherror22"(produceabettererrormsg)<br> 1551 138856==138424<br> 1552 138627Enhancementsupportforprctlioctls<br> 1553 138896Addsupportforusbioctls<br> 1554 136059==138896<br> 1555 139050ppc32->IR:mfspr268/269instructionsnothandled<br> 1556 n-i-bzppc32->IR:lvxl/stvxl<br> 1557 n-i-bzglibc-2.5support<br> 1558 n-i-bzmemcheck:providereplacementformempcpy<br> 1559 n-i-bzmemcheck:replacebcmpinld.so<br> 1560 n-i-bzUse'ifndef'inVEX'sMakefilecorrectly<br> 1561 n-i-bzSuppressionsforMVL4.0.1onppc32-linux<br> 1562 n-i-bzlibmpiwrap.c:FixesforMPICH<br> 1563 n-i-bzMorerobusthandlingofhintedclientmmaps<br> 1564 139776InvalidreadinunalignedmemcpywithIntelcompilerv9<br> 1565 n-i-bzGeneratevalidXMLevenforverylongfnnames<br> 1566 n-i-bzDon'tpromptaboutsuppressionsforunshownreachableleaks<br> 1567 139910amd64rclisnotsupported<br> 1568 n-i-bzDWARFCFIreader:handleDW_CFA_undefined<br> 1569 n-i-bzDWARFCFIreader:handleicc9generatedCFIinfobetter<br> 1570 n-i-bzfixfalseuninit-valueerrsinicc9generatedFPcode<br> 1571 n-i-bzreduceextraneousframesinlibmpiwrap.c<br> 1572 n-i-bzsupportpselect6onamd64-linux<br> 1573 <br> 1574 (3.2.2:22Jan2007,vexr1729,valgrindr6545).<br> 1575 <br> 1576 <br> 1577 Release3.2.1(16Sept2006)<br> 1578 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~<br> 1579 3.2.1addsx86/amd64supportforallSSE3instructionsexceptmonitor<br> 1580 andmwait,furtherreducesmemcheck'sfalseerrorrateonall<br> 1581 platforms,addssupportforrecentbinutils(inOpenSUSE10.2and<br> 1582 FedoraRawhide)andfixesabunchofbugsin3.2.0.Someofthefixed<br> 1583 bugswerecausinglargeprogramstosegfaultwith--tool=callgrindand<br> 1584 --tool=cachegrind,soanupgradeisrecommended.<br> 1585 <br> 1586 Inviewofthefactthatany3.3.0releaseisunlikelytohappenuntil<br> 1587 wellinto1Q07,weintendtokeepthe3.2.Xlinealiveforawhile<br> 1588 yet,andsowetentativelyplana3.2.2releasesometimeinDecember<br> 1589 06.<br> 1590 <br> 1591 Thefixedbugsareasfollows.Notethat"n-i-bz"standsfor"notin<br> 1592 bugzilla"--thatis,abugthatwasreportedtousbutnevergota<br> 1593 bugzillaentry.<br> 1594 <br> 1595 n-i-bzExpandingbrk()intolastavailablepageasserts<br> 1596 n-i-bzppc64-linuxstackRZfast-casesnafu<br> 1597 n-i-bz'c'in--gen-supps=yesdoesn'twork<br> 1598 n-i-bzVG_N_SEGMENTStoolow(users,28June)<br> 1599 n-i-bzVG_N_SEGNAMEStoolow(StuRobinson)<br> 1600 106852x86->IR:fisttp(SSE3)<br> 1601 117172FUTEX_WAKEdoesnotuseuaddr2<br> 1602 124039LackssupportforVKI_[GP]IO_UNIMAP*<br> 1603 127521amd64->IR:0xF00x480xF0xC7(cmpxchg8b)<br> 1604 128917amd64->IR:0x660xF0xF60xC4(psadbw,SSE2)<br> 1605 129246JJ:ppc32/ppc64syscalls,w/patch<br> 1606 129358x86->IR:fisttpl(SSE3)<br> 1607 129866cachegrind/callgrindcausesexecutabletodie<br> 1608 130020Can'tstat.so/.exeerrorwhilereadingsymbols<br> 1609 130388Valgrindabortswhenprocesscallsmalloc_trim()<br> 1610 130638PATCH:ppc32missingsystemcalls<br> 1611 130785amd64->IR:unhandledinstruction"pushfq"<br> 1612 131481:(HINT_NOP)vexx86->IR:0xF0x1F0x00xF<br> 1613 131298==131481<br> 1614 132146Programswithlongsequencesofbswap[l,q]s<br> 1615 132918vexamd64->IR:0xD90xF8(fprem)<br> 1616 132813Assertionatpriv/guest-x86/toIR.c:652fails<br> 1617 133051'cfsi->len>0&&cfsi->len<2000000'failed<br> 1618 132722valgrindheaderfilesarenotstandardC<br> 1619 n-i-bzLivelocksentiremachine(userslist,TimothyTerriberry)<br> 1620 n-i-bzAlexBenneemmapproblem(9Aug)<br> 1621 n-i-bzBartV:Don'tprintmorelinesofastack-tracethanwereobtained.<br> 1622 n-i-bzppc32SuSE10.1redir<br> 1623 n-i-bzamd64paddingsuppressions<br> 1624 n-i-bzamd64insnprintingfix.<br> 1625 n-i-bzppccmpreg,regfix<br> 1626 n-i-bzx86/amd64iropte/rflagreductionrules<br> 1627 n-i-bzSuSE10.1(ppc32)minorfixes<br> 1628 133678amd64->IR:0x480xF0xC50xC0(pextrw?)<br> 1629 133694aspacemassertion:aspacem_minAddr<=holeStart<br> 1630 n-i-bzcallgrind:fixwarningaboutmalformedcreatorline<br> 1631 n-i-bzcallgrind:fixannotatescriptfordataproducedwith<br> 1632 --dump-instr=yes<br> 1633 n-i-bzcallgrind:fixfailedassertionwhentoggling<br> 1634 instrumentationmode<br> 1635 n-i-bzcallgrind:fixannotatescriptfixwarningswith<br> 1636 --collect-jumps=yes<br> 1637 n-i-bzdocspathhardwired(DennisLubert)<br> 1638 <br> 1639 Thefollowingbugswerenotfixed,dueprimarilytolackofdeveloper<br> 1640 time,andalsobecausebugreportersdidnotanswerrequestsfor<br> 1641 feedbackintimefortherelease:<br> 1642 <br> 1643 129390ppc?->IR:somekindofVMXprefetch(dstt)<br> 1644 129968amd64->IR:0xF0xAE0x0(fxsave)<br> 1645 133054'makeinstall'failswithsyntaxerrors<br> 1646 n-i-bzSignalracecondition(userslist,13June,JohannesBerg)<br> 1647 n-i-bzUnrecognisedinstructionataddress0x70198EC2(userslist,<br> 1648 19July,Bennee)<br> 1649 132998startupfailsinwhenrunningonUML<br> 1650 <br> 1651 Thefollowingbugwastentativelyfixedonthemainlinebutthefix<br> 1652 wasconsideredtooriskytopushinto3.2.X:<br> 1653 <br> 1654 133154crashwhenusingclientrequeststoregister/deregisterstack<br> 1655 <br> 1656 (3.2.1:16Sept2006,vexr1658,valgrindr6070).<br> 1657 <br> 1658 <br> 1659 Release3.2.0(7June2006)<br> 1660 ~~~~~~~~~~~~~~~~~~~~~~~~~~~<br> 1661 3.2.0isafeaturereleasewithmanysignificantimprovementsandthe<br> 1662 usualcollectionofbugfixes.ThisreleasesupportsX86/Linux,<br> 1663 AMD64/Linux,PPC32/LinuxandPPC64/Linux.<br> 1664 <br> 1665 Performance,especiallyofMemcheck,isimproved,Addrcheckhasbeen<br> 1666 removed,Callgrindhasbeenadded,PPC64/Linuxsupporthasbeenadded,<br> 1667 Lackeyhasbeenimproved,andMPIsupporthasbeenadded.Indetail:<br> 1668 <br> 1669 -Memcheckhasimprovedspeedandreducedmemoryuse.Runtimesare<br> 1670 typicallyreducedby15-30%,averagingabout24%forSPECCPU2000.<br> 1671 Theothertoolshavesmallerbutnoticeablespeedimprovments.We<br> 1672 areinterestedtohearwhatimprovementsusersget.<br> 1673 <br> 1674 Memcheckuseslessmemoryduetotheintroductionofacompressed<br> 1675 representationforshadowmemory.Thespaceoverheadhasbeen<br> 1676 reducedbyafactorofuptofour,dependingonprogrambehaviour.<br> 1677 Thismeansyoushouldbeabletorunprogramsthatusemorememory<br> 1678 thanbeforewithouthittingproblems.<br> 1679 <br> 1680 -Addrcheckhasbeenremoved.Ithasnotworkedsinceversion2.4.0,<br> 1681 andthespeedandmemoryimprovementstoMemcheckmakeitredundant.<br> 1682 IfyoulikedusingAddrcheckbecauseitdidn'tgiveundefinedvalue<br> 1683 errors,youcanusethenewMemcheckoption--undef-value-errors=no<br> 1684 togetthesamebehaviour.<br> 1685 <br> 1686 -Thenumberofundefined-valueerrorsincorrectlyreportedby<br> 1687 Memcheckhasbeenreduced(suchfalsereportswerealreadyvery<br> 1688 rare).Inparticular,effortshavebeenmadetoensureMemcheck<br> 1689 worksreallywellwithgcc4.0/4.1-generatedcodeonX86/Linuxand<br> 1690 AMD64/Linux.<br> 1691 <br> 1692 -JosefWeidendorfer'spopularCallgrindtoolhasbeenadded.Folding<br> 1693 itinwasalogicalstepgivenitspopularityandusefulness,and<br> 1694 makesiteasierforustoensureitworks"outofthebox"onall<br> 1695 supportedtargets.TheassociatedKDEKCachegrindGUIremainsa<br> 1696 separateproject.<br> 1697 <br> 1698 -AnewreleaseoftheValkyrieGUIforMemcheck,version1.2.0,<br> 1699 accompaniesthisrelease.Improvementsoverpreviousreleases<br> 1700 includeimprovedrobustness,manyrefinementstotheuserinterface,<br> 1701 anduseofastandardautoconf/automakebuildsystem.Youcanget<br> 1702 itfromhttp://www.valgrind.org/downloads/guis.html.<br> 1703 <br> 1704 -ValgrindnowworksonPPC64/Linux.AswiththeAMD64/Linuxport,<br> 1705 thissupportsprogramsusingto32Gofaddressspace.On64-bit<br> 1706 capablePPC64/Linuxsetups,yougetadualarchitecturebuildso<br> 1707 thatboth32-bitand64-bitexecutablescanberun.LinuxonPOWER5<br> 1708 issupported,andPOWER4isalsobelievedtowork.Both32-bitand<br> 1709 64-bitDWARF2issupported.Thisportisknowntoworkwellwith<br> 1710 bothgcc-compiledandxlc/xlf-compiledcode.<br> 1711 <br> 1712 -FloatingpointaccuracyhasbeenimprovedforPPC32/Linux.<br> 1713 Specifically,thefloatingpointroundingmodeisobservedonallFP<br> 1714 arithmeticoperations,andmultiply-accumulateinstructionsare<br> 1715 preservedbythecompilationpipeline.ThismeansyoushouldgetFP<br> 1716 resultswhicharebit-for-bitidenticaltoanativerun.These<br> 1717 improvementsarealsopresentinthePPC64/Linuxport.<br> 1718 <br> 1719 -Lackey,theexampletool,hasbeenimproved:<br> 1720 <br> 1721 *Ithasanewoption--detailed-counts(offbydefault)which<br> 1722 causesittoprintoutacountofloads,storesandALUoperations<br> 1723 done,andtheirsizes.<br> 1724 <br> 1725 *Ithasanewoption--trace-mem(offbydefault)whichcausesit<br> 1726 toprintoutatraceofallmemoryaccessesperformedbya<br> 1727 program.It'sagoodstartingpointforbuildingValgrindtools<br> 1728 thatneedtotrackmemoryaccesses.Readthecommentsatthetop<br> 1729 ofthefilelackey/lk_main.cfordetails.<br> 1730 <br> 1731 *Theoriginalinstrumentation(countingnumbersofinstructions,<br> 1732 jumps,etc)isnowcontrolledbyanewoption--basic-counts.It<br> 1733 isonbydefault.<br> 1734 <br> 1735 -MPIsupport:partialsupportfordebuggingdistributedapplications<br> 1736 usingtheMPIlibraryspecificationhasbeenadded.Valgrindis<br> 1737 awareofthememorystatechangescausedbyasubsetoftheMPI<br> 1738 functions,andwillcarefullycheckdatapassedtothe(P)MPI_<br> 1739 interface.<br> 1740 <br> 1741 -Anewflag,--error-exitcode=,hasbeenadded.Thisallowschanging<br> 1742 theexitcodeinrunswhereValgrindreportederrors,whichis<br> 1743 usefulwhenusingValgrindaspartofanautomatedtestsuite.<br> 1744 <br> 1745 -Varioussegfaultswhenreadingold-style"stabs"debuginformation<br> 1746 havebeenfixed.<br> 1747 <br> 1748 -Asimpleperformanceevaluationsuitehasbeenadded.See<br> 1749 perf/READMEandREADME_DEVELOPERSfordetails.Thereare<br> 1750 variousbellsandwhistles.<br> 1751 <br> 1752 -Newconfigurationflags:<br> 1753 --enable-only32bit<br> 1754 --enable-only64bit<br> 1755 Bydefault,on64bitplatforms(ppc64-linux,amd64-linux)thebuild<br> 1756 systemwillattempttobuildaValgrindwhichsupportsboth32-bit<br> 1757 and64-bitexecutables.Thismaynotbewhatyouwant,andyoucan<br> 1758 overridethedefaultbehaviourusingtheseflags.<br> 1759 <br> 1760 PleasenotethatHelgrindisstillnotworking.Wehavemadean<br> 1761 importantsteptowardsmakingitworkagain,however,withthe<br> 1762 additionoffunctionwrapping(seebelow).<br> 1763 <br> 1764 Otheruser-visiblechanges:<br> 1765 <br> 1766 -Valgrindnowhastheabilitytointerceptandwraparbitrary<br> 1767 functions.ThisisapreliminarysteptowardsmakingHelgrindwork<br> 1768 again,andwasrequiredforMPIsupport.<br> 1769 <br> 1770 -TherearesomechangestoMemcheck'sclientrequests.Someofthem<br> 1771 havechangednames:<br> 1772 <br> 1773 MAKE_NOACCESS-->MAKE_MEM_NOACCESS<br> 1774 MAKE_WRITABLE-->MAKE_MEM_UNDEFINED<br> 1775 MAKE_READABLE-->MAKE_MEM_DEFINED<br> 1776 <br> 1777 CHECK_WRITABLE-->CHECK_MEM_IS_ADDRESSABLE<br> 1778 CHECK_READABLE-->CHECK_MEM_IS_DEFINED<br> 1779 CHECK_DEFINED-->CHECK_VALUE_IS_DEFINED<br> 1780 <br> 1781 Thereasonforthechangeisthattheoldnamesaresubtly<br> 1782 misleading.Theoldnameswillstillwork,buttheyaredeprecated<br> 1783 andmayberemovedinafuturerelease.<br> 1784 <br> 1785 Wealsoaddedanewclientrequest:<br> 1786 <br> 1787 MAKE_MEM_DEFINED_IF_ADDRESSABLE(a,len)<br> 1788 <br> 1789 whichislikeMAKE_MEM_DEFINEDbutonlyaffectsabyteifthebyteis<br> 1790 alreadyaddressable.<br> 1791 <br> 1792 -Thewayclientrequestsareencodedintheinstructionstreamhas<br> 1793 changed.Unfortunately,thismeans3.2.0willnothonourclient<br> 1794 requestscompiledintobinariesusingheadersfromearlierversions<br> 1795 ofValgrind.Wewilltrytokeeptheclientrequestencodingsmore<br> 1796 stableinfuture.<br> 1797 <br> 1798 BUGSFIXED:<br> 1799 <br> 1800 108258NPTLpthreadcleanuphandlersnotcalled<br> 1801 117290valgrindissigKILL'donstartup<br> 1802 117295==117290<br> 1803 118703m_signals.c:1427Assertion'tst->status==VgTs_WaitSys'<br> 1804 118466add%reg,%reggeneratesincorrectvalidityforbit0<br> 1805 123210New:strlenfromld-linuxonamd64<br> 1806 123244DWARF2CFIreader:unhandledCFIinstruction0:18<br> 1807 123248syscallsinglibc-2.4:openat,fstatat,symlinkat<br> 1808 123258socketcall.recvmsg(msg.msg_iov[i]pointstouninit<br> 1809 123535mremap(new_addr)requiresMREMAP_FIXEDin4tharg<br> 1810 123836smalltypointhedoc<br> 1811 124029ppccompilefailed:`vor'gcc3.3.5<br> 1812 124222Segfault:@@don'tknowwhattype':'is<br> 1813 124475ppc32:crash(syscall?)timer_settime()<br> 1814 124499amd64->IR:0xF0xE0x480x85(femms)<br> 1815 124528FATAL:aspacemassertionfailed:segment_is_sane<br> 1816 124697vexx86->IR:0xF0x700xC90x0(pshufw)<br> 1817 124892vexx86->IR:0xF30xAE(REPxSCASB)<br> 1818 126216==124892<br> 1819 124808ppc32:sys_sched_getaffinity()nothandled<br> 1820 n-i-bzVerylongstabsstringscrashm_debuginfo<br> 1821 n-i-bzamd64->IR:0x660xF0xF5(pmaddwd)<br> 1822 125492ppc32:supportabunchmoresyscalls<br> 1823 121617ppc32/64:coredumpinggivesassertionfailure<br> 1824 121814Coregrindreturnerrorasexitcodepatch<br> 1825 126517==121814<br> 1826 125607amd64->IR:0x660xF0xA30x2(btwetc)<br> 1827 125651amd64->IR:0xF80x490xFF0xE3(clc?)<br> 1828 126253x86movxiswrong<br> 1829 1264513.2SVNdoesn'tworkonppc32CPU'swithoutFPU<br> 1830 126217increase#threads<br> 1831 126243vexx86->IR:popwmem<br> 1832 126583amd64->IR:0x480xF0xA40xC2(shld$1,%rax,%rdx)<br> 1833 126668amd64->IR:0x1C0xFF(sbb$0xff,%al)<br> 1834 126696supportforCDROMREADRAWioctlandCDROMREADTOCENTRYfix<br> 1835 126722assertion:segment_is_saneatm_aspacemgr/aspacemgr.c:1624<br> 1836 126938badcheckingforsyscallslinkat,renameat,symlinkat<br> 1837 <br> 1838 (3.2.0RC1:27May2006,vexr1626,valgrindr5947).<br> 1839 (3.2.0:7June2006,vexr1628,valgrindr5957).<br> 1840 <br> 1841 <br> 1842 Release3.1.1(15March2006)<br> 1843 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~<br> 1844 3.1.1fixesabunchofbugsreportedin3.1.0.Thereisnonew<br> 1845 functionality.Thefixedbugsare:<br> 1846 <br> 1847 (note:"n-i-bz"means"notinbugzilla"--thisbugdoesnothave<br> 1848 abugzillaentry).<br> 1849 <br> 1850 n-i-bzppc32:fsub3,3,3indispatcherdoesn'tclearNaNs<br> 1851 n-i-bzppc32:__NR_{set,get}priority<br> 1852 117332x86:missinglineinfowithicc8.1<br> 1853 117366amd64:0xDD0x7Cfnstsw<br> 1854 118274==117366<br> 1855 117367amd64:0xD90xF4fxtract<br> 1856 117369amd64:__NR_getpriority(140)<br> 1857 117419ppc32:lfsuf5,-4(r11)<br> 1858 117419ppc32:fsqrt<br> 1859 117936morestabsproblems(segfaultswhilereadingdebuginfo)<br> 1860 119914==117936<br> 1861 120345==117936<br> 1862 118239amd64:0xF0xAE0x3F(clflush)<br> 1863 118939vm86oldsystemcall<br> 1864 n-i-bzmemcheck/tests/mempoolreadsfreedmemory<br> 1865 n-i-bzAshleyP'scustom-allocatorassertion<br> 1866 n-i-bzDirkstrict-aliasingstuff<br> 1867 n-i-bzMorespacefordebuggercmdline(DanThaler)<br> 1868 n-i-bzClarifiedleakcheckeroutputmessage<br> 1869 n-i-bzAshleyP's--gen-suppressionsoutputfix<br> 1870 n-i-bzcg_annotate's--sortoptionbroken<br> 1871 n-i-bzOSet64-bitfastcmpbug<br> 1872 n-i-bzVG_(getgroups)fix(ShinichiNoda)<br> 1873 n-i-bzppc32:allocatefromcallee-savedFP/VMXregs<br> 1874 n-i-bzmisalignedpathword-sizebuginmc_main.c<br> 1875 119297Incorrecterrormessageforssecode<br> 1876 120410x86:prefetchw(0xF0xD0x480x4)<br> 1877 120728TIOCSERGETLSR,TIOCGICOUNT,HDIO_GET_DMAioctls<br> 1878 120658Buildfixesforgcc2.96<br> 1879 120734x86:SupportforchangingEIPinsignalhandler<br> 1880 n-i-bzmemcheck/tests/zeropagede-loopingfix<br> 1881 n-i-bzx86:fxtractdoesn'tworkreliably<br> 1882 121662x86:lockxadd(0xF00xF0xC00x2)<br> 1883 121893callocdoesnotalwaysreturnzeroedmemory<br> 1884 121901nosupportforsyscalltkill<br> 1885 n-i-bzSuppressionupdateforDebianunstable<br> 1886 122067amd64:fcmovnu(0xDB0xD9)<br> 1887 n-i-bzppc32:brokensignalhandlingincpufeaturedetection<br> 1888 n-i-bzppc32:roundingmodeproblems(improved,partialfixonly)<br> 1889 119482ppc32:mtfsb1<br> 1890 n-i-bzppc32:mtocrf/mfocrf<br> 1891 <br> 1892 (3.1.1:15March2006,vexr1597,valgrindr5771).<br> 1893 <br> 1894 <br> 1895 Release3.1.0(25November2005)<br> 1896 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~<br> 1897 3.1.0isafeaturereleasewithanumberofsignificantimprovements:<br> 1898 AMD64supportismuchimproved,PPC32supportisgoodenoughtobe<br> 1899 usable,andthehandlingofmemorymanagementandaddressspaceis<br> 1900 muchmorerobust.Indetail:<br> 1901 <br> 1902 -AMD64supportismuchimproved.The64-bitvs.32-bitissuesin<br> 1903 3.0.Xhavebeenresolved,anditshould"justwork"nowinall<br> 1904 cases.OnAMD64machinesboth64-bitand32-bitversionsof<br> 1905 Valgrindarebuilt.Therightversionwillbeinvoked<br> 1906 automatically,evenwhenusing--trace-childrenandmixingexecution<br> 1907 between64-bitand32-bitexecutables.Also,manymoreinstructions<br> 1908 aresupported.<br> 1909 <br> 1910 -PPC32supportisnowgoodenoughtobeusable.Itshouldworkwith<br> 1911 alltools,butpleaseletusknowifyouhaveproblems.Three<br> 1912 classesofCPUsaresupported:integeronly(noFP,noAltivec),<br> 1913 whichcoversembeddedPPCuses,integerandFPbutnoAltivec<br> 1914 (G3-ish),andCPUscapableofAltivectoo(G4,G5).<br> 1915 <br> 1916 -Valgrind'saddressspacemanagementhasbeenoverhauled.Asa<br> 1917 result,Valgrindshouldbemuchmorerobustwithprogramsthatuse<br> 1918 largeamountsofmemory.Thereshouldbemanyfewer"memory<br> 1919 exhausted"messages,anddebugsymbolsshouldbereadcorrectlyon<br> 1920 large(eg.300MB+)executables.On32-bitmachinesthefulladdress<br> 1921 spaceavailabletouserprograms(usually3GBor4GB)canbefully<br> 1922 utilised.On64-bitmachinesupto32GBofspaceisusable;when<br> 1923 usingMemcheckthatmeansyourprogramcanuseuptoabout14GB.<br> 1924 <br> 1925 AsideeffectofthischangeisthatValgrindisnolongerprotected<br> 1926 againstwildwritesbytheclient.Thisfeaturewasnicebutrelied<br> 1927 onthex86segmentregistersandsowasn'tportable.<br> 1928 <br> 1929 -Mostusersshouldnotnotice,butaspartoftheaddressspace<br> 1930 managerchange,thewayValgrindisbuilthasbeenchanged.Each<br> 1931 toolisnowbuiltasastaticallylinkedstand-aloneexecutable,<br> 1932 ratherthanasasharedobjectthatisdynamicallylinkedwiththe<br> 1933 core.The"valgrind"programinvokestheappropriatetooldepending<br> 1934 onthe--tooloption.Thisslightlyincreasestheamountofdisk<br> 1935 spaceusedbyValgrind,butitgreatlysimplifiedmanythingsand<br> 1936 removedValgrind'sdependenceonglibc.<br> 1937 <br> 1938 PleasenotethatAddrcheckandHelgrindarestillnotworking.Work<br> 1939 isunderwaytoreinstatethem(orequivalents).Weapologiseforthe<br> 1940 inconvenience.<br> 1941 <br> 1942 Otheruser-visiblechanges:<br> 1943 <br> 1944 -The--weird-hacksoptionhasbeenrenamed--sim-hints.<br> 1945 <br> 1946 -The--time-stampoptionnolongergivesanabsolutedateandtime.<br> 1947 Itnowprintsthetimeelapsedsincetheprogrambegan.<br> 1948 <br> 1949 -Itshouldbuildwithgcc-2.96.<br> 1950 <br> 1951 -Valgrindcannowrunitself(seeREADME_DEVELOPERSforhow).<br> 1952 Thisisnotmuchusetoyou,butitmeansthedeveloperscannow<br> 1953 profileValgrindusingCachegrind.Asaresultacoupleof<br> 1954 performancebadcaseshavebeenfixed.<br> 1955 <br> 1956 -TheXMLoutputformathaschangedslightly.See<br> 1957 docs/internals/xml-output.txt.<br> 1958 <br> 1959 -Coredumpinghasbeenreinstated(itwasdisabledin3.0.0and3.0.1).<br> 1960 IfyourprogramcrasheswhilerunningunderValgrind,acorefilewith<br> 1961 thename"vgcore.<pid>"willbecreated(ifyoursettingsallowcore<br> 1962 filecreation).Notethatthefloatingpointinformationisnotall<br> 1963 there.IfValgrinditselfcrashes,theOSwillcreateanormalcore<br> 1964 file.<br> 1965 <br> 1966 Thefollowingaresomeuser-visiblechangesthatoccurredinearlier<br> 1967 versionsthatmaynothavebeenannounced,orwereannouncedbutnot<br> 1968 widelynoticed.Sowe'rementioningthemnow.<br> 1969 <br> 1970 -The--toolflagisoptionalonceagain;ifyouomitit,Memcheck<br> 1971 isrunbydefault.<br> 1972 <br> 1973 -The--num-callersflagnowhasadefaultvalueof12.Itwas<br> 1974 previously4.<br> 1975 <br> 1976 -The--xml=yesflagcausesValgrind'soutputtobeproducedinXML<br> 1977 format.Thisisdesignedtomakeiteasyforotherprogramsto<br> 1978 consumeValgrind'soutput.Theformatisdescribedinthefile<br> 1979 docs/internals/xml-format.txt.<br> 1980 <br> 1981 -The--gen-suppressionsflagsupportsan"all"valuethatcausesevery<br> 1982 suppressiontobeprintedwithoutasking.<br> 1983 <br> 1984 -The--log-fileoptionnolongerputs"pid"inthefilename,eg.the<br> 1985 oldname"foo.pid12345"isnow"foo.12345".<br> 1986 <br> 1987 -Thereareseveralgraphicalfront-endsforValgrind,suchasValkyrie,<br> 1988 AlleyoopandValgui.Seehttp://www.valgrind.org/downloads/guis.html<br> 1989 foralist.<br> 1990 <br> 1991 BUGSFIXED:<br> 1992 <br> 1993 109861amd64hangsatstartup<br> 1994 110301ditto<br> 1995 111554valgrindcrasheswithCannotallocatememory<br> 1996 111809Memchecktooldoesn'tstartjava<br> 1997 111901cross-platformrunofcachegrindfailsonopteron<br> 1998 113468(vgPlain_mprotect_range):Assertion'r!=-1'failed.<br> 1999 92071Readingdebugginginfousestoomuchmemory<br> 2000 109744memchecklosestrackofmmapfromdirectld-linux.so.2<br> 2001 110183tailofpagewith_end<br> 2002 82301FVmemorylayouttoorigid<br> 2003 98278Infiniterecursionpossiblewhenallocatingmemory<br> 2004 108994Valgrindrunsoutofmemorydueto133xoverhead<br> 2005 115643valgrindcannotallocatememory<br> 2006 105974vg_hashtable.cstatichashtable<br> 2007 109323ppc32:dispatch.SusesAltivecinsn,whichdoesn'tworkonPOWER.<br> 2008 109345ptrace_setregsnotyetimplementedforppc<br> 2009 110831Wouldliketobeabletorunagainstboth32and64bit<br> 2010 binariesonAMD64<br> 2011 110829==110831<br> 2012 111781compileofvalgrind-3.0.0failsonmylinux(gcc2.Xprob)<br> 2013 112670Cachegrind:cg_main.c:486(handleOneStatement...<br> 2014 112941vexx86:0xD90xF4(fxtract)<br> 2015 110201==112941<br> 2016 113015vexamd64->IR:0xE30x140x480x83(jrcxz)<br> 2017 113126Crashwithbinariesbuiltwith-gstabs+/-ggdb<br> 2018 104065==113126<br> 2019 115741==113126<br> 2020 113403PartialSSE3supportonx86<br> 2021 113541vex:Grp5(x86)(altencodinginc/dec)case1<br> 2022 113642valgrindcrasheswhentryingtoreaddebuginformation<br> 2023 113810vexx86->IR:660FF6(66+PSADBW==SSEPSADBW)<br> 2024 113796read()andwrite()donotworkifbufferisinsharedmemory<br> 2025 113851vexx86->IR:(pmaddwd):0x660xF0xF50xC7<br> 2026 114366vexamd64cannnothandle__asm__("fninit")<br> 2027 114412vexamd64->IR:0xF0xAD0xC20xD3(128-bitshift,shrdq?)<br> 2028 114455vexamd64->IR:0xF0xAC0xD00x1(alsoshrdq)<br> 2029 115590:amd64->IR:0x670xE30x90xEB(addresssizeoverride)<br> 2030 115953valgrindsvnr5042doesnotbuildwithparallelmake(-j3)<br> 2031 116057maximuminstructionsize-VG_MAX_INSTR_SZBtoosmall?<br> 2032 116483shmatfaileswithinvalidargument<br> 2033 102202valgrindcrasheswhenrealloc'inguntiloutofmemory<br> 2034 109487==102202<br> 2035 110536==102202<br> 2036 112687==102202<br> 2037 111724vexamd64->IR:0x410xF0xAB(moreBT{,S,R,C}funngames)<br> 2038 111748vexamd64->IR:0xDD0xE2(fucom)<br> 2039 111785makefailsifCCcontainsspaces<br> 2040 111829vexx86->IR:sbbAL,Ib<br> 2041 111851vexx86->IR:0x9F0x89(lahf/sahf)<br> 2042 112031ioplonAMD64andREADME_MISSING_SYSCALL_OR_IOCTLupdate<br> 2043 112152codegenerationforXin_MFenceonx86withSSE0subarch<br> 2044 112167==112152<br> 2045 112789==112152<br> 2046 112199nakedartoolisusedinvexmakefile<br> 2047 112501vexx86->IR:movq(0xF0x7F0xC10xF)(mmxMOVQ)<br> 2048 113583==112501<br> 2049 112538memaligncrash<br> 2050 113190Brokenlinksindocs/html/<br> 2051 113230Valgrindsys_pipeonx86-64wronglythinksfiledescriptors<br> 2052 shouldbe64bit<br> 2053 113996vexamd64->IR:fucomp(0xDD0xE9)<br> 2054 114196vexx86->IR:out%eax,(%dx)(0xEF0xC90xC30x90)<br> 2055 114289Memcheckfailstointerceptmallocwhenusedinanuclibcenvironment<br> 2056 114756mbindsyscallsupport<br> 2057 114757Valgrinddieswithassertion:Assertion'noLargerThan>0'failed<br> 2058 114563stacktrackingmodulenotinformedwhenvalgrindswitchesthreads<br> 2059 114564clone()andstacks<br> 2060 114565==114564<br> 2061 115496glibccrashestryingtousesysinfopage<br> 2062 116200enablefsetxattr,fgetxattr,andfremovexattrforamd64<br> 2063 <br> 2064 (3.1.0RC1:20November2005,vexr1466,valgrindr5224).<br> 2065 (3.1.0:26November2005,vexr1471,valgrindr5235).<br> 2066 <br> 2067 <br> 2068 Release3.0.1(29August2005)<br> 2069 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~<br> 2070 3.0.1fixesabunchofbugsreportedin3.0.0.Thereisnonew<br> 2071 functionality.Someofthefixedbugsarecritical,soifyou<br> 2072 use/distribute3.0.0,anupgradeto3.0.1isrecommended.Thefixed<br> 2073 bugsare:<br> 2074 <br> 2075 (note:"n-i-bz"means"notinbugzilla"--thisbugdoesnothave<br> 2076 abugzillaentry).<br> 2077 <br> 2078 109313(==110505)x86cmpxchg8b<br> 2079 n-i-bzx86:trackbutignorechangesto%eflags.AC(alignmentcheck)<br> 2080 110102dis_op2_E_G(amd64)<br> 2081 110202x86sys_waitpid(#286)<br> 2082 110203clock_getres(,0)<br> 2083 110208execvefailwrongretval<br> 2084 110274SSE1nowmandatoryforx86<br> 2085 110388amd640xDD0xD1<br> 2086 110464amd640xDC0x1DFCOMP<br> 2087 110478amd640xF0xDPREFETCH<br> 2088 n-i-bzXML<unique>printingwrong<br> 2089 n-i-bzDirkr4359(amd64syscallsfromtrunk)<br> 2090 110591amd64andx86:rdtscnotimplementedproperly<br> 2091 n-i-bzNickr4384(stubimplementationsofAddrcheckandHelgrind)<br> 2092 110652AMD64valgrindcrashesoncwtdinstruction<br> 2093 110653AMD64valgrindcrashesonsarb$0x4,foo(%rip)instruction<br> 2094 110656PATH=/usr/bin::/binvalgrindfoobarstats./fooba<br> 2095 110657Smalltestfixes<br> 2096 110671vexx86->IR:unhandledinstructionbytes:0xF30xC3(repret)<br> 2097 n-i-bzNick(Cachegrindshouldnotassertwhenitencountersaclient<br> 2098 request.)<br> 2099 110685amd64->IR:unhandledinstructionbytes:0xE10x56(loopeJb)<br> 2100 110830configuringwith--hostfailstobuild32biton64bittarget<br> 2101 110875Assertionwhenexecvefails<br> 2102 n-i-bzUpdatestoMemcheckmanual<br> 2103 n-i-bzFixedbrokenmalloc_usable_size()<br> 2104 110898opteroninstructionsmissing:btqbtsqbtrqbsfq<br> 2105 110954x86->IR:unhandledinstructionbytes:0xE20xF6(loopJb)<br> 2106 n-i-bzMakesuppressionsworkfor"???"linesinstacktraces.<br> 2107 111006boguswarningsfromlinuxthreads<br> 2108 111092x86:dis_Grp2(Reg):unhandledcase(x86)<br> 2109 111231sctp_getladdrs()andsctp_getpaddrs()returnsuninitialized<br> 2110 memory<br> 2111 111102(comment#4)Fixed64-bitunclean"sillyarg"message<br> 2112 n-i-bzvexx86->IR:unhandledinstructionbytes:0x140x0<br> 2113 n-i-bzminorumount/fcntlwrapperfixes<br> 2114 111090InternalErrorrunningMassif<br> 2115 101204noisywarning<br> 2116 111513IllegalopcodeforSSEinstruction(x86movups)<br> 2117 111555VEX/Makefile:CCissettogcc<br> 2118 n-i-bzFixXMLbugsinFAQ<br> 2119 <br> 2120 (3.0.1:29August05,<br> 2121 vex/branches/VEX_3_0_BRANCHr1367,<br> 2122 valgrind/branches/VALGRIND_3_0_BRANCHr4574).<br> 2123 <br> 2124 <br> 2125 <br> 2126 Release3.0.0(3August2005)<br> 2127 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~<br> 2128 3.0.0isamajoroverhaulofValgrind.Themostsignificantuser<br> 2129 visiblechangeisthatValgrindnowsupportsarchitecturesotherthan<br> 2130 x86.ThenewarchitecturesitsupportsareAMD64andPPC32,andthe<br> 2131 infrastructureispresentforotherarchitecturestobeaddedlater.<br> 2132 <br> 2133 AMD64supportworkswell,buthassomeshortcomings:<br> 2134 <br> 2135 -Itgenerallywon'tbeassolidasthex86version.Forexample,<br> 2136 supportformoreobscureinstructionsandsystemcallsmaybemissing.<br> 2137 Wewillfixtheseastheyarise.<br> 2138 <br> 2139 -Addressspacemaybelimited;seethepointabout<br> 2140 position-independentexecutablesbelow.<br> 2141 <br> 2142 -IfValgrindisbuiltonanAMD64machine,itwillonlyrun64-bit<br> 2143 executables.Ifyouwanttorun32-bitx86executablesunderValgrind<br> 2144 onanAMD64,youwillneedtobuildValgrindonanx86machineand<br> 2145 copyittotheAMD64machine.Anditprobablywon'tworkifyoudo<br> 2146 somethingtrickylikeexec'inga32-bitprogramfroma64-bitprogram<br> 2147 whileusing--trace-children=yes.Wehopetoimprovethissituation<br> 2148 inthefuture.<br> 2149 <br> 2150 ThePPC32supportisverybasic.Itmaynotworkreliablyevenfor<br> 2151 smallprograms,butit'sastart.ManythankstoPaulMackerrasfor<br> 2152 hisgreatworkthatenabledthissupport.Weareworkingtomake<br> 2153 PPC32usableassoonaspossible.<br> 2154 <br> 2155 Otheruser-visiblechanges:<br> 2156 <br> 2157 -Valgrindisnolongerbuiltbydefaultasaposition-independent<br> 2158 executable(PIE),asthiscausedtoomanyproblems.<br> 2159 <br> 2160 WithoutPIEenabled,AMD64programswillonlybeabletoaccess2GBof<br> 2161 addressspace.Wewillfixthiseventually,butnotforthemoment.<br> 2162 <br> 2163 Use--enable-pieatconfigure-timetoturnthison.<br> 2164 <br> 2165 -Supportforprogramsthatusestack-switchinghasbeenimproved.Use<br> 2166 the--max-stackframeflagforsimplecases,andthe<br> 2167 VALGRIND_STACK_REGISTER,VALGRIND_STACK_DEREGISTERand<br> 2168 VALGRIND_STACK_CHANGEclientrequestsfortrickiercases.<br> 2169 <br> 2170 -Supportforprogramsthatuseself-modifyingcodehasbeenimproved,<br> 2171 inparticularprogramsthatputtemporarycodefragmentsonthestack.<br> 2172 ThishelpsforCprogramscompiledwithGCCthatusenestedfunctions,<br> 2173 andalsoAdaprograms.Thisiscontrolledwiththe--smc-check<br> 2174 flag,althoughthedefaultsettingshouldworkinmostcases.<br> 2175 <br> 2176 -OutputcannowbeprintedinXMLformat.Thisshouldmakeiteasier<br> 2177 fortoolssuchasGUIfront-endsandautomatederror-processing<br> 2178 schemestouseValgrindoutputasinput.The--xmlflagcontrolsthis.<br> 2179 Aspartofthischange,ELFdirectoryinformationisreadfromexecutables,<br> 2180 soabsolutesourcefilepathsareavailableifneeded.<br> 2181 <br> 2182 -Programsthatallocatemanyheapblocksmayrunfaster,dueto<br> 2183 improvementsincertaindatastructures.<br> 2184 <br> 2185 -Addrcheckiscurrentlynotworking.Wehopetogetitworkingagain<br> 2186 soon.Helgrindisstillnotworking,aswasthecaseforthe2.4.0<br> 2187 release.<br> 2188 <br> 2189 -TheJITterhasbeencompletelyrewritten,andisnowinaseparate<br> 2190 library,calledVex.Thisenabledalotoftheuser-visiblechanges,<br> 2191 suchasnewarchitecturesupport.ThenewJITunfortunatelytranslates<br> 2192 moreslowlythantheoldone,soprogramsmaytakelongertostart.<br> 2193 Webelievethecodequalityisproducesisaboutthesame,soonce<br> 2194 started,programsshouldrunataboutthesamespeed.Feedbackabout<br> 2195 thiswouldbeuseful.<br> 2196 <br> 2197 Ontheplusside,VexandhenceMemchecktracksvalueflowproperly<br> 2198 throughfloatingpointandvectorregisters,somethingthe2.Xline<br> 2199 couldnotdo.ThatmeansthatMemcheckismuchmorelikelytobe<br> 2200 usablyaccurateonvectorisedcode.<br> 2201 <br> 2202 -Thereisasubtlechangetothewayexitingofthreadedprograms<br> 2203 ishandled.In3.0,Valgrind'sfinaldiagnosticoutput(leakcheck,<br> 2204 etc)isnotprinteduntilthelastthreadexits.Ifthelastthread<br> 2205 toexitwasnottheoriginalthreadwhichstartedtheprogram,any<br> 2206 otherprocesswait()-ingonthisonetoexitmayconcludeithas<br> 2207 finishedbeforethediagnosticoutputisprinted.Thismaynotbe<br> 2208 whatyouexpect.2.Xhadadifferentschemewhichavoidedthis<br> 2209 problem,butcauseddeadlocksunderobscurecircumstances,sowe<br> 2210 aretryingsomethingdifferentfor3.0.<br> 2211 <br> 2212 -Smallchangesincontrollogfilenamingwhichmakeiteasierto<br> 2213 usevalgrindfordebuggingMPI-basedprograms.Therelevant<br> 2214 newflagsare--log-file-exactly=and--log-file-qualifier=.<br> 2215 <br> 2216 -AspartofaddingAMD64support,DWARF2CFI-basedstackunwinding<br> 2217 supportwasadded.InprinciplethismeansValgrindcanproduce<br> 2218 meaningfulbacktracesonx86codecompiledwith-fomit-frame-pointer<br> 2219 providingyoualsocompileyourcodewith-fasynchronous-unwind-tables.<br> 2220 <br> 2221 -Thedocumentationbuildsystemhasbeencompletelyredone.<br> 2222 ThedocumentationmastersarenowinXMLformat,andfromthat<br> 2223 HTML,PostScriptandPDFdocumentationisgenerated.Asaresult<br> 2224 themanualisnowavailableinbookform.Notethatthe<br> 2225 documentationinthesourcetarballsispre-built,soyoudon'tneed<br> 2226 anyXMLprocessingtoolstobuildValgrindfromatarball.<br> 2227 <br> 2228 Changesthatarenotuser-visible:<br> 2229 <br> 2230 -Thecodehasbeenmassivelyoverhauledinordertomodulariseit.<br> 2231 Asaresultwehopeitiseasiertonavigateandunderstand.<br> 2232 <br> 2233 -Lotsofcodehasbeenrewritten.<br> 2234 <br> 2235 BUGSFIXED:<br> 2236 <br> 2237 110046sz==4assertionfailed<br> 2238 109810vexamd64->IR:unhandledinstructionbytes:0xA30x4C0x700xD7<br> 2239 109802Addaplausible_stack_sizecommand-lineparameter?<br> 2240 109783unhandledioctlTIOCMGET(runninghwdetectiontooldiscover)<br> 2241 109780unhandledioctlBLKSSZGET(runningfdisk-l/dev/hda)<br> 2242 109718vexx86->IR:unhandledinstruction:ffreep<br> 2243 109429AMD64unhandledsyscall:127(sigpending)<br> 2244 109401falsepositiveuninitinstrchrfromld-linux.so.2<br> 2245 109385"stabs"parsefailure<br> 2246 109378amd64:unhandledinstructionREPNOP<br> 2247 109376amd64:unhandledinstructionLOOPJb<br> 2248 109363AMD64unhandledinstructionbytes<br> 2249 109362AMD64unhandledsyscall:24(sched_yield)<br> 2250 109358fork()won'tworkwithvalgrind-3.0SVN<br> 2251 109332amd64unhandledinstruction:ADCEv,Gv<br> 2252 109314Bogusmemcheckreportonamd64<br> 2253 108883Crash;vg_memory.c:905(vgPlain_init_shadow_range):<br> 2254 Assertion`vgPlain_defined_init_shadow_page()'failed.<br> 2255 108349mincoresyscallparametercheckedincorrectly<br> 2256 108059buildinfrastructure:smallupdate<br> 2257 107524epoll_ctleventparametercheckedonEPOLL_CTL_DEL<br> 2258 107123Vexdieswithunhandledinstructions:0xD90x310xF0xAE<br> 2259 106841auxmap&openGLproblems<br> 2260 106713SDL_Initcausesvalgrindtoexit<br> 2261 106352setcontextandmakecontextnothandledcorrectly<br> 2262 106293addressesbeyondinitialclientstackallocation<br> 2263 notcheckedinVALGRIND_DO_LEAK_CHECK<br> 2264 106283PIEclientprogramsareloadedataddress0<br> 2265 105831Assertion`vgPlain_defined_init_shadow_page()'failed.<br> 2266 105039longrun-timesprobablyduetomemorymanager<br> 2267 104797valgrindneedstobeawareofBLKGETSIZE64<br> 2268 103594unhandledinstruction:FICOM<br> 2269 103320Valgrind2.4.0failstocompilewithgcc3.4.3and-O0<br> 2270 103168potentiallymemoryleakincoregrind/ume.c<br> 2271 102039badpermissionsformappedregionataddress0xB7C73680<br> 2272 101881weirdassertionproblem<br> 2273 101543Supportfadvise64syscalls<br> 2274 75247x86_64/amd64support(thebiggest"bug"wehaveeverfixed)<br> 2275 <br> 2276 (3.0RC1:27July05,vexr1303,valgrindr4283).<br> 2277 (3.0.0:3August05,vexr1313,valgrindr4316).<br> 2278 <br> 2279 <br> 2280 <br> 2281 Stablerelease2.4.1(1August2005)<br> 2282 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~<br> 2283 (Thenotesforthisreleasehavebeenlost.Sorry!Itwouldhave<br> 2284 containedvariousbugfixesbutnonewfeatures.)<br> 2285 <br> 2286 <br> 2287 <br> 2288 Stablerelease2.4.0(March2005)--CHANGESRELATIVETO2.2.0<br> 2289 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~<br> 2290 2.4.0bringsmanysignificantchangesandbugfixes.Themost<br> 2291 significantuser-visiblechangeisthatwenolongersupplyourown<br> 2292 pthreadimplementation.Instead,Valgrindisfinallycapableof<br> 2293 runningthenativethreadlibrary,eitherLinuxThreadsorNPTL.<br> 2294 <br> 2295 Thismeansourlibpthreadhasgone,alongwiththebugsassociated<br> 2296 withit.Valgrindnowsupportsthekernel'sthreadingsyscalls,and<br> 2297 letsyouuseyourstandardsystemlibpthread.Asaresult:<br> 2298 <br> 2299 *Therearemanyfewersystemdependenciesandstrangelibrary-related<br> 2300 bugs.Thereisasmallperformanceimprovement,andalarge<br> 2301 stabilityimprovement.<br> 2302 <br> 2303 *Onthedownside,ValgrindcannolongerreportmisusesofthePOSIX<br> 2304 PThreadsAPI.ItalsomeansthatHelgrindcurrentlydoesnotwork.<br> 2305 Wehopetofixtheseproblemsinafuturerelease.<br> 2306 <br> 2307 NotethatrunningthenativethreadlibrariesdoesnotmeanValgrind<br> 2308 isabletoprovidegenuineconcurrentexecutiononSMPs.Westill<br> 2309 imposetherestrictionthatonlyonethreadisrunningatanygiven<br> 2310 time.<br> 2311 <br> 2312 Therearemanyothersignificantchangestoo:<br> 2313 <br> 2314 *Memcheckis(onceagain)thedefaulttool.<br> 2315 <br> 2316 *Thedefaultstackbacktraceisnow12callframes,ratherthan4.<br> 2317 <br> 2318 *Suppressionscanhaveupto25callframematches,ratherthan4.<br> 2319 <br> 2320 *MemcheckandAddrcheckuselessmemory.Undersomecircumstances,<br> 2321 theynolongerallocateshadowmemoryiftherearelargeregionsof<br> 2322 memorywiththesameA/Vstates-suchasanmmapedfile.<br> 2323 <br> 2324 *Thememory-leakdetectorinMemcheckandAddrcheckhasbeen<br> 2325 improved.Itnowreportsmoretypesofmemoryleak,including<br> 2326 leakedcycles.Whenreportingleakedmemory,itcandistinguish<br> 2327 betweendirectlyleakedmemory(memorywithnoreferences),and<br> 2328 indirectlyleakedmemory(memoryonlyreferredtobyotherleaked<br> 2329 memory).<br> 2330 <br> 2331 *Memcheck'sconfusionovertheeffectofmprotect()hasbeenfixed:<br> 2332 previouslymprotectcoulderroneouslymarkundefineddataas<br> 2333 defined.<br> 2334 <br> 2335 *Signalhandlingismuchimprovedandshouldbeveryclosetowhat<br> 2336 yougetwhenrunningnatively.<br> 2337 <br> 2338 OneresultofthisisthatValgrindobserveschangestosigcontexts<br> 2339 passedtosignalhandlers.Suchmodificationswilltakeeffectwhen<br> 2340 thesignalreturns.Youwillneedtorunwith--single-step=yesto<br> 2341 makethisuseful.<br> 2342 <br> 2343 *ValgrindisbuiltinPositionIndependentExecutable(PIE)formatif<br> 2344 yourtoolchainsupportsit.Thisallowsittotakeadvantageofall<br> 2345 theavailableaddressspaceonsystemswith4Gbyteuseraddress<br> 2346 spaces.<br> 2347 <br> 2348 *Valgrindcannowrunitself(requiresPIEsupport).<br> 2349 <br> 2350 *Syscallargumentsarenowcheckedforvalidity.Previouslyall<br> 2351 memoryusedbysyscallswaschecked,butnowtheactualvalues<br> 2352 passedarealsochecked.<br> 2353 <br> 2354 *Syscallwrappersaremorerobustagainstbadaddressesbeingpassed<br> 2355 tosyscalls:theywillfailwithEFAULTratherthankillingValgrind<br> 2356 withSIGSEGV.<br> 2357 <br> 2358 *Becauseclone()isdirectlysupported,somenon-pthreadusesofit<br> 2359 willwork.Partialsharing(wheresomeresourcesareshared,and<br> 2360 somearenot)isnotsupported.<br> 2361 <br> 2362 *open()andreadlink()on/proc/self/exearesupported.<br> 2363 <br> 2364 BUGSFIXED:<br> 2365 <br> 2366 88520pipe+fork+dup2killsthemainprogram<br> 2367 88604 ValgrindAbortswhenusing$VALGRIND_OPTSanduserprogra...<br> 2368 88614 valgrind:vg_libpthread.c:2323(read):Assertion`read_pt...<br> 2369 88703 Stabsparserfailstohandle";"<br> 2370 88886 ioctlwrappersforTIOCMBISandTIOCMBIC<br> 2371 89032 valgrindpthread_cond_timedwaitfails<br> 2372 89106 the'impossible'happened<br> 2373 89139 Missingsched_setaffinity&sched_getaffinity<br> 2374 89198 valgrindlackssupportforSIOCSPGRPandSIOCGPGRP<br> 2375 89263 Missingioctltranslationsforscsi-genericandCDplaying<br> 2376 89440 tests/deadlock.clineendings<br> 2377 89481 `impossible'happened:EXECFAILED<br> 2378 89663 valgrind2.2.0crashonRedhat7.2<br> 2379 89792 Reportpthread_mutex_lock()deadlocksinsteadofreturnin...<br> 2380 90111 statvfs64givesinvaliderror/warning<br> 2381 90128 crash+memoryfaultwithstabsgeneratedbygnatforarun...<br> 2382 90778 VALGRIND_CHECK_DEFINED()notasdocumentedinmemcheck.h<br> 2383 90834 cachegrindcrashesatendofprogramwithoutreportingre...<br> 2384 91028 valgrind:vg_memory.c:229(vgPlain_unmap_range):Assertio...<br> 2385 91162 valgrindcrashwhiledebuggingdrivel1.2.1<br> 2386 91199 Unimplementedfunction<br> 2387 91325 Signalroutingdoesnotpropagatethesiginfostructure<br> 2388 91599 Assertion`cv==((void*)0)'<br> 2389 91604 rw_lookupclearsorigandsendstheNULLvaluetorw_new<br> 2390 91821 Smallproblemsbuildingvalgrindwith$top_builddirne$t...<br> 2391 91844 signal11(SIGSEGV)atget_tcb(libpthread.c:86)incorec...<br> 2392 92264 UNIMPLEMENTEDFUNCTION:pthread_condattr_setpshared<br> 2393 92331 per-targetflagsnecessitateAM_PROG_CC_C_O<br> 2394 92420 valgrinddoesn'tcompilewithlinux2.6.8.1/9<br> 2395 92513 Valgrind2.2.0generatessomewarningmessages<br> 2396 92528 vg_symtab2.c:170(addLoc):Assertion`loc->size>0'failed.<br> 2397 93096 unhandledioctl0x4B3Aand0x5601<br> 2398 93117 Toolandcoreinterfaceversionsdonotmatch<br> 2399 93128 Can'trunvalgrind--tool=memcheckbecauseofunimplement...<br> 2400 93174 Valgrindcancrashifpassedbadargstocertainsyscalls<br> 2401 93309 Stackframeinnewthreadisbadlyaligned<br> 2402 93328 Wrongtypesusedwithsys_sigprocmask()<br> 2403 93763 /usr/include/asm/msr.hismissing<br> 2404 93776 valgrind:vg_memory.c:508(vgPlain_find_map_space):Asser...<br> 2405 93810 fcntl()argumentcheckingabittoostrict<br> 2406 94378 Assertion`tst->sigqueue_head!=tst->sigqueue_tail'failed.<br> 2407 94429 valgrind2.2.0segfaultwithmmap64inglibc2.3.3<br> 2408 94645 Impossiblehappened:PINSRWmem<br> 2409 94953 valgrind:the`impossible'happened:SIGSEGV<br> 2410 95667 ValgrinddoesnotworkwithanyKDEapp<br> 2411 96243 Assertion'res==0'failed<br> 2412 96252 stage2loaderofvalgrindfailstoallocatememory<br> 2413 96520 Allprogramscrashingat_dl_start(in/lib/ld-2.3.3.so)...<br> 2414 96660 ioctlCDROMREADTOCENTRYcausesboguswarnings<br> 2415 96747 Afterloopinginasegfaulthandler,theimpossiblehappens<br> 2416 96923 ZerosizedarrayscrashvalgrindtracebackwithSIGFPE<br> 2417 96948 valgrindstopswithassertionfailureregardingmmap2<br> 2418 96966 valgrindfailswhenapplicationopensmorethan16sockets<br> 2419 97398 valgrind:vg_libpthread.c:2667Assertionfailed<br> 2420 97407 valgrind:vg_mylibc.c:1226(vgPlain_safe_fd):Assertion`...<br> 2421 97427 "Warning:invalidfiledescriptor-1insyscallclose()"...<br> 2422 97785 missingbacktrace<br> 2423 97792 buildinobjdirfails-autoconf/makefilecleanup<br> 2424 97880 pthread_mutex_lockfailsfromsharedlibrary(specialker...<br> 2425 97975 programabortswithoutangVGmessages<br> 2426 98129 Failedwhenopenandclosefile230000timesusingstdio<br> 2427 98175 Crasheswhenusingvalgrind-2.2.0withaprogramusingal...<br> 2428 98288 Massifbroken<br> 2429 98303 UNIMPLEMENTEDFUNCTIONpthread_condattr_setpshared<br> 2430 98630 failed--compilationmissingwarnings.pm,failstomakehe...<br> 2431 98756 Cannotvalgrindsignal-heavykdriveXserver<br> 2432 98966 valgrindingtheJVMfailswithasanitycheckassertion<br> 2433 99035 Valgrindcrasheswhileprofiling<br> 2434 99142 loopswithmessage"Signal11beingdroppedfromthread0...<br> 2435 99195 threadedappscrashonthreadstart(usingQThread::start...<br> 2436 99348 Assertion`vgPlain_lseek(core_fd,0,1)==phdrs[i].p_off...<br> 2437 99568 Falsenegativeduetomishandlingofmprotect<br> 2438 99738 valgrindmemcheckcrashesonprogramthatusessigitimer<br> 2439 99923 0-sizedallocationsarereportedasleaks<br> 2440 99949 programsegfaultsafterexit()<br> 2441 100036 "newSuperblock'srequestfor1048576bytesfailed"<br> 2442 100116 valgrind:(pthread_cond_init):Assertion`sizeof(*cond)...<br> 2443 100486 memcheckreports"valgrind:the`impossible'happened:V...<br> 2444 100833 secondcallto"mremap"failswithEINVAL<br> 2445 101156 (vgPlain_find_map_space):Assertion`(addr&((1<<12)-1...<br> 2446 101173 Assertion`recDepth>=0&&recDepth<500'failed<br> 2447 101291 creatingthreadsinaforkedprocessfails<br> 2448 101313 valgrindcausesdifferentbehaviorwhenresizingawindow...<br> 2449 101423 segfaultforc++arrayoffloats<br> 2450 101562 valgrindmassifdiesonSIGINTevenwithsignalhandlerr...<br> 2451 <br> 2452 <br> 2453 Stablerelease2.2.0(31August2004)--CHANGESRELATIVETO2.0.0<br> 2454 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~<br> 2455 2.2.0bringsninemonthsworthofimprovementsandbugfixes.We<br> 2456 believeittobeaworthysuccessorto2.0.0.Thereareliterally<br> 2457 hundredsofbugfixesandminorimprovements.Therearealsosome<br> 2458 fairlymajoruser-visiblechanges:<br> 2459 <br> 2460 *Acompleteoverhaulofhandlingofsystemcallsandsignals,and<br> 2461 theirinteractionwiththreads.Ingeneral,theaccuracyofthe<br> 2462 systemcall,threadandsignalsimulationsismuchimproved:<br> 2463 <br> 2464 -Blockingsystemcallsbehaveexactlyastheydowhenrunning<br> 2465 natively(notonvalgrind).Thatis,ifasyscallblocksonlythe<br> 2466 callingthreadwhenrunningnatively,thanitbehavesthesameon<br> 2467 valgrind.NomoremysterioushangsbecauseVdoesn'tknowthatsome<br> 2468 syscallorother,shouldblockonlythecallingthread.<br> 2469 <br> 2470 -Interruptedsyscallsshouldnowgivemorefaithfulresults.<br> 2471 <br> 2472 -Signalcontextsinsignalhandlersaresupported.<br> 2473 <br> 2474 *ImprovementstoNPTLsupporttotheextentthatVnowworks<br> 2475 properlyonNPTL-onlysetups.<br> 2476 <br> 2477 *GreaterisolationbetweenValgrindandtheprogrambeingrun,so<br> 2478 theprogramislesslikelytoinadvertentlykillValgrindby<br> 2479 doingwildwrites.<br> 2480 <br> 2481 *Massif:anewspaceprofilingtool.Tryit!It'scool,andit'll<br> 2482 tellyouindetailwhereandwhenyourC/C++codeisallocatingheap.<br> 2483 Drawspretty.pspicturesofmemoryuseagainsttime.Apotentially<br> 2484 powerfultoolformakingsenseofyourprogram'sspaceuse.<br> 2485 <br> 2486 *Filedescriptorleakagechecks.Whenenabled,Valgrindwillprintout<br> 2487 alistofopenfiledescriptorsonexit.<br> 2488 <br> 2489 *ImprovedSSE2/SSE3support.<br> 2490 <br> 2491 *Time-stampedoutput;use--time-stamp=yes<br> 2492 <br> 2493 <br> 2494 <br> 2495 Stablerelease2.2.0(31August2004)--CHANGESRELATIVETO2.1.2<br> 2496 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~<br> 2497 2.2.0isnotmuchdifferentfrom2.1.2,releasedsevenweeksago.<br> 2498 Anumberofbugshavebeenfixed,mostnotably#85658,whichgave<br> 2499 problemsforquiteafewpeople.Therehavebeenmanyinternal<br> 2500 cleanups,butthosearenotuservisible.<br> 2501 <br> 2502 Thefollowingbugshavebeenfixedsince2.1.2:<br> 2503 <br> 2504 85658Assertincoregrind/vg_libpthread.c:2326(open64)!=<br> 2505 (void*)0failed<br> 2506 Thisbugwasreportedmultipletimes,andsothefollowing<br> 2507 duplicatesofitarealsofixed:87620,85796,85935,86065,<br> 2508 86919,86988,87917,88156<br> 2509 <br> 2510 80716Semaphoremappingbugcausedbyunmap(sem_destroy)<br> 2511 (Wasfixedpriorto2.1.2)<br> 2512 <br> 2513 86987semctlandshmctlsyscallsfamilyisnothandledproperly<br> 2514 <br> 2515 86696valgrind2.1.2+RHAS2.1+librt<br> 2516 <br> 2517 86730valgrindlocksupatendofrunwithassertionfailure<br> 2518 in__pthread_unwind<br> 2519 <br> 2520 86641memcheckdoesn'tworkwithMesaOpenGL/ATIonSuse9.1<br> 2521 (alsofixes74298,aduplicateofthis)<br> 2522 <br> 2523 85947MMX/SSEunhandledinstruction'sfence'<br> 2524 <br> 2525 84978Wrongerror"Conditionaljumpormovedependson<br> 2526 uninitialisedvalue"resultingfrom"sbbl%reg,%reg"<br> 2527 <br> 2528 86254ssort()failswhensignedintreturntypefromcomparisonis<br> 2529 toosmalltohandleresultofunsignedintsubtraction<br> 2530 <br> 2531 87089memalign(4,xxx)makesvalgrindassert<br> 2532 <br> 2533 86407Addsupportforlow-levelparallelportdriverioctls.<br> 2534 <br> 2535 70587AddtimestampstoValgrindoutput?(wishlist)<br> 2536 <br> 2537 84937vg_libpthread.c:2505(se_remap):Assertion`res==0'<br> 2538 (fixedpriorto2.1.2)<br> 2539 <br> 2540 86317cannotloadlibSDL-1.2.so.0usingvalgrind<br> 2541 <br> 2542 86989memcpyfrommac_replace_strmem.ccomplainsabout<br> 2543 uninitializedpointerspassedwhenlengthtocopyiszero<br> 2544 <br> 2545 85811gnupascalsymbolcausessegmentationfault;okin2.0.0<br> 2546 <br> 2547 79138writingtosbrk()'dmemorycausessegfault<br> 2548 <br> 2549 77369scheddeadlockwhilesignalreceivedduringpthread_join<br> 2550 andthejoinedthreadexited<br> 2551 <br> 2552 88115InsignalhandlerforSIGFPE,siginfo->si_addriswrong<br> 2553 underValgrind<br> 2554 <br> 2555 78765MassifcrashesonappexitifFPexceptionsareenabled<br> 2556 <br> 2557 Additionallytherearethefollowingchanges,whicharenot<br> 2558 connectedtoanybugreportnumbers,AFAICS:<br> 2559 <br> 2560 *Fixscarybugcausingmis-identificationofSSEstoresvs<br> 2561 loadsandsocausingmemchecktosometimesgivenonsenseresults<br> 2562 onSSEcode.<br> 2563 <br> 2564 *AddsupportforthePOSIXmessagequeuesystemcalls.<br> 2565 <br> 2566 *Fixtoallow32-bitValgrindtorunonAMD64boxes.Note:thisdoes<br> 2567 NOTallowValgrindtoworkwith64-bitexecutables-onlywith32-bit<br> 2568 executablesonanAMD64box.<br> 2569 <br> 2570 *Atconfiguretime,onlycheckwhetherlinux/mii.hcanbeprocessed<br> 2571 sothatwedon'tgenerateuglywarningsbytryingtocompileit.<br> 2572 <br> 2573 *AddsupportforPOSIXclocksandtimers.<br> 2574 <br> 2575 <br> 2576 <br> 2577 Developer(cvshead)release2.1.2(18July2004)<br> 2578 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~<br> 2579 2.1.2containsfourmonthsworthofbugfixesandrefinements.<br> 2580 Althoughofficiallyadeveloperrelease,webelieveittobestable<br> 2581 enoughforwidespreadday-to-dayuse.2.1.2isprettygood,sotryit<br> 2582 first,althoughthereisachanceitwon'twork.Ifsothentry2.0.0<br> 2583 andtelluswhatwentwrong."2.1.2fixesalotofproblemspresent<br> 2584 in2.0.0andisgenerallyamuchbetterproduct.<br> 2585 <br> 2586 Relativeto2.1.1,alargenumberofminorproblemswith2.1.1have<br> 2587 beenfixed,andsoifyouuse2.1.1youshouldtry2.1.2.Usersof<br> 2588 thelaststablerelease,2.0.0,mightalsowanttotrythisrelease.<br> 2589 <br> 2590 Thefollowingbugs,andprobablymanymore,havebeenfixed.These<br> 2591 arelistedathttp://bugs.kde.org.Reportingabugforvalgrindin<br> 2592 thehttp://bugs.kde.orgismuchmorelikelytogetyouafixthan<br> 2593 mailingdevelopersdirectly,sopleasecontinuetokeepsendingbugs<br> 2594 there.<br> 2595 <br> 2596 76869CrasheswhenrunninganytoolunderFedoraCore2test1<br> 2597 Thisfixestheproblemwithreturningfromasignalhandler<br> 2598 whenVDSOsareturnedoffinFC2.<br> 2599 <br> 2600 69508java1.4.2clientfailswitherroneous"stacksizetoosmall".<br> 2601 Thisfixmakesmoreofthepthreadstackattributerelated<br> 2602 functionsworkproperly.Javastilldoesn'tworkthough.<br> 2603 <br> 2604 71906mallocalignmentshouldbe8,not4<br> 2605 Allmemoryreturnedbymalloc/newetcisnowatleast<br> 2606 8-bytealigned.<br> 2607 <br> 2608 81970vg_alloc_ThreadState:nofreeslotsavailable<br> 2609 (closedbecausetheworkaroundissimple:increase<br> 2610 VG_N_THREADS,rebuildandtryagain.)<br> 2611 <br> 2612 78514Conditionaljumpormovedependsonuninitializedvalue(s)<br> 2613 (aslightmishandingofFPcodeinmemcheck)<br> 2614 <br> 2615 77952pThreadSupport(crash)(duetoinitialisation-orderingprobs)<br> 2616 (also85118)<br> 2617 <br> 2618 80942Addrcheckwasn'tdoingoverlapcheckingasitshould.<br> 2619 78048returnNULLonmalloc/newetcfailure,insteadofasserting<br> 2620 73655operatornew()overrideinuser.sofilesoftendoesn'tgetpickedup<br> 2621 83060ValgrinddoesnothandlenativekernelAIO<br> 2622 69872Createpropercoredumpsafterfatalsignals<br> 2623 82026failurewithnewglibcversions:__libc_*functionsarenotexported<br> 2624 70344UNIMPLEMENTEDFUNCTION:tcdrain<br> 2625 81297Cancellationofpthread_cond_waitdoesnotrequiremutex<br> 2626 82872Usingdebuginfofromadditionalpackages(wishlist)<br> 2627 83025SupportforioctlsFIGETBSZandFIBMAP<br> 2628 83340SupportforioctlHDIO_GET_IDENTITY<br> 2629 79714Supportforthesemtimedopsystemcall.<br> 2630 77022SupportforioctlsFBIOGET_VSCREENINFOandFBIOGET_FSCREENINFO<br> 2631 82098hp2psansification(wishlist)<br> 2632 83573ValgrindSIGSEGVonexecve<br> 2633 82999showwhichcmdlineoptionwaserroneous(wishlist)<br> 2634 83040makevalgrindVPATHanddistcheck-clean(wishlist)<br> 2635 83998Assertion`newfd>vgPlain_max_fd'failed(seebelow)<br> 2636 82722Uncheckedmmapinas_padleadstomysteriousfailureslater<br> 2637 78958memchecksegfaultswhilerunningMozilla<br> 2638 85416Argumentswithcolon(e.g.--logsocket)ignored<br> 2639 <br> 2640 <br> 2641 Additionallytherearethefollowingchanges,whicharenot<br> 2642 connectedtoanybugreportnumbers,AFAICS:<br> 2643 <br> 2644 *Rearrangedaddressspacelayoutrelativeto2.1.1,sothat<br> 2645 Valgrind/toolswillrunoutofmemorylaterthancurrentlyinmany<br> 2646 circumstances.Thisisgoodnewsesp.forCalltree.Itshould<br> 2647 bepossibleforclientprogramstoallocateover800MBof<br> 2648 memorywhenusingmemchecknow.<br> 2649 <br> 2650 *Improvedcheckingwhenlayingoutmemory.Shouldhopefullyavoid<br> 2651 therandomsegmentationfaultsthat2.1.1sometimescaused.<br> 2652 <br> 2653 *SupportforFedoraCore2andSuSE9.1.ImprovementstoNPTL<br> 2654 supporttotheextentthatVnowworksproperlyonNPTL-onlysetups.<br> 2655 <br> 2656 *Renamedthefollowingoptions:<br> 2657 --logfile-fd-->--log-fd<br> 2658 --logfile-->--log-file<br> 2659 --logsocket-->--log-socket<br> 2660 tobeconsistentwitheachotherandotheroptions(esp.--input-fd).<br> 2661 <br> 2662 *AddsupportforSIOCGMIIPHY,SIOCGMIIREGandSIOCSMIIREGioctlsand<br> 2663 improvethecheckingofotherinterfacerelatedioctls.<br> 2664 <br> 2665 *Fixbuildingwithgcc-3.4.1.<br> 2666 <br> 2667 *Removelimitonnumberofsemaphoressupported.<br> 2668 <br> 2669 *Addsupportforsyscalls:set_tid_address(258),acct(51).<br> 2670 <br> 2671 *Supportinstruction"repnemovs"--notofficialbutseemstooccur.<br> 2672 <br> 2673 *Implementanemulatedsoftlimitforfiledescriptorsinadditionto<br> 2674 thecurrentreservedarea,whicheffectivelyactsasahardlimit.The<br> 2675 setrlimitsystemcallnowsimplyupdatestheemulatedlimitsasbest<br> 2676 aspossible-thehardlimitisnotallowedtomoveatallandjust<br> 2677 returnsEPERMifyoutryandchangeit.Thisshouldstopreductions<br> 2678 inthesoftlimitcausingassertionswhenvalgrindtriestoallocate<br> 2679 descriptorsfromthereservedarea.<br> 2680 (Thisactuallycamefrombug#83998).<br> 2681 <br> 2682 *MajoroverhaulofCachegrindimplementation.Firstuser-visiblechange<br> 2683 isthatcachegrind.outfilesarenowtypically90%smallerthanthey<br> 2684 usedtobe;codeannotationtimesarecorrespondinglymuchsmaller.<br> 2685 Seconduser-visiblechangeisthathit/misscountsforcodethatis<br> 2686 unloadedatrun-timeisnolongerdumpedintoasingle"discard"pile,<br> 2687 butaccuratelypreserved.<br> 2688 <br> 2689 *Clientrequestsfortellingvalgrindaboutmemorypools.<br> 2690 <br> 2691 <br> 2692 <br> 2693 Developer(cvshead)release2.1.1(12March2004)<br> 2694 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~<br> 2695 2.1.1containssomeinternalstructuralchangesneededforV's<br> 2696 long-termfuture.Thesedon'taffectend-users.Mostnotable<br> 2697 user-visiblechangesare:<br> 2698 <br> 2699 *GreaterisolationbetweenValgrindandtheprogrambeingrun,so<br> 2700 theprogramislesslikelytoinadvertentlykillValgrindby<br> 2701 doingwildwrites.<br> 2702 <br> 2703 *Massif:anewspaceprofilingtool.Tryit!It'scool,andit'll<br> 2704 tellyouindetailwhereandwhenyourC/C++codeisallocatingheap.<br> 2705 Drawspretty.pspicturesofmemoryuseagainsttime.Apotentially<br> 2706 powerfultoolformakingsenseofyourprogram'sspaceuse.<br> 2707 <br> 2708 *Fixesformanybugs,includingsupportformoreSSE2/SSE3instructions,<br> 2709 varioussignal/syscallthings,andvariousproblemswithdebug<br> 2710 inforeaders.<br> 2711 <br> 2712 *Supportforglibc-2.3.3basedsystems.<br> 2713 <br> 2714 Wearenowdoingautomaticovernightbuild-and-testrunsonavariety<br> 2715 ofdistros.Asaresult,webelieve2.1.1buildsandrunson:<br> 2716 RedHat7.2,7.3,8.0,9,FedoraCore1,SuSE8.2,SuSE9.<br> 2717 <br> 2718 <br> 2719 Thefollowingbugs,andprobablymanymore,havebeenfixed.These<br> 2720 arelistedathttp://bugs.kde.org.Reportingabugforvalgrindin<br> 2721 thehttp://bugs.kde.orgismuchmorelikelytogetyouafixthan<br> 2722 mailingdevelopersdirectly,sopleasecontinuetokeepsendingbugs<br> 2723 there.<br> 2724 <br> 2725 69616glibc2.3.2w/NPTLismassivelydifferentthanwhatvalgrindexpects<br> 2726 69856Idon'tknowhowtoinstrumentMMXishstuff(Helgrind)<br> 2727 73892valgrindsegfaultsstartingwithObjective-Cdebuginfo<br> 2728 (fixforS-typestabs)<br> 2729 73145Valgrindcomplainstoomuchaboutclose(<reservedfd>)<br> 2730 73902ShadowmemoryallocationseemstofailonRedHat8.0<br> 2731 68633VG_N_SEMAPHOREStoolow(Vitselfwasleakingsemaphores)<br> 2732 75099impossibletotracemultiprocessprograms<br> 2733 76839the`impossible'happened:disInstr:INTbutnot0x80!<br> 2734 76762vg_to_ucode.c:3748(dis_push_segreg):Assertion`sz==4'failed.<br> 2735 76747cannotincludevalgrind.hinc++program<br> 2736 76223parsingB(3,10)gaveNULLtype=>impossiblehappens<br> 2737 75604shmdthandlingproblem<br> 2738 76416Problemswithgcc3.4snap20040225<br> 2739 75614using-gstabswhenbuildingyourprogramsthe`impossible'happened<br> 2740 75787PatchforsomeCDROMioctlsCDORM_GET_MCN,CDROM_SEND_PACKET,<br> 2741 75294gcc3.4snapshot'slibstdc++haveunsupportedinstructions.<br> 2742 (REPRET)<br> 2743 73326vg_symtab2.c:272(addScopeRange):Assertion`range->size>0'failed.<br> 2744 72596notrecognizing__libc_malloc<br> 2745 69489Wouldliketoattachdddtorunningprogram<br> 2746 72781Cachegrindcrasheswithkdeprograms<br> 2747 73055IllegaloperandatDXTCV11CompressBlockSSE2(moreSSEopcodes)<br> 2748 73026Descriptorleakcheckreportsportnumberswrongly<br> 2749 71705README_MISSING_SYSCALL_OR_IOCTLoutofdate<br> 2750 72643ImprovesupportforSSE/SSE2instructions<br> 2751 72484valgrindleavesit'sownsignalmaskinplacewhenexecing<br> 2752 72650SignalHandlingalwaysseemstorestartsystemcalls<br> 2753 72006ThemmapsystemcallturnsallerrorsinENOMEM<br> 2754 71781gdbattachisprettyuseless<br> 2755 71180unhandledinstructionbytes:0xF0xAE0x850xE8<br> 2756 69886writestozeropagecausevalgrindtoassertonexit<br> 2757 71791crashwhenvalgrindinggimp1.3(stabsreaderproblem)<br> 2758 69783unhandledsyscall:218<br> 2759 69782unhandledinstructionbytes:0x660xF0x2B0x80<br> 2760 70385valgrindfailsifthesoftfiledescriptorlimitisless<br> 2761 thanabout828<br> 2762 69529"rep;nop"shoulddoayield<br> 2763 70827programswithlotsofsharedlibrariesreport"mmapfailed"<br> 2764 forsomeofthemwhenreadingsymbols<br> 2765 71028glibc'sstrnlenisoptimisedenoughtoconfusevalgrind<br> 2766 <br> 2767 <br> 2768 <br> 2769 <br> 2770 Unstable(cvshead)release2.1.0(15December2003)<br> 2771 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~<br> 2772 Forwhateverit'sworth,2.1.0actuallyseemsprettydarnstabletome<br> 2773 (Julian).Itlookseminentlyusable,andgiventhatitfixessome<br> 2774 significantbugs,maywellbeworthusingonaday-to-daybasis.<br> 2775 2.1.0isknowntobuildandpassregressiontestson:SuSE9,SuSE<br> 2776 8.2,RedHat8.<br> 2777 <br> 2778 2.1.0mostnotablyincludesJeremyFitzhardinge'scompleteoverhaulof<br> 2779 handlingofsystemcallsandsignals,andtheirinteractionwith<br> 2780 threads.Ingeneral,theaccuracyofthesystemcall,threadand<br> 2781 signalsimulationsismuchimproved.Specifically:<br> 2782 <br> 2783 -Blockingsystemcallsbehaveexactlyastheydowhenrunning<br> 2784 natively(notonvalgrind).Thatis,ifasyscallblocksonlythe<br> 2785 callingthreadwhenrunningnatively,thanitbehavesthesameon<br> 2786 valgrind.NomoremysterioushangsbecauseVdoesn'tknowthatsome<br> 2787 syscallorother,shouldblockonlythecallingthread.<br> 2788 <br> 2789 -Interruptedsyscallsshouldnowgivemorefaithfulresults.<br> 2790 <br> 2791 -Finally,signalcontextsinsignalhandlersaresupported.Asa<br> 2792 result,konqueroronSuSE9nolongersegfaultswhennotifiedof<br> 2793 filechangesindirectoriesitiswatching.<br> 2794 <br> 2795 Otherchanges:<br> 2796 <br> 2797 -RobertWalsh'sfiledescriptorleakagechecks.Whenenabled,<br> 2798 Valgrindwillprintoutalistofopenfiledescriptorson<br> 2799 exit.Alongwitheachfiledescriptor,Valgrindprintsoutastack<br> 2800 backtraceofwherethefilewasopenedandanydetailsrelatingtothe<br> 2801 filedescriptorsuchasthefilenameorsocketdetails.<br> 2802 Touse,give:--track-fds=yes<br> 2803 <br> 2804 -ImplementedafewmoreSSE/SSE2instructions.<br> 2805 <br> 2806 -Lesscrudonthestackwhenyoudo'where'insideaGDBattach.<br> 2807 <br> 2808 -Fixedthefollowingbugs:<br> 2809 68360:Valgrinddoesnotcompileagainst2.6.0-testXkernels<br> 2810 68525:CVSheaddoesn'tcompileonC90compilers<br> 2811 68566:pkgconfigsupport(wishlist)<br> 2812 68588:Assertion`sz==4'failedinvg_to_ucode.c(disInstr)<br> 2813 69140:valgrindnotabletoexplicitlyspecifyapathtoabinary.<br> 2814 69432:helgrindassertsencounteringaMutexErrwhenthereare<br> 2815 EraserErrsuppressions<br> 2816 <br> 2817 -Increasethemaxsizeofthetranslationcachefrom200kaveragebbs<br> 2818 to300kaveragebbs.ProgramsonthesizeofOOo(680m17)are<br> 2819 thrashingthecacheatthesmallersize,creatinglargenumbersof<br> 2820 retranslationsandwastingsignificanttimeasaresult.<br> 2821 <br> 2822 <br> 2823 <br> 2824 Stablerelease2.0.0(5Nov2003)<br> 2825 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~<br> 2826 <br> 2827 2.0.0improvesSSE/SSE2support,fixessomeminorbugs,and<br> 2828 improvessupportforSuSE9andtheRedHat"Severn"beta.<br> 2829 <br> 2830 -FurtherimprovementstoSSE/SSE2support.Theentiretestsuiteof<br> 2831 theGNUScientificLibrary(gsl-1.4)compiledwithIntelIcc7.1<br> 2832 20030307Z'-g-O-xW'nowworks.Ithinkthisgivesprettygood<br> 2833 coverageofSSE/SSE2floatingpointinstructions,oratleastthe<br> 2834 subsetemittedbyIcc.<br> 2835 <br> 2836 -Alsoaddedsupportforthefollowinginstructions:<br> 2837 MOVNTDQUCOMISDUNPCKLPSUNPCKHPSSQRTSS<br> 2838 PUSH/POP%{FS,GS},andPUSH%CS(Nb:thereisnoPOP%CS).<br> 2839 <br> 2840 -CFIsupportforGDBversion6.NeededtoenablenewerGDBs<br> 2841 tofigureoutwheretheyarewhenusing--gdb-attach=yes.<br> 2842 <br> 2843 -Fixthis:<br> 2844 mc_translate.c:1091(memcheck_instrument):Assertion<br> 2845 `u_in->size==4||u_in->size==16'failed.<br> 2846 <br> 2847 -Returnanerrorratherthanpanicingwhengivenabadsocketcall.<br> 2848 <br> 2849 -Fixcheckingofsyscallrt_sigtimedwait().<br> 2850 <br> 2851 -Implement__NR_clock_gettime(syscall265).NeededonRedHatSevern.<br> 2852 <br> 2853 -Fixedbuginoverlapcheckinstrncpy()--itwasassumingthesrcwas'n'<br> 2854 byteslong,whenitcouldbeshorter,whichcouldcausefalse<br> 2855 positives.<br> 2856 <br> 2857 -Supportuseofselect()forverylargenumbersoffiledescriptors.<br> 2858 <br> 2859 -Don'tfailsilentlyiftheexecutableisstaticallylinked,oris<br> 2860 setuid/setgid.Printanerrormessageinstead.<br> 2861 <br> 2862 -SupportforoldDWARF-1formatlinenumberinfo.<br> 2863 <br> 2864 <br> 2865 <br> 2866 Snapshot20031012(12October2003)<br> 2867 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~<br> 2868 <br> 2869 Threemonthsworthofbugfixes,roughly.Mostsignificantsingle<br> 2870 changeisimprovedSSE/SSE2support,mostlythankstoDirkMueller.<br> 2871 <br> 2872 20031012buildsonRedHatFedora("Severn")butdoesn'treallywork<br> 2873 (curiosly,mozillarunsOK,butamodest"ls-l"bombs).Ihopeto<br> 2874 getaworkingversionoutsoon.Itmayormaynotworkokonthe<br> 2875 forthcomingSuSE9;Ihearpositivenoisesaboutitbuthaven'tbeen<br> 2876 abletoverifythismyself(notuntilIgetholdofacopyof9).<br> 2877 <br> 2878 Adetailedlistofchanges,innoparticularorder:<br> 2879 <br> 2880 -Describe--gen-suppressionsintheFAQ.<br> 2881 <br> 2882 -Syscall__NR_waitpidsupported.<br> 2883 <br> 2884 -MinorMMXbugfix.<br> 2885 <br> 2886 --vprintsprogram'sargv[]atstartup.<br> 2887 <br> 2888 -Moreglibc-2.3suppressions.<br> 2889 <br> 2890 -Suppressionsforstackunderrunbug(s)inthec++supportlibrary<br> 2891 distributedwithIntelIcc7.0.<br> 2892 <br> 2893 -Fixproblemsreading/proc/self/maps.<br> 2894 <br> 2895 -Fixacoupleofmessagesthatshouldhavebeensuppressedby-q,<br> 2896 butweren't.<br> 2897 <br> 2898 -MakeAddrcheckunderstand"Overlap"suppressions.<br> 2899 <br> 2900 -Atstartup,checkifprogramisstaticallylinkedandbailoutifso.<br> 2901 <br> 2902 -Cachegrind:Auto-detectIntelPentium-M,alsoVIANehemiah<br> 2903 <br> 2904 -Memcheck/addrcheck:minorspeedoptimisations<br> 2905 <br> 2906 -Handlesyscall__NR_brkmorecorrectlythanbefore.<br> 2907 <br> 2908 -Fixedincorrectallocate/freemismatcherrorswhenusing<br> 2909 operatornew(unsigned,std::nothrow_tconst&)<br> 2910 operatornew[](unsigned,std::nothrow_tconst&)<br> 2911 <br> 2912 -SupportPOSIXpthreadspinlocks.<br> 2913 <br> 2914 -Fixupsforcleancompilationwithgcc-3.3.1.<br> 2915 <br> 2916 -Implementedmoreopcodes:<br> 2917 -push%es<br> 2918 -push%ds<br> 2919 -pop%es<br> 2920 -pop%ds<br> 2921 -movntq<br> 2922 -sfence<br> 2923 -pshufw<br> 2924 -pavgb<br> 2925 -ucomiss<br> 2926 -enter<br> 2927 -movimm32,%esp<br> 2928 -all"in"and"out"opcodes<br> 2929 -inc/dec%esp<br> 2930 -AwholebunchofSSE/SSE2instructions<br> 2931 <br> 2932 -Memcheck:don'tbombonSSE/SSE2code.<br> 2933 <br> 2934 <br> 2935 Snapshot20030725(25July2003)<br> 2936 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~<br> 2937 <br> 2938 Fixessomeminorproblemsin20030716.<br> 2939 <br> 2940 -Fixbugsinoverlapcheckingforstrcpy/memcpyetc.<br> 2941 <br> 2942 -DooverlapcheckingwithAddrcheckaswellasMemcheck.<br> 2943 <br> 2944 -Fixthis:<br> 2945 Memcheck:the`impossible'happened:<br> 2946 get_error_name:unexpectedtype<br> 2947 <br> 2948 -Installheadersneededtocompilenewskins.<br> 2949 <br> 2950 -RemoveleadingspacesandcolonintheLD_LIBRARY_PATH/LD_PRELOAD<br> 2951 passedtonon-tracedchildren.<br> 2952 <br> 2953 -Fixfiledescriptorleakinvalgrind-listener.<br> 2954 <br> 2955 -Fixlongstandingbuginwhichtheallocationpointofa<br> 2956 blockresizedbyreallocwasnotcorrectlyset.Thismay<br> 2957 havecausedconfusingerrormessages.<br> 2958 <br> 2959 <br> 2960 Snapshot20030716(16July2003)<br> 2961 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~<br> 2962 <br> 2963 20030716isasnapshotofourcurrentCVShead(development)branch.<br> 2964 Thisisthebranchwhichwillbecomevalgrind-2.0.Itcontains<br> 2965 significantenhancementsoverthe1.9.Xbranch.<br> 2966 <br> 2967 DespitethisbeingasnapshotoftheCVShead,itisbelievedtobe<br> 2968 quitestable--atleastasstableas1.9.6or1.0.4,ifnotmoreso<br> 2969 --andthereforesuitableforwidespreaduse.Pleaseletusknowasap<br> 2970 ifitcausesproblemsforyou.<br> 2971 <br> 2972 Tworeasonsforreleasingasnapshotnoware:<br> 2973 <br> 2974 -It'sbeenawhilesince1.9.6,andthissnapshotfixes<br> 2975 variousproblemsthat1.9.6haswiththreadedprograms<br> 2976 onglibc-2.3.Xbasedsystems.<br> 2977 <br> 2978 -Soastomakeavailableimprovementsinthe2.0line.<br> 2979 <br> 2980 Majorchangesin20030716,ascomparedto1.9.6:<br> 2981 <br> 2982 -Morefixestothreadingsupportonglibc-2.3.1and2.3.2-based<br> 2983 systems(SuSE8.2,RedHat9).Ifyouhavehadproblems<br> 2984 withinconsistent/illogicalbehaviouroferrno,h_errnoortheDNS<br> 2985 resolverfunctionsinthreadedprograms,20030716shouldimprove<br> 2986 matters.ThissnapshotseemsstableenoughtorunOpenOffice.org<br> 2987 1.1rconRedHat7.3,SuSE8.2andRedHat9,andthat'sabig<br> 2988 threadedappifeverIsawone.<br> 2989 <br> 2990 -Automaticgenerationofsuppressionrecords;younolonger<br> 2991 needtowritethembyhand.Use--gen-suppressions=yes.<br> 2992 <br> 2993 -strcpy/memcpy/etcchecktheirargumentsforoverlaps,when<br> 2994 runningwiththeMemcheckorAddrcheckskins.<br> 2995 <br> 2996 -malloc_usable_size()isnowsupported.<br> 2997 <br> 2998 -newclientrequests:<br> 2999 -VALGRIND_COUNT_ERRORS,VALGRIND_COUNT_LEAKS:<br> 3000 usefulwithregressiontesting<br> 3001 -VALGRIND_NON_SIMD_CALL[0123]:forrunningarbitraryfunctions<br> 3002 onrealCPU(usewithcaution!)<br> 3003 <br> 3004 -TheGDBattachmechanismismoreflexible.AllowtheGDBto<br> 3005 beruntobespecifiedby--gdb-path=/path/to/gdb,andspecify<br> 3006 whichfiledescriptorVwillreaditsinputfromwith<br> 3007 --input-fd=<number>.<br> 3008 <br> 3009 -Cachegrindgivesmoreaccurateresults(wasn'ttrackinginstructionsin<br> 3010 malloc()andfriendspreviously,isnow).<br> 3011 <br> 3012 -CompletesupportfortheMMXinstructionset.<br> 3013 <br> 3014 -PartialsupportfortheSSEandSSE2instructionsets.Workforthis<br> 3015 isongoing.AbouthalftheSSE/SSE2instructionsaredone,so<br> 3016 someSSEbasedprogramsmaywork.Currentlyyouneedtospecify<br> 3017 --skin=addrcheck.Basicallynotsuitableforrealuseyet.<br> 3018 <br> 3019 -Significantspeedups(10%-20%)forstandardmemorychecking.<br> 3020 <br> 3021 -Fixassertionfailureinpthread_once().<br> 3022 <br> 3023 -Fixthis:<br> 3024 valgrind:vg_intercept.c:598(vgAllRoadsLeadToRome_select):<br> 3025 Assertion`ms_end>=ms_now'failed.<br> 3026 <br> 3027 -Implementpthread_mutexattr_setpshared.<br> 3028 <br> 3029 -UnderstandPentium4branchhints.Alsoimplementedacouplemore<br> 3030 obscurex86instructions.<br> 3031 <br> 3032 -Lotsofotherminorbugfixes.<br> 3033 <br> 3034 -Wehaveadecentregressiontestsystem,forthefirsttime.<br> 3035 Thisdoesn'thelpyoudirectly,butitdoesmakeitaloteasier<br> 3036 forustotrackthequalityofthesystem,especiallyacross<br> 3037 multiplelinuxdistributions.<br> 3038 <br> 3039 Youcanruntheregressiontestswith'makeregtest'after'make<br> 3040 install'completes.OnSuSE8.2andRedHat9Igetthis:<br> 3041 <br> 3042 ==84tests,0stderrfailures,0stdoutfailures==<br> 3043 <br> 3044 OnRedHat8,Igetthis:<br> 3045 <br> 3046 ==84tests,2stderrfailures,1stdoutfailure==<br> 3047 corecheck/tests/res_search(stdout)<br> 3048 memcheck/tests/sigaltstack(stderr)<br> 3049 <br> 3050 sigaltstackisprobablyharmless.res_searchdoesn'twork<br> 3051 onRH8evenrunningnatively,soI'mnottooworried.<br> 3052 <br> 3053 OnRedHat7.3,aglibc-2.2.5system,Igettheseharmlessfailures:<br> 3054 <br> 3055 ==84tests,2stderrfailures,1stdoutfailure==<br> 3056 corecheck/tests/pth_atfork1(stdout)<br> 3057 corecheck/tests/pth_atfork1(stderr)<br> 3058 memcheck/tests/sigaltstack(stderr)<br> 3059 <br> 3060 YouneedtorunonaPIIsystem,atleast,sincesometests<br> 3061 containP6-specificinstructions,andthetestmachineneeds<br> 3062 accesstotheinternetsothatcorecheck/tests/res_search<br> 3063 (atestthattheDNSresolverworks)canfunction.<br> 3064 <br> 3065 Asever,thanksforthevastamountoffeedback:)andbugreports:(<br> 3066 Wemaynotanswerallmessages,butwedoatleastlookatallof<br> 3067 them,andtendtofixthemostfrequentlyreportedbugs.<br> 3068 <br> 3069 <br> 3070 <br> 3071 Version1.9.6(7May2003orthereabouts)<br> 3072 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~<br> 3073 <br> 3074 Majorchangesin1.9.6:<br> 3075 <br> 3076 -Improvedthreadingsupportforglibc>=2.3.2(SuSE8.2,<br> 3077 RedHat9,tonamebuttwo...)Itturnedoutthat1.9.5<br> 3078 hadproblemswiththreadingsupportonglibc>=2.3.2,<br> 3079 usuallymanifestedbythreadedprogramsdeadlockinginsystemcalls,<br> 3080 orrunningunbelievablyslowly.Hopefullythesearefixednow.1.9.6<br> 3081 isthefirstvalgrindwhichgivesreasonablesupportfor<br> 3082 glibc-2.3.2.Alsofixeda2.3.2problemwithpthread_atfork().<br> 3083 <br> 3084 -MajorlyexpandedFAQ.txt.We'veaddedworkaroundsforall<br> 3085 commonproblemsforwhichaworkaroundisknown.<br> 3086 <br> 3087 Minorchangesin1.9.6:<br> 3088 <br> 3089 -Fixidentificationofthemainthread'sstack.Incorrect<br> 3090 identificationofitwascausingsomeon-stackaddressestonotget<br> 3091 identifiedassuch.Thisonlyaffectedtheusefulnessofsomeerror<br> 3092 messages;thecorrectnessofthechecksmadeisunchanged.<br> 3093 <br> 3094 -Supportforkernels>=2.5.68.<br> 3095 <br> 3096 -Dummyimplementationsof__libc_current_sigrtmin,<br> 3097 __libc_current_sigrtmaxand__libc_allocate_rtsig,hopefully<br> 3098 goodenoughtokeepaliveprogramswhichpreviouslydiedforlackof<br> 3099 them.<br> 3100 <br> 3101 -FixbugintheVALGRIND_DISCARD_TRANSLATIONSclientrequest.<br> 3102 <br> 3103 -FixbugintheDWARF2debuglineinfoloader,wheninstructions<br> 3104 followingeachotherhavesourcelinesfarfromeachother<br> 3105 (e.g.withinlinedfunctions).<br> 3106 <br> 3107 -Debuginforeading:readsymbolsfromboth"symtab"and"dynsym"<br> 3108 sections,ratherthanmerelyfromtheonethatcomeslastinthe<br> 3109 file.<br> 3110 <br> 3111 -Newsyscallsupport:prctl(),creat(),lookup_dcookie().<br> 3112 <br> 3113 -Whencheckingcallstoaccept(),recvfrom(),getsocketopt(),<br> 3114 don'tcomplainifbuffervaluesareNULL.<br> 3115 <br> 3116 -Tryandavoidassertionfailuresin<br> 3117 mash_LD_PRELOAD_and_LD_LIBRARY_PATH.<br> 3118 <br> 3119 -Minorbugfixesincg_annotate.<br> 3120 <br> 3121 <br> 3122 <br> 3123 Version1.9.5(7April2003)<br> 3124 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~<br> 3125 <br> 3126 Itoccurstomethatitwouldbehelpfulforvalgrinduserstorecord<br> 3127 inthesourcedistributionthechangesineachrelease.SoInow<br> 3128 attempttomendmyerrantways:-)Changesinthisandfuturereleases<br> 3129 willbedocumentedintheNEWSfileinthesourcedistribution.<br> 3130 <br> 3131 Majorchangesin1.9.5:<br> 3132 <br> 3133 -(Criticalbugfix):FixabugintheFPUsimulation.Thiswas<br> 3134 causingsomefloatingpointconditionaltestsnottoworkright.<br> 3135 Severalpeoplereportedthis.Ifyouhadfloatingpointcodewhich<br> 3136 didn'tworkrighton1.9.1to1.9.4,it'sworthtrying1.9.5.<br> 3137 <br> 3138 -PartialsupportforRedHat9.RH9usesthenewNativePosix<br> 3139 ThreadsLibrary(NPTL),insteadoftheolderLinuxThreads.<br> 3140 ThispotentiallycausesproblemswithVwhichwilltakesome<br> 3141 timetocorrect.Inthemeantimewehavepartiallyworkedaround<br> 3142 this,andso1.9.5worksonRH9.Threadedprogramsstillwork,<br> 3143 buttheymaydeadlock,becausesomesystemcalls(accept,read,<br> 3144 write,etc)whichshouldbenonblocking,infactdoblock.This<br> 3145 isaknownbugwhichwearelookinginto.<br> 3146 <br> 3147 Ifyoucan,yourbestbet(unfortunately)istoavoidusing<br> 3148 1.9.5onaRedHat9system,oronanyNPTL-baseddistribution.<br> 3149 Ifyourglibcis2.3.1orearlier,you'realmostcertainlyOK.<br> 3150 <br> 3151 Minorchangesin1.9.5:<br> 3152 <br> 3153 -Addedsome#errorstovalgrind.htoensurepeopledon'tinclude<br> 3154 itaccidentallyintheirsources.Thisisachangefrom1.0.X<br> 3155 whichwasneverproperlydocumented.Therightthingtoinclude<br> 3156 isnowmemcheck.h.Somepeoplereportedproblemsandstrange<br> 3157 behaviourwhen(incorrectly)includingvalgrind.hincodewith<br> 3158 1.9.1--1.9.4.Thisisnolongerpossible.<br> 3159 <br> 3160 -Addsome__extension__bitsandpiecessothatgccconfigured<br> 3161 forvalgrind-checkingcompilesevenwith-Werror.Ifyou<br> 3162 don'tunderstandthis,ignoreit.Ofinteresttogccdevelopers<br> 3163 only.<br> 3164 <br> 3165 -Removedapointlesscheckwhichcausedproblemsinterworking<br> 3166 withClearcase.Vwouldcomplainaboutsharedobjectswhose<br> 3167 namesdidnotend".so",andrefusetorun.Thisisnowfixed.<br> 3168 Infactitwasfixedin1.9.4butnotdocumented.<br> 3169 <br> 3170 -Fixedabugcausinganassertionfailureof"waiters==1"<br> 3171 somewhereinvg_scheduler.c,whenrunninglargethreadedapps,<br> 3172 notablyMySQL.<br> 3173 <br> 3174 -Addsupportforthemunlocksystemcall(124).<br> 3175 <br> 3176 Somecommentsaboutfuturereleases:<br> 3177 <br> 3178 1.9.5is,wehope,themoststableValgrindsofar.Itprettymuch<br> 3179 supersedesthe1.0.Xbranch.Ifyouareavalgrindpackager,please<br> 3180 considermaking1.9.5availabletoyourusers.Youcanregardthe<br> 3181 1.0.Xbranchasobsolete:1.9.5isstableandvastlysuperior.There<br> 3182 arenoplansatallforfurtherreleasesofthe1.0.Xbranch.<br> 3183 <br> 3184 Ifyouwantaleading-edgevalgrind,considerbuildingthecvshead<br> 3185 (fromSourceForge),orgettingasnapshotofit.Currentcoolstuff<br> 3186 goinginincludesMMXsupport(done);SSE/SSE2support(inprogress),<br> 3187 asignificant(10-20%)performanceimprovement(done),andtheusual<br> 3188 largecollectionofminorchanges.Hopefullywewillbeableto<br> 3189 improveourNPTLsupport,butnopromises.<br> 3190 <br> 3191 <br> 3192 </p></div> 3193 </div> 3194 <div> 3195 <br><table class="nav" width="100%" cellspacing="3" cellpadding="2" border="0" summary="Navigation footer"> 3196 <tr> 3197 <td rowspan="2" width="40%" align="left"> 3198 <a accesskey="p" href="dist.authors.html"><<1.AUTHORS</a></td> 3199 <td width="20%" align="center"><a accesskey="u" href="dist.html">Up</a></td> 3200 <td rowspan="2" width="40%" align="right"><a accesskey="n" href="dist.readme.html">3.README>></a> 3201 </td> 3202 </tr> 3203 <tr><td width="20%" align="center"><a accesskey="h" href="index.html">Home</a></td></tr> 3204 </table> 3205 </div> 3206 </body> 3207 </html> 3208