You can subscribe to this list here.
| 2002 |
Jan
|
Feb
|
Mar
|
Apr
|
May
|
Jun
|
Jul
|
Aug
|
Sep
(1) |
Oct
(122) |
Nov
(152) |
Dec
(69) |
|---|---|---|---|---|---|---|---|---|---|---|---|---|
| 2003 |
Jan
(6) |
Feb
(25) |
Mar
(73) |
Apr
(82) |
May
(24) |
Jun
(25) |
Jul
(10) |
Aug
(11) |
Sep
(10) |
Oct
(54) |
Nov
(203) |
Dec
(182) |
| 2004 |
Jan
(307) |
Feb
(305) |
Mar
(430) |
Apr
(312) |
May
(187) |
Jun
(342) |
Jul
(487) |
Aug
(637) |
Sep
(336) |
Oct
(373) |
Nov
(441) |
Dec
(210) |
| 2005 |
Jan
(385) |
Feb
(480) |
Mar
(636) |
Apr
(544) |
May
(679) |
Jun
(625) |
Jul
(810) |
Aug
(838) |
Sep
(634) |
Oct
(521) |
Nov
(965) |
Dec
(543) |
| 2006 |
Jan
(494) |
Feb
(431) |
Mar
(546) |
Apr
(411) |
May
(406) |
Jun
(322) |
Jul
(256) |
Aug
(401) |
Sep
(345) |
Oct
(542) |
Nov
(308) |
Dec
(481) |
| 2007 |
Jan
(427) |
Feb
(326) |
Mar
(367) |
Apr
(255) |
May
(244) |
Jun
(204) |
Jul
(223) |
Aug
(231) |
Sep
(354) |
Oct
(374) |
Nov
(497) |
Dec
(362) |
| 2008 |
Jan
(322) |
Feb
(482) |
Mar
(658) |
Apr
(422) |
May
(476) |
Jun
(396) |
Jul
(455) |
Aug
(267) |
Sep
(280) |
Oct
(253) |
Nov
(232) |
Dec
(304) |
| 2009 |
Jan
(486) |
Feb
(470) |
Mar
(458) |
Apr
(423) |
May
(696) |
Jun
(461) |
Jul
(551) |
Aug
(575) |
Sep
(134) |
Oct
(110) |
Nov
(157) |
Dec
(102) |
| 2010 |
Jan
(226) |
Feb
(86) |
Mar
(147) |
Apr
(117) |
May
(107) |
Jun
(203) |
Jul
(193) |
Aug
(238) |
Sep
(300) |
Oct
(246) |
Nov
(23) |
Dec
(75) |
| 2011 |
Jan
(133) |
Feb
(195) |
Mar
(315) |
Apr
(200) |
May
(267) |
Jun
(293) |
Jul
(353) |
Aug
(237) |
Sep
(278) |
Oct
(611) |
Nov
(274) |
Dec
(260) |
| 2012 |
Jan
(303) |
Feb
(391) |
Mar
(417) |
Apr
(441) |
May
(488) |
Jun
(655) |
Jul
(590) |
Aug
(610) |
Sep
(526) |
Oct
(478) |
Nov
(359) |
Dec
(372) |
| 2013 |
Jan
(467) |
Feb
(226) |
Mar
(391) |
Apr
(281) |
May
(299) |
Jun
(252) |
Jul
(311) |
Aug
(352) |
Sep
(481) |
Oct
(571) |
Nov
(222) |
Dec
(231) |
| 2014 |
Jan
(185) |
Feb
(329) |
Mar
(245) |
Apr
(238) |
May
(281) |
Jun
(399) |
Jul
(382) |
Aug
(500) |
Sep
(579) |
Oct
(435) |
Nov
(487) |
Dec
(256) |
| 2015 |
Jan
(338) |
Feb
(357) |
Mar
(330) |
Apr
(294) |
May
(191) |
Jun
(108) |
Jul
(142) |
Aug
(261) |
Sep
(190) |
Oct
(54) |
Nov
(83) |
Dec
(22) |
| 2016 |
Jan
(49) |
Feb
(89) |
Mar
(33) |
Apr
(50) |
May
(27) |
Jun
(34) |
Jul
(53) |
Aug
(53) |
Sep
(98) |
Oct
(206) |
Nov
(93) |
Dec
(53) |
| 2017 |
Jan
(65) |
Feb
(82) |
Mar
(102) |
Apr
(86) |
May
(187) |
Jun
(67) |
Jul
(23) |
Aug
(93) |
Sep
(65) |
Oct
(45) |
Nov
(35) |
Dec
(17) |
| 2018 |
Jan
(26) |
Feb
(35) |
Mar
(38) |
Apr
(32) |
May
(8) |
Jun
(43) |
Jul
(27) |
Aug
(30) |
Sep
(43) |
Oct
(42) |
Nov
(38) |
Dec
(67) |
| 2019 |
Jan
(32) |
Feb
(37) |
Mar
(53) |
Apr
(64) |
May
(49) |
Jun
(18) |
Jul
(14) |
Aug
(53) |
Sep
(25) |
Oct
(30) |
Nov
(49) |
Dec
(31) |
| 2020 |
Jan
(87) |
Feb
(45) |
Mar
(37) |
Apr
(51) |
May
(99) |
Jun
(36) |
Jul
(11) |
Aug
(14) |
Sep
(20) |
Oct
(24) |
Nov
(40) |
Dec
(23) |
| 2021 |
Jan
(14) |
Feb
(53) |
Mar
(85) |
Apr
(15) |
May
(19) |
Jun
(3) |
Jul
(14) |
Aug
(1) |
Sep
(57) |
Oct
(73) |
Nov
(56) |
Dec
(22) |
| 2022 |
Jan
(3) |
Feb
(22) |
Mar
(6) |
Apr
(55) |
May
(46) |
Jun
(39) |
Jul
(15) |
Aug
(9) |
Sep
(11) |
Oct
(34) |
Nov
(20) |
Dec
(36) |
| 2023 |
Jan
(79) |
Feb
(41) |
Mar
(99) |
Apr
(169) |
May
(48) |
Jun
(16) |
Jul
(16) |
Aug
(57) |
Sep
(19) |
Oct
|
Nov
|
Dec
|
| S | M | T | W | T | F | S |
|---|---|---|---|---|---|---|
|
|
|
|
|
|
|
1
(14) |
|
2
|
3
(6) |
4
(9) |
5
(23) |
6
(6) |
7
(10) |
8
(2) |
|
9
(1) |
10
(5) |
11
(2) |
12
(5) |
13
(2) |
14
(2) |
15
(4) |
|
16
(3) |
17
(22) |
18
(21) |
19
(15) |
20
(24) |
21
(5) |
22
(5) |
|
23
(14) |
24
(2) |
25
(2) |
26
(1) |
27
|
28
|
29
(1) |
|
30
|
31
|
|
|
|
|
|
|
From: Jakub B. <ber...@gm...> - 2016-10-23 23:13:20
|
Thank you, using VG_REGPARM(3) and passing 4 parameters did the trick. Valgrind is a great tool, thanks for making it :-) All the best Kuba Beranek Dne 22. 10. 2016 7:16 napsal uživatel "Julian Seward" <js...@ac...>: > On 21/10/16 23:26, Jakub Beránek wrote: > > Hello, > > > > is it possible to pass more than 3 parameters to (dirty) helper calls > > during instrumentation? > > Yes. amd64 (64-bit x86) supports up to 6 word sized args and x86 (32-bit > x86) supports at least 5. Look for the call to x86g_calculate_condition > made in VEX/priv/guest_x86_toIR.c. > > > When I used VG_REGPARM(4), Valgrind crashed on assert that requires the > > regparm count to be >=0 and <= 3 (I understand why is it so, it's > probably > > hard to pass more than 3 parameters in registers on x86 etc.). > > VG_REGPARM says how many args are to be passed in registers on x86-ELF, > up to a maximum of 3. You can't set it higher than 3. That doesn't mean > that you can't pass more than 3 args, though. > > > I tried instead to create a vector of several integers and add it to the > > argument vector, but Valgrind didn't like that either (it crashed during > > ppIRExpr). > > Yes, that won't work. You need to create a single flat vector containing > all the args you want. > > If you want this to work on all platforms, I think you need to keep to a > maximum of 4 word-sized args, since at least for arm32, the back end only > knows how to generate code for calls with at most 4 word sized args. > > J > > |
|
From: <sv...@va...> - 2016-10-23 21:31:23
|
Author: rhyskidd
Date: Sun Oct 23 22:31:16 2016
New Revision: 16103
Log:
bzero is non-POSIX (deprecated), accordingly __bzero template required for all macOS versions. n-i-bz.
Modified:
trunk/coregrind/m_main.c
Modified: trunk/coregrind/m_main.c
==============================================================================
--- trunk/coregrind/m_main.c (original)
+++ trunk/coregrind/m_main.c Sun Oct 23 22:31:16 2016
@@ -3489,6 +3489,10 @@
// skip check
return VG_(memset)(s,c,n);
}
+void __bzero(void* s, UWord n);
+void __bzero(void* s, UWord n) {
+ (void)VG_(memset)(s,0,n);
+}
void bzero(void *s, SizeT n);
void bzero(void *s, SizeT n) {
VG_(memset)(s,0,n);
@@ -4058,19 +4062,6 @@
#endif
-#if defined(VGO_darwin) && DARWIN_VERS == DARWIN_10_10
-
-/* This might also be needed for > DARWIN_10_10, but I have no way
- to test for that. Hence '==' rather than '>=' in the version
- test above. */
-void __bzero ( void* s, UWord n );
-void __bzero ( void* s, UWord n )
-{
- (void) VG_(memset)( s, 0, n );
-}
-
-#endif
-
/*--------------------------------------------------------------------*/
/*--- end ---*/
|
|
From: <sv...@va...> - 2016-10-23 07:55:05
|
Author: sewardj
Date: Sun Oct 23 08:54:59 2016
New Revision: 16102
Log:
Swizzle external.
Modified:
tags/VALGRIND_3_12_0/ (props changed)
|
|
From: <sv...@va...> - 2016-10-23 07:54:05
|
Author: sewardj
Date: Sun Oct 23 08:53:59 2016
New Revision: 16101
Log:
Create tags/VALGRIND_3_12_0 as a copy of
branches/VALGRIND_3_12_BRANCH r16100.
The corresponding tagging of VEX copied r3282, but I forgot to put
that in the commit message.
Added:
tags/VALGRIND_3_12_0/
- copied from r16100, branches/VALGRIND_3_12_BRANCH/
|
|
From: <sv...@va...> - 2016-10-23 07:49:35
|
Author: sewardj
Date: Sun Oct 23 08:49:23 2016
New Revision: 3283
Log:
Create tags/VEX_3_12_0 as a copy of branches/VEX_3_12_BRANCH.
Added:
tags/VEX_3_12_0/
- copied from r3282, branches/VEX_3_12_BRANCH/
|
|
From: <sv...@va...> - 2016-10-23 07:38:59
|
Author: sewardj
Date: Sun Oct 23 08:38:52 2016
New Revision: 16100
Log:
Resync with the version in 3_12_BRANCH.
Modified:
trunk/NEWS
Modified: trunk/NEWS
==============================================================================
--- trunk/NEWS (original)
+++ trunk/NEWS Sun Oct 23 08:38:52 2016
@@ -259,7 +259,9 @@
n-i-bz arm: Fix incorrect register-number constraint check for LDAEX{,B,H,D}
n-i-bz DHAT: added collection of the metric "tot-blocks-allocd"
-(3.12.0.RC1: 20 October 2016, vex r3282, valgrind r16092)
+(3.12.0.RC1: 20 October 2016, vex r3282, valgrind r16094)
+(3.12.0.RC2: 20 October 2016, vex r3282, valgrind r16096)
+(3.12.0: 21 October 2016, vex r3282, valgrind r16098)
|
|
From: <sv...@va...> - 2016-10-23 07:27:51
|
Author: sewardj
Date: Sun Oct 23 08:27:45 2016
New Revision: 518
Log:
Remove redundant line.
Modified:
trunk/downloads/current.html
Modified: trunk/downloads/current.html
==============================================================================
--- trunk/downloads/current.html (original)
+++ trunk/downloads/current.html Sun Oct 23 08:27:45 2016
@@ -27,10 +27,6 @@
10.12) and preliminary support for tilegx-linux.<br />
<span class="md5sum">md5: 6eb03c0c10ea917013a7622e483d61bb</span></p>
-<p>You may want to look at the
-<a href="/docs/manual/dist.news.html">3.12.0 release notes</a>.
-</p>
-
<p> 3.12.0 is a feature release with many improvements and the usual
collection of bug fixes. This release adds support for POWER ISA
3.0, improves instruction set support on ARM32, ARM64 and MIPS, and
|
|
From: <sv...@va...> - 2016-10-23 07:24:22
|
Author: sewardj
Date: Sun Oct 23 08:24:12 2016
New Revision: 517
Log:
Update documentation for 3.12.0.
Modified:
trunk/docs/manual/FAQ.html
trunk/docs/manual/QuickStart.html
trunk/docs/manual/dh-manual.html
trunk/docs/manual/dist.html
trunk/docs/manual/dist.news.html
trunk/docs/manual/dist.readme-s390.html
trunk/docs/manual/dist.readme.html
trunk/docs/manual/faq.html
trunk/docs/manual/index.html
trunk/docs/manual/manual-core.html
trunk/docs/manual/manual.html
trunk/docs/manual/mc-manual.html
trunk/docs/manual/sg-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
Modified: trunk/docs/manual/FAQ.html
==============================================================================
--- trunk/docs/manual/FAQ.html (original)
+++ trunk/docs/manual/FAQ.html Sun Oct 23 08:24:12 2016
@@ -22,10 +22,10 @@
<div>
<div><h1 class="title">
<a name="FAQ"></a>Valgrind FAQ</h1></div>
-<div><p class="releaseinfo">Release 3.11.0 22 September 2015</p></div>
-<div><p class="copyright">Copyright © 2000-2015 <a class="ulink" href="http://www.valgrind.org/info/developers.html" target="_top">Valgrind Developers</a></p></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><div class="legalnotice">
-<a name="idm257612818800"></a><p>Email: <a class="ulink" href="mailto:val...@va..." target="_top">val...@va...</a></p>
+<a name="idm140639119221280"></a><p>Email: <a class="ulink" href="mailto:val...@va..." target="_top">val...@va...</a></p>
</div></div>
</div>
<hr>
Modified: trunk/docs/manual/QuickStart.html
==============================================================================
--- trunk/docs/manual/QuickStart.html (original)
+++ trunk/docs/manual/QuickStart.html Sun Oct 23 08:24:12 2016
@@ -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.11.0 22 September 2015</p></div>
-<div><p class="copyright">Copyright © 2000-2015 <a class="ulink" href="http://www.valgrind.org/info/developers.html" target="_top">Valgrind Developers</a></p></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><div class="legalnotice">
-<a name="idm257610693856"></a><p>Email: <a class="ulink" href="mailto:val...@va..." target="_top">val...@va...</a></p>
+<a name="idm140639120054432"></a><p>Email: <a class="ulink" href="mailto:val...@va..." target="_top">val...@va...</a></p>
</div></div>
</div>
<hr>
Modified: trunk/docs/manual/dh-manual.html
==============================================================================
--- trunk/docs/manual/dh-manual.html (original)
+++ trunk/docs/manual/dh-manual.html Sun Oct 23 08:24:12 2016
@@ -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#idm257606058336">10.2.1. Interpreting the max-live, tot-alloc and deaths fields</a></span></dt>
-<dt><span class="sect2"><a href="dh-manual.html#idm257607262304">10.2.2. Interpreting the acc-ratios fields</a></span></dt>
-<dt><span class="sect2"><a href="dh-manual.html#idm257605557296">10.2.3. Interpreting "Aggregated access counts by offset" data</a></span></dt>
+<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>
</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="idm257606058336"></a>10.2.1. Interpreting the max-live, tot-alloc and deaths fields</h3></div></div></div>
+<a name="idm140639117126160"></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="idm257606978736"></a>10.2.1.1. A simple example</h4></div></div></div></div>
+<a name="idm140639117125456"></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="idm257604134672"></a>10.2.1.2. Example of a potential process-lifetime leak</h4></div></div></div></div>
+<a name="idm140639113980544"></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="idm257607262304"></a>10.2.2. Interpreting the acc-ratios fields</h3></div></div></div>
+<a name="idm140639113841488"></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="idm257605198288"></a>10.2.2.1. A fairly harmless allocation point record</h4></div></div></div></div>
+<a name="idm140639113840736"></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="idm257607153168"></a>10.2.2.2. A more suspicious looking example</h4></div></div></div></div>
+<a name="idm140639118134560"></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="idm257604755888"></a>10.2.2.3. Another suspicious example</h4></div></div></div></div>
+<a name="idm140639111498432"></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="idm257605557296"></a>10.2.3. Interpreting "Aggregated access counts by offset" data</h3></div></div></div>
+<a name="idm140639116741152"></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>
@@ -326,16 +326,17 @@
allocation points according to some metric, and shows the
highest scoring entries. <code class="varname">--sort-by</code>
selects the metric used for sorting:</p>
-<p><code class="varname">max-bytes-live </code> maximum live bytes [default]</p>
-<p><code class="varname">tot-bytes-allocd </code> total allocation (turnover)</p>
-<p><code class="varname">max-blocks-live </code> maximum live blocks</p>
+<p><code class="varname">max-bytes-live </code> maximum live bytes [default]</p>
+<p><code class="varname">tot-bytes-allocd </code> bytes allocates in total (turnover)</p>
+<p><code class="varname">max-blocks-live </code> maximum live blocks</p>
+<p><code class="varname">tot-blocks-allocd </code> blocks allocated in total (turnover)</p>
<p>This controls the order in which allocation points are
displayed. You can choose to look at allocation points with
- the highest maximum liveness, or the highest total turnover, or
- by the highest number of live blocks. These give usefully
- different pictures of program behaviour. For example, sorting
- by maximum live blocks tends to show up allocation points
- creating large numbers of small objects.</p>
+ the highest number of live bytes, or the highest total byte turnover, or
+ by the highest number of live blocks, or the highest total block
+ turnover. These give usefully different pictures of program behaviour.
+ For example, sorting by maximum live blocks tends to show up allocation
+ points creating large numbers of small objects.</p>
</dd>
</dl>
</div>
Modified: trunk/docs/manual/dist.html
==============================================================================
--- trunk/docs/manual/dist.html (original)
+++ trunk/docs/manual/dist.html Sun Oct 23 08:24:12 2016
@@ -22,10 +22,10 @@
<div>
<div><h1 class="title">
<a name="dist"></a>Valgrind Distribution Documents</h1></div>
-<div><p class="releaseinfo">Release 3.11.0 22 September 2015</p></div>
-<div><p class="copyright">Copyright © 2000-2015 <a class="ulink" href="http://www.valgrind.org/info/developers.html" target="_top">Valgrind Developers</a></p></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><div class="legalnotice">
-<a name="idm257606375104"></a><p>Email: <a class="ulink" href="mailto:val...@va..." target="_top">val...@va...</a></p>
+<a name="idm140639116581280"></a><p>Email: <a class="ulink" href="mailto:val...@va..." target="_top">val...@va...</a></p>
</div></div>
</div>
<hr>
Modified: trunk/docs/manual/dist.news.html
==============================================================================
--- trunk/docs/manual/dist.news.html (original)
+++ trunk/docs/manual/dist.news.html Sun Oct 23 08:24:12 2016
@@ -22,6 +22,272 @@
<a name="dist.news"></a>2. NEWS</h1></div></div></div>
<div class="literallayout"><p><br>
<br>
+Release 3.12.0 (20 October 2016)<br>
+~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~<br>
+<br>
+3.12.0 is a feature release with many improvements and the usual<br>
+collection of bug fixes.<br>
+<br>
+This release supports X86/Linux, AMD64/Linux, ARM32/Linux,<br>
+ARM64/Linux, PPC32/Linux, PPC64BE/Linux, PPC64LE/Linux, S390X/Linux,<br>
+MIPS32/Linux, MIPS64/Linux, ARM/Android, ARM64/Android,<br>
+MIPS32/Android, X86/Android, X86/Solaris, AMD64/Solaris, X86/MacOSX<br>
+10.10 and AMD64/MacOSX 10.10. There is also preliminary support for<br>
+X86/MacOSX 10.11/12, AMD64/MacOSX 10.11/12 and TILEGX/Linux.<br>
+<br>
+* ================== PLATFORM CHANGES =================<br>
+<br>
+* POWER: Support for ISA 3.0 has been added<br>
+<br>
+* mips: support for O32 FPXX ABI has been added.<br>
+* mips: improved recognition of different processors<br>
+* mips: determination of page size now done at run time<br>
+<br>
+* amd64: Partial support for AMD FMA4 instructions.<br>
+<br>
+* arm, arm64: Support for v8 crypto and CRC instructions.<br>
+<br>
+* Improvements and robustification of the Solaris port.<br>
+<br>
+* Preliminary support for MacOS 10.12 (Sierra) has been added.<br>
+<br>
+Whilst 3.12.0 continues to support the 32-bit x86 instruction set, we<br>
+would prefer users to migrate to 64-bit x86 (a.k.a amd64 or x86_64)<br>
+where possible. Valgrind's support for 32-bit x86 has stagnated in<br>
+recent years and has fallen far behind that for 64-bit x86<br>
+instructions. By contrast 64-bit x86 is well supported, up to and<br>
+including AVX2.<br>
+<br>
+* ==================== TOOL CHANGES ====================<br>
+<br>
+* Memcheck:<br>
+<br>
+ - Added meta mempool support for describing a custom allocator which:<br>
+ - Auto-frees all chunks assuming that destroying a pool destroys all<br>
+ objects in the pool<br>
+ - Uses itself to allocate other memory blocks<br>
+<br>
+ - New flag --ignore-range-below-sp to ignore memory accesses below<br>
+ the stack pointer, if you really have to. The related flag<br>
+ --workaround-gcc296-bugs=yes is now deprecated. Use<br>
+ --ignore-range-below-sp=1024-1 as a replacement.<br>
+<br>
+* DRD:<br>
+<br>
+ - Improved thread startup time significantly on non-Linux platforms.<br>
+<br>
+* DHAT<br>
+<br>
+ - Added collection of the metric "tot-blocks-allocd"<br>
+<br>
+* ==================== OTHER CHANGES ====================<br>
+<br>
+* Replacement/wrapping of malloc/new related functions is now done not just<br>
+ for system libraries by default, but for any globally defined malloc/new<br>
+ related function (both in shared libraries and statically linked alternative<br>
+ malloc implementations). The dynamic (runtime) linker is excluded, though.<br>
+ To only intercept malloc/new related functions in<br>
+ system libraries use --soname-synonyms=somalloc=nouserintercepts (where<br>
+ "nouserintercepts" can be any non-existing library name).<br>
+ This new functionality is not implemented for MacOS X.<br>
+<br>
+* The maximum number of callers in a suppression entry is now equal to<br>
+ the maximum size for --num-callers (500).<br>
+ Note that --gen-suppressions=yes|all similarly generates suppressions<br>
+ containing up to --num-callers frames.<br>
+<br>
+* New and modified GDB server monitor features:<br>
+<br>
+ - Valgrind's gdbserver now accepts the command 'catch syscall'.<br>
+ Note that you must have GDB >= 7.11 to use 'catch syscall' with<br>
+ gdbserver.<br>
+<br>
+* New option --run-cxx-freeres=<yes|no> can be used to change whether<br>
+ __gnu_cxx::__freeres() cleanup function is called or not. Default is<br>
+ 'yes'.<br>
+<br>
+* Valgrind is able to read compressed debuginfo sections in two formats:<br>
+ - zlib ELF gABI format with SHF_COMPRESSED flag (gcc option -gz=zlib)<br>
+ - zlib GNU format with .zdebug sections (gcc option -gz=zlib-gnu)<br>
+<br>
+* Modest JIT-cost improvements: the cost of instrumenting code blocks<br>
+ for the most common use case (x86_64-linux, Memcheck) has been<br>
+ reduced by 10%-15%.<br>
+<br>
+* Improved performance for programs that do a lot of discarding of<br>
+ instruction address ranges of 8KB or less.<br>
+<br>
+* The C++ symbol demangler has been updated.<br>
+<br>
+* More robustness against invalid syscall parameters on Linux.<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>
+191069 Exiting due to signal not reported in XML output<br>
+199468 Suppressions: stack size limited to 25<br>
+ while --num-callers allows more frames<br>
+212352 vex amd64 unhandled opc_aux = 0x 2, first_opcode == 0xDC (FCOM)<br>
+278744 cvtps2pd with redundant RexW<br>
+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>
+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>
+352197 mips: mmap2() not wrapped correctly for page size > 4096<br>
+353083 arm64 doesn't implement various xattr system calls<br>
+353084 arm64 doesn't support sigpending system call<br>
+353137 www: update info for Supported Platforms<br>
+353138 www: update "The Valgrind Developers" page<br>
+353370 don't advertise RDRAND in cpuid for Core-i7-4910-like avx2 machine<br>
+ == 365325<br>
+ == 357873<br>
+353384 amd64->IR: 0x66 0xF 0x3A 0x62 0xD1 0x62 (pcmpXstrX $0x62)<br>
+353398 WARNING: unhandled amd64-solaris syscall: 207<br>
+353660 XML in auxwhat tag not escaping reserved symbols properly<br>
+353680 s390x: Crash with certain glibc versions due to non-implemented TBEGIN<br>
+353727 amd64->IR: 0x66 0xF 0x3A 0x62 0xD1 0x72 (pcmpXstrX $0x72)<br>
+353802 ELF debug info reader confused with multiple .rodata sections<br>
+353891 Assert 'bad_scanned_addr < VG_ROUNDDN(start+len, sizeof(Addr))' failed<br>
+353917 unhandled amd64-solaris syscall fchdir(120)<br>
+353920 unhandled amd64-solaris syscall: 170<br>
+354274 arm: unhandled instruction: 0xEBAD 0x0AC1 (sub.w sl, sp, r1, lsl #3)<br>
+354392 unhandled amd64-solaris syscall: 171<br>
+354797 Vbit test does not include Iops for Power 8 instruction support<br>
+354883 tst->os_state.pthread - magic_delta assertion failure on OSX 10.11<br>
+ == 361351<br>
+ == 362920<br>
+ == 366222<br>
+354933 Fix documentation of --kernel-variant=android-no-hw-tls option<br>
+355188 valgrind should intercept all malloc related global functions<br>
+355454 do not intercept malloc related symbols from the runtime linker<br>
+355455 stderr.exp of test cases wrapmalloc and wrapmallocstatic overconstrained<br>
+356044 Dwarf line info reader misinterprets is_stmt register<br>
+356112 mips: replace addi with addiu<br>
+356393 valgrind (vex) crashes because isZeroU happened<br>
+ == 363497<br>
+ == 364497<br>
+356676 arm64-linux: unhandled syscalls 125, 126 (sched_get_priority_max/min)<br>
+356678 arm64-linux: unhandled syscall 232 (mincore)<br>
+356817 valgrind.h triggers compiler errors on MSVC when defining NVALGRIND<br>
+356823 Unsupported ARM instruction: stlex<br>
+357059 x86/amd64: SSE cvtpi2ps with memory source does transition to MMX state<br>
+357338 Unhandled instruction for SHA instructions libcrypto Boring SSL<br>
+357673 crash if I try to run valgrind with a binary link with libcurl<br>
+357833 Setting RLIMIT_DATA to zero breaks with linux 4.5+<br>
+357871 pthread_spin_destroy not properly wrapped<br>
+357887 Calls to VG_(fclose) do not close the file descriptor<br>
+357932 amd64->IR: accept redundant REX prefixes for {minsd,maxsd} m128, xmm.<br>
+358030 support direct socket calls on x86 32bit (new in linux 4.3)<br>
+358478 drd/tests/std_thread.cpp doesn't build with GCC6<br>
+359133 Assertion 'eltSzB <= ddpa->poolSzB' failed<br>
+359181 Buffer Overflow during Demangling<br>
+359201 futex syscall "skips" argument 5 if op is FUTEX_WAIT_BITSET<br>
+359289 s390x: popcnt (B9E1) not implemented<br>
+359472 The Power PC vsubuqm instruction doesn't always give the correct result<br>
+359503 Add missing syscalls for aarch64 (arm64)<br>
+359645 "You need libc6-dbg" help message could be more helpful<br>
+359703 s390: wire up separate socketcalls system calls<br>
+359724 getsockname might crash - deref_UInt should call safe_to_deref<br>
+359733 amd64 implement ld.so strchr/index override like x86<br>
+359767 Valgrind does not support the IBM POWER ISA 3.0 instructions, part 1/5<br>
+359829 Power PC test suite none/tests/ppc64/test_isa_2_07.c uses<br>
+ uninitialized data<br>
+359838 arm64: Unhandled instruction 0xD5033F5F (clrex)<br>
+359871 Incorrect mask handling in ppoll<br>
+359952 Unrecognised PCMPESTRM variants (0x70, 0x19)<br>
+360008 Contents of Power vr registers contents is not printed correctly when<br>
+ the --vgdb-shadow-registers=yes option is used<br>
+360035 POWER PC instruction bcdadd and bcdsubtract generate result with<br>
+ non-zero shadow bits<br>
+360378 arm64: Unhandled instruction 0x5E280844 (sha1h s4, s2)<br>
+360425 arm64 unsupported instruction ldpsw<br>
+ == 364435<br>
+360519 none/tests/arm64/memory.vgtest might fail with newer gcc<br>
+360571 Error about the Android Runtime reading below the stack pointer on ARM<br>
+360574 Wrong parameter type for an ashmem ioctl() call on Android and ARM64<br>
+360749 kludge for multiple .rodata sections on Solaris no longer needed<br>
+360752 raise the number of reserved fds in m_main.c from 10 to 12<br>
+361207 Valgrind does not support the IBM POWER ISA 3.0 instructions, part 2/5<br>
+361226 s390x: risbgn (EC59) not implemented<br>
+361253 [s390x] ex_clone.c:42: undefined reference to `pthread_create'<br>
+361354 ppc64[le]: wire up separate socketcalls system calls<br>
+361615 Inconsistent termination for multithreaded process terminated by signal<br>
+361926 Unhandled Solaris syscall: sysfs(84)<br>
+362009 V dumps core on unimplemented functionality before threads are created<br>
+362329 Valgrind does not support the IBM POWER ISA 3.0 instructions, part 3/5<br>
+362894 missing (broken) support for wbit field on mtfsfi instruction (ppc64)<br>
+362935 [AsusWRT] Assertion 'sizeof(TTEntryC) <= 88' failed<br>
+362953 Request for an update to the Valgrind Developers page<br>
+363680 add renameat2() support<br>
+363705 arm64 missing syscall name_to_handle_at and open_by_handle_at<br>
+363714 ppc64 missing syscalls sync, waitid and name_to/open_by_handle_at<br>
+363858 Valgrind does not support the IBM POWER ISA 3.0 instructions, part 4/5<br>
+364058 clarify in manual limitations of array overruns detections<br>
+364413 pselect sycallwrapper mishandles NULL sigmask<br>
+364728 Power PC, missing support for several HW registers in<br>
+ get_otrack_shadow_offset_wrk()<br>
+364948 Valgrind does not support the IBM POWER ISA 3.0 instructions, part 5/5<br>
+365273 Invalid write to stack location reported after signal handler runs<br>
+365912 ppc64BE segfault during jm-insns test (RELRO)<br>
+366079 FPXX Support for MIPS32 Valgrind<br>
+366138 Fix configure errors out when using Xcode 8 (clang 8.0.0)<br>
+366344 Multiple unhandled instruction for Aarch64<br>
+ (0x0EE0E020, 0x1AC15800, 0x4E284801, 0x5E040023, 0x5E056060)<br>
+367995 Integration of memcheck with custom memory allocator<br>
+368120 x86_linux asm _start functions do not keep 16-byte aligned stack pointer<br>
+368412 False positive result for altivec capability check<br>
+368416 Add tc06_two_races_xml.exp output for ppc64<br>
+368419 Perf Events ioctls not implemented<br>
+368461 mmapunmap test fails on ppc64<br>
+368823 run_a_thread_NORETURN assembly code typo for VGP_arm64_linux target<br>
+369000 AMD64 fma4 instructions unsupported.<br>
+369169 ppc64 fails jm_int_isa_2_07 test<br>
+369175 jm_vec_isa_2_07 test crashes on ppc64<br>
+369209 valgrind loops and eats up all memory if cwd doesn't exist.<br>
+369356 pre_mem_read_sockaddr syscall wrapper can crash with bad sockaddr<br>
+369359 msghdr_foreachfield can crash when handling bad iovec<br>
+369360 Bad sigprocmask old or new sets can crash valgrind<br>
+369361 vmsplice syscall wrapper crashes on bad iovec<br>
+369362 Bad sigaction arguments crash valgrind<br>
+369383 x86 sys_modify_ldt wrapper crashes on bad ptr<br>
+369402 Bad set/get_thread_area pointer crashes valgrind<br>
+369441 bad lvec argument crashes process_vm_readv/writev syscall wrappers<br>
+369446 valgrind crashes on unknown fcntl command<br>
+369439 S390x: Unhandled insns RISBLG/RISBHG and LDE/LDER <br>
+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>
+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 & non heap segments<br>
+n-i-bz Fix ppoll_alarm exclusion on OS X<br>
+n-i-bz Document brk segment limitation, reference manual in limit reached msg.<br>
+n-i-bz Fix clobber list in none/tests/amd64/xacq_xrel.c [valgrind r15737]<br>
+n-i-bz Bump allowed shift value for "add.w reg, sp, reg, lsl #N" [vex r3206]<br>
+n-i-bz amd64: memcheck false positive with shr %edx<br>
+n-i-bz arm3: Allow early writeback of SP base register in "strd rD, [sp, #-16]"<br>
+n-i-bz ppc: Fix two cases of PPCAvFpOp vs PPCFpOp enum confusion<br>
+n-i-bz arm: Fix incorrect register-number constraint check for LDAEX{,B,H,D}<br>
+n-i-bz DHAT: added collection of the metric "tot-blocks-allocd" <br>
+<br>
+(3.12.0.RC1: 20 October 2016, vex r3282, valgrind r16094)<br>
+(3.12.0.RC2: 20 October 2016, vex r3282, valgrind r16096)<br>
+(3.12.0: 21 October 2016, vex r3282, valgrind r16098)<br>
+<br>
+<br>
+<br>
Release 3.11.0 (22 September 2015)<br>
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~<br>
<br>
@@ -217,6 +483,7 @@
226609 Crediting upstream authors in man page<br>
231257 Valgrind omits path when executing script from shebang line<br>
254164 OS X task_info: UNKNOWN task message [id 3405, to mach_task_self() [..]<br>
+294065 Improve the pdb file reader by avoiding hardwired absolute pathnames<br>
269360 s390x: Fix addressing mode selection for compare-and-swap<br>
302630 Memcheck: Assertion failed: 'sizeof(UWord) == sizeof(UInt)'<br>
== 326797<br>
@@ -402,8 +669,7 @@
351140 arm64 syscalls setuid (146) and setresgid (149) not implemented<br>
351386 Solaris: Cannot run ld.so.1 under Valgrind<br>
351474 Fix VG_(iseqsigset) as obvious<br>
-351534 Fix incorrect header guard<br>
-351632 Fix UNKNOWN fcntl 97 on OS X 10.11<br>
+351531 Typo in /include/vki/vki-xen-physdev.h header guard<br>
351756 Intercept platform_memchr$VARIANT$Haswell on OS X<br>
351858 ldsoexec support on Solaris<br>
351873 Newer gcc doesn't allow __builtin_tabortdc[i] in ppc32 mode<br>
Modified: trunk/docs/manual/dist.readme-s390.html
==============================================================================
--- trunk/docs/manual/dist.readme-s390.html (original)
+++ trunk/docs/manual/dist.readme-s390.html Sun Oct 23 08:24:12 2016
@@ -45,6 +45,9 @@
- Some gcc versions use mvc to copy 4/8 byte values. This will affect<br>
certain debug messages. For example, memcheck will complain about<br>
4 one-byte reads/writes instead of just a single read/write.<br>
+- The transactional-execution facility is not supported; it is masked<br>
+ off from HWCAP.<br>
+- The vector facility is not supported; it is masked off from HWCAP.<br>
<br>
<br>
Hardware facilities<br>
Modified: trunk/docs/manual/dist.readme.html
==============================================================================
--- trunk/docs/manual/dist.readme.html (original)
+++ trunk/docs/manual/dist.readme.html Sun Oct 23 08:24:12 2016
@@ -65,6 +65,8 @@
- S390X/Linux<br>
- MIPS32/Linux<br>
- MIPS64/Linux<br>
+- X86/Solaris<br>
+- AMD64/Solaris<br>
<br>
Note that AMD64 is just another name for x86_64, and Valgrind runs fine<br>
on Intel processors. Also note that the core of MacOSX is called<br>
Modified: trunk/docs/manual/faq.html
==============================================================================
--- trunk/docs/manual/faq.html (original)
+++ trunk/docs/manual/faq.html Sun Oct 23 08:24:12 2016
@@ -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="idm257603383456"></a><b>2.2.</b>
+<a name="faq.glibc_devel"></a><a name="idm140639118203536"></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/index.html
==============================================================================
--- trunk/docs/manual/index.html (original)
+++ trunk/docs/manual/index.html Sun Oct 23 08:24:12 2016
@@ -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.11.0 22 September 2015</p></div>
-<div align="center"><p class="copyright">Copyright © 2000-2015
+<div align="center"><p class="releaseinfo">Release 3.12.0 20 October 2016</p></div>
+<div align="center"><p class="copyright">Copyright © 2000-2016
<a class="link" href="dist.authors.html" title="1. AUTHORS">AUTHORS</a>
</p></div>
<div align="center"><div class="legalnotice">
-<a name="idm257618844384"></a><p>Permission is granted to copy, distribute and/or modify
+<a name="idm140639127546768"></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/manual-core.html
==============================================================================
--- trunk/docs/manual/manual-core.html (original)
+++ trunk/docs/manual/manual-core.html Sun Oct 23 08:24:12 2016
@@ -1662,6 +1662,33 @@
<code class="filename">libc.so</code>.</p>
</dd>
<dt>
+<a name="opt.run-cxx-freeres"></a><span class="term">
+ <code class="option">--run-cxx-freeres=<yes|no> [default: yes] </code>
+ </span>
+</dt>
+<dd>
+<p>This option is only relevant when running Valgrind on Linux
+ or Solaris C++ programs.</p>
+<p>The GNU Standard C++ library (<code class="function">libstdc++.so</code>),
+ which is used by all C++ programs compiled with g++, may allocate memory
+ for its own uses. Usually it doesn't bother to free that memory when
+ the program ends—there would be no point, since the kernel reclaims
+ all process resources when a process exits anyway, so it would
+ just slow things down.</p>
+<p>The gcc authors realised that this behaviour causes leak
+ checkers, such as Valgrind, to falsely report leaks in libstdc++, when
+ a leak check is done at exit. In order to avoid this, they
+ provided a routine called <code class="function">__gnu_cxx::__freeres</code>
+ specifically to make libstdc++ release all memory it has allocated.
+ Memcheck therefore tries to run
+ <code class="function">__gnu_cxx::__freeres</code> at exit.</p>
+<p>For the sake of flexibility and unforeseen problems with
+ <code class="function">__gnu_cxx::__freeres</code>, option
+ <code class="option">--run-cxx-freeres=no</code> exists,
+ although at the cost of possibly falsely reporting space leaks in
+ <code class="filename">libstdc++.so</code>.</p>
+</dd>
+<dt>
<a name="opt.sim-hints"></a><span class="term">
<code class="option">--sim-hints=hint1,hint2,... </code>
</span>
@@ -1996,18 +2023,26 @@
</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.
+<p>When a shared library is loaded, Valgrind checks for
+ functions in the library that must be replaced or wrapped. For
+ example, Memcheck replaces some string and memory functions
+ (strchr, strlen, strcpy, memchr, memcpy, memmove, etc.) with its
+ own versions. Such replacements are normally done 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 binary or for
+ alternative libraries, except for the allocation functions
+ (malloc, free, calloc, memalign, realloc, operator new, operator
+ delete, etc.) Such allocation functions are intercepted by
+ default in any shared library or in the executable if they are
+ exported as global symbols. This means that if a replacement
+ allocation library such as tcmalloc is found, its functions are
+ also intercepted by default.
+
In some cases, the replacements allow
<code class="option">--soname-synonyms</code> to specify one additional
- synonym pattern, giving flexibility in the replacement. </p>
+ synonym pattern, giving flexibility in the replacement. Or to
+ prevent interception of all public allocation symbols.</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
@@ -2017,28 +2052,44 @@
<div class="itemizedlist"><ul class="itemizedlist" style="list-style-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
+ related functions in a specific alternate library with
+ soname <code class="varname">mymalloclib.so</code> (and not in any
+ others), 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>
+ 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>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>, and only
+ want to intercept the malloc related functions in the
+ executable (and standard libraries) themselves, but not any
+ other shared libraries, you can 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>
+<li class="listitem"><p>To only intercept allocation symbols in the default
+ system libraries, but not in any other shared library or the
+ executable defining public malloc or operator new related
+ functions use a non-existing library name
+ like <code class="option">--soname-synonyms=somalloc=nouserintercepts</code>
+ (where <code class="varname">nouserintercepts</code> can be any
+ non-existing library name).
+ </p></li>
+<li class="listitem"><p>Shared library of the dynamic (runtime) linker is excluded from
+ searching for global public symbols, such as those for the malloc
+ related functions (identified by <code class="varname">somalloc</code> synonym).
+ </p></li>
</ul></div>
</dd>
</dl>
@@ -2305,6 +2356,15 @@
<p>Valgrind will run programs on the supported platforms
subject to the following constraints:</p>
<div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; ">
+<li class="listitem"><p>On Linux, Valgrind determines at startup the size of the 'brk
+ segment' using the RLIMIT_DATA rlim_cur, with a minimum of 1 MB and
+ a maximum of 8 MB. Valgrind outputs a message each time a program
+ tries to extend the brk segment beyond the size determined at
+ startup. Most programs will work properly with this limit,
+ typically by switching to the use of mmap to get more memory.
+ If your program really needs a big brk segment, you must change
+ the 8 MB hardcoded limit and recompile Valgrind.
+ </p></li>
<li class="listitem"><p>On x86 and amd64, there is no support for 3DNow!
instructions. If the translator encounters these, Valgrind will
generate a SIGILL when the instruction is executed. Apart from
Modified: trunk/docs/manual/manual.html
==============================================================================
--- trunk/docs/manual/manual.html (original)
+++ trunk/docs/manual/manual.html Sun Oct 23 08:24:12 2016
@@ -22,10 +22,10 @@
<div>
<div><h1 class="title">
<a name="manual"></a>Valgrind User Manual</h1></div>
-<div><p class="releaseinfo">Release 3.11.0 22 September 2015</p></div>
-<div><p class="copyright">Copyright © 2000-2015 <a class="ulink" href="http://www.valgrind.org/info/developers.html" target="_top">Valgrind Developers</a></p></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><div class="legalnotice">
-<a name="idm257606536912"></a><p>Email: <a class="ulink" href="mailto:val...@va..." target="_top">val...@va...</a></p>
+<a name="idm140639115873632"></a><p>Email: <a class="ulink" href="mailto:val...@va..." target="_top">val...@va...</a></p>
</div></div>
</div>
<hr>
@@ -270,9 +270,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#idm257606058336">10.2.1. Interpreting the max-live, tot-alloc and deaths fields</a></span></dt>
-<dt><span class="sect2"><a href="dh-manual.html#idm257607262304">10.2.2. Interpreting the acc-ratios fields</a></span></dt>
-<dt><span class="sect2"><a href="dh-manual.html#idm257605557296">10.2.3. Interpreting "Aggregated access counts by offset" data</a></span></dt>
+<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>
</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>
Modified: trunk/docs/manual/mc-manual.html
==============================================================================
--- trunk/docs/manual/mc-manual.html (original)
+++ trunk/docs/manual/mc-manual.html Sun Oct 23 08:24:12 2016
@@ -936,8 +936,32 @@
conversions. This is in violation of the 32-bit PowerPC ELF
specification, which makes no provision for locations below the
stack pointer to be accessible.</p>
+<p>This option is deprecated as of version 3.12 and may be
+ removed from future versions. You should instead use
+ <code class="option">--ignore-range-below-sp</code> to specify the exact
+ range of offsets below the stack pointer that should be ignored.
+ A suitable equivalent
+ is <code class="option">--ignore-range-below-sp=1024-1</code>.
+ </p>
</dd>
<dt>
+<a name="opt.ignore-range-below-sp"></a><span class="term">
+ <code class="option">--ignore-range-below-sp=<number>-<number> </code>
+ </span>
+</dt>
+<dd><p>This is a more general replacement for the deprecated
+ <code class="option">--workaround-gcc296-bugs</code> option. When
+ specified, it causes Memcheck not to report errors for accesses
+ at the specified offsets below the stack pointer. The two
+ offsets must be positive decimal numbers and -- somewhat
+ counterintuitively -- the first one must be larger, in order to
+ imply a non-wraparound address range to ignore. For example,
+ to ignore 4 byte accesses at 8192 bytes below the stack
+ pointer,
+ use <code class="option">--ignore-range-below-sp=8192-8189</code>. Only
+ one range may be specified.
+ </p></dd>
+<dt>
<a name="opt.show-mismatched-frees"></a><span class="term">
<code class="option">--show-mismatched-frees=<yes|no> [default: yes] </code>
</span>
@@ -1917,6 +1941,53 @@
subsequent calls can refer to it as a pool.
</p>
</li>
+<li class="listitem">
+<p>
+ <code class="varname">VALGRIND_CREATE_MEMPOOL_EXT(pool, rzB, is_zeroed, flags)</code>:
+ Create a memory pool with some flags (that can
+ be OR-ed together) specifying extended behaviour. When flags is
+ zero, the behaviour is identical to
+ <code class="varname">VALGRIND_CREATE_MEMPOOL</code>.</p>
+<div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: circle; ">
+<li class="listitem"><p> The flag <code class="varname">VALGRIND_MEMPOOL_METAPOOL</code>
+ specifies that the pieces of memory associated with the pool
+ using <code class="varname">VALGRIND_MEMPOOL_ALLOC</code> will be used
+ by the application as superblocks to dole out MALLOC_LIKE
+ blocks using <code class="varname">VALGRIND_MALLOCLIKE_BLOCK</code>.
+ In other words, a meta pool is a "2 levels" pool : first
+ level is the blocks described
+ by <code class="varname">VALGRIND_MEMPOOL_ALLOC</code>. The second
+ level blocks are described
+ using <code class="varname">VALGRIND_MALLOCLIKE_BLOCK</code>. Note
+ that the association between the pool and the second level
+ blocks is implicit : second level blocks will be located
+ inside first level blocks. It is necessary to use
+ the <code class="varname">VALGRIND_MEMPOOL_METAPOOL</code> flag for
+ such 2 levels pools, as otherwise valgrind will detect
+ overlapping memory blocks, and will abort execution
+ (e.g. during leak search).
+ </p></li>
+<li class="listitem"><p>
+ <code class="varname">VALGRIND_MEMPOOL_AUTO_FREE</code>. Such a meta
+ pool can also be marked as an 'auto free' pool using the
+ flag <code class="varname">VALGRIND_MEMPOOL_AUTO_FREE</code>, which
+ must be OR-ed together with
+ the <code class="varname">VALGRIND_MEMPOOL_METAPOOL</code>. For an
+ 'auto free' pool, <code class="varname">VALGRIND_MEMPOOL_FREE</code>
+ will automatically free the second level blocks that are
+ contained inside the first level block freed
+ with <code class="varname">VALGRIND_MEMPOOL_FREE</code>. In other
+ words, calling <code class="varname">VALGRIND_MEMPOOL_FREE</code> will
+ cause implicit calls
+ to <code class="varname">VALGRIND_FREELIKE_BLOCK</code> for all the
+ second level blocks included in the first level block.
+ Note: it is an error to use
+ the <code class="varname">VALGRIND_MEMPOOL_AUTO_FREE</code> flag
+ without the
+ <code class="varname">VALGRIND_MEMPOOL_METAPOOL</code> flag.
+ </p></li>
+</ul></div>
+</li>
<li class="listitem"><p><code class="varname">VALGRIND_DESTROY_MEMPOOL(pool)</code>:
This request tells Memcheck that a pool is being torn down. Memcheck
then removes all records of chunks associated with the pool, as well
Modified: trunk/docs/manual/sg-manual.html
==============================================================================
--- trunk/docs/manual/sg-manual.html (original)
+++ trunk/docs/manual/sg-manual.html Sun Oct 23 08:24:12 2016
@@ -96,6 +96,15 @@
does not carry any restriction from one call to the next. Indeed,
multiple threads may make multiple simultaneous calls to
(e.g.) <code class="function">memcpy</code> without mutual interference.</p>
+<p>It is important to note that the association is done between
+ a <span class="emphasis"><em>binary instruction</em></span> and an array, the
+ <span class="emphasis"><em>first time</em></span> this binary instruction accesses an
+ array during a function call. When the same instruction is executed
+ again during the same function call, then SGCheck might report a
+ problem, if these further executions are not accessing the same
+ array. This technique causes several limitations in SGCheck, see
+ <a class="xref" href="sg-manual.html#sg-manual.limitations" title="11.5. Limitations">Limitations</a>.
+</p>
</div>
<div class="sect1">
<div class="titlepage"><div><div><h2 class="title" style="clear: both">
@@ -116,7 +125,8 @@
programs. There are a number of limitations which you should be aware
of.</p>
<div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; ">
-<li class="listitem"><p>False negatives (missed errors): it follows from the
+<li class="listitem">
+<p>False negatives (missed errors): it follows from the
description above (<a class="xref" href="sg-manual.html#sg-manual.how-works.sg-checks" title="11.3. How SGCheck Works">How SGCheck Works</a>)
that the first access by a memory referencing instruction to a
stack or global array creates an association between that
@@ -125,7 +135,11 @@
the first access by an instruction to an array (in any given
function instantiation) is not checked for overrun, since SGCheck
uses that as the "example" of how subsequent accesses should
- behave.</p></li>
+ behave.</p>
+<p>It also means that errors will not be found in an instruction
+ executed only once (e.g. because this instruction is not in a loop,
+ or the loop is executed only once).</p>
+</li>
<li class="listitem">
<p>False positives (false errors): similarly, and more serious,
it is clearly possible to write legitimate pieces of code which
Modified: trunk/docs/manual/tech-docs.html
==============================================================================
--- trunk/docs/manual/tech-docs.html (original)
+++ trunk/docs/manual/tech-docs.html Sun Oct 23 08:24:12 2016
@@ -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.11.0 22 September 2015</p></div>
-<div><p class="copyright">Copyright © 2000-2015 <a class="ulink" href="http://www.valgrind.org/info/developers.html" target="_top">Valgrind Developers</a></p></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><div class="legalnotice">
-<a name="idm257609244848"></a><p>Email: <a class="ulink" href="mailto:val...@va..." target="_top">val...@va...</a></p>
+<a name="idm140639109670320"></a><p>Email: <a class="ulink" href="mailto:val...@va..." target="_top">val...@va...</a></p>
</div></div>
</div>
<hr>
Modified: trunk/docs/manual/valgrind_manual.html.tar.bz2
==============================================================================
Binary files - no diff available.
Modified: trunk/docs/manual/valgrind_manual.pdf
==============================================================================
Binary files - no diff available.
Modified: trunk/docs/manual/valgrind_manual.ps.bz2
==============================================================================
Binary files - no diff available.
|
|
From: <sv...@va...> - 2016-10-23 07:00:06
|
Author: sewardj
Date: Sun Oct 23 08:00:00 2016
New Revision: 516
Log:
Fix grammar nits in the boilerplate release announcement.
Modified:
trunk/index.html
Modified: trunk/index.html
==============================================================================
--- trunk/index.html (original)
+++ trunk/index.html Sun Oct 23 08:00:00 2016
@@ -53,7 +53,7 @@
See you all at FOSDEM in Brussels!
</p></li>
- <li><p><?php echo $config['release-date'].": ".$config['release-version']; ?>,
+ <li><p><?php echo $config['release-date'].": ".$config['release-version']; ?>
is available. This release supports:
X86/Linux, AMD64/Linux, ARM32/Linux,
ARM64/Linux, PPC32/Linux, PPC64BE/Linux, PPC64LE/Linux, S390X/Linux,
@@ -61,7 +61,7 @@
MIPS32/Android, X86/Android, X86/Solaris, AMD64/Solaris, X86/MacOSX
10.10 and AMD64/MacOSX 10.10. There is also preliminary support for
X86/MacOSX 10.11/12, AMD64/MacOSX 10.11/12 and TILEGX/Linux.
- (<a href="/docs/manual/dist.news.html">release notes</a>).
+ For more details see the <a href="/docs/manual/dist.news.html">release notes</a>.
</p></li>
</ul>
<br />
|
|
From: <sv...@va...> - 2016-10-23 06:58:01
|
Author: sewardj
Date: Sun Oct 23 07:57:53 2016
New Revision: 515
Log:
Updates for 3.12.0.
Modified:
trunk/downloads/current.html
trunk/index.html
trunk/info/news.html
trunk/php/.htconfx
Modified: trunk/downloads/current.html
==============================================================================
--- trunk/downloads/current.html (original)
+++ trunk/downloads/current.html Sun Oct 23 07:57:53 2016
@@ -17,6 +17,33 @@
<div id="release">
+<a name="current"><h3>Valgrind 3.12.0</h3></a>
+
+<p><a href="/downloads/valgrind-3.12.0.tar.bz2">valgrind 3.12.0
+ (tar.bz2)</a> [12MB] - 20 October 2016.<br /> For
+ {x86,amd64,arm32,arm64,ppc32,ppc64le,ppc64be,s390x,mips32,mips64}-linux,
+ {arm32,arm64,x86,mips32}-android, {x86,amd64}-solaris,
+ {x86,amd64}-darwin (Mac OS X 10.10, with limited support for 10.11 and
+ 10.12) and preliminary support for tilegx-linux.<br />
+<span class="md5sum">md5: 6eb03c0c10ea917013a7622e483d61bb</span></p>
+
+<p>You may want to look at the
+<a href="/docs/manual/dist.news.html">3.12.0 release notes</a>.
+</p>
+
+<p> 3.12.0 is a feature release with many improvements and the usual
+ collection of bug fixes. This release adds support for POWER ISA
+ 3.0, improves instruction set support on ARM32, ARM64 and MIPS, and
+ provides support for the latest common components (kernel, gcc,
+ glibc). There are many smaller refinements and new features. See
+ the <a href="/docs/manual/dist.news.html">release notes</a> for
+ details.
+</p>
+
+
+<!--
+<div id="release">
+
<a name="current"><h3>Valgrind 3.11.0</h3></a>
<p><a href="/downloads/valgrind-3.11.0.tar.bz2">valgrind 3.11.0 (tar.bz2)</a>
@@ -38,6 +65,7 @@
bit targets only). There are many smaller refinements and new
features. See the <a href="/docs/manual/dist.news.html">release
notes</a> for details.</p>
+-->
<!--
Modified: trunk/index.html
==============================================================================
--- trunk/index.html (original)
+++ trunk/index.html Sun Oct 23 07:57:53 2016
@@ -54,25 +54,15 @@
</p></li>
<li><p><?php echo $config['release-date'].": ".$config['release-version']; ?>,
-is available. This release supports:
-X86/Linux, AMD64/Linux, ARM/Linux, ARM64/Linux, PPC32/Linux, PPC64/Linux,
-PPC64LE/Linux, S390X/Linux, MIPS32/Linux, MIPS64/Linux, TILEGX/Linux, X86/Solaris,
-AMD64/Solaris, ARM/Android (2.3.x and later), ARM64/Android, X86/Android (4.0 and
-later), MIPS32/Android, X86/Darwin and AMD64/Darwin (Mac OS X 10.10, with initial
-support for 10.11). (<a href="/docs/manual/dist.news.html">release notes</a>).
-</p></li>
-
-
- <li><p>21 October 2010:
- Valkyrie-2.0.0, a Qt4-based GUI for the Memcheck and Helgrind
- tools in Valgrind-3.6.0, is now available.
- </p></li>
-
- <li><p>May 5 2010: Valgrind t-shirts are available for purchase at
- <a href="http://www.freewear.org/?org=Valgrind">FreeWear.org</a>.
- For each t-shirt sold, € 3 will be donated to the Valgrind project.
+ is available. This release supports:
+ X86/Linux, AMD64/Linux, ARM32/Linux,
+ ARM64/Linux, PPC32/Linux, PPC64BE/Linux, PPC64LE/Linux, S390X/Linux,
+ MIPS32/Linux, MIPS64/Linux, ARM/Android, ARM64/Android,
+ MIPS32/Android, X86/Android, X86/Solaris, AMD64/Solaris, X86/MacOSX
+ 10.10 and AMD64/MacOSX 10.10. There is also preliminary support for
+ X86/MacOSX 10.11/12, AMD64/MacOSX 10.11/12 and TILEGX/Linux.
+ (<a href="/docs/manual/dist.news.html">release notes</a>).
</p></li>
-
</ul>
<br />
Modified: trunk/info/news.html
==============================================================================
--- trunk/info/news.html (original)
+++ trunk/info/news.html Sun Oct 23 07:57:53 2016
@@ -7,6 +7,11 @@
<p>Below are a few of the important events in the history of Valgrind:</p>
<ul>
+ <li><p>21 October 2010:
+ Valkyrie-2.0.0, a Qt4-based GUI for the Memcheck and Helgrind
+ tools in Valgrind-3.6.0, is now available.
+ </p></li>
+
<li><p>July 1 2010: Initial support for Mac OS X 10.6 (Snow Leopard)
has been folded into the trunk and is usable. Support for 64-bit
executables on 10.5 and 10.6 has also been improved. Note that to
Modified: trunk/php/.htconfx
==============================================================================
--- trunk/php/.htconfx (original)
+++ trunk/php/.htconfx Sun Oct 23 07:57:53 2016
@@ -24,11 +24,11 @@
'inc_dir' => $base_dir . '/php/',
'img_dir' => $base_dir . '/images/',
- 'dt_copyright' => '2000-2015',
+ 'dt_copyright' => '2000-2016',
/* current release info */
- 'release-date' => '22 September 2015',
- 'release-version' => 'valgrind-3.11.0',
+ 'release-date' => '20 October 2016',
+ 'release-version' => 'valgrind-3.12.0',
/* mailing lists, bug reports, etc. */
'vgannounce' => array(
|
|
From: Ivo R. <iv...@iv...> - 2016-10-23 06:40:57
|
2016-10-23 8:33 GMT+02:00 <sv...@va...>: > Author: sewardj > Date: Sun Oct 23 07:33:16 2016 > New Revision: 513 > > Log: > Add a note about FOSDEM 2017. Fixes #371065. Patch from iv...@iv.... > Thank you, Julian! I. |
|
From: <sv...@va...> - 2016-10-23 06:35:18
|
Author: sewardj
Date: Sun Oct 23 07:35:11 2016
New Revision: 514
Log:
Oops, fix bogus dates in r513.
Modified:
trunk/index.html
Modified: trunk/index.html
==============================================================================
--- trunk/index.html (original)
+++ trunk/index.html Sun Oct 23 07:35:11 2016
@@ -44,7 +44,7 @@
<h2 align="center">Recent News</h2>
<ul>
- <li><p>18 October 2017: We will
+ <li><p>23 October 2016: We will
have a <a href="https://fosdem.org/2017/schedule/track/valgrind">Valgrind
Devroom</a> at <a href="https://fosdem.org/2017">FOSDEM 2017</a>.
The <a href="https://lists.fosdem.org/pipermail/fosdem/2016-October/002467.html">Call
|
|
From: <sv...@va...> - 2016-10-23 06:33:23
|
Author: sewardj
Date: Sun Oct 23 07:33:16 2016
New Revision: 513
Log:
Add a note about FOSDEM 2017. Fixes #371065. Patch from iv...@iv....
Modified:
trunk/index.html
Modified: trunk/index.html
==============================================================================
--- trunk/index.html (original)
+++ trunk/index.html Sun Oct 23 07:33:16 2016
@@ -44,6 +44,15 @@
<h2 align="center">Recent News</h2>
<ul>
+ <li><p>18 October 2017: We will
+ have a <a href="https://fosdem.org/2017/schedule/track/valgrind">Valgrind
+ Devroom</a> at <a href="https://fosdem.org/2017">FOSDEM 2017</a>.
+ The <a href="https://lists.fosdem.org/pipermail/fosdem/2016-October/002467.html">Call
+ for Participation</a> has recently been announced. The Devroom is on
+ the first of the two FOSDEM days, on Sat 4 Feb 2017.
+ See you all at FOSDEM in Brussels!
+ </p></li>
+
<li><p><?php echo $config['release-date'].": ".$config['release-version']; ?>,
is available. This release supports:
X86/Linux, AMD64/Linux, ARM/Linux, ARM64/Linux, PPC32/Linux, PPC64/Linux,
|
|
From: <sv...@va...> - 2016-10-23 05:56:38
|
Author: sewardj
Date: Sun Oct 23 06:56:27 2016
New Revision: 16099
Log:
Merge from branches/VALGRIND_3_12_BRANCH:
16095 Build fixes for MacOS X 10.10.5.
Modified:
trunk/ (props changed)
trunk/Makefile.all.am
trunk/coregrind/link_tool_exe_darwin.in
trunk/coregrind/m_main.c
Modified: trunk/Makefile.all.am
==============================================================================
--- trunk/Makefile.all.am (original)
+++ trunk/Makefile.all.am Sun Oct 23 06:56:27 2016
@@ -210,7 +210,7 @@
AM_FLAG_M3264_X86_DARWIN = -arch i386
AM_CFLAGS_X86_DARWIN = $(WERROR) -arch i386 $(AM_CFLAGS_BASE) \
- -mmacosx-version-min=10.5 \
+ -mmacosx-version-min=10.6 \
-fno-stack-protector -fno-pic -fno-PIC
AM_CFLAGS_PSO_X86_DARWIN = $(AM_CFLAGS_X86_DARWIN) $(AM_CFLAGS_PSO_BASE)
@@ -218,7 +218,7 @@
AM_FLAG_M3264_AMD64_DARWIN = -arch x86_64
AM_CFLAGS_AMD64_DARWIN = $(WERROR) -arch x86_64 $(AM_CFLAGS_BASE) \
- -mmacosx-version-min=10.5 -fno-stack-protector
+ -mmacosx-version-min=10.6 -fno-stack-protector
AM_CFLAGS_PSO_AMD64_DARWIN = $(AM_CFLAGS_AMD64_DARWIN) $(AM_CFLAGS_PSO_BASE)
AM_CCASFLAGS_AMD64_DARWIN = -arch x86_64 -g
Modified: trunk/coregrind/link_tool_exe_darwin.in
==============================================================================
--- trunk/coregrind/link_tool_exe_darwin.in (original)
+++ trunk/coregrind/link_tool_exe_darwin.in Sun Oct 23 06:56:27 2016
@@ -36,7 +36,7 @@
#
# (64-bit):
#
-# /usr/bin/ld -static -arch x86_64 -macosx_version_min 10.5 \
+# /usr/bin/ld -static -arch x86_64 -macosx_version_min 10.6 \
# -o memcheck-amd64-darwin -u __start -e __start \
# -image_base 0x138000000 -stack_addr 0x13c000000 \
# -stack_size 0x800000 \
@@ -46,7 +46,7 @@
#
# (32-bit)
#
-# /usr/bin/ld -static -arch i386 -macosx_version_min 10.5 \
+# /usr/bin/ld -static -arch i386 -macosx_version_min 10.6 \
# -o memcheck-x86-darwin -u __start -e __start \
# -image_base 0x38000000 -stack_addr 0x3c000000 \
# -stack_size 0x800000 \
@@ -150,7 +150,7 @@
}
$cmd = "$cmd -arch $archstr";
-$cmd = "$cmd -macosx_version_min 10.5";
+$cmd = "$cmd -macosx_version_min 10.6";
$cmd = "$cmd -o $outname";
$cmd = "$cmd -u __start -e __start";
Modified: trunk/coregrind/m_main.c
==============================================================================
--- trunk/coregrind/m_main.c (original)
+++ trunk/coregrind/m_main.c Sun Oct 23 06:56:27 2016
@@ -4058,6 +4058,19 @@
#endif
+#if defined(VGO_darwin) && DARWIN_VERS == DARWIN_10_10
+
+/* This might also be needed for > DARWIN_10_10, but I have no way
+ to test for that. Hence '==' rather than '>=' in the version
+ test above. */
+void __bzero ( void* s, UWord n );
+void __bzero ( void* s, UWord n )
+{
+ (void) VG_(memset)( s, 0, n );
+}
+
+#endif
+
/*--------------------------------------------------------------------*/
/*--- end ---*/
|