1 <html> 2 <head> 3 <meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1"> 4 <title>3.OLDER NEWS</title> 5 <link rel="stylesheet" type="text/css" href="vg_basic.css"> 6 <meta name="generator" content="DocBook XSL Stylesheets V1.79.1"> 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.news.html" title="2.NEWS"> 10 <link rel="next" href="dist.readme.html" title="4.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.news.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"> 21 <div class="titlepage"><div><div><h1 class="title"> 22 <a name="dist.news.old"></a>3.OLDER NEWS</h1></div></div></div> 23 <div class="literallayout"><p><br> 24 Release3.3.1(4June2008)<br> 25 ~~~~~~~~~~~~~~~~~~~~~~~~~~~<br> 26 3.3.1fixesabunchofbugsin3.3.0,addssupportforglibc-2.8based<br> 27 systems(openSUSE11,FedoraCore9),improvestheexistingglibc-2.7<br> 28 support,andaddssupportfortheSSSE3(Core2)instructionset.<br> 29 <br> 30 3.3.1willlikelybethelastreleasethatsupportssomeveryold<br> 31 systems.Inparticular,thenextmajorrelease,3.4.0,willdrop<br> 32 supportfortheoldLinuxThreadsthreadinglibrary,andforgcc<br> 33 versionspriorto3.0.<br> 34 <br> 35 Thefixedbugsareasfollows.Notethat"n-i-bz"standsfor"notin<br> 36 bugzilla"--thatis,abugthatwasreportedtousbutnevergota<br> 37 bugzillaentry.Weencourageyoutofilebugsinbugzilla<br> 38 (http://bugs.kde.org/enter_valgrind_bug.cgi)ratherthanmailingthe<br> 39 developers(ormailinglists)directly--bugsthatarenotentered<br> 40 intobugzillatendtogetforgottenaboutorignored.<br> 41 <br> 42 n-i-bzMassifsegfaultsatexit<br> 43 n-i-bzMemcheckassertsonAltiveccode<br> 44 n-i-bzfixsizeofbuginHelgrind<br> 45 n-i-bzcheckfdonsys_llseek<br> 46 n-i-bzupdatesyscallliststokernel2.6.23.1<br> 47 n-i-bzsupportsys_sync_file_range<br> 48 n-i-bzhandlesys_sysinfo,sys_getresuid,sys_getresgidonppc64-linux<br> 49 n-i-bzinterceptmemcpyin64-bitld.so's<br> 50 n-i-bzFixwrappersforsys_{futimesat,utimensat}<br> 51 n-i-bzMinorfalse-erroravoidancefixesforMemcheck<br> 52 n-i-bzlibmpiwrap.c:addawrapperforMPI_Waitany<br> 53 n-i-bzhelgrindsupportforglibc-2.8<br> 54 n-i-bzpartialfixformc_leakcheck.c:698assert:<br> 55 'lc_shadows[i]->data+lc_shadows[i]...<br> 56 n-i-bzMassif/Cachegrindoutputcorruptionwhenprogramsfork<br> 57 n-i-bzregisterallocatorfix:handlespillstorescorrectly<br> 58 n-i-bzaddsupportforPA6TPowerPCCPUs<br> 59 126389vexx86->IR:0xF0xAE(FXRSTOR)<br> 60 158525==126389<br> 61 152818vexx86->IR:0xF30xAC(repzlodsb)<br> 62 153196vexx86->IR:0xF20xA6(repnzcmpsb)<br> 63 155011vexx86->IR:0xCF(iret)<br> 64 155091Warning[...]unhandledDW_OP_opcode0x23<br> 65 156960==155901<br> 66 155528supportCore2/SSSE3insnsonx86/amd64<br> 67 155929ms_printfailsonmassifoutputscontaininglonglines<br> 68 157665valgrindfailsonshmdt(0)aftershmatto0<br> 69 157748supportx86PUSHFW/POPFW<br> 70 158212helgrind:handlepthread_rwlock_try{rd,wr}lock.<br> 71 158425sys_pollincorrectlyemulatedwhenRES==0<br> 72 158744vexamd64->IR:0xF00x410xF0xC0(xaddb)<br> 73 160907SupportforacoupleofrecentLinuxsyscalls<br> 74 161285Patch--supportforeventfd()syscall<br> 75 161378illegalopcodeindebuglibm(FUCOMPP)<br> 76 160136==161378<br> 77 161487numberofsuppressionsfilesislimitedto10<br> 78 162386ms_printtypoinmillisecondstimeunitformassif<br> 79 161036exp-drd:clientallocatedmemorywasneverfreed<br> 80 162663signalfd_wrapperfailson64bitlinux<br> 81 <br> 82 (3.3.1.RC1:2June2008,vexr1854,valgrindr8169).<br> 83 (3.3.1:4June2008,vexr1854,valgrindr8180).<br> 84 <br> 85 <br> 86 <br> 87 Release3.3.0(7December2007)<br> 88 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~<br> 89 3.3.0isafeaturereleasewithmanysignificantimprovementsandthe<br> 90 usualcollectionofbugfixes.ThisreleasesupportsX86/Linux,<br> 91 AMD64/Linux,PPC32/LinuxandPPC64/Linux.Supportforrecentdistros<br> 92 (usinggcc4.3,glibc2.6and2.7)hasbeenadded.<br> 93 <br> 94 Themainexcitementin3.3.0isnewandimprovedtools.Helgrind<br> 95 worksagain,Massifhasbeencompletelyoverhauledandmuchimproved,<br> 96 Cachegrindnowdoesbranch-mispredictionprofiling,andanewcategory<br> 97 ofexperimentaltoolshasbeencreated,containingtwonewtools:<br> 98 OmegaandDRD.Therearemanyothersmallerimprovements.Indetail:<br> 99 <br> 100 -Helgrindhasbeencompletelyoverhauledandworksforthefirsttime<br> 101 sinceValgrind2.2.0.Supportedfunctionalityis:detectionof<br> 102 misusesofthePOSIXPThreadsAPI,detectionofpotentialdeadlocks<br> 103 resultingfromcycliclockdependencies,anddetectionofdata<br> 104 races.Comparedtothe2.2.0Helgrind,theracedetectionalgorithm<br> 105 hassomesignificantimprovementsaimedatreducingthefalseerror<br> 106 rate.Handlingofvariouskindsofcornercaseshasbeenimproved.<br> 107 Effortshavebeenmadetomaketheerrormessageseasierto<br> 108 understand.Extensivedocumentationisprovided.<br> 109 <br> 110 -Massifhasbeencompletelyoverhauled.Insteadofmeasuring<br> 111 space-timeusage--whichwasn'talwaysusefulandmanypeoplefound<br> 112 confusing--itnowmeasuresspaceusageatvariouspointsinthe<br> 113 execution,includingthepointofpeakmemoryallocation.Its<br> 114 outputformathasalsochanged:insteadofproducingPostScript<br> 115 graphsandHTMLtext,itproducesasingletextoutput(viathenew<br> 116 'ms_print'script)thatcontainsbothagraphandtheoldtextual<br> 117 information,butinamorecompactandreadableform.Finally,the<br> 118 newversionshouldbemorereliablethantheoldone,asithasbeen<br> 119 testedmorethoroughly.<br> 120 <br> 121 -Cachegrindhasbeenextendedtodobranch-mispredictionprofiling.<br> 122 Bothconditionalandindirectbranchesareprofiled.Thedefault<br> 123 behaviourofCachegrindisunchanged.Tousethenewfunctionality,<br> 124 givetheoption--branch-sim=yes.<br> 125 <br> 126 -Anewcategoryof"experimentaltools"hasbeencreated.Suchtools<br> 127 maynotworkaswellasthestandardtools,butareincludedbecause<br> 128 somepeoplewillfindthemuseful,andbecauseexposuretoawider<br> 129 usergroupprovidestoolauthorswithmoreend-userfeedback.These<br> 130 toolshavea"exp-"prefixattachedtotheirnamestoindicatetheir<br> 131 experimentalnature.Currentlytherearetwoexperimentaltools:<br> 132 <br> 133 *exp-Omega:aninstantaneousleakdetector.See<br> 134 exp-omega/docs/omega_introduction.txt.<br> 135 <br> 136 *exp-DRD:adataracedetectorbasedonthehappens-before<br> 137 relation.Seeexp-drd/docs/README.txt.<br> 138 <br> 139 -Scalabilityimprovementsforverylargeprograms,particularlythose<br> 140 whichhaveamillionormoremalloc'dblocksinuseatonce.These<br> 141 improvementsmostlyaffectMemcheck.Memcheckisalsoupto10%<br> 142 fasterforallprograms,withx86-linuxseeingthelargest<br> 143 improvement.<br> 144 <br> 145 -WorkswellonthelatestLinuxdistros.HasbeentestedonFedora<br> 146 Core8(x86,amd64,ppc32,ppc64)andopenSUSE10.3.glibc2.6and<br> 147 2.7aresupported.gcc-4.3(initscurrentpre-releasestate)is<br> 148 supported.Atthesametime,3.3.0retainssupportforolder<br> 149 distros.<br> 150 <br> 151 -Thedocumentationhasbeenmodestlyreorganisedwiththeaimof<br> 152 makingiteasiertofindinformationoncommon-usagescenarios.<br> 153 Someadvancedmaterialhasbeenmovedintoanewchapterinthemain<br> 154 manual,soastounclutterthemainflow,andothertidyinguphas<br> 155 beendone.<br> 156 <br> 157 -ThereisexperimentalsupportforAIX5.3,both32-bitand64-bit<br> 158 processes.Youneedtoberunninga64-bitkerneltouseValgrind<br> 159 ona64-bitexecutable.<br> 160 <br> 161 -Therehavebeensomechangestocommandlineoptions,whichmay<br> 162 affectyou:<br> 163 <br> 164 *--log-file-exactlyand<br> 165 --log-file-qualifieroptionshavebeenremoved.<br> 166 <br> 167 Tomakeupforthis--log-fileoptionhasbeenmademorepowerful.<br> 168 Itnowacceptsa%pformatspecifier,whichisreplacedwiththe<br> 169 processID,anda%q{FOO}formatspecifier,whichisreplacedwith<br> 170 thecontentsoftheenvironmentvariableFOO.<br> 171 <br> 172 *--child-silent-after-fork=yes|no[no]<br> 173 <br> 174 CausesValgrindtonotshowanydebuggingorloggingoutputfor<br> 175 thechildprocessresultingfromafork()call.Thiscanmakethe<br> 176 outputlessconfusing(althoughmoremisleading)whendealingwith<br> 177 processesthatcreatechildren.<br> 178 <br> 179 *--cachegrind-out-file,--callgrind-out-fileand--massif-out-file<br> 180 <br> 181 Thesecontrolthenamesoftheoutputfilesproducedby<br> 182 Cachegrind,CallgrindandMassif.Theyacceptthesame%pand%q<br> 183 formatspecifiersthat--log-fileaccepts.--callgrind-out-file<br> 184 replacesCallgrind'sold--baseoption.<br> 185 <br> 186 *Cachegrind's'cg_annotate'scriptnolongerusesthe--<pid><br> 187 optiontospecifytheoutputfile.Instead,thefirstnon-option<br> 188 argumentistakentobethenameoftheoutputfile,andany<br> 189 subsequentnon-optionargumentsaretakentobethenamesof<br> 190 sourcefilestobeannotated.<br> 191 <br> 192 *CachegrindandCallgrindnowusedirectorynameswherepossiblein<br> 193 theiroutputfiles.Thismeansthatthe-Ioptionto<br> 194 'cg_annotate'and'callgrind_annotate'shouldnotbeneededin<br> 195 mostcases.Italsomeanstheycancorrectlyhandlethecase<br> 196 wheretwosourcefilesindifferentdirectorieshavethesame<br> 197 name.<br> 198 <br> 199 -Memcheckoffersanewsuppressionkind:"Jump".Thisisfor<br> 200 suppressingjump-to-invalid-addresserrors.Previouslyyouhadto<br> 201 usean"Addr1"suppression,whichdidn'tmakemuchsense.<br> 202 <br> 203 -Memcheckhasnewflags--malloc-fill=<hexnum>and<br> 204 --free-fill=<hexnum>whichfreemalloc'd/free'dareaswiththe<br> 205 specifiedbyte.Thiscanhelpshakeoutobscurememorycorruption<br> 206 problems.Thedefinednessandaddressabilityoftheseareasis<br> 207 unchanged--onlythecontentsareaffected.<br> 208 <br> 209 -ThebehaviourofMemcheck'sclientrequestsVALGRIND_GET_VBITSand<br> 210 VALGRIND_SET_VBITShavechangedslightly.Theynolongerissue<br> 211 addressabilityerrors--ifeitherarrayispartiallyunaddressable,<br> 212 theyjustreturn3(asbefore).Also,SET_VBITSdoesn'treport<br> 213 definednesserrorsifanyoftheVbitsareundefined.<br> 214 <br> 215 -ThefollowingMemcheckclientrequestshavebeenremoved:<br> 216 VALGRIND_MAKE_NOACCESS<br> 217 VALGRIND_MAKE_WRITABLE<br> 218 VALGRIND_MAKE_READABLE<br> 219 VALGRIND_CHECK_WRITABLE<br> 220 VALGRIND_CHECK_READABLE<br> 221 VALGRIND_CHECK_DEFINED<br> 222 Theyweredeprecatedin3.2.0,whenequivalentbutbetter-namedclient<br> 223 requestswereadded.Seethe3.2.0releasenotesformoredetails.<br> 224 <br> 225 -ThebehaviourofthetoolLackeyhaschangedslightly.First,theoutput<br> 226 from--trace-memhasbeenmademorecompact,toreducethesizeofthe<br> 227 traces.Second,anewoption--trace-superblockshasbeenadded,which<br> 228 showstheaddressesofsuperblocks(codeblocks)astheyareexecuted.<br> 229 <br> 230 -Thefollowingbugshavebeenfixed.Notethat"n-i-bz"standsfor<br> 231 "notinbugzilla"--thatis,abugthatwasreportedtousbut<br> 232 nevergotabugzillaentry.Weencourageyoutofilebugsin<br> 233 bugzilla(http://bugs.kde.org/enter_valgrind_bug.cgi)ratherthan<br> 234 mailingthedevelopers(ormailinglists)directly.<br> 235 <br> 236 n-i-bzx86_linux_REDIR_FOR_index()broken<br> 237 n-i-bzguest-amd64/toIR.c:2512(dis_op2_E_G):Assertion`0'failed.<br> 238 n-i-bzSupportx86INTinsn(INT(0xCD)0x40-0x43)<br> 239 n-i-bzAddsys_utimensatsystemcallforLinuxx86platform<br> 240 79844Helgrindcomplainsaboutraceconditionwhichdoesnotexist<br> 241 82871Massifoutputfunctionnamestooshort<br> 242 89061Massif:ms_main.c:485(get_XCon):Assertion`xpt->max_chi...'<br> 243 92615WriteoutputfromMassifatcrash<br> 244 95483massiffeaturerequest:includepeakallocationinreport<br> 245 112163MASSIFcrashedwithsignal7(SIGBUS)afterrunning2days<br> 246 119404problemsrunningsetuidexecutables(partialfix)<br> 247 121629addinstruction-countingmodefortiming<br> 248 127371javavmgivingunhandledinstructionbytes:0x260x2E0x640x65<br> 249 129937==150380<br> 250 129576Massiflosestrackofmemory,incorrectgraphs<br> 251 132132massif--format=htmloutputdoesnotdohtmlentityescaping<br> 252 132950Heapalloc/usagesummary<br> 253 133962unhandledinstructionbytes:0xF20x4C0xF0x10<br> 254 134990use-fno-stack-protectorifpossible<br> 255 136382==134990<br> 256 137396Iwouldreallylikehelgrindtoworkagain...<br> 257 137714x86/amd64->IR:0x660xF0xF70xC6(maskmovq,maskmovdq)<br> 258 141631Massif:percentagesdon'taddupcorrectly<br> 259 142706massifnumbersdon'tseemtoaddup<br> 260 143062massifcrashesonappexitwithsignal8SIGFPE<br> 261 144453(get_XCon):Assertion'xpt->max_children!=0'failed.<br> 262 145559valgrindabortswhenmalloc_statsiscalled<br> 263 145609valgrindabortsallrunswith'repeatedsection!'<br> 264 145622--db-attachbrokenagainonx86-64<br> 265 145837==149519<br> 266 145887PPC32:getitimer()systemcallisnotsupported<br> 267 146252==150678<br> 268 146456(update_XCon):Assertion'xpt->curr_space>=-space_delta'...<br> 269 146701==134990<br> 270 146781Addingsupportforprivatefutexes<br> 271 147325valgrindinternalerroronsyscall(SYS_io_destroy,0)<br> 272 147498amd64->IR:0xF00xF0xB00xF(lockcmpxchg%cl,(%rdi))<br> 273 147545Memcheck:mc_main.c:817(get_sec_vbits8):Assertion'n'failed.<br> 274 147628SALCopcode0xd6unimplemented<br> 275 147825crashonamd64-linuxwithgcc4.2andglibc2.6(CFI)<br> 276 148174Incorrecttypeoffreed_list_volumecausesassertion[...]<br> 277 148447x86_64:newNOPcodes:666666662e0f1f<br> 278 149182PPCTrapinstructionsnotimplementedinvalgrind<br> 279 149504Assertionhitonalloc_xpt->curr_space>=-space_delta<br> 280 149519ppc32:VabortswithSIGSEGVonexecutionofasignalhandler<br> 281 149892==137714<br> 282 150044SEGVduringstackderegister<br> 283 150380dwarf/gccinteroperation(dwarf3readproblems)<br> 284 150408==148447<br> 285 150678guest-amd64/toIR.c:3741(dis_Grp5):Assertion`sz==4'failed<br> 286 151209VunabletoexecuteprogramsforuserswithUID>2^16<br> 287 151938helpon--db-command=misleading<br> 288 152022subw$0x28,%%spcausesassertionfailureinmemcheck<br> 289 152357inbandoutbnotrecognizedin64-bitmode<br> 290 152501vexx86->IR:0x270x660x890x45(daa)<br> 291 152818vexx86->IR:0xF30xAC0xFC0x9C(replodsb)<br> 292 <br> 293 Developer-visiblechanges:<br> 294 <br> 295 -ThenamesofsomefunctionsandtypeswithintheVexIRhave<br> 296 changed.Run'svnlog-r1689VEX/pub/libvex_ir.h'forfulldetails.<br> 297 Anyexistingstandalonetoolswillhavetobeupdatedtoreflect<br> 298 thesechanges.Thenewnamesshouldbeclearer.Thefile<br> 299 VEX/pub/libvex_ir.hisalsomuchbettercommented.<br> 300 <br> 301 -Anumberofnewdebuggingcommandlineoptionshavebeenadded.<br> 302 Thesearemostlyofusefordebuggingthesymboltableandline<br> 303 numberreaders:<br> 304 <br> 305 --trace-symtab-patt=<patt>limitdebuginfotracingtoobjname<patt><br> 306 --trace-cfi=no|yesshowcall-frame-infodetails?[no]<br> 307 --debug-dump=symsmimic/usr/bin/readelf--syms<br> 308 --debug-dump=linemimic/usr/bin/readelf--debug-dump=line<br> 309 --debug-dump=framesmimic/usr/bin/readelf--debug-dump=frames<br> 310 --sym-offsets=yes|noshowsymsinform'name+offset'?[no]<br> 311 <br> 312 -Internally,thecodebasehasbeenfurtherfactorisedand<br> 313 abstractified,particularlywithrespecttosupportfornon-Linux<br> 314 OSs.<br> 315 <br> 316 (3.3.0.RC1:2Dec2007,vexr1803,valgrindr7268).<br> 317 (3.3.0.RC2:5Dec2007,vexr1804,valgrindr7282).<br> 318 (3.3.0.RC3:9Dec2007,vexr1804,valgrindr7288).<br> 319 (3.3.0:10Dec2007,vexr1804,valgrindr7290).<br> 320 <br> 321 <br> 322 <br> 323 Release3.2.3(29Jan2007)<br> 324 ~~~~~~~~~~~~~~~~~~~~~~~~~~~<br> 325 Unfortunately3.2.2introducedaregressionwhichcancausean<br> 326 assertionfailure("vex:the`impossible'happened:eqIRConst")when<br> 327 runningobscurepiecesofSSEcode.3.2.3fixesthisandaddsone<br> 328 moreglibc-2.5intercept.Inallotherrespectsitisidenticalto<br> 329 3.2.2.Pleasedonotuse(orpackage)3.2.2;insteaduse3.2.3.<br> 330 <br> 331 n-i-bzvex:the`impossible'happened:eqIRConst<br> 332 n-i-bzAddaninterceptforglibc-2.5__stpcpy_chk<br> 333 <br> 334 (3.2.3:29Jan2007,vexr1732,valgrindr6560).<br> 335 <br> 336 <br> 337 Release3.2.2(22Jan2007)<br> 338 ~~~~~~~~~~~~~~~~~~~~~~~~~~~<br> 339 3.2.2fixesabunchofbugsin3.2.1,addssupportforglibc-2.5based<br> 340 systems(openSUSE10.2,FedoraCore6),improvessupportforicc-9.X<br> 341 compiledcode,andbringsmodestperformanceimprovementsinsome<br> 342 areas,includingamd64floatingpoint,powerpcsupport,andstartup<br> 343 responsivenessonalltargets.<br> 344 <br> 345 Thefixedbugsareasfollows.Notethat"n-i-bz"standsfor"notin<br> 346 bugzilla"--thatis,abugthatwasreportedtousbutnevergota<br> 347 bugzillaentry.Weencourageyoutofilebugsinbugzilla<br> 348 (http://bugs.kde.org/enter_valgrind_bug.cgi)ratherthanmailingthe<br> 349 developers(ormailinglists)directly.<br> 350 <br> 351 129390ppc?->IR:somekindofVMXprefetch(dstt)<br> 352 129968amd64->IR:0xF0xAE0x0(fxsave)<br> 353 134319==129968<br> 354 133054'makeinstall'failswithsyntaxerrors<br> 355 118903==133054<br> 356 132998startupfailsinwhenrunningonUML<br> 357 134207pkg-configoutputcontains@VG_PLATFORM@<br> 358 134727valgrindexitswith"Valuetoolargefordefineddatatype"<br> 359 n-i-bzppc32/64:supportmcrfs<br> 360 n-i-bzCachegrind/Callgrind:Updatecacheparameterdetection<br> 361 135012x86->IR:0xD70x8A0xE00xD0(xlat)<br> 362 125959==135012<br> 363 126147x86->IR:0xF20xA50xF0x77(repnemovsw)<br> 364 136650amd64->IR:0xC20x80x0<br> 365 135421x86->IR:unhandledGrp5(R)case6<br> 366 n-i-bzImproveddocumentationoftheIRintermediaterepresentation<br> 367 n-i-bzjcxz(x86)(userslist,8Nov)<br> 368 n-i-bzExeContexthashingfix<br> 369 n-i-bzfixCFIreadingfailures("DwarfCFI0:240:320:480:7")<br> 370 n-i-bzfixCachegrind/Callgrindsimulationbug<br> 371 n-i-bzlibmpiwrap.c:fixhandlingofMPI_LONG_DOUBLE<br> 372 n-i-bzmakeUsererrorssuppressible<br> 373 136844corruptedmalloclinewhenusing--gen-suppressions=yes<br> 374 138507==136844<br> 375 n-i-bzSpeeduptheJIT'sregisterallocator<br> 376 n-i-bzFixconfusingleak-checkerflaghints<br> 377 n-i-bzSupportrecentautoswampversions<br> 378 n-i-bzppc32/64dispatcherspeedups<br> 379 n-i-bzppc64frontendrld/rlwimprovements<br> 380 n-i-bzppc64backendimm64improvements<br> 381 136300support64Kpagesonppc64-linux<br> 382 139124==136300<br> 383 n-i-bzfixppcinsnsettestsforgcc>=4.1<br> 384 137493x86->IR:recentbinutilsno-ops<br> 385 137714x86->IR:0x660xF0xF70xC6(maskmovdqu)<br> 386 138424"failedinUMEwitherror22"(produceabettererrormsg)<br> 387 138856==138424<br> 388 138627Enhancementsupportforprctlioctls<br> 389 138896Addsupportforusbioctls<br> 390 136059==138896<br> 391 139050ppc32->IR:mfspr268/269instructionsnothandled<br> 392 n-i-bzppc32->IR:lvxl/stvxl<br> 393 n-i-bzglibc-2.5support<br> 394 n-i-bzmemcheck:providereplacementformempcpy<br> 395 n-i-bzmemcheck:replacebcmpinld.so<br> 396 n-i-bzUse'ifndef'inVEX'sMakefilecorrectly<br> 397 n-i-bzSuppressionsforMVL4.0.1onppc32-linux<br> 398 n-i-bzlibmpiwrap.c:FixesforMPICH<br> 399 n-i-bzMorerobusthandlingofhintedclientmmaps<br> 400 139776InvalidreadinunalignedmemcpywithIntelcompilerv9<br> 401 n-i-bzGeneratevalidXMLevenforverylongfnnames<br> 402 n-i-bzDon'tpromptaboutsuppressionsforunshownreachableleaks<br> 403 139910amd64rclisnotsupported<br> 404 n-i-bzDWARFCFIreader:handleDW_CFA_undefined<br> 405 n-i-bzDWARFCFIreader:handleicc9generatedCFIinfobetter<br> 406 n-i-bzfixfalseuninit-valueerrsinicc9generatedFPcode<br> 407 n-i-bzreduceextraneousframesinlibmpiwrap.c<br> 408 n-i-bzsupportpselect6onamd64-linux<br> 409 <br> 410 (3.2.2:22Jan2007,vexr1729,valgrindr6545).<br> 411 <br> 412 <br> 413 Release3.2.1(16Sept2006)<br> 414 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~<br> 415 3.2.1addsx86/amd64supportforallSSE3instructionsexceptmonitor<br> 416 andmwait,furtherreducesmemcheck'sfalseerrorrateonall<br> 417 platforms,addssupportforrecentbinutils(inOpenSUSE10.2and<br> 418 FedoraRawhide)andfixesabunchofbugsin3.2.0.Someofthefixed<br> 419 bugswerecausinglargeprogramstosegfaultwith--tool=callgrindand<br> 420 --tool=cachegrind,soanupgradeisrecommended.<br> 421 <br> 422 Inviewofthefactthatany3.3.0releaseisunlikelytohappenuntil<br> 423 wellinto1Q07,weintendtokeepthe3.2.Xlinealiveforawhile<br> 424 yet,andsowetentativelyplana3.2.2releasesometimeinDecember<br> 425 06.<br> 426 <br> 427 Thefixedbugsareasfollows.Notethat"n-i-bz"standsfor"notin<br> 428 bugzilla"--thatis,abugthatwasreportedtousbutnevergota<br> 429 bugzillaentry.<br> 430 <br> 431 n-i-bzExpandingbrk()intolastavailablepageasserts<br> 432 n-i-bzppc64-linuxstackRZfast-casesnafu<br> 433 n-i-bz'c'in--gen-supps=yesdoesn'twork<br> 434 n-i-bzVG_N_SEGMENTStoolow(users,28June)<br> 435 n-i-bzVG_N_SEGNAMEStoolow(StuRobinson)<br> 436 106852x86->IR:fisttp(SSE3)<br> 437 117172FUTEX_WAKEdoesnotuseuaddr2<br> 438 124039LackssupportforVKI_[GP]IO_UNIMAP*<br> 439 127521amd64->IR:0xF00x480xF0xC7(cmpxchg8b)<br> 440 128917amd64->IR:0x660xF0xF60xC4(psadbw,SSE2)<br> 441 129246JJ:ppc32/ppc64syscalls,w/patch<br> 442 129358x86->IR:fisttpl(SSE3)<br> 443 129866cachegrind/callgrindcausesexecutabletodie<br> 444 130020Can'tstat.so/.exeerrorwhilereadingsymbols<br> 445 130388Valgrindabortswhenprocesscallsmalloc_trim()<br> 446 130638PATCH:ppc32missingsystemcalls<br> 447 130785amd64->IR:unhandledinstruction"pushfq"<br> 448 131481:(HINT_NOP)vexx86->IR:0xF0x1F0x00xF<br> 449 131298==131481<br> 450 132146Programswithlongsequencesofbswap[l,q]s<br> 451 132918vexamd64->IR:0xD90xF8(fprem)<br> 452 132813Assertionatpriv/guest-x86/toIR.c:652fails<br> 453 133051'cfsi->len>0&&cfsi->len<2000000'failed<br> 454 132722valgrindheaderfilesarenotstandardC<br> 455 n-i-bzLivelocksentiremachine(userslist,TimothyTerriberry)<br> 456 n-i-bzAlexBenneemmapproblem(9Aug)<br> 457 n-i-bzBartV:Don'tprintmorelinesofastack-tracethanwereobtained.<br> 458 n-i-bzppc32SuSE10.1redir<br> 459 n-i-bzamd64paddingsuppressions<br> 460 n-i-bzamd64insnprintingfix.<br> 461 n-i-bzppccmpreg,regfix<br> 462 n-i-bzx86/amd64iropte/rflagreductionrules<br> 463 n-i-bzSuSE10.1(ppc32)minorfixes<br> 464 133678amd64->IR:0x480xF0xC50xC0(pextrw?)<br> 465 133694aspacemassertion:aspacem_minAddr<=holeStart<br> 466 n-i-bzcallgrind:fixwarningaboutmalformedcreatorline<br> 467 n-i-bzcallgrind:fixannotatescriptfordataproducedwith<br> 468 --dump-instr=yes<br> 469 n-i-bzcallgrind:fixfailedassertionwhentoggling<br> 470 instrumentationmode<br> 471 n-i-bzcallgrind:fixannotatescriptfixwarningswith<br> 472 --collect-jumps=yes<br> 473 n-i-bzdocspathhardwired(DennisLubert)<br> 474 <br> 475 Thefollowingbugswerenotfixed,dueprimarilytolackofdeveloper<br> 476 time,andalsobecausebugreportersdidnotanswerrequestsfor<br> 477 feedbackintimefortherelease:<br> 478 <br> 479 129390ppc?->IR:somekindofVMXprefetch(dstt)<br> 480 129968amd64->IR:0xF0xAE0x0(fxsave)<br> 481 133054'makeinstall'failswithsyntaxerrors<br> 482 n-i-bzSignalracecondition(userslist,13June,JohannesBerg)<br> 483 n-i-bzUnrecognisedinstructionataddress0x70198EC2(userslist,<br> 484 19July,Bennee)<br> 485 132998startupfailsinwhenrunningonUML<br> 486 <br> 487 Thefollowingbugwastentativelyfixedonthemainlinebutthefix<br> 488 wasconsideredtooriskytopushinto3.2.X:<br> 489 <br> 490 133154crashwhenusingclientrequeststoregister/deregisterstack<br> 491 <br> 492 (3.2.1:16Sept2006,vexr1658,valgrindr6070).<br> 493 <br> 494 <br> 495 Release3.2.0(7June2006)<br> 496 ~~~~~~~~~~~~~~~~~~~~~~~~~~~<br> 497 3.2.0isafeaturereleasewithmanysignificantimprovementsandthe<br> 498 usualcollectionofbugfixes.ThisreleasesupportsX86/Linux,<br> 499 AMD64/Linux,PPC32/LinuxandPPC64/Linux.<br> 500 <br> 501 Performance,especiallyofMemcheck,isimproved,Addrcheckhasbeen<br> 502 removed,Callgrindhasbeenadded,PPC64/Linuxsupporthasbeenadded,<br> 503 Lackeyhasbeenimproved,andMPIsupporthasbeenadded.Indetail:<br> 504 <br> 505 -Memcheckhasimprovedspeedandreducedmemoryuse.Runtimesare<br> 506 typicallyreducedby15-30%,averagingabout24%forSPECCPU2000.<br> 507 Theothertoolshavesmallerbutnoticeablespeedimprovements.We<br> 508 areinterestedtohearwhatimprovementsusersget.<br> 509 <br> 510 Memcheckuseslessmemoryduetotheintroductionofacompressed<br> 511 representationforshadowmemory.Thespaceoverheadhasbeen<br> 512 reducedbyafactorofuptofour,dependingonprogrambehaviour.<br> 513 Thismeansyoushouldbeabletorunprogramsthatusemorememory<br> 514 thanbeforewithouthittingproblems.<br> 515 <br> 516 -Addrcheckhasbeenremoved.Ithasnotworkedsinceversion2.4.0,<br> 517 andthespeedandmemoryimprovementstoMemcheckmakeitredundant.<br> 518 IfyoulikedusingAddrcheckbecauseitdidn'tgiveundefinedvalue<br> 519 errors,youcanusethenewMemcheckoption--undef-value-errors=no<br> 520 togetthesamebehaviour.<br> 521 <br> 522 -Thenumberofundefined-valueerrorsincorrectlyreportedby<br> 523 Memcheckhasbeenreduced(suchfalsereportswerealreadyvery<br> 524 rare).Inparticular,effortshavebeenmadetoensureMemcheck<br> 525 worksreallywellwithgcc4.0/4.1-generatedcodeonX86/Linuxand<br> 526 AMD64/Linux.<br> 527 <br> 528 -JosefWeidendorfer'spopularCallgrindtoolhasbeenadded.Folding<br> 529 itinwasalogicalstepgivenitspopularityandusefulness,and<br> 530 makesiteasierforustoensureitworks"outofthebox"onall<br> 531 supportedtargets.TheassociatedKDEKCachegrindGUIremainsa<br> 532 separateproject.<br> 533 <br> 534 -AnewreleaseoftheValkyrieGUIforMemcheck,version1.2.0,<br> 535 accompaniesthisrelease.Improvementsoverpreviousreleases<br> 536 includeimprovedrobustness,manyrefinementstotheuserinterface,<br> 537 anduseofastandardautoconf/automakebuildsystem.Youcanget<br> 538 itfromhttp://www.valgrind.org/downloads/guis.html.<br> 539 <br> 540 -ValgrindnowworksonPPC64/Linux.AswiththeAMD64/Linuxport,<br> 541 thissupportsprogramsusingto32Gofaddressspace.On64-bit<br> 542 capablePPC64/Linuxsetups,yougetadualarchitecturebuildso<br> 543 thatboth32-bitand64-bitexecutablescanberun.LinuxonPOWER5<br> 544 issupported,andPOWER4isalsobelievedtowork.Both32-bitand<br> 545 64-bitDWARF2issupported.Thisportisknowntoworkwellwith<br> 546 bothgcc-compiledandxlc/xlf-compiledcode.<br> 547 <br> 548 -FloatingpointaccuracyhasbeenimprovedforPPC32/Linux.<br> 549 Specifically,thefloatingpointroundingmodeisobservedonallFP<br> 550 arithmeticoperations,andmultiply-accumulateinstructionsare<br> 551 preservedbythecompilationpipeline.ThismeansyoushouldgetFP<br> 552 resultswhicharebit-for-bitidenticaltoanativerun.These<br> 553 improvementsarealsopresentinthePPC64/Linuxport.<br> 554 <br> 555 -Lackey,theexampletool,hasbeenimproved:<br> 556 <br> 557 *Ithasanewoption--detailed-counts(offbydefault)which<br> 558 causesittoprintoutacountofloads,storesandALUoperations<br> 559 done,andtheirsizes.<br> 560 <br> 561 *Ithasanewoption--trace-mem(offbydefault)whichcausesit<br> 562 toprintoutatraceofallmemoryaccessesperformedbya<br> 563 program.It'sagoodstartingpointforbuildingValgrindtools<br> 564 thatneedtotrackmemoryaccesses.Readthecommentsatthetop<br> 565 ofthefilelackey/lk_main.cfordetails.<br> 566 <br> 567 *Theoriginalinstrumentation(countingnumbersofinstructions,<br> 568 jumps,etc)isnowcontrolledbyanewoption--basic-counts.It<br> 569 isonbydefault.<br> 570 <br> 571 -MPIsupport:partialsupportfordebuggingdistributedapplications<br> 572 usingtheMPIlibraryspecificationhasbeenadded.Valgrindis<br> 573 awareofthememorystatechangescausedbyasubsetoftheMPI<br> 574 functions,andwillcarefullycheckdatapassedtothe(P)MPI_<br> 575 interface.<br> 576 <br> 577 -Anewflag,--error-exitcode=,hasbeenadded.Thisallowschanging<br> 578 theexitcodeinrunswhereValgrindreportederrors,whichis<br> 579 usefulwhenusingValgrindaspartofanautomatedtestsuite.<br> 580 <br> 581 -Varioussegfaultswhenreadingold-style"stabs"debuginformation<br> 582 havebeenfixed.<br> 583 <br> 584 -Asimpleperformanceevaluationsuitehasbeenadded.See<br> 585 perf/READMEandREADME_DEVELOPERSfordetails.Thereare<br> 586 variousbellsandwhistles.<br> 587 <br> 588 -Newconfigurationflags:<br> 589 --enable-only32bit<br> 590 --enable-only64bit<br> 591 Bydefault,on64bitplatforms(ppc64-linux,amd64-linux)thebuild<br> 592 systemwillattempttobuildaValgrindwhichsupportsboth32-bit<br> 593 and64-bitexecutables.Thismaynotbewhatyouwant,andyoucan<br> 594 overridethedefaultbehaviourusingtheseflags.<br> 595 <br> 596 PleasenotethatHelgrindisstillnotworking.Wehavemadean<br> 597 importantsteptowardsmakingitworkagain,however,withthe<br> 598 additionoffunctionwrapping(seebelow).<br> 599 <br> 600 Otheruser-visiblechanges:<br> 601 <br> 602 -Valgrindnowhastheabilitytointerceptandwraparbitrary<br> 603 functions.ThisisapreliminarysteptowardsmakingHelgrindwork<br> 604 again,andwasrequiredforMPIsupport.<br> 605 <br> 606 -TherearesomechangestoMemcheck'sclientrequests.Someofthem<br> 607 havechangednames:<br> 608 <br> 609 MAKE_NOACCESS-->MAKE_MEM_NOACCESS<br> 610 MAKE_WRITABLE-->MAKE_MEM_UNDEFINED<br> 611 MAKE_READABLE-->MAKE_MEM_DEFINED<br> 612 <br> 613 CHECK_WRITABLE-->CHECK_MEM_IS_ADDRESSABLE<br> 614 CHECK_READABLE-->CHECK_MEM_IS_DEFINED<br> 615 CHECK_DEFINED-->CHECK_VALUE_IS_DEFINED<br> 616 <br> 617 Thereasonforthechangeisthattheoldnamesaresubtly<br> 618 misleading.Theoldnameswillstillwork,buttheyaredeprecated<br> 619 andmayberemovedinafuturerelease.<br> 620 <br> 621 Wealsoaddedanewclientrequest:<br> 622 <br> 623 MAKE_MEM_DEFINED_IF_ADDRESSABLE(a,len)<br> 624 <br> 625 whichislikeMAKE_MEM_DEFINEDbutonlyaffectsabyteifthebyteis<br> 626 alreadyaddressable.<br> 627 <br> 628 -Thewayclientrequestsareencodedintheinstructionstreamhas<br> 629 changed.Unfortunately,thismeans3.2.0willnothonourclient<br> 630 requestscompiledintobinariesusingheadersfromearlierversions<br> 631 ofValgrind.Wewilltrytokeeptheclientrequestencodingsmore<br> 632 stableinfuture.<br> 633 <br> 634 BUGSFIXED:<br> 635 <br> 636 108258NPTLpthreadcleanuphandlersnotcalled<br> 637 117290valgrindissigKILL'donstartup<br> 638 117295==117290<br> 639 118703m_signals.c:1427Assertion'tst->status==VgTs_WaitSys'<br> 640 118466add%reg,%reggeneratesincorrectvalidityforbit0<br> 641 123210New:strlenfromld-linuxonamd64<br> 642 123244DWARF2CFIreader:unhandledCFIinstruction0:18<br> 643 123248syscallsinglibc-2.4:openat,fstatat,symlinkat<br> 644 123258socketcall.recvmsg(msg.msg_iov[i]pointstouninit<br> 645 123535mremap(new_addr)requiresMREMAP_FIXEDin4tharg<br> 646 123836smalltypointhedoc<br> 647 124029ppccompilefailed:`vor'gcc3.3.5<br> 648 124222Segfault:@@don'tknowwhattype':'is<br> 649 124475ppc32:crash(syscall?)timer_settime()<br> 650 124499amd64->IR:0xF0xE0x480x85(femms)<br> 651 124528FATAL:aspacemassertionfailed:segment_is_sane<br> 652 124697vexx86->IR:0xF0x700xC90x0(pshufw)<br> 653 124892vexx86->IR:0xF30xAE(REPxSCASB)<br> 654 126216==124892<br> 655 124808ppc32:sys_sched_getaffinity()nothandled<br> 656 n-i-bzVerylongstabsstringscrashm_debuginfo<br> 657 n-i-bzamd64->IR:0x660xF0xF5(pmaddwd)<br> 658 125492ppc32:supportabunchmoresyscalls<br> 659 121617ppc32/64:coredumpinggivesassertionfailure<br> 660 121814Coregrindreturnerrorasexitcodepatch<br> 661 126517==121814<br> 662 125607amd64->IR:0x660xF0xA30x2(btwetc)<br> 663 125651amd64->IR:0xF80x490xFF0xE3(clc?)<br> 664 126253x86movxiswrong<br> 665 1264513.2SVNdoesn'tworkonppc32CPU'swithoutFPU<br> 666 126217increase#threads<br> 667 126243vexx86->IR:popwmem<br> 668 126583amd64->IR:0x480xF0xA40xC2(shld$1,%rax,%rdx)<br> 669 126668amd64->IR:0x1C0xFF(sbb$0xff,%al)<br> 670 126696supportforCDROMREADRAWioctlandCDROMREADTOCENTRYfix<br> 671 126722assertion:segment_is_saneatm_aspacemgr/aspacemgr.c:1624<br> 672 126938badcheckingforsyscallslinkat,renameat,symlinkat<br> 673 <br> 674 (3.2.0RC1:27May2006,vexr1626,valgrindr5947).<br> 675 (3.2.0:7June2006,vexr1628,valgrindr5957).<br> 676 <br> 677 <br> 678 Release3.1.1(15March2006)<br> 679 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~<br> 680 3.1.1fixesabunchofbugsreportedin3.1.0.Thereisnonew<br> 681 functionality.Thefixedbugsare:<br> 682 <br> 683 (note:"n-i-bz"means"notinbugzilla"--thisbugdoesnothave<br> 684 abugzillaentry).<br> 685 <br> 686 n-i-bzppc32:fsub3,3,3indispatcherdoesn'tclearNaNs<br> 687 n-i-bzppc32:__NR_{set,get}priority<br> 688 117332x86:missinglineinfowithicc8.1<br> 689 117366amd64:0xDD0x7Cfnstsw<br> 690 118274==117366<br> 691 117367amd64:0xD90xF4fxtract<br> 692 117369amd64:__NR_getpriority(140)<br> 693 117419ppc32:lfsuf5,-4(r11)<br> 694 117419ppc32:fsqrt<br> 695 117936morestabsproblems(segfaultswhilereadingdebuginfo)<br> 696 119914==117936<br> 697 120345==117936<br> 698 118239amd64:0xF0xAE0x3F(clflush)<br> 699 118939vm86oldsystemcall<br> 700 n-i-bzmemcheck/tests/mempoolreadsfreedmemory<br> 701 n-i-bzAshleyP'scustom-allocatorassertion<br> 702 n-i-bzDirkstrict-aliasingstuff<br> 703 n-i-bzMorespacefordebuggercmdline(DanThaler)<br> 704 n-i-bzClarifiedleakcheckeroutputmessage<br> 705 n-i-bzAshleyP's--gen-suppressionsoutputfix<br> 706 n-i-bzcg_annotate's--sortoptionbroken<br> 707 n-i-bzOSet64-bitfastcmpbug<br> 708 n-i-bzVG_(getgroups)fix(ShinichiNoda)<br> 709 n-i-bzppc32:allocatefromcallee-savedFP/VMXregs<br> 710 n-i-bzmisalignedpathword-sizebuginmc_main.c<br> 711 119297Incorrecterrormessageforssecode<br> 712 120410x86:prefetchw(0xF0xD0x480x4)<br> 713 120728TIOCSERGETLSR,TIOCGICOUNT,HDIO_GET_DMAioctls<br> 714 120658Buildfixesforgcc2.96<br> 715 120734x86:SupportforchangingEIPinsignalhandler<br> 716 n-i-bzmemcheck/tests/zeropagede-loopingfix<br> 717 n-i-bzx86:fxtractdoesn'tworkreliably<br> 718 121662x86:lockxadd(0xF00xF0xC00x2)<br> 719 121893callocdoesnotalwaysreturnzeroedmemory<br> 720 121901nosupportforsyscalltkill<br> 721 n-i-bzSuppressionupdateforDebianunstable<br> 722 122067amd64:fcmovnu(0xDB0xD9)<br> 723 n-i-bzppc32:brokensignalhandlingincpufeaturedetection<br> 724 n-i-bzppc32:roundingmodeproblems(improved,partialfixonly)<br> 725 119482ppc32:mtfsb1<br> 726 n-i-bzppc32:mtocrf/mfocrf<br> 727 <br> 728 (3.1.1:15March2006,vexr1597,valgrindr5771).<br> 729 <br> 730 <br> 731 Release3.1.0(25November2005)<br> 732 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~<br> 733 3.1.0isafeaturereleasewithanumberofsignificantimprovements:<br> 734 AMD64supportismuchimproved,PPC32supportisgoodenoughtobe<br> 735 usable,andthehandlingofmemorymanagementandaddressspaceis<br> 736 muchmorerobust.Indetail:<br> 737 <br> 738 -AMD64supportismuchimproved.The64-bitvs.32-bitissuesin<br> 739 3.0.Xhavebeenresolved,anditshould"justwork"nowinall<br> 740 cases.OnAMD64machinesboth64-bitand32-bitversionsof<br> 741 Valgrindarebuilt.Therightversionwillbeinvoked<br> 742 automatically,evenwhenusing--trace-childrenandmixingexecution<br> 743 between64-bitand32-bitexecutables.Also,manymoreinstructions<br> 744 aresupported.<br> 745 <br> 746 -PPC32supportisnowgoodenoughtobeusable.Itshouldworkwith<br> 747 alltools,butpleaseletusknowifyouhaveproblems.Three<br> 748 classesofCPUsaresupported:integeronly(noFP,noAltivec),<br> 749 whichcoversembeddedPPCuses,integerandFPbutnoAltivec<br> 750 (G3-ish),andCPUscapableofAltivectoo(G4,G5).<br> 751 <br> 752 -Valgrind'saddressspacemanagementhasbeenoverhauled.Asa<br> 753 result,Valgrindshouldbemuchmorerobustwithprogramsthatuse<br> 754 largeamountsofmemory.Thereshouldbemanyfewer"memory<br> 755 exhausted"messages,anddebugsymbolsshouldbereadcorrectlyon<br> 756 large(eg.300MB+)executables.On32-bitmachinesthefulladdress<br> 757 spaceavailabletouserprograms(usually3GBor4GB)canbefully<br> 758 utilised.On64-bitmachinesupto32GBofspaceisusable;when<br> 759 usingMemcheckthatmeansyourprogramcanuseuptoabout14GB.<br> 760 <br> 761 AsideeffectofthischangeisthatValgrindisnolongerprotected<br> 762 againstwildwritesbytheclient.Thisfeaturewasnicebutrelied<br> 763 onthex86segmentregistersandsowasn'tportable.<br> 764 <br> 765 -Mostusersshouldnotnotice,butaspartoftheaddressspace<br> 766 managerchange,thewayValgrindisbuilthasbeenchanged.Each<br> 767 toolisnowbuiltasastaticallylinkedstand-aloneexecutable,<br> 768 ratherthanasasharedobjectthatisdynamicallylinkedwiththe<br> 769 core.The"valgrind"programinvokestheappropriatetooldepending<br> 770 onthe--tooloption.Thisslightlyincreasestheamountofdisk<br> 771 spaceusedbyValgrind,butitgreatlysimplifiedmanythingsand<br> 772 removedValgrind'sdependenceonglibc.<br> 773 <br> 774 PleasenotethatAddrcheckandHelgrindarestillnotworking.Work<br> 775 isunderwaytoreinstatethem(orequivalents).Weapologiseforthe<br> 776 inconvenience.<br> 777 <br> 778 Otheruser-visiblechanges:<br> 779 <br> 780 -The--weird-hacksoptionhasbeenrenamed--sim-hints.<br> 781 <br> 782 -The--time-stampoptionnolongergivesanabsolutedateandtime.<br> 783 Itnowprintsthetimeelapsedsincetheprogrambegan.<br> 784 <br> 785 -Itshouldbuildwithgcc-2.96.<br> 786 <br> 787 -Valgrindcannowrunitself(seeREADME_DEVELOPERSforhow).<br> 788 Thisisnotmuchusetoyou,butitmeansthedeveloperscannow<br> 789 profileValgrindusingCachegrind.Asaresultacoupleof<br> 790 performancebadcaseshavebeenfixed.<br> 791 <br> 792 -TheXMLoutputformathaschangedslightly.See<br> 793 docs/internals/xml-output.txt.<br> 794 <br> 795 -Coredumpinghasbeenreinstated(itwasdisabledin3.0.0and3.0.1).<br> 796 IfyourprogramcrasheswhilerunningunderValgrind,acorefilewith<br> 797 thename"vgcore.<pid>"willbecreated(ifyoursettingsallowcore<br> 798 filecreation).Notethatthefloatingpointinformationisnotall<br> 799 there.IfValgrinditselfcrashes,theOSwillcreateanormalcore<br> 800 file.<br> 801 <br> 802 Thefollowingaresomeuser-visiblechangesthatoccurredinearlier<br> 803 versionsthatmaynothavebeenannounced,orwereannouncedbutnot<br> 804 widelynoticed.Sowe'rementioningthemnow.<br> 805 <br> 806 -The--toolflagisoptionalonceagain;ifyouomitit,Memcheck<br> 807 isrunbydefault.<br> 808 <br> 809 -The--num-callersflagnowhasadefaultvalueof12.Itwas<br> 810 previously4.<br> 811 <br> 812 -The--xml=yesflagcausesValgrind'soutputtobeproducedinXML<br> 813 format.Thisisdesignedtomakeiteasyforotherprogramsto<br> 814 consumeValgrind'soutput.Theformatisdescribedinthefile<br> 815 docs/internals/xml-format.txt.<br> 816 <br> 817 -The--gen-suppressionsflagsupportsan"all"valuethatcausesevery<br> 818 suppressiontobeprintedwithoutasking.<br> 819 <br> 820 -The--log-fileoptionnolongerputs"pid"inthefilename,eg.the<br> 821 oldname"foo.pid12345"isnow"foo.12345".<br> 822 <br> 823 -Thereareseveralgraphicalfront-endsforValgrind,suchasValkyrie,<br> 824 AlleyoopandValgui.Seehttp://www.valgrind.org/downloads/guis.html<br> 825 foralist.<br> 826 <br> 827 BUGSFIXED:<br> 828 <br> 829 109861amd64hangsatstartup<br> 830 110301ditto<br> 831 111554valgrindcrasheswithCannotallocatememory<br> 832 111809Memchecktooldoesn'tstartjava<br> 833 111901cross-platformrunofcachegrindfailsonopteron<br> 834 113468(vgPlain_mprotect_range):Assertion'r!=-1'failed.<br> 835 92071Readingdebugginginfousestoomuchmemory<br> 836 109744memchecklosestrackofmmapfromdirectld-linux.so.2<br> 837 110183tailofpagewith_end<br> 838 82301FVmemorylayouttoorigid<br> 839 98278Infiniterecursionpossiblewhenallocatingmemory<br> 840 108994Valgrindrunsoutofmemorydueto133xoverhead<br> 841 115643valgrindcannotallocatememory<br> 842 105974vg_hashtable.cstatichashtable<br> 843 109323ppc32:dispatch.SusesAltivecinsn,whichdoesn'tworkonPOWER.<br> 844 109345ptrace_setregsnotyetimplementedforppc<br> 845 110831Wouldliketobeabletorunagainstboth32and64bit<br> 846 binariesonAMD64<br> 847 110829==110831<br> 848 111781compileofvalgrind-3.0.0failsonmylinux(gcc2.Xprob)<br> 849 112670Cachegrind:cg_main.c:486(handleOneStatement...<br> 850 112941vexx86:0xD90xF4(fxtract)<br> 851 110201==112941<br> 852 113015vexamd64->IR:0xE30x140x480x83(jrcxz)<br> 853 113126Crashwithbinariesbuiltwith-gstabs+/-ggdb<br> 854 104065==113126<br> 855 115741==113126<br> 856 113403PartialSSE3supportonx86<br> 857 113541vex:Grp5(x86)(altencodinginc/dec)case1<br> 858 113642valgrindcrasheswhentryingtoreaddebuginformation<br> 859 113810vexx86->IR:660FF6(66+PSADBW==SSEPSADBW)<br> 860 113796read()andwrite()donotworkifbufferisinsharedmemory<br> 861 113851vexx86->IR:(pmaddwd):0x660xF0xF50xC7<br> 862 114366vexamd64cannnothandle__asm__("fninit")<br> 863 114412vexamd64->IR:0xF0xAD0xC20xD3(128-bitshift,shrdq?)<br> 864 114455vexamd64->IR:0xF0xAC0xD00x1(alsoshrdq)<br> 865 115590:amd64->IR:0x670xE30x90xEB(addresssizeoverride)<br> 866 115953valgrindsvnr5042doesnotbuildwithparallelmake(-j3)<br> 867 116057maximuminstructionsize-VG_MAX_INSTR_SZBtoosmall?<br> 868 116483shmatfaileswithinvalidargument<br> 869 102202valgrindcrasheswhenrealloc'inguntiloutofmemory<br> 870 109487==102202<br> 871 110536==102202<br> 872 112687==102202<br> 873 111724vexamd64->IR:0x410xF0xAB(moreBT{,S,R,C}funngames)<br> 874 111748vexamd64->IR:0xDD0xE2(fucom)<br> 875 111785makefailsifCCcontainsspaces<br> 876 111829vexx86->IR:sbbAL,Ib<br> 877 111851vexx86->IR:0x9F0x89(lahf/sahf)<br> 878 112031ioplonAMD64andREADME_MISSING_SYSCALL_OR_IOCTLupdate<br> 879 112152codegenerationforXin_MFenceonx86withSSE0subarch<br> 880 112167==112152<br> 881 112789==112152<br> 882 112199nakedartoolisusedinvexmakefile<br> 883 112501vexx86->IR:movq(0xF0x7F0xC10xF)(mmxMOVQ)<br> 884 113583==112501<br> 885 112538memaligncrash<br> 886 113190Brokenlinksindocs/html/<br> 887 113230Valgrindsys_pipeonx86-64wronglythinksfiledescriptors<br> 888 shouldbe64bit<br> 889 113996vexamd64->IR:fucomp(0xDD0xE9)<br> 890 114196vexx86->IR:out%eax,(%dx)(0xEF0xC90xC30x90)<br> 891 114289Memcheckfailstointerceptmallocwhenusedinanuclibcenvironment<br> 892 114756mbindsyscallsupport<br> 893 114757Valgrinddieswithassertion:Assertion'noLargerThan>0'failed<br> 894 114563stacktrackingmodulenotinformedwhenvalgrindswitchesthreads<br> 895 114564clone()andstacks<br> 896 114565==114564<br> 897 115496glibccrashestryingtousesysinfopage<br> 898 116200enablefsetxattr,fgetxattr,andfremovexattrforamd64<br> 899 <br> 900 (3.1.0RC1:20November2005,vexr1466,valgrindr5224).<br> 901 (3.1.0:26November2005,vexr1471,valgrindr5235).<br> 902 <br> 903 <br> 904 Release3.0.1(29August2005)<br> 905 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~<br> 906 3.0.1fixesabunchofbugsreportedin3.0.0.Thereisnonew<br> 907 functionality.Someofthefixedbugsarecritical,soifyou<br> 908 use/distribute3.0.0,anupgradeto3.0.1isrecommended.Thefixed<br> 909 bugsare:<br> 910 <br> 911 (note:"n-i-bz"means"notinbugzilla"--thisbugdoesnothave<br> 912 abugzillaentry).<br> 913 <br> 914 109313(==110505)x86cmpxchg8b<br> 915 n-i-bzx86:trackbutignorechangesto%eflags.AC(alignmentcheck)<br> 916 110102dis_op2_E_G(amd64)<br> 917 110202x86sys_waitpid(#286)<br> 918 110203clock_getres(,0)<br> 919 110208execvefailwrongretval<br> 920 110274SSE1nowmandatoryforx86<br> 921 110388amd640xDD0xD1<br> 922 110464amd640xDC0x1DFCOMP<br> 923 110478amd640xF0xDPREFETCH<br> 924 n-i-bzXML<unique>printingwrong<br> 925 n-i-bzDirkr4359(amd64syscallsfromtrunk)<br> 926 110591amd64andx86:rdtscnotimplementedproperly<br> 927 n-i-bzNickr4384(stubimplementationsofAddrcheckandHelgrind)<br> 928 110652AMD64valgrindcrashesoncwtdinstruction<br> 929 110653AMD64valgrindcrashesonsarb$0x4,foo(%rip)instruction<br> 930 110656PATH=/usr/bin::/binvalgrindfoobarstats./fooba<br> 931 110657Smalltestfixes<br> 932 110671vexx86->IR:unhandledinstructionbytes:0xF30xC3(repret)<br> 933 n-i-bzNick(Cachegrindshouldnotassertwhenitencountersaclient<br> 934 request.)<br> 935 110685amd64->IR:unhandledinstructionbytes:0xE10x56(loopeJb)<br> 936 110830configuringwith--hostfailstobuild32biton64bittarget<br> 937 110875Assertionwhenexecvefails<br> 938 n-i-bzUpdatestoMemcheckmanual<br> 939 n-i-bzFixedbrokenmalloc_usable_size()<br> 940 110898opteroninstructionsmissing:btqbtsqbtrqbsfq<br> 941 110954x86->IR:unhandledinstructionbytes:0xE20xF6(loopJb)<br> 942 n-i-bzMakesuppressionsworkfor"???"linesinstacktraces.<br> 943 111006boguswarningsfromlinuxthreads<br> 944 111092x86:dis_Grp2(Reg):unhandledcase(x86)<br> 945 111231sctp_getladdrs()andsctp_getpaddrs()returnsuninitialized<br> 946 memory<br> 947 111102(comment#4)Fixed64-bitunclean"sillyarg"message<br> 948 n-i-bzvexx86->IR:unhandledinstructionbytes:0x140x0<br> 949 n-i-bzminorumount/fcntlwrapperfixes<br> 950 111090InternalErrorrunningMassif<br> 951 101204noisywarning<br> 952 111513IllegalopcodeforSSEinstruction(x86movups)<br> 953 111555VEX/Makefile:CCissettogcc<br> 954 n-i-bzFixXMLbugsinFAQ<br> 955 <br> 956 (3.0.1:29August05,<br> 957 vex/branches/VEX_3_0_BRANCHr1367,<br> 958 valgrind/branches/VALGRIND_3_0_BRANCHr4574).<br> 959 <br> 960 <br> 961 <br> 962 Release3.0.0(3August2005)<br> 963 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~<br> 964 3.0.0isamajoroverhaulofValgrind.Themostsignificantuser<br> 965 visiblechangeisthatValgrindnowsupportsarchitecturesotherthan<br> 966 x86.ThenewarchitecturesitsupportsareAMD64andPPC32,andthe<br> 967 infrastructureispresentforotherarchitecturestobeaddedlater.<br> 968 <br> 969 AMD64supportworkswell,buthassomeshortcomings:<br> 970 <br> 971 -Itgenerallywon'tbeassolidasthex86version.Forexample,<br> 972 supportformoreobscureinstructionsandsystemcallsmaybemissing.<br> 973 Wewillfixtheseastheyarise.<br> 974 <br> 975 -Addressspacemaybelimited;seethepointabout<br> 976 position-independentexecutablesbelow.<br> 977 <br> 978 -IfValgrindisbuiltonanAMD64machine,itwillonlyrun64-bit<br> 979 executables.Ifyouwanttorun32-bitx86executablesunderValgrind<br> 980 onanAMD64,youwillneedtobuildValgrindonanx86machineand<br> 981 copyittotheAMD64machine.Anditprobablywon'tworkifyoudo<br> 982 somethingtrickylikeexec'inga32-bitprogramfroma64-bitprogram<br> 983 whileusing--trace-children=yes.Wehopetoimprovethissituation<br> 984 inthefuture.<br> 985 <br> 986 ThePPC32supportisverybasic.Itmaynotworkreliablyevenfor<br> 987 smallprograms,butit'sastart.ManythankstoPaulMackerrasfor<br> 988 hisgreatworkthatenabledthissupport.Weareworkingtomake<br> 989 PPC32usableassoonaspossible.<br> 990 <br> 991 Otheruser-visiblechanges:<br> 992 <br> 993 -Valgrindisnolongerbuiltbydefaultasaposition-independent<br> 994 executable(PIE),asthiscausedtoomanyproblems.<br> 995 <br> 996 WithoutPIEenabled,AMD64programswillonlybeabletoaccess2GBof<br> 997 addressspace.Wewillfixthiseventually,butnotforthemoment.<br> 998 <br> 999 Use--enable-pieatconfigure-timetoturnthison.<br> 1000 <br> 1001 -Supportforprogramsthatusestack-switchinghasbeenimproved.Use<br> 1002 the--max-stackframeflagforsimplecases,andthe<br> 1003 VALGRIND_STACK_REGISTER,VALGRIND_STACK_DEREGISTERand<br> 1004 VALGRIND_STACK_CHANGEclientrequestsfortrickiercases.<br> 1005 <br> 1006 -Supportforprogramsthatuseself-modifyingcodehasbeenimproved,<br> 1007 inparticularprogramsthatputtemporarycodefragmentsonthestack.<br> 1008 ThishelpsforCprogramscompiledwithGCCthatusenestedfunctions,<br> 1009 andalsoAdaprograms.Thisiscontrolledwiththe--smc-check<br> 1010 flag,althoughthedefaultsettingshouldworkinmostcases.<br> 1011 <br> 1012 -OutputcannowbeprintedinXMLformat.Thisshouldmakeiteasier<br> 1013 fortoolssuchasGUIfront-endsandautomatederror-processing<br> 1014 schemestouseValgrindoutputasinput.The--xmlflagcontrolsthis.<br> 1015 Aspartofthischange,ELFdirectoryinformationisreadfromexecutables,<br> 1016 soabsolutesourcefilepathsareavailableifneeded.<br> 1017 <br> 1018 -Programsthatallocatemanyheapblocksmayrunfaster,dueto<br> 1019 improvementsincertaindatastructures.<br> 1020 <br> 1021 -Addrcheckiscurrentlynotworking.Wehopetogetitworkingagain<br> 1022 soon.Helgrindisstillnotworking,aswasthecaseforthe2.4.0<br> 1023 release.<br> 1024 <br> 1025 -TheJITterhasbeencompletelyrewritten,andisnowinaseparate<br> 1026 library,calledVex.Thisenabledalotoftheuser-visiblechanges,<br> 1027 suchasnewarchitecturesupport.ThenewJITunfortunatelytranslates<br> 1028 moreslowlythantheoldone,soprogramsmaytakelongertostart.<br> 1029 Webelievethecodequalityisproducesisaboutthesame,soonce<br> 1030 started,programsshouldrunataboutthesamespeed.Feedbackabout<br> 1031 thiswouldbeuseful.<br> 1032 <br> 1033 Ontheplusside,VexandhenceMemchecktracksvalueflowproperly<br> 1034 throughfloatingpointandvectorregisters,somethingthe2.Xline<br> 1035 couldnotdo.ThatmeansthatMemcheckismuchmorelikelytobe<br> 1036 usablyaccurateonvectorisedcode.<br> 1037 <br> 1038 -Thereisasubtlechangetothewayexitingofthreadedprograms<br> 1039 ishandled.In3.0,Valgrind'sfinaldiagnosticoutput(leakcheck,<br> 1040 etc)isnotprinteduntilthelastthreadexits.Ifthelastthread<br> 1041 toexitwasnottheoriginalthreadwhichstartedtheprogram,any<br> 1042 otherprocesswait()-ingonthisonetoexitmayconcludeithas<br> 1043 finishedbeforethediagnosticoutputisprinted.Thismaynotbe<br> 1044 whatyouexpect.2.Xhadadifferentschemewhichavoidedthis<br> 1045 problem,butcauseddeadlocksunderobscurecircumstances,sowe<br> 1046 aretryingsomethingdifferentfor3.0.<br> 1047 <br> 1048 -Smallchangesincontrollogfilenamingwhichmakeiteasierto<br> 1049 usevalgrindfordebuggingMPI-basedprograms.Therelevant<br> 1050 newflagsare--log-file-exactly=and--log-file-qualifier=.<br> 1051 <br> 1052 -AspartofaddingAMD64support,DWARF2CFI-basedstackunwinding<br> 1053 supportwasadded.InprinciplethismeansValgrindcanproduce<br> 1054 meaningfulbacktracesonx86codecompiledwith-fomit-frame-pointer<br> 1055 providingyoualsocompileyourcodewith-fasynchronous-unwind-tables.<br> 1056 <br> 1057 -Thedocumentationbuildsystemhasbeencompletelyredone.<br> 1058 ThedocumentationmastersarenowinXMLformat,andfromthat<br> 1059 HTML,PostScriptandPDFdocumentationisgenerated.Asaresult<br> 1060 themanualisnowavailableinbookform.Notethatthe<br> 1061 documentationinthesourcetarballsispre-built,soyoudon'tneed<br> 1062 anyXMLprocessingtoolstobuildValgrindfromatarball.<br> 1063 <br> 1064 Changesthatarenotuser-visible:<br> 1065 <br> 1066 -Thecodehasbeenmassivelyoverhauledinordertomodulariseit.<br> 1067 Asaresultwehopeitiseasiertonavigateandunderstand.<br> 1068 <br> 1069 -Lotsofcodehasbeenrewritten.<br> 1070 <br> 1071 BUGSFIXED:<br> 1072 <br> 1073 110046sz==4assertionfailed<br> 1074 109810vexamd64->IR:unhandledinstructionbytes:0xA30x4C0x700xD7<br> 1075 109802Addaplausible_stack_sizecommand-lineparameter?<br> 1076 109783unhandledioctlTIOCMGET(runninghwdetectiontooldiscover)<br> 1077 109780unhandledioctlBLKSSZGET(runningfdisk-l/dev/hda)<br> 1078 109718vexx86->IR:unhandledinstruction:ffreep<br> 1079 109429AMD64unhandledsyscall:127(sigpending)<br> 1080 109401falsepositiveuninitinstrchrfromld-linux.so.2<br> 1081 109385"stabs"parsefailure<br> 1082 109378amd64:unhandledinstructionREPNOP<br> 1083 109376amd64:unhandledinstructionLOOPJb<br> 1084 109363AMD64unhandledinstructionbytes<br> 1085 109362AMD64unhandledsyscall:24(sched_yield)<br> 1086 109358fork()won'tworkwithvalgrind-3.0SVN<br> 1087 109332amd64unhandledinstruction:ADCEv,Gv<br> 1088 109314Bogusmemcheckreportonamd64<br> 1089 108883Crash;vg_memory.c:905(vgPlain_init_shadow_range):<br> 1090 Assertion`vgPlain_defined_init_shadow_page()'failed.<br> 1091 108349mincoresyscallparametercheckedincorrectly<br> 1092 108059buildinfrastructure:smallupdate<br> 1093 107524epoll_ctleventparametercheckedonEPOLL_CTL_DEL<br> 1094 107123Vexdieswithunhandledinstructions:0xD90x310xF0xAE<br> 1095 106841auxmap&openGLproblems<br> 1096 106713SDL_Initcausesvalgrindtoexit<br> 1097 106352setcontextandmakecontextnothandledcorrectly<br> 1098 106293addressesbeyondinitialclientstackallocation<br> 1099 notcheckedinVALGRIND_DO_LEAK_CHECK<br> 1100 106283PIEclientprogramsareloadedataddress0<br> 1101 105831Assertion`vgPlain_defined_init_shadow_page()'failed.<br> 1102 105039longrun-timesprobablyduetomemorymanager<br> 1103 104797valgrindneedstobeawareofBLKGETSIZE64<br> 1104 103594unhandledinstruction:FICOM<br> 1105 103320Valgrind2.4.0failstocompilewithgcc3.4.3and-O0<br> 1106 103168potentiallymemoryleakincoregrind/ume.c<br> 1107 102039badpermissionsformappedregionataddress0xB7C73680<br> 1108 101881weirdassertionproblem<br> 1109 101543Supportfadvise64syscalls<br> 1110 75247x86_64/amd64support(thebiggest"bug"wehaveeverfixed)<br> 1111 <br> 1112 (3.0RC1:27July05,vexr1303,valgrindr4283).<br> 1113 (3.0.0:3August05,vexr1313,valgrindr4316).<br> 1114 <br> 1115 <br> 1116 <br> 1117 Stablerelease2.4.1(1August2005)<br> 1118 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~<br> 1119 (Thenotesforthisreleasehavebeenlost.Sorry!Itwouldhave<br> 1120 containedvariousbugfixesbutnonewfeatures.)<br> 1121 <br> 1122 <br> 1123 <br> 1124 Stablerelease2.4.0(March2005)--CHANGESRELATIVETO2.2.0<br> 1125 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~<br> 1126 2.4.0bringsmanysignificantchangesandbugfixes.Themost<br> 1127 significantuser-visiblechangeisthatwenolongersupplyourown<br> 1128 pthreadimplementation.Instead,Valgrindisfinallycapableof<br> 1129 runningthenativethreadlibrary,eitherLinuxThreadsorNPTL.<br> 1130 <br> 1131 Thismeansourlibpthreadhasgone,alongwiththebugsassociated<br> 1132 withit.Valgrindnowsupportsthekernel'sthreadingsyscalls,and<br> 1133 letsyouuseyourstandardsystemlibpthread.Asaresult:<br> 1134 <br> 1135 *Therearemanyfewersystemdependenciesandstrangelibrary-related<br> 1136 bugs.Thereisasmallperformanceimprovement,andalarge<br> 1137 stabilityimprovement.<br> 1138 <br> 1139 *Onthedownside,ValgrindcannolongerreportmisusesofthePOSIX<br> 1140 PThreadsAPI.ItalsomeansthatHelgrindcurrentlydoesnotwork.<br> 1141 Wehopetofixtheseproblemsinafuturerelease.<br> 1142 <br> 1143 NotethatrunningthenativethreadlibrariesdoesnotmeanValgrind<br> 1144 isabletoprovidegenuineconcurrentexecutiononSMPs.Westill<br> 1145 imposetherestrictionthatonlyonethreadisrunningatanygiven<br> 1146 time.<br> 1147 <br> 1148 Therearemanyothersignificantchangestoo:<br> 1149 <br> 1150 *Memcheckis(onceagain)thedefaulttool.<br> 1151 <br> 1152 *Thedefaultstackbacktraceisnow12callframes,ratherthan4.<br> 1153 <br> 1154 *Suppressionscanhaveupto25callframematches,ratherthan4.<br> 1155 <br> 1156 *MemcheckandAddrcheckuselessmemory.Undersomecircumstances,<br> 1157 theynolongerallocateshadowmemoryiftherearelargeregionsof<br> 1158 memorywiththesameA/Vstates-suchasanmmapedfile.<br> 1159 <br> 1160 *Thememory-leakdetectorinMemcheckandAddrcheckhasbeen<br> 1161 improved.Itnowreportsmoretypesofmemoryleak,including<br> 1162 leakedcycles.Whenreportingleakedmemory,itcandistinguish<br> 1163 betweendirectlyleakedmemory(memorywithnoreferences),and<br> 1164 indirectlyleakedmemory(memoryonlyreferredtobyotherleaked<br> 1165 memory).<br> 1166 <br> 1167 *Memcheck'sconfusionovertheeffectofmprotect()hasbeenfixed:<br> 1168 previouslymprotectcoulderroneouslymarkundefineddataas<br> 1169 defined.<br> 1170 <br> 1171 *Signalhandlingismuchimprovedandshouldbeveryclosetowhat<br> 1172 yougetwhenrunningnatively.<br> 1173 <br> 1174 OneresultofthisisthatValgrindobserveschangestosigcontexts<br> 1175 passedtosignalhandlers.Suchmodificationswilltakeeffectwhen<br> 1176 thesignalreturns.Youwillneedtorunwith--single-step=yesto<br> 1177 makethisuseful.<br> 1178 <br> 1179 *ValgrindisbuiltinPositionIndependentExecutable(PIE)formatif<br> 1180 yourtoolchainsupportsit.Thisallowsittotakeadvantageofall<br> 1181 theavailableaddressspaceonsystemswith4Gbyteuseraddress<br> 1182 spaces.<br> 1183 <br> 1184 *Valgrindcannowrunitself(requiresPIEsupport).<br> 1185 <br> 1186 *Syscallargumentsarenowcheckedforvalidity.Previouslyall<br> 1187 memoryusedbysyscallswaschecked,butnowtheactualvalues<br> 1188 passedarealsochecked.<br> 1189 <br> 1190 *Syscallwrappersaremorerobustagainstbadaddressesbeingpassed<br> 1191 tosyscalls:theywillfailwithEFAULTratherthankillingValgrind<br> 1192 withSIGSEGV.<br> 1193 <br> 1194 *Becauseclone()isdirectlysupported,somenon-pthreadusesofit<br> 1195 willwork.Partialsharing(wheresomeresourcesareshared,and<br> 1196 somearenot)isnotsupported.<br> 1197 <br> 1198 *open()andreadlink()on/proc/self/exearesupported.<br> 1199 <br> 1200 BUGSFIXED:<br> 1201 <br> 1202 88520pipe+fork+dup2killsthemainprogram<br> 1203 88604 ValgrindAbortswhenusing$VALGRIND_OPTSanduserprogra...<br> 1204 88614 valgrind:vg_libpthread.c:2323(read):Assertion`read_pt...<br> 1205 88703 Stabsparserfailstohandle";"<br> 1206 88886 ioctlwrappersforTIOCMBISandTIOCMBIC<br> 1207 89032 valgrindpthread_cond_timedwaitfails<br> 1208 89106 the'impossible'happened<br> 1209 89139 Missingsched_setaffinity&sched_getaffinity<br> 1210 89198 valgrindlackssupportforSIOCSPGRPandSIOCGPGRP<br> 1211 89263 Missingioctltranslationsforscsi-genericandCDplaying<br> 1212 89440 tests/deadlock.clineendings<br> 1213 89481 `impossible'happened:EXECFAILED<br> 1214 89663 valgrind2.2.0crashonRedhat7.2<br> 1215 89792 Reportpthread_mutex_lock()deadlocksinsteadofreturnin...<br> 1216 90111 statvfs64givesinvaliderror/warning<br> 1217 90128 crash+memoryfaultwithstabsgeneratedbygnatforarun...<br> 1218 90778 VALGRIND_CHECK_DEFINED()notasdocumentedinmemcheck.h<br> 1219 90834 cachegrindcrashesatendofprogramwithoutreportingre...<br> 1220 91028 valgrind:vg_memory.c:229(vgPlain_unmap_range):Assertio...<br> 1221 91162 valgrindcrashwhiledebuggingdrivel1.2.1<br> 1222 91199 Unimplementedfunction<br> 1223 91325 Signalroutingdoesnotpropagatethesiginfostructure<br> 1224 91599 Assertion`cv==((void*)0)'<br> 1225 91604 rw_lookupclearsorigandsendstheNULLvaluetorw_new<br> 1226 91821 Smallproblemsbuildingvalgrindwith$top_builddirne$t...<br> 1227 91844 signal11(SIGSEGV)atget_tcb(libpthread.c:86)incorec...<br> 1228 92264 UNIMPLEMENTEDFUNCTION:pthread_condattr_setpshared<br> 1229 92331 per-targetflagsnecessitateAM_PROG_CC_C_O<br> 1230 92420 valgrinddoesn'tcompilewithlinux2.6.8.1/9<br> 1231 92513 Valgrind2.2.0generatessomewarningmessages<br> 1232 92528 vg_symtab2.c:170(addLoc):Assertion`loc->size>0'failed.<br> 1233 93096 unhandledioctl0x4B3Aand0x5601<br> 1234 93117 Toolandcoreinterfaceversionsdonotmatch<br> 1235 93128 Can'trunvalgrind--tool=memcheckbecauseofunimplement...<br> 1236 93174 Valgrindcancrashifpassedbadargstocertainsyscalls<br> 1237 93309 Stackframeinnewthreadisbadlyaligned<br> 1238 93328 Wrongtypesusedwithsys_sigprocmask()<br> 1239 93763 /usr/include/asm/msr.hismissing<br> 1240 93776 valgrind:vg_memory.c:508(vgPlain_find_map_space):Asser...<br> 1241 93810 fcntl()argumentcheckingabittoostrict<br> 1242 94378 Assertion`tst->sigqueue_head!=tst->sigqueue_tail'failed.<br> 1243 94429 valgrind2.2.0segfaultwithmmap64inglibc2.3.3<br> 1244 94645 Impossiblehappened:PINSRWmem<br> 1245 94953 valgrind:the`impossible'happened:SIGSEGV<br> 1246 95667 ValgrinddoesnotworkwithanyKDEapp<br> 1247 96243 Assertion'res==0'failed<br> 1248 96252 stage2loaderofvalgrindfailstoallocatememory<br> 1249 96520 Allprogramscrashingat_dl_start(in/lib/ld-2.3.3.so)...<br> 1250 96660 ioctlCDROMREADTOCENTRYcausesboguswarnings<br> 1251 96747 Afterloopinginasegfaulthandler,theimpossiblehappens<br> 1252 96923 ZerosizedarrayscrashvalgrindtracebackwithSIGFPE<br> 1253 96948 valgrindstopswithassertionfailureregardingmmap2<br> 1254 96966 valgrindfailswhenapplicationopensmorethan16sockets<br> 1255 97398 valgrind:vg_libpthread.c:2667Assertionfailed<br> 1256 97407 valgrind:vg_mylibc.c:1226(vgPlain_safe_fd):Assertion`...<br> 1257 97427 "Warning:invalidfiledescriptor-1insyscallclose()"...<br> 1258 97785 missingbacktrace<br> 1259 97792 buildinobjdirfails-autoconf/makefilecleanup<br> 1260 97880 pthread_mutex_lockfailsfromsharedlibrary(specialker...<br> 1261 97975 programabortswithoutangVGmessages<br> 1262 98129 Failedwhenopenandclosefile230000timesusingstdio<br> 1263 98175 Crasheswhenusingvalgrind-2.2.0withaprogramusingal...<br> 1264 98288 Massifbroken<br> 1265 98303 UNIMPLEMENTEDFUNCTIONpthread_condattr_setpshared<br> 1266 98630 failed--compilationmissingwarnings.pm,failstomakehe...<br> 1267 98756 Cannotvalgrindsignal-heavykdriveXserver<br> 1268 98966 valgrindingtheJVMfailswithasanitycheckassertion<br> 1269 99035 Valgrindcrasheswhileprofiling<br> 1270 99142 loopswithmessage"Signal11beingdroppedfromthread0...<br> 1271 99195 threadedappscrashonthreadstart(usingQThread::start...<br> 1272 99348 Assertion`vgPlain_lseek(core_fd,0,1)==phdrs[i].p_off...<br> 1273 99568 Falsenegativeduetomishandlingofmprotect<br> 1274 99738 valgrindmemcheckcrashesonprogramthatusessigitimer<br> 1275 99923 0-sizedallocationsarereportedasleaks<br> 1276 99949 programsegfaultsafterexit()<br> 1277 100036 "newSuperblock'srequestfor1048576bytesfailed"<br> 1278 100116 valgrind:(pthread_cond_init):Assertion`sizeof(*cond)...<br> 1279 100486 memcheckreports"valgrind:the`impossible'happened:V...<br> 1280 100833 secondcallto"mremap"failswithEINVAL<br> 1281 101156 (vgPlain_find_map_space):Assertion`(addr&((1<<12)-1...<br> 1282 101173 Assertion`recDepth>=0&&recDepth<500'failed<br> 1283 101291 creatingthreadsinaforkedprocessfails<br> 1284 101313 valgrindcausesdifferentbehaviorwhenresizingawindow...<br> 1285 101423 segfaultforc++arrayoffloats<br> 1286 101562 valgrindmassifdiesonSIGINTevenwithsignalhandlerr...<br> 1287 <br> 1288 <br> 1289 Stablerelease2.2.0(31August2004)--CHANGESRELATIVETO2.0.0<br> 1290 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~<br> 1291 2.2.0bringsninemonthsworthofimprovementsandbugfixes.We<br> 1292 believeittobeaworthysuccessorto2.0.0.Thereareliterally<br> 1293 hundredsofbugfixesandminorimprovements.Therearealsosome<br> 1294 fairlymajoruser-visiblechanges:<br> 1295 <br> 1296 *Acompleteoverhaulofhandlingofsystemcallsandsignals,and<br> 1297 theirinteractionwiththreads.Ingeneral,theaccuracyofthe<br> 1298 systemcall,threadandsignalsimulationsismuchimproved:<br> 1299 <br> 1300 -Blockingsystemcallsbehaveexactlyastheydowhenrunning<br> 1301 natively(notonvalgrind).Thatis,ifasyscallblocksonlythe<br> 1302 callingthreadwhenrunningnatively,thanitbehavesthesameon<br> 1303 valgrind.NomoremysterioushangsbecauseVdoesn'tknowthatsome<br> 1304 syscallorother,shouldblockonlythecallingthread.<br> 1305 <br> 1306 -Interruptedsyscallsshouldnowgivemorefaithfulresults.<br> 1307 <br> 1308 -Signalcontextsinsignalhandlersaresupported.<br> 1309 <br> 1310 *ImprovementstoNPTLsupporttotheextentthatVnowworks<br> 1311 properlyonNPTL-onlysetups.<br> 1312 <br> 1313 *GreaterisolationbetweenValgrindandtheprogrambeingrun,so<br> 1314 theprogramislesslikelytoinadvertentlykillValgrindby<br> 1315 doingwildwrites.<br> 1316 <br> 1317 *Massif:anewspaceprofilingtool.Tryit!It'scool,andit'll<br> 1318 tellyouindetailwhereandwhenyourC/C++codeisallocatingheap.<br> 1319 Drawspretty.pspicturesofmemoryuseagainsttime.Apotentially<br> 1320 powerfultoolformakingsenseofyourprogram'sspaceuse.<br> 1321 <br> 1322 *Filedescriptorleakagechecks.Whenenabled,Valgrindwillprintout<br> 1323 alistofopenfiledescriptorsonexit.<br> 1324 <br> 1325 *ImprovedSSE2/SSE3support.<br> 1326 <br> 1327 *Time-stampedoutput;use--time-stamp=yes<br> 1328 <br> 1329 <br> 1330 <br> 1331 Stablerelease2.2.0(31August2004)--CHANGESRELATIVETO2.1.2<br> 1332 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~<br> 1333 2.2.0isnotmuchdifferentfrom2.1.2,releasedsevenweeksago.<br> 1334 Anumberofbugshavebeenfixed,mostnotably#85658,whichgave<br> 1335 problemsforquiteafewpeople.Therehavebeenmanyinternal<br> 1336 cleanups,butthosearenotuservisible.<br> 1337 <br> 1338 Thefollowingbugshavebeenfixedsince2.1.2:<br> 1339 <br> 1340 85658Assertincoregrind/vg_libpthread.c:2326(open64)!=<br> 1341 (void*)0failed<br> 1342 Thisbugwasreportedmultipletimes,andsothefollowing<br> 1343 duplicatesofitarealsofixed:87620,85796,85935,86065,<br> 1344 86919,86988,87917,88156<br> 1345 <br> 1346 80716Semaphoremappingbugcausedbyunmap(sem_destroy)<br> 1347 (Wasfixedpriorto2.1.2)<br> 1348 <br> 1349 86987semctlandshmctlsyscallsfamilyisnothandledproperly<br> 1350 <br> 1351 86696valgrind2.1.2+RHAS2.1+librt<br> 1352 <br> 1353 86730valgrindlocksupatendofrunwithassertionfailure<br> 1354 in__pthread_unwind<br> 1355 <br> 1356 86641memcheckdoesn'tworkwithMesaOpenGL/ATIonSuse9.1<br> 1357 (alsofixes74298,aduplicateofthis)<br> 1358 <br> 1359 85947MMX/SSEunhandledinstruction'sfence'<br> 1360 <br> 1361 84978Wrongerror"Conditionaljumpormovedependson<br> 1362 uninitialisedvalue"resultingfrom"sbbl%reg,%reg"<br> 1363 <br> 1364 86254ssort()failswhensignedintreturntypefromcomparisonis<br> 1365 toosmalltohandleresultofunsignedintsubtraction<br> 1366 <br> 1367 87089memalign(4,xxx)makesvalgrindassert<br> 1368 <br> 1369 86407Addsupportforlow-levelparallelportdriverioctls.<br> 1370 <br> 1371 70587AddtimestampstoValgrindoutput?(wishlist)<br> 1372 <br> 1373 84937vg_libpthread.c:2505(se_remap):Assertion`res==0'<br> 1374 (fixedpriorto2.1.2)<br> 1375 <br> 1376 86317cannotloadlibSDL-1.2.so.0usingvalgrind<br> 1377 <br> 1378 86989memcpyfrommac_replace_strmem.ccomplainsabout<br> 1379 uninitializedpointerspassedwhenlengthtocopyiszero<br> 1380 <br> 1381 85811gnupascalsymbolcausessegmentationfault;okin2.0.0<br> 1382 <br> 1383 79138writingtosbrk()'dmemorycausessegfault<br> 1384 <br> 1385 77369scheddeadlockwhilesignalreceivedduringpthread_join<br> 1386 andthejoinedthreadexited<br> 1387 <br> 1388 88115InsignalhandlerforSIGFPE,siginfo->si_addriswrong<br> 1389 underValgrind<br> 1390 <br> 1391 78765MassifcrashesonappexitifFPexceptionsareenabled<br> 1392 <br> 1393 Additionallytherearethefollowingchanges,whicharenot<br> 1394 connectedtoanybugreportnumbers,AFAICS:<br> 1395 <br> 1396 *Fixscarybugcausingmis-identificationofSSEstoresvs<br> 1397 loadsandsocausingmemchecktosometimesgivenonsenseresults<br> 1398 onSSEcode.<br> 1399 <br> 1400 *AddsupportforthePOSIXmessagequeuesystemcalls.<br> 1401 <br> 1402 *Fixtoallow32-bitValgrindtorunonAMD64boxes.Note:thisdoes<br> 1403 NOTallowValgrindtoworkwith64-bitexecutables-onlywith32-bit<br> 1404 executablesonanAMD64box.<br> 1405 <br> 1406 *Atconfiguretime,onlycheckwhetherlinux/mii.hcanbeprocessed<br> 1407 sothatwedon'tgenerateuglywarningsbytryingtocompileit.<br> 1408 <br> 1409 *AddsupportforPOSIXclocksandtimers.<br> 1410 <br> 1411 <br> 1412 <br> 1413 Developer(cvshead)release2.1.2(18July2004)<br> 1414 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~<br> 1415 2.1.2containsfourmonthsworthofbugfixesandrefinements.<br> 1416 Althoughofficiallyadeveloperrelease,webelieveittobestable<br> 1417 enoughforwidespreadday-to-dayuse.2.1.2isprettygood,sotryit<br> 1418 first,althoughthereisachanceitwon'twork.Ifsothentry2.0.0<br> 1419 andtelluswhatwentwrong."2.1.2fixesalotofproblemspresent<br> 1420 in2.0.0andisgenerallyamuchbetterproduct.<br> 1421 <br> 1422 Relativeto2.1.1,alargenumberofminorproblemswith2.1.1have<br> 1423 beenfixed,andsoifyouuse2.1.1youshouldtry2.1.2.Usersof<br> 1424 thelaststablerelease,2.0.0,mightalsowanttotrythisrelease.<br> 1425 <br> 1426 Thefollowingbugs,andprobablymanymore,havebeenfixed.These<br> 1427 arelistedathttp://bugs.kde.org.Reportingabugforvalgrindin<br> 1428 thehttp://bugs.kde.orgismuchmorelikelytogetyouafixthan<br> 1429 mailingdevelopersdirectly,sopleasecontinuetokeepsendingbugs<br> 1430 there.<br> 1431 <br> 1432 76869CrasheswhenrunninganytoolunderFedoraCore2test1<br> 1433 Thisfixestheproblemwithreturningfromasignalhandler<br> 1434 whenVDSOsareturnedoffinFC2.<br> 1435 <br> 1436 69508java1.4.2clientfailswitherroneous"stacksizetoosmall".<br> 1437 Thisfixmakesmoreofthepthreadstackattributerelated<br> 1438 functionsworkproperly.Javastilldoesn'tworkthough.<br> 1439 <br> 1440 71906mallocalignmentshouldbe8,not4<br> 1441 Allmemoryreturnedbymalloc/newetcisnowatleast<br> 1442 8-bytealigned.<br> 1443 <br> 1444 81970vg_alloc_ThreadState:nofreeslotsavailable<br> 1445 (closedbecausetheworkaroundissimple:increase<br> 1446 VG_N_THREADS,rebuildandtryagain.)<br> 1447 <br> 1448 78514Conditionaljumpormovedependsonuninitializedvalue(s)<br> 1449 (aslightmishandingofFPcodeinmemcheck)<br> 1450 <br> 1451 77952pThreadSupport(crash)(duetoinitialisation-orderingprobs)<br> 1452 (also85118)<br> 1453 <br> 1454 80942Addrcheckwasn'tdoingoverlapcheckingasitshould.<br> 1455 78048returnNULLonmalloc/newetcfailure,insteadofasserting<br> 1456 73655operatornew()overrideinuser.sofilesoftendoesn'tgetpickedup<br> 1457 83060ValgrinddoesnothandlenativekernelAIO<br> 1458 69872Createpropercoredumpsafterfatalsignals<br> 1459 82026failurewithnewglibcversions:__libc_*functionsarenotexported<br> 1460 70344UNIMPLEMENTEDFUNCTION:tcdrain<br> 1461 81297Cancellationofpthread_cond_waitdoesnotrequiremutex<br> 1462 82872Usingdebuginfofromadditionalpackages(wishlist)<br> 1463 83025SupportforioctlsFIGETBSZandFIBMAP<br> 1464 83340SupportforioctlHDIO_GET_IDENTITY<br> 1465 79714Supportforthesemtimedopsystemcall.<br> 1466 77022SupportforioctlsFBIOGET_VSCREENINFOandFBIOGET_FSCREENINFO<br> 1467 82098hp2psansification(wishlist)<br> 1468 83573ValgrindSIGSEGVonexecve<br> 1469 82999showwhichcmdlineoptionwaserroneous(wishlist)<br> 1470 83040makevalgrindVPATHanddistcheck-clean(wishlist)<br> 1471 83998Assertion`newfd>vgPlain_max_fd'failed(seebelow)<br> 1472 82722Uncheckedmmapinas_padleadstomysteriousfailureslater<br> 1473 78958memchecksegfaultswhilerunningMozilla<br> 1474 85416Argumentswithcolon(e.g.--logsocket)ignored<br> 1475 <br> 1476 <br> 1477 Additionallytherearethefollowingchanges,whicharenot<br> 1478 connectedtoanybugreportnumbers,AFAICS:<br> 1479 <br> 1480 *Rearrangedaddressspacelayoutrelativeto2.1.1,sothat<br> 1481 Valgrind/toolswillrunoutofmemorylaterthancurrentlyinmany<br> 1482 circumstances.Thisisgoodnewsesp.forCalltree.Itshould<br> 1483 bepossibleforclientprogramstoallocateover800MBof<br> 1484 memorywhenusingmemchecknow.<br> 1485 <br> 1486 *Improvedcheckingwhenlayingoutmemory.Shouldhopefullyavoid<br> 1487 therandomsegmentationfaultsthat2.1.1sometimescaused.<br> 1488 <br> 1489 *SupportforFedoraCore2andSuSE9.1.ImprovementstoNPTL<br> 1490 supporttotheextentthatVnowworksproperlyonNPTL-onlysetups.<br> 1491 <br> 1492 *Renamedthefollowingoptions:<br> 1493 --logfile-fd-->--log-fd<br> 1494 --logfile-->--log-file<br> 1495 --logsocket-->--log-socket<br> 1496 tobeconsistentwitheachotherandotheroptions(esp.--input-fd).<br> 1497 <br> 1498 *AddsupportforSIOCGMIIPHY,SIOCGMIIREGandSIOCSMIIREGioctlsand<br> 1499 improvethecheckingofotherinterfacerelatedioctls.<br> 1500 <br> 1501 *Fixbuildingwithgcc-3.4.1.<br> 1502 <br> 1503 *Removelimitonnumberofsemaphoressupported.<br> 1504 <br> 1505 *Addsupportforsyscalls:set_tid_address(258),acct(51).<br> 1506 <br> 1507 *Supportinstruction"repnemovs"--notofficialbutseemstooccur.<br> 1508 <br> 1509 *Implementanemulatedsoftlimitforfiledescriptorsinadditionto<br> 1510 thecurrentreservedarea,whicheffectivelyactsasahardlimit.The<br> 1511 setrlimitsystemcallnowsimplyupdatestheemulatedlimitsasbest<br> 1512 aspossible-thehardlimitisnotallowedtomoveatallandjust<br> 1513 returnsEPERMifyoutryandchangeit.Thisshouldstopreductions<br> 1514 inthesoftlimitcausingassertionswhenvalgrindtriestoallocate<br> 1515 descriptorsfromthereservedarea.<br> 1516 (Thisactuallycamefrombug#83998).<br> 1517 <br> 1518 *MajoroverhaulofCachegrindimplementation.Firstuser-visiblechange<br> 1519 isthatcachegrind.outfilesarenowtypically90%smallerthanthey<br> 1520 usedtobe;codeannotationtimesarecorrespondinglymuchsmaller.<br> 1521 Seconduser-visiblechangeisthathit/misscountsforcodethatis<br> 1522 unloadedatrun-timeisnolongerdumpedintoasingle"discard"pile,<br> 1523 butaccuratelypreserved.<br> 1524 <br> 1525 *Clientrequestsfortellingvalgrindaboutmemorypools.<br> 1526 <br> 1527 <br> 1528 <br> 1529 Developer(cvshead)release2.1.1(12March2004)<br> 1530 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~<br> 1531 2.1.1containssomeinternalstructuralchangesneededforV's<br> 1532 long-termfuture.Thesedon'taffectend-users.Mostnotable<br> 1533 user-visiblechangesare:<br> 1534 <br> 1535 *GreaterisolationbetweenValgrindandtheprogrambeingrun,so<br> 1536 theprogramislesslikelytoinadvertentlykillValgrindby<br> 1537 doingwildwrites.<br> 1538 <br> 1539 *Massif:anewspaceprofilingtool.Tryit!It'scool,andit'll<br> 1540 tellyouindetailwhereandwhenyourC/C++codeisallocatingheap.<br> 1541 Drawspretty.pspicturesofmemoryuseagainsttime.Apotentially<br> 1542 powerfultoolformakingsenseofyourprogram'sspaceuse.<br> 1543 <br> 1544 *Fixesformanybugs,includingsupportformoreSSE2/SSE3instructions,<br> 1545 varioussignal/syscallthings,andvariousproblemswithdebug<br> 1546 inforeaders.<br> 1547 <br> 1548 *Supportforglibc-2.3.3basedsystems.<br> 1549 <br> 1550 Wearenowdoingautomaticovernightbuild-and-testrunsonavariety<br> 1551 ofdistros.Asaresult,webelieve2.1.1buildsandrunson:<br> 1552 RedHat7.2,7.3,8.0,9,FedoraCore1,SuSE8.2,SuSE9.<br> 1553 <br> 1554 <br> 1555 Thefollowingbugs,andprobablymanymore,havebeenfixed.These<br> 1556 arelistedathttp://bugs.kde.org.Reportingabugforvalgrindin<br> 1557 thehttp://bugs.kde.orgismuchmorelikelytogetyouafixthan<br> 1558 mailingdevelopersdirectly,sopleasecontinuetokeepsendingbugs<br> 1559 there.<br> 1560 <br> 1561 69616glibc2.3.2w/NPTLismassivelydifferentthanwhatvalgrindexpects<br> 1562 69856Idon'tknowhowtoinstrumentMMXishstuff(Helgrind)<br> 1563 73892valgrindsegfaultsstartingwithObjective-Cdebuginfo<br> 1564 (fixforS-typestabs)<br> 1565 73145Valgrindcomplainstoomuchaboutclose(<reservedfd>)<br> 1566 73902ShadowmemoryallocationseemstofailonRedHat8.0<br> 1567 68633VG_N_SEMAPHOREStoolow(Vitselfwasleakingsemaphores)<br> 1568 75099impossibletotracemultiprocessprograms<br> 1569 76839the`impossible'happened:disInstr:INTbutnot0x80!<br> 1570 76762vg_to_ucode.c:3748(dis_push_segreg):Assertion`sz==4'failed.<br> 1571 76747cannotincludevalgrind.hinc++program<br> 1572 76223parsingB(3,10)gaveNULLtype=>impossiblehappens<br> 1573 75604shmdthandlingproblem<br> 1574 76416Problemswithgcc3.4snap20040225<br> 1575 75614using-gstabswhenbuildingyourprogramsthe`impossible'happened<br> 1576 75787PatchforsomeCDROMioctlsCDORM_GET_MCN,CDROM_SEND_PACKET,<br> 1577 75294gcc3.4snapshot'slibstdc++haveunsupportedinstructions.<br> 1578 (REPRET)<br> 1579 73326vg_symtab2.c:272(addScopeRange):Assertion`range->size>0'failed.<br> 1580 72596notrecognizing__libc_malloc<br> 1581 69489Wouldliketoattachdddtorunningprogram<br> 1582 72781Cachegrindcrasheswithkdeprograms<br> 1583 73055IllegaloperandatDXTCV11CompressBlockSSE2(moreSSEopcodes)<br> 1584 73026Descriptorleakcheckreportsportnumberswrongly<br> 1585 71705README_MISSING_SYSCALL_OR_IOCTLoutofdate<br> 1586 72643ImprovesupportforSSE/SSE2instructions<br> 1587 72484valgrindleavesit'sownsignalmaskinplacewhenexecing<br> 1588 72650SignalHandlingalwaysseemstorestartsystemcalls<br> 1589 72006ThemmapsystemcallturnsallerrorsinENOMEM<br> 1590 71781gdbattachisprettyuseless<br> 1591 71180unhandledinstructionbytes:0xF0xAE0x850xE8<br> 1592 69886writestozeropagecausevalgrindtoassertonexit<br> 1593 71791crashwhenvalgrindinggimp1.3(stabsreaderproblem)<br> 1594 69783unhandledsyscall:218<br> 1595 69782unhandledinstructionbytes:0x660xF0x2B0x80<br> 1596 70385valgrindfailsifthesoftfiledescriptorlimitisless<br> 1597 thanabout828<br> 1598 69529"rep;nop"shoulddoayield<br> 1599 70827programswithlotsofsharedlibrariesreport"mmapfailed"<br> 1600 forsomeofthemwhenreadingsymbols<br> 1601 71028glibc'sstrnlenisoptimisedenoughtoconfusevalgrind<br> 1602 <br> 1603 <br> 1604 <br> 1605 <br> 1606 Unstable(cvshead)release2.1.0(15December2003)<br> 1607 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~<br> 1608 Forwhateverit'sworth,2.1.0actuallyseemsprettydarnstabletome<br> 1609 (Julian).Itlookseminentlyusable,andgiventhatitfixessome<br> 1610 significantbugs,maywellbeworthusingonaday-to-daybasis.<br> 1611 2.1.0isknowntobuildandpassregressiontestson:SuSE9,SuSE<br> 1612 8.2,RedHat8.<br> 1613 <br> 1614 2.1.0mostnotablyincludesJeremyFitzhardinge'scompleteoverhaulof<br> 1615 handlingofsystemcallsandsignals,andtheirinteractionwith<br> 1616 threads.Ingeneral,theaccuracyofthesystemcall,threadand<br> 1617 signalsimulationsismuchimproved.Specifically:<br> 1618 <br> 1619 -Blockingsystemcallsbehaveexactlyastheydowhenrunning<br> 1620 natively(notonvalgrind).Thatis,ifasyscallblocksonlythe<br> 1621 callingthreadwhenrunningnatively,thanitbehavesthesameon<br> 1622 valgrind.NomoremysterioushangsbecauseVdoesn'tknowthatsome<br> 1623 syscallorother,shouldblockonlythecallingthread.<br> 1624 <br> 1625 -Interruptedsyscallsshouldnowgivemorefaithfulresults.<br> 1626 <br> 1627 -Finally,signalcontextsinsignalhandlersaresupported.Asa<br> 1628 result,konqueroronSuSE9nolongersegfaultswhennotifiedof<br> 1629 filechangesindirectoriesitiswatching.<br> 1630 <br> 1631 Otherchanges:<br> 1632 <br> 1633 -RobertWalsh'sfiledescriptorleakagechecks.Whenenabled,<br> 1634 Valgrindwillprintoutalistofopenfiledescriptorson<br> 1635 exit.Alongwitheachfiledescriptor,Valgrindprintsoutastack<br> 1636 backtraceofwherethefilewasopenedandanydetailsrelatingtothe<br> 1637 filedescriptorsuchasthefilenameorsocketdetails.<br> 1638 Touse,give:--track-fds=yes<br> 1639 <br> 1640 -ImplementedafewmoreSSE/SSE2instructions.<br> 1641 <br> 1642 -Lesscrudonthestackwhenyoudo'where'insideaGDBattach.<br> 1643 <br> 1644 -Fixedthefollowingbugs:<br> 1645 68360:Valgrinddoesnotcompileagainst2.6.0-testXkernels<br> 1646 68525:CVSheaddoesn'tcompileonC90compilers<br> 1647 68566:pkgconfigsupport(wishlist)<br> 1648 68588:Assertion`sz==4'failedinvg_to_ucode.c(disInstr)<br> 1649 69140:valgrindnotabletoexplicitlyspecifyapathtoabinary.<br> 1650 69432:helgrindassertsencounteringaMutexErrwhenthereare<br> 1651 EraserErrsuppressions<br> 1652 <br> 1653 -Increasethemaxsizeofthetranslationcachefrom200kaveragebbs<br> 1654 to300kaveragebbs.ProgramsonthesizeofOOo(680m17)are<br> 1655 thrashingthecacheatthesmallersize,creatinglargenumbersof<br> 1656 retranslationsandwastingsignificanttimeasaresult.<br> 1657 <br> 1658 <br> 1659 <br> 1660 Stablerelease2.0.0(5Nov2003)<br> 1661 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~<br> 1662 <br> 1663 2.0.0improvesSSE/SSE2support,fixessomeminorbugs,and<br> 1664 improvessupportforSuSE9andtheRedHat"Severn"beta.<br> 1665 <br> 1666 -FurtherimprovementstoSSE/SSE2support.Theentiretestsuiteof<br> 1667 theGNUScientificLibrary(gsl-1.4)compiledwithIntelIcc7.1<br> 1668 20030307Z'-g-O-xW'nowworks.Ithinkthisgivesprettygood<br> 1669 coverageofSSE/SSE2floatingpointinstructions,oratleastthe<br> 1670 subsetemittedbyIcc.<br> 1671 <br> 1672 -Alsoaddedsupportforthefollowinginstructions:<br> 1673 MOVNTDQUCOMISDUNPCKLPSUNPCKHPSSQRTSS<br> 1674 PUSH/POP%{FS,GS},andPUSH%CS(Nb:thereisnoPOP%CS).<br> 1675 <br> 1676 -CFIsupportforGDBversion6.NeededtoenablenewerGDBs<br> 1677 tofigureoutwheretheyarewhenusing--gdb-attach=yes.<br> 1678 <br> 1679 -Fixthis:<br> 1680 mc_translate.c:1091(memcheck_instrument):Assertion<br> 1681 `u_in->size==4||u_in->size==16'failed.<br> 1682 <br> 1683 -Returnanerrorratherthanpanicingwhengivenabadsocketcall.<br> 1684 <br> 1685 -Fixcheckingofsyscallrt_sigtimedwait().<br> 1686 <br> 1687 -Implement__NR_clock_gettime(syscall265).NeededonRedHatSevern.<br> 1688 <br> 1689 -Fixedbuginoverlapcheckinstrncpy()--itwasassumingthesrcwas'n'<br> 1690 byteslong,whenitcouldbeshorter,whichcouldcausefalse<br> 1691 positives.<br> 1692 <br> 1693 -Supportuseofselect()forverylargenumbersoffiledescriptors.<br> 1694 <br> 1695 -Don'tfailsilentlyiftheexecutableisstaticallylinked,oris<br> 1696 setuid/setgid.Printanerrormessageinstead.<br> 1697 <br> 1698 -SupportforoldDWARF-1formatlinenumberinfo.<br> 1699 <br> 1700 <br> 1701 <br> 1702 Snapshot20031012(12October2003)<br> 1703 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~<br> 1704 <br> 1705 Threemonthsworthofbugfixes,roughly.Mostsignificantsingle<br> 1706 changeisimprovedSSE/SSE2support,mostlythankstoDirkMueller.<br> 1707 <br> 1708 20031012buildsonRedHatFedora("Severn")butdoesn'treallywork<br> 1709 (curiously,mozillarunsOK,butamodest"ls-l"bombs).Ihopeto<br> 1710 getaworkingversionoutsoon.Itmayormaynotworkokonthe<br> 1711 forthcomingSuSE9;Ihearpositivenoisesaboutitbuthaven'tbeen<br> 1712 abletoverifythismyself(notuntilIgetholdofacopyof9).<br> 1713 <br> 1714 Adetailedlistofchanges,innoparticularorder:<br> 1715 <br> 1716 -Describe--gen-suppressionsintheFAQ.<br> 1717 <br> 1718 -Syscall__NR_waitpidsupported.<br> 1719 <br> 1720 -MinorMMXbugfix.<br> 1721 <br> 1722 --vprintsprogram'sargv[]atstartup.<br> 1723 <br> 1724 -Moreglibc-2.3suppressions.<br> 1725 <br> 1726 -Suppressionsforstackunderrunbug(s)inthec++supportlibrary<br> 1727 distributedwithIntelIcc7.0.<br> 1728 <br> 1729 -Fixproblemsreading/proc/self/maps.<br> 1730 <br> 1731 -Fixacoupleofmessagesthatshouldhavebeensuppressedby-q,<br> 1732 butweren't.<br> 1733 <br> 1734 -MakeAddrcheckunderstand"Overlap"suppressions.<br> 1735 <br> 1736 -Atstartup,checkifprogramisstaticallylinkedandbailoutifso.<br> 1737 <br> 1738 -Cachegrind:Auto-detectIntelPentium-M,alsoVIANehemiah<br> 1739 <br> 1740 -Memcheck/addrcheck:minorspeedoptimisations<br> 1741 <br> 1742 -Handlesyscall__NR_brkmorecorrectlythanbefore.<br> 1743 <br> 1744 -Fixedincorrectallocate/freemismatcherrorswhenusing<br> 1745 operatornew(unsigned,std::nothrow_tconst&)<br> 1746 operatornew[](unsigned,std::nothrow_tconst&)<br> 1747 <br> 1748 -SupportPOSIXpthreadspinlocks.<br> 1749 <br> 1750 -Fixupsforcleancompilationwithgcc-3.3.1.<br> 1751 <br> 1752 -Implementedmoreopcodes:<br> 1753 -push%es<br> 1754 -push%ds<br> 1755 -pop%es<br> 1756 -pop%ds<br> 1757 -movntq<br> 1758 -sfence<br> 1759 -pshufw<br> 1760 -pavgb<br> 1761 -ucomiss<br> 1762 -enter<br> 1763 -movimm32,%esp<br> 1764 -all"in"and"out"opcodes<br> 1765 -inc/dec%esp<br> 1766 -AwholebunchofSSE/SSE2instructions<br> 1767 <br> 1768 -Memcheck:don'tbombonSSE/SSE2code.<br> 1769 <br> 1770 <br> 1771 Snapshot20030725(25July2003)<br> 1772 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~<br> 1773 <br> 1774 Fixessomeminorproblemsin20030716.<br> 1775 <br> 1776 -Fixbugsinoverlapcheckingforstrcpy/memcpyetc.<br> 1777 <br> 1778 -DooverlapcheckingwithAddrcheckaswellasMemcheck.<br> 1779 <br> 1780 -Fixthis:<br> 1781 Memcheck:the`impossible'happened:<br> 1782 get_error_name:unexpectedtype<br> 1783 <br> 1784 -Installheadersneededtocompilenewskins.<br> 1785 <br> 1786 -RemoveleadingspacesandcolonintheLD_LIBRARY_PATH/LD_PRELOAD<br> 1787 passedtonon-tracedchildren.<br> 1788 <br> 1789 -Fixfiledescriptorleakinvalgrind-listener.<br> 1790 <br> 1791 -Fixlongstandingbuginwhichtheallocationpointofa<br> 1792 blockresizedbyreallocwasnotcorrectlyset.Thismay<br> 1793 havecausedconfusingerrormessages.<br> 1794 <br> 1795 <br> 1796 Snapshot20030716(16July2003)<br> 1797 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~<br> 1798 <br> 1799 20030716isasnapshotofourcurrentCVShead(development)branch.<br> 1800 Thisisthebranchwhichwillbecomevalgrind-2.0.Itcontains<br> 1801 significantenhancementsoverthe1.9.Xbranch.<br> 1802 <br> 1803 DespitethisbeingasnapshotoftheCVShead,itisbelievedtobe<br> 1804 quitestable--atleastasstableas1.9.6or1.0.4,ifnotmoreso<br> 1805 --andthereforesuitableforwidespreaduse.Pleaseletusknowasap<br> 1806 ifitcausesproblemsforyou.<br> 1807 <br> 1808 Tworeasonsforreleasingasnapshotnoware:<br> 1809 <br> 1810 -It'sbeenawhilesince1.9.6,andthissnapshotfixes<br> 1811 variousproblemsthat1.9.6haswiththreadedprograms<br> 1812 onglibc-2.3.Xbasedsystems.<br> 1813 <br> 1814 -Soastomakeavailableimprovementsinthe2.0line.<br> 1815 <br> 1816 Majorchangesin20030716,ascomparedto1.9.6:<br> 1817 <br> 1818 -Morefixestothreadingsupportonglibc-2.3.1and2.3.2-based<br> 1819 systems(SuSE8.2,RedHat9).Ifyouhavehadproblems<br> 1820 withinconsistent/illogicalbehaviouroferrno,h_errnoortheDNS<br> 1821 resolverfunctionsinthreadedprograms,20030716shouldimprove<br> 1822 matters.ThissnapshotseemsstableenoughtorunOpenOffice.org<br> 1823 1.1rconRedHat7.3,SuSE8.2andRedHat9,andthat'sabig<br> 1824 threadedappifeverIsawone.<br> 1825 <br> 1826 -Automaticgenerationofsuppressionrecords;younolonger<br> 1827 needtowritethembyhand.Use--gen-suppressions=yes.<br> 1828 <br> 1829 -strcpy/memcpy/etcchecktheirargumentsforoverlaps,when<br> 1830 runningwiththeMemcheckorAddrcheckskins.<br> 1831 <br> 1832 -malloc_usable_size()isnowsupported.<br> 1833 <br> 1834 -newclientrequests:<br> 1835 -VALGRIND_COUNT_ERRORS,VALGRIND_COUNT_LEAKS:<br> 1836 usefulwithregressiontesting<br> 1837 -VALGRIND_NON_SIMD_CALL[0123]:forrunningarbitraryfunctions<br> 1838 onrealCPU(usewithcaution!)<br> 1839 <br> 1840 -TheGDBattachmechanismismoreflexible.AllowtheGDBto<br> 1841 beruntobespecifiedby--gdb-path=/path/to/gdb,andspecify<br> 1842 whichfiledescriptorVwillreaditsinputfromwith<br> 1843 --input-fd=<number>.<br> 1844 <br> 1845 -Cachegrindgivesmoreaccurateresults(wasn'ttrackinginstructionsin<br> 1846 malloc()andfriendspreviously,isnow).<br> 1847 <br> 1848 -CompletesupportfortheMMXinstructionset.<br> 1849 <br> 1850 -PartialsupportfortheSSEandSSE2instructionsets.Workforthis<br> 1851 isongoing.AbouthalftheSSE/SSE2instructionsaredone,so<br> 1852 someSSEbasedprogramsmaywork.Currentlyyouneedtospecify<br> 1853 --skin=addrcheck.Basicallynotsuitableforrealuseyet.<br> 1854 <br> 1855 -Significantspeedups(10%-20%)forstandardmemorychecking.<br> 1856 <br> 1857 -Fixassertionfailureinpthread_once().<br> 1858 <br> 1859 -Fixthis:<br> 1860 valgrind:vg_intercept.c:598(vgAllRoadsLeadToRome_select):<br> 1861 Assertion`ms_end>=ms_now'failed.<br> 1862 <br> 1863 -Implementpthread_mutexattr_setpshared.<br> 1864 <br> 1865 -UnderstandPentium4branchhints.Alsoimplementedacouplemore<br> 1866 obscurex86instructions.<br> 1867 <br> 1868 -Lotsofotherminorbugfixes.<br> 1869 <br> 1870 -Wehaveadecentregressiontestsystem,forthefirsttime.<br> 1871 Thisdoesn'thelpyoudirectly,butitdoesmakeitaloteasier<br> 1872 forustotrackthequalityofthesystem,especiallyacross<br> 1873 multiplelinuxdistributions.<br> 1874 <br> 1875 Youcanruntheregressiontestswith'makeregtest'after'make<br> 1876 install'completes.OnSuSE8.2andRedHat9Igetthis:<br> 1877 <br> 1878 ==84tests,0stderrfailures,0stdoutfailures==<br> 1879 <br> 1880 OnRedHat8,Igetthis:<br> 1881 <br> 1882 ==84tests,2stderrfailures,1stdoutfailure==<br> 1883 corecheck/tests/res_search(stdout)<br> 1884 memcheck/tests/sigaltstack(stderr)<br> 1885 <br> 1886 sigaltstackisprobablyharmless.res_searchdoesn'twork<br> 1887 onRH8evenrunningnatively,soI'mnottooworried.<br> 1888 <br> 1889 OnRedHat7.3,aglibc-2.2.5system,Igettheseharmlessfailures:<br> 1890 <br> 1891 ==84tests,2stderrfailures,1stdoutfailure==<br> 1892 corecheck/tests/pth_atfork1(stdout)<br> 1893 corecheck/tests/pth_atfork1(stderr)<br> 1894 memcheck/tests/sigaltstack(stderr)<br> 1895 <br> 1896 YouneedtorunonaPIIsystem,atleast,sincesometests<br> 1897 containP6-specificinstructions,andthetestmachineneeds<br> 1898 accesstotheinternetsothatcorecheck/tests/res_search<br> 1899 (atestthattheDNSresolverworks)canfunction.<br> 1900 <br> 1901 Asever,thanksforthevastamountoffeedback:)andbugreports:(<br> 1902 Wemaynotanswerallmessages,butwedoatleastlookatallof<br> 1903 them,andtendtofixthemostfrequentlyreportedbugs.<br> 1904 <br> 1905 <br> 1906 <br> 1907 Version1.9.6(7May2003orthereabouts)<br> 1908 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~<br> 1909 <br> 1910 Majorchangesin1.9.6:<br> 1911 <br> 1912 -Improvedthreadingsupportforglibc>=2.3.2(SuSE8.2,<br> 1913 RedHat9,tonamebuttwo...)Itturnedoutthat1.9.5<br> 1914 hadproblemswiththreadingsupportonglibc>=2.3.2,<br> 1915 usuallymanifestedbythreadedprogramsdeadlockinginsystemcalls,<br> 1916 orrunningunbelievablyslowly.Hopefullythesearefixednow.1.9.6<br> 1917 isthefirstvalgrindwhichgivesreasonablesupportfor<br> 1918 glibc-2.3.2.Alsofixeda2.3.2problemwithpthread_atfork().<br> 1919 <br> 1920 -MajorlyexpandedFAQ.txt.We'veaddedworkaroundsforall<br> 1921 commonproblemsforwhichaworkaroundisknown.<br> 1922 <br> 1923 Minorchangesin1.9.6:<br> 1924 <br> 1925 -Fixidentificationofthemainthread'sstack.Incorrect<br> 1926 identificationofitwascausingsomeon-stackaddressestonotget<br> 1927 identifiedassuch.Thisonlyaffectedtheusefulnessofsomeerror<br> 1928 messages;thecorrectnessofthechecksmadeisunchanged.<br> 1929 <br> 1930 -Supportforkernels>=2.5.68.<br> 1931 <br> 1932 -Dummyimplementationsof__libc_current_sigrtmin,<br> 1933 __libc_current_sigrtmaxand__libc_allocate_rtsig,hopefully<br> 1934 goodenoughtokeepaliveprogramswhichpreviouslydiedforlackof<br> 1935 them.<br> 1936 <br> 1937 -FixbugintheVALGRIND_DISCARD_TRANSLATIONSclientrequest.<br> 1938 <br> 1939 -FixbugintheDWARF2debuglineinfoloader,wheninstructions<br> 1940 followingeachotherhavesourcelinesfarfromeachother<br> 1941 (e.g.withinlinedfunctions).<br> 1942 <br> 1943 -Debuginforeading:readsymbolsfromboth"symtab"and"dynsym"<br> 1944 sections,ratherthanmerelyfromtheonethatcomeslastinthe<br> 1945 file.<br> 1946 <br> 1947 -Newsyscallsupport:prctl(),creat(),lookup_dcookie().<br> 1948 <br> 1949 -Whencheckingcallstoaccept(),recvfrom(),getsocketopt(),<br> 1950 don'tcomplainifbuffervaluesareNULL.<br> 1951 <br> 1952 -Tryandavoidassertionfailuresin<br> 1953 mash_LD_PRELOAD_and_LD_LIBRARY_PATH.<br> 1954 <br> 1955 -Minorbugfixesincg_annotate.<br> 1956 <br> 1957 <br> 1958 <br> 1959 Version1.9.5(7April2003)<br> 1960 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~<br> 1961 <br> 1962 Itoccurstomethatitwouldbehelpfulforvalgrinduserstorecord<br> 1963 inthesourcedistributionthechangesineachrelease.SoInow<br> 1964 attempttomendmyerrantways:-)Changesinthisandfuturereleases<br> 1965 willbedocumentedintheNEWSfileinthesourcedistribution.<br> 1966 <br> 1967 Majorchangesin1.9.5:<br> 1968 <br> 1969 -(Criticalbugfix):FixabugintheFPUsimulation.Thiswas<br> 1970 causingsomefloatingpointconditionaltestsnottoworkright.<br> 1971 Severalpeoplereportedthis.Ifyouhadfloatingpointcodewhich<br> 1972 didn'tworkrighton1.9.1to1.9.4,it'sworthtrying1.9.5.<br> 1973 <br> 1974 -PartialsupportforRedHat9.RH9usesthenewNativePosix<br> 1975 ThreadsLibrary(NPTL),insteadoftheolderLinuxThreads.<br> 1976 ThispotentiallycausesproblemswithVwhichwilltakesome<br> 1977 timetocorrect.Inthemeantimewehavepartiallyworkedaround<br> 1978 this,andso1.9.5worksonRH9.Threadedprogramsstillwork,<br> 1979 buttheymaydeadlock,becausesomesystemcalls(accept,read,<br> 1980 write,etc)whichshouldbenonblocking,infactdoblock.This<br> 1981 isaknownbugwhichwearelookinginto.<br> 1982 <br> 1983 Ifyoucan,yourbestbet(unfortunately)istoavoidusing<br> 1984 1.9.5onaRedHat9system,oronanyNPTL-baseddistribution.<br> 1985 Ifyourglibcis2.3.1orearlier,you'realmostcertainlyOK.<br> 1986 <br> 1987 Minorchangesin1.9.5:<br> 1988 <br> 1989 -Addedsome#errorstovalgrind.htoensurepeopledon'tinclude<br> 1990 itaccidentallyintheirsources.Thisisachangefrom1.0.X<br> 1991 whichwasneverproperlydocumented.Therightthingtoinclude<br> 1992 isnowmemcheck.h.Somepeoplereportedproblemsandstrange<br> 1993 behaviourwhen(incorrectly)includingvalgrind.hincodewith<br> 1994 1.9.1--1.9.4.Thisisnolongerpossible.<br> 1995 <br> 1996 -Addsome__extension__bitsandpiecessothatgccconfigured<br> 1997 forvalgrind-checkingcompilesevenwith-Werror.Ifyou<br> 1998 don'tunderstandthis,ignoreit.Ofinteresttogccdevelopers<br> 1999 only.<br> 2000 <br> 2001 -Removedapointlesscheckwhichcausedproblemsinterworking<br> 2002 withClearcase.Vwouldcomplainaboutsharedobjectswhose<br> 2003 namesdidnotend".so",andrefusetorun.Thisisnowfixed.<br> 2004 Infactitwasfixedin1.9.4butnotdocumented.<br> 2005 <br> 2006 -Fixedabugcausinganassertionfailureof"waiters==1"<br> 2007 somewhereinvg_scheduler.c,whenrunninglargethreadedapps,<br> 2008 notablyMySQL.<br> 2009 <br> 2010 -Addsupportforthemunlocksystemcall(124).<br> 2011 <br> 2012 Somecommentsaboutfuturereleases:<br> 2013 <br> 2014 1.9.5is,wehope,themoststableValgrindsofar.Itprettymuch<br> 2015 supersedesthe1.0.Xbranch.Ifyouareavalgrindpackager,please<br> 2016 considermaking1.9.5availabletoyourusers.Youcanregardthe<br> 2017 1.0.Xbranchasobsolete:1.9.5isstableandvastlysuperior.There<br> 2018 arenoplansatallforfurtherreleasesofthe1.0.Xbranch.<br> 2019 <br> 2020 Ifyouwantaleading-edgevalgrind,considerbuildingthecvshead<br> 2021 (fromSourceForge),orgettingasnapshotofit.Currentcoolstuff<br> 2022 goinginincludesMMXsupport(done);SSE/SSE2support(inprogress),<br> 2023 asignificant(10-20%)performanceimprovement(done),andtheusual<br> 2024 largecollectionofminorchanges.Hopefullywewillbeableto<br> 2025 improveourNPTLsupport,butnopromises.<br> 2026 <br> 2027 <br> 2028 </p></div> 2029 </div> 2030 <div> 2031 <br><table class="nav" width="100%" cellspacing="3" cellpadding="2" border="0" summary="Navigation footer"> 2032 <tr> 2033 <td rowspan="2" width="40%" align="left"> 2034 <a accesskey="p" href="dist.news.html"><<2.NEWS</a></td> 2035 <td width="20%" align="center"><a accesskey="u" href="dist.html">Up</a></td> 2036 <td rowspan="2" width="40%" align="right"><a accesskey="n" href="dist.readme.html">4.README>></a> 2037 </td> 2038 </tr> 2039 <tr><td width="20%" align="center"><a accesskey="h" href="index.html">Home</a></td></tr> 2040 </table> 2041 </div> 2042 </body> 2043 </html> 2044