|
From: <sv...@va...> - 2012-08-09 16:42:45
|
sewardj 2012-08-09 17:42:34 +0100 (Thu, 09 Aug 2012)
New Revision: 463
Log:
Updates for 3.8.0.
Added files:
trunk/docs/manual/dist.news.old.html
Modified files:
trunk/docs/manual/FAQ.html
trunk/docs/manual/QuickStart.html
trunk/docs/manual/cl-manual.html
trunk/docs/manual/dh-manual.html
trunk/docs/manual/dist.authors.html
trunk/docs/manual/dist.html
trunk/docs/manual/dist.news.html
trunk/docs/manual/dist.readme-android.html
trunk/docs/manual/dist.readme-developers.html
trunk/docs/manual/dist.readme-missing.html
trunk/docs/manual/dist.readme-packagers.html
trunk/docs/manual/dist.readme-s390.html
trunk/docs/manual/dist.readme.html
trunk/docs/manual/drd-manual.html
trunk/docs/manual/faq.html
trunk/docs/manual/hg-manual.html
trunk/docs/manual/index.html
trunk/docs/manual/licenses.html
trunk/docs/manual/manual-core-adv.html
trunk/docs/manual/manual-core.html
trunk/docs/manual/manual.html
trunk/docs/manual/mc-manual.html
trunk/docs/manual/tech-docs.html
trunk/docs/manual/valgrind_manual.html.tar.bz2
trunk/docs/manual/valgrind_manual.pdf
trunk/docs/manual/valgrind_manual.ps.bz2
trunk/downloads/current.html
trunk/index.html
trunk/php/.htconfx
Modified: trunk/docs/manual/dist.readme.html (+11 -10)
===================================================================
--- trunk/docs/manual/dist.readme.html 2012-03-30 17:17:11 +01:00 (rev 462)
+++ trunk/docs/manual/dist.readme.html 2012-08-09 17:42:34 +01:00 (rev 463)
@@ -1,25 +1,25 @@
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
-<title>3.EADME</title>
+<title>4.EADME</title>
<link rel="stylesheet" href="vg_basic.css" type="text/css">
<meta name="generator" content="DocBook XSL Stylesheets V1.75.2">
<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.EWS">
-<link rel="next" href="dist.readme-missing.html" title="4.EADME_MISSING_SYSCALL_OR_IOCTL">
+<link rel="prev" href="dist.news.old.html" title="3.LDER NEWS">
+<link rel="next" href="dist.readme-missing.html" title="5.EADME_MISSING_SYSCALL_OR_IOCTL">
</head>
<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
<div><table class="nav" width="100%" cellspacing="3" cellpadding="3" border="0" summary="Navigation header"><tr>
-<td width="22px" align="center" valign="middle"><a accesskey="p" href="dist.news.html"><img src="images/prev.png" width="18" height="21" border="0" alt="Prev"></a></td>
+<td width="22px" align="center" valign="middle"><a accesskey="p" href="dist.news.old.html"><img src="images/prev.png" width="18" height="21" border="0" alt="Prev"></a></td>
<td width="25px" align="center" valign="middle"><a accesskey="u" href="dist.html"><img src="images/up.png" width="21" height="18" border="0" alt="Up"></a></td>
<td width="31px" align="center" valign="middle"><a accesskey="h" href="index.html"><img src="images/home.png" width="27" height="20" border="0" alt="Up"></a></td>
<th align="center" valign="middle">Valgrind Distribution Documents</th>
<td width="22px" align="center" valign="middle"><a accesskey="n" href="dist.readme-missing.html"><img src="images/next.png" width="18" height="21" border="0" alt="Next"></a></td>
</tr></table></div>
-<div class="chapter" title="3.EADME">
+<div class="chapter" title="4.EADME">
<div class="titlepage"><div><div><h2 class="title">
-<a name="dist.readme"></a>3.EADME</h2></div></div></div>
+<a name="dist.readme"></a>4.EADME</h2></div></div></div>
<div class="literallayout"><p><br>
<br>
Releaseotesoralgrind<br>
@@ -55,7 +55,7 @@
toaketortable.Nonetheless,tsvailableorheollowing<br>
platforms:br>
<br>
--86/Linux<br>
+-86/Linux<br>
-MD64/Linux<br>
-PC32/Linux<br>
-PC64/Linux<br>
@@ -63,8 +63,9 @@
-86/MacOSX<br>
-MD64/MacOSX<br>
-390X/Linux<br>
+-IPS32/Linux<br>
<br>
-NotehatMD64sustnotherameor86-64,ndalgrindunsine<br>
+NotehatMD64sustnotherameor86_64,ndalgrindunsine<br>
onntelrocessors.AlsootehatheorefacOSXsalled<br>
"Darwin"ndhisamessedometimes.<br>
<br>
@@ -124,9 +125,9 @@
<br><table class="nav" width="100%" cellspacing="3" cellpadding="2" border="0" summary="Navigation footer">
<tr>
<td rowspan="2" width="40%" align="left">
-<a accesskey="p" href="dist.news.html"><<.EWS</a>/td>
+<a accesskey="p" href="dist.news.old.html"><<.LDER NEWS</a>/td>
<td width="20%" align="center"><a accesskey="u" href="dist.html">Up</a></td>
-<td rowspan="2" width="40%" align="right">a accesskey="n" href="dist.readme-missing.html">4.EADME_MISSING_SYSCALL_OR_IOCTLgt;></a>
+<td rowspan="2" width="40%" align="right">a accesskey="n" href="dist.readme-missing.html">5.EADME_MISSING_SYSCALL_OR_IOCTLgt;></a>
</td>
</tr>
<tr><td width="20%" align="center"><a accesskey="h" href="index.html">Home</a></td></tr>
Modified: trunk/php/.htconfx (+3 -3)
===================================================================
--- trunk/php/.htconfx 2012-03-30 17:17:11 +01:00 (rev 462)
+++ trunk/php/.htconfx 2012-08-09 17:42:34 +01:00 (rev 463)
@@ -24,11 +24,11 @@
'inc_dir' => $base_dir . '/php/',
'img_dir' => $base_dir . '/images/',
- 'dt_copyright' => '2000-2011',
+ 'dt_copyright' => '2000-2012',
/* current release info */
- 'release-date' => '5 November 2011',
- 'release-version' => 'valgrind-3.7.0',
+ 'release-date' => '10 August 2012',
+ 'release-version' => 'valgrind-3.8.0',
/* mailing lists, bug reports, etc. */
'vgannounce' => array(
Modified: trunk/docs/manual/dist.readme-packagers.html (+8 -8)
===================================================================
--- trunk/docs/manual/dist.readme-packagers.html 2012-03-30 17:17:11 +01:00 (rev 462)
+++ trunk/docs/manual/dist.readme-packagers.html 2012-08-09 17:42:34 +01:00 (rev 463)
@@ -1,13 +1,13 @@
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
-<title>6.EADME_PACKAGERS</title>
+<title>7.EADME_PACKAGERS</title>
<link rel="stylesheet" href="vg_basic.css" type="text/css">
<meta name="generator" content="DocBook XSL Stylesheets V1.75.2">
<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="5.EADME_DEVELOPERS">
-<link rel="next" href="licenses.html" title="GNU Licenses">
+<link rel="prev" href="dist.readme-developers.html" title="6.EADME_DEVELOPERS">
+<link rel="next" href="dist.readme-s390.html" title="8.EADME.S390">
</head>
<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
<div><table class="nav" width="100%" cellspacing="3" cellpadding="3" border="0" summary="Navigation header"><tr>
@@ -15,11 +15,11 @@
<td width="25px" align="center" valign="middle"><a accesskey="u" href="dist.html"><img src="images/up.png" width="21" height="18" border="0" alt="Up"></a></td>
<td width="31px" align="center" valign="middle"><a accesskey="h" href="index.html"><img src="images/home.png" width="27" height="20" border="0" alt="Up"></a></td>
<th align="center" valign="middle">Valgrind Distribution Documents</th>
-<td width="22px" align="center" valign="middle"><a accesskey="n" href="licenses.html"><img src="images/next.png" width="18" height="21" border="0" alt="Next"></a></td>
+<td width="22px" align="center" valign="middle"><a accesskey="n" href="dist.readme-s390.html"><img src="images/next.png" width="18" height="21" border="0" alt="Next"></a></td>
</tr></table></div>
-<div class="chapter" title="6.EADME_PACKAGERS">
+<div class="chapter" title="7.EADME_PACKAGERS">
<div class="titlepage"><div><div><h2 class="title">
-<a name="dist.readme-packagers"></a>6.EADME_PACKAGERS</h2></div></div></div>
+<a name="dist.readme-packagers"></a>7.EADME_PACKAGERS</h2></div></div></div>
<div class="literallayout"><p><br>
<br>
Greetings,ackagingerson!Thisnformationsimedteople<br>
@@ -123,9 +123,9 @@
<br><table class="nav" width="100%" cellspacing="3" cellpadding="2" border="0" summary="Navigation footer">
<tr>
<td rowspan="2" width="40%" align="left">
-<a accesskey="p" href="dist.readme-developers.html"><<.EADME_DEVELOPERS</a>/td>
+<a accesskey="p" href="dist.readme-developers.html"><<.EADME_DEVELOPERS</a>/td>
<td width="20%" align="center"><a accesskey="u" href="dist.html">Up</a></td>
-<td rowspan="2" width="40%" align="right">a accesskey="n" href="licenses.html">GNU Licensesgt;></a>
+<td rowspan="2" width="40%" align="right">a accesskey="n" href="dist.readme-s390.html">8.EADME.S390gt;></a>
</td>
</tr>
<tr><td width="20%" align="center"><a accesskey="h" href="index.html">Home</a></td></tr>
Modified: trunk/docs/manual/valgrind_manual.pdf (+0 -0)
===================================================================
(Binary files differ)
Modified: trunk/docs/manual/mc-manual.html (+166 -30)
===================================================================
--- trunk/docs/manual/mc-manual.html 2012-03-30 17:17:11 +01:00 (rev 462)
+++ trunk/docs/manual/mc-manual.html 2012-08-09 17:42:34 +01:00 (rev 463)
@@ -739,7 +739,10 @@
byte. This can be useful when trying to shake out obscure
memory corruption problems. The allocated area is still
regarded by Memcheck as undefined -- this option only affects its
- contents.
+ contents. Note that <code class="option">--malloc-fill</code> does not
+ affect a block of memory when it is used as argument
+ to client requests VALGRIND_MEMPOOL_ALLOC or
+ VALGRIND_MALLOCLIKE_BLOCK.
</p></dd>
<dt>
<a name="opt.free-fill"></a><span class="term">
@@ -752,7 +755,9 @@
specified byte value. This can be useful when trying to shake out
obscure memory corruption problems. The freed area is still
regarded by Memcheck as not valid for access -- this option only
- affects its contents.
+ affects its contents. Note that <code class="option">--free-fill</code> does not
+ affect a block of memory when it is used as argument to
+ client requests VALGRIND_MEMPOOL_FREE or VALGRIND_FREELIKE_BLOCK.
</p></dd>
</dl>
</div>
@@ -1125,7 +1130,7 @@
(default 1) bytes at <addr> has the specified accessibility.
It then outputs a description of <addr>. In the following
example, a detailed description is available because the
- option <code class="option">--read-var-info=yes</code> was given Valgrind at
+ option <code class="option">--read-var-info=yes</code> was given at Valgrind
startup:
</p>
<pre class="programlisting">
@@ -1140,9 +1145,10 @@
<p><code class="varname">leak_check [full*|summary]
[reachable|possibleleak*|definiteleak]
[increased*|changed|any]
+ [unlimited*|limited <max_loss_records_output>]
</code>
performs a leak check. The <code class="varname">*</code> in the arguments
- indicates the default value. </p>
+ indicates the default values. </p>
<p> If the first 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
@@ -1150,7 +1156,12 @@
the number of blocks leaked and their total size. When a full
report is requested, the next two arguments further specify what
kind of leaks to report. A leak's details are shown if they match
- both the second and third argument.
+ both the second and third argument. A full leak report might
+ output detailed information for many leaks. The nr of leaks for
+ which information is output can be controlled using
+ the <code class="varname">limited</code> argument followed by the maximum nr
+ 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 second argument controls what kind of blocks are shown for
a <code class="varname">full</code> leak search. The
@@ -1176,7 +1187,7 @@
the previous leak report.
</p>
<p>The following example shows usage of the
- <code class="varname">leak_check monitor</code> command on
+ <code class="varname">leak_check</code> monitor command on
the <code class="varname">memcheck/tests/leak-cases.c</code> regression
test. The first command outputs one entry having an increase in
the leaked bytes. The second command is the same as the first
@@ -1185,31 +1196,31 @@
there was no increase since the previous leak search.</p>
<pre class="programlisting">
(gdb) monitor leak_check full possibleleak increased
-==14729== 16 (+16) bytes in 1 (+1) blocks are possibly lost in loss record 13 of 16
-==14729== at 0x4006E9E: malloc (vg_replace_malloc.c:236)
-==14729== by 0x80484D5: mk (leak-cases.c:52)
-==14729== by 0x804855F: f (leak-cases.c:81)
-==14729== by 0x80488F5: main (leak-cases.c:107)
-==14729==
-==14729== LEAK SUMMARY:
-==14729== definitely lost: 32 (+0) bytes in 2 (+0) blocks
-==14729== indirectly lost: 16 (+0) bytes in 1 (+0) blocks
-==14729== possibly lost: 32 (+16) bytes in 2 (+1) blocks
-==14729== still reachable: 96 (+16) bytes in 6 (+1) blocks
-==14729== suppressed: 0 (+0) bytes in 0 (+0) blocks
-==14729== Reachable blocks (those to which a pointer was found) are not shown.
-==14729== To see them, add 'reachable any' args to leak_check
-==14729==
+==19520== 16 (+16) bytes in 1 (+1) blocks are possibly lost in loss record 9 of 12
+==19520== at 0x40070B4: malloc (vg_replace_malloc.c:263)
+==19520== by 0x80484D5: mk (leak-cases.c:52)
+==19520== by 0x804855F: f (leak-cases.c:81)
+==19520== by 0x80488E0: main (leak-cases.c:107)
+==19520==
+==19520== LEAK SUMMARY:
+==19520== definitely lost: 32 (+0) bytes in 2 (+0) blocks
+==19520== indirectly lost: 16 (+0) bytes in 1 (+0) blocks
+==19520== possibly lost: 32 (+16) bytes in 2 (+1) blocks
+==19520== still reachable: 96 (+16) bytes in 6 (+1) blocks
+==19520== suppressed: 0 (+0) bytes in 0 (+0) blocks
+==19520== Reachable blocks (those to which a pointer was found) are not shown.
+==19520== To see them, add 'reachable any' args to leak_check
+==19520==
(gdb) mo l
-==14729== LEAK SUMMARY:
-==14729== definitely lost: 32 (+0) bytes in 2 (+0) blocks
-==14729== indirectly lost: 16 (+0) bytes in 1 (+0) blocks
-==14729== possibly lost: 32 (+0) bytes in 2 (+0) blocks
-==14729== still reachable: 96 (+0) bytes in 6 (+0) blocks
-==14729== suppressed: 0 (+0) bytes in 0 (+0) blocks
-==14729== Reachable blocks (those to which a pointer was found) are not shown.
-==14729== To see them, add 'reachable any' args to leak_check
-==14729==
+==19520== LEAK SUMMARY:
+==19520== definitely lost: 32 (+0) bytes in 2 (+0) blocks
+==19520== indirectly lost: 16 (+0) bytes in 1 (+0) blocks
+==19520== possibly lost: 32 (+0) bytes in 2 (+0) blocks
+==19520== still reachable: 96 (+0) bytes in 6 (+0) blocks
+==19520== suppressed: 0 (+0) bytes in 0 (+0) blocks
+==19520== Reachable blocks (those to which a pointer was found) are not shown.
+==19520== To see them, add 'reachable any' args to leak_check
+==19520==
(gdb)
</pre>
<p>Note that when using Valgrind's gdbserver, it is not
@@ -1222,6 +1233,131 @@
abbreviation: <code class="computeroutput">mo l f r a</code>).
</p>
</li>
+<li class="listitem">
+<p><code class="varname">block_list <loss_record_nr> </code>
+ shows the list of blocks belonging to <loss_record_nr>.
+ </p>
+<p> A leak search merges the allocated blocks in loss records :
+ a loss record re-groups all blocks having the same state (for
+ example, Definitely Lost) and the same allocation backtrace.
+ Each loss record is identified in the leak search result
+ by a loss record number.
+ The <code class="varname">block_list</code> command shows the loss record information
+ followed by the addresses and sizes of the blocks which have been
+ merged in the loss record.
+ </p>
+<p> If a directly lost block causes some other blocks to be indirectly
+ lost, the block_list command will also show these indirectly lost blocks.
+ The indirectly lost blocks will be indented according to the level of indirection
+ between the directly lost block and the indirectly lost block(s).
+ Each indirectly lost block is followed by the reference of its loss record.
+ </p>
+<p> The block_list command can be used on the results of a leak search as long
+ as no block has been freed after this leak search: as soon as the program frees
+ a block, a new leak search is needed before block_list can be used again.
+ </p>
+<p>
+ In the below example, the program leaks a tree structure by losing the pointer to
+ the block A (top of the tree).
+ So, the block A is directly lost, causing an indirect
+ loss of blocks B to G. The first block_list command shows the loss record of A
+ (a definitely lost block with address 0x4028028, size 16). The addresses and sizes
+ of the indirectly lost blocks due to block A are shown below the block A.
+ The second command shows the details of one of the indirect loss records output
+ by the first command.
+ </p>
+<pre class="programlisting">
+ A
+ / \
+ B C
+ / \ / \
+ D E F G
+</pre>
+<pre class="programlisting">
+(gdb) bt
+#0 main () at leak-tree.c:69
+(gdb) monitor leak_check full any
+==19552== 112 (16 direct, 96 indirect) bytes in 1 blocks are definitely lost in loss record 7 of 7
+==19552== at 0x40070B4: malloc (vg_replace_malloc.c:263)
+==19552== by 0x80484D5: mk (leak-tree.c:28)
+==19552== by 0x80484FC: f (leak-tree.c:41)
+==19552== by 0x8048856: main (leak-tree.c:63)
+==19552==
+==19552== LEAK SUMMARY:
+==19552== definitely lost: 16 bytes in 1 blocks
+==19552== indirectly lost: 96 bytes in 6 blocks
+==19552== possibly lost: 0 bytes in 0 blocks
+==19552== still reachable: 0 bytes in 0 blocks
+==19552== suppressed: 0 bytes in 0 blocks
+==19552==
+(gdb) monitor block_list 7
+==19552== 112 (16 direct, 96 indirect) bytes in 1 blocks are definitely lost in loss record 7 of 7
+==19552== at 0x40070B4: malloc (vg_replace_malloc.c:263)
+==19552== by 0x80484D5: mk (leak-tree.c:28)
+==19552== by 0x80484FC: f (leak-tree.c:41)
+==19552== by 0x8048856: main (leak-tree.c:63)
+==19552== 0x4028028[16]
+==19552== 0x4028068[16] indirect loss record 1
+==19552== 0x40280E8[16] indirect loss record 3
+==19552== 0x4028128[16] indirect loss record 4
+==19552== 0x40280A8[16] indirect loss record 2
+==19552== 0x4028168[16] indirect loss record 5
+==19552== 0x40281A8[16] indirect loss record 6
+(gdb) mo b 2
+==19552== 16 bytes in 1 blocks are indirectly lost in loss record 2 of 7
+==19552== at 0x40070B4: malloc (vg_replace_malloc.c:263)
+==19552== by 0x80484D5: mk (leak-tree.c:28)
+==19552== by 0x8048519: f (leak-tree.c:43)
+==19552== by 0x8048856: main (leak-tree.c:63)
+==19552== 0x40280A8[16]
+==19552== 0x4028168[16] indirect loss record 5
+==19552== 0x40281A8[16] indirect loss record 6
+(gdb)
+
+</pre>
+</li>
+<li class="listitem">
+<p><code class="varname">who_points_at <addr> [<len>]</code>
+ shows all the locations where a pointer to addr is found.
+ If len is equal to 1, the command only shows the locations pointing
+ exactly at addr (i.e. the "start pointers" to addr).
+ If len is > 1, "interior pointers" pointing at the len first bytes
+ will also be shown.
+ </p>
+<p>The locations searched for are the same as the locations
+ used in the leak search. So, <code class="varname">who_points_at</code> can a.o.
+ be used to show why the leak search still can reach a block, or can
+ search for dangling pointers to a freed block.
+ Each location pointing at addr (or pointing inside addr if interior pointers
+ are being searched for) will be described.
+ </p>
+<p>In the below example, the pointers to the 'tree block A' (see example
+ in command <code class="varname">block_list</code>) is shown before the tree was leaked.
+ The descriptions are detailed as the option <code class="option">--read-var-info=yes</code>
+ was given at Valgrind startup. The second call shows the pointers (start and interior
+ pointers) to block G. The block G (0x40281A8) is reachable via block C (0x40280a8)
+ and register ECX of tid 1 (tid is the Valgrind thread id).
+ It is "interior reachable" via the register EBX.
+ </p>
+<pre class="programlisting">
+(gdb) monitor who_points_at 0x4028028
+==20852== Searching for pointers to 0x4028028
+==20852== *0x8049e20 points at 0x4028028
+==20852== Location 0x8049e20 is 0 bytes inside global var "t"
+==20852== declared at leak-tree.c:35
+(gdb) monitor who_points_at 0x40281A8 16
+==20852== Searching for pointers pointing in 16 bytes from 0x40281a8
+==20852== *0x40280ac points at 0x40281a8
+==20852== Address 0x40280ac is 4 bytes inside a block of size 16 alloc'd
+==20852== at 0x40070B4: malloc (vg_replace_malloc.c:263)
+==20852== by 0x80484D5: mk (leak-tree.c:28)
+==20852== by 0x8048519: f (leak-tree.c:43)
+==20852== by 0x8048856: main (leak-tree.c:63)
+==20852== tid 1 register ECX points at 0x40281a8
+==20852== tid 1 register EBX interior points at 2 bytes inside 0x40281a8
+(gdb)
+</pre>
+</li>
</ul></div>
</div>
<div class="sect1" title="4.7.lient Requests">
Modified: trunk/docs/manual/dist.readme-s390.html (+8 -8)
===================================================================
--- trunk/docs/manual/dist.readme-s390.html 2012-03-30 17:17:11 +01:00 (rev 462)
+++ trunk/docs/manual/dist.readme-s390.html 2012-08-09 17:42:34 +01:00 (rev 463)
@@ -1,13 +1,13 @@
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
-<title>7.EADME.S390</title>
+<title>8.EADME.S390</title>
<link rel="stylesheet" href="vg_basic.css" type="text/css">
<meta name="generator" content="DocBook XSL Stylesheets V1.75.2">
<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="6.EADME_PACKAGERS">
-<link rel="next" href="dist.readme-android.html" title="8.EADME.android">
+<link rel="prev" href="dist.readme-packagers.html" title="7.EADME_PACKAGERS">
+<link rel="next" href="dist.readme-android.html" title="9.EADME.android">
</head>
<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
<div><table class="nav" width="100%" cellspacing="3" cellpadding="3" border="0" summary="Navigation header"><tr>
@@ -17,9 +17,9 @@
<th align="center" valign="middle">Valgrind Distribution Documents</th>
<td width="22px" align="center" valign="middle"><a accesskey="n" href="dist.readme-android.html"><img src="images/next.png" width="18" height="21" border="0" alt="Next"></a></td>
</tr></table></div>
-<div class="chapter" title="7.EADME.S390">
+<div class="chapter" title="8.EADME.S390">
<div class="titlepage"><div><div><h2 class="title">
-<a name="dist.readme-s390"></a>7.EADME.S390</h2></div></div></div>
+<a name="dist.readme-s390"></a>8.EADME.S390</h2></div></div></div>
<div class="literallayout"><p><br>
<br>
Requirements<br>
@@ -37,10 +37,10 @@
-urrently,nlyemcheck,assif,ackey,ndonereupported<br>
-elgrindndrdeemoorknLES10,11ndHEL5,6n9,z10nd196<br>
butightailntherardware/softwareombinations.<br>
+-xp-sgcheck,achegrind,ndallgrindreurrentlyotupported.<br>
-omeccersionssevcoopy/8ytealues.hisillffectome<br>
debugessages.algrindillomplainboutrne-byteeads/writes<br>
insteadfustead/write.<br>
--xp-ptrcheckndallgrindreotupported.<br>
<br>
<br>
Recommendations<br>
@@ -64,9 +64,9 @@
<br><table class="nav" width="100%" cellspacing="3" cellpadding="2" border="0" summary="Navigation footer">
<tr>
<td rowspan="2" width="40%" align="left">
-<a accesskey="p" href="dist.readme-packagers.html"><<.EADME_PACKAGERS</a>/td>
+<a accesskey="p" href="dist.readme-packagers.html"><<.EADME_PACKAGERS</a>/td>
<td width="20%" align="center"><a accesskey="u" href="dist.html">Up</a></td>
-<td rowspan="2" width="40%" align="right">a accesskey="n" href="dist.readme-android.html">8.EADME.androidgt;></a>
+<td rowspan="2" width="40%" align="right">a accesskey="n" href="dist.readme-android.html">9.EADME.androidgt;></a>
</td>
</tr>
<tr><td width="20%" align="center"><a accesskey="h" href="index.html">Home</a></td></tr>
Modified: trunk/docs/manual/dist.readme-android.html (+56 -18)
===================================================================
--- trunk/docs/manual/dist.readme-android.html 2012-03-30 17:17:11 +01:00 (rev 462)
+++ trunk/docs/manual/dist.readme-android.html 2012-08-09 17:42:34 +01:00 (rev 463)
@@ -1,13 +1,13 @@
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
-<title>8.EADME.android</title>
+<title>9.EADME.android</title>
<link rel="stylesheet" href="vg_basic.css" type="text/css">
<meta name="generator" content="DocBook XSL Stylesheets V1.75.2">
<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="7.EADME.S390">
-<link rel="next" href="licenses.html" title="GNU Licenses">
+<link rel="prev" href="dist.readme-s390.html" title="8.EADME.S390">
+<link rel="next" href="dist.readme-android_emulator.html" title="10.EADME.android_emulator">
</head>
<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
<div><table class="nav" width="100%" cellspacing="3" cellpadding="3" border="0" summary="Navigation header"><tr>
@@ -15,26 +15,43 @@
<td width="25px" align="center" valign="middle"><a accesskey="u" href="dist.html"><img src="images/up.png" width="21" height="18" border="0" alt="Up"></a></td>
<td width="31px" align="center" valign="middle"><a accesskey="h" href="index.html"><img src="images/home.png" width="27" height="20" border="0" alt="Up"></a></td>
<th align="center" valign="middle">Valgrind Distribution Documents</th>
-<td width="22px" align="center" valign="middle"><a accesskey="n" href="licenses.html"><img src="images/next.png" width="18" height="21" border="0" alt="Next"></a></td>
+<td width="22px" align="center" valign="middle"><a accesskey="n" href="dist.readme-android_emulator.html"><img src="images/next.png" width="18" height="21" border="0" alt="Next"></a></td>
</tr></table></div>
-<div class="chapter" title="8.EADME.android">
+<div class="chapter" title="9.EADME.android">
<div class="titlepage"><div><div><h2 class="title">
-<a name="dist.readme-android"></a>8.EADME.android</h2></div></div></div>
+<a name="dist.readme-android"></a>9.EADME.android</h2></div></div></div>
<div class="literallayout"><p><br>
<br>
Howoross-compileorndroid.Theseotesereastpdatednbr>
-27ept011,oralgrindVNevision2060/2209.<br>
+17eb012,oralgrindVNevision2390/2257.<br>
<br>
-Thissnownoorkteastorndroid.3.4unningnrooted,<br>
-AOSPuild)exus.Itaslsoorkednheastn<br>
-un-messed-withotorolaoom,lthoughaven'testedtecently.<br>
-Otheronfigurationsndoolchainsightork,utaven'teen<br>
-tested.Feedbackselcome.<br>
+Thissnownoorkteastor<br>
+ARM:<br>
+Android.0.3unningnrooted,OSPuild)exus.<br>
+Android.0.3unningnotorolaoom.<br>
+Android.0.3unningnndroidrmmulator.<br>
+Android.1unningnndroidmulator.<br>
+Android.3.4nexusorkedtomeimenheast.<br>
<br>
-Youeedhendroid-ndk-r6ativeevelopmentit.Installt<br>
-somewhere.Doesn'tatterhere.Thenohis:<br>
+x86:<br>
+Android.0.3unningnndroid86mulator.<br>
<br>
+Onndroid-arm,DBserverightnsertreakstrongddresses.<br>
+Feedbacknhiselcome.<br>
<br>
+Otheronfigurationsndoolchainsightork,utaven'teenested.<br>
+Feedbackselcome.<br>
+<br>
+<br>
+Youeedhendroid-ndk-r6ativeevelopmentit.r6bnd7<br>
+giveon-completely-workinguild;ee<br>
+http://code.google.com/p/android/issues/detail?id=23203<br>
+Forhendroidmulator,heersionseededndowo<br>
+installhemreescribednEADME.android_emulator.<br>
+<br>
+Installtomewhere.Doesn'tatterhere.Thenohis:<br>
+<br>
+<br>
#odifyhisobviously).Note,hisexport"ommandsnlyone<br>
#osoeducehemountfypingequired.Nonefheommands<br>
#eloweadtsartfheirperation.<br>
@@ -51,8 +68,9 @@
#urrentlyheupportedaluesre:nexus_sandaboard<br>
#ohoosenefheelow:<br>
#<br>
-exportWKIND=nexus_samsungexus<br>
-exportWKIND=pandaboard#andaboardunninginarondroid<br>
+exportWKIND=nexus_samsungexus;lsooomforow)<br>
+exportWKIND=genericenericndroidevice.g,andaboard<br>
+exportWKIND=emulator#ndroidmulator<br>
<br>
#hendoheootfouralgrindourceree.<br>
#<br>
@@ -65,11 +83,17 @@
<br>
#etpoolchainaths.<br>
#<br>
+#orRM<br>
exportR=$NDKROOT/toolchains/arm-linux-androideabi-4.4.3/prebuilt/linux-x86/bin/arm-linux-androideabi-ar<br>
exportD=$NDKROOT/toolchains/arm-linux-androideabi-4.4.3/prebuilt/linux-x86/bin/arm-linux-androideabi-ld<br>
exportC=$NDKROOT/toolchains/arm-linux-androideabi-4.4.3/prebuilt/linux-x86/bin/arm-linux-androideabi-gcc<br>
<br>
+#or86<br>
+exportR=$NDKROOT/toolchains/x86-4.4.3/prebuilt/linux-x86/bin/i686-android-linux-ar<br>
+exportD=$NDKROOT/toolchains/x86-4.4.3/prebuilt/linux-x86/bin/i686-android-linux-ld<br>
+exportC=$NDKROOT/toolchains/x86-4.4.3/prebuilt/linux-x86/bin/i686-android-linux-gcc<br>
<br>
+<br>
#oonfigurationtuff.Don'tessithhe-prefixnhe<br>
#onfigureommandelow,venfouhinkt'srong.<br>
#ouayeedoethe-with-tmpdirathoomething<br>
@@ -78,19 +102,33 @@
<br>
./autogen.sh<br>
<br>
+#orRM<br>
CPPFLAGS="--sysroot=$NDKROOT/platforms/android-3/arch-armDANDROID_HARDWARE_$HWKIND"<br>
FLAGS="--sysroot=$NDKROOT/platforms/android-3/arch-arm"<br>
/configure-prefix=/data/local/Inst<br>
-host=armv7-unknown-linux-target=armv7-unknown-linux<br>
-with-tmpdir=/sdcard<br>
+#ote:nndroidmulator,ndroid-14latformaslsoestedndorks.<br>
+#tsotlearhathislatformreallys.<br>
<br>
+#or86<br>
+CPPFLAGS="--sysroot=$NDKROOT/platforms/android-9/arch-x86DANDROID_HARDWARE_$HWKIND"<br>
+FLAGS="--sysroot=$NDKROOT/platforms/android-9/arch-x86fno-pic"<br>
+/configure-prefix=/data/local/Inst<br>
+-host=i686-android-linux-target=i686-android-linux<br>
+-with-tmpdir=/sdcard<br>
<br>
#thendfheonfigureun,ewinesfetails<br>
#rerinted.Makeurehatoueehesewoines:<br>
#<br>
+#orRM:<br>
#Platformariant:ndroid<br>
#rimaryDVGPVtring:DVGPV_arm_linux_android=1<br>
#<br>
+#or86:<br>
+#Platformariant:ndroid<br>
+#rimaryDVGPVtring:DVGPV_x86_linux_android=1<br>
+#<br>
#foueenythinglsethisoint,omethingsrong,nd<br>
#itherheuildillail,rillucceedutou'lletomething<br>
#hichon'tork.<br>
@@ -138,9 +176,9 @@
<br><table class="nav" width="100%" cellspacing="3" cellpadding="2" border="0" summary="Navigation footer">
<tr>
<td rowspan="2" width="40%" align="left">
-<a accesskey="p" href="dist.readme-s390.html"><<.EADME.S390</a>/td>
+<a accesskey="p" href="dist.readme-s390.html"><<.EADME.S390</a>/td>
<td width="20%" align="center"><a accesskey="u" href="dist.html">Up</a></td>
-<td rowspan="2" width="40%" align="right">a accesskey="n" href="licenses.html">GNU Licensesgt;></a>
+<td rowspan="2" width="40%" align="right">a accesskey="n" href="dist.readme-android_emulator.html">10.EADME.android_emulatorgt;></a>
</td>
</tr>
<tr><td width="20%" align="center"><a accesskey="h" href="index.html">Home</a></td></tr>
Modified: trunk/docs/manual/drd-manual.html (+14 -4)
===================================================================
--- trunk/docs/manual/drd-manual.html 2012-03-30 17:17:11 +01:00 (rev 462)
+++ trunk/docs/manual/drd-manual.html 2012-08-09 17:42:34 +01:00 (rev 463)
@@ -470,6 +470,14 @@
address. This option may be specified more than once.
</p></dd>
<dt><span class="term">
+ <code class="option">--ptrace-addr=<address> [default: none]</code>
+ </span></dt>
+<dd><p>
+ Trace all load and store activity for the specified address and keep
+ doing that even after the memory at that address has been freed and
+ reallocated.
+ </p></dd>
+<dt><span class="term">
<code class="option">--trace-alloc=<yes|no> [default: no]</code>
</span></dt>
<dd><p>
@@ -839,6 +847,12 @@
very helpful to trace all activity on the offending memory location.
</p></li>
<li class="listitem"><p>
+ The macro <code class="literal">DRD_STOP_TRACING_VAR(x)</code>. Stop tracing load
+ and store activity for the address range starting
+ at <code class="literal">&x</code> and occupying <code class="literal">sizeof(x)</code>
+ bytes.
+ </p></li>
+<li class="listitem"><p>
The macro <code class="literal">ANNOTATE_TRACE_MEMORY(&x)</code>. Trace all
load and store activity that touches at least the single byte at the
address <code class="literal">&x</code>.
@@ -1421,10 +1435,6 @@
for more information.
</p></li>
<li class="listitem"><p>
- When address tracing is enabled, no information on atomic stores
- will be displayed.
- </p></li>
-<li class="listitem"><p>
If you compile the DRD source code yourself, you need GCC 3.0 or
later. GCC 2.95 is not supported.
</p></li>
Modified: trunk/docs/manual/dist.authors.html (+10 -2)
===================================================================
--- trunk/docs/manual/dist.authors.html 2012-03-30 17:17:11 +01:00 (rev 462)
+++ trunk/docs/manual/dist.authors.html 2012-08-09 17:42:34 +01:00 (rev 463)
@@ -88,9 +88,17 @@
alsoadeunchferformancendemory-reductionixescross<br>
diverseartsfheystem.<br>
<br>
-MaynardohnsonontributedBMower6ndower7upport,ndenerally<br>
-dealsithpc64-linuxssues.<br>
+CarlovendaynardohnsonontributedBMower6ndower7<br>
+support,ndenerallyealithpc{32,64}-linuxssues.<br>
<br>
+Petarovanovicndejanevticrotendaintainheips32-linux<br>
+port.<br>
+<br>
+Dragosatuleaodifiedherm-androidortotlsoorksn<br>
+x86-android.<br>
+<br>
+JakubelinekelpedutithheVXupport.<br>
+<br>
Many,anyeopleentugeports,atches,ndelpfuleedback.<br>
<br>
Developmentfalgrindasupportednartyheri-Labartners<br>
Modified: trunk/docs/manual/valgrind_manual.ps.bz2 (+0 -0)
===================================================================
(Binary files differ)
Modified: trunk/downloads/current.html (+35 -1)
===================================================================
--- trunk/downloads/current.html 2012-03-30 17:17:11 +01:00 (rev 462)
+++ trunk/downloads/current.html 2012-08-09 17:42:34 +01:00 (rev 463)
@@ -15,7 +15,41 @@
<div class="hr_brown"><hr/></div>
+<div id="release">
+<a name="current"><h3>Release 3.8.0</h3></a>
+
+<p><a href="/downloads/valgrind-3.8.0.tar.bz2">valgrind 3.8.0 (tar.bz2)</a>
+[7961Kb] - 10 August 2012.<br />
+For {x86,amd64,arm,ppc32,ppc64,s390x,mips32}-linux, arm-android (2.3 and
+later), x86-android (4.0 and later) and
+{x86,amd64}-darwin (Mac OS X 10.6 and 10.7, with limited support for 10.8).<br />
+<span class="md5sum">md5: ec04dfd1256307432b2a7b520398c526</span></p>
+
+<p>You may want to look at the
+<a href="/docs/manual/dist.news.html">3.8.0 release notes</a>.
+</p>
+
+<p>
+3.8.0 is a feature release with many improvements and the
+usual collection of bug fixes. This release adds support for
+MIPS32/Linux and X86/Android and has initial support for Mac OS X 10.8
+(Mountain Lion). Intel AVX and AES instructions are now supported.
+There is modestly improved performance in some areas, and decreased
+memory consumption. There are many smaller refinements and new
+features. See the <a href="/docs/manual/dist.news.html">release
+notes</a> for details.</p>
+
+<p>This release supports X86/Linux, AMD64/Linux, ARM/Linux,
+PPC32/Linux, PPC64/Linux, S390X/Linux, MIPS32/Linux,
+ARM/Android (2.3 and later), X86/Android (4.0 and later),
+X86/Darwin and AMD64/Darwin (Mac OS X 10.6, 10.7 and to a very limited
+extent, 10.8).
+</p>
+
+
+
+<!--
<div id="release">
<a name="current"><h3>Release 3.7.0</h3></a>
@@ -47,9 +81,9 @@
ARM/Android (2.3.x),
X86/Darwin and AMD64/Darwin (Mac OS X 10.6 and 10.7).
</p>
+-->
-
<!--
<div id="release">
Modified: trunk/docs/manual/cl-manual.html (+5 -5)
===================================================================
--- trunk/docs/manual/cl-manual.html 2012-03-30 17:17:11 +01:00 (rev 462)
+++ trunk/docs/manual/cl-manual.html 2012-08-09 17:42:34 +01:00 (rev 463)
@@ -120,11 +120,11 @@
below describes the features supported in addition to Cachegrind's
features.</p>
<p>Callgrind's ability to detect function calls and returns depends
-on the instruction set of the platform it is run on. It works best
-on x86 and amd64, and unfortunately currently does not work so well
-on PowerPC code. This is because there are no explicit call or return
-instructions in the PowerPC instruction set, so Callgrind has to rely
-on heuristics to detect calls and returns.</p>
+on the instruction set of the platform it is run on. It works best on
+x86 and amd64, and unfortunately currently does not work so well on
+PowerPC, ARM, Thumb or MIPS code. This is because there are no explicit
+call or return instructions in these instruction sets, so Callgrind
+has to rely on heuristics to detect calls and returns.</p>
</div>
<div class="sect2" title="6.1.2.asic Usage">
<div class="titlepage"><div><div><h3 class="title">
Modified: trunk/docs/manual/FAQ.html (+3 -3)
===================================================================
--- trunk/docs/manual/FAQ.html 2012-03-30 17:17:11 +01:00 (rev 462)
+++ trunk/docs/manual/FAQ.html 2012-08-09 17:42:34 +01:00 (rev 463)
@@ -22,10 +22,10 @@
<div>
<div><h1 class="title">
<a name="FAQ"></a>Valgrind FAQ</h1></div>
-<div><p class="releaseinfo">Release 3.7.0 2 November 2011</p></div>
-<div><p class="copyright">Copyright 2000-2011 <a class="ulink" href="http://www.valgrind.org/info/developers.html" target="_top">Valgrind Developers</a></p></div>
+<div><p class="releaseinfo">Release 3.8.0 10 August 2012</p></div>
+<div><p class="copyright">Copyright ゥ 2000-2012 <a class="ulink" href="http://www.valgrind.org/info/developers.html" target="_top">Valgrind Developers</a></p></div>
<div><div class="legalnotice" title="Legal Notice">
-<a name="id363075"></a><p>Email: <a class="ulink" href="mailto:val...@va..." target="_top">val...@va...</a></p>
+<a name="id408979"></a><p>Email: <a class="ulink" href="mailto:val...@va..." target="_top">val...@va...</a></p>
</div></div>
</div>
<hr>
Modified: trunk/docs/manual/licenses.html (+3 -3)
===================================================================
--- trunk/docs/manual/licenses.html 2012-03-30 17:17:11 +01:00 (rev 462)
+++ trunk/docs/manual/licenses.html 2012-08-09 17:42:34 +01:00 (rev 463)
@@ -6,12 +6,12 @@
<meta name="generator" content="DocBook XSL Stylesheets V1.75.2">
<link rel="home" href="index.html" title="Valgrind Documentation">
<link rel="up" href="index.html" title="Valgrind Documentation">
-<link rel="prev" href="dist.readme-packagers.html" title="6.EADME_PACKAGERS">
+<link rel="prev" href="dist.readme-mips.html" title="11.EADME.mips">
<link rel="next" href="license.gpl.html" title="1.he GNU General Public License">
</head>
<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
<div><table class="nav" width="100%" cellspacing="3" cellpadding="3" border="0" summary="Navigation header"><tr>
-<td width="22px" align="center" valign="middle"><a accesskey="p" href="dist.readme-packagers.html"><img src="images/prev.png" width="18" height="21" border="0" alt="Prev"></a></td>
+<td width="22px" align="center" valign="middle"><a accesskey="p" href="dist.readme-mips.html"><img src="images/prev.png" width="18" height="21" border="0" alt="Prev"></a></td>
<td width="25px" align="center" valign="middle"><a accesskey="u" href="index.html"><img src="images/up.png" width="21" height="18" border="0" alt="Up"></a></td>
<td width="31px" align="center" valign="middle"><a accesskey="h" href="index.html"><img src="images/home.png" width="27" height="20" border="0" alt="Up"></a></td>
<th align="center" valign="middle">Valgrind Documentation</th>
@@ -35,7 +35,7 @@
<br><table class="nav" width="100%" cellspacing="3" cellpadding="2" border="0" summary="Navigation footer">
<tr>
<td rowspan="2" width="40%" align="left">
-<a accesskey="p" href="dist.readme-packagers.html"><<.EADME_PACKAGERS</a>/td>
+<a accesskey="p" href="dist.readme-mips.html"><<1.EADME.mips</a>/td>
<td width="20%" align="center"><a accesskey="u" href="index.html">Up</a></td>
<td rowspan="2" width="40%" align="right">a accesskey="n" href="license.gpl.html">1.he GNU General Public Licensegt;></a>
</td>
Modified: trunk/docs/manual/index.html (+3 -3)
===================================================================
--- trunk/docs/manual/index.html 2012-03-30 17:17:11 +01:00 (rev 462)
+++ trunk/docs/manual/index.html 2012-08-09 17:42:34 +01:00 (rev 463)
@@ -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.7.0 2 November 2011</p></div>
-<div align="center"><p class="copyright">Copyright 2000-2011
+<div align="center"><p class="releaseinfo">Release 3.8.0 10 August 2012</p></div>
+<div align="center"><p class="copyright">Copyright ゥ 2000-2012
<a class="link" href="dist.authors.html" title="1.UTHORS">AUTHORS</a>
</p></div>
<div align="center"><div class="legalnotice" title="Legal Notice">
-<a name="id345614"></a><p>Permission is granted to copy, distribute and/or modify
+<a name="id347003"></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
Modified: trunk/docs/manual/faq.html (+1 -1)
===================================================================
--- trunk/docs/manual/faq.html 2012-03-30 17:17:11 +01:00 (rev 462)
+++ trunk/docs/manual/faq.html 2012-08-09 17:42:34 +01:00 (rev 463)
@@ -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="id370621"></a><b>2.2.</b>
+<a name="faq.glibc_devel"></a><a name="id434144"></a><b>2.2.</b>
</td>
<td align="left" valign="top">
<b>When building Valgrind, 'make' fails with this:</b><pre class="screen">
Modified: trunk/docs/manual/dist.readme-missing.html (+7 -7)
===================================================================
--- trunk/docs/manual/dist.readme-missing.html 2012-03-30 17:17:11 +01:00 (rev 462)
+++ trunk/docs/manual/dist.readme-missing.html 2012-08-09 17:42:34 +01:00 (rev 463)
@@ -1,13 +1,13 @@
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
-<title>4.EADME_MISSING_SYSCALL_OR_IOCTL</title>
+<title>5.EADME_MISSING_SYSCALL_OR_IOCTL</title>
<link rel="stylesheet" href="vg_basic.css" type="text/css">
<meta name="generator" content="DocBook XSL Stylesheets V1.75.2">
<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="3.EADME">
-<link rel="next" href="dist.readme-developers.html" title="5.EADME_DEVELOPERS">
+<link rel="prev" href="dist.readme.html" title="4.EADME">
+<link rel="next" href="dist.readme-developers.html" title="6.EADME_DEVELOPERS">
</head>
<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
<div><table class="nav" width="100%" cellspacing="3" cellpadding="3" border="0" summary="Navigation header"><tr>
@@ -17,9 +17,9 @@
<th align="center" valign="middle">Valgrind Distribution Documents</th>
<td width="22px" align="center" valign="middle"><a accesskey="n" href="dist.readme-developers.html"><img src="images/next.png" width="18" height="21" border="0" alt="Next"></a></td>
</tr></table></div>
-<div class="chapter" title="4.EADME_MISSING_SYSCALL_OR_IOCTL">
+<div class="chapter" title="5.EADME_MISSING_SYSCALL_OR_IOCTL">
<div class="titlepage"><div><div><h2 class="title">
-<a name="dist.readme-missing"></a>4.EADME_MISSING_SYSCALL_OR_IOCTL</h2></div></div></div>
+<a name="dist.readme-missing"></a>5.EADME_MISSING_SYSCALL_OR_IOCTL</h2></div></div></div>
<div class="literallayout"><p><br>
<br>
Dealingithissingystemallroctlrappersnalgrind<br>
@@ -212,9 +212,9 @@
<br><table class="nav" width="100%" cellspacing="3" cellpadding="2" border="0" summary="Navigation footer">
<tr>
<td rowspan="2" width="40%" align="left">
-<a accesskey="p" href="dist.readme.html"><<.EADME</a>/td>
+<a accesskey="p" href="dist.readme.html"><<.EADME</a>/td>
<td width="20%" align="center"><a accesskey="u" href="dist.html">Up</a></td>
-<td rowspan="2" width="40%" align="right">a accesskey="n" href="dist.readme-developers.html">5.EADME_DEVELOPERSgt;></a>
+<td rowspan="2" width="40%" align="right">a accesskey="n" href="dist.readme-developers.html">6.EADME_DEVELOPERSgt;></a>
</td>
</tr>
<tr><td width="20%" align="center"><a accesskey="h" href="index.html">Home</a></td></tr>
Modified: trunk/docs/manual/QuickStart.html (+3 -3)
===================================================================
--- trunk/docs/manual/QuickStart.html 2012-03-30 17:17:11 +01:00 (rev 462)
+++ trunk/docs/manual/QuickStart.html 2012-08-09 17:42:34 +01:00 (rev 463)
@@ -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.7.0 2 November 2011</p></div>
-<div><p class="copyright">Copyright 2000-2011 <a class="ulink" href="http://www.valgrind.org/info/developers.html" target="_top">Valgrind Developers</a></p></div>
+<div><p class="releaseinfo">Release 3.8.0 10 August 2012</p></div>
+<div><p class="copyright">Copyright ゥ 2000-2012 <a class="ulink" href="http://www.valgrind.org/info/developers.html" target="_top">Valgrind Developers</a></p></div>
<div><div class="legalnotice" title="Legal Notice">
-<a name="id385272"></a><p>Email: <a class="ulink" href="mailto:val...@va..." target="_top">val...@va...</a></p>
+<a name="id372819"></a><p>Email: <a class="ulink" href="mailto:val...@va..." target="_top">val...@va...</a></p>
</div></div>
</div>
<hr>
Modified: trunk/docs/manual/manual-core.html (+231 -33)
===================================================================
--- trunk/docs/manual/manual-core.html 2012-03-30 17:17:11 +01:00 (rev 462)
+++ trunk/docs/manual/manual-core.html 2012-08-09 17:42:34 +01:00 (rev 463)
@@ -39,6 +39,7 @@
<dt><span class="sect2"><a href="manual-core.html#manual-core.defopts">2.6.7. Setting Default Options</a></span></dt>
</dl></dd>
<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>
@@ -632,12 +633,13 @@
</dt>
<dd>
<p>Valgrind will provide "gdbserver" functionality when
- <code class="option">--vgdb=yes</code>
- or <code class="option">--vgdb=full</code> is specified. This
- allows an external GNU GDB debugger
- to control and debug your program when it runs on Valgrind. See
- <a class="xref" href="manual-core-adv.html#manual-core-adv.gdbserver" title="3.2.ebugging your program using Valgrind gdbserver and GDB">Debugging your program using Valgrind's gdbserver and GDB</a> for a detailed
- description.
+ <code class="option">--vgdb=yes</code> or <code class="option">--vgdb=full</code> is
+ specified. This allows an external GNU GDB debugger to control
+ and debug your program when it runs on Valgrind.
+ <code class="option">--vgdb=full</code> incurs significant performance
+ overheads, but provides more precise breakpoints and
+ watchpoints. See <a class="xref" href="manual-core-adv.html#manual-core-adv.gdbserver" title="3.2.ebugging your program using Valgrind gdbserver and GDB">Debugging your program using Valgrind's gdbserver and GDB</a> for
+ a detailed description.
</p>
<p> If the embedded gdbserver is enabled but no gdb is
currently being used, the <a class="xref" href="manual-core-adv.html#manual-core-adv.vgdb" title="3.2.9.gdb command line options">vgdb</a>
@@ -647,9 +649,6 @@
can optionally provide tool specific monitor commands, which are
documented in the tool specific chapter.
</p>
-<p><code class="option">--vgdb=full</code> incurs
- significant performance overheads.
- </p>
</dd>
<dt>
<a name="opt.vgdb-error"></a><span class="term">
@@ -861,7 +860,7 @@
using only the top four function locations (the place in the current
function, and that of its three immediate callers). So this doesn't
affect the total number of errors reported.</p>
-<p>The maximum value for this is 50. Note that higher settings
+<p>The maximum value for this is 500. Note that higher settings
will make Valgrind run a bit more slowly and take a bit more
memory, but can be useful when working with programs with
deeply-nested call chains.</p>
@@ -1215,8 +1214,8 @@
<div class="titlepage"><div><div><h3 class="title">
<a name="manual-core.mallocopts"></a>2.6.4.alloc-related Options</h3></div></div></div>
<p><a name="malloc-related.opts.para"></a>For tools that use their own version of
-<code class="computeroutput">malloc</code> (e.g. Memcheck and
-Massif), the following options apply.</p>
+<code class="computeroutput">malloc</code> (e.g. Memcheck,
+Massif, Helgrind, DRD), the following options apply.</p>
<div class="variablelist">
<a name="malloc-related.opts.list"></a><dl>
<dt>
@@ -1231,6 +1230,26 @@
specify a different alignment. The supplied value must be greater
than or equal to the default, less than or equal to 4096, and must be
a power of two.</p></dd>
+<dt>
+<a name="opt.redzone-size"></a><span class="term">
+ <code class="option">--redzone-size=<number> [default: depends on the tool] </code>
+ </span>
+</dt>
+<dd>
+<p> Valgrind's <code class="function">malloc, realloc,</code> etc, add
+ padding blocks before and after each heap block allocated by the
+ program being run. Such padding blocks are called redzones. The
+ default value for the redzone size depends on the tool. For
+ example, Memcheck adds and protects a minimum of 16 bytes before
+ and after each block allocated by the client. This allows it to
+ detect block underruns or overruns of up to 16 bytes.
+ </p>
+<p>Increasing the redzone size makes it possible to detect
+ overruns of larger distances, but increases the amount of memory
+ used by Valgrind. Decreasing the redzone size will reduce the
+ memory needed by Valgrind but also reduces the chances of
+ detecting over/underruns, so is not recommended.</p>
+</dd>
</dl>
</div>
</div>
@@ -1239,7 +1258,7 @@
<a name="manual-core.rareopts"></a>2.6.5.ncommon Options</h3></div></div></div>
<p><a name="uncommon.opts.para"></a>These options apply to all tools, as they
affect certain obscure workings of the Valgrind core. Most people won't
-need to use these.</p>
+need to use them.</p>
<div class="variablelist">
<a name="uncommon.opts.list"></a><dl>
<dt>
@@ -1284,14 +1303,14 @@
file-backed mappings. <code class="option">--smc-check=all-non-file</code>
takes advantage of this observation, limiting the overhead of
checking to code which is likely to be JIT generated.</p>
-<p>Some architectures (including ppc32, ppc64 and ARM) require
- programs which create code at runtime to flush the instruction
- cache in between code generation and first use. Valgrind
- observes and honours such instructions. Hence, on ppc32/Linux,
- ppc64/Linux and ARM/Linux, Valgrind always provides complete, transparent
- support for self-modifying code. It is only on platforms such as
- x86/Linux, AMD64/Linux, x86/Darwin and AMD64/Darwin
- that you need to use this option.</p>
+<p>Some architectures (including ppc32, ppc64, ARM and MIPS)
+ require programs which create code at runtime to flush the
+ instruction cache in between code generation and first use.
+ Valgrind observes and honours such instructions. Hence, on
+ ppc32/Linux, ppc64/Linux and ARM/Linux, Valgrind always provides
+ complete, transparent support for self-modifying code. It is
+ only on platforms such as x86/Linux, AMD64/Linux, x86/Darwin and
+ AMD64/Darwin that you need to use this option.</p>
</dd>
<dt>
<a name="opt.read-var-info"></a><span class="term">
@@ -1412,9 +1431,16 @@
when writing. Without this, using some device drivers with a
large number of strange ioctl commands becomes very
tiresome.</p></li>
-<li class="listitem"><p><code class="option">enable-inner: </code> Enable some special
+<li class="listitem"><p><code class="option">enable-outer: </code> Enable some special
magic needed when the program being run is itself
Valgrind.</p></li>
+<li class="listitem"><p><code class="option">no-inner-prefix: </code> Disable printing
+ a prefix <code class="option">></code> in front of each stdout or
+ stderr output line in an inner Valgrind being run by an
+ outer Valgrind. This is useful when running Valgrind
+ regression tests in an outer/inner setup. Note that the
+ prefix <code class="option">></code> will always be printed in
+ front of the inner debug logging lines.</p></li>
<li class="listitem"><p><code class="option">fuse-compatible: </code> Enable special
handling for certain system calls that may block in a FUSE
file-system. This may be necessary when running Valgrind
@@ -1425,6 +1451,48 @@
</ul></div>
</dd>
<dt>
+<a name="opt.fair-sched"></a><span class="term">
+ <code class="option">--fair-sched=<no|yes|try> [default: no] </code>
+ </span>
+</dt>
+<dd>
+<p>The <code class="option">--fair-sched</code> option controls
+ the locking mechanism used by Valgrind to serialise thread
+ execution. The locking mechanism controls the way the threads
+ are scheduled, and different settings give different trade-offs
+ between fairness and performance. For more details about the
+ Valgrind thread serialisation scheme and its impact on
+ performance and thread scheduling, see
+ <a class="xref" href="manual-core.html#manual-core.pthreads_perf_sched" title="2.7.1.cheduling and Multi-Thread Performance">Scheduling and Multi-Thread Performance</a>.
+
+ </p>
+<div class="itemizedlist"><ul class="itemizedlist" type="disc">
+<li class="listitem">
+<p>The value <code class="option">--fair-sched=yes</code>
+ activates a fair scheduler. In short, if multiple threads are
+ ready to run, the threads will be scheduled in a round robin
+ fashion. This mechanism is not available on all platforms or
+ Linux versions. If not available,
+ using <code class="option">--fair-sched=yes</code> will cause Valgrind to
+ terminate with an error.</p>
+<p>You may find this setting improves overall
+ responsiveness if you are running an interactive
+ multithreaded program, for example a web browser, on
+ Valgrind.</p>
+</li>
+<li class="listitem"><p>The value <code class="option">--fair-sched=try</code>
+ activates fair scheduling if available on the
+ platform. Otherwise, it will automatically fall back
+ to <code class="option">--fair-sched=no</code>.</p></li>
+<li class="listitem"><p>The value <code class="option">--fair-sched=no</code> activates
+ a scheduler which does not guarantee fairness
+ between threads ready to run, but which in general gives the
+ highest performance.</p></li>
+</ul></div>
+<p>
+ </p>
+</dd>
+<dt>
<a name="opt.kernel-variant"></a><span class="term">
<code class="option">--kernel-variant=variant1,variant2,...</code>
</span>
@@ -1495,6 +1563,57 @@
and <code class="varname">?</code> wildcards.
</p>
</dd>
+<dt>
+<a name="opt.soname-synonyms"></a><span class="term">
+ <code class="option">--soname-synonyms=syn1=pattern1,syn2=pattern2,...</code>
+ </span>
+</dt>
+<dd>
+<p>When a shared library is loaded, Valgrind checks for
+ functions in the library that must be replaced or wrapped.
+ For example, Memcheck replaces all malloc related
+ functions (malloc, free, calloc, ...) with its own versions.
+ Such replacements are done by default only in shared libraries whose
+ soname matches a predefined soname pattern (e.g.
+ <code class="varname">libc.so*</code> on linux).
+ By default, no replacement is done for a statically linked
+ library or for alternative libraries such as tcmalloc.
+ In some cases, the replacements allow
+ <code class="option">--soname-synonyms</code> to specify one additional
+ synonym pattern, giving flexibility in the replacement. </p>
+<p>Currently, this flexibility is only allowed for the
+ malloc related functions, using the
+ synonym <code class="varname">somalloc</code>. This synonym is usable for
+ all tools doing standard replacement of malloc related functions
+ (e.g. memcheck, massif, drd, helgrind, exp-dhat, exp-sgcheck).
+ </p>
+<div class="itemizedlist"><ul class="itemizedlist" type="disc">
+<li class="listitem">
+<p>Alternate malloc library: to replace the malloc
+ related functions in an alternate library with
+ soname <code class="varname">mymalloclib.so</code>, give the
+ option <code class="option">--soname-synonyms=somalloc=mymalloclib.so</code>.
+ A pattern can be used to match multiple libraries sonames.
+ For
+ example, <code class="option">--soname-synonyms=somalloc=*tcmalloc*</code>
+ will match the soname of all variants of the tcmalloc library
+ (native, debug, profiled, ... tcmalloc variants). </p>
+<p>Note: the soname of a elf shared library can be
+ retrieved using the readelf utility. </p>
+</li>
+<li class="listitem"><p>Replacements in a statically linked library are done by
+ using the <code class="varname">NONE</code> pattern. For example, if
+ you link with <code class="varname">libtcmalloc.a</code>, memcheck
+ will properly work when you give the
+ option <code class="option">--soname-synonyms=somalloc=NONE</code>. Note
+ that a NONE pattern will match the main executable and any
+ shared library having no soname. </p></li>
+<li class="listitem"><p>To run a "default" Firefox build for Linux, in which
+ JEMalloc is linked in to the main executable,
+ use <code class="option">--soname-synonyms=somalloc=NONE</code>.
+ </p></li>
+</ul></div>
+</dd>
</dl>
</div>
</div>
@@ -1559,8 +1678,8 @@
serialises execution so that only one (kernel) thread is running at a
time. This approach avoids the horrible implementation problems of
implementing a truly multithreaded version of Valgrind, but it does
-mean that threaded apps run only on one CPU, even if you have a
-multiprocessor or multicore machine.</p>
+mean that threaded apps never use more than one CPU simultaneously,
+even if you have a multiprocessor or multicore machine.</p>
<p>Valgrind doesn't schedule the threads itself. It merely ensures
that only one thread runs at once, using a simple locking scheme. The
actual thread scheduling...
[truncated message content] |