Home | History | Annotate | Download | only in html
      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-&gt;IR:0x480xF0xAE0x4(properFX{SAVE,RSTOR}support)<br>
     45 210481vexamd64-&gt;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-&gt;IR:0x660xF0x3A0x90xDB0x0(ROUNDPD)<br>
     58 255966Slownesswhenusingmempoolannotations<br>
     59 256387vexx86-&gt;IR:0xD40xA0x20x7(AADandAAM)<br>
     60 256600super-optimizedstrcasecmp()falsepositive<br>
     61 256669vexamd64-&gt;IR:UnhandledLOOPNELinsnonamd64<br>
     62 256968(SSE4.x)vexamd64-&gt;IR:0x660xF0x380x100xD30x66(BLENDVPx)<br>
     63 257011(SSE4.x)vexamd64-&gt;IR:0x660xF0x3A0xE0xFD0xA0(PBLENDW)<br>
     64 257063(SSE4.x)vexamd64-&gt;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&lt;valgrind/valgrind.h&gt;,<br>
    241 &lt;valgrind/memcheck.h&gt;and&lt;valgrind/drd.h&gt;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-&gt;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-&gt;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-&gt;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&lt;title&gt;&lt;/title&gt;elements<br>
    323 232793==202315<br>
    324 235642[PATCH]syswrap-linux.c:supportevdevEVIOCG*ioctls<br>
    325 236546vexx86-&gt;IR:0x660xF0x3A0xA<br>
    326 237202vexamd64-&gt;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-&gt;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&lt;preamble&gt;notescapethe<br>
    358 xmlchar,eg'&lt;','&amp;','&gt;'<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-&gt;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&lt;valgrind/valgrind.h&gt;).Analternativeforthesetwomacrosis<br>
    676 thenewclientrequestVG_USERREQ__DRD_CLEAN_MEMORY(definedin<br>
    677 &lt;valgrind/drd.h&gt;).<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)/&lt;platform&gt;/libmpiwrap.soto<br>
    781 $(INSTALL)/libmpiwrap-&lt;platform&gt;.so.<br>
    782 <br>
    783 *ForpeoplewhodistributestandaloneValgrindtools,the<br>
    784 installedlibrariessuchas$(INSTALL)/&lt;platform&gt;/libcoregrind.a<br>
    785 havemovedto$(INSTALL)/libcoregrind-&lt;platform&gt;.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-&gt;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&gt;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-&gt;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-&gt;heldBy"<br>
    893 188427Addsupportforepoll_create1(withpatch)<br>
    894 188530SupportforSIOCGSTAMPNS<br>
    895 188560Includevalgrind.specinthetarball<br>
    896 188572ValgrindonMacshouldsuppresssetenv()memleak<br>
    897 189054Valgrindfailstobuildbecauseofduplicatenon-localasmlabels<br>
    898 189737vexamd64-&gt;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-&gt;sg[p-&gt;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-&gt;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&amp;&amp;--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-&gt;IR:0x82...<br>
   1156 172563amd64-&gt;IR:0xD90xF5-fprem1<br>
   1157 173099.ldslinkerscriptgenerationerror<br>
   1158 173177[x86_64]syscalls:125/126/179(capget/capset/quotactl)<br>
   1159 173751amd64-&gt;IR:0x480xF0x6F0x45(evenmoreredundantprefixes)<br>
   1160 174532==173751<br>
   1161 174908--log-filevaluenotexpandedcorrectlyforcorefile<br>
   1162 175044Addlookup_dcookieforamd64<br>
   1163 175150x86-&gt;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]-&gt;data+lc_shadows[i]...<br>
   1220 n-i-bzMassif/Cachegrindoutputcorruptionwhenprogramsfork<br>
   1221 n-i-bzregisterallocatorfix:handlespillstorescorrectly<br>
   1222 n-i-bzaddsupportforPA6TPowerPCCPUs<br>
   1223 126389vexx86-&gt;IR:0xF0xAE(FXRSTOR)<br>
   1224 158525==126389<br>
   1225 152818vexx86-&gt;IR:0xF30xAC(repzlodsb)<br>
   1226 153196vexx86-&gt;IR:0xF20xA6(repnzcmpsb)<br>
   1227 155011vexx86-&gt;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-&gt;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--&lt;pid&gt;<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=&lt;hexnum&gt;and<br>
   1368 --free-fill=&lt;hexnum&gt;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-&gt;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-&gt;IR:0x660xF0xF70xC6(maskmovq,maskmovdq)<br>
   1422 141631Massif:percentagesdon'taddupcorrectly<br>
   1423 142706massifnumbersdon'tseemtoaddup<br>
   1424 143062massifcrashesonappexitwithsignal8SIGFPE<br>
   1425 144453(get_XCon):Assertion'xpt-&gt;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-&gt;curr_space&gt;=-space_delta'...<br>
   1433 146701==134990<br>
   1434 146781Addingsupportforprivatefutexes<br>
   1435 147325valgrindinternalerroronsyscall(SYS_io_destroy,0)<br>
   1436 147498amd64-&gt;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-&gt;curr_space&gt;=-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&gt;2^16<br>
   1451 151938helpon--db-command=misleading<br>
   1452 152022subw$0x28,%%spcausesassertionfailureinmemcheck<br>
   1453 152357inbandoutbnotrecognizedin64-bitmode<br>
   1454 152501vexx86-&gt;IR:0x270x660x890x45(daa)<br>
   1455 152818vexx86-&gt;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=&lt;patt&gt;limitdebuginfotracingtoobjname&lt;patt&gt;<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?-&gt;IR:somekindofVMXprefetch(dstt)<br>
   1516 129968amd64-&gt;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-&gt;IR:0xD70x8A0xE00xD0(xlat)<br>
   1526 125959==135012<br>
   1527 126147x86-&gt;IR:0xF20xA50xF0x77(repnemovsw)<br>
   1528 136650amd64-&gt;IR:0xC20x80x0<br>
   1529 135421x86-&gt;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&gt;=4.1<br>
   1548 137493x86-&gt;IR:recentbinutilsno-ops<br>
   1549 137714x86-&gt;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-&gt;IR:mfspr268/269instructionsnothandled<br>
   1556 n-i-bzppc32-&gt;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-&gt;IR:fisttp(SSE3)<br>
   1601 117172FUTEX_WAKEdoesnotuseuaddr2<br>
   1602 124039LackssupportforVKI_[GP]IO_UNIMAP*<br>
   1603 127521amd64-&gt;IR:0xF00x480xF0xC7(cmpxchg8b)<br>
   1604 128917amd64-&gt;IR:0x660xF0xF60xC4(psadbw,SSE2)<br>
   1605 129246JJ:ppc32/ppc64syscalls,w/patch<br>
   1606 129358x86-&gt;IR:fisttpl(SSE3)<br>
   1607 129866cachegrind/callgrindcausesexecutabletodie<br>
   1608 130020Can'tstat.so/.exeerrorwhilereadingsymbols<br>
   1609 130388Valgrindabortswhenprocesscallsmalloc_trim()<br>
   1610 130638PATCH:ppc32missingsystemcalls<br>
   1611 130785amd64-&gt;IR:unhandledinstruction"pushfq"<br>
   1612 131481:(HINT_NOP)vexx86-&gt;IR:0xF0x1F0x00xF<br>
   1613 131298==131481<br>
   1614 132146Programswithlongsequencesofbswap[l,q]s<br>
   1615 132918vexamd64-&gt;IR:0xD90xF8(fprem)<br>
   1616 132813Assertionatpriv/guest-x86/toIR.c:652fails<br>
   1617 133051'cfsi-&gt;len&gt;0&amp;&amp;cfsi-&gt;len&lt;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-&gt;IR:0x480xF0xC50xC0(pextrw?)<br>
   1629 133694aspacemassertion:aspacem_minAddr&lt;=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?-&gt;IR:somekindofVMXprefetch(dstt)<br>
   1644 129968amd64-&gt;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--&gt;MAKE_MEM_NOACCESS<br>
   1774 MAKE_WRITABLE--&gt;MAKE_MEM_UNDEFINED<br>
   1775 MAKE_READABLE--&gt;MAKE_MEM_DEFINED<br>
   1776 <br>
   1777 CHECK_WRITABLE--&gt;CHECK_MEM_IS_ADDRESSABLE<br>
   1778 CHECK_READABLE--&gt;CHECK_MEM_IS_DEFINED<br>
   1779 CHECK_DEFINED--&gt;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-&gt;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-&gt;IR:0xF0xE0x480x85(femms)<br>
   1815 124528FATAL:aspacemassertionfailed:segment_is_sane<br>
   1816 124697vexx86-&gt;IR:0xF0x700xC90x0(pshufw)<br>
   1817 124892vexx86-&gt;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-&gt;IR:0x660xF0xF5(pmaddwd)<br>
   1822 125492ppc32:supportabunchmoresyscalls<br>
   1823 121617ppc32/64:coredumpinggivesassertionfailure<br>
   1824 121814Coregrindreturnerrorasexitcodepatch<br>
   1825 126517==121814<br>
   1826 125607amd64-&gt;IR:0x660xF0xA30x2(btwetc)<br>
   1827 125651amd64-&gt;IR:0xF80x490xFF0xE3(clc?)<br>
   1828 126253x86movxiswrong<br>
   1829 1264513.2SVNdoesn'tworkonppc32CPU'swithoutFPU<br>
   1830 126217increase#threads<br>
   1831 126243vexx86-&gt;IR:popwmem<br>
   1832 126583amd64-&gt;IR:0x480xF0xA40xC2(shld$1,%rax,%rdx)<br>
   1833 126668amd64-&gt;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.&lt;pid&gt;"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-&gt;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-&gt;IR:660FF6(66+PSADBW==SSEPSADBW)<br>
   2024 113796read()andwrite()donotworkifbufferisinsharedmemory<br>
   2025 113851vexx86-&gt;IR:(pmaddwd):0x660xF0xF50xC7<br>
   2026 114366vexamd64cannnothandle__asm__("fninit")<br>
   2027 114412vexamd64-&gt;IR:0xF0xAD0xC20xD3(128-bitshift,shrdq?)<br>
   2028 114455vexamd64-&gt;IR:0xF0xAC0xD00x1(alsoshrdq)<br>
   2029 115590:amd64-&gt;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-&gt;IR:0x410xF0xAB(moreBT{,S,R,C}funngames)<br>
   2038 111748vexamd64-&gt;IR:0xDD0xE2(fucom)<br>
   2039 111785makefailsifCCcontainsspaces<br>
   2040 111829vexx86-&gt;IR:sbbAL,Ib<br>
   2041 111851vexx86-&gt;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-&gt;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-&gt;IR:fucomp(0xDD0xE9)<br>
   2054 114196vexx86-&gt;IR:out%eax,(%dx)(0xEF0xC90xC30x90)<br>
   2055 114289Memcheckfailstointerceptmallocwhenusedinanuclibcenvironment<br>
   2056 114756mbindsyscallsupport<br>
   2057 114757Valgrinddieswithassertion:Assertion'noLargerThan&gt;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&lt;unique&gt;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-&gt;IR:unhandledinstructionbytes:0xF30xC3(repret)<br>
   2097 n-i-bzNick(Cachegrindshouldnotassertwhenitencountersaclient<br>
   2098 request.)<br>
   2099 110685amd64-&gt;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-&gt;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-&gt;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-&gt;IR:unhandledinstructionbytes:0xA30x4C0x700xD7<br>
   2239 109802Addaplausible_stack_sizecommand-lineparameter?<br>
   2240 109783unhandledioctlTIOCMGET(runninghwdetectiontooldiscover)<br>
   2241 109780unhandledioctlBLKSSZGET(runningfdisk-l/dev/hda)<br>
   2242 109718vexx86-&gt;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&amp;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&amp;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-&gt;size&gt;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-&gt;sigqueue_head!=tst-&gt;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&amp;((1&lt;&lt;12)-1...<br>
   2446 101173	Assertion`recDepth&gt;=0&amp;&amp;recDepth&lt;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-&gt;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&gt;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--&gt;--log-fd<br>
   2658 --logfile--&gt;--log-file<br>
   2659 --logsocket--&gt;--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(&lt;reservedfd&gt;)<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=&gt;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-&gt;size&gt;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-&gt;size==4||u_in-&gt;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&amp;)<br>
   2910 operatornew[](unsigned,std::nothrow_tconst&amp;)<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=&lt;number&gt;.<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&gt;=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&gt;=2.3.2(SuSE8.2,<br>
   3077 RedHat9,tonamebuttwo...)Itturnedoutthat1.9.5<br>
   3078 hadproblemswiththreadingsupportonglibc&gt;=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&gt;=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">&lt;&lt;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&gt;&gt;</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