Update for 3.7.0. (What did I forget?)
git-svn-id: svn://svn.valgrind.org/valgrind/trunk@12212 a5019735-40e9-0310-863c-91ae7b9d1cf9
diff --git a/NEWS b/NEWS
index 48f0ceb..f1cd3f0 100644
--- a/NEWS
+++ b/NEWS
@@ -1,53 +1,124 @@
-Release 3.7.0 (???)
-~~~~~~~~~~~~~~~~~~~
+Release 3.7.0 (XX November 2011)
+~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+3.7.0 is a feature release with many significant improvements and the
+usual collection of bug fixes.
-- It is now possible to build a working Valgrind using Clang-2.9 on
+This release supports X86/Linux, AMD64/Linux, ARM/Linux, PPC32/Linux,
+PPC64/Linux, S390X/Linux, ARM/Android, X86/Darwin and AMD64/Darwin.
+Support for recent distros and toolchain components (glibc 2.14, gcc
+4.6, MacOSX 10.7) has been added.
+
+* ================== PLATFORM CHANGES =================
+
+* Support for IBM z/Architecture (s390x) running Linux. Valgrind can
+ analyse 64-bit programs running on z/Architecture. Most user space
+ instructions up to and including z10 are supported. Valgrind has
+ been tested extensively on z9, z10, and z196 machines running SLES
+ 10/11, RedHat 5/6m, and Fedora. The Memcheck and Massif tools are
+ known to work well. Callgrind, Helgrind, and DRD work reasonably
+ well on z9 and later models. See README.s390 for more details.
+
+* Preliminary support for MacOSX 10.7 and XCode 4. Both 32- and
+ 64-bit processes are supported. Some complex threaded applications
+ (Firefox) are observed to hang when run as 32 bit applications,
+ whereas 64-bit versions run OK. The cause is unknown. Memcheck
+ will likely report some false errors. In general, expect some rough
+ spots. This release also supports MacOSX 10.6, but drops support
+ for 10.5.
+
+* Preliminary support for Android (on ARM). Valgrind can now run
+ large applications (eg, Firefox) on (eg) a Samsung Nexus S. See
+ README.android for more details, plus instructions on how to get
+ started.
+
+* Support for the IBM Power ISA 2.06 (Power7 instructions)
+
+* General correctness and performance improvements for ARM/Linux, and,
+ by extension, ARM/Android.
+
+* Further solidification of support for SSE 4.2 on 64-bit mode. AVX
+ instruction set support is under development but is not available in
+ this release.
+
+* Support for AIX5 has been removed.
+
+* ==================== TOOL CHANGES ====================
+
+* Memcheck: some incremental changes:
+
+ - reduction of memory use in some circumstances
+
+ - improved handling of freed memory, which in some circumstances
+ can cause detection of use-after-free that would previously have
+ been missed
+
+ - fix of a longstanding bug that could cause false negatives (missed
+ errors) in programs doing vector saturated narrowing instructions.
+
+* Helgrind: performance improvements and major memory use reductions,
+ particularly for large, long running applications which perform many
+ synchronisation (lock, unlock, etc) events. Plus many smaller
+ changes:
+
+ - display of locksets for both threads involved in a race
+
+ - general improvements in formatting/clarity of error messages
+
+ - addition of facilities and documentation regarding annotation
+ of thread safe reference counted C++ classes
+
+ - new flag --check-stack-refs=no|yes [yes], to disable race checking
+ on thread stacks (a performance hack)
+
+ - new flag --free-is-write=no|yes [no], to enable detection of races
+ where one thread accesses heap memory but another one frees it,
+ without any coordinating synchronisation event
+
+* DRD: enabled XML output; added support for delayed thread deletion
+ in order to detect races that occur close to the end of a thread
+ (--join-list-vol); fixed a memory leak triggered by repeated client
+ memory allocatation and deallocation; improved Darwin support.
+
+* exp-ptrcheck: this tool has been reduced in scope so as to improve
+ performance and remove checking that Memcheck does better.
+ Specifically, the ability to check for overruns for stack and global
+ arrays is unchanged, but the ability to check for overruns of heap
+ blocks has been removed. The tool has accordingly been renamed to
+ exp-sgcheck ("Stack and Global Array Checking").
+
+* ==================== OTHER CHANGES ====================
+
+* GDB server: Valgrind now has an embedded GDB server. That means it
+ is possible to control a Valgrind run from GDB, doing all the usual
+ things that GDB can do (single stepping, breakpoints, examining
+ data, etc). Tool-specific functionality is also available. For
+ example, it is possible to query the definedness state of variables
+ or memory from within GDB when running Memcheck; arbitrarily large
+ memory watchpoints are supported, etc. To use the GDB server, start
+ Valgrind with the flag --vgdb-error=0 and follow the on-screen
+ instructions.
+
+* Improved support for unfriendly self-modifying code: a new option
+ --smc-check=all-non-file is available. This adds the relevant
+ consistency checks only to code that originates in non-file-backed
+ mappings. In effect this confines the consistency checking only to
+ code that is or might be JIT generated, and avoids checks on code
+ that must have been compiled ahead of time. This significantly
+ improves performance on applications that generate code at run time.
+
+* It is now possible to build a working Valgrind using Clang-2.9 on
Linux.
-- preliminary support for MacOSX 10.7. Both 32- and 64-bit processes
- are supported. Some complex threaded applications (Firefox) are
- observed to hang when run as 32 bit applications, whereas 64-bit
- versions run OK. The cause is unknown. Memcheck will likely report
- some false errors. In general, expect some rough spots.
+* new client requests VALGRIND_{DISABLE,ENABLE}_ERROR_REPORTING.
+ These enable and disable error reporting on a per-thread, and
+ nestable, basis. This is useful for hiding errors in particularly
+ troublesome pieces of code. The MPI wrapper library (libmpiwrap.c)
+ now uses this facility.
-- new client requests VALGRIND_{DISABLE,ENABLE}_ERROR_REPORTING
+* Added the --mod-funcname option to cg_diff.
-- Added the --mod-funcname option to cg_diff.
-- Further reduction in overheads caused by --smc-check=all, especially
- on 64-bit targets.
-- new variant --smc-check=all-non-file
-
-- hg: performance improvements and memory use reductions, particularly
- for large, long running applications which perform many synch events.
-
- showing of locksets for both threads involved in a race
-
- general improvement of formatting/clarity of error messages
-
- add facilities and documentation regarding annotation of thread safe
- reference counted C++ classes
-
- new flag --check-stack-refs=no|yes [yes], to disable race checking
- on thread stacks (performance hack)
-
- new flag --free-is-write=no|yes [no], to enable detection of races
- where one thread accesses heap memory but another one frees it,
- without any coordinating synchronisation event
-
-- DRD: enabled XML output; added support for delayed thread deletion in order
- to detect races that occur close to the end of a thread (--join-list-vol);
- fixed a memory leak triggered by repeated client memory allocatation and
- deallocation; improved Darwin support.
-
-* IBM z/Architecture (s390x) running Linux
- Valgrind can analyse 64-bit programs running on z/Architecture.
- Most user space instructions up to and including z10 are supported.
- Valgrind has been tested extensively on z9, z10, and z196 machines
- running SLES 10/11, RedHat 5/6m, and Fedora. The Memcheck and Massif
- tools are known to work well. Callgrind, Helgrind, and DRD work
- reasonably well on z9 and later models. See README.s390 for more
- details.
+* ==================== FIXED BUGS ====================
The following bugs have been fixed or resolved. Note that "n-i-bz"
stands for "not in bugzilla" -- that is, a bug that was reported to us
@@ -220,6 +291,8 @@
n-i-bz don't be spooked by libraries mashed by elfhack
n-i-bz don't be spooked by libxul.so linked with gold
+(3.7.0: XX November 2011, vex rXXXX, valgrind rXXXXX).
+
Release 3.6.1 (16 February 2011)