| sewardj | 9023879 | 2003-05-05 00:23:42 +0000 | [diff] [blame] | 1 |  | 
| sewardj | 9d916ed | 2003-07-14 23:38:40 +0000 | [diff] [blame^] | 2 | Snapshot 20030715 (15 July 2003) | 
 | 3 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ | 
 | 4 |  | 
 | 5 | 20030715 is a snapshot of our current CVS head (development) branch. | 
 | 6 | This is the branch which will become valgrind-2.0.  It contains | 
 | 7 | significant enhancements over the 1.9.X branch. | 
 | 8 |  | 
 | 9 | Despite this being a snapshot of the CVS head, it is believed to be | 
 | 10 | quite stable -- at least as stable as 1.9.6 or 1.0.4, if not more so | 
 | 11 | -- and therefore suitable for widespread use.  Please let us know asap | 
 | 12 | if it causes problems for you. | 
 | 13 |  | 
 | 14 | Two reasons for releasing a snapshot now are: | 
 | 15 |  | 
 | 16 | - It's been a while since 1.9.6, and this snapshot fixes | 
 | 17 |   various problems that 1.9.6 has with threaded programs  | 
 | 18 |   on glibc-2.3.X based systems. | 
 | 19 |  | 
 | 20 | - So as to make available improvements in the 2.0 line. | 
 | 21 |  | 
 | 22 | Major changes in 20030715, as compared to 1.9.6: | 
 | 23 |  | 
 | 24 | - More fixes to threading support on glibc-2.3.1 and 2.3.2-based | 
 | 25 |   systems (SuSE 8.2, Red Hat 9).  If you have had problems | 
 | 26 |   with inconsistent/illogical behaviour of errno, h_errno or the DNS | 
 | 27 |   resolver functions in threaded programs, 20030715 should improve | 
 | 28 |   matters.  This snapshot seems stable enough to run OpenOffice.org | 
 | 29 |   1.1rc on Red Hat 7.3, SuSE 8.2 and Red Hat 9, and that's a big | 
 | 30 |   threaded app if ever I saw one. | 
 | 31 |  | 
 | 32 | - Automatic generation of suppression records; you no longer | 
 | 33 |   need to write them by hand.  Use --gen-suppressions=yes. | 
 | 34 |  | 
 | 35 | - The GDB attach mechanism is more flexible.  Allow the GDB to | 
 | 36 |   be run to be specified by --gdb-path=/path/to/gdb, and specify | 
 | 37 |   which file descriptor V will read its input from with | 
 | 38 |   --input-fd=<number>. | 
 | 39 |  | 
 | 40 | - Complete support for the MMX instruction set. | 
 | 41 |  | 
 | 42 | - Partial support for the SSE and SSE2 instruction sets.  Work for this | 
 | 43 |   is ongoing.  About half the SSE/SSE2 instructions are done, so | 
 | 44 |   some SSE based programs may work.  Currently you need to specify | 
 | 45 |   --skin=addrcheck.  Basically not suitable for real use yet. | 
 | 46 |  | 
 | 47 | - Significant speedups (10%-20%) for standard memory checking. | 
 | 48 |  | 
 | 49 | - Fix assertion failure in pthread_once(). | 
 | 50 |  | 
 | 51 | - Fix this: | 
 | 52 |     valgrind: vg_intercept.c:598 (vgAllRoadsLeadToRome_select):  | 
 | 53 |               Assertion `ms_end >= ms_now' failed. | 
 | 54 |  | 
 | 55 | - Implement pthread_mutexattr_setpshared. | 
 | 56 |  | 
 | 57 | - Understand Pentium 4 branch hints.  Also implemented a couple more | 
 | 58 |   obscure x86 instructions. | 
 | 59 |  | 
 | 60 | - Lots of other minor bug fixes. | 
 | 61 |  | 
 | 62 | As ever, thanks for the vast amount of feedback :) and bug reports :( | 
 | 63 | We may not answer all messages, but we do at least look at all of | 
 | 64 | them, and tend to fix the most frequently reported bugs. | 
 | 65 |  | 
 | 66 |  | 
 | 67 |  | 
| sewardj | 3791882 | 2003-05-05 01:05:09 +0000 | [diff] [blame] | 68 | Version 1.9.6 (7 May 2003 or thereabouts) | 
 | 69 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ | 
 | 70 |  | 
 | 71 | Major changes in 1.9.6: | 
 | 72 |  | 
 | 73 | - Improved threading support for glibc >= 2.3.2 (SuSE 8.2, | 
 | 74 |   RedHat 9, to name but two ...)  It turned out that 1.9.5 | 
 | 75 |   had problems with threading support on glibc >= 2.3.2, | 
 | 76 |   usually manifested by threaded programs deadlocking in system calls, | 
 | 77 |   or running unbelievably slowly.  Hopefully these are fixed now.  1.9.6 | 
 | 78 |   is the first valgrind which gives reasonable support for | 
 | 79 |   glibc-2.3.2.  Also fixed a 2.3.2 problem with pthread_atfork(). | 
 | 80 |  | 
 | 81 | - Majorly expanded FAQ.txt.  We've added workarounds for all | 
 | 82 |   common problems for which a workaround is known. | 
 | 83 |  | 
 | 84 | Minor changes in 1.9.6: | 
 | 85 |  | 
 | 86 | - Fix identification of the main thread's stack.  Incorrect | 
 | 87 |   identification of it was causing some on-stack addresses to not get | 
 | 88 |   identified as such.  This only affected the usefulness of some error | 
 | 89 |   messages; the correctness of the checks made is unchanged. | 
 | 90 |  | 
 | 91 | - Support for kernels >= 2.5.68. | 
 | 92 |  | 
 | 93 | - Dummy implementations of __libc_current_sigrtmin,  | 
 | 94 |   __libc_current_sigrtmax and __libc_allocate_rtsig, hopefully | 
 | 95 |   good enough to keep alive programs which previously died for lack of | 
 | 96 |   them. | 
 | 97 |  | 
 | 98 | - Fix bug in the VALGRIND_DISCARD_TRANSLATIONS client request. | 
 | 99 |  | 
| sewardj | 3d47b79 | 2003-05-05 22:15:35 +0000 | [diff] [blame] | 100 | - Fix bug in the DWARF2 debug line info loader, when instructions  | 
 | 101 |   following each other have source lines far from each other  | 
 | 102 |   (e.g. with inlined functions). | 
 | 103 |  | 
| sewardj | 3791882 | 2003-05-05 01:05:09 +0000 | [diff] [blame] | 104 | - Debug info reading: read symbols from both "symtab" and "dynsym" | 
 | 105 |   sections, rather than merely from the one that comes last in the | 
 | 106 |   file. | 
 | 107 |  | 
 | 108 | - New syscall support: prctl(), creat(), lookup_dcookie(). | 
 | 109 |  | 
 | 110 | - When checking calls to accept(), recvfrom(), getsocketopt(), | 
 | 111 |   don't complain if buffer values are NULL. | 
 | 112 |  | 
 | 113 | - Try and avoid assertion failures in | 
 | 114 |   mash_LD_PRELOAD_and_LD_LIBRARY_PATH. | 
 | 115 |  | 
 | 116 | - Minor bug fixes in cg_annotate. | 
 | 117 |  | 
 | 118 |  | 
 | 119 |  | 
| sewardj | 9023879 | 2003-05-05 00:23:42 +0000 | [diff] [blame] | 120 | Version 1.9.5 (7 April 2003) | 
 | 121 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~ | 
 | 122 |  | 
 | 123 | It occurs to me that it would be helpful for valgrind users to record | 
 | 124 | in the source distribution the changes in each release.  So I now | 
 | 125 | attempt to mend my errant ways :-)  Changes in this and future releases | 
 | 126 | will be documented in the NEWS file in the source distribution. | 
 | 127 |  | 
 | 128 | Major changes in 1.9.5: | 
 | 129 |  | 
 | 130 | - (Critical bug fix): Fix a bug in the FPU simulation.  This was | 
 | 131 |   causing some floating point conditional tests not to work right. | 
 | 132 |   Several people reported this.  If you had floating point code which | 
 | 133 |   didn't work right on 1.9.1 to 1.9.4, it's worth trying 1.9.5. | 
 | 134 |  | 
 | 135 | - Partial support for Red Hat 9.  RH9 uses the new Native Posix  | 
 | 136 |   Threads Library (NPTL), instead of the older LinuxThreads.   | 
 | 137 |   This potentially causes problems with V which will take some | 
 | 138 |   time to correct.  In the meantime we have partially worked around | 
 | 139 |   this, and so 1.9.5 works on RH9.  Threaded programs still work, | 
 | 140 |   but they may deadlock, because some system calls (accept, read, | 
 | 141 |   write, etc) which should be nonblocking, in fact do block.  This | 
 | 142 |   is a known bug which we are looking into. | 
 | 143 |  | 
 | 144 |   If you can, your best bet (unfortunately) is to avoid using  | 
 | 145 |   1.9.5 on a Red Hat 9 system, or on any NPTL-based distribution. | 
 | 146 |   If your glibc is 2.3.1 or earlier, you're almost certainly OK. | 
 | 147 |  | 
 | 148 | Minor changes in 1.9.5: | 
 | 149 |  | 
 | 150 | - Added some #errors to valgrind.h to ensure people don't include | 
 | 151 |   it accidentally in their sources.  This is a change from 1.0.X | 
 | 152 |   which was never properly documented.  The right thing to include | 
 | 153 |   is now memcheck.h.  Some people reported problems and strange | 
 | 154 |   behaviour when (incorrectly) including valgrind.h in code with  | 
 | 155 |   1.9.1 -- 1.9.4.  This is no longer possible. | 
 | 156 |  | 
 | 157 | - Add some __extension__ bits and pieces so that gcc configured | 
 | 158 |   for valgrind-checking compiles even with -Werror.  If you | 
 | 159 |   don't understand this, ignore it.  Of interest to gcc developers | 
 | 160 |   only. | 
 | 161 |  | 
 | 162 | - Removed a pointless check which caused problems interworking  | 
 | 163 |   with Clearcase.  V would complain about shared objects whose | 
 | 164 |   names did not end ".so", and refuse to run.  This is now fixed. | 
 | 165 |   In fact it was fixed in 1.9.4 but not documented. | 
 | 166 |  | 
 | 167 | - Fixed a bug causing an assertion failure of "waiters == 1" | 
 | 168 |   somewhere in vg_scheduler.c, when running large threaded apps, | 
 | 169 |   notably MySQL. | 
 | 170 |  | 
 | 171 | - Add support for the munlock system call (124). | 
 | 172 |  | 
 | 173 | Some comments about future releases: | 
 | 174 |  | 
 | 175 | 1.9.5 is, we hope, the most stable Valgrind so far.  It pretty much | 
 | 176 | supersedes the 1.0.X branch.  If you are a valgrind packager, please | 
 | 177 | consider making 1.9.5 available to your users.  You can regard the | 
 | 178 | 1.0.X branch as obsolete: 1.9.5 is stable and vastly superior.  There | 
 | 179 | are no plans at all for further releases of the 1.0.X branch. | 
 | 180 |  | 
 | 181 | If you want a leading-edge valgrind, consider building the cvs head | 
 | 182 | (from SourceForge), or getting a snapshot of it.  Current cool stuff | 
 | 183 | going in includes MMX support (done); SSE/SSE2 support (in progress), | 
 | 184 | a significant (10-20%) performance improvement (done), and the usual | 
 | 185 | large collection of minor changes.  Hopefully we will be able to | 
 | 186 | improve our NPTL support, but no promises. | 
 | 187 |  |