Skip to content

Update Valgrind from 3.11.0 to 3.12.0 #394

Merged
merged 2 commits into from
Jun 9, 2017

Conversation

pmenzel
Copy link
Collaborator

@pmenzel pmenzel commented Jun 8, 2017

Tested on keineahnung.

[Release notes](http://valgrind.org/docs/manual/dist.news.html):

> 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 =================
>
> * 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 ====================
>
> * Memcheck:
>
>   - Added meta mempool support for describing a custom allocator which:
>      - Auto-frees all chunks assuming that destroying a pool destroys all
>        objects in the pool
>      - Uses itself to allocate other memory blocks
>
>   - 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:
>
>   - 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 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 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 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 GDB >= 7.11 to use 'catch syscall' with
>     gdbserver.
>
> * New option --run-cxx-freeres=<yes|no> can be used to change whether
>   __gnu_cxx::__freeres() cleanup function is called or not. Default is
>   'yes'.
>
> * Valgrind is able to read compressed debuginfo sections in two formats:
>   - zlib ELF gABI format with SHF_COMPRESSED flag (gcc option -gz=zlib)
>   - zlib GNU format with .zdebug sections (gcc option -gz=zlib-gnu)
>
> * Modest JIT-cost improvements: the cost of instrumenting code blocks
>   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.
>
> […]
@thomas thomas merged commit 8a86688 into master Jun 9, 2017
@donald donald deleted the update-valgrind-from-3.11.0-to-3.12.0 branch June 27, 2017 13:52
Sign in to join this conversation on GitHub.
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

2 participants