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