|
From: <sv...@va...> - 2005-07-19 23:46:11
|
Author: njn Date: 2005-07-20 00:46:08 +0100 (Wed, 20 Jul 2005) New Revision: 4204 Log: Make a first cut at the 3.0.0 release notes. Modified: trunk/NEWS Modified: trunk/NEWS =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D --- trunk/NEWS 2005-07-19 23:12:11 UTC (rev 4203) +++ trunk/NEWS 2005-07-19 23:46:08 UTC (rev 4204) @@ -1,4 +1,79 @@ =20 +[[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-visibl= e +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, sup= port + for more obscure instructions and system calls may be missing. We w= ill + fix these as they arise. + + - Address space may be limited; see the point about position-independ= ent + executables below. + +The PPC32 support is very basic. It may not work reliably even for smal= l +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 (P= IE) + 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. + =20 + 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, i= n + 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 f= or + other tools (such as GUI front-ends) to use Valgrind output as input. + The --xml flag controls this. =20 + [[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 s= oon. + 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 |