|
From: Julian S. <js...@ac...> - 2005-03-17 11:22:52
|
CVS commit by jseward: Reword somewhat. M +66 -59 NEWS 1.32 --- valgrind/NEWS #1.31:1.32 @@ -1,54 +1,60 @@ Stable release 2.4.0 (March 2005) -- CHANGES RELATIVE TO 2.2.0 -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - -2.4.0 represents another architectural change for Valgrind. The most -significant user-visible change is that we no longer emulate -libpthread; this has both pluses and minuses. - -* Memcheck is now the default tool - -* The default stack backtrace is now 12 call frames - -* Suppressions can have up to 25 call frame matches, rather than - just 4 - -* libpthread has gone along with all the bugs associated with it. - Instead, Valgrind now emulates the kernel's threading syscalls - (clone, etc), and lets you use your standard system libpthread. - This means: - - - There should be many fewer system dependencies and strange - library-related bugs. There is a small performance improvement, - and a large stability improvement. - - - On the downside, this means that Valgrind can no longer report - on problems with how your program uses threads. It also means - that Helgrind is currently non-functional. We're hoping to - fix these for a (near) future release. - -* Addrcheck and memcheck use a lot less memory for many programs. - These tools no longer need to allocate shadow memory if there are - large regions of memory with the same A/V states - such as an - mmaped file. - -* Addrcheck and memcheck's leak-detector has been improved. It now - reports many more types of memory leak, including leaked cycles. - When reporting leaked memory, it can distinguish between directly - leaked memory (memory with no references), and indirectly leaked - memory (memory only referred to by other leaked memory). - -* Memcheck's confusion over the effect of mprotect() has been fixed; - previously mprotect could erroneously make undefined data defined. - -* State passed to signal handlers may be modified so that it will take - effect when the signal returns. You will need run with --single-step=yes - to make this useful. - -* In general, signal handling should now be indistinguishable from - running natively. +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +2.4.0 brings many significant changes and bug fixes. The most +significant user-visible change is that we no longer supply our own +pthread implementation. Instead, Valgrind is finally capable of +running the native thread library, either LinuxThreads or NPTL. + +This means our libpthread has gone, along with the bugs associated +with it. Valgrind now supports the kernel's threading syscalls, and +lets you use your standard system libpthread. As a result: + +* There are many fewer system dependencies and strange library-related + bugs. There is a small performance improvement, and a large + stability improvement. + +* On the downside, Valgrind can no longer report misuses of the POSIX + PThreads API. It also means that Helgrind currently does not work. + We hope to fix these problems in a future release. + +Note that running the native thread libraries does not mean Valgrind +is able to provide genuine concurrent execution on SMPs. We still +impose the restriction that only one thread is running at any given +time. + +There are many other significant changes too: + +* Memcheck is (once again) the default tool. + +* The default stack backtrace is now 12 call frames, rather than 4. + +* Suppressions can have up to 25 call frame matches, rather than 4. + +* Memcheck and Addrcheck use less memory. Under some circumstances, + they no longer allocate shadow memory if there are large regions of + memory with the same A/V states - such as an mmaped file. + +* The memory-leak detector in Memcheck and Addrcheck has been + improved. It now reports more types of memory leak, including + leaked cycles. When reporting leaked memory, it can distinguish + between directly leaked memory (memory with no references), and + indirectly leaked memory (memory only referred to by other leaked + memory). + +* Memcheck's confusion over the effect of mprotect() has been fixed: + previously mprotect could erroneously mark undefined data as + defined. + +* Signal handling is much improved and should be very close to what + you get when running natively. + + One result of this is that Valgrind observes changes to sigcontexts + passed to signal handlers. Such modifications will take effect when + the signal returns. You will need to run with --single-step=yes to + make this useful. * Valgrind is built in Position Independent Executable (PIE) format if - the toolchain supports it. This allows it to take advantage of all + your toolchain supports it. This allows it to take advantage of all the available address space on systems with 4Gbyte user address spaces. @@ -56,15 +62,15 @@ * Valgrind can now run itself (requires PIE support). -* Syscall arguments are now checked for validity. Previously all memory - used by syscalls was checked, but now the actual values passed - are also checked. - -* Syscall wrappers are now more robust against bad addresses being - passed to syscalls; they will fail with EFAULT rather than killing - Valgrind with SIGSEGV. - -* Because clone() is directly supported, many non-pthread uses of - it will work. Partial sharing (where some resources are shared, - and some are not) is not supported. +* Syscall arguments are now checked for validity. Previously all + memory used by syscalls was checked, but now the actual values + passed are also checked. + +* Syscall wrappers are more robust against bad addresses being passed + to syscalls: they will fail with EFAULT rather than killing Valgrind + with SIGSEGV. + +* Because clone() is directly supported, some non-pthread uses of it + will work. Partial sharing (where some resources are shared, and + some are not) is not supported. * open() and readlink() on /proc/self/exe are supported. @@ -158,4 +164,5 @@ 101562 valgrind massif dies on SIGINT even with signal handler r... + Stable release 2.2.0 (31 August 2004) -- CHANGES RELATIVE TO 2.0.0 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ |