Opened 6 years ago

Closed 6 years ago

#9371 closed enhancement (fixed)


Reported by: bdubbs@… Owned by: bdubbs@…
Priority: normal Milestone: 8.1
Component: BOOK Version: SVN
Severity: normal Keywords:


New minor version.

Change History (3)

comment:1 by bdubbs@…, 6 years ago

Owner: changed from blfs-book@… to bdubbs@…
Status: newassigned

comment:2 by bdubbs@…, 6 years ago

3.13.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 and AMD64/MacOSX 10.12.

  • ==================== CORE CHANGES ===================
  • The translation cache size has been increased to keep up with the demands of large applications. The maximum number of sectors has increased from 24 to 48. The default number of sectors has increased from 16 to 32 on all targets except Android, where the increase is from 6 to 12.
  • The amount of memory that Valgrind can use has been increased from 64GB to 128GB. In particular this means your application can allocate up to about 60GB when running on Memcheck.
  • Valgrind's default load address has been changed from 0x3800'0000 to 0x5800'0000, so as to make it possible to load larger executables. This should make it possible to load executables of size at least 1200MB.
  • A massive spaceleak caused by reading compressed debuginfo files has been fixed. Valgrind should now be entirely usable with gcc-7.0 "-gz" created debuginfo.
  • The C++ demangler has been updated.
  • Support for demangling Rust symbols has been added.
  • A new representation of stack traces, the "XTree", has been added. An XTree is a tree of stacktraces with data associated with the stacktraces. This is used by various tools (Memcheck, Helgrind, Massif) to report on the heap consumption of your program. Reporting is controlled by the new options --xtree-memory=none|allocs|full and --xtree-memory-file=<file>.

A report can also be produced on demand using the gdbserver monitor command 'xtmemory [<filename>]>'. The XTree can be output in 2 formats: 'callgrind format' and 'massif format. The existing visualisers for these formats (e.g. callgrind_annotate, KCachegrind, ms_print) can be used to visualise and analyse these reports.

Memcheck can also produce XTree leak reports using the Callgrind file format. For more details, see the user manual.

  • ================== PLATFORM CHANGES =================
  • ppc64: support for ISA 3.0B and various fixes for existing 3.0 support
  • amd64: fixes for JIT failure problems on long AVX2 code blocks
  • amd64 and x86: support for CET prefixes has been added
  • arm32: a few missing ARMv8 instructions have been implemented
  • arm64, mips64, mips32: an alternative implementation of Load-Linked and Store-Conditional instructions has been added. This is to deal with processor implementations that implement the LL/SC specifications strictly and as a result cause Valgrind to hang in certain situations. The alternative implementation is automatically enabled at startup, as required. You can use the option --sim-hints=fallback-llsc to force-enable it if you want.
  • Support for OSX 10.12 has been improved.
  • On Linux, clone handling has been improved to honour CLONE_VFORK that involves a child stack. Note however that CLONE_VFORK | CLONE_VM is handled like CLONE_VFORK (by removing CLONE_VM), so applications that depend on CLONE_VM exact semantics will (still) not work.
  • The TileGX/Linux port has been removed because it appears to be both unused and unsupported.
  • ==================== TOOL CHANGES ====================
  • Memcheck:
  • Memcheck should give fewer false positives when running optimised Clang/LLVM generated code.
  • Support for --xtree-memory and 'xtmemory [<filename>]>'.
  • New command line options --xtree-leak=no|yes and --xtree-leak-file=<file> to produce the end of execution leak report in a xtree callgrind format file.
  • New option 'xtleak' in the memcheck leak_check monitor command, to produce the leak report in an xtree file.
  • Massif:
  • Support for --xtree-memory and 'xtmemory [<filename>]>'.
  • For some workloads (typically, for big applications), Massif memory consumption and CPU consumption has decreased significantly.
  • Helgrind:
  • Support for --xtree-memory and 'xtmemory [<filename>]>'.
  • addition of client request VALGRIND_HG_GNAT_DEPENDENT_MASTER_JOIN, useful for Ada gnat compiled applications.
  • ==================== OTHER CHANGES ====================
  • For Valgrind developers: in an outer/inner setup, the outer Valgrind will append the inner guest stacktrace to the inner host stacktrace. This helps to investigate the errors reported by the outer, when they are caused by the inner guest program (such as an inner regtest). See README_DEVELOPERS for more info.
  • To allow fast detection of callgrind files by desktop environments and file managers, the format was extended to have an optional first line that uniquely identifies the format ("# callgrind format"). Callgrind creates this line now, as does the new xtree functionality.
  • File name template arguments (such as --log-file, --xtree-memory-file, ...) have a new %n format letter that is replaced by a sequence number.
  • "--version -v" now shows the SVN revision numbers from which Valgrind was built.

comment:3 by bdubbs@…, 6 years ago

Resolution: fixed
Status: assignedclosed

Fixed at revision 18833.

Note: See TracTickets for help on using tickets.