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>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]-&gt;data+lc_shadows[i]...<br>
     56 n-i-bzMassif/Cachegrindoutputcorruptionwhenprogramsfork<br>
     57 n-i-bzregisterallocatorfix:handlespillstorescorrectly<br>
     58 n-i-bzaddsupportforPA6TPowerPCCPUs<br>
     59 126389vexx86-&gt;IR:0xF0xAE(FXRSTOR)<br>
     60 158525==126389<br>
     61 152818vexx86-&gt;IR:0xF30xAC(repzlodsb)<br>
     62 153196vexx86-&gt;IR:0xF20xA6(repnzcmpsb)<br>
     63 155011vexx86-&gt;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-&gt;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--&lt;pid&gt;<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=&lt;hexnum&gt;and<br>
    204 --free-fill=&lt;hexnum&gt;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-&gt;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-&gt;IR:0x660xF0xF70xC6(maskmovq,maskmovdq)<br>
    258 141631Massif:percentagesdon'taddupcorrectly<br>
    259 142706massifnumbersdon'tseemtoaddup<br>
    260 143062massifcrashesonappexitwithsignal8SIGFPE<br>
    261 144453(get_XCon):Assertion'xpt-&gt;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-&gt;curr_space&gt;=-space_delta'...<br>
    269 146701==134990<br>
    270 146781Addingsupportforprivatefutexes<br>
    271 147325valgrindinternalerroronsyscall(SYS_io_destroy,0)<br>
    272 147498amd64-&gt;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-&gt;curr_space&gt;=-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&gt;2^16<br>
    287 151938helpon--db-command=misleading<br>
    288 152022subw$0x28,%%spcausesassertionfailureinmemcheck<br>
    289 152357inbandoutbnotrecognizedin64-bitmode<br>
    290 152501vexx86-&gt;IR:0x270x660x890x45(daa)<br>
    291 152818vexx86-&gt;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=&lt;patt&gt;limitdebuginfotracingtoobjname&lt;patt&gt;<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?-&gt;IR:somekindofVMXprefetch(dstt)<br>
    352 129968amd64-&gt;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-&gt;IR:0xD70x8A0xE00xD0(xlat)<br>
    362 125959==135012<br>
    363 126147x86-&gt;IR:0xF20xA50xF0x77(repnemovsw)<br>
    364 136650amd64-&gt;IR:0xC20x80x0<br>
    365 135421x86-&gt;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&gt;=4.1<br>
    384 137493x86-&gt;IR:recentbinutilsno-ops<br>
    385 137714x86-&gt;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-&gt;IR:mfspr268/269instructionsnothandled<br>
    392 n-i-bzppc32-&gt;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-&gt;IR:fisttp(SSE3)<br>
    437 117172FUTEX_WAKEdoesnotuseuaddr2<br>
    438 124039LackssupportforVKI_[GP]IO_UNIMAP*<br>
    439 127521amd64-&gt;IR:0xF00x480xF0xC7(cmpxchg8b)<br>
    440 128917amd64-&gt;IR:0x660xF0xF60xC4(psadbw,SSE2)<br>
    441 129246JJ:ppc32/ppc64syscalls,w/patch<br>
    442 129358x86-&gt;IR:fisttpl(SSE3)<br>
    443 129866cachegrind/callgrindcausesexecutabletodie<br>
    444 130020Can'tstat.so/.exeerrorwhilereadingsymbols<br>
    445 130388Valgrindabortswhenprocesscallsmalloc_trim()<br>
    446 130638PATCH:ppc32missingsystemcalls<br>
    447 130785amd64-&gt;IR:unhandledinstruction"pushfq"<br>
    448 131481:(HINT_NOP)vexx86-&gt;IR:0xF0x1F0x00xF<br>
    449 131298==131481<br>
    450 132146Programswithlongsequencesofbswap[l,q]s<br>
    451 132918vexamd64-&gt;IR:0xD90xF8(fprem)<br>
    452 132813Assertionatpriv/guest-x86/toIR.c:652fails<br>
    453 133051'cfsi-&gt;len&gt;0&amp;&amp;cfsi-&gt;len&lt;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-&gt;IR:0x480xF0xC50xC0(pextrw?)<br>
    465 133694aspacemassertion:aspacem_minAddr&lt;=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?-&gt;IR:somekindofVMXprefetch(dstt)<br>
    480 129968amd64-&gt;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--&gt;MAKE_MEM_NOACCESS<br>
    610 MAKE_WRITABLE--&gt;MAKE_MEM_UNDEFINED<br>
    611 MAKE_READABLE--&gt;MAKE_MEM_DEFINED<br>
    612 <br>
    613 CHECK_WRITABLE--&gt;CHECK_MEM_IS_ADDRESSABLE<br>
    614 CHECK_READABLE--&gt;CHECK_MEM_IS_DEFINED<br>
    615 CHECK_DEFINED--&gt;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-&gt;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-&gt;IR:0xF0xE0x480x85(femms)<br>
    651 124528FATAL:aspacemassertionfailed:segment_is_sane<br>
    652 124697vexx86-&gt;IR:0xF0x700xC90x0(pshufw)<br>
    653 124892vexx86-&gt;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-&gt;IR:0x660xF0xF5(pmaddwd)<br>
    658 125492ppc32:supportabunchmoresyscalls<br>
    659 121617ppc32/64:coredumpinggivesassertionfailure<br>
    660 121814Coregrindreturnerrorasexitcodepatch<br>
    661 126517==121814<br>
    662 125607amd64-&gt;IR:0x660xF0xA30x2(btwetc)<br>
    663 125651amd64-&gt;IR:0xF80x490xFF0xE3(clc?)<br>
    664 126253x86movxiswrong<br>
    665 1264513.2SVNdoesn'tworkonppc32CPU'swithoutFPU<br>
    666 126217increase#threads<br>
    667 126243vexx86-&gt;IR:popwmem<br>
    668 126583amd64-&gt;IR:0x480xF0xA40xC2(shld$1,%rax,%rdx)<br>
    669 126668amd64-&gt;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.&lt;pid&gt;"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-&gt;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-&gt;IR:660FF6(66+PSADBW==SSEPSADBW)<br>
    860 113796read()andwrite()donotworkifbufferisinsharedmemory<br>
    861 113851vexx86-&gt;IR:(pmaddwd):0x660xF0xF50xC7<br>
    862 114366vexamd64cannnothandle__asm__("fninit")<br>
    863 114412vexamd64-&gt;IR:0xF0xAD0xC20xD3(128-bitshift,shrdq?)<br>
    864 114455vexamd64-&gt;IR:0xF0xAC0xD00x1(alsoshrdq)<br>
    865 115590:amd64-&gt;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-&gt;IR:0x410xF0xAB(moreBT{,S,R,C}funngames)<br>
    874 111748vexamd64-&gt;IR:0xDD0xE2(fucom)<br>
    875 111785makefailsifCCcontainsspaces<br>
    876 111829vexx86-&gt;IR:sbbAL,Ib<br>
    877 111851vexx86-&gt;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-&gt;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-&gt;IR:fucomp(0xDD0xE9)<br>
    890 114196vexx86-&gt;IR:out%eax,(%dx)(0xEF0xC90xC30x90)<br>
    891 114289Memcheckfailstointerceptmallocwhenusedinanuclibcenvironment<br>
    892 114756mbindsyscallsupport<br>
    893 114757Valgrinddieswithassertion:Assertion'noLargerThan&gt;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&lt;unique&gt;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-&gt;IR:unhandledinstructionbytes:0xF30xC3(repret)<br>
    933 n-i-bzNick(Cachegrindshouldnotassertwhenitencountersaclient<br>
    934 request.)<br>
    935 110685amd64-&gt;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-&gt;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-&gt;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-&gt;IR:unhandledinstructionbytes:0xA30x4C0x700xD7<br>
   1075 109802Addaplausible_stack_sizecommand-lineparameter?<br>
   1076 109783unhandledioctlTIOCMGET(runninghwdetectiontooldiscover)<br>
   1077 109780unhandledioctlBLKSSZGET(runningfdisk-l/dev/hda)<br>
   1078 109718vexx86-&gt;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&amp;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&amp;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-&gt;size&gt;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-&gt;sigqueue_head!=tst-&gt;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&amp;((1&lt;&lt;12)-1...<br>
   1282 101173	Assertion`recDepth&gt;=0&amp;&amp;recDepth&lt;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-&gt;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&gt;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--&gt;--log-fd<br>
   1494 --logfile--&gt;--log-file<br>
   1495 --logsocket--&gt;--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(&lt;reservedfd&gt;)<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=&gt;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-&gt;size&gt;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-&gt;size==4||u_in-&gt;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&amp;)<br>
   1746 operatornew[](unsigned,std::nothrow_tconst&amp;)<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=&lt;number&gt;.<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&gt;=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&gt;=2.3.2(SuSE8.2,<br>
   1913 RedHat9,tonamebuttwo...)Itturnedoutthat1.9.5<br>
   1914 hadproblemswiththreadingsupportonglibc&gt;=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&gt;=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">&lt;&lt;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&gt;&gt;</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