From 908f729e5dd99d581d33bb146e65b8d7f31baa7f Mon Sep 17 00:00:00 2001 From: Julian Seward Date: Thu, 20 Oct 2016 08:23:32 +0000 Subject: [PATCH] Initial finalisation for 3.12.0. git-svn-id: svn://svn.valgrind.org/valgrind/trunk@16091 --- NEWS | 106 +++++++++++++++++++++++++++++++++++++++++++---------------- 1 file changed, 78 insertions(+), 28 deletions(-) diff --git a/NEWS b/NEWS index a02a5e8495..f153c027b0 100644 --- a/NEWS +++ b/NEWS @@ -1,11 +1,39 @@ -Release 3.12.0 (?? ????????? 201?) -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -Release 3.12.0 is under development, not yet released. + +Release 3.12.0 (20 October 2016) +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + +3.12.0 is a feature release with many improvements and the usual +collection of bug fixes. + +This release supports X86/Linux, AMD64/Linux, ARM32/Linux, +ARM64/Linux, PPC32/Linux, PPC64BE/Linux, PPC64LE/Linux, S390X/Linux, +MIPS32/Linux, MIPS64/Linux, ARM/Android, ARM64/Android, +MIPS32/Android, X86/Android, X86/Solaris, AMD64/Solaris, X86/MacOSX +10.10 and AMD64/MacOSX 10.10. There is also preliminary support for +X86/MacOSX 10.11/12, AMD64/MacOSX 10.11/12 and TILEGX/Linux. * ================== PLATFORM CHANGES ================= -* Preliminary support for macOS 10.12 (Sierra) has been added. +* POWER: Support for ISA 3.0 has been added + * mips: support for O32 FPXX ABI has been added. +* mips: improved recognition of different processors +* mips: determination of page size now done at run time + +* amd64: Partial support for AMD FMA4 instructions. + +* arm, arm64: Support for v8 crypto and CRC instructions. + +* Improvements and robustification of the Solaris port. + +* Preliminary support for MacOS 10.12 (Sierra) has been added. + +Whilst 3.12.0 continues to support the 32-bit x86 instruction set, we +would prefer users to migrate to 64-bit x86 (a.k.a amd64 or x86_64) +where possible. Valgrind's support for 32-bit x86 has stagnated in +recent years and has fallen far behind that for 64-bit x86 +instructions. By contrast 64-bit x86 is well supported, up to and +including AVX2. * ==================== TOOL CHANGES ==================== @@ -16,33 +44,39 @@ Release 3.12.0 is under development, not yet released. objects in the pool - Uses itself to allocate other memory blocks -* Helgrind: - -* Callgrind: + - New flag --ignore-range-below-sp to ignore memory accesses below + the stack pointer, if you really have to. The related flag + --workaround-gcc296-bugs=yes is now deprecated. Use + --ignore-range-below-sp=1024-1 as a replacement. * DRD: -n-i-bz Improved thread startup time significantly on non-Linux platforms. + + - Improved thread startup time significantly on non-Linux platforms. + +* DHAT + + - Added collection of the metric "tot-blocks-allocd" * ==================== OTHER CHANGES ==================== * Replacement/wrapping of malloc/new related functions is now done not just for system libraries by default, but for any globally defined malloc/new - related function (both in shared libraries and staticly linked alternative - malloc implementations). Dynamic (runtime) linker is excluded, though. + related function (both in shared libraries and statically linked alternative + malloc implementations). The dynamic (runtime) linker is excluded, though. To only intercept malloc/new related functions in system libraries use --soname-synonyms=somalloc=nouserintercepts (where "nouserintercepts" can be any non-existing library name). - This new functionality is not implemented for darwin/macosx. + This new functionality is not implemented for MacOS X. * The maximum number of callers in a suppression entry is now equal to the maximum size for --num-callers (500). - Note that --gen-suppressions=yes|all similarly generate suppression + Note that --gen-suppressions=yes|all similarly generates suppressions containing up to --num-callers frames. * New and modified GDB server monitor features: - Valgrind's gdbserver now accepts the command 'catch syscall'. - Note that you must have a GDB >= 7.11 to use 'catch syscall' with + Note that you must have GDB >= 7.11 to use 'catch syscall' with gdbserver. * New option --run-cxx-freeres= can be used to change whether @@ -57,6 +91,13 @@ n-i-bz Improved thread startup time significantly on non-Linux platforms. for the most common use case (x86_64-linux, Memcheck) has been reduced by 10%-15%. +* Improved performance for programs that do a lot of discarding of + instruction address ranges of 8KB or less. + +* The C++ symbol demangler has been updated. + +* More robustness against invalid syscall parameters on Linux. + * ==================== FIXED BUGS ==================== The following bugs have been fixed or resolved. Note that "n-i-bz" @@ -71,13 +112,15 @@ To see details of a given bug, visit where XXXXXX is the bug number as listed below. 191069 Exiting due to signal not reported in XML output -199468 Suppressions: stack size limited to 25 while --num-callers allows more frames +199468 Suppressions: stack size limited to 25 + while --num-callers allows more frames 212352 vex amd64 unhandled opc_aux = 0x 2, first_opcode == 0xDC (FCOM) 278744 cvtps2pd with redundant RexW 303877 valgrind doesn't support compressed debuginfo sections. 345307 Warning about "still reachable" memory when using libstdc++ from gcc 5 348345 Assertion fails for negative lineno 351282 V 3.10.1 MIPS softfloat build broken with GCC 4.9.3 / binutils 2.25.1 +351692 Dumps created by valgrind are not readable by gdb (mips32 specific) 351804 Crash on generating suppressions for "printf" call on OS X 10.10 352197 mips: mmap2() not wrapped correctly for page size > 4096 353083 arm64 doesn't implement various xattr system calls @@ -116,11 +159,13 @@ where XXXXXX is the bug number as listed below. 356678 arm64-linux: unhandled syscall 232 (mincore) 356817 valgrind.h triggers compiler errors on MSVC when defining NVALGRIND 356823 Unsupported ARM instruction: stlex +357059 x86/amd64: SSE cvtpi2ps with memory source does transition to MMX state 357338 Unhandled instruction for SHA instructions libcrypto Boring SSL 357673 crash if I try to run valgrind with a binary link with libcurl 357833 Setting RLIMIT_DATA to zero breaks with linux 4.5+ 357871 pthread_spin_destroy not properly wrapped 357887 Calls to VG_(fclose) do not close the file descriptor +357932 amd64->IR: accept redundant REX prefixes for {minsd,maxsd} m128, xmm. 358030 support direct socket calls on x86 32bit (new in linux 4.3) 358478 drd/tests/std_thread.cpp doesn't build with GCC6 359133 Assertion 'eltSzB <= ddpa->poolSzB' failed @@ -129,6 +174,7 @@ where XXXXXX is the bug number as listed below. 359289 s390x: popcnt (B9E1) not implemented 359472 The Power PC vsubuqm instruction doesn't always give the correct result 359503 Add missing syscalls for aarch64 (arm64) +359645 "You need libc6-dbg" help message could be more helpful 359703 s390: wire up separate socketcalls system calls 359724 getsockname might crash - deref_UInt should call safe_to_deref 359733 amd64 implement ld.so strchr/index override like x86 @@ -156,7 +202,7 @@ where XXXXXX is the bug number as listed below. 361354 ppc64[le]: wire up separate socketcalls system calls 361615 Inconsistent termination for multithreaded process terminated by signal 361926 Unhandled Solaris syscall: sysfs(84) -362009 Valgrind dumps core on unimplemented functionality before threads are created +362009 V dumps core on unimplemented functionality before threads are created 362329 Valgrind does not support the IBM POWER ISA 3.0 instructions, part 3/5 362894 missing (broken) support for wbit field on mtfsfi instruction (ppc64) 362935 [AsusWRT] Assertion 'sizeof(TTEntryC) <= 88' failed @@ -179,9 +225,8 @@ where XXXXXX is the bug number as listed below. 367995 Integration of memcheck with custom memory allocator 368120 x86_linux asm _start functions do not keep 16-byte aligned stack pointer 368412 False positive result for altivec capability check -368461 mmapunmap test fails on ppc64 368416 Add tc06_two_races_xml.exp output for ppc64 -368412 False positive result for altivec capability check +368419 Perf Events ioctls not implemented 368461 mmapunmap test fails on ppc64 368823 run_a_thread_NORETURN assembly code typo for VGP_arm64_linux target 369000 AMD64 fma4 instructions unsupported. @@ -198,20 +243,25 @@ where XXXXXX is the bug number as listed below. 369441 bad lvec argument crashes process_vm_readv/writev syscall wrappers 369446 valgrind crashes on unknown fcntl command 369439 S390x: Unhandled insns RISBLG/RISBHG and LDE/LDER -369468 Remove quadratic metapool alg. using VG_(HT_remove_at_Iter) - (VgHashTable *table) +369468 Remove quadratic metapool algorithm using VG_(HT_remove_at_Iter) 370265 ISA 3.0 HW cap stuff needs updating 371128 BCD add and subtract instructions on Power BE in 32-bit mode do not work +n-i-bz Fix incorrect (or infinite loop) unwind on RHEL7 x86 and amd64 +n-i-bz massif --pages-as-heap=yes does not report peak caused by mmap+munmap +n-i-bz false positive leaks due to aspacemgr merging heap & non heap segments +n-i-bz Fix ppoll_alarm exclusion on OS X +n-i-bz Document brk segment limitation, reference manual in limit reached msg. +n-i-bz Fix clobber list in none/tests/amd64/xacq_xrel.c [valgrind r15737] +n-i-bz Bump allowed shift value for "add.w reg, sp, reg, lsl #N" [vex r3206] +n-i-bz amd64: memcheck false positive with shr %edx +n-i-bz arm3: Allow early writeback of SP base register in "strd rD, [sp, #-16]" +n-i-bz ppc: Fix two cases of PPCAvFpOp vs PPCFpOp enum confusion +n-i-bz arm: Fix incorrect register-number constraint check for LDAEX{,B,H,D} +n-i-bz DHAT: added collection of the metric "tot-blocks-allocd" + +(3.12.0.RC1: 20 October 2016, vex r3282, valgrind r16092) + -n-i-bz Fix incorrect (or infinite loop) unwind on RHEL7 x86 and amd64 -n-i-bz massif --pages-as-heap=yes does not report peak caused by mmap+munmap -n-i-bz false positive leaks due to aspacemgr merging non heap segments - with heap segments. -n-i-bz Fix ppoll_alarm exclusion on OS X -n-i-bz Document brk segment limitation, reference manual in limit reached msg. -n-i-bz Fix clobber list in none/tests/amd64/xacq_xrel.c [valgrind r15737] -n-i-bz Bump allowed shift value for "add.w reg, sp, reg, lsl #N" [vex r3206] -n-i-bz amd64: memcheck false positive with shr %edx Release 3.11.0 (22 September 2015) ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -- 2.47.2