blob: 9213645163453278c9fade41949a241bf79026ad [file] [log] [blame]
jseward43230652003-12-14 00:14:54 +00001
jseward9cd978c2004-07-17 13:38:12 +00002Developer (cvs head) release 2.1.2 (18 July 2004)
jsewardbd0a6e42004-07-17 12:19:43 +00003~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
42.1.2 contains four months worth of bug fixes and refinements.
jseward9cd978c2004-07-17 13:38:12 +00005Although officially a developer release, we believe it to be stable
6enough for widespread day-to-day use. 2.1.2 is pretty good, so try it
7first, although there is a chance it won't work. If so then try 2.0.0
8and tell us what went wrong." 2.1.2 fixes a lot of problems present
9in 2.0.0 and is generally a much better product.
jsewardbd0a6e42004-07-17 12:19:43 +000010
jseward9cd978c2004-07-17 13:38:12 +000011Relative to 2.1.1, a large number of minor problems with 2.1.1 have
12been fixed, and so if you use 2.1.1 you should try 2.1.2. Users of
13the last stable release, 2.0.0, might also want to try this release.
jsewardbd0a6e42004-07-17 12:19:43 +000014
15The following bugs, and probably many more, have been fixed. These
16are listed at http://bugs.kde.org. Reporting a bug for valgrind in
17the http://bugs.kde.org is much more likely to get you a fix than
18mailing developers directly, so please continue to keep sending bugs
19there.
20
2176869 Crashes when running any tool under Fedora Core 2 test1
22 This fixes the problem with returning from a signal handler
23 when VDSOs are turned off in FC2. Note that we don't
24 (yet) support VDSOs being on
25 (use "echo 0 > /proc/sys/kernel/vdso").
26
2769508 java 1.4.2 client fails with erroneous "stack size too small"
28 (make more of the pthread stack attribute related functions
29 work properly)
30
3171906 malloc alignment should be 8, not 4
32 All memory returned by malloc/new etc is now at least
33 8-byte aligned.
34
3578514 Conditional jump or move depends on uninitialized value(s)
36 (a slight mishanding of FP code in memcheck)
37
3880942 Addrcheck wasn't doing overlap checking as it should.
3978048 return NULL on malloc/new etc failure, instead of asserting
4073655 operator new() override in user .so files often doesn't get picked up
4183060 Valgrind does not handle native kernel AIO
4269872 Create proper coredumps after fatal signals
4382026 failure with new glibc versions: __libc_* functions are not exported
4470344 UNIMPLEMENTED FUNCTION: tcdrain
4581297 Cancellation of pthread_cond_wait does not require mutex
4682872 Using debug info from additional packages (wishlist)
4783025 Support for ioctls FIGETBSZ and FIBMAP
4883340 Support for ioctl HDIO_GET_IDENTITY
4979714 Support for the semtimedop system call.
5077022 Support for ioctls FBIOGET_VSCREENINFO and FBIOGET_FSCREENINFO
5182098 hp2ps ansification (wishlist)
5283573 Valgrind SIGSEGV on execve
5382999 show which cmdline option was erroneous (wishlist)
5483040 make valgrind VPATH and distcheck-clean (wishlist)
5577952 pThread Support (crash) (due to initialisation-ordering probs)
56
57
58Additionally there are the following changes, which are not
59connected to any bug report numbers, AFAICS:
60
61* Rearranged address space layout relative to 2.1.1, so that
62 Valgrind/tools will run out of memory later than currently in many
63 circumstances. This is good news esp. for Calltree. It should
64 be possible for client programs to allocate over 800MB of
65 memory when using memcheck now.
66
jseward9cd978c2004-07-17 13:38:12 +000067* Improved checking when laying out memory. Should hopefully avoid
68 the random segmentation faults that 2.1.1 sometimes caused.
69
jsewardbd0a6e42004-07-17 12:19:43 +000070* Support for Fedora Core 2 and SuSE 9.1. Improvements to NPTL
71 support to the extent that V now works properly on NPTL-only setups.
72
73* Renamed the following options:
74 --logfile-fd --> --log-fd
75 --logfile --> --log-file
76 --logsocket --> --log-socket
77 to be consistent with each other and other options (esp. --input-fd).
78
79* Add support for SIOCGMIIPHY, SIOCGMIIREG and SIOCSMIIREG ioctls and
80 improve the checking of other interface related ioctls.
81
jsewardbd0a6e42004-07-17 12:19:43 +000082* Fix building with gcc-3.4.1.
83
84* Remove limit on number of semaphores supported.
85
jsewardbd0a6e42004-07-17 12:19:43 +000086* Add support for syscalls: set_tid_address (258), acct (51).
87
88* Support instruction "repne movs" -- not official but seems to occur.
89
90* Implement an emulated soft limit for file descriptors in addition to
91 the current reserved area, which effectively acts as a hard limit. The
92 setrlimit system call now simply updates the emulated limits as best
93 as possible - the hard limit is not allowed to move at all and just
94 returns EPERM if you try and change it. This should stop reductions
95 in the soft limit causing assertions when valgrind tries to allocate
96 descriptors from the reserved area.
jseward9cd978c2004-07-17 13:38:12 +000097 (This actually came from bug #83998 although we're still waiting
98 on confirmation that the change actually fixed the bug.)
jsewardbd0a6e42004-07-17 12:19:43 +000099
nethercote5e63bfb2004-07-17 12:49:53 +0000100* Major overhaul of Cachegrind implementation. Only user visible change
101 is that cachegrind.out files are now typically 90% smaller than they
102 used to be. Code annotation times are correspondingly much smaller.
jsewardbd0a6e42004-07-17 12:19:43 +0000103
104* Client requests for telling valgrind about memory pools.
105
106
107
jseward9cd978c2004-07-17 13:38:12 +0000108Developer (cvs head) release 2.1.1 (12 March 2004)
109~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
jsewardbd0a6e42004-07-17 12:19:43 +00001102.1.1 contains some internal structural changes needed for V's
jsewarde3e77042004-03-12 21:07:05 +0000111long-term future. These don't affect end-users. Most notable
112user-visible changes are:
113
114* Greater isolation between Valgrind and the program being run, so
115 the program is less likely to inadvertently kill Valgrind by
116 doing wild writes.
117
118* Massif: a new space profiling tool. Try it! It's cool, and it'll
119 tell you in detail where and when your C/C++ code is allocating heap.
120 Draws pretty .ps pictures of memory use against time. A potentially
121 powerful tool for making sense of your program's space use.
122
123* Fixes for many bugs, including support for more SSE2/SSE3 instructions,
124 various signal/syscall things, and various problems with debug
125 info readers.
126
127* Support for glibc-2.3.3 based systems.
128
129We are now doing automatic overnight build-and-test runs on a variety
130of distros. As a result, we believe 2.1.1 builds and runs on:
131Red Hat 7.2, 7.3, 8.0, 9, Fedora Core 1, SuSE 8.2, SuSE 9.
132
133
134The following bugs, and probably many more, have been fixed. These
135are listed at http://bugs.kde.org. Reporting a bug for valgrind in
136the http://bugs.kde.org is much more likely to get you a fix than
137mailing developers directly, so please continue to keep sending bugs
138there.
139
14069616 glibc 2.3.2 w/NPTL is massively different than what valgrind expects
14169856 I don't know how to instrument MMXish stuff (Helgrind)
14273892 valgrind segfaults starting with Objective-C debug info
143 (fix for S-type stabs)
14473145 Valgrind complains too much about close(<reserved fd>)
14573902 Shadow memory allocation seems to fail on RedHat 8.0
14668633 VG_N_SEMAPHORES too low (V itself was leaking semaphores)
14775099 impossible to trace multiprocess programs
14876839 the `impossible' happened: disInstr: INT but not 0x80 !
14976762 vg_to_ucode.c:3748 (dis_push_segreg): Assertion `sz == 4' failed.
15076747 cannot include valgrind.h in c++ program
15176223 parsing B(3,10) gave NULL type => impossible happens
15275604 shmdt handling problem
15376416 Problems with gcc 3.4 snap 20040225
15475614 using -gstabs when building your programs the `impossible' happened
15575787 Patch for some CDROM ioctls CDORM_GET_MCN, CDROM_SEND_PACKET,
15675294 gcc 3.4 snapshot's libstdc++ have unsupported instructions.
157 (REP RET)
15873326 vg_symtab2.c:272 (addScopeRange): Assertion `range->size > 0' failed.
15972596 not recognizing __libc_malloc
16069489 Would like to attach ddd to running program
16172781 Cachegrind crashes with kde programs
16273055 Illegal operand at DXTCV11CompressBlockSSE2 (more SSE opcodes)
16373026 Descriptor leak check reports port numbers wrongly
16471705 README_MISSING_SYSCALL_OR_IOCTL out of date
16572643 Improve support for SSE/SSE2 instructions
16672484 valgrind leaves it's own signal mask in place when execing
16772650 Signal Handling always seems to restart system calls
16872006 The mmap system call turns all errors in ENOMEM
16971781 gdb attach is pretty useless
17071180 unhandled instruction bytes: 0xF 0xAE 0x85 0xE8
17169886 writes to zero page cause valgrind to assert on exit
17271791 crash when valgrinding gimp 1.3 (stabs reader problem)
17369783 unhandled syscall: 218
17469782 unhandled instruction bytes: 0x66 0xF 0x2B 0x80
17570385 valgrind fails if the soft file descriptor limit is less
176 than about 828
17769529 "rep; nop" should do a yield
17870827 programs with lots of shared libraries report "mmap failed"
179 for some of them when reading symbols
18071028 glibc's strnlen is optimised enough to confuse valgrind
181
182
183
184
jseward43230652003-12-14 00:14:54 +0000185Unstable (cvs head) release 2.1.0 (15 December 2003)
186~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
187For whatever it's worth, 2.1.0 actually seems pretty darn stable to me
188(Julian). It looks eminently usable, and given that it fixes some
189significant bugs, may well be worth using on a day-to-day basis.
1902.1.0 is known to build and pass regression tests on: SuSE 9, SuSE
1918.2, RedHat 8.
192
1932.1.0 most notably includes Jeremy Fitzhardinge's complete overhaul of
194handling of system calls and signals, and their interaction with
195threads. In general, the accuracy of the system call, thread and
196signal simulations is much improved. Specifically:
197
198- Blocking system calls behave exactly as they do when running
199 natively (not on valgrind). That is, if a syscall blocks only the
200 calling thread when running natively, than it behaves the same on
201 valgrind. No more mysterious hangs because V doesn't know that some
202 syscall or other, should block only the calling thread.
203
204- Interrupted syscalls should now give more faithful results.
205
206- Finally, signal contexts in signal handlers are supported. As a
207 result, konqueror on SuSE 9 no longer segfaults when notified of
208 file changes in directories it is watching.
209
210Other changes:
211
212- Robert Walsh's file descriptor leakage checks. When enabled,
213 Valgrind will print out a list of open file descriptors on
214 exit. Along with each file descriptor, Valgrind prints out a stack
215 backtrace of where the file was opened and any details relating to the
216 file descriptor such as the file name or socket details.
217 To use, give: --track-fds=yes
218
219- Implemented a few more SSE/SSE2 instructions.
220
221- Less crud on the stack when you do 'where' inside a GDB attach.
222
223- Fixed the following bugs:
224 68360: Valgrind does not compile against 2.6.0-testX kernels
225 68525: CVS head doesn't compile on C90 compilers
226 68566: pkgconfig support (wishlist)
227 68588: Assertion `sz == 4' failed in vg_to_ucode.c (disInstr)
228 69140: valgrind not able to explicitly specify a path to a binary.
229 69432: helgrind asserts encountering a MutexErr when there are
230 EraserErr suppressions
231
jseward0b12daf2003-12-14 14:35:28 +0000232- Increase the max size of the translation cache from 200k average bbs
233 to 300k average bbs. Programs on the size of OOo (680m17) are
234 thrashing the cache at the smaller size, creating large numbers of
235 retranslations and wasting significant time as a result.
236
jseward43230652003-12-14 00:14:54 +0000237
238
239Stable release 2.0.0 (5 Nov 2003)
240~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
241
2422.0.0 improves SSE/SSE2 support, fixes some minor bugs, and
243improves support for SuSE 9 and the Red Hat "Severn" beta.
244
245- Further improvements to SSE/SSE2 support. The entire test suite of
246 the GNU Scientific Library (gsl-1.4) compiled with Intel Icc 7.1
247 20030307Z '-g -O -xW' now works. I think this gives pretty good
248 coverage of SSE/SSE2 floating point instructions, or at least the
249 subset emitted by Icc.
250
251- Also added support for the following instructions:
252 MOVNTDQ UCOMISD UNPCKLPS UNPCKHPS SQRTSS
253 PUSH/POP %{FS,GS}, and PUSH %CS (Nb: there is no POP %CS).
254
255- CFI support for GDB version 6. Needed to enable newer GDBs
256 to figure out where they are when using --gdb-attach=yes.
257
258- Fix this:
259 mc_translate.c:1091 (memcheck_instrument): Assertion
260 `u_in->size == 4 || u_in->size == 16' failed.
261
262- Return an error rather than panicing when given a bad socketcall.
263
264- Fix checking of syscall rt_sigtimedwait().
265
266- Implement __NR_clock_gettime (syscall 265). Needed on Red Hat Severn.
267
268- Fixed bug in overlap check in strncpy() -- it was assuming the src was 'n'
269 bytes long, when it could be shorter, which could cause false
270 positives.
271
272- Support use of select() for very large numbers of file descriptors.
273
274- Don't fail silently if the executable is statically linked, or is
275 setuid/setgid. Print an error message instead.
276
277- Support for old DWARF-1 format line number info.
278
279
280
281Snapshot 20031012 (12 October 2003)
282~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
283
284Three months worth of bug fixes, roughly. Most significant single
285change is improved SSE/SSE2 support, mostly thanks to Dirk Mueller.
286
28720031012 builds on Red Hat Fedora ("Severn") but doesn't really work
288(curiosly, mozilla runs OK, but a modest "ls -l" bombs). I hope to
289get a working version out soon. It may or may not work ok on the
290forthcoming SuSE 9; I hear positive noises about it but haven't been
291able to verify this myself (not until I get hold of a copy of 9).
292
293A detailed list of changes, in no particular order:
294
295- Describe --gen-suppressions in the FAQ.
296
297- Syscall __NR_waitpid supported.
298
299- Minor MMX bug fix.
300
301- -v prints program's argv[] at startup.
302
303- More glibc-2.3 suppressions.
304
305- Suppressions for stack underrun bug(s) in the c++ support library
306 distributed with Intel Icc 7.0.
307
308- Fix problems reading /proc/self/maps.
309
310- Fix a couple of messages that should have been suppressed by -q,
311 but weren't.
312
313- Make Addrcheck understand "Overlap" suppressions.
314
315- At startup, check if program is statically linked and bail out if so.
316
317- Cachegrind: Auto-detect Intel Pentium-M, also VIA Nehemiah
318
319- Memcheck/addrcheck: minor speed optimisations
320
321- Handle syscall __NR_brk more correctly than before.
322
323- Fixed incorrect allocate/free mismatch errors when using
324 operator new(unsigned, std::nothrow_t const&)
325 operator new[](unsigned, std::nothrow_t const&)
326
327- Support POSIX pthread spinlocks.
328
329- Fixups for clean compilation with gcc-3.3.1.
daywalker5d945de2003-09-26 00:32:53 +0000330
331- Implemented more opcodes:
332 - push %es
333 - push %ds
334 - pop %es
335 - pop %ds
336 - movntq
337 - sfence
338 - pshufw
339 - pavgb
340 - ucomiss
341 - enter
daywalkerb18d2532003-09-27 20:15:01 +0000342 - mov imm32, %esp
343 - all "in" and "out" opcodes
daywalker79aad842003-09-30 22:58:12 +0000344 - inc/dec %esp
jseward43230652003-12-14 00:14:54 +0000345 - A whole bunch of SSE/SSE2 instructions
daywalker5d945de2003-09-26 00:32:53 +0000346
jseward43230652003-12-14 00:14:54 +0000347- Memcheck: don't bomb on SSE/SSE2 code.
daywalker5d945de2003-09-26 00:32:53 +0000348
sewardj90238792003-05-05 00:23:42 +0000349
sewardj945f39f2003-07-25 21:11:40 +0000350Snapshot 20030725 (25 July 2003)
351~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
352
353Fixes some minor problems in 20030716.
354
355- Fix bugs in overlap checking for strcpy/memcpy etc.
356
357- Do overlap checking with Addrcheck as well as Memcheck.
358
359- Fix this:
360 Memcheck: the `impossible' happened:
361 get_error_name: unexpected type
362
363- Install headers needed to compile new skins.
364
sewardje3dd2e02003-07-27 08:04:48 +0000365- Remove leading spaces and colon in the LD_LIBRARY_PATH / LD_PRELOAD
sewardj945f39f2003-07-25 21:11:40 +0000366 passed to non-traced children.
367
sewardjb9eda952003-07-26 21:39:05 +0000368- Fix file descriptor leak in valgrind-listener.
369
sewardje3dd2e02003-07-27 08:04:48 +0000370- Fix longstanding bug in which the allocation point of a
371 block resized by realloc was not correctly set. This may
372 have caused confusing error messages.
sewardj945f39f2003-07-25 21:11:40 +0000373
374
sewardj626fd892003-07-16 20:10:26 +0000375Snapshot 20030716 (16 July 2003)
sewardj9d916ed2003-07-14 23:38:40 +0000376~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
377
sewardj626fd892003-07-16 20:10:26 +000037820030716 is a snapshot of our current CVS head (development) branch.
sewardj9d916ed2003-07-14 23:38:40 +0000379This is the branch which will become valgrind-2.0. It contains
380significant enhancements over the 1.9.X branch.
381
382Despite this being a snapshot of the CVS head, it is believed to be
383quite stable -- at least as stable as 1.9.6 or 1.0.4, if not more so
384-- and therefore suitable for widespread use. Please let us know asap
385if it causes problems for you.
386
387Two reasons for releasing a snapshot now are:
388
389- It's been a while since 1.9.6, and this snapshot fixes
390 various problems that 1.9.6 has with threaded programs
391 on glibc-2.3.X based systems.
392
393- So as to make available improvements in the 2.0 line.
394
sewardj626fd892003-07-16 20:10:26 +0000395Major changes in 20030716, as compared to 1.9.6:
sewardj9d916ed2003-07-14 23:38:40 +0000396
397- More fixes to threading support on glibc-2.3.1 and 2.3.2-based
398 systems (SuSE 8.2, Red Hat 9). If you have had problems
399 with inconsistent/illogical behaviour of errno, h_errno or the DNS
sewardj626fd892003-07-16 20:10:26 +0000400 resolver functions in threaded programs, 20030716 should improve
sewardj9d916ed2003-07-14 23:38:40 +0000401 matters. This snapshot seems stable enough to run OpenOffice.org
402 1.1rc on Red Hat 7.3, SuSE 8.2 and Red Hat 9, and that's a big
403 threaded app if ever I saw one.
404
405- Automatic generation of suppression records; you no longer
406 need to write them by hand. Use --gen-suppressions=yes.
407
sewardj21511802003-07-22 17:47:42 +0000408- strcpy/memcpy/etc check their arguments for overlaps, when
409 running with the Memcheck or Addrcheck skins.
410
411- malloc_usable_size() is now supported.
412
413- new client requests:
414 - VALGRIND_COUNT_ERRORS, VALGRIND_COUNT_LEAKS:
415 useful with regression testing
416 - VALGRIND_NON_SIMD_CALL[0123]: for running arbitrary functions
417 on real CPU (use with caution!)
418
sewardj9d916ed2003-07-14 23:38:40 +0000419- The GDB attach mechanism is more flexible. Allow the GDB to
420 be run to be specified by --gdb-path=/path/to/gdb, and specify
421 which file descriptor V will read its input from with
422 --input-fd=<number>.
423
sewardj21511802003-07-22 17:47:42 +0000424- Cachegrind gives more accurate results (wasn't tracking instructions in
425 malloc() and friends previously, is now).
426
sewardj9d916ed2003-07-14 23:38:40 +0000427- Complete support for the MMX instruction set.
428
429- Partial support for the SSE and SSE2 instruction sets. Work for this
430 is ongoing. About half the SSE/SSE2 instructions are done, so
431 some SSE based programs may work. Currently you need to specify
432 --skin=addrcheck. Basically not suitable for real use yet.
433
434- Significant speedups (10%-20%) for standard memory checking.
435
436- Fix assertion failure in pthread_once().
437
438- Fix this:
439 valgrind: vg_intercept.c:598 (vgAllRoadsLeadToRome_select):
440 Assertion `ms_end >= ms_now' failed.
441
442- Implement pthread_mutexattr_setpshared.
443
444- Understand Pentium 4 branch hints. Also implemented a couple more
445 obscure x86 instructions.
446
447- Lots of other minor bug fixes.
448
sewardj626fd892003-07-16 20:10:26 +0000449- We have a decent regression test system, for the first time.
450 This doesn't help you directly, but it does make it a lot easier
451 for us to track the quality of the system, especially across
452 multiple linux distributions.
453
454 You can run the regression tests with 'make regtest' after 'make
455 install' completes. On SuSE 8.2 and Red Hat 9 I get this:
456
457 == 84 tests, 0 stderr failures, 0 stdout failures ==
458
459 On Red Hat 8, I get this:
460
461 == 84 tests, 2 stderr failures, 1 stdout failure ==
462 corecheck/tests/res_search (stdout)
463 memcheck/tests/sigaltstack (stderr)
464
465 sigaltstack is probably harmless. res_search doesn't work
466 on R H 8 even running natively, so I'm not too worried.
467
468 On Red Hat 7.3, a glibc-2.2.5 system, I get these harmless failures:
469
470 == 84 tests, 2 stderr failures, 1 stdout failure ==
471 corecheck/tests/pth_atfork1 (stdout)
472 corecheck/tests/pth_atfork1 (stderr)
473 memcheck/tests/sigaltstack (stderr)
474
475 You need to run on a PII system, at least, since some tests
476 contain P6-specific instructions, and the test machine needs
477 access to the internet so that corecheck/tests/res_search
478 (a test that the DNS resolver works) can function.
479
sewardj9d916ed2003-07-14 23:38:40 +0000480As ever, thanks for the vast amount of feedback :) and bug reports :(
481We may not answer all messages, but we do at least look at all of
482them, and tend to fix the most frequently reported bugs.
483
484
485
sewardj37918822003-05-05 01:05:09 +0000486Version 1.9.6 (7 May 2003 or thereabouts)
487~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
488
489Major changes in 1.9.6:
490
491- Improved threading support for glibc >= 2.3.2 (SuSE 8.2,
492 RedHat 9, to name but two ...) It turned out that 1.9.5
493 had problems with threading support on glibc >= 2.3.2,
494 usually manifested by threaded programs deadlocking in system calls,
495 or running unbelievably slowly. Hopefully these are fixed now. 1.9.6
496 is the first valgrind which gives reasonable support for
497 glibc-2.3.2. Also fixed a 2.3.2 problem with pthread_atfork().
498
499- Majorly expanded FAQ.txt. We've added workarounds for all
500 common problems for which a workaround is known.
501
502Minor changes in 1.9.6:
503
504- Fix identification of the main thread's stack. Incorrect
505 identification of it was causing some on-stack addresses to not get
506 identified as such. This only affected the usefulness of some error
507 messages; the correctness of the checks made is unchanged.
508
509- Support for kernels >= 2.5.68.
510
511- Dummy implementations of __libc_current_sigrtmin,
512 __libc_current_sigrtmax and __libc_allocate_rtsig, hopefully
513 good enough to keep alive programs which previously died for lack of
514 them.
515
516- Fix bug in the VALGRIND_DISCARD_TRANSLATIONS client request.
517
sewardj3d47b792003-05-05 22:15:35 +0000518- Fix bug in the DWARF2 debug line info loader, when instructions
519 following each other have source lines far from each other
520 (e.g. with inlined functions).
521
sewardj37918822003-05-05 01:05:09 +0000522- Debug info reading: read symbols from both "symtab" and "dynsym"
523 sections, rather than merely from the one that comes last in the
524 file.
525
526- New syscall support: prctl(), creat(), lookup_dcookie().
527
528- When checking calls to accept(), recvfrom(), getsocketopt(),
529 don't complain if buffer values are NULL.
530
531- Try and avoid assertion failures in
532 mash_LD_PRELOAD_and_LD_LIBRARY_PATH.
533
534- Minor bug fixes in cg_annotate.
535
536
537
sewardj90238792003-05-05 00:23:42 +0000538Version 1.9.5 (7 April 2003)
539~~~~~~~~~~~~~~~~~~~~~~~~~~~~
540
541It occurs to me that it would be helpful for valgrind users to record
542in the source distribution the changes in each release. So I now
543attempt to mend my errant ways :-) Changes in this and future releases
544will be documented in the NEWS file in the source distribution.
545
546Major changes in 1.9.5:
547
548- (Critical bug fix): Fix a bug in the FPU simulation. This was
549 causing some floating point conditional tests not to work right.
550 Several people reported this. If you had floating point code which
551 didn't work right on 1.9.1 to 1.9.4, it's worth trying 1.9.5.
552
553- Partial support for Red Hat 9. RH9 uses the new Native Posix
554 Threads Library (NPTL), instead of the older LinuxThreads.
555 This potentially causes problems with V which will take some
556 time to correct. In the meantime we have partially worked around
557 this, and so 1.9.5 works on RH9. Threaded programs still work,
558 but they may deadlock, because some system calls (accept, read,
559 write, etc) which should be nonblocking, in fact do block. This
560 is a known bug which we are looking into.
561
562 If you can, your best bet (unfortunately) is to avoid using
563 1.9.5 on a Red Hat 9 system, or on any NPTL-based distribution.
564 If your glibc is 2.3.1 or earlier, you're almost certainly OK.
565
566Minor changes in 1.9.5:
567
568- Added some #errors to valgrind.h to ensure people don't include
569 it accidentally in their sources. This is a change from 1.0.X
570 which was never properly documented. The right thing to include
571 is now memcheck.h. Some people reported problems and strange
572 behaviour when (incorrectly) including valgrind.h in code with
573 1.9.1 -- 1.9.4. This is no longer possible.
574
575- Add some __extension__ bits and pieces so that gcc configured
576 for valgrind-checking compiles even with -Werror. If you
577 don't understand this, ignore it. Of interest to gcc developers
578 only.
579
580- Removed a pointless check which caused problems interworking
581 with Clearcase. V would complain about shared objects whose
582 names did not end ".so", and refuse to run. This is now fixed.
583 In fact it was fixed in 1.9.4 but not documented.
584
585- Fixed a bug causing an assertion failure of "waiters == 1"
586 somewhere in vg_scheduler.c, when running large threaded apps,
587 notably MySQL.
588
589- Add support for the munlock system call (124).
590
591Some comments about future releases:
592
5931.9.5 is, we hope, the most stable Valgrind so far. It pretty much
594supersedes the 1.0.X branch. If you are a valgrind packager, please
595consider making 1.9.5 available to your users. You can regard the
5961.0.X branch as obsolete: 1.9.5 is stable and vastly superior. There
597are no plans at all for further releases of the 1.0.X branch.
598
599If you want a leading-edge valgrind, consider building the cvs head
600(from SourceForge), or getting a snapshot of it. Current cool stuff
601going in includes MMX support (done); SSE/SSE2 support (in progress),
602a significant (10-20%) performance improvement (done), and the usual
603large collection of minor changes. Hopefully we will be able to
604improve our NPTL support, but no promises.
605