diff options
author | sewardj <sewardj@a5019735-40e9-0310-863c-91ae7b9d1cf9> | 2006-05-26 00:47:13 +0000 |
---|---|---|
committer | sewardj <sewardj@a5019735-40e9-0310-863c-91ae7b9d1cf9> | 2006-05-26 00:47:13 +0000 |
commit | 1ede80fced257772ee92aff7f0ad40db59038339 (patch) | |
tree | 9357692ebfa88559a8853cac097fe7bcdbe9da91 /NEWS | |
parent | 9136899ca8bdb68de5555469d280e3f769a3418b (diff) |
Push towards a final version for 3.2.0.
git-svn-id: svn://svn.valgrind.org/valgrind/trunk@5932 a5019735-40e9-0310-863c-91ae7b9d1cf9
Diffstat (limited to 'NEWS')
-rw-r--r-- | NEWS | 190 |
1 files changed, 119 insertions, 71 deletions
@@ -1,90 +1,99 @@ -Release 3.2.0 (19 May 2006) + +Release 3.2.0 (?? May 2006) ~~~~~~~~~~~~~~~~~~~~~~~~~~~ -3.2.0 is a feature release with a number of significant improvements: -Performance (especially of Memcheck) is much improved, Addrcheck has been -removed, Callgrind has been added, PPC64/Linux support has been added, -Lackey has been improved, and MPI support has been added. In detail: - -- Performance is much improved: programs typically run 1.20--1.40 times - faster under Memcheck (much more for some unusual programs) with an - average of about 1.30 for the programs we tested it on. The improvements - for Nulgrind are similar. We haven't measured Cachegrind and Massif, they - should be also be faster, but with smaller improvements. We are - interested to hear what improvements users get. - - Also, Memcheck uses much less memory, due to the introduction of a - "compressed V bits" representation for Memcheck's shadow memory. The - amount of shadow memory used -- which accounts for a large percentage of - Memcheck's memory overhead -- has been reduced by a factor of more than 4 - on most programs. This means you should be able to run programs that use - more memory than before without hitting problems. This change in - representation also contributes to the speed improvements. - -- Addrcheck has been removed. It has not worked since version 2.4.0, and - with the speed and memory improvements to Memcheck it is no longer worth - having around. If you liked using Addrcheck because it didn't give - undefined value errors, you can use the new Memcheck option - --undef-value-errors=no to obtain this behaviour. - -- Josef Weidendorfer's popular Callgrind tool has been added. [XXX: - more details] [XXX: say something about KCachegrind and why it has not - been folded in... I guess because its development is quite independent] +3.2.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. + +Performance, especially of Memcheck, is much improved, Addrcheck has +been removed, Callgrind has been added, PPC64/Linux support has been +added, Lackey has been improved, and MPI support has been added. In +detail: + +- Memcheck has improved speed and reduced memory use. Programs + typically run 20-40% faster, averaging about 30% for SPEC CPU2000. + There are smaller but noticeable speed improvements for the other + tools. We are interested to hear what improvements users get. + + Memcheck uses less memory, due to the introduction of a compressed + representation for Memcheck's shadow memory. The space overhead has + been reduced by a factor of more than four on most programs. This + means you should be able to run programs that use more memory than + before without hitting problems. + +- Addrcheck has been removed. It has not worked since version 2.4.0, + and the speed and memory improvements to Memcheck make it redundant. + If you liked using Addrcheck because it didn't give undefined value + errors, you can use the new Memcheck option --undef-value-errors=no + to get the same behaviour. + +- Further reduced rates of incorrectly reported undefined-value-errors + in Memcheck (it was already very low). In particular, efforts have + been made to ensure Memcheck works really well with gcc + 4.0/4.1-generated code on X86/Linux and AMD64/Linux. + +- Josef Weidendorfer's popular Callgrind tool has been added. Folding + it in is in a logical step given its popularity and usefulness, and + makes it easier for us to ensure it works "out of the box" on all + supported targets. The associated KDE KCachegrind GUI remains a + separate project. - Valgrind now works on PPC64/Linux. As with the AMD64/Linux port, - this supports programs using to 32G of address space. On - 64-bit capable PPC64/Linux setups, you get a dual architecture - build so that both 32-bit and 64-bit executables can be run. - Linux on POWER5 is supported, and POWER4 is also believed to - work. Both 32-bit and 64-bit DWARF2 is supported. This port is - known to work well with both gcc-compiled and xlc/xlf-compiled code. - -- Floating point accuracy has been improved for PPC32/Linux. - Specifically, the floating point rounding mode is observed on all - FP arithmetic operations, and multiply-accumulate instructions are - preserved by the compilation pipeline. This means you should - get FP results which are bit-for-bit identical to a native run. - These improvements are also present in the PPC64/Linux port. + this supports programs using to 32G of address space. On 64-bit + capable PPC64/Linux setups, you get a dual architecture build so + that both 32-bit and 64-bit executables can be run. Linux on POWER5 + is supported, and POWER4 is also believed to work. Both 32-bit and + 64-bit DWARF2 is supported. This port is known to work well with + both gcc-compiled and xlc/xlf-compiled code. + +- Floating point accuracy has been improved for PPC32/Linux. + Specifically, the floating point rounding mode is observed on all FP + arithmetic operations, and multiply-accumulate instructions are + preserved by the compilation pipeline. This means you should get FP + results which are bit-for-bit identical to a native run. These + improvements are also present in the PPC64/Linux port. - Lackey, the example tool, has been improved: - * It has a new option --detailed-counts (off by default) which causes - it to print out a count of loads, stores and ALU operations done, and - their sizes. + * It has a new option --detailed-counts (off by default) which + causes it to print out a count of loads, stores and ALU operations + done, and their sizes. - * It has a new option --trace-mem (off by default) which causes it to - print out a trace of all memory accesses performed by a program. It's a - good starting point for building Valgrind tools that need to track - memory accesses. Read the comments at the top of the file - lackey/lk_main.c for details. + * It has a new option --trace-mem (off by default) which causes it + to print out a trace of all memory accesses performed by a + program. It's a good starting point for building Valgrind tools + that need to track memory accesses. Read the comments at the top + of the file lackey/lk_main.c for details. - * The original instrumentation (counting numbers of instructions, jumps, - etc) is now controlled by a new option --basic-counts. It is on by - default. + * The original instrumentation (counting numbers of instructions, + jumps, etc) is now controlled by a new option --basic-counts. It + is on by default. - MPI support: partial support for debugging distributed applications - using the MPI library specification has been added. Valgrind is + using the MPI library specification has been added. Valgrind is aware of the memory state changes caused by a subset of the MPI functions, and will carefully check data passed to the (P)MPI_ interface. -- A new flag, --error-exitcode=, has been added. This allows changing the - exit code in runs where Valgrind reported errors, which is useful when - using Valgrind as part of an automated test suite. +- A new flag, --error-exitcode=, has been added. This allows changing + the exit code in runs where Valgrind reported errors, which is + useful when using Valgrind as part of an automated test suite. -- XXX: others... +- Various segfaults when reading old-style "stabs" debug information + have been fixed. -Please note that Helgrind is still not working. We have made an important -step towards making it work again, however, with the addition of function -wrapping (see below). +Please note that Helgrind is still not working. We have made an +important step towards making it work again, however, with the +addition of function wrapping (see below). Other user-visible changes: -- Valgrind now has the ability to intercept and wrap arbitrary functions. - This is a preliminary step towards making Helgrind work again, and - was required for MPI support. +- Valgrind now has the ability to intercept and wrap arbitrary + functions. This is a preliminary step towards making Helgrind work + again, and was required for MPI support. -- There are some changes to Memcheck's client requests. Some of them have - changed names: +- There are some changes to Memcheck's client requests. Some of them + have changed names: MAKE_NOACCESS --> MAKE_MEM_NOACCESS MAKE_WRITABLE --> MAKE_MEM_UNDEFINED @@ -94,9 +103,9 @@ Other user-visible changes: CHECK_READABLE --> CHECK_MEM_IS_DEFINED CHECK_DEFINED --> CHECK_VALUE_IS_DEFINED - The reason for the change is that the old names are subtly misleading. - The old names will still work, but they are deprecated and may be removed - in a future release. + The reason for the change is that the old names are subtly + misleading. The old names will still work, but they are deprecated + and may be removed in a future release. We also added a new client request: @@ -108,7 +117,46 @@ Other user-visible changes: BUGS FIXED: -XXX +108258 NPTL pthread cleanup handlers not called +117290 valgrind is sigKILL'd on startup +117295 == 117290 +118703 m_signals.c:1427 Assertion 'tst->status == VgTs_WaitSys' +118466 add %reg, %reg generates incorrect validity for bit 0 +123210 New: strlen from ld-linux on amd64 +123244 DWARF2 CFI reader: unhandled CFI instruction 0:18 +123248 syscalls in glibc-2.4: openat, fstatat, symlinkat +123258 socketcall.recvmsg(msg.msg_iov[i] points to uninit +123535 mremap(new_addr) requires MREMAP_FIXED in 4th arg +123836 small typo in the doc +124029 ppc compile failed: `vor' gcc 3.3.5 +124222 Segfault: @@don't know what type ':' is +124475 ppc32: crash (syscall?) timer_settime() +124499 amd64->IR: 0xF 0xE 0x48 0x85 (femms) +124528 FATAL: aspacem assertion failed: segment_is_sane +124697 vex x86->IR: 0xF 0x70 0xC9 0x0 (pshufw) +124892 vex x86->IR: 0xF3 0xAE (REPx SCASB) +126216 == 124892 +124808 ppc32: sys_sched_getaffinity() not handled +n-i-bz Very long stabs strings crash m_debuginfo +n-i-bz amd64->IR: 0x66 0xF 0xF5 (pmaddwd) +125492 ppc32: support a bunch more syscalls +121617 ppc32/64: coredumping gives assertion failure +121814 Coregrind return error as exitcode patch +126517 == 121814 +108528 NPTL pthread cleanup handlers not called +125607 amd64->IR: 0x66 0xF 0xA3 0x2 (btw etc) +125651 amd64->IR: 0xF8 0x49 0xFF 0xE3 (clc?) +126253 x86 movx is wrong +126451 3.2 SVN doesn't work on ppc32 CPU's without FPU +126217 increase # threads +126243 vex x86->IR: popw mem +126583 amd64->IR: 0x48 0xF 0xA4 0xC2 (shld $1,%rax,%rdx) +126668 amd64->IR: 0x1C 0xFF (sbb $0xff,%al) +126696 support for CDROMREADRAW ioctl and CDROMREADTOCENTRY fix +126722 assertion: segment_is_sane at m_aspacemgr/aspacemgr.c:1624 +126938 bad checking for syscalls linkat, renameat, symlinkat + +(3.2.0: ?? May 2006, vex r??, valgrind r??) Release 3.1.1 (15 March 2006) |