From: Nicholas Nethercote Date: Tue, 19 Jul 2005 23:46:08 +0000 (+0000) Subject: Make a first cut at the 3.0.0 release notes. X-Git-Tag: svn/VALGRIND_3_0_0~114 X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=ff50864d37a8217c785d25ee9bbff8789293e037;p=thirdparty%2Fvalgrind.git Make a first cut at the 3.0.0 release notes. git-svn-id: svn://svn.valgrind.org/valgrind/trunk@4204 --- diff --git a/NEWS b/NEWS index a8bb36e161..89713c85cb 100644 --- a/NEWS +++ b/NEWS @@ -1,4 +1,79 @@ +[[TODO: fix all the TODO items!]] + +Release 3.0.0 ([[TODO: add release date]]) +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +3.0.0 is a major overhaul of Valgrind. The most significant user-visible +change is that Valgrind now supports architectures other than x86. +The new architectures it supports are AMD64 and PPC32, and the +infrastructure is present for other architectures to be added later. + +The AMD64 support works well, but has some shortcomings: + + - It generally won't be as solid as the x86 version. For example, support + for more obscure instructions and system calls may be missing. We will + fix these as they arise. + + - Address space may be limited; see the point about position-independent + executables below. + +The PPC32 support is very basic. It may not work reliably even for small +programs, but it's a start. Many thanks to Paul Mackerras for his great +work that enabled this support. + +Other user-visible changes: + +- No longer building Valgrind as a position-indendependent executable (PIE) + by default, as it caused too many problems. + + Without PIE enabled, AMD64 programs will only be able to access 2GB of + address space. We will fix this eventually, but not for the moment. + + Use --enable-pie at configure-time to turn this on. + +- Support for programs that use stack-switching has been improved. Use + the --max-stackframe flag for simple cases, and the + VALGRIND_STACK_REGISTER, VALGRIND_STACK_DEREGISTER and + VALGRIND_STACK_CHANGE client requests for trickier cases. + +- Support for programs that use self-modifying code has been improved, in + particular programs that put temporary code fragments on the stack. + This helps for C programs compiled with GCC that use nested functions, and + also Ada programs. This is controlled with the --smc-support flag, + although the default setting should work in most cases. + +- Output can now be printed in XML format. This should make it easier for + other tools (such as GUI front-ends) to use Valgrind output as input. + The --xml flag controls this. + [[TODO: describe the related CLOs added (eg. --log-file-qualifier)]] + +- Programs that allocate many heap blocks may run faster, due to + improvements in certain data structures. + +- Addrcheck is currently not working. We hope to get it working again soon. + Helgrind is still not working, as was the case for the 2.4.0 release. + +- [[TODO: add more here]] + +Changes that are not user-visible: + +- The JITter has been completely rewritten, and is now in a separate + library, called Vex. This enabled a lot of the user-visible changes, such + as new architecture support. It may run slower than the old JITter; + feedback about this would be useful. + +- The code has been modularized significantly, and should be easier to + navigate and understand. + +- Lots of code has been rewritten. + +- [[TODO: add more here]] + +BUGS FIXED + +[[TODO: add the full list here (once the RCs are out of the way?)]] + + Stable release 2.4.0 (March 2005) -- CHANGES RELATIVE TO 2.2.0 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2.4.0 brings many significant changes and bug fixes. The most