Upgrade to valgrind 3.13.0 (15 June 2017).

Release 3.13.0 (15 June 2017)
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

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.

* ==================== FIXED BUGS ====================

The following bugs have been fixed or resolved.  Note that "n-i-bz"
stands for "not in bugzilla" -- that is, a bug that was reported to us
but never got a bugzilla entry.  We encourage you to file bugs in
bugzilla (https://bugs.kde.org/enter_bug.cgi?product=valgrind) rather
than mailing the developers (or mailing lists) directly -- bugs that
are not entered into bugzilla tend to get forgotten about or ignored.

To see details of a given bug, visit
  https://bugs.kde.org/show_bug.cgi?id=XXXXXX
where XXXXXX is the bug number as listed below.

162848  --log-file output isn't split when a program forks
340777  Illegal instruction on mips (ar71xx)
341481  MIPS64: Iop_CmpNE32 triggers false warning on MIPS64 platforms
342040  Valgrind mishandles clone with CLONE_VFORK | CLONE_VM that clones
        to a different stack.
344139  x86 stack-seg overrides, needed by the Wine people
344524  store conditional of guest applications always fail - observed on
        Octeon3(MIPS)
348616  Wine/valgrind: noted but unhandled ioctl 0x5390 [..] (DVD_READ_STRUCT)
352395  Please provide SVN revision info in --version -v
352767  Wine/valgrind: noted but unhandled ioctl 0x5307 [..] (CDROMSTOP)
356374  Assertion 'DRD_(g_threadinfo)[tid].pt_threadid !=
        INVALID_POSIX_THREADID' failed
358213  helgrind/drd bar_bad testcase hangs or crashes with new glibc pthread
        barrier implementation
358697  valgrind.h: Some code remains even when defining NVALGRIND
359202  Add musl libc configure/compile
360415  amd64 instructions ADCX and ADOX are not implemented in VEX
        == 372828 (vex amd64->IR: 0x66 0xF 0x3A 0x62 0x4A 0x10)
360429  unhandled ioctl 0x530d with no size/direction hints (CDROMREADMODE1)
362223  assertion failed when .valgrindrc is a directory instead of a file
367543  bt/btc/btr/bts x86/x86_64 instructions are poorly-handled wrt flags
367942  Segfault vgPlain_do_sys_sigaction (m_signals.c:1138)
368507  can't malloc chunks larger than about 34GB
368529  Android arm target link error, missing atexit and pthread_atfork
368863  WARNING: unhandled arm64-linux syscall: 100 (get_robust_list)
368865  WARNING: unhandled arm64-linux syscall: 272 (kcmp)
368868  disInstr(arm64): unhandled instruction 0xD53BE000 = cntfrq_el0 (ARMv8)
368917  WARNING: unhandled arm64-linux syscall: 218 (request_key)
368918  WARNING: unhandled arm64-linux syscall: 127 (sched_rr_get_interval)
368922  WARNING: unhandled arm64-linux syscall: 161 (sethostname)
368924  WARNING: unhandled arm64-linux syscall: 84 (sync_file_range)
368925  WARNING: unhandled arm64-linux syscall: 130 (tkill)
368926  WARNING: unhandled arm64-linux syscall: 97 (unshare)
369459  valgrind on arm64 violates the ARMv8 spec (ldxr/stxr)
370028  Reduce the number of compiler warnings on MIPS platforms
370635  arm64 missing syscall getcpu
371225  Fix order of timer_{gettime,getoverrun,settime} syscalls on arm64
371227  Clean AArch64 syscall table
371412  Rename wrap_sys_shmat to sys_shmat like other wrappers
371471  Valgrind complains about non legit memory leaks on placement new (C++)
371491  handleAddrOverrides() is [incorrect] when ASO prefix is used
371503  disInstr(arm64): unhandled instruction 0xF89F0000
371869  support '%' in symbol Z-encoding
371916  execution tree xtree concept
372120  c++ demangler demangles symbols which are not c++
372185  Support of valgrind on ARMv8 with 32 bit executable
372188  vex amd64->IR: 0x66 0xF 0x3A 0x62 0x4A 0x10 0x10 0x48 (PCMPxSTRx $0x10)
372195  Power PC, xxsel instruction is not always recognized.
372504  Hanging on exit_group
372600  process loops forever when fatal signals are arriving quickly
372794  LibVEX (arm32 front end): 'Assertion szBlg2 <= 3' failed
373046  Stacks registered by core are never deregistered
373069  memcheck/tests/leak_cpp_interior fails with GCC 5.1+
373086  Implement additional Xen hypercalls
373192  Calling posix_spawn in glibc 2.24 completely broken
373488  Support for fanotify API on ARM64 architecture
== 368864  WARNING: unhandled arm64-linux syscall: 262 (fanotify_init)
373555  Rename BBPTR to GSPTR as it denotes guest state pointer only
373938  const IRExpr arguments for matchIRExpr()
374719  some spelling fixes
374963  increase valgrind's load address to prevent mmap failure
375514  valgrind_get_tls_addr() does not work in case of static TLS
375772  +1 error in get_elf_symbol_info() when computing value of 'hi' address
        for ML_(find_rx_mapping)()
375806  Test helgrind/tests/tc22_exit_w_lock fails with glibc 2.24
375839  Temporary storage exhausted, with long sequence of vfmadd231ps insns
        == 377159  "vex: the `impossible' happened" still present
        == 375150  Assertion 'tres.status == VexTransOK' failed
        == 378068  valgrind crashes on AVX2 function in FFmpeg
376142  Segfaults on MIPS Cavium Octeon boards
376279  disInstr(arm64): unhandled instruction 0xD50320FF
376455  Solaris: unhandled syscall lgrpsys(180)
376518  Solaris: unhandled fast trap getlgrp(6)
376611  ppc64 and arm64 don't know about prlimit64 syscall
376729  PPC64, remove R2 from the clobber list
        == 371668
376956  syswrap of SNDDRV and DRM_IOCTL_VERSION causing some addresses
        to be wrongly marked as addressable
377066  Some Valgrind unit tests fail to compile on Ubuntu 16.10 with
        PIE enabled by default
377376  memcheck/tests/linux/getregset fails with glibc2.24
377427  PPC64, lxv instruction failing on odd destination register
377478  PPC64: ISA 3.0 setup fixes
377698  Missing memory check for futex() uaddr arg for FUTEX_WAKE
        and FUTEX_WAKE_BITSET, check only 4 args for FUTEX_WAKE_BITSET,
        and 2 args for FUTEX_TRYLOCK_PI
377717  Fix massive space leak when reading compressed debuginfo sections
377891  Update Xen 4.6 domctl wrappers
377930  fcntl syscall wrapper is missing flock structure check
378524  libvexmultiarch_test regression on s390x and ppc64
378535  Valgrind reports INTERNAL ERROR in execve syscall wrapper
378673  Update libiberty demangler
378931  Add ISA 3.0B additional isnstructions, add OV32, CA32 setting support
379039  syscall wrapper for prctl(PR_SET_NAME) must not check more than 16 bytes
379094  Valgrind reports INTERNAL ERROR in rt_sigsuspend syscall wrapper
379371  UNKNOWN task message [id 3444, to mach_task_self(), reply 0x603]
        (task_register_dyld_image_infos)
379372  UNKNOWN task message [id 3447, to mach_task_self(), reply 0x603]
        (task_register_dyld_shared_cache_image_info)
379390  unhandled syscall: mach:70 (host_create_mach_voucher_trap)
379473  MIPS: add support for rdhwr cycle counter register
379504  remove TileGX/Linux port
379525  Support more x86 nop opcodes
379838  disAMode(x86): not an addr!
379703  PC ISA 3.0 fixes: stxvx, stxv, xscmpexpdp instructions
379890  arm: unhandled instruction: 0xEBAD 0x1B05 (sub.w fp, sp, r5, lsl #4)
379895  clock_gettime does not execute POST syscall wrapper
379925  PPC64, mtffs does not set the FPCC and C bits in the FPSCR correctly
379966  WARNING: unhandled amd64-linux syscall: 313 (finit_module)
380200  xtree generated callgrind files refer to files without directory name
380202  Assertion failure for cache line size (cls == 64) on aarch64.
380397  s390x: __GI_strcspn() replacement needed
n-i-bz  Fix pub_tool_basics.h build issue with g++ 4.4.7.

(3.13.0.RC1:  2 June 2017, vex r3386, valgrind r16434)
(3.13.0.RC2:  9 June 2017, vex r3389, valgrind r16443)
(3.13.0:     14 June 2017, vex r3396, valgrind r16446)

Bug: N/A
Test: manual
Change-Id: Id4498a49f462c3689cbcb35c15f96a8c7e3cea17
diff --git a/docs/html/FAQ.html b/docs/html/FAQ.html
index 17c6491..d71a37b 100644
--- a/docs/html/FAQ.html
+++ b/docs/html/FAQ.html
@@ -3,7 +3,7 @@
 <meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
 <title>Valgrind FAQ</title>
 <link rel="stylesheet" type="text/css" href="vg_basic.css">
-<meta name="generator" content="DocBook XSL Stylesheets V1.78.1">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
 <link rel="home" href="index.html" title="Valgrind Documentation">
 <link rel="up" href="index.html" title="Valgrind Documentation">
 <link rel="prev" href="nl-manual.html" title="14. Nulgrind: the minimal Valgrind tool">
@@ -22,10 +22,10 @@
 <div>
 <div><h1 class="title">
 <a name="FAQ"></a>Valgrind FAQ</h1></div>
-<div><p class="releaseinfo">Release 3.12.0 20 October 2016</p></div>
-<div><p class="copyright">Copyright © 2000-2016 <a class="ulink" href="http://www.valgrind.org/info/developers.html" target="_top">Valgrind Developers</a></p></div>
+<div><p class="releaseinfo">Release 3.13.0 15 June 2017</p></div>
+<div><p class="copyright">Copyright © 2000-2017 <a class="ulink" href="http://www.valgrind.org/info/developers.html" target="_top">Valgrind Developers</a></p></div>
 <div><div class="legalnotice">
-<a name="idm140639119221280"></a><p>Email: <a class="ulink" href="mailto:valgrind@valgrind.org" target="_top">valgrind@valgrind.org</a></p>
+<a name="idm140394923825504"></a><p>Email: <a class="ulink" href="mailto:valgrind@valgrind.org" target="_top">valgrind@valgrind.org</a></p>
 </div></div>
 </div>
 <hr>
diff --git a/docs/html/QuickStart.html b/docs/html/QuickStart.html
index a304edb..89d8ffc 100644
--- a/docs/html/QuickStart.html
+++ b/docs/html/QuickStart.html
@@ -3,7 +3,7 @@
 <meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
 <title>The Valgrind Quick Start Guide</title>
 <link rel="stylesheet" type="text/css" href="vg_basic.css">
-<meta name="generator" content="DocBook XSL Stylesheets V1.78.1">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
 <link rel="home" href="index.html" title="Valgrind Documentation">
 <link rel="up" href="index.html" title="Valgrind Documentation">
 <link rel="prev" href="index.html" title="Valgrind Documentation">
@@ -22,10 +22,10 @@
 <div>
 <div><h1 class="title">
 <a name="QuickStart"></a>The Valgrind Quick Start Guide</h1></div>
-<div><p class="releaseinfo">Release 3.12.0 20 October 2016</p></div>
-<div><p class="copyright">Copyright © 2000-2016 <a class="ulink" href="http://www.valgrind.org/info/developers.html" target="_top">Valgrind Developers</a></p></div>
+<div><p class="releaseinfo">Release 3.13.0 15 June 2017</p></div>
+<div><p class="copyright">Copyright © 2000-2017 <a class="ulink" href="http://www.valgrind.org/info/developers.html" target="_top">Valgrind Developers</a></p></div>
 <div><div class="legalnotice">
-<a name="idm140639120054432"></a><p>Email: <a class="ulink" href="mailto:valgrind@valgrind.org" target="_top">valgrind@valgrind.org</a></p>
+<a name="idm140394929811680"></a><p>Email: <a class="ulink" href="mailto:valgrind@valgrind.org" target="_top">valgrind@valgrind.org</a></p>
 </div></div>
 </div>
 <hr>
diff --git a/docs/html/bbv-manual.html b/docs/html/bbv-manual.html
index 2039193..b8981b0 100644
--- a/docs/html/bbv-manual.html
+++ b/docs/html/bbv-manual.html
@@ -3,7 +3,7 @@
 <meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
 <title>12. BBV: an experimental basic block vector generation tool</title>
 <link rel="stylesheet" type="text/css" href="vg_basic.css">
-<meta name="generator" content="DocBook XSL Stylesheets V1.78.1">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
 <link rel="home" href="index.html" title="Valgrind Documentation">
 <link rel="up" href="manual.html" title="Valgrind User Manual">
 <link rel="prev" href="sg-manual.html" title="11. SGCheck: an experimental stack and global array overrun detector">
diff --git a/docs/html/cg-manual.html b/docs/html/cg-manual.html
index fabf6fa..99ec6cd 100644
--- a/docs/html/cg-manual.html
+++ b/docs/html/cg-manual.html
@@ -3,7 +3,7 @@
 <meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
 <title>5. Cachegrind: a cache and branch-prediction profiler</title>
 <link rel="stylesheet" type="text/css" href="vg_basic.css">
-<meta name="generator" content="DocBook XSL Stylesheets V1.78.1">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
 <link rel="home" href="index.html" title="Valgrind Documentation">
 <link rel="up" href="manual.html" title="Valgrind User Manual">
 <link rel="prev" href="mc-manual.html" title="4. Memcheck: a memory error detector">
diff --git a/docs/html/cl-format.html b/docs/html/cl-format.html
index 7cf30de..4c35b5a 100644
--- a/docs/html/cl-format.html
+++ b/docs/html/cl-format.html
@@ -3,7 +3,7 @@
 <meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
 <title>3. Callgrind Format Specification</title>
 <link rel="stylesheet" type="text/css" href="vg_basic.css">
-<meta name="generator" content="DocBook XSL Stylesheets V1.78.1">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
 <link rel="home" href="index.html" title="Valgrind Documentation">
 <link rel="up" href="tech-docs.html" title="Valgrind Technical Documentation">
 <link rel="prev" href="manual-writing-tools.html" title="2. Writing a New Valgrind Tool">
@@ -41,9 +41,7 @@
 </dl></dd>
 </dl>
 </div>
-<p>This chapter describes the Callgrind Profile Format, Version 1.</p>
-<p>A synonymous name is "Calltree Profile Format". These names actually mean
-the same since Callgrind was previously named Calltree.</p>
+<p>This chapter describes the Callgrind Format, Version 1.</p>
 <p>The format description is meant for the user to be able to understand the
 file contents; but more important, it is given for authors of measurement or
 visualization tools to be able to write and read this format.</p>
@@ -59,6 +57,9 @@
 <div class="sect2">
 <div class="titlepage"><div><div><h3 class="title">
 <a name="cl-format.overview.basics"></a>3.1.1. Basic Structure</h3></div></div></div>
+<p>To uniquely specify that a file is a callgrind profile, it
+should add "# callgrind format" as first line. This is optional but
+recommended for easy format detection.</p>
 <p>Each file has a header part of an arbitrary number of lines of the
 format "key: value". After the header, lines specifying profile costs
 follow. Everywhere, comments on own lines starting with '#' are allowed.
@@ -85,7 +86,8 @@
 However, any profiling tool could use the format described in this chapter.</p>
 <p>
 </p>
-<pre class="screen">events: Cycles Instructions Flops
+<pre class="screen"># callgrind format
+events: Cycles Instructions Flops
 fl=file.f
 fn=main
 15 90 14 2
@@ -147,8 +149,10 @@
 <code class="function">main</code> calls <code class="function">func1</code> once and
 <code class="function">func2</code> 3 times. <code class="function">func1</code> calls
 <code class="function">func2</code> 2 times.
+
 </p>
-<pre class="screen">events: Instructions
+<pre class="screen"># callgrind format
+events: Instructions
 
 fl=file1.c
 fn=main
@@ -197,9 +201,10 @@
 integer ID to a name, and "spec=(ID)" to reference a previously defined ID
 mapping. There is a separate ID mapping for each position specification,
 i.e. you can use ID 1 for both a file name and a symbol name.</p>
-<p>With string compression, the example from 1.4 looks like this:
+<p>With string compression, the example from above looks like this:
 </p>
-<pre class="screen">events: Instructions
+<pre class="screen"># callgrind format
+events: Instructions
 
 fl=(1) file1.c
 fn=(1) main
@@ -228,7 +233,8 @@
 define name compression mappings directly after the header, and before any cost
 lines. Thus, the above example can also be written as
 </p>
-<pre class="screen">events: Instructions
+<pre class="screen"># callgrind format
+events: Instructions
 
 # define file ID mapping
 fl=(1) file1.c
@@ -265,7 +271,8 @@
 Assume the following example (subpositions can always be specified
 as hexadecimal numbers, beginning with "0x"):
 </p>
-<pre class="screen">positions: instr line
+<pre class="screen"># callgrind format
+positions: instr line
 events: ticks
 
 fn=func
@@ -274,7 +281,8 @@
 0x80001238 91 6</pre>
 <p>With subposition compression, this looks like
 </p>
-<pre class="screen">positions: instr line
+<pre class="screen"># callgrind format
+positions: instr line
 events: ticks
 
 fn=func
@@ -328,7 +336,10 @@
 <a name="cl-format.reference.grammar"></a>3.2.1. Grammar</h3></div></div></div>
 <p>
 </p>
-<pre class="screen">ProfileDataFile := FormatVersion? Creator? PartData*</pre>
+<pre class="screen">ProfileDataFile := FormatSpec? FormatVersion? Creator? PartData*</pre>
+<p>
+</p>
+<pre class="screen">FormatSpec := "# callgrind format\n"</pre>
 <p>
 </p>
 <pre class="screen">FormatVersion := "version: 1\n"</pre>
@@ -451,7 +462,7 @@
 <p>
 </p>
 <p>A profile data file ("ProfileDataFile") starts with basic information
-  such as the version and creator information, and then has a list of parts, where
+  such as a format marker, the version and creator information, and then has a list of parts, where
   each part has its own header and body. Parts typically are different threads
   and/or time spans/phases within a profiled application run.</p>
 <p>Note that callgrind_annotate currently only supports profile data files with
@@ -464,11 +475,22 @@
 <p>Basic information in the first lines of a profile data file:</p>
 <div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; ">
 <li class="listitem">
+<p><code class="computeroutput"># callgrind format</code> [Callgrind]</p>
+<p>This line specifies that the file is a callgrind profile,
+      and it has to be the first line. It was added late to the
+      format (with Valgrind 3.13) and is optional, as all readers also
+      should work with older callgrind profiles not including this line.
+      However, generation of this line is recommended to allow desktop
+      environments and file managers to uniquely detect the format.</p>
+</li>
+<li class="listitem">
 <p><code class="computeroutput">version: number</code> [Callgrind]</p>
 <p>This is used to distinguish future profile data formats.  A 
     major version of 0 or 1 is supposed to be upwards compatible with 
     Cachegrind's format.  It is optional; if not appearing, version 1 
-    is assumed.  Otherwise, this has to be the first header line.</p>
+    is assumed.  Otherwise, it has to follow directly after the format
+    specification (i.e. be the first line if the optional format
+    specification is skipped).</p>
 </li>
 <li class="listitem">
 <p><code class="computeroutput">creator: string</code> [Callgrind]</p>
diff --git a/docs/html/cl-manual.html b/docs/html/cl-manual.html
index 35f29cf..2cc4e95 100644
--- a/docs/html/cl-manual.html
+++ b/docs/html/cl-manual.html
@@ -3,7 +3,7 @@
 <meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
 <title>6. Callgrind: a call-graph generating cache and branch prediction profiler</title>
 <link rel="stylesheet" type="text/css" href="vg_basic.css">
-<meta name="generator" content="DocBook XSL Stylesheets V1.78.1">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
 <link rel="home" href="index.html" title="Valgrind Documentation">
 <link rel="up" href="manual.html" title="Valgrind User Manual">
 <link rel="prev" href="cg-manual.html" title="5. Cachegrind: a cache and branch-prediction profiler">
@@ -315,7 +315,7 @@
     what is happening within a given function or starting from a given
     program phase. To this end, you can disable event aggregation for
     uninteresting program parts. While attribution of events to
-    functions as well as producing seperate output per program phase
+    functions as well as producing separate output per program phase
     can be done by other means (see previous section), there are two
     benefits by disabling aggregation. First, this is very
     fine-granular (e.g. just for a loop within a function).  Second,
@@ -423,7 +423,7 @@
   cycles, this does not hold true: callees of a function in a cycle include
   the function itself. Therefore, KCachegrind does cycle detection
   and skips visualization of any inclusive cost for calls inside
-  of cycles. Further, all functions in a cycle are collapsed into artifical
+  of cycles. Further, all functions in a cycle are collapsed into artificial
   functions called like <code class="computeroutput">Cycle 1</code>.</p>
 <p>Now, when a program exposes really big cycles (as is
   true for some GUI code, or in general code using event or callback based
@@ -1005,7 +1005,7 @@
 </dt>
 <dd><p>Start full Callgrind instrumentation if not already enabled.
       When cache simulation is done, this will flush the simulated cache
-      and lead to an artifical cache warmup phase afterwards with
+      and lead to an artificial cache warmup phase afterwards with
       cache misses which would not have happened in reality.  See also
       option <code class="option"><a class="xref" href="cl-manual.html#opt.instr-atstart">--instr-atstart</a></code>.</p></dd>
 <dt>
@@ -1040,7 +1040,11 @@
 <dt><span class="term">
       <code class="option">--sort=A,B,C</code>
     </span></dt>
-<dd><p>Sort columns by events A,B,C [event column order].</p></dd>
+<dd>
+<p>Sort columns by events A,B,C [event column order].</p>
+<p>Optionally, each event is followed by a : and a threshold,
+        to specify different thresholds depending on the event.</p>
+</dd>
 <dt><span class="term">
       <code class="option">--threshold=&lt;0--100&gt; [default: 99%] </code>
     </span></dt>
diff --git a/docs/html/design-impl.html b/docs/html/design-impl.html
index 22f8c6e..6571555 100644
--- a/docs/html/design-impl.html
+++ b/docs/html/design-impl.html
@@ -3,7 +3,7 @@
 <meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
 <title>1. The Design and Implementation of Valgrind</title>
 <link rel="stylesheet" type="text/css" href="vg_basic.css">
-<meta name="generator" content="DocBook XSL Stylesheets V1.78.1">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
 <link rel="home" href="index.html" title="Valgrind Documentation">
 <link rel="up" href="tech-docs.html" title="Valgrind Technical Documentation">
 <link rel="prev" href="tech-docs.html" title="Valgrind Technical Documentation">
diff --git a/docs/html/dh-manual.html b/docs/html/dh-manual.html
index 4557e7d..4b4356f 100644
--- a/docs/html/dh-manual.html
+++ b/docs/html/dh-manual.html
@@ -3,7 +3,7 @@
 <meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
 <title>10. DHAT: a dynamic heap analysis tool</title>
 <link rel="stylesheet" type="text/css" href="vg_basic.css">
-<meta name="generator" content="DocBook XSL Stylesheets V1.78.1">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
 <link rel="home" href="index.html" title="Valgrind Documentation">
 <link rel="up" href="manual.html" title="Valgrind User Manual">
 <link rel="prev" href="ms-manual.html" title="9. Massif: a heap profiler">
@@ -26,9 +26,9 @@
 <dt><span class="sect1"><a href="dh-manual.html#dh-manual.overview">10.1. Overview</a></span></dt>
 <dt><span class="sect1"><a href="dh-manual.html#dh-manual.understanding">10.2. Understanding DHAT's output</a></span></dt>
 <dd><dl>
-<dt><span class="sect2"><a href="dh-manual.html#idm140639117126160">10.2.1. Interpreting the max-live, tot-alloc and deaths fields</a></span></dt>
-<dt><span class="sect2"><a href="dh-manual.html#idm140639113841488">10.2.2. Interpreting the acc-ratios fields</a></span></dt>
-<dt><span class="sect2"><a href="dh-manual.html#idm140639116741152">10.2.3. Interpreting "Aggregated access counts by offset" data</a></span></dt>
+<dt><span class="sect2"><a href="dh-manual.html#idm140394924138288">10.2.1. Interpreting the max-live, tot-alloc and deaths fields</a></span></dt>
+<dt><span class="sect2"><a href="dh-manual.html#idm140394926128304">10.2.2. Interpreting the acc-ratios fields</a></span></dt>
+<dt><span class="sect2"><a href="dh-manual.html#idm140394925890256">10.2.3. Interpreting "Aggregated access counts by offset" data</a></span></dt>
 </dl></dd>
 <dt><span class="sect1"><a href="dh-manual.html#dh-manual.options">10.3. DHAT Command-line Options</a></span></dt>
 </dl>
@@ -90,9 +90,9 @@
 numbers.  That is best illustrated via a set of examples.</p>
 <div class="sect2">
 <div class="titlepage"><div><div><h3 class="title">
-<a name="idm140639117126160"></a>10.2.1. Interpreting the max-live, tot-alloc and deaths fields</h3></div></div></div>
+<a name="idm140394924138288"></a>10.2.1. Interpreting the max-live, tot-alloc and deaths fields</h3></div></div></div>
 <div class="sect3"><div class="titlepage"><div><div><h4 class="title">
-<a name="idm140639117125456"></a>10.2.1.1. A simple example</h4></div></div></div></div>
+<a name="idm140394924137584"></a>10.2.1.1. A simple example</h4></div></div></div></div>
 <pre class="screen">
    ======== SUMMARY STATISTICS ========
 
@@ -123,7 +123,7 @@
 for 1,045,339,534 instructions, and so the average age at death is
 about 2% of the program's total run time.</p>
 <div class="sect3"><div class="titlepage"><div><div><h4 class="title">
-<a name="idm140639113980544"></a>10.2.1.2. Example of a potential process-lifetime leak</h4></div></div></div></div>
+<a name="idm140394923815680"></a>10.2.1.2. Example of a potential process-lifetime leak</h4></div></div></div></div>
 <p>This next example (from a different program than the above)
 shows a potential process lifetime leak.  A process lifetime leak
 occurs when a program keeps allocating data, but only frees the
@@ -158,9 +158,9 @@
 </div>
 <div class="sect2">
 <div class="titlepage"><div><div><h3 class="title">
-<a name="idm140639113841488"></a>10.2.2. Interpreting the acc-ratios fields</h3></div></div></div>
+<a name="idm140394926128304"></a>10.2.2. Interpreting the acc-ratios fields</h3></div></div></div>
 <div class="sect3"><div class="titlepage"><div><div><h4 class="title">
-<a name="idm140639113840736"></a>10.2.2.1. A fairly harmless allocation point record</h4></div></div></div></div>
+<a name="idm140394923814880"></a>10.2.2.1. A fairly harmless allocation point record</h4></div></div></div></div>
 <pre class="screen">
    max-live:    49,398 in 808 blocks
    tot-alloc:   1,481,940 in 24,240 blocks (avg size 61.13)
@@ -193,7 +193,7 @@
 that they must have varying sizes since the average block size, 61.13,
 isn't a whole number.</p>
 <div class="sect3"><div class="titlepage"><div><div><h4 class="title">
-<a name="idm140639118134560"></a>10.2.2.2. A more suspicious looking example</h4></div></div></div></div>
+<a name="idm140394922011696"></a>10.2.2.2. A more suspicious looking example</h4></div></div></div></div>
 <pre class="screen">
    max-live:    180,224 in 22 blocks
    tot-alloc:   180,224 in 22 blocks (avg size 8192.00)
@@ -213,7 +213,7 @@
 DHAT can tell us, that Memcheck can't, is that not only are the blocks
 leaked, they are also never used.</p>
 <div class="sect3"><div class="titlepage"><div><div><h4 class="title">
-<a name="idm140639111498432"></a>10.2.2.3. Another suspicious example</h4></div></div></div></div>
+<a name="idm140394922008704"></a>10.2.2.3. Another suspicious example</h4></div></div></div></div>
 <p>Here's one where blocks are allocated, written to,
 but never read from.  We see this immediately from the zero read
 access ratio.  They do get freed, though:</p>
@@ -241,7 +241,7 @@
 </div>
 <div class="sect2">
 <div class="titlepage"><div><div><h3 class="title">
-<a name="idm140639116741152"></a>10.2.3. Interpreting "Aggregated access counts by offset" data</h3></div></div></div>
+<a name="idm140394925890256"></a>10.2.3. Interpreting "Aggregated access counts by offset" data</h3></div></div></div>
 <p>For allocation points that always allocate blocks of the same
 size, and which are 4096 bytes or smaller, DHAT counts accesses
 per offset, for example:</p>
@@ -341,7 +341,7 @@
 </dl>
 </div>
 <p>One important point to note is that each allocation stack counts
-as a seperate allocation point.  Because stacks by default have 12
+as a separate allocation point.  Because stacks by default have 12
 frames, this tends to spread data out over multiple allocation points.
 You may want to use the flag --num-callers=4 or some such small
 number, to reduce the spreading.</p>
diff --git a/docs/html/dist.authors.html b/docs/html/dist.authors.html
index b69494e..9c895b2 100644
--- a/docs/html/dist.authors.html
+++ b/docs/html/dist.authors.html
@@ -3,7 +3,7 @@
 <meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
 <title>1. AUTHORS</title>
 <link rel="stylesheet" type="text/css" href="vg_basic.css">
-<meta name="generator" content="DocBook XSL Stylesheets V1.78.1">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
 <link rel="home" href="index.html" title="Valgrind Documentation">
 <link rel="up" href="dist.html" title="Valgrind Distribution Documents">
 <link rel="prev" href="dist.html" title="Valgrind Distribution Documents">
diff --git a/docs/html/dist.html b/docs/html/dist.html
index b50087b..26c14ee 100644
--- a/docs/html/dist.html
+++ b/docs/html/dist.html
@@ -3,7 +3,7 @@
 <meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
 <title>Valgrind Distribution Documents</title>
 <link rel="stylesheet" type="text/css" href="vg_basic.css">
-<meta name="generator" content="DocBook XSL Stylesheets V1.78.1">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
 <link rel="home" href="index.html" title="Valgrind Documentation">
 <link rel="up" href="index.html" title="Valgrind Documentation">
 <link rel="prev" href="cl-format.html" title="3. Callgrind Format Specification">
@@ -22,10 +22,10 @@
 <div>
 <div><h1 class="title">
 <a name="dist"></a>Valgrind Distribution Documents</h1></div>
-<div><p class="releaseinfo">Release 3.12.0 20 October 2016</p></div>
-<div><p class="copyright">Copyright © 2000-2016 <a class="ulink" href="http://www.valgrind.org/info/developers.html" target="_top">Valgrind Developers</a></p></div>
+<div><p class="releaseinfo">Release 3.13.0 15 June 2017</p></div>
+<div><p class="copyright">Copyright © 2000-2017 <a class="ulink" href="http://www.valgrind.org/info/developers.html" target="_top">Valgrind Developers</a></p></div>
 <div><div class="legalnotice">
-<a name="idm140639116581280"></a><p>Email: <a class="ulink" href="mailto:valgrind@valgrind.org" target="_top">valgrind@valgrind.org</a></p>
+<a name="idm140394926016768"></a><p>Email: <a class="ulink" href="mailto:valgrind@valgrind.org" target="_top">valgrind@valgrind.org</a></p>
 </div></div>
 </div>
 <hr>
diff --git a/docs/html/dist.news.html b/docs/html/dist.news.html
index cb91bf8..048fe05 100644
--- a/docs/html/dist.news.html
+++ b/docs/html/dist.news.html
@@ -3,7 +3,7 @@
 <meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
 <title>2. NEWS</title>
 <link rel="stylesheet" type="text/css" href="vg_basic.css">
-<meta name="generator" content="DocBook XSL Stylesheets V1.78.1">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
 <link rel="home" href="index.html" title="Valgrind Documentation">
 <link rel="up" href="dist.html" title="Valgrind Distribution Documents">
 <link rel="prev" href="dist.authors.html" title="1. AUTHORS">
@@ -21,7 +21,266 @@
 <div class="titlepage"><div><div><h1 class="title">
 <a name="dist.news"></a>2. NEWS</h1></div></div></div>
 <div class="literallayout"><p><br>
-      <br>
+      Release 3.13.0 (15 June 2017)<br>
+~~~~~~~~~~~~~~~~~~~~~~~~~~~~~<br>
+<br>
+3.13.0 is a feature release with many improvements and the usual collection of<br>
+bug fixes.<br>
+<br>
+This release supports X86/Linux, AMD64/Linux, ARM32/Linux, ARM64/Linux,<br>
+PPC32/Linux, PPC64BE/Linux, PPC64LE/Linux, S390X/Linux, MIPS32/Linux,<br>
+MIPS64/Linux, ARM/Android, ARM64/Android, MIPS32/Android, X86/Android,<br>
+X86/Solaris, AMD64/Solaris and AMD64/MacOSX 10.12.<br>
+<br>
+* ==================== CORE CHANGES ===================<br>
+<br>
+* The translation cache size has been increased to keep up with the demands of<br>
+  large applications.  The maximum number of sectors has increased from 24 to<br>
+  48.  The default number of sectors has increased from 16 to 32 on all<br>
+  targets except Android, where the increase is from 6 to 12.<br>
+<br>
+* The amount of memory that Valgrind can use has been increased from 64GB to<br>
+  128GB.  In particular this means your application can allocate up to about<br>
+  60GB when running on Memcheck.<br>
+<br>
+* Valgrind's default load address has been changed from 0x3800'0000 to<br>
+  0x5800'0000, so as to make it possible to load larger executables.  This<br>
+  should make it possible to load executables of size at least 1200MB.<br>
+<br>
+* A massive spaceleak caused by reading compressed debuginfo files has been<br>
+  fixed.  Valgrind should now be entirely usable with gcc-7.0 "-gz" created<br>
+  debuginfo.<br>
+<br>
+* The C++ demangler has been updated.<br>
+<br>
+* Support for demangling Rust symbols has been added.<br>
+<br>
+* A new representation of stack traces, the "XTree", has been added.  An XTree<br>
+  is a tree of stacktraces with data associated with the stacktraces.  This is<br>
+  used by various tools (Memcheck, Helgrind, Massif) to report on the heap<br>
+  consumption of your program.  Reporting is controlled by the new options<br>
+  --xtree-memory=none|allocs|full and --xtree-memory-file=&lt;file&gt;.<br>
+<br>
+  A report can also be produced on demand using the gdbserver monitor command<br>
+  'xtmemory [&lt;filename&gt;]&gt;'.  The XTree can be output in 2 formats: 'callgrind<br>
+  format' and 'massif format. The existing visualisers for these formats (e.g.<br>
+  callgrind_annotate, KCachegrind, ms_print) can be used to visualise and<br>
+  analyse these reports.<br>
+<br>
+  Memcheck can also produce XTree leak reports using the Callgrind file<br>
+  format.  For more details, see the user manual.<br>
+<br>
+* ================== PLATFORM CHANGES =================<br>
+<br>
+* ppc64: support for ISA 3.0B and various fixes for existing 3.0 support<br>
+<br>
+* amd64: fixes for JIT failure problems on long AVX2 code blocks<br>
+<br>
+* amd64 and x86: support for CET prefixes has been added<br>
+<br>
+* arm32: a few missing ARMv8 instructions have been implemented<br>
+<br>
+* arm64, mips64, mips32: an alternative implementation of Load-Linked and<br>
+  Store-Conditional instructions has been added.  This is to deal with<br>
+  processor implementations that implement the LL/SC specifications strictly<br>
+  and as a result cause Valgrind to hang in certain situations.  The<br>
+  alternative implementation is automatically enabled at startup, as required.<br>
+  You can use the option --sim-hints=fallback-llsc to force-enable it if you<br>
+  want.<br>
+<br>
+* Support for OSX 10.12 has been improved.<br>
+<br>
+* On Linux, clone handling has been improved to honour CLONE_VFORK that<br>
+  involves a child stack.  Note however that CLONE_VFORK | CLONE_VM is handled<br>
+  like CLONE_VFORK (by removing CLONE_VM), so applications that depend on<br>
+  CLONE_VM exact semantics will (still) not work.<br>
+<br>
+* The TileGX/Linux port has been removed because it appears to be both unused<br>
+  and unsupported.<br>
+<br>
+* ==================== TOOL CHANGES ====================<br>
+<br>
+* Memcheck:<br>
+<br>
+  - Memcheck should give fewer false positives when running optimised<br>
+    Clang/LLVM generated code.<br>
+<br>
+  - Support for --xtree-memory and 'xtmemory [&lt;filename&gt;]&gt;'.<br>
+<br>
+  - New command line options --xtree-leak=no|yes and --xtree-leak-file=&lt;file&gt;<br>
+    to produce the end of execution leak report in a xtree callgrind format<br>
+    file.<br>
+<br>
+  - New option 'xtleak' in the memcheck leak_check monitor command, to produce<br>
+    the leak report in an xtree file.<br>
+<br>
+* Massif:<br>
+<br>
+  - Support for --xtree-memory and 'xtmemory [&lt;filename&gt;]&gt;'.<br>
+<br>
+  - For some workloads (typically, for big applications), Massif memory<br>
+    consumption and CPU consumption has decreased significantly.<br>
+<br>
+* Helgrind:<br>
+<br>
+  - Support for --xtree-memory and 'xtmemory [&lt;filename&gt;]&gt;'.<br>
+<br>
+  - addition of client request VALGRIND_HG_GNAT_DEPENDENT_MASTER_JOIN, useful<br>
+    for Ada gnat compiled applications.<br>
+<br>
+* ==================== OTHER CHANGES ====================<br>
+<br>
+* For Valgrind developers: in an outer/inner setup, the outer Valgrind will<br>
+  append the inner guest stacktrace to the inner host stacktrace.  This helps<br>
+  to investigate the errors reported by the outer, when they are caused by the<br>
+  inner guest program (such as an inner regtest).  See README_DEVELOPERS for<br>
+  more info.<br>
+<br>
+* To allow fast detection of callgrind files by desktop environments and file<br>
+  managers, the format was extended to have an optional first line that<br>
+  uniquely identifies the format ("# callgrind format").  Callgrind creates<br>
+  this line now, as does the new xtree functionality.<br>
+<br>
+* File name template arguments (such as --log-file, --xtree-memory-file, ...)<br>
+  have a new %n format letter that is replaced by a sequence number.<br>
+<br>
+* "--version -v" now shows the SVN revision numbers from which Valgrind was<br>
+  built.<br>
+<br>
+* ==================== FIXED BUGS ====================<br>
+<br>
+The following bugs have been fixed or resolved.  Note that "n-i-bz"<br>
+stands for "not in bugzilla" -- that is, a bug that was reported to us<br>
+but never got a bugzilla entry.  We encourage you to file bugs in<br>
+bugzilla (https://bugs.kde.org/enter_bug.cgi?product=valgrind) rather<br>
+than mailing the developers (or mailing lists) directly -- bugs that<br>
+are not entered into bugzilla tend to get forgotten about or ignored.<br>
+<br>
+To see details of a given bug, visit<br>
+  https://bugs.kde.org/show_bug.cgi?id=XXXXXX<br>
+where XXXXXX is the bug number as listed below.<br>
+<br>
+162848  --log-file output isn't split when a program forks<br>
+340777  Illegal instruction on mips (ar71xx)<br>
+341481  MIPS64: Iop_CmpNE32 triggers false warning on MIPS64 platforms<br>
+342040  Valgrind mishandles clone with CLONE_VFORK | CLONE_VM that clones<br>
+        to a different stack.<br>
+344139  x86 stack-seg overrides, needed by the Wine people<br>
+344524  store conditional of guest applications always fail - observed on<br>
+        Octeon3(MIPS)<br>
+348616  Wine/valgrind: noted but unhandled ioctl 0x5390 [..] (DVD_READ_STRUCT)<br>
+352395  Please provide SVN revision info in --version -v<br>
+352767  Wine/valgrind: noted but unhandled ioctl 0x5307 [..] (CDROMSTOP)<br>
+356374  Assertion 'DRD_(g_threadinfo)[tid].pt_threadid !=<br>
+        INVALID_POSIX_THREADID' failed<br>
+358213  helgrind/drd bar_bad testcase hangs or crashes with new glibc pthread<br>
+        barrier implementation<br>
+358697  valgrind.h: Some code remains even when defining NVALGRIND<br>
+359202  Add musl libc configure/compile<br>
+360415  amd64 instructions ADCX and ADOX are not implemented in VEX<br>
+        == 372828 (vex amd64-&gt;IR: 0x66 0xF 0x3A 0x62 0x4A 0x10)<br>
+360429  unhandled ioctl 0x530d with no size/direction hints (CDROMREADMODE1)<br>
+362223  assertion failed when .valgrindrc is a directory instead of a file<br>
+367543  bt/btc/btr/bts x86/x86_64 instructions are poorly-handled wrt flags<br>
+367942  Segfault vgPlain_do_sys_sigaction (m_signals.c:1138)<br>
+368507  can't malloc chunks larger than about 34GB<br>
+368529  Android arm target link error, missing atexit and pthread_atfork<br>
+368863  WARNING: unhandled arm64-linux syscall: 100 (get_robust_list)<br>
+368865  WARNING: unhandled arm64-linux syscall: 272 (kcmp)<br>
+368868  disInstr(arm64): unhandled instruction 0xD53BE000 = cntfrq_el0 (ARMv8)<br>
+368917  WARNING: unhandled arm64-linux syscall: 218 (request_key)<br>
+368918  WARNING: unhandled arm64-linux syscall: 127 (sched_rr_get_interval)<br>
+368922  WARNING: unhandled arm64-linux syscall: 161 (sethostname)<br>
+368924  WARNING: unhandled arm64-linux syscall: 84 (sync_file_range)<br>
+368925  WARNING: unhandled arm64-linux syscall: 130 (tkill)<br>
+368926  WARNING: unhandled arm64-linux syscall: 97 (unshare)<br>
+369459  valgrind on arm64 violates the ARMv8 spec (ldxr/stxr)<br>
+370028  Reduce the number of compiler warnings on MIPS platforms<br>
+370635  arm64 missing syscall getcpu<br>
+371225  Fix order of timer_{gettime,getoverrun,settime} syscalls on arm64<br>
+371227  Clean AArch64 syscall table<br>
+371412  Rename wrap_sys_shmat to sys_shmat like other wrappers<br>
+371471  Valgrind complains about non legit memory leaks on placement new (C++)<br>
+371491  handleAddrOverrides() is [incorrect] when ASO prefix is used<br>
+371503  disInstr(arm64): unhandled instruction 0xF89F0000<br>
+371869  support '%' in symbol Z-encoding<br>
+371916  execution tree xtree concept<br>
+372120  c++ demangler demangles symbols which are not c++<br>
+372185  Support of valgrind on ARMv8 with 32 bit executable<br>
+372188  vex amd64-&gt;IR: 0x66 0xF 0x3A 0x62 0x4A 0x10 0x10 0x48 (PCMPxSTRx $0x10)<br>
+372195  Power PC, xxsel instruction is not always recognized.<br>
+372504  Hanging on exit_group<br>
+372600  process loops forever when fatal signals are arriving quickly<br>
+372794  LibVEX (arm32 front end): 'Assertion szBlg2 &lt;= 3' failed<br>
+373046  Stacks registered by core are never deregistered<br>
+373069  memcheck/tests/leak_cpp_interior fails with GCC 5.1+<br>
+373086  Implement additional Xen hypercalls<br>
+373192  Calling posix_spawn in glibc 2.24 completely broken<br>
+373488  Support for fanotify API on ARM64 architecture<br>
+	== 368864  WARNING: unhandled arm64-linux syscall: 262 (fanotify_init)<br>
+373555  Rename BBPTR to GSPTR as it denotes guest state pointer only<br>
+373938  const IRExpr arguments for matchIRExpr()<br>
+374719  some spelling fixes<br>
+374963  increase valgrind's load address to prevent mmap failure<br>
+375514  valgrind_get_tls_addr() does not work in case of static TLS<br>
+375772  +1 error in get_elf_symbol_info() when computing value of 'hi' address<br>
+        for ML_(find_rx_mapping)()<br>
+375806  Test helgrind/tests/tc22_exit_w_lock fails with glibc 2.24<br>
+375839  Temporary storage exhausted, with long sequence of vfmadd231ps insns<br>
+        == 377159  "vex: the `impossible' happened" still present<br>
+        == 375150  Assertion 'tres.status == VexTransOK' failed<br>
+        == 378068  valgrind crashes on AVX2 function in FFmpeg<br>
+376142  Segfaults on MIPS Cavium Octeon boards<br>
+376279  disInstr(arm64): unhandled instruction 0xD50320FF<br>
+376455  Solaris: unhandled syscall lgrpsys(180)<br>
+376518  Solaris: unhandled fast trap getlgrp(6)<br>
+376611  ppc64 and arm64 don't know about prlimit64 syscall<br>
+376729  PPC64, remove R2 from the clobber list<br>
+        == 371668<br>
+376956  syswrap of SNDDRV and DRM_IOCTL_VERSION causing some addresses<br>
+        to be wrongly marked as addressable<br>
+377066  Some Valgrind unit tests fail to compile on Ubuntu 16.10 with<br>
+        PIE enabled by default<br>
+377376  memcheck/tests/linux/getregset fails with glibc2.24<br>
+377427  PPC64, lxv instruction failing on odd destination register <br>
+377478  PPC64: ISA 3.0 setup fixes<br>
+377698  Missing memory check for futex() uaddr arg for FUTEX_WAKE<br>
+        and FUTEX_WAKE_BITSET, check only 4 args for FUTEX_WAKE_BITSET,<br>
+        and 2 args for FUTEX_TRYLOCK_PI<br>
+377717  Fix massive space leak when reading compressed debuginfo sections<br>
+377891  Update Xen 4.6 domctl wrappers<br>
+377930  fcntl syscall wrapper is missing flock structure check<br>
+378524  libvexmultiarch_test regression on s390x and ppc64<br>
+378535  Valgrind reports INTERNAL ERROR in execve syscall wrapper<br>
+378673  Update libiberty demangler<br>
+378931  Add ISA 3.0B additional isnstructions, add OV32, CA32 setting support<br>
+379039  syscall wrapper for prctl(PR_SET_NAME) must not check more than 16 bytes<br>
+379094  Valgrind reports INTERNAL ERROR in rt_sigsuspend syscall wrapper<br>
+379371  UNKNOWN task message [id 3444, to mach_task_self(), reply 0x603]<br>
+        (task_register_dyld_image_infos)<br>
+379372  UNKNOWN task message [id 3447, to mach_task_self(), reply 0x603]<br>
+        (task_register_dyld_shared_cache_image_info)<br>
+379390  unhandled syscall: mach:70 (host_create_mach_voucher_trap)<br>
+379473  MIPS: add support for rdhwr cycle counter register<br>
+379504  remove TileGX/Linux port<br>
+379525  Support more x86 nop opcodes<br>
+379838  disAMode(x86): not an addr!<br>
+379703  PC ISA 3.0 fixes: stxvx, stxv, xscmpexpdp instructions<br>
+379890  arm: unhandled instruction: 0xEBAD 0x1B05 (sub.w fp, sp, r5, lsl #4)<br>
+379895  clock_gettime does not execute POST syscall wrapper<br>
+379925  PPC64, mtffs does not set the FPCC and C bits in the FPSCR correctly<br>
+379966  WARNING: unhandled amd64-linux syscall: 313 (finit_module)<br>
+380200  xtree generated callgrind files refer to files without directory name<br>
+380202  Assertion failure for cache line size (cls == 64) on aarch64.<br>
+380397  s390x: __GI_strcspn() replacement needed<br>
+n-i-bz  Fix pub_tool_basics.h build issue with g++ 4.4.7.<br>
+<br>
+(3.13.0.RC1:  2 June 2017, vex r3386, valgrind r16434)<br>
+(3.13.0.RC2:  9 June 2017, vex r3389, valgrind r16443)<br>
+(3.13.0:     14 June 2017, vex r3396, valgrind r16446)<br>
+<br>
+<br>
+<br>
 Release 3.12.0 (20 October 2016)<br>
 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~<br>
 <br>
@@ -142,6 +401,7 @@
 303877  valgrind doesn't support compressed debuginfo sections.<br>
 345307  Warning about "still reachable" memory when using libstdc++ from gcc 5<br>
 348345  Assertion fails for negative lineno<br>
+348924  MIPS: Load doubles through memory so the code compiles with the FPXX ABI<br>
 351282  V 3.10.1 MIPS softfloat build broken with GCC 4.9.3 / binutils 2.25.1<br>
 351692  Dumps created by valgrind are not readable by gdb (mips32 specific)<br>
 351804  Crash on generating suppressions for "printf" call on OS X 10.10<br>
@@ -269,6 +529,8 @@
 369468  Remove quadratic metapool algorithm using VG_(HT_remove_at_Iter)<br>
 370265  ISA 3.0 HW cap stuff needs updating<br>
 371128  BCD add and subtract instructions on Power BE in 32-bit mode do not work<br>
+372195  Power PC, xxsel instruction is not always recognized<br>
+<br>
 n-i-bz  Fix incorrect (or infinite loop) unwind on RHEL7 x86 and amd64<br>
 n-i-bz  massif --pages-as-heap=yes does not report peak caused by mmap+munmap<br>
 n-i-bz  false positive leaks due to aspacemgr merging heap &amp; non heap segments<br>
diff --git a/docs/html/dist.news.old.html b/docs/html/dist.news.old.html
index d5747d5..74501de 100644
--- a/docs/html/dist.news.old.html
+++ b/docs/html/dist.news.old.html
@@ -3,7 +3,7 @@
 <meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
 <title>3. OLDER NEWS</title>
 <link rel="stylesheet" type="text/css" href="vg_basic.css">
-<meta name="generator" content="DocBook XSL Stylesheets V1.78.1">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
 <link rel="home" href="index.html" title="Valgrind Documentation">
 <link rel="up" href="dist.html" title="Valgrind Distribution Documents">
 <link rel="prev" href="dist.news.html" title="2. NEWS">
diff --git a/docs/html/dist.readme-android.html b/docs/html/dist.readme-android.html
index 4fcbfb7..87c1d1d 100644
--- a/docs/html/dist.readme-android.html
+++ b/docs/html/dist.readme-android.html
@@ -3,7 +3,7 @@
 <meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
 <title>9. README.android</title>
 <link rel="stylesheet" type="text/css" href="vg_basic.css">
-<meta name="generator" content="DocBook XSL Stylesheets V1.78.1">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
 <link rel="home" href="index.html" title="Valgrind Documentation">
 <link rel="up" href="dist.html" title="Valgrind Distribution Documents">
 <link rel="prev" href="dist.readme-s390.html" title="8. README.S390">
diff --git a/docs/html/dist.readme-android_emulator.html b/docs/html/dist.readme-android_emulator.html
index 6c788fd..b90366c 100644
--- a/docs/html/dist.readme-android_emulator.html
+++ b/docs/html/dist.readme-android_emulator.html
@@ -3,7 +3,7 @@
 <meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
 <title>10. README.android_emulator</title>
 <link rel="stylesheet" type="text/css" href="vg_basic.css">
-<meta name="generator" content="DocBook XSL Stylesheets V1.78.1">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
 <link rel="home" href="index.html" title="Valgrind Documentation">
 <link rel="up" href="dist.html" title="Valgrind Distribution Documents">
 <link rel="prev" href="dist.readme-android.html" title="9. README.android">
diff --git a/docs/html/dist.readme-developers.html b/docs/html/dist.readme-developers.html
index 29ad4d5..ae18432 100644
--- a/docs/html/dist.readme-developers.html
+++ b/docs/html/dist.readme-developers.html
@@ -3,7 +3,7 @@
 <meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
 <title>6. README_DEVELOPERS</title>
 <link rel="stylesheet" type="text/css" href="vg_basic.css">
-<meta name="generator" content="DocBook XSL Stylesheets V1.78.1">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
 <link rel="home" href="index.html" title="Valgrind Documentation">
 <link rel="up" href="dist.html" title="Valgrind Distribution Documents">
 <link rel="prev" href="dist.readme-missing.html" title="5. README_MISSING_SYSCALL_OR_IOCTL">
@@ -256,6 +256,45 @@
 The file tests/outer_inner.supp contains suppressions for <br>
 the irrelevant or benign errors found in the inner.<br>
 <br>
+An regression test running in the inner (e.g. memcheck/tests/badrw) will<br>
+cause the inner to report an error, which is expected and checked<br>
+as usual when running the regtests in an outer/inner setup.<br>
+However, the outer will often also observe an error, e.g. a jump<br>
+using uninitialised data, or a read/write outside the bounds of a heap<br>
+block. When the outer reports such an error, it will output the<br>
+inner host stacktrace. To this stacktrace, it will append the<br>
+stacktrace of the inner guest program. For example, this is an error<br>
+reported by the outer when the inner runs the badrw regtest:<br>
+  ==8119== Invalid read of size 2<br>
+  ==8119==    at 0x7F2EFD7AF: ???<br>
+  ==8119==    by 0x7F2C82EAF: ???<br>
+  ==8119==    by 0x7F180867F: ???<br>
+  ==8119==    by 0x40051D: main (badrw.c:5)<br>
+  ==8119==    by 0x7F180867F: ???<br>
+  ==8119==    by 0x1BFF: ???<br>
+  ==8119==    by 0x3803B7F0: _______VVVVVVVV_appended_inner_guest_stack_VVVVVVVV_______ (m_execontext.c:332)<br>
+  ==8119==    by 0x40055C: main (badrw.c:22)<br>
+  ==8119==  Address 0x55cd03c is 4 bytes before a block of size 16 alloc'd<br>
+  ==8119==    at 0x2804E26D: vgPlain_arena_malloc (m_mallocfree.c:1914)<br>
+  ==8119==    by 0x2800BAB4: vgMemCheck_new_block (mc_malloc_wrappers.c:368)<br>
+  ==8119==    by 0x2800BC87: vgMemCheck_malloc (mc_malloc_wrappers.c:403)<br>
+  ==8119==    by 0x28097EAE: do_client_request (scheduler.c:1861)<br>
+  ==8119==    by 0x28097EAE: vgPlain_scheduler (scheduler.c:1425)<br>
+  ==8119==    by 0x280A7237: thread_wrapper (syswrap-linux.c:103)<br>
+  ==8119==    by 0x280A7237: run_a_thread_NORETURN (syswrap-linux.c:156)<br>
+  ==8119==    by 0x3803B7F0: _______VVVVVVVV_appended_inner_guest_stack_VVVVVVVV_______ (m_execontext.c:332)<br>
+  ==8119==    by 0x4C294C4: malloc (vg_replace_malloc.c:298)<br>
+  ==8119==    by 0x40051D: main (badrw.c:5)<br>
+In the above, the first stacktrace starts with the inner host stacktrace,<br>
+which in this case is some JITted code. Such code sometimes contains IPs<br>
+that points in the inner guest code (0x40051D: main (badrw.c:5)).<br>
+After the separator, we have the inner guest stacktrace.<br>
+The second stacktrace gives the stacktrace where the heap block that was<br>
+overrun was allocated. We see it was allocated by the inner valgrind<br>
+in the client arena (first part of the stacktrace). The second part is<br>
+the guest stacktrace that did the allocation.<br>
+<br>
+<br>
 (C) Performance tests in an outer/inner setup:<br>
 <br>
  To run all the performance tests with an outer cachegrind, do :<br>
diff --git a/docs/html/dist.readme-mips.html b/docs/html/dist.readme-mips.html
index bd7c477..bd47d06 100644
--- a/docs/html/dist.readme-mips.html
+++ b/docs/html/dist.readme-mips.html
@@ -3,7 +3,7 @@
 <meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
 <title>11. README.mips</title>
 <link rel="stylesheet" type="text/css" href="vg_basic.css">
-<meta name="generator" content="DocBook XSL Stylesheets V1.78.1">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
 <link rel="home" href="index.html" title="Valgrind Documentation">
 <link rel="up" href="dist.html" title="Valgrind Distribution Documents">
 <link rel="prev" href="dist.readme-android_emulator.html" title="10. README.android_emulator">
diff --git a/docs/html/dist.readme-missing.html b/docs/html/dist.readme-missing.html
index 7273b51..eae0a04 100644
--- a/docs/html/dist.readme-missing.html
+++ b/docs/html/dist.readme-missing.html
@@ -3,7 +3,7 @@
 <meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
 <title>5. README_MISSING_SYSCALL_OR_IOCTL</title>
 <link rel="stylesheet" type="text/css" href="vg_basic.css">
-<meta name="generator" content="DocBook XSL Stylesheets V1.78.1">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
 <link rel="home" href="index.html" title="Valgrind Documentation">
 <link rel="up" href="dist.html" title="Valgrind Distribution Documents">
 <link rel="prev" href="dist.readme.html" title="4. README">
@@ -163,7 +163,7 @@
     LINX_, LINXY, PLAX_, PLAXY.<br>
     GEN* for generic syscalls (in syswrap-generic.c), LIN* for linux<br>
     specific ones (in syswrap-linux.c) and PLA* for the platform<br>
-    dependant ones (in syswrap-$(PLATFORM)-linux.c).<br>
+    dependent ones (in syswrap-$(PLATFORM)-linux.c).<br>
     The *XY variant if it requires a PRE() and POST() function, and<br>
     the *X_ variant if it only requires a PRE()<br>
     function.  <br>
diff --git a/docs/html/dist.readme-packagers.html b/docs/html/dist.readme-packagers.html
index 12b6685..a37248d 100644
--- a/docs/html/dist.readme-packagers.html
+++ b/docs/html/dist.readme-packagers.html
@@ -3,7 +3,7 @@
 <meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
 <title>7. README_PACKAGERS</title>
 <link rel="stylesheet" type="text/css" href="vg_basic.css">
-<meta name="generator" content="DocBook XSL Stylesheets V1.78.1">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
 <link rel="home" href="index.html" title="Valgrind Documentation">
 <link rel="up" href="dist.html" title="Valgrind Distribution Documents">
 <link rel="prev" href="dist.readme-developers.html" title="6. README_DEVELOPERS">
diff --git a/docs/html/dist.readme-s390.html b/docs/html/dist.readme-s390.html
index 003d5c8..6970064 100644
--- a/docs/html/dist.readme-s390.html
+++ b/docs/html/dist.readme-s390.html
@@ -3,7 +3,7 @@
 <meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
 <title>8. README.S390</title>
 <link rel="stylesheet" type="text/css" href="vg_basic.css">
-<meta name="generator" content="DocBook XSL Stylesheets V1.78.1">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
 <link rel="home" href="index.html" title="Valgrind Documentation">
 <link rel="up" href="dist.html" title="Valgrind Distribution Documents">
 <link rel="prev" href="dist.readme-packagers.html" title="7. README_PACKAGERS">
diff --git a/docs/html/dist.readme-solaris.html b/docs/html/dist.readme-solaris.html
index fa10fe3..baf392b 100644
--- a/docs/html/dist.readme-solaris.html
+++ b/docs/html/dist.readme-solaris.html
@@ -3,7 +3,7 @@
 <meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
 <title>12. README.solaris</title>
 <link rel="stylesheet" type="text/css" href="vg_basic.css">
-<meta name="generator" content="DocBook XSL Stylesheets V1.78.1">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
 <link rel="home" href="index.html" title="Valgrind Documentation">
 <link rel="up" href="dist.html" title="Valgrind Distribution Documents">
 <link rel="prev" href="dist.readme-mips.html" title="11. README.mips">
@@ -34,12 +34,14 @@
 - A working combination of autotools is required: aclocal, autoheader,<br>
   automake and autoconf have to be found in the PATH. You should be able to<br>
   install pkg:/developer/build/automake and pkg:/developer/build/autoconf<br>
-  packages to fullfil this requirement.<br>
+  packages to fulfil this requirement.<br>
 - System header files are required. On Solaris, these can be installed with:<br>
     # pkg install system/header<br>
 - GNU make is also required. On Solaris, this can be quickly achieved with:<br>
     $ PATH=/usr/gnu/bin:$PATH; export PATH<br>
 - For remote debugging support, working GDB is required (see below).<br>
+- For running regression tests, GNU sed, grep, awk, diff are required.<br>
+  This can be quickly achieved on Solaris by prepending /usr/gnu/bin to PATH.<br>
 <br>
 <br>
 Compilation<br>
@@ -146,7 +148,6 @@
 - Provide better error reporting for various subsyscalls.<br>
 - Implement storing of extra register state in signal frame.<br>
 - Performance comparison against other platforms.<br>
-<br>
 - Prevent SIGPIPE when writing to a socket (coregrind/m_libcfile.c).<br>
 - Implement ticket locking for fair scheduling (--fair-sched=yes).<br>
 - Implement support in DRD and Helgrind tools for thr_join() with thread == 0.<br>
@@ -160,6 +161,8 @@
   to see this in effect. Would require awareness of syscall parameter semantics.<br>
 - Correctly print arguments of DW_CFA_ORCL_arg_loc in show_CF_instruction() when<br>
   it is implemented in libdwarf.<br>
+- Handle a situation when guest program sets SC_CANCEL_FLG in schedctl and<br>
+  Valgrind needs to invoke a syscall on its own.<br>
 <br>
 <br>
 Contacts<br>
diff --git a/docs/html/dist.readme.html b/docs/html/dist.readme.html
index 2904de3..8d93d00 100644
--- a/docs/html/dist.readme.html
+++ b/docs/html/dist.readme.html
@@ -3,7 +3,7 @@
 <meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
 <title>4. README</title>
 <link rel="stylesheet" type="text/css" href="vg_basic.css">
-<meta name="generator" content="DocBook XSL Stylesheets V1.78.1">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
 <link rel="home" href="index.html" title="Valgrind Documentation">
 <link rel="up" href="dist.html" title="Valgrind Distribution Documents">
 <link rel="prev" href="dist.news.old.html" title="3. OLDER NEWS">
diff --git a/docs/html/drd-manual.html b/docs/html/drd-manual.html
index 0de0955..62d214e 100644
--- a/docs/html/drd-manual.html
+++ b/docs/html/drd-manual.html
@@ -3,7 +3,7 @@
 <meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
 <title>8. DRD: a thread error detector</title>
 <link rel="stylesheet" type="text/css" href="vg_basic.css">
-<meta name="generator" content="DocBook XSL Stylesheets V1.78.1">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
 <link rel="home" href="index.html" title="Valgrind Documentation">
 <link rel="up" href="manual.html" title="Valgrind User Manual">
 <link rel="prev" href="hg-manual.html" title="7. Helgrind: a thread error detector">
diff --git a/docs/html/faq.html b/docs/html/faq.html
index b17361e..c993974 100644
--- a/docs/html/faq.html
+++ b/docs/html/faq.html
@@ -3,7 +3,7 @@
 <meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
 <title>Valgrind Frequently Asked Questions</title>
 <link rel="stylesheet" type="text/css" href="vg_basic.css">
-<meta name="generator" content="DocBook XSL Stylesheets V1.78.1">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
 <link rel="home" href="index.html" title="Valgrind Documentation">
 <link rel="up" href="FAQ.html" title="Valgrind FAQ">
 <link rel="prev" href="FAQ.html" title="Valgrind FAQ">
@@ -187,7 +187,7 @@
 <tr><td colspan="2"> </td></tr>
 <tr class="question">
 <td align="left" valign="top">
-<a name="faq.glibc_devel"></a><a name="idm140639118203536"></a><b>2.2.</b>
+<a name="faq.glibc_devel"></a><a name="idm140394923880656"></a><b>2.2.</b>
 </td>
 <td align="left" valign="top">
 <b>When building Valgrind, 'make' fails with this:</b><pre class="screen">
diff --git a/docs/html/hg-manual.html b/docs/html/hg-manual.html
index 4156c05..cec55e4 100644
--- a/docs/html/hg-manual.html
+++ b/docs/html/hg-manual.html
@@ -3,7 +3,7 @@
 <meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
 <title>7. Helgrind: a thread error detector</title>
 <link rel="stylesheet" type="text/css" href="vg_basic.css">
-<meta name="generator" content="DocBook XSL Stylesheets V1.78.1">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
 <link rel="home" href="index.html" title="Valgrind Documentation">
 <link rel="up" href="manual.html" title="Valgrind User Manual">
 <link rel="prev" href="cl-manual.html" title="6. Callgrind: a call-graph generating cache and branch prediction profiler">
@@ -81,6 +81,10 @@
 primitives, you can describe their behaviour to Helgrind using the
 <code class="varname">ANNOTATE_*</code> macros defined
 in <code class="varname">helgrind.h</code>.</p>
+<p>Helgrind also provides <a class="xref" href="manual-core.html#manual-core.xtree" title="2.9. Execution Trees">Execution Trees</a> memory
+  profiling using the command line
+  option <code class="computeroutput">--xtree-memory</code> and the monitor command
+   <code class="computeroutput">xtmemory</code>.</p>
 <p>Following those is a section containing 
 <a class="link" href="hg-manual.html#hg-manual.effective-use" title="7.5. Hints and Tips for Effective Use of Helgrind">
 hints and tips on how to get the best out of Helgrind.</a>
diff --git a/docs/html/images/kcachegrind_xtree.png b/docs/html/images/kcachegrind_xtree.png
new file mode 100644
index 0000000..6006bbd
--- /dev/null
+++ b/docs/html/images/kcachegrind_xtree.png
Binary files differ
diff --git a/docs/html/index.html b/docs/html/index.html
index 8e27063..7898a1e 100644
--- a/docs/html/index.html
+++ b/docs/html/index.html
@@ -3,7 +3,7 @@
 <meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
 <title>Valgrind Documentation</title>
 <link rel="stylesheet" type="text/css" href="vg_basic.css">
-<meta name="generator" content="DocBook XSL Stylesheets V1.78.1">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
 <link rel="home" href="index.html" title="Valgrind Documentation">
 <link rel="next" href="QuickStart.html" title="The Valgrind Quick Start Guide">
 </head>
@@ -14,12 +14,12 @@
 <div>
 <div align="center"><h1 class="title">
 <a name="set-index"></a>Valgrind Documentation</h1></div>
-<div align="center"><p class="releaseinfo">Release 3.12.0 20 October 2016</p></div>
-<div align="center"><p class="copyright">Copyright © 2000-2016 
+<div align="center"><p class="releaseinfo">Release 3.13.0 15 June 2017</p></div>
+<div align="center"><p class="copyright">Copyright © 2000-2017 
         <a class="link" href="dist.authors.html" title="1. AUTHORS">AUTHORS</a>
       </p></div>
 <div align="center"><div class="legalnotice">
-<a name="idm140639127546768"></a><p>Permission is granted to copy, distribute and/or modify
+<a name="idm140394938157648"></a><p>Permission is granted to copy, distribute and/or modify
         this document under the terms of the GNU Free Documentation
         License, Version 1.2 or any later version published by the
         Free Software Foundation; with no Invariant Sections, with no
diff --git a/docs/html/license.gfdl.html b/docs/html/license.gfdl.html
index b4f9e11..fceebee 100644
--- a/docs/html/license.gfdl.html
+++ b/docs/html/license.gfdl.html
@@ -3,7 +3,7 @@
 <meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
 <title>2. The GNU Free Documentation License</title>
 <link rel="stylesheet" type="text/css" href="vg_basic.css">
-<meta name="generator" content="DocBook XSL Stylesheets V1.78.1">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
 <link rel="home" href="index.html" title="Valgrind Documentation">
 <link rel="up" href="licenses.html" title="GNU Licenses">
 <link rel="prev" href="license.gpl.html" title="1. The GNU General Public License">
diff --git a/docs/html/license.gpl.html b/docs/html/license.gpl.html
index e48a6c4..2673ea7 100644
--- a/docs/html/license.gpl.html
+++ b/docs/html/license.gpl.html
@@ -3,7 +3,7 @@
 <meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
 <title>1. The GNU General Public License</title>
 <link rel="stylesheet" type="text/css" href="vg_basic.css">
-<meta name="generator" content="DocBook XSL Stylesheets V1.78.1">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
 <link rel="home" href="index.html" title="Valgrind Documentation">
 <link rel="up" href="licenses.html" title="GNU Licenses">
 <link rel="prev" href="licenses.html" title="GNU Licenses">
diff --git a/docs/html/licenses.html b/docs/html/licenses.html
index 924a130..4016d64 100644
--- a/docs/html/licenses.html
+++ b/docs/html/licenses.html
@@ -3,7 +3,7 @@
 <meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
 <title>GNU Licenses</title>
 <link rel="stylesheet" type="text/css" href="vg_basic.css">
-<meta name="generator" content="DocBook XSL Stylesheets V1.78.1">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
 <link rel="home" href="index.html" title="Valgrind Documentation">
 <link rel="up" href="index.html" title="Valgrind Documentation">
 <link rel="prev" href="dist.readme-solaris.html" title="12. README.solaris">
diff --git a/docs/html/lk-manual.html b/docs/html/lk-manual.html
index 0713143..51a190a 100644
--- a/docs/html/lk-manual.html
+++ b/docs/html/lk-manual.html
@@ -3,7 +3,7 @@
 <meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
 <title>13. Lackey: an example tool</title>
 <link rel="stylesheet" type="text/css" href="vg_basic.css">
-<meta name="generator" content="DocBook XSL Stylesheets V1.78.1">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
 <link rel="home" href="index.html" title="Valgrind Documentation">
 <link rel="up" href="manual.html" title="Valgrind User Manual">
 <link rel="prev" href="bbv-manual.html" title="12. BBV: an experimental basic block vector generation tool">
diff --git a/docs/html/manual-core-adv.html b/docs/html/manual-core-adv.html
index 0e6738c..de6355a 100644
--- a/docs/html/manual-core-adv.html
+++ b/docs/html/manual-core-adv.html
@@ -3,7 +3,7 @@
 <meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
 <title>3. Using and understanding the Valgrind core: Advanced Topics</title>
 <link rel="stylesheet" type="text/css" href="vg_basic.css">
-<meta name="generator" content="DocBook XSL Stylesheets V1.78.1">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
 <link rel="home" href="index.html" title="Valgrind Documentation">
 <link rel="up" href="manual.html" title="Valgrind User Manual">
 <link rel="prev" href="manual-core.html" title="2. Using and understanding the Valgrind core">
@@ -213,7 +213,7 @@
     memcheck leak search can be requested from the client program
     using VALGRIND_DO_LEAK_CHECK or via the monitor command "leak_search".
     Note that the syntax of the command string is only verified at
-    run-time. So, if it exists, it is preferrable to use a specific
+    run-time. So, if it exists, it is preferable to use a specific
     client request to have better compile time verifications of the
     arguments.
     </p></dd>
@@ -354,8 +354,8 @@
 and indicates it is waiting for a connection from a GDB:</p>
 <pre class="programlisting">
 ==2418== Memcheck, a memory error detector
-==2418== Copyright (C) 2002-2010, and GNU GPL'd, by Julian Seward et al.
-==2418== Using Valgrind-3.7.0.SVN and LibVEX; rerun with -h for copyright info
+==2418== Copyright (C) 2002-2017, and GNU GPL'd, by Julian Seward et al.
+==2418== Using Valgrind-3.13.0.SVN and LibVEX; rerun with -h for copyright info
 ==2418== Command: ./prog
 ==2418== 
 ==2418== (action at startup) vgdb me ... 
@@ -940,6 +940,12 @@
      connect to or interrupt a process blocked in a system call on Mac
      OS X or Android.
      </p>
+<p>Unblocking processes blocked in system calls is implemented
+     via agent thread on Solaris. This is quite a different approach
+     than using ptrace on Linux, but leads to equivalent result - Valgrind
+     gdbserver is invoked. Note that agent thread is a Solaris OS
+     feature and cannot be disabled.
+     </p>
 </li>
 <li class="listitem">
 <p>Changing register values.</p>
@@ -1204,6 +1210,10 @@
     <code class="option">--vgdb-error=0</code> on the
     command line, then set a few breakpoints, set the vgdb-error value
     to a huge value and continue execution.</p></li>
+<li class="listitem"><p><code class="varname">xtmemory [&lt;filename&gt; default xtmemory.kcg.%p.%n]</code>
+      requests the tool to produce an xtree heap memory report.
+      See <a class="xref" href="manual-core.html#manual-core.xtree" title="2.9. Execution Trees">Execution Trees</a> for
+      a detailed explanation about execution trees. </p></li>
 </ul></div>
 <p>The following Valgrind monitor commands are useful for
 investigating the behaviour of Valgrind or its gdbserver in case of
@@ -1236,7 +1246,7 @@
     by valgrind address space manager will be output. Note that
     this list of segments is always output on the Valgrind log.
     </p></li>
-<li class="listitem"><p><code class="varname">v.info exectxt</code> shows informations about
+<li class="listitem"><p><code class="varname">v.info exectxt</code> shows information about
     the "executable contexts" (i.e. the stack traces) recorded by
     Valgrind.  For some programs, Valgrind can record a very high
     number of such stack traces, causing a high memory usage.  This
@@ -1291,9 +1301,9 @@
     variable of the memcheck tool on an x86, do the following setup:</p>
 <pre class="screen">
 (gdb) monitor v.set hostvisibility yes
-(gdb) add-symbol-file /path/to/tool/executable/file/memcheck-x86-linux 0x38000000
+(gdb) add-symbol-file /path/to/tool/executable/file/memcheck-x86-linux 0x58000000
 add symbol table from file "/path/to/tool/executable/file/memcheck-x86-linux" at
-	.text_addr = 0x38000000
+	.text_addr = 0x58000000
 (y or n) y
 Reading symbols from /path/to/tool/executable/file/memcheck-x86-linux...done.
 (gdb) 
diff --git a/docs/html/manual-core.html b/docs/html/manual-core.html
index 480d038..0a98fce 100644
--- a/docs/html/manual-core.html
+++ b/docs/html/manual-core.html
@@ -3,7 +3,7 @@
 <meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
 <title>2. Using and understanding the Valgrind core</title>
 <link rel="stylesheet" type="text/css" href="vg_basic.css">
-<meta name="generator" content="DocBook XSL Stylesheets V1.78.1">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
 <link rel="home" href="index.html" title="Valgrind Documentation">
 <link rel="up" href="manual.html" title="Valgrind User Manual">
 <link rel="prev" href="manual-intro.html" title="1. Introduction">
@@ -41,11 +41,12 @@
 <dt><span class="sect1"><a href="manual-core.html#manual-core.pthreads">2.7. Support for Threads</a></span></dt>
 <dd><dl><dt><span class="sect2"><a href="manual-core.html#manual-core.pthreads_perf_sched">2.7.1. Scheduling and Multi-Thread Performance</a></span></dt></dl></dd>
 <dt><span class="sect1"><a href="manual-core.html#manual-core.signals">2.8. Handling of Signals</a></span></dt>
-<dt><span class="sect1"><a href="manual-core.html#manual-core.install">2.9. Building and Installing Valgrind</a></span></dt>
-<dt><span class="sect1"><a href="manual-core.html#manual-core.problems">2.10. If You Have Problems</a></span></dt>
-<dt><span class="sect1"><a href="manual-core.html#manual-core.limits">2.11. Limitations</a></span></dt>
-<dt><span class="sect1"><a href="manual-core.html#manual-core.example">2.12. An Example Run</a></span></dt>
-<dt><span class="sect1"><a href="manual-core.html#manual-core.warnings">2.13. Warning Messages You Might See</a></span></dt>
+<dt><span class="sect1"><a href="manual-core.html#manual-core.xtree">2.9. Execution Trees</a></span></dt>
+<dt><span class="sect1"><a href="manual-core.html#manual-core.install">2.10. Building and Installing Valgrind</a></span></dt>
+<dt><span class="sect1"><a href="manual-core.html#manual-core.problems">2.11. If You Have Problems</a></span></dt>
+<dt><span class="sect1"><a href="manual-core.html#manual-core.limits">2.12. Limitations</a></span></dt>
+<dt><span class="sect1"><a href="manual-core.html#manual-core.example">2.13. An Example Run</a></span></dt>
+<dt><span class="sect1"><a href="manual-core.html#manual-core.warnings">2.14. Warning Messages You Might See</a></span></dt>
 </dl>
 </div>
 <p>This chapter describes the Valgrind core services, command-line
@@ -760,7 +761,15 @@
       calling exec afterwards, and you don't use this specifier
       (or the <code class="option">%q</code> specifier below), the Valgrind output from
       all those processes will go into one file, possibly jumbled up, and
-      possibly incomplete.</p>
+      possibly incomplete. Note: If the program forks and calls exec afterwards,
+      Valgrind output of the child from the period between fork and exec
+      will be lost. Fortunately this gap is really tiny for most programs;
+      and modern programs use <code class="computeroutput">posix_spawn</code>
+      anyway.</p>
+<p><code class="option">%n</code> is replaced with a file sequence number
+      unique for this process.
+      This is useful for processes that produces several files
+      from the same filename template.</p>
 <p><code class="option">%q{FOO}</code> is replaced with the contents of the
       environment variable <code class="varname">FOO</code>.  If the
       <code class="option">{FOO}</code> part is malformed, it causes an abort.  This
@@ -776,7 +785,7 @@
 <p>If an <code class="option">%</code> is followed by any other character, it
       causes an abort.</p>
 <p>If the file name specifies a relative file name, it is put
-      in the program's initial working directory : this is the current
+      in the program's initial working directory: this is the current
       directory when the program started its execution after the fork
       or after the exec.  If it specifies an absolute file name (ie.
       starts with '/') then it is put there.
@@ -864,7 +873,7 @@
       <code class="option">--xml=yes</code>.  Any <code class="option">%p</code> or
       <code class="option">%q</code> sequences appearing in the filename are expanded
       in exactly the same way as they are for <code class="option">--log-file</code>.
-      See the description of <code class="option">--log-file</code> for details.
+      See the description of  <a class="xref" href="manual-core.html#opt.log-file">--log-file</a> for details.
       </p></dd>
 <dt>
 <a name="opt.xml-socket"></a><span class="term">
@@ -1443,6 +1452,68 @@
       memory needed by Valgrind but also reduces the chances of
       detecting over/underruns, so is not recommended.</p>
 </dd>
+<dt>
+<a name="opt.xtree-memory"></a><span class="term">
+      <code class="option">--xtree-memory=none|allocs|full [none] </code>
+    </span>
+</dt>
+<dd>
+<p> Tools replacing Valgrind's <code class="function">malloc,
+      realloc,</code> etc, can optionally produce an execution
+      tree detailing which piece of code is responsible for heap
+      memory usage. See <a class="xref" href="manual-core.html#manual-core.xtree" title="2.9. Execution Trees">Execution Trees</a>
+      for a detailed explanation about execution trees. </p>
+<p> When set to <code class="varname">none</code>, no memory execution
+      tree is produced.</p>
+<p> When set to <code class="varname">allocs</code>, the memory
+      execution tree gives the current number of allocated bytes and
+      the current number of allocated blocks. </p>
+<p> When set to <code class="varname">full</code>, the memory execution
+      tree gives 6 different measurements : the current number of
+      allocated bytes and blocks (same values as
+      for <code class="varname">allocs</code>), the total number of allocated
+      bytes and blocks, the total number of freed bytes and
+      blocks.</p>
+<p>Note that the overhead in cpu and memory to produce
+        an xtree depends on the tool. The overhead in cpu is small for
+        the value <code class="varname">allocs</code>, as the information needed
+        to produce this report is maintained in any case by the tool.
+        For massif and helgrind, specifying <code class="varname">full</code>
+        implies to capture a stack trace for each free operation,
+        while normally these tools only capture an allocation stack
+        trace.  For memcheck, the cpu overhead for the
+        value <code class="varname">full</code> is small, as this can only be
+        used in combination with
+        <code class="option">--keep-stacktraces=alloc-and-free</code> or
+        <code class="option">--keep-stacktraces=alloc-then-free</code>, which
+        already records a stack trace for each free operation. The
+        memory overhead varies between 5 and 10 words per unique
+        stacktrace in the xtree, plus the memory needed to record the
+        stack trace for the free operations, if needed specifically
+        for the xtree.
+      </p>
+</dd>
+<dt>
+<a name="opt.xtree-memory-file"></a><span class="term">
+      <code class="option">--xtree-memory-file=&lt;filename&gt; [default:
+      xtmemory.kcg.%p] </code>
+    </span>
+</dt>
+<dd>
+<p>Specifies that Valgrind should produce the xtree memory
+      report in the specified file.  Any <code class="option">%p</code> or
+      <code class="option">%q</code> sequences appearing in the filename are expanded
+      in exactly the same way as they are for <code class="option">--log-file</code>.
+      See the description of <a class="xref" href="manual-core.html#opt.log-file">--log-file</a>
+      for details. </p>
+<p>If the filename contains the extension  <code class="option">.ms</code>,
+        then the produced file format will be a massif output file format.
+        If the filename contains the extension  <code class="option">.kcg</code>
+        or no extension is provided or recognised,
+        then the produced file format will be a callgrind output format.</p>
+<p>See <a class="xref" href="manual-core.html#manual-core.xtree" title="2.9. Execution Trees">Execution Trees</a>
+      for a detailed explanation about execution trees formats. </p>
+</dd>
 </dl>
 </div>
 </div>
@@ -1749,7 +1820,7 @@
             knowledge of the glibc stack cache implementation and by
             examining the debug information of the pthread
             library. This technique is thus somewhat fragile and might
-            not work for all glibc versions. This has been succesfully
+            not work for all glibc versions. This has been successfully
             tested with various glibc versions (e.g. 2.11, 2.16, 2.18)
             on various platforms.</p>
 </li>
@@ -1759,6 +1830,37 @@
           when writing. Without this, programs using libdoor(3LIB)
           functionality with completely proprietary semantics may report
           large number of false positives.</p></li>
+<li class="listitem"><p><code class="option">fallback-llsc: </code>(MIPS and ARM64 only): Enables
+            an alternative implementation of Load-Linked (LL) and
+            Store-Conditional (SC) instructions.  The standard implementation
+            gives more correct behaviour, but can cause indefinite looping on
+            certain processor implementations that are intolerant of extra
+            memory references between LL and SC.  So far this is known only to
+            happen on Cavium 3 cores.
+
+            You should not need to use this flag, since the relevant cores are
+            detected at startup and the alternative implementation is
+            automatically enabled if necessary.  There is no equivalent
+            anti-flag: you cannot force-disable the alternative
+            implementation, if it is automatically enabled.
+
+            The underlying problem exists because the "standard"
+            implementation of LL and SC is done by copying through LL and SC
+            instructions into the instrumented code.  However, tools may
+            insert extra instrumentation memory references in between the LL
+            and SC instructions.  These memory references are not present in
+            the original uninstrumented code, and their presence in the
+            instrumented code can cause the SC instructions to persistently
+            fail, leading to indefinite looping in LL-SC blocks.
+
+            The alternative implementation gives correct behaviour of LL and
+            SC instructions between threads in a process, up to and including
+            the ABA scenario.  It also gives correct behaviour between a
+            Valgrinded thread and a non-Valgrinded thread running in a
+            different process, that communicate via shared memory, but only up
+            to and including correct CAS behaviour -- in this case the ABA
+            scenario may not be correctly handled.
+          </p></li>
 </ul></div>
 </dd>
 <dt>
@@ -2125,8 +2227,8 @@
 <code class="computeroutput">~/.valgrindrc</code>.
 </p>
 <p>Please note that the <code class="computeroutput">./.valgrindrc</code>
-file is ignored if it is marked as world writeable or not owned 
-by the current user. This is because the
+file is ignored if it is not a regular file, or is marked as world writeable,
+or is not owned by the current user. This is because the
 <code class="computeroutput">./.valgrindrc</code> can contain options that are
 potentially harmful or can be used by a local attacker to execute code under
 your user account.
@@ -2278,7 +2380,206 @@
 </div>
 <div class="sect1">
 <div class="titlepage"><div><div><h2 class="title" style="clear: both">
-<a name="manual-core.install"></a>2.9. Building and Installing Valgrind</h2></div></div></div>
+<a name="manual-core.xtree"></a>2.9. Execution Trees</h2></div></div></div>
+<p>An execution tree (xtree) is made of a set of stack traces, each
+  stack trace is associated with some resource consumptions or event
+  counts.  Depending on the xtree, different event counts/resource
+  consumptions can be recorded in the xtree. Multiple tools can
+  produce memory use xtree. Memcheck can output the leak search results
+  in an xtree.</p>
+<p> A typical usage for an xtree is to show a graphical or textual
+  representation of the heap usage of a program. The below figure is
+  a heap usage xtree graphical representation produced by
+  kcachegrind. In the kcachegrind output, you can see that main
+  current heap usage (allocated indirectly) is 528 bytes : 388 bytes
+  allocated indirectly via a call to function f1 and 140 bytes
+  indirectly allocated via a call to function f2. f2 has allocated
+  memory by calling g2, while f1 has allocated memory by calling g11
+  and g12. g11, g12 and g1 have directly called a memory allocation
+  function (malloc), and so have a non zero 'Self' value. Note that when
+  kcachegrind shows an xtree, the 'Called' column and call nr indications in
+  the Call Graph are not significant (always set to 0 or 1, independently
+  of the real nr of calls. The kcachegrind versions &gt;= 0.8.0 do not show
+  anymore such irrelevant xtree call number information.</p>
+<div><img src="images/kcachegrind_xtree.png"></div>
+<p>An xtree heap memory report is produced at the end of the
+  execution when required using the
+  option <code class="option">--xtree-memory</code>.  It can also be produced on
+  demand using the <code class="option">xtmemory</code> monitor command (see
+  <a class="xref" href="manual-core-adv.html#manual-core-adv.valgrind-monitor-commands" title="3.2.10. Valgrind monitor commands">Valgrind monitor commands</a>). Currently,
+  an xtree heap memory report can be produced by
+  the <code class="option">memcheck</code>, <code class="option">helgrind</code>
+  and <code class="option">massif</code> tools.</p>
+<p>The xtrees produced by the option
+  <a class="xref" href="manual-core.html#opt.xtree-memory">--xtree-memory</a> or the <code class="option">xtmemory</code>
+  monitor command are showing the following events/resource
+  consumption describing heap usage:</p>
+<div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; ">
+<li class="listitem"><p><code class="option">curB</code> current number of Bytes allocated. The
+      number of allocated bytes is added to the <code class="option">curB</code>
+      value of a stack trace for each allocation. It is decreased when
+      a block allocated by this stack trace is released (by another
+      "freeing" stack trace)</p></li>
+<li class="listitem"><p><code class="option">curBk</code> current number of Blocks allocated,
+      maintained similary to curB : +1 for each allocation, -1 when
+      the block is freed.</p></li>
+<li class="listitem"><p><code class="option">totB</code> total allocated Bytes. This is
+      increased for each allocation with the number of allocated bytes.</p></li>
+<li class="listitem"><p><code class="option">totBk</code> total allocated Blocks, maintained similary
+      to totB : +1 for each allocation.</p></li>
+<li class="listitem"><p><code class="option">totFdB</code> total Freed Bytes, increased each time
+      a block is released by this ("freeing") stack trace : + nr freed bytes
+      for each free operation.</p></li>
+<li class="listitem"><p><code class="option">totFdBk</code> total Freed Blocks, maintained similarly
+      to totFdB : +1 for each free operation.</p></li>
+</ul></div>
+<p>Note that the last 4 counts are produced only when the
+  <code class="option">--xtree-memory=full</code> was given at startup.</p>
+<p>Xtrees can be saved in 2 file formats, the "Callgrind Format" and
+the "Massif Format".</p>
+<div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; ">
+<li class="listitem">
+<p>Callgrind Format</p>
+<p>An xtree file in the Callgrind Format contains a single callgraph,
+      associating each stack trace with the values recorded
+      in the xtree. </p>
+<p>Different Callgrind Format file visualisers are available:</p>
+<p>Valgrind distribution includes the <code class="option">callgrind_annotate</code>
+      command line utility that reads in the xtree data, and prints a sorted
+      lists of functions, optionally with source annotation. Note that due to
+      xtree specificities, you must give the option
+      <code class="option">--inclusive=yes</code> to callgrind_annotate.</p>
+<p>For graphical visualization of the data, you can use
+      <a class="ulink" href="http://kcachegrind.sourceforge.net/cgi-bin/show.cgi/KcacheGrindIndex" target="_top">KCachegrind</a>, which is a KDE/Qt based
+      GUI that makes it easy to navigate the large amount of data that
+      an xtree can contain.</p>
+</li>
+<li class="listitem">
+<p>Massif Format</p>
+<p>An xtree file in the Massif Format contains one detailed tree
+      callgraph data for each type of event recorded in the xtree.  So,
+      for <code class="option">--xtree-memory=alloc</code>, the output file will
+      contain 2 detailed trees (for the counts <code class="option">curB</code>
+      and <code class="option">curBk</code>),
+      while <code class="option">--xtree-memory=full</code> will give a file
+      with 6 detailed trees.</p>
+<p>Different Massif Format file visualisers are available. Valgrind
+      distribution includes the <code class="option">ms_print</code>
+      command line utility that produces an easy to read reprentation of
+      a massif output file. See <a class="xref" href="ms-manual.html#ms-manual.running-massif" title="9.2.2. Running Massif">Running Massif</a> and
+      <a class="xref" href="ms-manual.html#ms-manual.using" title="9.2. Using Massif and ms_print">Using Massif and ms_print</a> for more details
+      about visualising Massif Format output files.</p>
+</li>
+</ul></div>
+<p>Note that for equivalent information, the Callgrind Format is more compact
+  than the Massif Format.  However, the Callgrind Format always contains the
+  full data: there is no filtering done during file production, filtering is
+  done by visualisers such as kcachegrind. kcachegrind is particularly easy to
+  use to analyse big xtree data containing multiple events counts or resources
+  consumption.  The Massif Format (optionally) only contains a part of the data.
+  For example, the Massif tool might filter some of the data, according to the
+  <code class="option">--threshold</code> option.
+</p>
+<p>To clarify the xtree concept, the below gives several extracts of
+  the output produced by the following commands:
+</p>
+<pre class="screen">
+valgrind --xtree-memory=full --xtree-memory-file=xtmemory.kcg mfg
+callgrind_annotate --auto=yes --inclusive=yes --sort=curB:100,curBk:100,totB:100,totBk:100,totFdB:100,totFdBk:100  xtmemory.kcg
+</pre>
+<p>
+</p>
+<p>The below extract shows that the program mfg has allocated in
+  total 770 bytes in 60 different blocks. Of these 60 blocks, 19 were
+  freed, releasing a total of 242 bytes. The heap currently contains
+  528 bytes in 41 blocks.</p>
+<pre class="screen">
+--------------------------------------------------------------------------------
+curB curBk totB totBk totFdB totFdBk 
+--------------------------------------------------------------------------------
+ 528    41  770    60    242      19  PROGRAM TOTALS
+</pre>
+<p>The below gives more details about which functions have
+  allocated or released memory. As an example, we see that main has
+  (directly or indirectly) allocated 770 bytes of memory and freed
+  (directly or indirectly) 242 bytes of memory. The function f1 has
+  (directly or indirectly) allocated 570 bytes of memory, and has not
+  (directly or indirectly) freed memory.  Of the 570 bytes allocated
+  by function f1, 388 bytes (34 blocks) have not been
+  released.</p>
+<pre class="screen">
+--------------------------------------------------------------------------------
+curB curBk totB totBk totFdB totFdBk  file:function
+--------------------------------------------------------------------------------
+ 528    41  770    60    242      19  mfg.c:main
+ 388    34  570    50      0       0  mfg.c:f1
+ 220    20  330    30      0       0  mfg.c:g11
+ 168    14  240    20      0       0  mfg.c:g12
+ 140     7  200    10      0       0  mfg.c:g2
+ 140     7  200    10      0       0  mfg.c:f2
+   0     0    0     0    131      10  mfg.c:freeY
+   0     0    0     0    111       9  mfg.c:freeX
+</pre>
+<p>The below gives a more detailed information about the callgraph
+  and which source lines/calls have (directly or indirectly) allocated or
+  released memory. The below shows that the 770 bytes allocated by
+  main have been indirectly allocated by calls to f1 and f2.
+  Similarly, we see that the 570 bytes allocated by f1 have been
+  indirectly allocated by calls to g11 and g12. Of the 330 bytes allocated
+  by the 30 calls to g11, 168 bytes have not been freed.
+  The function freeY (called once by main) has released in total
+  10 blocks and 131 bytes. </p>
+<pre class="screen">
+--------------------------------------------------------------------------------
+-- Auto-annotated source: /home/philippe/valgrind/littleprogs/ + mfg.c
+--------------------------------------------------------------------------------
+curB curBk totB totBk totFdB totFdBk 
+....
+   .     .    .     .      .       .  static void freeY(void)
+   .     .    .     .      .       .  {
+   .     .    .     .      .       .     int i;
+   .     .    .     .      .       .     for (i = 0; i &lt; next_ptr; i++)
+   .     .    .     .      .       .        if(i % 5 == 0 &amp;&amp; ptrs[i] != NULL)
+   0     0    0     0    131      10           free(ptrs[i]);
+   .     .    .     .      .       .  }
+   .     .    .     .      .       .  static void f1(void)
+   .     .    .     .      .       .  {
+   .     .    .     .      .       .     int i;
+   .     .    .     .      .       .     for (i = 0; i &lt; 30; i++)
+ 220    20  330    30      0       0        g11();
+   .     .    .     .      .       .     for (i = 0; i &lt; 20; i++)
+ 168    14  240    20      0       0        g12();
+   .     .    .     .      .       .  }
+   .     .    .     .      .       .  int main()
+   .     .    .     .      .       .  {
+ 388    34  570    50      0       0     f1();
+ 140     7  200    10      0       0     f2();
+   0     0    0     0    111       9     freeX();
+   0     0    0     0    131      10     freeY();
+   .     .    .     .      .       .     return 0;
+   .     .    .     .      .       .  }
+</pre>
+<p>Heap memory xtrees are helping to understand how your (big)
+  program is using the heap. A full heap memory xtree helps to pin
+  point some code that allocates a lot of small objects : allocating
+  such small objects might be replaced by more efficient technique,
+  such as allocating a big block using malloc, and then diviving this
+  block into smaller blocks in order to decrease the cpu and/or memory
+  overhead of allocating a lot of small blocks. Such full xtree information
+  complements e.g. what callgrind can show: callgrind can show the number
+  of calls to a function (such as malloc) but does not indicate the volume
+  of memory allocated (or freed).</p>
+<p>A full heap memory xtree also can identify the code that allocates
+  and frees a lot of blocks : the total foot print of the program might
+  not reflect the fact that the same memory was over and over allocated
+  then released.</p>
+<p>Finally, Xtree visualisers such as kcachegrind are helping to
+  identify big memory consumers, in order to possibly optimise the
+  amount of memory needed by your program.</p>
+</div>
+<div class="sect1">
+<div class="titlepage"><div><div><h2 class="title" style="clear: both">
+<a name="manual-core.install"></a>2.10. Building and Installing Valgrind</h2></div></div></div>
 <p>We use the standard Unix
 <code class="computeroutput">./configure</code>,
 <code class="computeroutput">make</code>, <code class="computeroutput">make
@@ -2332,9 +2633,9 @@
 </div>
 <div class="sect1">
 <div class="titlepage"><div><div><h2 class="title" style="clear: both">
-<a name="manual-core.problems"></a>2.10. If You Have Problems</h2></div></div></div>
+<a name="manual-core.problems"></a>2.11. If You Have Problems</h2></div></div></div>
 <p>Contact us at <a class="ulink" href="http://www.valgrind.org/" target="_top">http://www.valgrind.org/</a>.</p>
-<p>See <a class="xref" href="manual-core.html#manual-core.limits" title="2.11. Limitations">Limitations</a> for the known
+<p>See <a class="xref" href="manual-core.html#manual-core.limits" title="2.12. Limitations">Limitations</a> for the known
 limitations of Valgrind, and for a list of programs which are
 known not to work on it.</p>
 <p>All parts of the system make heavy use of assertions and 
@@ -2350,7 +2651,7 @@
 </div>
 <div class="sect1">
 <div class="titlepage"><div><div><h2 class="title" style="clear: both">
-<a name="manual-core.limits"></a>2.11. Limitations</h2></div></div></div>
+<a name="manual-core.limits"></a>2.12. Limitations</h2></div></div></div>
 <p>The following list of limitations seems long.  However, most
 programs actually work fine.</p>
 <p>Valgrind will run programs on the supported platforms
@@ -2539,7 +2840,7 @@
 </div>
 <div class="sect1">
 <div class="titlepage"><div><div><h2 class="title" style="clear: both">
-<a name="manual-core.example"></a>2.12. An Example Run</h2></div></div></div>
+<a name="manual-core.example"></a>2.13. An Example Run</h2></div></div></div>
 <p>This is the log for a run of a small program using Memcheck.
 The program is in fact correct, and the reported error is as the
 result of a potentially serious code generation bug in GNU g++
@@ -2573,7 +2874,7 @@
 </div>
 <div class="sect1">
 <div class="titlepage"><div><div><h2 class="title" style="clear: both">
-<a name="manual-core.warnings"></a>2.13. Warning Messages You Might See</h2></div></div></div>
+<a name="manual-core.warnings"></a>2.14. Warning Messages You Might See</h2></div></div></div>
 <p>Some of these only appear if you run in verbose mode
 (enabled by <code class="option">-v</code>):</p>
 <div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; ">
diff --git a/docs/html/manual-intro.html b/docs/html/manual-intro.html
index 965c051..e98c777 100644
--- a/docs/html/manual-intro.html
+++ b/docs/html/manual-intro.html
@@ -3,7 +3,7 @@
 <meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
 <title>1. Introduction</title>
 <link rel="stylesheet" type="text/css" href="vg_basic.css">
-<meta name="generator" content="DocBook XSL Stylesheets V1.78.1">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
 <link rel="home" href="index.html" title="Valgrind Documentation">
 <link rel="up" href="manual.html" title="Valgrind User Manual">
 <link rel="prev" href="manual.html" title="Valgrind User Manual">
diff --git a/docs/html/manual-writing-tools.html b/docs/html/manual-writing-tools.html
index 59fc84d..04c3b36 100644
--- a/docs/html/manual-writing-tools.html
+++ b/docs/html/manual-writing-tools.html
@@ -3,7 +3,7 @@
 <meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
 <title>2. Writing a New Valgrind Tool</title>
 <link rel="stylesheet" type="text/css" href="vg_basic.css">
-<meta name="generator" content="DocBook XSL Stylesheets V1.78.1">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
 <link rel="home" href="index.html" title="Valgrind Documentation">
 <link rel="up" href="tech-docs.html" title="Valgrind Technical Documentation">
 <link rel="prev" href="design-impl.html" title="1. The Design and Implementation of Valgrind">
@@ -159,8 +159,8 @@
    The output should be something like this:</p>
 <pre class="programlisting">
   ==738== foobar-0.0.1, a foobarring tool.
-  ==738== Copyright (C) 2002-2009, and GNU GPL'd, by J. Programmer.
-  ==738== Using Valgrind-3.5.0.SVN and LibVEX; rerun with -h for copyright info
+  ==738== Copyright (C) 2002-2017, and GNU GPL'd, by J. Programmer.
+  ==738== Using Valgrind-3.13.0.SVN and LibVEX; rerun with -h for copyright info
   ==738== Command: date
   ==738==
   Tue Nov 27 12:40:49 EST 2007
diff --git a/docs/html/manual.html b/docs/html/manual.html
index ed44036..e4d465e 100644
--- a/docs/html/manual.html
+++ b/docs/html/manual.html
@@ -3,7 +3,7 @@
 <meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
 <title>Valgrind User Manual</title>
 <link rel="stylesheet" type="text/css" href="vg_basic.css">
-<meta name="generator" content="DocBook XSL Stylesheets V1.78.1">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
 <link rel="home" href="index.html" title="Valgrind Documentation">
 <link rel="up" href="index.html" title="Valgrind Documentation">
 <link rel="prev" href="quick-start.html" title="The Valgrind Quick Start Guide">
@@ -22,10 +22,10 @@
 <div>
 <div><h1 class="title">
 <a name="manual"></a>Valgrind User Manual</h1></div>
-<div><p class="releaseinfo">Release 3.12.0 20 October 2016</p></div>
-<div><p class="copyright">Copyright © 2000-2016 <a class="ulink" href="http://www.valgrind.org/info/developers.html" target="_top">Valgrind Developers</a></p></div>
+<div><p class="releaseinfo">Release 3.13.0 15 June 2017</p></div>
+<div><p class="copyright">Copyright © 2000-2017 <a class="ulink" href="http://www.valgrind.org/info/developers.html" target="_top">Valgrind Developers</a></p></div>
 <div><div class="legalnotice">
-<a name="idm140639115873632"></a><p>Email: <a class="ulink" href="mailto:valgrind@valgrind.org" target="_top">valgrind@valgrind.org</a></p>
+<a name="idm140394925654576"></a><p>Email: <a class="ulink" href="mailto:valgrind@valgrind.org" target="_top">valgrind@valgrind.org</a></p>
 </div></div>
 </div>
 <hr>
@@ -58,11 +58,12 @@
 <dt><span class="sect1"><a href="manual-core.html#manual-core.pthreads">2.7. Support for Threads</a></span></dt>
 <dd><dl><dt><span class="sect2"><a href="manual-core.html#manual-core.pthreads_perf_sched">2.7.1. Scheduling and Multi-Thread Performance</a></span></dt></dl></dd>
 <dt><span class="sect1"><a href="manual-core.html#manual-core.signals">2.8. Handling of Signals</a></span></dt>
-<dt><span class="sect1"><a href="manual-core.html#manual-core.install">2.9. Building and Installing Valgrind</a></span></dt>
-<dt><span class="sect1"><a href="manual-core.html#manual-core.problems">2.10. If You Have Problems</a></span></dt>
-<dt><span class="sect1"><a href="manual-core.html#manual-core.limits">2.11. Limitations</a></span></dt>
-<dt><span class="sect1"><a href="manual-core.html#manual-core.example">2.12. An Example Run</a></span></dt>
-<dt><span class="sect1"><a href="manual-core.html#manual-core.warnings">2.13. Warning Messages You Might See</a></span></dt>
+<dt><span class="sect1"><a href="manual-core.html#manual-core.xtree">2.9. Execution Trees</a></span></dt>
+<dt><span class="sect1"><a href="manual-core.html#manual-core.install">2.10. Building and Installing Valgrind</a></span></dt>
+<dt><span class="sect1"><a href="manual-core.html#manual-core.problems">2.11. If You Have Problems</a></span></dt>
+<dt><span class="sect1"><a href="manual-core.html#manual-core.limits">2.12. Limitations</a></span></dt>
+<dt><span class="sect1"><a href="manual-core.html#manual-core.example">2.13. An Example Run</a></span></dt>
+<dt><span class="sect1"><a href="manual-core.html#manual-core.warnings">2.14. Warning Messages You Might See</a></span></dt>
 </dl></dd>
 <dt><span class="chapter"><a href="manual-core-adv.html">3. Using and understanding the Valgrind core: Advanced Topics</a></span></dt>
 <dd><dl>
@@ -270,9 +271,9 @@
 <dt><span class="sect1"><a href="dh-manual.html#dh-manual.overview">10.1. Overview</a></span></dt>
 <dt><span class="sect1"><a href="dh-manual.html#dh-manual.understanding">10.2. Understanding DHAT's output</a></span></dt>
 <dd><dl>
-<dt><span class="sect2"><a href="dh-manual.html#idm140639117126160">10.2.1. Interpreting the max-live, tot-alloc and deaths fields</a></span></dt>
-<dt><span class="sect2"><a href="dh-manual.html#idm140639113841488">10.2.2. Interpreting the acc-ratios fields</a></span></dt>
-<dt><span class="sect2"><a href="dh-manual.html#idm140639116741152">10.2.3. Interpreting "Aggregated access counts by offset" data</a></span></dt>
+<dt><span class="sect2"><a href="dh-manual.html#idm140394924138288">10.2.1. Interpreting the max-live, tot-alloc and deaths fields</a></span></dt>
+<dt><span class="sect2"><a href="dh-manual.html#idm140394926128304">10.2.2. Interpreting the acc-ratios fields</a></span></dt>
+<dt><span class="sect2"><a href="dh-manual.html#idm140394925890256">10.2.3. Interpreting "Aggregated access counts by offset" data</a></span></dt>
 </dl></dd>
 <dt><span class="sect1"><a href="dh-manual.html#dh-manual.options">10.3. DHAT Command-line Options</a></span></dt>
 </dl></dd>
diff --git a/docs/html/mc-manual.html b/docs/html/mc-manual.html
index b47da7d..2ae7d16 100644
--- a/docs/html/mc-manual.html
+++ b/docs/html/mc-manual.html
@@ -3,7 +3,7 @@
 <meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
 <title>4. Memcheck: a memory error detector</title>
 <link rel="stylesheet" type="text/css" href="vg_basic.css">
-<meta name="generator" content="DocBook XSL Stylesheets V1.78.1">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
 <link rel="home" href="index.html" title="Valgrind Documentation">
 <link rel="up" href="manual.html" title="Valgrind User Manual">
 <link rel="prev" href="manual-core-adv.html" title="3. Using and understanding the Valgrind core: Advanced Topics">
@@ -90,7 +90,11 @@
 </ul></div>
 <p>Problems like these can be difficult to find by other means,
 often remaining undetected for long periods, then causing occasional,
-difficult-to-diagnose crashes.</p>
+  difficult-to-diagnose crashes.</p>
+<p>Memcheck also provides <a class="xref" href="manual-core.html#manual-core.xtree" title="2.9. Execution Trees">Execution Trees</a> memory
+  profiling using the command line
+  option <code class="computeroutput">--xtree-memory</code> and the monitor command
+   <code class="computeroutput">xtmemory</code>.</p>
 </div>
 <div class="sect1">
 <div class="titlepage"><div><div><h2 class="title" style="clear: both">
@@ -726,6 +730,54 @@
 </ul></div>
 </dd>
 <dt>
+<a name="opt.xtree-leak"></a><span class="term">
+      <code class="option">--xtree-leak=&lt;no|yes&gt; [no] </code>
+    </span>
+</dt>
+<dd>
+<p>If set to yes, the results for the leak search done at exit will be
+        output in a 'Callgrind Format' execution tree file. Note that this
+        automatically sets the option <code class="option">--leak-check=full</code>.
+        The produced file
+       will contain the following events:</p>
+<div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; ">
+<li class="listitem"><p><code class="option">RB</code> : Reachable Bytes</p></li>
+<li class="listitem"><p><code class="option">PB</code> : Possibly lost Bytes</p></li>
+<li class="listitem"><p><code class="option">IB</code> : Indirectly lost Bytes</p></li>
+<li class="listitem"><p><code class="option">DB</code> : Definitely lost Bytes (direct plus indirect)</p></li>
+<li class="listitem"><p><code class="option">DIB</code> : Definitely Indirectly lost Bytes (subset of DB)</p></li>
+<li class="listitem"><p><code class="option">RBk</code> : reachable Blocks</p></li>
+<li class="listitem"><p><code class="option">PBk</code> : Possibly lost Blocks</p></li>
+<li class="listitem"><p><code class="option">IBk</code> : Indirectly lost Blocks</p></li>
+<li class="listitem"><p><code class="option">DBk</code> : Definitely lost Blocks</p></li>
+</ul></div>
+<p>The increase or decrease for all events above will also be output in
+        the file to provide the delta (increase or decreaseà between 2
+        successive leak searches. For example, <code class="option">iRB</code> is the
+        increase of the <code class="option">RB</code> event, <code class="option">dPBk</code> is the
+        decrease of <code class="option">PBk</code> event. The values for the increase and
+        decrease events will be zero for the first leak search done.</p>
+<p>See <a class="xref" href="manual-core.html#manual-core.xtree" title="2.9. Execution Trees">Execution Trees</a> for a detailed explanation
+        about execution trees.</p>
+</dd>
+<dt>
+<a name="opt.xtree-leak-file"></a><span class="term">
+      <code class="option">--xtree-leak-file=&lt;filename&gt; [default:
+      xtleak.kcg.%p] </code>
+    </span>
+</dt>
+<dd>
+<p>Specifies that Valgrind should produce the xtree leak
+        report in the specified file.  Any <code class="option">%p</code>,
+        <code class="option">%q</code> or  <code class="option">%n</code> sequences appearing in
+        the filename are expanded
+        in exactly the same way as they are for <code class="option">--log-file</code>.
+        See the description of <a class="xref" href="manual-core.html#opt.log-file">--log-file</a>
+        for details. </p>
+<p>See <a class="xref" href="manual-core.html#manual-core.xtree" title="2.9. Execution Trees">Execution Trees</a>
+      for a detailed explanation about execution trees formats. </p>
+</dd>
+<dt>
 <a name="opt.undef-value-errors"></a><span class="term">
       <code class="option">--undef-value-errors=&lt;yes|no&gt; [default: yes] </code>
     </span>
@@ -874,6 +926,11 @@
       and/or by using a smaller value for the
       option <code class="varname">--num-callers</code>.
       </p>
+<p>If you want to use
+        <code class="computeroutput">--xtree-memory=full</code> memory profiling
+        (see <a class="xref" href="manual-core.html#manual-core.xtree" title="2.9. Execution Trees">Execution Trees</a> ), then you cannot
+        specify <code class="varname">--keep-stacktraces=free</code>
+        or <code class="varname">--keep-stacktraces=none</code>.</p>
 </dd>
 <dt>
 <a name="opt.freelist-vol"></a><span class="term">
@@ -1500,7 +1557,7 @@
 </pre>
 </li>
 <li class="listitem">
-<p><code class="varname">leak_check [full*|summary]
+<p><code class="varname">leak_check [full*|summary|xtleak]
                               [kinds &lt;set&gt;|reachable|possibleleak*|definiteleak]
                               [heuristics heur1,heur2,...]
                               [increased*|changed|any]
@@ -1508,7 +1565,7 @@
           </code>
     performs a leak check. The <code class="varname">*</code> in the arguments
     indicates the default values. </p>
-<p> If the <code class="varname">[full*|summary]</code> argument is
+<p> If the <code class="varname">[full*|summary|xtleak]</code> argument is
     <code class="varname">summary</code>, only a summary of the leak search is given;
     otherwise a full leak report is produced.  A full leak report gives
     detailed information for each leak: the stack trace where the leaked blocks
@@ -1522,6 +1579,13 @@
     of leak records to output. If this maximum is reached, the leak
     search  outputs the records with the biggest number of bytes.
     </p>
+<p>The value <code class="varname">xtleak</code> also produces a full leak report,
+      but output it as an xtree in a file xtleak.kcg.%p.%n (see <a class="xref" href="manual-core.html#opt.log-file">--log-file</a>).
+      See <a class="xref" href="manual-core.html#manual-core.xtree" title="2.9. Execution Trees">Execution Trees</a>
+      for a detailed explanation about execution trees formats.
+      See <a class="xref" href="mc-manual.html#opt.xtree-leak">--xtree-leak</a> for the description of the events
+      in a xtree leak file.
+      </p>
 <p>The <code class="varname">kinds</code> argument controls what kind of blocks
     are shown for a <code class="varname">full</code> leak search.  The set of leak kinds
     to show can be specified using a <code class="varname">&lt;set&gt;</code> similarly
diff --git a/docs/html/ms-manual.html b/docs/html/ms-manual.html
index fbb0e5a..b6e933e 100644
--- a/docs/html/ms-manual.html
+++ b/docs/html/ms-manual.html
@@ -3,7 +3,7 @@
 <meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
 <title>9. Massif: a heap profiler</title>
 <link rel="stylesheet" type="text/css" href="vg_basic.css">
-<meta name="generator" content="DocBook XSL Stylesheets V1.78.1">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
 <link rel="home" href="index.html" title="Valgrind Documentation">
 <link rel="up" href="manual.html" title="Valgrind User Manual">
 <link rel="prev" href="drd-manual.html" title="8. DRD: a thread error detector">
@@ -75,6 +75,10 @@
 program is using, it also gives very detailed information that indicates
 which parts of your program are responsible for allocating the heap memory.
 </p>
+<p>Massif also provides <a class="xref" href="manual-core.html#manual-core.xtree" title="2.9. Execution Trees">Execution Trees</a> memory
+  profiling using the command line
+  option <code class="computeroutput">--xtree-memory</code> and the monitor command
+   <code class="computeroutput">xtmemory</code>.</p>
 </div>
 <div class="sect1">
 <div class="titlepage"><div><div><h2 class="title" style="clear: both">
diff --git a/docs/html/nl-manual.html b/docs/html/nl-manual.html
index 643a272..d6b0f62 100644
--- a/docs/html/nl-manual.html
+++ b/docs/html/nl-manual.html
@@ -3,7 +3,7 @@
 <meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
 <title>14. Nulgrind: the minimal Valgrind tool</title>
 <link rel="stylesheet" type="text/css" href="vg_basic.css">
-<meta name="generator" content="DocBook XSL Stylesheets V1.78.1">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
 <link rel="home" href="index.html" title="Valgrind Documentation">
 <link rel="up" href="manual.html" title="Valgrind User Manual">
 <link rel="prev" href="lk-manual.html" title="13. Lackey: an example tool">
diff --git a/docs/html/quick-start.html b/docs/html/quick-start.html
index 00d7b07..afd3911 100644
--- a/docs/html/quick-start.html
+++ b/docs/html/quick-start.html
@@ -3,7 +3,7 @@
 <meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
 <title>The Valgrind Quick Start Guide</title>
 <link rel="stylesheet" type="text/css" href="vg_basic.css">
-<meta name="generator" content="DocBook XSL Stylesheets V1.78.1">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
 <link rel="home" href="index.html" title="Valgrind Documentation">
 <link rel="up" href="QuickStart.html" title="The Valgrind Quick Start Guide">
 <link rel="prev" href="QuickStart.html" title="The Valgrind Quick Start Guide">
diff --git a/docs/html/sg-manual.html b/docs/html/sg-manual.html
index ec96ab9..ab229dc 100644
--- a/docs/html/sg-manual.html
+++ b/docs/html/sg-manual.html
@@ -3,7 +3,7 @@
 <meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
 <title>11. SGCheck: an experimental stack and global array overrun detector</title>
 <link rel="stylesheet" type="text/css" href="vg_basic.css">
-<meta name="generator" content="DocBook XSL Stylesheets V1.78.1">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
 <link rel="home" href="index.html" title="Valgrind Documentation">
 <link rel="up" href="manual.html" title="Valgrind User Manual">
 <link rel="prev" href="dh-manual.html" title="10. DHAT: a dynamic heap analysis tool">
diff --git a/docs/html/tech-docs.html b/docs/html/tech-docs.html
index f2fc1e0..bf29eba 100644
--- a/docs/html/tech-docs.html
+++ b/docs/html/tech-docs.html
@@ -3,7 +3,7 @@
 <meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
 <title>Valgrind Technical Documentation</title>
 <link rel="stylesheet" type="text/css" href="vg_basic.css">
-<meta name="generator" content="DocBook XSL Stylesheets V1.78.1">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
 <link rel="home" href="index.html" title="Valgrind Documentation">
 <link rel="up" href="index.html" title="Valgrind Documentation">
 <link rel="prev" href="faq.html" title="Valgrind Frequently Asked Questions">
@@ -22,10 +22,10 @@
 <div>
 <div><h1 class="title">
 <a name="tech-docs"></a>Valgrind Technical Documentation</h1></div>
-<div><p class="releaseinfo">Release 3.12.0 20 October 2016</p></div>
-<div><p class="copyright">Copyright © 2000-2016 <a class="ulink" href="http://www.valgrind.org/info/developers.html" target="_top">Valgrind Developers</a></p></div>
+<div><p class="releaseinfo">Release 3.13.0 15 June 2017</p></div>
+<div><p class="copyright">Copyright © 2000-2017 <a class="ulink" href="http://www.valgrind.org/info/developers.html" target="_top">Valgrind Developers</a></p></div>
 <div><div class="legalnotice">
-<a name="idm140639109670320"></a><p>Email: <a class="ulink" href="mailto:valgrind@valgrind.org" target="_top">valgrind@valgrind.org</a></p>
+<a name="idm140394919379488"></a><p>Email: <a class="ulink" href="mailto:valgrind@valgrind.org" target="_top">valgrind@valgrind.org</a></p>
 </div></div>
 </div>
 <hr>