diff options
author | sewardj <sewardj@a5019735-40e9-0310-863c-91ae7b9d1cf9> | 2008-12-23 13:14:06 +0000 |
---|---|---|
committer | sewardj <sewardj@a5019735-40e9-0310-863c-91ae7b9d1cf9> | 2008-12-23 13:14:06 +0000 |
commit | 565fcf10f030a92ac324f7f36f23f5f1fdc5b275 (patch) | |
tree | f1e5eb5b3ecfd5cb18b8189c3321ed30fb45dbc0 /NEWS | |
parent | 1a620d54243999889a3b97f987050551d24025df (diff) | |
download | valgrind-565fcf10f030a92ac324f7f36f23f5f1fdc5b275.tar.gz |
Update for 3.4.0 (imcomplete).
git-svn-id: svn://svn.valgrind.org/valgrind/trunk@8872 a5019735-40e9-0310-863c-91ae7b9d1cf9
Diffstat (limited to 'NEWS')
-rw-r--r-- | NEWS | 138 |
1 files changed, 118 insertions, 20 deletions
@@ -1,39 +1,137 @@ -Release 3.4.0 (???) -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +Release 3.4.0 (2 January 2009) +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +3.4.0 is a feature release with many significant improvements and the +usual collection of bug fixes. This release supports X86/Linux, +AMD64/Linux, PPC32/Linux and PPC64/Linux. Support for recent distros +(using gcc 4.4, glibc 2.8 and 2.9) has been added. + +3.4.0 brings some significant tool improvements. Memcheck can now +report the origin of uninitialised values, the thread checkers +Helgrind and DRD are much improved, and we have a new experimental +tool, exp-Ptrcheck, which is able to detect overruns of stack and +global arrays. In detail: + +* Memcheck is now able to track the origin of uninitialised values. + When it reports an uninitialised value error, it will try to show + the origin of the value, as either a heap or stack allocation. + Origin tracking is expensive and so is not enabled by default. To + use it, specify --track-origins=yes. Memcheck's speed will be + essentially halved, and memory usage will be significantly + increased. Nevertheless it can drastically reduce the effort + required to identify the root cause of uninitialised value errors, + and so is often a programmer productivity win, despite running more + slowly. + +* A version (1.4.0) of the Valkyrie GUI, that works with Memcheck in + 3.4.0, will be released at the same time as 3.4.0. + +* Helgrind's race detection algorithm has been completely redesigned + and reimplemented, to address usability and scalability concerns: + + - The new algorithm has a lower false-error rate: it is much less + likely to report races that do not really exist. + + - Helgrind will display full call stacks for both accesses involved + in a race. This makes it far easier to identify the root causes + of races. + + - Limitations on the size of program that can run have been removed. + + - Performance has been modestly improved, although that is very + workload-dependent. + + - Direct support for Qt4 threading has been added. + + - pthread_barriers are now directly supported. + + - Helgrind works well on all supported Linux targets. -Main change points (need to add details for all) +* The DRD thread debugging tool has seen major improvements: -- Origin tracking in Memcheck + - Greatly improved performance and significantly reduced memory + usage. -- Helgrind completely rewritten, to remove false error and scaling -problems and to give improved diagnostics + - Support for several major threading libraries (Boost.Thread, Qt4, + glib, OpenMP) has been added. -- Drd majorly improved (details ..) + - Support for atomic instructions, POSIX semaphores, barriers and + reader-writer locks has been added. -- New tool: exp-ptrcheck, for doing checks on stack and global arrays + - Works now on PowerPC CPUs too. -- gcc-4.4.0 support, including demangler fixes for recent g++'s + - Added support for printing thread stack usage at thread exit time. -- new distro support: OpenSUSE 11.1, Fedora 10, Ubuntu 8.10 + - Added support for debugging lock contention. -- Frame level wildcarding in suppressions + - Added a manual for Drd. -- Basic support for IBM Power6 (64-bit processes only) +* A new experimental tool, exp-Ptrcheck, has been added. Ptrcheck + checks for misuses of pointers. In that sense it is a bit like + Memcheck. However, Ptrcheck can do things Memcheck can't: it can + detect overruns of stack and global arrays, it can detect + arbitrarily far out-of-bounds accesses to heap blocks, and it can + detect accesses heap blocks that have been freed a very long time + ago (millions of blocks in the past). -- SSSE3 insns now supported. Changed CPUID output to be Core-2, so now it - claims to be a Core 2 E6600. + Ptrcheck currently works only on x86-linux and amd64-linux. To use + it, use --tool=exp-ptrcheck. A simple manual is provided, as part + of the main Valgrind documentation. As this is an experimental + tool, we would be particularly interested in hearing about your + experiences with it. + +* exp-Omega, an experimental instantaneous leak-detecting tool, + has been removed from the distribution. + +* As usual, support for the latest Linux distros and toolchain + components has been added. It should work well on Fedora Core 10, + OpenSUSE 11.1 and Ubuntu 8.10. gcc-4.4 (in its current pre-release + state) is supported, as is glibc-2.9. The C++ demangler has been + updated so as to work well with C++ compiled by even the most recent + g++'s. + +* You can now use frame-level wildcards in suppressions. This was a + frequently-requested enhancement. A line "..." in a suppression now + matches zero or more frames. This makes it easier to write + suppressions which are precise yet insensitive to changes in + inlining behaviour. + +* 3.4.0 adds support on x86/amd64 for the SSSE3 instruction set. + +* Very basic support for IBM Power6 has been added (64-bit processes only). + +* Valgrind is now cross-compilable. For example, it is possible to + cross compile Valgrind on an x86/amd64-linux host, so that it runs + on a ppc32/64-linux target. + +* The following bugs have been fixed. Note that "n-i-bz" stands for + "not in bugzilla" -- that is, a bug that was reported to us but + never got a bugzilla entry. We encourage you to file bugs in + bugzilla (http://bugs.kde.org/enter_valgrind_bug.cgi) rather than + mailing the developers (or mailing lists) directly. + + // fill this bit in + +Developer-visible changes: -- cross-compilation support +* Valgrind's debug-info reading machinery has been majorly overhauled. + It can now correctly establish the addresses for ELF data symbols, + which is something that has never worked properly before now. -- many bugs fixed, as usual + Also, Valgrind can now read DWARF3 type and location information for + stack and global variables. This makes it possible to use the + framework to build tools that rely on knowing the type and locations + of stack and global variables, for example exp-Ptrcheck. -- non-user-visible: able to read Dwarf3 type/variable information, - so as to understand the location and type of stack and local variables + Reading of such information is disabled by default, because most + tools don't need it, and because it is expensive in space and time. + However, you can force Valgrind to read it, using the + --read-var-info=yes flag. Memcheck, Helgrind and DRD are able to + make use of such information, if present, to provide source-level + descriptions of data addresses in the error messages they create. -- matching release of Valkyrie, (a GUI for Memcheck), v 1.4.0 +(3.4.0.RC1: 23 Dec 2008, vex rXXXX, valgrind rXXXX). -- what else? Release 3.3.1 (4 June 2008) |