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
(25) |
2
(13) |
3
(3) |
|
4
|
5
(5) |
6
(12) |
7
(5) |
8
(16) |
9
(3) |
10
|
|
11
|
12
|
13
(4) |
14
(1) |
15
(2) |
16
(6) |
17
|
|
18
|
19
(1) |
20
(2) |
21
(10) |
22
(9) |
23
(8) |
24
(5) |
|
25
|
26
(6) |
27
(8) |
28
(8) |
29
(23) |
30
(12) |
31
(6) |
|
From: Konstantin S. <kon...@gm...> - 2010-07-01 09:20:40
|
On Wed, Jun 30, 2010 at 11:16 PM, Bart Van Assche <bva...@ac...> wrote: > On Tue, Jun 29, 2010 at 4:33 PM, Konstantin Serebryany > <kon...@gm...> wrote: >> >> Helgrind and DRD does not seem to detect races between a memory access >> and free(). >> (memcheck will find such bug only if free() happens before the access >> during a particular run). >> Do you plan to implement such functionality? (basically, free() should >> be treated as a write) >> >> I implemented such feature in ThreadSanitizer but was hit by >> libstdc++: the string implementation is unfriendly to race detectors >> because it uses atomic reference counting in the destructor. >> >> http://gcc.gnu.org/onlinedocs/libstdc++/latest-doxygen/a00762_source.html#l00228 >> Have you observed any issues around reference counting in string<>? >> Any thoughts? > > Detecting races between memory accesses and freeing memory is certainly > useful. But since the functions that manipulate reference counts are > typically implemented as inline functions, it looks hard to me to let a data > race detection tool recognize automatically the dependencies that are the > result of a reference counting scheme. Not only std::string<> in libstdc++ > is using this technique, but also std::tr1::shared_ptr<> in libstdc++, > boost::shared_ptr<> in the Boost libraries, QSharedPointer in Qt and > probably several other class implementations. Oh, yes! > I'm not sure it will be > possible to convince the maintainers of all these libraries to add > ANNOTATE_HAPPENS_BEFORE() / AFTER() annotations such that Valgrind-based > race detectors can recognize the dependencies resulting from reference > counting schemes. I don't think we need to use ANONTATE_* in standard libraries. Instead, I want to ask the library writers to arrange their code to make it easier to intercept by valgrind tools. In particular, for atomic ref counting I want to ask them to have a new function which simply means "atomically decrement reference count and return whether count is zero". That function could itself simply call __exchange_and_add_dispatch or whatever. The function should not be inlined when compiling in debug mode (or we need some way to intercept it). What do you think, Bart? Julian? Before reaching to the library folks I want to make sure that we agree with each other... --kcc > > Bart. > |
|
From: Alexander P. <gl...@go...> - 2010-07-01 09:20:34
|
Nick, sorry, I'm at home with my newborn son, so I've got little time for that. Will probably take a look next week. On Thu, Jul 1, 2010 at 10:19 AM, Nicholas Nethercote <n.n...@gm...> wrote: > On Wed, Jun 30, 2010 at 11:03 PM, Alexander Potapenko <gl...@go...> wrote: >> >> ! == 444 tests, 26 stderr failures, 1 stdout failure, 9 post failures == >> ! memcheck/tests/darwin/scalar (stderr) >> memcheck/tests/null_socket (stdout) >> *************** >> *** 17,18 **** >> --- 18,37 ---- >> memcheck/tests/varinfo6 (stderr) >> + massif/tests/peak (stderr) >> + massif/tests/peak (post) >> + massif/tests/peak2 (stderr) >> + massif/tests/peak2 (post) >> + massif/tests/realloc (stderr) >> + massif/tests/realloc (post) >> + massif/tests/thresholds_0_0 (stderr) >> + massif/tests/thresholds_0_0 (post) >> + massif/tests/thresholds_0_10 (stderr) >> + massif/tests/thresholds_0_10 (post) >> + massif/tests/thresholds_10_0 (stderr) >> + massif/tests/thresholds_10_0 (post) >> + massif/tests/thresholds_10_10 (stderr) >> + massif/tests/thresholds_10_10 (post) >> + massif/tests/thresholds_5_0 (stderr) >> + massif/tests/thresholds_5_0 (post) >> + massif/tests/thresholds_5_10 (stderr) >> + massif/tests/thresholds_5_10 (post) >> none/tests/async-sigs (stderr) > > Alexander, it appears that about 1/3 of the Massif tests failed > catastrophically. Can you determine what went wrong? > > Thanks. > > Nick > -- Alexander Potapenko Software Engineer Google Moscow |
|
From: <sv...@va...> - 2010-07-01 08:35:38
|
Author: sewardj Date: 2010-07-01 09:35:30 +0100 (Thu, 01 Jul 2010) New Revision: 430 Log: Fix up somewhat lame wording in last commit. Modified: trunk/index.html trunk/info/news.html Modified: trunk/index.html =================================================================== --- trunk/index.html 2010-07-01 08:27:13 UTC (rev 429) +++ trunk/index.html 2010-07-01 08:35:30 UTC (rev 430) @@ -40,7 +40,7 @@ <h2 align="center">Recent News</h2> <ul> - <li><p>July 1 2010: Initial support for MacOSX 10.6 (Snow Leopard) + <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. For more details see the @@ -48,11 +48,10 @@ </p></li> <li><p>July 1 2010: Initial support for the SSE4.1/4.2 instruction - set has been folded into the trunk and is usable, for 64-bit - processes only at present. The implementation is incomplete but is - believed to cover all instructions generated by gcc-4.4/4.5 "-O3 - -msse4.2". Work on further coverage is ongoing. For more details - see the + set has been folded into the trunk, for 64-bit processes only at + present. The implementation is incomplete but is believed to cover + all instructions generated by gcc-4.4/4.5 "-O3 -msse4.2". Work on + further coverage is ongoing. For more details see the <a href="downloads/repository.html">repository</a> page. </p></li> Modified: trunk/info/news.html =================================================================== --- trunk/info/news.html 2010-07-01 08:27:13 UTC (rev 429) +++ trunk/info/news.html 2010-07-01 08:35:30 UTC (rev 430) @@ -7,7 +7,7 @@ <p>Below are a few of the important events in the history of Valgrind:</p> <ul> - <li><p>July 1 2010: Initial support for MacOSX 10.6 (Snow Leopard) + <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. For more details see the @@ -15,11 +15,10 @@ </p></li> <li><p>July 1 2010: Initial support for the SSE4.1/4.2 instruction - set has been folded into the trunk and is usable, for 64-bit - processes only at present. The implementation is incomplete but is - believed to cover all instructions generated by gcc-4.4/4.5 "-O3 - -msse4.2". Work on further coverage is ongoing. For more details - see the + set has been folded into the trunk, for 64-bit processes only at + present. The implementation is incomplete but is believed to cover + all instructions generated by gcc-4.4/4.5 "-O3 -msse4.2". Work on + further coverage is ongoing. For more details see the <a href="downloads/repository.html">repository</a> page. </p></li> |
|
From: <sv...@va...> - 2010-07-01 08:27:21
|
Author: sewardj Date: 2010-07-01 09:27:13 +0100 (Thu, 01 Jul 2010) New Revision: 429 Log: Update news with Snow Leopard and SSE4 support items. Modified: trunk/index.html trunk/info/news.html Modified: trunk/index.html =================================================================== --- trunk/index.html 2010-05-06 22:48:11 UTC (rev 428) +++ trunk/index.html 2010-07-01 08:27:13 UTC (rev 429) @@ -40,6 +40,22 @@ <h2 align="center">Recent News</h2> <ul> + <li><p>July 1 2010: Initial support for MacOSX 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. For more + details see the + <a href="downloads/repository.html">repository</a> page. + </p></li> + + <li><p>July 1 2010: Initial support for the SSE4.1/4.2 instruction + set has been folded into the trunk and is usable, for 64-bit + processes only at present. The implementation is incomplete but is + believed to cover all instructions generated by gcc-4.4/4.5 "-O3 + -msse4.2". Work on further coverage is ongoing. For more details + see the + <a href="downloads/repository.html">repository</a> page. + </p></li> + <li><p>May 6 2010: Initial support for ARM/Linux has been folded into the SVN trunk, and is usable on Ubuntu 9.04 and 9.10 for ARM. Further development to support more recent Ubuntus and the full Modified: trunk/info/news.html =================================================================== --- trunk/info/news.html 2010-05-06 22:48:11 UTC (rev 428) +++ trunk/info/news.html 2010-07-01 08:27:13 UTC (rev 429) @@ -7,6 +7,22 @@ <p>Below are a few of the important events in the history of Valgrind:</p> <ul> + <li><p>July 1 2010: Initial support for MacOSX 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. For more + details see the + <a href="downloads/repository.html">repository</a> page. + </p></li> + + <li><p>July 1 2010: Initial support for the SSE4.1/4.2 instruction + set has been folded into the trunk and is usable, for 64-bit + processes only at present. The implementation is incomplete but is + believed to cover all instructions generated by gcc-4.4/4.5 "-O3 + -msse4.2". Work on further coverage is ongoing. For more details + see the + <a href="downloads/repository.html">repository</a> page. + </p></li> + <li><p>May 6 2010: Initial support for ARM/Linux has been folded into the SVN trunk, and is usable on Ubuntu 9.04 and 9.10 for ARM. Further development to support more recent Ubuntus and the full |
|
From: Bart V. A. <bva...@ac...> - 2010-07-01 07:58:23
|
Nightly build on cellbuzz-native ( cellbuzz, ppc64, Fedora 7, native ) Started at 2010-07-01 02:27:25 EDT Ended at 2010-07-01 03:58:04 EDT Results unchanged from 24 hours ago Checking out valgrind source tree ... done Configuring valgrind ... done Building valgrind ... done Running regression tests ... done Regression test results follow == 459 tests, 42 stderr failures, 10 stdout failures, 0 post failures == memcheck/tests/deep_templates (stdout) memcheck/tests/leak-cases-full (stderr) memcheck/tests/leak-cases-summary (stderr) memcheck/tests/leak-cycle (stderr) memcheck/tests/linux/timerfd-syscall (stdout) memcheck/tests/linux-syscalls-2007 (stderr) memcheck/tests/origin5-bz2 (stderr) memcheck/tests/varinfo1 (stderr) memcheck/tests/varinfo2 (stderr) memcheck/tests/varinfo3 (stderr) memcheck/tests/varinfo4 (stderr) memcheck/tests/varinfo5 (stderr) memcheck/tests/varinfo6 (stderr) memcheck/tests/wrap8 (stdout) memcheck/tests/wrap8 (stderr) none/tests/empty-exe (stderr) none/tests/linux/mremap (stderr) none/tests/ppc32/jm-fp (stdout) none/tests/ppc32/jm-vmx (stdout) none/tests/ppc32/round (stdout) none/tests/ppc32/test_gx (stdout) none/tests/ppc64/jm-fp (stdout) none/tests/ppc64/jm-vmx (stdout) none/tests/ppc64/round (stdout) none/tests/shell_valid2 (stderr) none/tests/shell_valid3 (stderr) none/tests/shell_zerolength (stderr) helgrind/tests/hg05_race2 (stderr) helgrind/tests/tc06_two_races_xml (stderr) helgrind/tests/tc23_bogus_condwait (stderr) exp-ptrcheck/tests/bad_percentify (stderr) exp-ptrcheck/tests/base (stderr) exp-ptrcheck/tests/ccc (stderr) exp-ptrcheck/tests/fp (stderr) exp-ptrcheck/tests/globalerr (stderr) exp-ptrcheck/tests/hackedbz2 (stderr) exp-ptrcheck/tests/hp_bounds (stderr) exp-ptrcheck/tests/hp_dangle (stderr) exp-ptrcheck/tests/hsg (stderr) exp-ptrcheck/tests/justify (stderr) exp-ptrcheck/tests/partial_bad (stderr) exp-ptrcheck/tests/partial_good (stderr) exp-ptrcheck/tests/preen_invars (stderr) exp-ptrcheck/tests/pth_create (stderr) exp-ptrcheck/tests/pth_specific (stderr) exp-ptrcheck/tests/realloc (stderr) exp-ptrcheck/tests/stackerr (stderr) exp-ptrcheck/tests/strcpy (stderr) exp-ptrcheck/tests/supp (stderr) exp-ptrcheck/tests/tricky (stderr) exp-ptrcheck/tests/unaligned (stderr) exp-ptrcheck/tests/zero (stderr) |
|
From: Nicholas N. <n.n...@gm...> - 2010-07-01 06:20:15
|
On Wed, Jun 30, 2010 at 11:03 PM, Alexander Potapenko <gl...@go...> wrote: > > ! == 444 tests, 26 stderr failures, 1 stdout failure, 9 post failures == > ! memcheck/tests/darwin/scalar (stderr) > memcheck/tests/null_socket (stdout) > *************** > *** 17,18 **** > --- 18,37 ---- > memcheck/tests/varinfo6 (stderr) > + massif/tests/peak (stderr) > + massif/tests/peak (post) > + massif/tests/peak2 (stderr) > + massif/tests/peak2 (post) > + massif/tests/realloc (stderr) > + massif/tests/realloc (post) > + massif/tests/thresholds_0_0 (stderr) > + massif/tests/thresholds_0_0 (post) > + massif/tests/thresholds_0_10 (stderr) > + massif/tests/thresholds_0_10 (post) > + massif/tests/thresholds_10_0 (stderr) > + massif/tests/thresholds_10_0 (post) > + massif/tests/thresholds_10_10 (stderr) > + massif/tests/thresholds_10_10 (post) > + massif/tests/thresholds_5_0 (stderr) > + massif/tests/thresholds_5_0 (post) > + massif/tests/thresholds_5_10 (stderr) > + massif/tests/thresholds_5_10 (post) > none/tests/async-sigs (stderr) Alexander, it appears that about 1/3 of the Massif tests failed catastrophically. Can you determine what went wrong? Thanks. Nick |
|
From: Alexander P. <gl...@go...> - 2010-07-01 06:03:34
|
Nightly build on mcgrind ( Darwin 9.8.0 i386 ) Started at 2010-07-01 09:06:00 MSD Ended at 2010-07-01 09:25:31 MSD Results differ from 24 hours ago Checking out valgrind source tree ... done Configuring valgrind ... done Building valgrind ... done Running regression tests ... failed Regression test results follow == 444 tests, 26 stderr failures, 1 stdout failure, 9 post failures == memcheck/tests/darwin/scalar (stderr) memcheck/tests/null_socket (stdout) memcheck/tests/origin5-bz2 (stderr) memcheck/tests/varinfo1 (stderr) memcheck/tests/varinfo2 (stderr) memcheck/tests/varinfo3 (stderr) memcheck/tests/varinfo4 (stderr) memcheck/tests/varinfo5 (stderr) memcheck/tests/varinfo6 (stderr) massif/tests/peak (stderr) massif/tests/peak (post) massif/tests/peak2 (stderr) massif/tests/peak2 (post) massif/tests/realloc (stderr) massif/tests/realloc (post) massif/tests/thresholds_0_0 (stderr) massif/tests/thresholds_0_0 (post) massif/tests/thresholds_0_10 (stderr) massif/tests/thresholds_0_10 (post) massif/tests/thresholds_10_0 (stderr) massif/tests/thresholds_10_0 (post) massif/tests/thresholds_10_10 (stderr) massif/tests/thresholds_10_10 (post) massif/tests/thresholds_5_0 (stderr) massif/tests/thresholds_5_0 (post) massif/tests/thresholds_5_10 (stderr) massif/tests/thresholds_5_10 (post) none/tests/async-sigs (stderr) none/tests/faultstatus (stderr) none/tests/pth_blockedsig (stderr) none/tests/require-text-symbol-2 (stderr) helgrind/tests/hg05_race2 (stderr) helgrind/tests/rwlock_race (stderr) helgrind/tests/tc06_two_races_xml (stderr) helgrind/tests/tc18_semabuse (stderr) helgrind/tests/tc23_bogus_condwait (stderr) ================================================= == Results from 24 hours ago == ================================================= Checking out valgrind source tree ... done Configuring valgrind ... done Building valgrind ... done Running regression tests ... failed Regression test results follow == 444 tests, 16 stderr failures, 1 stdout failure, 0 post failures == memcheck/tests/null_socket (stdout) memcheck/tests/origin5-bz2 (stderr) memcheck/tests/varinfo1 (stderr) memcheck/tests/varinfo2 (stderr) memcheck/tests/varinfo3 (stderr) memcheck/tests/varinfo4 (stderr) memcheck/tests/varinfo5 (stderr) memcheck/tests/varinfo6 (stderr) none/tests/async-sigs (stderr) none/tests/faultstatus (stderr) none/tests/pth_blockedsig (stderr) none/tests/require-text-symbol-2 (stderr) helgrind/tests/hg05_race2 (stderr) helgrind/tests/rwlock_race (stderr) helgrind/tests/tc06_two_races_xml (stderr) helgrind/tests/tc18_semabuse (stderr) helgrind/tests/tc23_bogus_condwait (stderr) ================================================= == Difference between 24 hours ago and now == ================================================= *** old.short Thu Jul 1 09:16:01 2010 --- new.short Thu Jul 1 09:25:31 2010 *************** *** 8,10 **** ! == 444 tests, 16 stderr failures, 1 stdout failure, 0 post failures == memcheck/tests/null_socket (stdout) --- 8,11 ---- ! == 444 tests, 26 stderr failures, 1 stdout failure, 9 post failures == ! memcheck/tests/darwin/scalar (stderr) memcheck/tests/null_socket (stdout) *************** *** 17,18 **** --- 18,37 ---- memcheck/tests/varinfo6 (stderr) + massif/tests/peak (stderr) + massif/tests/peak (post) + massif/tests/peak2 (stderr) + massif/tests/peak2 (post) + massif/tests/realloc (stderr) + massif/tests/realloc (post) + massif/tests/thresholds_0_0 (stderr) + massif/tests/thresholds_0_0 (post) + massif/tests/thresholds_0_10 (stderr) + massif/tests/thresholds_0_10 (post) + massif/tests/thresholds_10_0 (stderr) + massif/tests/thresholds_10_0 (post) + massif/tests/thresholds_10_10 (stderr) + massif/tests/thresholds_10_10 (post) + massif/tests/thresholds_5_0 (stderr) + massif/tests/thresholds_5_0 (post) + massif/tests/thresholds_5_10 (stderr) + massif/tests/thresholds_5_10 (post) none/tests/async-sigs (stderr) -- Alexander Potapenko Software Engineer Google Moscow |
|
From: Rich C. <rc...@wi...> - 2010-07-01 05:18:42
|
Nightly build on ppc32 ( Linux 2.6.27.7-9-default ppc )
Started at 2010-06-30 23:26:01 CDT
Ended at 2010-07-01 00:18:29 CDT
Results unchanged from 24 hours ago
Checking out valgrind source tree ... done
Configuring valgrind ... done
Building valgrind ... done
Running regression tests ... failed
Regression test results follow
== 456 tests, 161 stderr failures, 43 stdout failures, 2 post failures ==
memcheck/tests/addressable (stdout)
memcheck/tests/addressable (stderr)
memcheck/tests/atomic_incs (stdout)
memcheck/tests/atomic_incs (stderr)
memcheck/tests/badaddrvalue (stdout)
memcheck/tests/badaddrvalue (stderr)
memcheck/tests/badfree-2trace (stderr)
memcheck/tests/badfree (stderr)
memcheck/tests/badjump (stderr)
memcheck/tests/badjump2 (stderr)
memcheck/tests/badloop (stderr)
memcheck/tests/badpoll (stderr)
memcheck/tests/badrw (stderr)
memcheck/tests/brk2 (stderr)
memcheck/tests/buflen_check (stderr)
memcheck/tests/calloc-overflow (stderr)
memcheck/tests/clientperm (stdout)
memcheck/tests/clientperm (stderr)
memcheck/tests/custom-overlap (stderr)
memcheck/tests/custom_alloc (stderr)
memcheck/tests/deep_templates (stdout)
memcheck/tests/deep_templates (stderr)
memcheck/tests/describe-block (stderr)
memcheck/tests/doublefree (stderr)
memcheck/tests/erringfds (stdout)
memcheck/tests/erringfds (stderr)
memcheck/tests/error_counts (stderr)
memcheck/tests/errs1 (stderr)
memcheck/tests/execve (stderr)
memcheck/tests/execve2 (stderr)
memcheck/tests/exitprog (stderr)
memcheck/tests/file_locking (stderr)
memcheck/tests/fprw (stderr)
memcheck/tests/fwrite (stderr)
memcheck/tests/inits (stderr)
memcheck/tests/inline (stdout)
memcheck/tests/inline (stderr)
memcheck/tests/leak-0 (stderr)
memcheck/tests/leak-cases-full (stderr)
memcheck/tests/leak-cases-summary (stderr)
memcheck/tests/leak-cycle (stderr)
memcheck/tests/leak-pool-0 (stderr)
memcheck/tests/leak-pool-1 (stderr)
memcheck/tests/leak-pool-2 (stderr)
memcheck/tests/leak-pool-3 (stderr)
memcheck/tests/leak-pool-4 (stderr)
memcheck/tests/leak-pool-5 (stderr)
memcheck/tests/leak-tree (stderr)
memcheck/tests/linux/brk (stderr)
memcheck/tests/linux/capget (stderr)
memcheck/tests/linux/lsframe1 (stderr)
memcheck/tests/linux/lsframe2 (stderr)
memcheck/tests/linux/sigqueue (stderr)
memcheck/tests/linux/stack_changes (stdout)
memcheck/tests/linux/stack_changes (stderr)
memcheck/tests/linux/stack_switch (stderr)
memcheck/tests/linux/timerfd-syscall (stdout)
memcheck/tests/linux/timerfd-syscall (stderr)
memcheck/tests/linux/with-space (stdout)
memcheck/tests/linux/with-space (stderr)
memcheck/tests/linux-syscalls-2007 (stderr)
memcheck/tests/linux-syslog-syscall (stderr)
memcheck/tests/long-supps (stderr)
memcheck/tests/long_namespace_xml (stdout)
memcheck/tests/long_namespace_xml (stderr)
memcheck/tests/mallinfo (stderr)
memcheck/tests/malloc1 (stderr)
memcheck/tests/malloc2 (stderr)
memcheck/tests/malloc3 (stdout)
memcheck/tests/malloc3 (stderr)
memcheck/tests/malloc_free_fill (stderr)
memcheck/tests/malloc_usable (stderr)
memcheck/tests/manuel1 (stdout)
memcheck/tests/manuel1 (stderr)
memcheck/tests/manuel2 (stdout)
memcheck/tests/manuel2 (stderr)
memcheck/tests/manuel3 (stderr)
memcheck/tests/match-overrun (stderr)
memcheck/tests/memalign2 (stderr)
memcheck/tests/memalign_test (stderr)
memcheck/tests/memcmptest (stdout)
memcheck/tests/memcmptest (stderr)
memcheck/tests/mempool (stderr)
memcheck/tests/metadata (stdout)
memcheck/tests/metadata (stderr)
memcheck/tests/mismatches (stderr)
memcheck/tests/mmaptest (stderr)
memcheck/tests/nanoleak2 (stderr)
memcheck/tests/nanoleak_supp (stderr)
memcheck/tests/new_nothrow (stderr)
memcheck/tests/new_override (stdout)
memcheck/tests/new_override (stderr)
memcheck/tests/noisy_child (stderr)
memcheck/tests/null_socket (stderr)
memcheck/tests/origin1-yes (stderr)
memcheck/tests/origin2-not-quite (stderr)
memcheck/tests/origin3-no (stderr)
memcheck/tests/origin4-many (stderr)
memcheck/tests/origin5-bz2 (stdout)
memcheck/tests/origin5-bz2 (stderr)
memcheck/tests/origin6-fp (stderr)
memcheck/tests/overlap (stdout)
memcheck/tests/overlap (stderr)
memcheck/tests/partial_load_dflt (stderr)
memcheck/tests/partial_load_ok (stderr)
memcheck/tests/partiallydefinedeq (stdout)
memcheck/tests/partiallydefinedeq (stderr)
memcheck/tests/pdb-realloc (stderr)
memcheck/tests/pdb-realloc2 (stdout)
memcheck/tests/pdb-realloc2 (stderr)
memcheck/tests/pipe (stderr)
memcheck/tests/pointer-trace (stderr)
memcheck/tests/post-syscall (stderr)
memcheck/tests/realloc1 (stderr)
memcheck/tests/realloc2 (stderr)
memcheck/tests/realloc3 (stderr)
memcheck/tests/sh-mem-random (stdout)
memcheck/tests/sh-mem-random (stderr)
memcheck/tests/sh-mem (stderr)
memcheck/tests/sigaltstack (stderr)
memcheck/tests/sigkill (stderr)
memcheck/tests/signal2 (stdout)
memcheck/tests/signal2 (stderr)
memcheck/tests/sigprocmask (stderr)
memcheck/tests/str_tester (stderr)
memcheck/tests/strchr (stderr)
memcheck/tests/supp-dir (stderr)
memcheck/tests/supp1 (stderr)
memcheck/tests/supp2 (stderr)
memcheck/tests/supp_unknown (stderr)
memcheck/tests/suppfree (stderr)
memcheck/tests/trivialleak (stderr)
memcheck/tests/unit_libcbase (stderr)
memcheck/tests/unit_oset (stdout)
memcheck/tests/unit_oset (stderr)
memcheck/tests/varinfo1 (stderr)
memcheck/tests/varinfo2 (stderr)
memcheck/tests/varinfo3 (stderr)
memcheck/tests/varinfo4 (stdout)
memcheck/tests/varinfo4 (stderr)
memcheck/tests/varinfo5 (stderr)
memcheck/tests/varinfo6 (stdout)
memcheck/tests/varinfo6 (stderr)
memcheck/tests/vcpu_bz2 (stdout)
memcheck/tests/vcpu_bz2 (stderr)
memcheck/tests/vcpu_fbench (stdout)
memcheck/tests/vcpu_fbench (stderr)
memcheck/tests/vcpu_fnfns (stdout)
memcheck/tests/vcpu_fnfns (stderr)
memcheck/tests/wrap1 (stdout)
memcheck/tests/wrap1 (stderr)
memcheck/tests/wrap2 (stdout)
memcheck/tests/wrap2 (stderr)
memcheck/tests/wrap3 (stdout)
memcheck/tests/wrap3 (stderr)
memcheck/tests/wrap4 (stdout)
memcheck/tests/wrap4 (stderr)
memcheck/tests/wrap5 (stdout)
memcheck/tests/wrap5 (stderr)
memcheck/tests/wrap6 (stdout)
memcheck/tests/wrap6 (stderr)
memcheck/tests/wrap7 (stdout)
memcheck/tests/wrap7 (stderr)
memcheck/tests/wrap8 (stdout)
memcheck/tests/wrap8 (stderr)
memcheck/tests/writev (stderr)
memcheck/tests/xml1 (stdout)
memcheck/tests/xml1 (stderr)
massif/tests/deep-D (post)
massif/tests/overloaded-new (post)
none/tests/linux/mremap (stderr)
none/tests/ppc32/jm-fp (stdout)
none/tests/ppc32/jm-fp (stderr)
none/tests/ppc32/jm-vmx (stdout)
none/tests/ppc32/round (stdout)
none/tests/ppc32/round (stderr)
none/tests/ppc32/test_fx (stdout)
none/tests/ppc32/test_fx (stderr)
none/tests/ppc32/test_gx (stdout)
helgrind/tests/hg05_race2 (stderr)
helgrind/tests/tc06_two_races_xml (stderr)
helgrind/tests/tc23_bogus_condwait (stderr)
drd/tests/unit_bitmap (stderr)
drd/tests/unit_vc (stderr)
exp-ptrcheck/tests/bad_percentify (stderr)
exp-ptrcheck/tests/base (stderr)
exp-ptrcheck/tests/ccc (stderr)
exp-ptrcheck/tests/fp (stderr)
exp-ptrcheck/tests/globalerr (stderr)
exp-ptrcheck/tests/hackedbz2 (stderr)
exp-ptrcheck/tests/hp_bounds (stderr)
exp-ptrcheck/tests/hp_dangle (stderr)
exp-ptrcheck/tests/hsg (stderr)
exp-ptrcheck/tests/justify (stderr)
exp-ptrcheck/tests/partial_bad (stderr)
exp-ptrcheck/tests/partial_good (stderr)
exp-ptrcheck/tests/preen_invars (stderr)
exp-ptrcheck/tests/pth_create (stderr)
exp-ptrcheck/tests/pth_specific (stderr)
exp-ptrcheck/tests/realloc (stderr)
exp-ptrcheck/tests/stackerr (stderr)
exp-ptrcheck/tests/strcpy (stderr)
exp-ptrcheck/tests/supp (stderr)
exp-ptrcheck/tests/tricky (stderr)
exp-ptrcheck/tests/unaligned (stderr)
exp-ptrcheck/tests/zero (stderr)
=================================================
./valgrind-new/drd/tests/unit_bitmap.stderr.diff
=================================================
--- unit_bitmap.stderr.exp 2010-06-30 23:52:39.000000000 -0500
+++ unit_bitmap.stderr.out 2010-07-01 00:17:01.000000000 -0500
@@ -1,2 +1,20 @@
-Start of DRD BM unit test.
-End of DRD BM unit test.
+
+valgrind: Fatal error at startup: a function redirection
+valgrind: which is mandatory for this platform-tool combination
+valgrind: cannot be set up. Details of the redirection are:
+valgrind:
+valgrind: A must-be-redirected function
+valgrind: whose name matches the pattern: strlen
+valgrind: in an object with soname matching: ld.so.1
+valgrind: was not found whilst processing
+valgrind: symbols from the object with soname: ld.so.1
+valgrind:
+valgrind: Possible fixes: (1, short term): install glibc's debuginfo
+valgrind: package on this machine. (2, longer term): ask the packagers
+valgrind: for your Linux distribution to please in future ship a non-
+valgrind: stripped ld.so (or whatever the dynamic linker .so is called)
+valgrind: that exports the above-named function using the standard
+valgrind: calling conventions for this platform.
+valgrind:
+valgrind: Cannot continue -- exiting now. Sorry.
+
=================================================
./valgrind-new/drd/tests/unit_vc.stderr.diff
=================================================
--- unit_vc.stderr.exp 2010-06-30 23:52:39.000000000 -0500
+++ unit_vc.stderr.out 2010-07-01 00:17:02.000000000 -0500
@@ -1,5 +1,20 @@
-vc1: [ 3: 7, 5: 8 ]
-vc2: [ 1: 4, 3: 9 ]
-vc3: [ 1: 4, 3: 9, 5: 8 ]
-vc_lte(vc1, vc2) = 0, vc_lte(vc1, vc3) = 1, vc_lte(vc2, vc3) = 1
-vc_lte([ 1: 3, 2: 1 ], [ 1: 4 ]) = 0 sw 0
+
+valgrind: Fatal error at startup: a function redirection
+valgrind: which is mandatory for this platform-tool combination
+valgrind: cannot be set up. Details of the redirection are:
+valgrind:
+valgrind: A must-be-redirected function
+valgrind: whose name matches the pattern: strlen
+valgrind: in an object with soname matching: ld.so.1
+valgrind: was not found whilst processing
+valgrind: symbols from the object with soname: ld.so.1
+valgrind:
+valgrind: Possible fixes: (1, short term): install glibc's debuginfo
+valgrind: package on this machine. (2, longer term): ask the packagers
+valgrind: for your Linux distribution to please in future ship a non-
+valgrind: stripped ld.so (or whatever the dynamic linker .so is called)
+valgrind: that exports the above-named function using the standard
+valgrind: calling conventions for this platform.
+valgrind:
+valgrind: Cannot continue -- exiting now. Sorry.
+
=================================================
./valgrind-new/exp-ptrcheck/tests/bad_percentify.stderr.diff-glibc28-amd64
=================================================
--- bad_percentify.stderr.exp-glibc28-amd64 2010-06-30 23:52:22.000000000 -0500
+++ bad_percentify.stderr.out 2010-07-01 00:17:05.000000000 -0500
@@ -1,33 +1,6 @@
-Invalid read of size 1
- at 0x........: strlen (h_intercepts.c:...)
- by 0x........: ...
- by 0x........: ...
- by 0x........: VG_print_translation_stats (bad_percentify.c:88)
- by 0x........: main (bad_percentify.c:107)
- Address 0x........ expected vs actual:
- Expected: stack array "buf" in frame 3 back from here
- Actual: unknown
+WARNING: exp-ptrcheck on ppc32/ppc64/arm platforms: stack and global array
+WARNING: checking is not currently supported. Only heap checking is
+WARNING: supported. Disabling s/g checks (like --enable-sg-checks=no).
-Invalid read of size 1
- at 0x........: strlen (h_intercepts.c:...)
- by 0x........: ...
- by 0x........: ...
- by 0x........: VG_print_translation_stats (bad_percentify.c:93)
- by 0x........: main (bad_percentify.c:107)
- Address 0x........ expected vs actual:
- Expected: stack array "buf" in frame 3 back from here
- Actual: unknown
-
-Invalid read of size 1
- at 0x........: strlen (h_intercepts.c:...)
- by 0x........: ...
- by 0x........: ...
- by 0x........: VG_print_translation_stats (bad_percentify.c:98)
- by 0x........: main (bad_percentify.c:107)
- Address 0x........ expected vs actual:
- Expected: stack array "buf" in frame 3 back from here
- Actual: unknown
-
-
-ERROR SUMMARY: 3 errors from 3 contexts (suppressed: 0 from 0)
+ERROR SUMMARY: 0 errors from 0 contexts (suppressed: 0 from 0)
=================================================
./valgrind-new/exp-ptrcheck/tests/base.stderr.diff-glibc25-amd64
=================================================
--- base.stderr.exp-glibc25-amd64 2010-06-30 23:52:22.000000000 -0500
+++ base.stderr.out 2010-07-01 00:17:08.000000000 -0500
@@ -1,10 +1,13 @@
+WARNING: exp-ptrcheck on ppc32/ppc64/arm platforms: stack and global array
+WARNING: checking is not currently supported. Only heap checking is
+WARNING: supported. Disabling s/g checks (like --enable-sg-checks=no).
about to do 14 [0]
about to do 14 [-1]
-Invalid read of size 8
+Invalid read of size 4
at 0x........: main (base.c:14)
- Address 0x........ is 8 bytes before the accessing pointer's
- legitimate range, a block of size 80 alloc'd
+ Address 0x........ is 4 bytes before the accessing pointer's
+ legitimate range, a block of size 40 alloc'd
at 0x........: malloc (vg_replace_malloc.c:...)
by 0x........: main (arith_include2.c:22)
@@ -13,22 +16,22 @@
about to do 18 [0]
about to do 18 [-1]
about to do 20 [0]
-Invalid read of size 8
+Invalid read of size 4
at 0x........: main (base.c:20)
Address 0x........ is not derived from any known block
about to do 20 [-1]
-Invalid read of size 8
+Invalid read of size 4
at 0x........: main (base.c:20)
Address 0x........ is not derived from any known block
about to do 22 [0]
-Invalid read of size 8
+Invalid read of size 4
at 0x........: main (base.c:22)
Address 0x........ is not derived from any known block
about to do 22 [-1]
-Invalid read of size 8
+Invalid read of size 4
at 0x........: main (base.c:22)
Address 0x........ is not derived from any known block
=================================================
./valgrind-new/exp-ptrcheck/tests/base.stderr.diff-glibc25-x86
=================================================
--- base.stderr.exp-glibc25-x86 2010-06-30 23:52:22.000000000 -0500
+++ base.stderr.out 2010-07-01 00:17:08.000000000 -0500
@@ -1,4 +1,7 @@
+WARNING: exp-ptrcheck on ppc32/ppc64/arm platforms: stack and global array
+WARNING: checking is not currently supported. Only heap checking is
+WARNING: supported. Disabling s/g checks (like --enable-sg-checks=no).
about to do 14 [0]
about to do 14 [-1]
Invalid read of size 4
=================================================
./valgrind-new/exp-ptrcheck/tests/ccc.stderr.diff-glibc25-amd64
=================================================
--- ccc.stderr.exp-glibc25-amd64 2010-06-30 23:52:22.000000000 -0500
+++ ccc.stderr.out 2010-07-01 00:17:12.000000000 -0500
@@ -1,4 +1,7 @@
+WARNING: exp-ptrcheck on ppc32/ppc64/arm platforms: stack and global array
+WARNING: checking is not currently supported. Only heap checking is
+WARNING: supported. Disabling s/g checks (like --enable-sg-checks=no).
Invalid read of size 4
at 0x........: main (ccc.cpp:20)
Address 0x........ is 4 bytes before the accessing pointer's
@@ -21,21 +24,21 @@
by 0x........: main (ccc.cpp:10)
Invalid read of size 4
- at 0x........: main (ccc.cpp:22)
+ at 0x........: main (ccc.cpp:23)
Address 0x........ is 4 bytes before the accessing pointer's
legitimate range, a block of size 4 alloc'd
at 0x........: calloc (vg_replace_malloc.c:...)
by 0x........: main (ccc.cpp:11)
Invalid read of size 4
- at 0x........: main (ccc.cpp:23)
+ at 0x........: main (ccc.cpp:24)
Address 0x........ is 4 bytes before the accessing pointer's
legitimate range, a block of size 4 alloc'd
at 0x........: memalign (vg_replace_malloc.c:...)
by 0x........: main (ccc.cpp:12)
Invalid read of size 4
- at 0x........: main (ccc.cpp:24)
+ at 0x........: main (ccc.cpp:22)
Address 0x........ is 4 bytes before the accessing pointer's
legitimate range, a block of size 4 alloc'd
at 0x........: memalign (vg_replace_malloc.c:...)
=================================================
./valgrind-new/exp-ptrcheck/tests/ccc.stderr.diff-glibc27-x86
=================================================
--- ccc.stderr.exp-glibc27-x86 2010-06-30 23:52:22.000000000 -0500
+++ ccc.stderr.out 2010-07-01 00:17:12.000000000 -0500
@@ -1,4 +1,7 @@
+WARNING: exp-ptrcheck on ppc32/ppc64/arm platforms: stack and global array
+WARNING: checking is not currently supported. Only heap checking is
+WARNING: supported. Disabling s/g checks (like --enable-sg-checks=no).
Invalid read of size 4
at 0x........: main (ccc.cpp:20)
Address 0x........ is 4 bytes before the accessing pointer's
@@ -35,7 +38,7 @@
by 0x........: main (ccc.cpp:12)
Invalid read of size 4
- at 0x........: main (ccc.cpp:25)
+ at 0x........: main (ccc.cpp:22)
Address 0x........ is 4 bytes before the accessing pointer's
legitimate range, a block of size 4 alloc'd
at 0x........: memalign (vg_replace_malloc.c:...)
=================================================
./valgrind-new/exp-ptrcheck/tests/ccc.stderr.diff-glibc28-amd64
=================================================
--- ccc.stderr.exp-glibc28-amd64 2010-06-30 23:52:22.000000000 -0500
+++ ccc.stderr.out 2010-07-01 00:17:12.000000000 -0500
@@ -1,4 +1,7 @@
+WARNING: exp-ptrcheck on ppc32/ppc64/arm platforms: stack and global array
+WARNING: checking is not currently supported. Only heap checking is
+WARNING: supported. Disabling s/g checks (like --enable-sg-checks=no).
Invalid read of size 4
at 0x........: main (ccc.cpp:20)
Address 0x........ is 4 bytes before the accessing pointer's
=================================================
./valgrind-new/exp-ptrcheck/tests/fp.stderr.diff
=================================================
--- fp.stderr.exp 2010-06-30 23:52:22.000000000 -0500
+++ fp.stderr.out 2010-07-01 00:17:15.000000000 -0500
@@ -1,4 +1,7 @@
+WARNING: exp-ptrcheck on ppc32/ppc64/arm platforms: stack and global array
+WARNING: checking is not currently supported. Only heap checking is
+WARNING: supported. Disabling s/g checks (like --enable-sg-checks=no).
Invalid read of size 8
at 0x........: main (fp.c:13)
Address 0x........ is 0 bytes inside the accessing pointer's
=================================================
./valgrind-new/exp-ptrcheck/tests/globalerr.stderr.diff-glibc28-amd64
=================================================
--- globalerr.stderr.exp-glibc28-amd64 2010-06-30 23:52:22.000000000 -0500
+++ globalerr.stderr.out 2010-07-01 00:17:18.000000000 -0500
@@ -1,15 +1,6 @@
-Invalid read of size 2
- at 0x........: main (globalerr.c:12)
- Address 0x........ expected vs actual:
- Expected: global array "a" in object with soname "NONE"
- Actual: unknown
+WARNING: exp-ptrcheck on ppc32/ppc64/arm platforms: stack and global array
+WARNING: checking is not currently supported. Only heap checking is
+WARNING: supported. Disabling s/g checks (like --enable-sg-checks=no).
-Invalid read of size 2
- at 0x........: main (globalerr.c:12)
- Address 0x........ expected vs actual:
- Expected: global array "b" in object with soname "NONE"
- Actual: unknown
-
-
-ERROR SUMMARY: 2 errors from 2 contexts (suppressed: 0 from 0)
+ERROR SUMMARY: 0 errors from 0 contexts (suppressed: 0 from 0)
=================================================
./valgrind-new/exp-ptrcheck/tests/hackedbz2.stderr.diff-glibc28-amd64
=================================================
--- hackedbz2.stderr.exp-glibc28-amd64 2010-06-30 23:52:22.000000000 -0500
+++ hackedbz2.stderr.out 2010-07-01 00:17:37.000000000 -0500
@@ -1,16 +1,6 @@
-Invalid read of size 1
- at 0x........: vex_strlen (hackedbz2.c:1006)
- by 0x........: add_to_myprintf_buf (hackedbz2.c:1284)
- by 0x........: vex_printf (hackedbz2.c:1155)
- by 0x........: BZ2_compressBlock (hackedbz2.c:4039)
- by 0x........: handle_compress (hackedbz2.c:4761)
- by 0x........: BZ2_bzCompress (hackedbz2.c:4831)
- by 0x........: BZ2_bzBuffToBuffCompress (hackedbz2.c:5638)
- by 0x........: main (hackedbz2.c:6484)
- Address 0x........ expected vs actual:
- Expected: global array "myprintf_buf" in object with soname "NONE"
- Actual: unknown
+WARNING: exp-ptrcheck on ppc32/ppc64/arm platforms: stack and global array
+WARNING: checking is not currently supported. Only heap checking is
+WARNING: supported. Disabling s/g checks (like --enable-sg-checks=no).
-
-ERROR SUMMARY: 1 errors from 1 contexts (suppressed: 0 from 0)
+ERROR SUMMARY: 0 errors from 0 contexts (suppressed: 0 from 0)
=================================================
./valgrind-new/exp-ptrcheck/tests/hp_bounds.stderr.diff
=================================================
--- hp_bounds.stderr.exp 2010-06-30 23:52:22.000000000 -0500
+++ hp_bounds.stderr.out 2010-07-01 00:17:40.000000000 -0500
@@ -1,4 +1,7 @@
+WARNING: exp-ptrcheck on ppc32/ppc64/arm platforms: stack and global array
+WARNING: checking is not currently supported. Only heap checking is
+WARNING: supported. Disabling s/g checks (like --enable-sg-checks=no).
Invalid read of size 4
at 0x........: main (hp_bounds.c:9)
Address 0x........ is 0 bytes after the accessing pointer's
=================================================
./valgrind-new/exp-ptrcheck/tests/hp_dangle.stderr.diff
=================================================
--- hp_dangle.stderr.exp 2010-06-30 23:52:22.000000000 -0500
+++ hp_dangle.stderr.out 2010-07-01 00:17:43.000000000 -0500
@@ -1,4 +1,7 @@
+WARNING: exp-ptrcheck on ppc32/ppc64/arm platforms: stack and global array
+WARNING: checking is not currently supported. Only heap checking is
+WARNING: supported. Disabling s/g checks (like --enable-sg-checks=no).
Invalid read of size 4
at 0x........: main (hp_dangle.c:17)
Address 0x........ is 20 bytes inside the accessing pointer's
=================================================
./valgrind-new/exp-ptrcheck/tests/hsg.stderr.diff
=================================================
--- hsg.stderr.exp 2010-06-30 23:52:22.000000000 -0500
+++ hsg.stderr.out 2010-07-01 00:17:47.000000000 -0500
@@ -32,70 +32,6 @@
<error>
<unique>0x........</unique>
<tid>...</tid>
- <kind>SorG</kind>
- <what>Invalid read of size 2</what>
- <stack>
- <frame>
- <ip>0x........</ip>
- <obj>...</obj>
- <fn>addup_wrongly</fn>
- <dir>...</dir>
- <file>hsg.c</file>
- <line>...</line>
- </frame>
- <frame>
- <ip>0x........</ip>
- <obj>...</obj>
- <fn>main</fn>
- <dir>...</dir>
- <file>hsg.c</file>
- <line>...</line>
- </frame>
- </stack>
- <auxwhat>Address 0x........ expected vs actual:</auxwhat>
- <auxwhat>Expected: global array "ga" in object with soname "NONE"</auxwhat>
- <auxwhat>Actual: unknown</auxwhat>
-</error>
-
-<error>
- <unique>0x........</unique>
- <tid>...</tid>
- <kind>SorG</kind>
- <what>Invalid read of size 2</what>
- <stack>
- <frame>
- <ip>0x........</ip>
- <obj>...</obj>
- <fn>addup_wrongly</fn>
- <dir>...</dir>
- <file>hsg.c</file>
- <line>...</line>
- </frame>
- <frame>
- <ip>0x........</ip>
- <obj>...</obj>
- <fn>do_other_stuff</fn>
- <dir>...</dir>
- <file>hsg.c</file>
- <line>...</line>
- </frame>
- <frame>
- <ip>0x........</ip>
- <obj>...</obj>
- <fn>main</fn>
- <dir>...</dir>
- <file>hsg.c</file>
- <line>...</line>
- </frame>
- </stack>
- <auxwhat>Address 0x........ expected vs actual:</auxwhat>
- <auxwhat>Expected: stack array "la" in frame 1 back from here</auxwhat>
- <auxwhat>Actual: unknown</auxwhat>
-</error>
-
-<error>
- <unique>0x........</unique>
- <tid>...</tid>
<kind>Heap</kind>
<what>Invalid read of size 1</what>
<stack>
@@ -209,14 +145,6 @@
<pair>
<count>...</count>
<unique>0x........</unique>
- </pair>
- <pair>
- <count>...</count>
- <unique>0x........</unique>
- </pair>
- <pair>
- <count>...</count>
- <unique>0x........</unique>
</pair>
<pair>
<count>...</count>
=================================================
./valgrind-new/exp-ptrcheck/tests/justify.stderr.diff
=================================================
--- justify.stderr.exp 2010-06-30 23:52:22.000000000 -0500
+++ justify.stderr.out 2010-07-01 00:17:50.000000000 -0500
@@ -1,4 +1,7 @@
+WARNING: exp-ptrcheck on ppc32/ppc64/arm platforms: stack and global array
+WARNING: checking is not currently supported. Only heap checking is
+WARNING: supported. Disabling s/g checks (like --enable-sg-checks=no).
Invalid read of size 1
at 0x........: main (justify.c:20)
Address 0x........ is 5000 bytes after the accessing pointer's
=================================================
./valgrind-new/exp-ptrcheck/tests/partial_bad.stderr.diff-glibc25-amd64
=================================================
--- partial_bad.stderr.exp-glibc25-amd64 2010-06-30 23:52:22.000000000 -0500
+++ partial_bad.stderr.out 2010-07-01 00:17:53.000000000 -0500
@@ -1,4 +1,7 @@
+WARNING: exp-ptrcheck on ppc32/ppc64/arm platforms: stack and global array
+WARNING: checking is not currently supported. Only heap checking is
+WARNING: supported. Disabling s/g checks (like --enable-sg-checks=no).
Invalid read of size 4
at 0x........: main (partial.c:21)
Address 0x........ is 0 bytes inside the accessing pointer's
@@ -83,9 +86,9 @@
at 0x........: malloc (vg_replace_malloc.c:...)
by 0x........: main (partial.c:7)
-Invalid read of size 8
+Invalid read of size 4
at 0x........: main (partial.c:43)
- Address 0x........ is 0 bytes inside the accessing pointer's
+ Address 0x........ is 4 bytes inside the accessing pointer's
legitimate range, a block of size 7 alloc'd
at 0x........: malloc (vg_replace_malloc.c:...)
by 0x........: main (partial.c:8)
=================================================
./valgrind-new/exp-ptrcheck/tests/partial_bad.stderr.diff-glibc25-x86
=================================================
--- partial_bad.stderr.exp-glibc25-x86 2010-06-30 23:52:22.000000000 -0500
+++ partial_bad.stderr.out 2010-07-01 00:17:53.000000000 -0500
@@ -1,4 +1,7 @@
+WARNING: exp-ptrcheck on ppc32/ppc64/arm platforms: stack and global array
+WARNING: checking is not currently supported. Only heap checking is
+WARNING: supported. Disabling s/g checks (like --enable-sg-checks=no).
Invalid read of size 4
at 0x........: main (partial.c:21)
Address 0x........ is 0 bytes inside the accessing pointer's
=================================================
./valgrind-new/exp-ptrcheck/tests/partial_good.stderr.diff-glibc25-amd64
=================================================
--- partial_good.stderr.exp-glibc25-amd64 2010-06-30 23:52:22.000000000 -0500
+++ partial_good.stderr.out 2010-07-01 00:17:56.000000000 -0500
@@ -1,11 +1,7 @@
-Invalid read of size 4
- at 0x........: main (partial.c:21)
- Address 0x........ is 0 bytes inside the accessing pointer's
- legitimate range, a block of size 3 alloc'd
- at 0x........: malloc (vg_replace_malloc.c:...)
- by 0x........: main (partial.c:6)
-
+WARNING: exp-ptrcheck on ppc32/ppc64/arm platforms: stack and global array
+WARNING: checking is not currently supported. Only heap checking is
+WARNING: supported. Disabling s/g checks (like --enable-sg-checks=no).
Invalid read of size 4
at 0x........: main (partial.c:22)
Address 0x........ is 1 bytes inside the accessing pointer's
@@ -28,13 +24,6 @@
by 0x........: main (partial.c:9)
Invalid read of size 4
- at 0x........: main (partial.c:25)
- Address 0x........ is 4 bytes inside the accessing pointer's
- legitimate range, a block of size 7 alloc'd
- at 0x........: malloc (vg_replace_malloc.c:...)
- by 0x........: main (partial.c:10)
-
-Invalid read of size 4
at 0x........: main (partial.c:34)
Address 0x........ is 1 bytes before the accessing pointer's
legitimate range, a block of size 3 alloc'd
@@ -42,13 +31,6 @@
by 0x........: main (partial.c:6)
Invalid read of size 4
- at 0x........: main (partial.c:35)
- Address 0x........ is 0 bytes inside the accessing pointer's
- legitimate range, a block of size 3 alloc'd
- at 0x........: malloc (vg_replace_malloc.c:...)
- by 0x........: main (partial.c:6)
-
-Invalid read of size 4
at 0x........: main (partial.c:36)
Address 0x........ is 1 bytes inside the accessing pointer's
legitimate range, a block of size 3 alloc'd
@@ -69,12 +51,12 @@
at 0x........: malloc (vg_replace_malloc.c:...)
by 0x........: main (partial.c:6)
-Invalid read of size 4
- at 0x........: main (partial.c:41)
+Invalid read of size 8
+ at 0x........: main (partial.c:42)
Address 0x........ is 0 bytes inside the accessing pointer's
- legitimate range, a block of size 3 alloc'd
+ legitimate range, a block of size 7 alloc'd
at 0x........: malloc (vg_replace_malloc.c:...)
- by 0x........: main (partial.c:6)
+ by 0x........: main (partial.c:7)
Invalid read of size 1
at 0x........: main (partial.c:44)
@@ -91,4 +73,4 @@
by 0x........: main (partial.c:10)
-ERROR SUMMARY: 13 errors from 13 contexts (suppressed: 0 from 0)
+ERROR SUMMARY: 10 errors from 10 contexts (suppressed: 0 from 0)
=================================================
./valgrind-new/exp-ptrcheck/tests/partial_good.stderr.diff-glibc25-x86
=================================================
--- partial_good.stderr.exp-glibc25-x86 2010-06-30 23:52:22.000000000 -0500
+++ partial_good.stderr.out 2010-07-01 00:17:56.000000000 -0500
@@ -1,4 +1,7 @@
+WARNING: exp-ptrcheck on ppc32/ppc64/arm platforms: stack and global array
+WARNING: checking is not currently supported. Only heap checking is
+WARNING: supported. Disabling s/g checks (like --enable-sg-checks=no).
Invalid read of size 4
at 0x........: main (partial.c:22)
Address 0x........ is 1 bytes inside the accessing pointer's
=================================================
./valgrind-new/exp-ptrcheck/tests/preen_invars.stderr.diff-glibc28-amd64
=================================================
--- preen_invars.stderr.exp-glibc28-amd64 2010-06-30 23:52:22.000000000 -0500
+++ preen_invars.stderr.out 2010-07-01 00:18:00.000000000 -0500
@@ -1,9 +1,6 @@
-Invalid read of size 1
- at 0x........: main (preen_invars.c:22)
- Address 0x........ expected vs actual:
- Expected: unknown
- Actual: global array "im_a_global_arr" in object with soname "preen_invars_so"
+WARNING: exp-ptrcheck on ppc32/ppc64/arm platforms: stack and global array
+WARNING: checking is not currently supported. Only heap checking is
+WARNING: supported. Disabling s/g checks (like --enable-sg-checks=no).
-
-ERROR SUMMARY: 1 errors from 1 contexts (suppressed: 0 from 0)
+ERROR SUMMARY: 0 errors from 0 contexts (suppressed: 0 from 0)
=================================================
./valgrind-new/exp-ptrcheck/tests/pth_create.stderr.diff
=================================================
--- pth_create.stderr.exp 2010-06-30 23:52:22.000000000 -0500
+++ pth_create.stderr.out 2010-07-01 00:18:03.000000000 -0500
@@ -1,4 +1,7 @@
+WARNING: exp-ptrcheck on ppc32/ppc64/arm platforms: stack and global array
+WARNING: checking is not currently supported. Only heap checking is
+WARNING: supported. Disabling s/g checks (like --enable-sg-checks=no).
Invalid write of size 4
at 0x........: pthread_key_create (in /...libpthread...)
by 0x........: main (pth_create.c:17)
=================================================
./valgrind-new/exp-ptrcheck/tests/pth_specific.stderr.diff
=================================================
--- pth_specific.stderr.exp 2010-06-30 23:52:22.000000000 -0500
+++ pth_specific.stderr.out 2010-07-01 00:18:06.000000000 -0500
@@ -1,4 +1,7 @@
+WARNING: exp-ptrcheck on ppc32/ppc64/arm platforms: stack and global array
+WARNING: checking is not currently supported. Only heap checking is
+WARNING: supported. Disabling s/g checks (like --enable-sg-checks=no).
Invalid read of size 1
at 0x........: main (pth_specific.c:19)
Address 0x........ is 1 bytes before the accessing pointer's
=================================================
./valgrind-new/exp-ptrcheck/tests/realloc.stderr.diff-glibc25-amd64
=================================================
--- realloc.stderr.exp-glibc25-amd64 2010-06-30 23:52:22.000000000 -0500
+++ realloc.stderr.out 2010-07-01 00:18:09.000000000 -0500
@@ -1,43 +1,46 @@
-Invalid read of size 8
+WARNING: exp-ptrcheck on ppc32/ppc64/arm platforms: stack and global array
+WARNING: checking is not currently supported. Only heap checking is
+WARNING: supported. Disabling s/g checks (like --enable-sg-checks=no).
+Invalid read of size 4
at 0x........: main (realloc.c:20)
- Address 0x........ is 8 bytes before the accessing pointer's
- legitimate range, a block of size 400 alloc'd
+ Address 0x........ is 4 bytes before the accessing pointer's
+ legitimate range, a block of size 200 alloc'd
at 0x........: realloc (vg_replace_malloc.c:...)
by 0x........: main (realloc.c:17)
-Invalid read of size 8
+Invalid read of size 4
at 0x........: main (realloc.c:21)
Address 0x........ is 0 bytes after the accessing pointer's
- legitimate range, a block of size 400 alloc'd
+ legitimate range, a block of size 200 alloc'd
at 0x........: realloc (vg_replace_malloc.c:...)
by 0x........: main (realloc.c:17)
-Invalid read of size 8
+Invalid read of size 4
at 0x........: main (realloc.c:28)
- Address 0x........ is 8 bytes before the accessing pointer's
- legitimate range, a block of size 400 alloc'd
+ Address 0x........ is 4 bytes before the accessing pointer's
+ legitimate range, a block of size 200 alloc'd
at 0x........: realloc (vg_replace_malloc.c:...)
by 0x........: main (realloc.c:25)
-Invalid read of size 8
+Invalid read of size 4
at 0x........: main (realloc.c:29)
Address 0x........ is 0 bytes after the accessing pointer's
- legitimate range, a block of size 400 alloc'd
+ legitimate range, a block of size 200 alloc'd
at 0x........: realloc (vg_replace_malloc.c:...)
by 0x........: main (realloc.c:25)
-Invalid read of size 8
+Invalid read of size 4
at 0x........: main (realloc.c:38)
- Address 0x........ is 8 bytes before the accessing pointer's
- legitimate range, a block of size 800 alloc'd
+ Address 0x........ is 4 bytes before the accessing pointer's
+ legitimate range, a block of size 400 alloc'd
at 0x........: realloc (vg_replace_malloc.c:...)
by 0x........: main (realloc.c:33)
-Invalid read of size 8
+Invalid read of size 4
at 0x........: main (realloc.c:39)
Address 0x........ is 0 bytes after the accessing pointer's
- legitimate range, a block of size 800 alloc'd
+ legitimate range, a block of size 400 alloc'd
at 0x........: realloc (vg_replace_malloc.c:...)
by 0x........: main (realloc.c:33)
=================================================
./valgrind-new/exp-ptrcheck/tests/realloc.stderr.diff-glibc25-x86
=================================================
--- realloc.stderr.exp-glibc25-x86 2010-06-30 23:52:22.000000000 -0500
+++ realloc.stderr.out 2010-07-01 00:18:09.000000000 -0500
@@ -1,4 +1,7 @@
+WARNING: exp-ptrcheck on ppc32/ppc64/arm platforms: stack and global array
+WARNING: checking is not currently supported. Only heap checking is
+WARNING: supported. Disabling s/g checks (like --enable-sg-checks=no).
Invalid read of size 4
at 0x........: main (realloc.c:20)
Address 0x........ is 4 bytes before the accessing pointer's
=================================================
./valgrind-new/exp-ptrcheck/tests/stackerr.stderr.diff-glibc27-x86
=================================================
--- stackerr.stderr.exp-glibc27-x86 2010-06-30 23:52:22.000000000 -0500
+++ stackerr.stderr.out 2010-07-01 00:18:12.000000000 -0500
@@ -1,27 +1,6 @@
-Invalid write of size 4
- at 0x........: foo (stackerr.c:27)
- by 0x........: bar (stackerr.c:32)
- by 0x........: main (stackerr.c:41)
- Address 0x........ expected vs actual:
- Expected: stack array "a" in frame 2 back from here
- Actual: stack array "beforea" in frame 2 back from here
+WARNING: exp-ptrcheck on ppc32/ppc64/arm platforms: stack and global array
+WARNING: checking is not currently supported. Only heap checking is
+WARNING: supported. Disabling s/g checks (like --enable-sg-checks=no).
-Invalid write of size 4
- at 0x........: main (stackerr.c:44)
- Address 0x........ expected vs actual:
- Expected: stack array "a" in this frame
- Actual: stack array "beforea" in this frame
-
-Invalid write of size 1
- at 0x........: _IO_default_xsputn (in /...libc...)
- by 0x........: ...
- by 0x........: ...
- by 0x........: ...
- by 0x........: main (stackerr.c:49)
- Address 0x........ expected vs actual:
- Expected: stack array "buf" in frame 4 back from here
- Actual: stack array "beforebuf" in frame 4 back from here
-
-
-ERROR SUMMARY: 3 errors from 3 contexts (suppressed: 0 from 0)
+ERROR SUMMARY: 0 errors from 0 contexts (suppressed: 0 from 0)
=================================================
./valgrind-new/exp-ptrcheck/tests/stackerr.stderr.diff-glibc28-amd64
=================================================
--- stackerr.stderr.exp-glibc28-amd64 2010-06-30 23:52:22.000000000 -0500
+++ stackerr.stderr.out 2010-07-01 00:18:12.000000000 -0500
@@ -1,27 +1,6 @@
-Invalid write of size 8
- at 0x........: foo (stackerr.c:27)
- by 0x........: bar (stackerr.c:32)
- by 0x........: main (stackerr.c:41)
- Address 0x........ expected vs actual:
- Expected: stack array "a" in frame 2 back from here
- Actual: unknown
+WARNING: exp-ptrcheck on ppc32/ppc64/arm platforms: stack and global array
+WARNING: checking is not currently supported. Only heap checking is
+WARNING: supported. Disabling s/g checks (like --enable-sg-checks=no).
-Invalid write of size 8
- at 0x........: main (stackerr.c:44)
- Address 0x........ expected vs actual:
- Expected: stack array "a" in this frame
- Actual: unknown
-
-Invalid write of size 1
- at 0x........: _IO_default_xsputn (in /...libc...)
- by 0x........: ...
- by 0x........: ...
- by 0x........: ...
- by 0x........: main (stackerr.c:49)
- Address 0x........ expected vs actual:
- Expected: stack array "buf" in frame 4 back from here
- Actual: unknown
-
-
-ERROR SUMMARY: 3 errors from 3 contexts (suppressed: 0 from 0)
+ERROR SUMMARY: 0 errors from 0 contexts (suppressed: 0 from 0)
=================================================
./valgrind-new/exp-ptrcheck/tests/strcpy.stderr.diff
=================================================
--- strcpy.stderr.exp 2010-06-30 23:52:22.000000000 -0500
+++ strcpy.stderr.out 2010-07-01 00:18:15.000000000 -0500
@@ -1,3 +1,6 @@
+WARNING: exp-ptrcheck on ppc32/ppc64/arm platforms: stack and global array
+WARNING: checking is not currently supported. Only heap checking is
+WARNING: supported. Disabling s/g checks (like --enable-sg-checks=no).
ERROR SUMMARY: 0 errors from 0 contexts (suppressed: 0 from 0)
=================================================
./valgrind-new/exp-ptrcheck/tests/supp.stderr.diff
=================================================
--- supp.stderr.exp 2010-06-30 23:52:22.000000000 -0500
+++ supp.stderr.out 2010-07-01 00:18:19.000000000 -0500
@@ -1,4 +1,7 @@
+WARNING: exp-ptrcheck on ppc32/ppc64/arm platforms: stack and global array
+WARNING: checking is not currently supported. Only heap checking is
+WARNING: supported. Disabling s/g checks (like --enable-sg-checks=no).
Syscall param write(buf) is non-contiguous
at 0x........: write (in /...libc...)
by 0x........: main (supp.c:16)
=================================================
./valgrind-new/exp-ptrcheck/tests/tricky.stderr.diff
=================================================
--- tricky.stderr.exp 2010-06-30 23:52:22.000000000 -0500
+++ tricky.stderr.out 2010-07-01 00:18:22.000000000 -0500
@@ -1,3 +1,6 @@
+WARNING: exp-ptrcheck on ppc32/ppc64/arm platforms: stack and global array
+WARNING: checking is not currently supported. Only heap checking is
+WARNING: supported. Disabling s/g checks (like --enable-sg-checks=no).
ERROR SUMMARY: 0 errors from 0 contexts (suppressed: 0 from 0)
=================================================
./valgrind-new/exp-ptrcheck/tests/unaligned.stderr.diff-glibc25-amd64
=================================================
--- unaligned.stderr.exp-glibc25-amd64 2010-06-30 23:52:22.000000000 -0500
+++ unaligned.stderr.out 2010-07-01 00:18:25.000000000 -0500
@@ -1,4 +1,7 @@
+WARNING: exp-ptrcheck on ppc32/ppc64/arm platforms: stack and global array
+WARNING: checking is not currently supported. Only heap checking is
+WARNING: supported. Disabling s/g checks (like --enable-sg-checks=no).
Invalid read of size 1
at 0x........: main (unaligned.c:33)
Address 0x........ is 1 bytes before the accessing pointer's
@@ -8,6 +11,14 @@
by 0x........: main (unaligned.c:8)
Invalid read of size 1
+ at 0x........: main (unaligned.c:37)
+ Address 0x........ is 1 bytes before the accessing pointer's
+ legitimate range, a block of size 6 alloc'd
+ at 0x........: malloc (vg_replace_malloc.c:...)
+ by 0x........: ...
+ by 0x........: main (unaligned.c:8)
+
+Invalid read of size 1
at 0x........: main (unaligned.c:39)
Address 0x........ is 0 bytes after the accessing pointer's
legitimate range, a block of size 6 alloc'd
@@ -15,5 +26,13 @@
by 0x........: ...
by 0x........: main (unaligned.c:8)
+Invalid read of size 1
+ at 0x........: main (unaligned.c:43)
+ Address 0x........ is 0 bytes after the accessing pointer's
+ legitimate range, a block of size 6 alloc'd
+ at 0x........: malloc (vg_replace_malloc.c:...)
+ by 0x........: ...
+ by 0x........: main (unaligned.c:8)
+
-ERROR SUMMARY: 2 errors from 2 contexts (suppressed: 0 from 0)
+ERROR SUMMARY: 4 errors from 4 contexts (suppressed: 0 from 0)
=================================================
./valgrind-new/exp-ptrcheck/tests/unaligned.stderr.diff-glibc25-x86
=================================================
--- unaligned.stderr.exp-glibc25-x86 2010-06-30 23:52:22.000000000 -0500
+++ unaligned.stderr.out 2010-07-01 00:18:25.000000000 -0500
@@ -1,4 +1,7 @@
+WARNING: exp-ptrcheck on ppc32/ppc64/arm platforms: stack and global array
+WARNING: checking is not currently supported. Only heap checking is
+WARNING: supported. Disabling s/g checks (like --enable-sg-checks=no).
Invalid read of size 1
at 0x........: main (unaligned.c:33)
Address 0x........ is 1 bytes before the accessing pointer's
=================================================
./valgrind-new/exp-ptrcheck/tests/zero.stderr.diff
=================================================
--- zero.stderr.exp 2010-06-30 23:52:22.000000000 -0500
+++ zero.stderr.out 2010-07-01 00:18:28.000000000 -0500
@@ -1,4 +1,7 @@
+WARNING: exp-ptrcheck on ppc32/ppc64/arm platforms: stack and global array
+WARNING: checking is not currently supported. Only heap checking is
+WARNING: supported. Disabling s/g checks (like --enable-sg-checks=no).
Invalid read of size 1
at 0x........: main (zero.c:10)
Address 0x........ is 0 bytes after the accessing pointer's
=================================================
./valgrind-new/helgrind/tests/hg05_race2.stderr.diff
=================================================
--- hg05_race2.stderr.exp 2010-06-30 23:52:21.000000000 -0500
+++ hg05_race2.stderr.out 2010-07-01 00:09:43.000000000 -0500
@@ -17,8 +17,6 @@
at 0x........: th (hg05_race2.c:17)
by 0x........: mythread_wrapper (hg_intercepts.c:...)
...
- Location 0x........ is 0 bytes inside foo.poot[5].plop[11],
- declared at hg05_race2.c:24, in frame #x of thread x
Possible data race during write of size 4 at 0x........ by thread #x
at 0x........: th (hg05_race2.c:17)
@@ -28,8 +26,6 @@
at 0x........: th (hg05_race2.c:17)
by 0x........: mythread_wrapper (hg_intercepts.c:...)
...
- Location 0x........ is 0 bytes inside foo.poot[5].plop[11],
- declared at hg05_race2.c:24, in frame #x of thread x
ERROR SUMMARY: 2 errors from 2 contexts (suppressed: 0 from 0)
=================================================
./valgrind-new/helgrind/tests/tc06_two_races_xml.stderr.diff
=================================================
--- tc06_two_races_xml.stderr.exp 2010-06-30 23:52:21.000000000 -0500
+++ tc06_two_races_xml.stderr.out 2010-07-01 00:10:15.000000000 -0500
@@ -49,7 +49,7 @@
<frame>
<ip>0x........</ip>
<obj>...</obj>
- <fn>pthread_create@@GLIBC_2.2.5</fn>
+ <fn>pthread_create@@GLIBC_2.1</fn>
</frame>
<frame>
<ip>0x........</ip>
=================================================
./valgrind-new/helgrind/tests/tc23_bogus_condwait.stderr.diff
=================================================
--- tc23_bogus_condwait.stderr.exp 2010-06-30 23:52:21.000000000 -0500
+++ tc23_bogus_condwait.stderr.out 2010-07-01 00:11:23.000000000 -0500
@@ -5,29 +5,21 @@
at 0x........: pthread_cond_wait@* (hg_intercepts.c:...)
by 0x........: main (tc23_bogus_condwait.c:69)
-Thread #x: pthread_cond_{timed}wait called with un-held mutex
- at 0x........: pthread_cond_wait@* (hg_intercepts.c:...)
- by 0x........: main (tc23_bogus_condwait.c:72)
-
-Thread #x: pthread_cond_{timed}wait: cond is associated with a different mutex
- at 0x........: pthread_cond_wait@* (hg_intercepts.c:...)
- by 0x........: main (tc23_bogus_condwait.c:72)
-
-Thread #x: pthread_cond_{timed}wait called with mutex of type pthread_rwlock_t*
- at 0x........: pthread_cond_wait@* (hg_intercepts.c:...)
- by 0x........: main (tc23_bogus_condwait.c:75)
-Thread #x: pthread_cond_{timed}wait: cond is associated with a different mutex
- at 0x........: pthread_cond_wait@* (hg_intercepts.c:...)
- by 0x........: main (tc23_bogus_condwait.c:75)
-
-Thread #x: pthread_cond_{timed}wait called with mutex held by a different thread
- at 0x........: pthread_cond_wait@* (hg_intercepts.c:...)
- by 0x........: main (tc23_bogus_condwait.c:78)
+Process terminating with default action of signal 7 (SIGBUS)
+ Invalid address alignment at address 0x........
+ at 0x........: __pthread_mutex_unlock_usercnt (in /...libpthread...)
+ by 0x........: pthread_cond_wait@@GLIBC_2.3.2 (in /...libpthread...)
+ by 0x........: pthread_cond_wait@* (hg_intercepts.c:...)
+ by 0x........: main (tc23_bogus_condwait.c:69)
+Thread #x was created
+ ...
+ by 0x........: pthread_create@* (hg_intercepts.c:...)
+ by 0x........: main (tc23_bogus_condwait.c:61)
-Thread #x: pthread_cond_{timed}wait: cond is associated with a different mutex
- at 0x........: pthread_cond_wait@* (hg_intercepts.c:...)
- by 0x........: main (tc23_bogus_condwait.c:78)
+Thread #x: Exiting thread still holds 1 lock
+ ...
+ ...
-ERROR SUMMARY: 7 errors from 7 contexts (suppressed: 0 from 0)
+ERROR SUMMARY: 2 errors from 2 contexts (suppressed: 0 from 0)
=================================================
./valgrind-new/massif/tests/deep-D.post.diff
=================================================
--- deep-D.post.exp 2010-06-30 23:52:29.000000000 -0500
+++ deep-D.post.out 2010-07-01 00:06:49.000000000 -0500
@@ -46,8 +46,9 @@
8 3,264 3,264 3,200 64 0
9 3,672 3,672 3,600 72 0
98.04% (3,600B) (heap allocation functions) malloc/new/new[], --alloc-fns, etc.
-->98.04% (3,600B) 0x........: (below main)
-
+->98.04% (3,600B) 0x........: ??? (in /...libc...)
+ ->98.04% (3,600B) 0x........: (below main)
+
--------------------------------------------------------------------------------
n time(B) total(B) useful-heap(B) extra-heap(B) stacks(B)
--------------------------------------------------------------------------------
=================================================
./valgrind-new/massif/tests/overloaded-new.post.diff
=================================================
--- overloaded-new.post.exp 2010-06-30 23:52:29.000000000 -0500
+++ overloaded-new.post.out 2010-07-01 00:06:58.000000000 -0500
@@ -42,14 +42,18 @@
4 12,032 12,032 12,000 32 0
5 12,032 12,032 12,000 32 0
99.73% (12,000B) (heap allocation functions) malloc/new/new[], --alloc-fns, etc.
-->33.24% (4,000B) 0x........: main (overloaded-new.cpp:49)
-|
-->33.24% (4,000B) 0x........: main (overloaded-new.cpp:50)
-|
-->16.62% (2,000B) 0x........: main (overloaded-new.cpp:51)
-|
-->16.62% (2,000B) 0x........: main (overloaded-new.cpp:52)
-
+->33.24% (4,000B) 0x........: operator new(unsigned int) (overloaded-new.cpp:19)
+| ->33.24% (4,000B) 0x........: main (overloaded-new.cpp:49)
+|
+->33.24% (4,000B) 0x........: operator new(unsigned int, std::nothrow_t const&) (overloaded-new.cpp:24)
+| ->33.24% (4,000B) 0x........: main (overloaded-new.cpp:50)
+|
+->16.62% (2,000B) 0x........: operator new[](unsigned int) (overloaded-new.cpp:29)
+| ->16.62% (2,000B) 0x........: main (overloaded-new.cpp:51)
+|
+->16.62% (2,000B) 0x........: operator new[](unsigned int, std::nothrow_t const&) (overloaded-new.cpp:34)
+ ->16.62% (2,000B) 0x........: main (overloaded-new.cpp:52)
+
--------------------------------------------------------------------------------
n time(B) total(B) useful-heap(B) extra-heap(B) stacks(B)
--------------------------------------------------------------------------------
=================================================
./valgrind-new/memcheck/tests/addressable.stderr.diff
=================================================
--- addressable.stderr.exp 2010-06-30 23:52:28.000000000 -0500
+++ addressable.stderr.out 2010-07-01 00:05:33.000000000 -0500
@@ -1,91 +1,21 @@
-HEAP SUMMARY:
- in use at exit: ... bytes in ... blocks
- total heap usage: ... allocs, ... frees, ... bytes allocated
+valgrind: Fatal error at startup: a function redirection
+valgrind: which is mandatory for this platform-tool combination
+valgrind: cannot be set up. Details of the redirection are:
+valgrind:
+valgrind: A must-be-redirected function
+valgrind: whose name matches the pattern: strlen
+valgrind: in an object with soname matching: ld.so.1
+valgrind: was not found whilst processing
+valgrind: symbols from the object with soname: ld.so.1
+valgrind:
+valgrind: Possible fixes: (1, short term): install glibc's debuginfo
+valgrind: package on this machine. (2, longer term): ask the packagers
+valgrind: for your Linux distribution to please in future ship a non-
+valgrind: stripped ld.so (or whatever the dynamic linker .so is called)
+valgrind: that exports the above-named function using the standard
+valgrind: calling conventions for this platform.
+valgrind:
+valgrind: Cannot continue -- exiting now. Sorry.
-For a detailed leak analysis, rerun with: --leak-check=full
-
-For counts of detected and suppressed errors, rerun with: -v
-ERROR SUMMARY: 0 errors from 0 contexts (suppressed: 0 from 0)
-Unaddressable byte(s) found during client check request
- at 0x........: test2 (addressable.c:48)
- by 0x........: main (addressable.c:125)
- Address 0x........ is not stack'd, malloc'd or (recently) free'd
-
-Invalid write of size 1
- at 0x........: test2 (addressable.c:51)
- by 0x........: main (addressable.c:125)
- Address 0x........ is not stack'd, malloc'd or (recently) free'd
-
-
-Process terminating with default action of signal N (SIGSEGV or SIGBUS)
- Bad memory (SIGSEGV or SIGBUS) at address 0x........
- at 0x........: test2 (addressable.c:51)
- by 0x........: main (addressable.c:125)
- If you believe this happened as a result of a stack
- overflow in your program's main thread (unlikely but
- possible), you can try to increase the size of the
- main thread stack using the --main-stacksize= flag.
- The main thread stack size used in this run was ....
-
-HEAP SUMMARY:
- in use at exit: ... bytes in ... blocks
- total heap usage: ... allocs, ... frees, ... bytes allocated
-
-For a detailed leak analysis, rerun with: --leak-check=full
-
-For counts of detected and suppressed errors, rerun with: -v
-ERROR SUMMARY: 2 errors from 2 contexts (suppressed: 0 from 0)
-
-HEAP SUMMARY:
- in use at exit: ... bytes in ... blocks
- total heap usage: ... allocs, ... frees, ... bytes allocated
-
-For a detailed leak analysis, rerun with: --leak-check=full
-
-For counts of detected and suppressed errors, rerun with: -v
-ERROR SUMMARY: 0 errors from 0 contexts (suppressed: 0 from 0)
-
-Process terminating with default action of signal N (SIGSEGV or SIGBUS)
- Bad memory (SIGSEGV or SIGBUS) at address 0x........
- at 0x........: test4 (addressable.c:74)
- by 0x........: main (addressable.c:125)
-
-HEAP SUMMARY:
- in use at exit: ... bytes in ... blocks
- total heap usage: ... allocs, ... frees, ... bytes allocated
-
-For a detailed leak analysis, rerun with: --leak-check=full
-
-For counts of detected and suppressed errors, rerun with: -v
-ERROR SUMMARY: 0 errors from 0 contexts (suppressed: 0 from 0)
-Uninitialised byte(s) found during client check request
- at 0x........: test5 (addressable.c:85)
- by 0x........: main (addressable.c:125)
- Address 0x........ is not stack'd, malloc'd or (recently) free'd
-
-Uninitialised byte(s) found during client check request
- at 0x........: test5 (addressable.c:91)
- by 0x........: main (addressable.c:125)
- Address 0x........ is not stack'd, malloc'd or (recently) free'd
-
-
-HEAP SUMMARY:
- in use at exit: ... bytes in ... blocks
- total heap usage: ... allocs, ... frees, ... bytes allocated
-
-For a detailed leak analysis, rerun with: --leak-check=full
-
<truncated beyond 100 lines>
=================================================
./valgrind-new/memcheck/tests/addressable.stdout.diff
=================================================
--- addressable.stdout.exp 2010-06-30 23:52:28.000000000 -0500
+++ addressable.stdout.out 2010-07-01 00:05:33.000000000 -0500
@@ -1,5 +0,0 @@
-Test 1: PASS
-Test 2: PASS
-Test 3: PASS
-Test 4: PASS
-Test 5: PASS
=================================================
./valgrind-new/memcheck/tests/atomic_incs.stderr.diff
=================================================
--- atomic_incs.stderr.exp 2010-06-30 23:52:28.000000000 -0500
+++ atomic_incs.stderr.out 2010-07-01 00:05:34.000000000 -0500
@@ -0,0 +1,20 @@
+
+valgrind: Fatal error at startup: a function redirection
+valgrind: which is mandatory for this platform-tool combination
+valgrind: cannot be set up. Details of the redirection are:
+valgrind:
+valgrind: A must-be-redirected function
+valgrind: whose name matches the pattern: strlen
+valgrind: in an object with soname matching: ld.so.1
+valgrind: was not found whilst processing
+valgrind: symbols from the object with soname: ld.so.1
+valgrind:
+valgrind: Possible fixes: (1, short term): install glibc's debuginfo
+valgrind: package on this machine. (2, longer term): ask the packagers
+valgrind: for your Linux distribution to please in future ship a non-
+valgrind: stripped ld.so (or whatever the dynamic linker .so is called)
+valgrind: that exports the above-named function using the standard
+valgrind: calling conventions for this platform.
+valgrind:
+valgrind: Cannot continue -- exiting now. Sorry.
+
=================================================
./valgrind-new/memcheck/tests/atomic_incs.stdout.diff-32bit
=================================================
--- atomic_incs.stdout.exp-32bit 2010-06-30 23:52:28.000000000 -0500
+++ atomic_incs.stdout.out 2010-07-01 00:05:33.000000000 -0500
@@ -1,7 +0,0 @@
-parent, pre-fork
-child
-parent, pre-fork
-parent
-FINAL VALUES: 8 bit -74, 16 bit 32694, 32 bit 6913974, 64 bit 0
-PASS
-parent exits
=================================================
./valgrind-new/memcheck/tests/atomic_incs.stdout.diff-64bit
=================================================
--- atomic_incs.stdout.exp-64bit 2010-06-30 23:52:28.000000000 -0500
+++ atomic_incs.stdout.out 2010-07-01 00:05:33.000000000 -0500
@@ -1,7 +0,0 @@
-parent, pre-fork
-child
-parent, pre-fork
-parent
-FINAL VALUES: 8 bit -74, 16 bit 32694, 32 bit 6913974, 64 bit 682858642110
-PASS
-parent exits
=================================================
./valgrind-new/memcheck/tests/badaddrvalue.stderr.diff
=================================================
--- badaddrvalue.stderr.exp 2010-06-30 23:52:28.000000000 -0500
+++ badaddrvalue.stderr.out 2010-07-01 00:05:34.000000000 -0500
@@ -1,12 +1,20 @@
-Invalid write of size 1
- at 0x........: main (badaddrvalue.c:8)
- Address 0x........ is 1 bytes before a block of size 8 alloc'd
- at 0x........: malloc (vg_replace_malloc.c:...)
- by 0x........: main (badaddrvalue.c:7)
-Invalid read of size 1
- at 0x........: main (badaddrvalue.c:9)
- Address 0x........ is 1 bytes before a block of size 8 alloc'd
- at 0x........: malloc (vg_replace_malloc.c:...)
- by 0x........: main (badaddrvalue.c:7)
+valgrind: Fatal error at startup: a function redirection
+valgrind: which is mandatory for this platform-tool combination
+valgrind: cannot be set up. Details of the redirection are:
+valgrind:
+valgrind: A must-be-redirected function
+valgrind: whose name matches the pattern: strlen
+valgrind: in an object with soname matching: ld.so.1
+valgrind: was not found whilst processing
+valgrind: symbols from the object with soname: ld.so.1
+valgrind:
+valgrind: Possible fixes: (1, short term): install glibc's debuginfo
+valgrind: package on this machine. (2, longer term...
[truncated message content] |
|
From: Tom H. <th...@cy...> - 2010-07-01 02:47:32
|
Nightly build on lloyd ( x86_64, Fedora 7 ) Started at 2010-07-01 03:05:06 BST Ended at 2010-07-01 03:47:18 BST Results unchanged from 24 hours ago Checking out valgrind source tree ... done Configuring valgrind ... done Building valgrind ... done Running regression tests ... failed Regression test results follow == 543 tests, 2 stderr failures, 0 stdout failures, 0 post failures == memcheck/tests/x86-linux/scalar (stderr) helgrind/tests/tc06_two_races_xml (stderr) |
|
From: Tom H. <th...@cy...> - 2010-07-01 02:37:43
|
Nightly build on mg ( x86_64, Fedora 9 ) Started at 2010-07-01 03:10:06 BST Ended at 2010-07-01 03:37:26 BST Results unchanged from 24 hours ago Checking out valgrind source tree ... done Configuring valgrind ... done Building valgrind ... done Running regression tests ... failed Regression test results follow == 550 tests, 2 stderr failures, 0 stdout failures, 0 post failures == memcheck/tests/x86-linux/scalar (stderr) helgrind/tests/tc06_two_races_xml (stderr) |
|
From: <sv...@va...> - 2010-07-01 02:37:35
|
Author: njn
Date: 2010-07-01 03:37:23 +0100 (Thu, 01 Jul 2010)
New Revision: 11201
Log:
Add some suppressions reported by Jesse Ruderman.
Modified:
trunk/darwin10.supp
Modified: trunk/darwin10.supp
===================================================================
--- trunk/darwin10.supp 2010-07-01 02:35:03 UTC (rev 11200)
+++ trunk/darwin10.supp 2010-07-01 02:37:23 UTC (rev 11201)
@@ -1,2 +1,22 @@
# Suppressions for Darwin 10.x / Mac OS X 10.6 Snow Leopard
+
+##----------------------------------------------------------------------##
+# Memcheck
+##----------------------------------------------------------------------##
+
+# From Jesse Ruderman.
+{
+ Mac OS X 10.6.4. rdar://8145289. "new[]" paired with "delete" in the DesktopServicesPriv framework.
+ Memcheck:Free
+ fun:_ZdlPv
+ fun:_ZN5TChar18RemovePtrReferenceEv
+ }
+
+# From Jesse Ruderman.
+{
+ Mac OS X 10.6.4. rdar://8145318. Uninitialized memory from HIMenuBarView::MeasureAppMenus is used in HIMenuBarView::SetAdjustTextTitleBoundsAtIndex.
+ Memcheck:Cond
+ fun:_ZN13HIMenuBarView31SetAdjustTextTitleBoundsAtIndexEih
+ fun:_ZN13HIMenuBarView15MeasureAppMenusEv
+ }
|
|
From: <sv...@va...> - 2010-07-01 02:35:35
|
Author: njn
Date: 2010-07-01 03:35:03 +0100 (Thu, 01 Jul 2010)
New Revision: 11200
Log:
Add --pages-as-heap option to Massif. Bug 203256.
Modified:
trunk/NEWS
trunk/coregrind/m_libcproc.c
trunk/include/pub_tool_libcproc.h
trunk/massif/docs/ms-manual.xml
trunk/massif/ms_main.c
Modified: trunk/NEWS
===================================================================
--- trunk/NEWS 2010-07-01 01:09:42 UTC (rev 11199)
+++ trunk/NEWS 2010-07-01 02:35:03 UTC (rev 11200)
@@ -6,7 +6,7 @@
- XXX: Mac OS 10.6 support (32 and 64 bit)
- XXX: Much faster startup on Mac OS 10.5 for 64-bit programs.
-- --smc-check=all is much faster
+- Valgrind runs much faster when the --smc-check=all option is given.
- Cachegrind has a new processing script, cg_diff, which finds the
difference between two profiles. It's very useful for evaluating the
@@ -16,7 +16,16 @@
--threshold option has changed; this is unlikely to affect many people, if
you do use it please see the user manual for details.
+- Massif has a new option, --pages-as-heap, which is disabled by default.
+ When enabled, instead of tracking allocations at the level of heap blocks
+ (as allocated with malloc/new/new[]), it instead tracks memory allocations
+ at the level of memory pages (as mapped by mmap, brk, etc). Each mapped
+ page is treated as its own block. Interpreting the page-level output is
+ harder than the heap-level output, but this option is useful if you want
+ to account for every byte of memory used by a program.
+
+
Release 3.5.0 (19 August 2009)
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
3.5.0 is a feature release with many significant improvements and the
Modified: trunk/coregrind/m_libcproc.c
===================================================================
--- trunk/coregrind/m_libcproc.c 2010-07-01 01:09:42 UTC (rev 11199)
+++ trunk/coregrind/m_libcproc.c 2010-07-01 02:35:03 UTC (rev 11200)
@@ -64,6 +64,15 @@
/* Path to library directory */
const Char *VG_(libdir) = VG_LIBDIR;
+const Char *VG_(LD_PRELOAD_var_name) =
+#if defined(VGO_linux) || defined(VGO_aix5)
+ "LD_PRELOAD";
+#elif defined(VGO_darwin)
+ "DYLD_INSERT_LIBRARIES";
+#else
+# error Unknown OS
+#endif
+
/* We do getenv without libc's help by snooping around in
VG_(client_envp) as determined at startup time. */
Char *VG_(getenv)(Char *varname)
Modified: trunk/include/pub_tool_libcproc.h
===================================================================
--- trunk/include/pub_tool_libcproc.h 2010-07-01 01:09:42 UTC (rev 11199)
+++ trunk/include/pub_tool_libcproc.h 2010-07-01 02:35:03 UTC (rev 11200)
@@ -44,6 +44,10 @@
/* Path to all our library/aux files */
extern const Char *VG_(libdir);
+// The name of the LD_PRELOAD-equivalent variable. It varies across
+// platforms.
+extern const Char* VG_(LD_PRELOAD_var_name);
+
/* ---------------------------------------------------------------------
Important syscalls
------------------------------------------------------------------ */
Modified: trunk/massif/docs/ms-manual.xml
===================================================================
--- trunk/massif/docs/ms-manual.xml 2010-07-01 01:09:42 UTC (rev 11199)
+++ trunk/massif/docs/ms-manual.xml 2010-07-01 02:35:03 UTC (rev 11200)
@@ -545,11 +545,11 @@
<sect2 id="ms-manual.not-measured"
- xreflabel="Memory Allocations Not Measured by Massif">
-<title>Memory Allocations Not Measured by Massif</title>
+ xreflabel="Measuring All Memory in a Process">
+<title>Measuring All Memory in a Process</title>
<para>
-It is worth emphasising that Massif measures only heap memory, i.e. memory
-allocated with
+It is worth emphasising that by default Massif measures only heap memory, i.e.
+memory allocated with
<function>malloc</function>,
<function>calloc</function>,
<function>realloc</function>,
@@ -576,13 +576,49 @@
<para>
Furthermore, a client program may use these lower-level system calls
-directly to allocate memory. Massif does not measure these. Nor does it
-measure the size of code, data and BSS segments. Therefore, the numbers
-reported by Massif may be significantly smaller than those reported by tools
-such as <filename>top</filename> that measure a program's total size in
+directly to allocate memory. By default, Massif does not measure these. Nor
+does it measure the size of code, data and BSS segments. Therefore, the
+numbers reported by Massif may be significantly smaller than those reported by
+tools such as <filename>top</filename> that measure a program's total size in
memory.
</para>
+<para>
+However, if you wish to measure <emphasis>all</emphasis> the memory used by
+your program, you can use the <option>--pages-as-heap=yes</option>. When this
+option is enabled, Massif's normal heap block profiling is replaced by
+lower-level page profiling. Every page allocated via
+<function>mmap</function> and similar system calls is treated as a distinct
+block. This means that code, data and BSS segments are all measured, as they
+are just memory pages. Even the stack is measured, since it is ultimately
+allocated (and extended when necessary) via <function>mmap</function>; for
+this reason <option>--stacks=yes</option> is not allowed in conjunction with
+<option>--pages-as-heap=yes</option>.
+</para>
+
+<para>
+After <option>--pages-as-heap=yes</option> is used, ms_print's output is
+mostly unchanged. One difference is that the start of each detailed snapshot
+says:
+</para>
+
+<screen><![CDATA[
+(page allocation syscalls) mmap/mremap/brk, --alloc-fns, etc.
+]]></screen>
+
+<para>instead of the usual</para>:
+
+<screen><![CDATA[
+(heap allocation functions) malloc/new/new[], --alloc-fns, etc.
+]]></screen>
+
+<para>
+The stack traces in the output may be more difficult to read, and interpreting
+them may require some detailed understanding of the lower levels of a program
+like the memory allocators. But for some programs having the full information
+about memory usage can be very useful.
+</para>
+
</sect2>
Modified: trunk/massif/ms_main.c
===================================================================
--- trunk/massif/ms_main.c 2010-07-01 01:09:42 UTC (rev 11199)
+++ trunk/massif/ms_main.c 2010-07-01 02:35:03 UTC (rev 11200)
@@ -176,6 +176,7 @@
#include "pub_tool_options.h"
#include "pub_tool_replacemalloc.h"
#include "pub_tool_stacktrace.h"
+#include "pub_tool_threadstate.h"
#include "pub_tool_tooliface.h"
#include "pub_tool_xarray.h"
#include "pub_tool_clientstate.h"
@@ -190,6 +191,10 @@
// of detail, enough to tell how many bytes each line of code is responsible
// for, more or less. The main data structure is a tree representing the
// call tree beneath all the allocation functions like malloc().
+// (Alternatively, if --pages-as-heap=yes is specified, memory is tracked at
+// the page level, and each page is treated much like a heap block. We use
+// "heap" throughout below to cover this case because the concepts are all the
+// same.)
//
// "Snapshots" are recordings of the memory usage. There are two basic
// kinds:
@@ -280,14 +285,17 @@
// memory. An alternative to milliseconds as a unit of program "time".
static ULong total_allocs_deallocs_szB = 0;
-// We don't start taking snapshots until the first basic block is executed,
-// rather than doing it in ms_post_clo_init (which is the obvious spot), for
-// two reasons.
+// When running with --heap=yes --pages-as-heap=no, we don't start taking
+// snapshots until the first basic block is executed, rather than doing it in
+// ms_post_clo_init (which is the obvious spot), for two reasons.
// - It lets us ignore stack events prior to that, because they're not
// really proper ones and just would screw things up.
// - Because there's still some core initialisation to do, and so there
// would be an artificial time gap between the first and second snapshots.
//
+// When running with --heap=yes --pages-as-heap=yes, snapshots start much
+// earlier due to new_mem_startup so this isn't relevant.
+//
static Bool have_started_executing_code = False;
//------------------------------------------------------------//
@@ -393,12 +401,13 @@
}
}
-static Bool clo_heap = True;
+static Bool clo_heap = True;
// clo_heap_admin is deliberately a word-sized type. At one point it was
// a UInt, but this caused problems on 64-bit machines when it was
// multiplied by a small negative number and then promoted to a
// word-sized type -- it ended up with a value of 4.2 billion. Sigh.
static SSizeT clo_heap_admin = 8;
+static Bool clo_pages_as_heap = False;
static Bool clo_stacks = False;
static Int clo_depth = 30;
static double clo_threshold = 1.0; // percentage
@@ -417,29 +426,34 @@
// Remember the arg for later use.
VG_(addToXA)(args_for_massif, &arg);
- if VG_BOOL_CLO(arg, "--heap", clo_heap) {}
- else if VG_BOOL_CLO(arg, "--stacks", clo_stacks) {}
+ if VG_BOOL_CLO(arg, "--heap", clo_heap) {}
+ else if VG_BINT_CLO(arg, "--heap-admin", clo_heap_admin, 0, 1024) {}
- else if VG_BINT_CLO(arg, "--heap-admin", clo_heap_admin, 0, 1024) {}
- else if VG_BINT_CLO(arg, "--depth", clo_depth, 1, MAX_DEPTH) {}
+ else if VG_BOOL_CLO(arg, "--stacks", clo_stacks) {}
- else if VG_DBL_CLO(arg, "--threshold", clo_threshold) {}
+ else if VG_BOOL_CLO(arg, "--pages-as-heap", clo_pages_as_heap) {}
- else if VG_DBL_CLO(arg, "--peak-inaccuracy", clo_peak_inaccuracy) {}
+ else if VG_BINT_CLO(arg, "--depth", clo_depth, 1, MAX_DEPTH) {}
- else if VG_BINT_CLO(arg, "--detailed-freq", clo_detailed_freq, 1, 10000) {}
- else if VG_BINT_CLO(arg, "--max-snapshots", clo_max_snapshots, 10, 1000) {}
-
- else if VG_XACT_CLO(arg, "--time-unit=i", clo_time_unit, TimeI) {}
- else if VG_XACT_CLO(arg, "--time-unit=ms", clo_time_unit, TimeMS) {}
- else if VG_XACT_CLO(arg, "--time-unit=B", clo_time_unit, TimeB) {}
-
- else if VG_STR_CLO(arg, "--alloc-fn", tmp_str) {
+ else if VG_STR_CLO(arg, "--alloc-fn", tmp_str) {
VG_(addToXA)(alloc_fns, &tmp_str);
}
- else if VG_STR_CLO(arg, "--ignore-fn", tmp_str) {
+ else if VG_STR_CLO(arg, "--ignore-fn", tmp_str) {
VG_(addToXA)(ignore_fns, &tmp_str);
}
+
+ else if VG_DBL_CLO(arg, "--threshold", clo_threshold) {}
+
+ else if VG_DBL_CLO(arg, "--peak-inaccuracy", clo_peak_inaccuracy) {}
+
+ else if VG_XACT_CLO(arg, "--time-unit=i", clo_time_unit, TimeI) {}
+ else if VG_XACT_CLO(arg, "--time-unit=ms", clo_time_unit, TimeMS) {}
+ else if VG_XACT_CLO(arg, "--time-unit=B", clo_time_unit, TimeB) {}
+
+ else if VG_BINT_CLO(arg, "--detailed-freq", clo_detailed_freq, 1, 10000) {}
+
+ else if VG_BINT_CLO(arg, "--max-snapshots", clo_max_snapshots, 10, 1000) {}
+
else if VG_STR_CLO(arg, "--massif-out-file", clo_massif_out_file) {}
else
@@ -455,6 +469,7 @@
" --heap-admin=<size> average admin bytes per heap block;\n"
" ignored if --heap=no [8]\n"
" --stacks=no|yes profile stack(s) [no]\n"
+" --pages-as-heap=no|yes profile memory at the page level [no]\n"
" --depth=<number> depth of contexts [30]\n"
" --alloc-fn=<name> specify <name> as an alloc function [empty]\n"
" --ignore-fn=<name> ignore heap allocations within <name> [empty]\n"
@@ -842,7 +857,7 @@
// Nb: it's possible to end up with an empty trace, eg. if 'main' is marked
// as an alloc-fn. This is ok.
static
-Int get_IPs( ThreadId tid, Bool is_custom_alloc, Addr ips[])
+Int get_IPs( ThreadId tid, Bool exclude_first_entry, Addr ips[])
{
static Char buf[BUF_LEN];
Int n_ips, i, n_alloc_fns_removed;
@@ -877,11 +892,11 @@
// If the original stack trace is smaller than asked-for, redo=False.
if (n_ips < clo_depth + overestimate) { redo = False; }
- // Filter out alloc fns. If it's a non-custom block, we remove the
- // first entry (which will be one of malloc, __builtin_new, etc)
- // without looking at it, because VG_(get_fnname) is expensive (it
- // involves calls to VG_(malloc)/VG_(free)).
- n_alloc_fns_removed = ( is_custom_alloc ? 0 : 1 );
+ // Filter out alloc fns. If requested, we automatically remove the
+ // first entry (which presumably will be something like malloc or
+ // __builtin_new that we're sure to filter out) without looking at it,
+ // because VG_(get_fnname) is expensive.
+ n_alloc_fns_removed = ( exclude_first_entry ? 1 : 0 );
for (i = n_alloc_fns_removed; i < n_ips; i++) {
if (VG_(get_fnname)(ips[i], buf, BUF_LEN)) {
if (is_member_fn(alloc_fns, buf)) {
@@ -912,14 +927,14 @@
// Gets an XCon and puts it in the tree. Returns the XCon's bottom-XPt.
// Unless the allocation should be ignored, in which case we return NULL.
-static XPt* get_XCon( ThreadId tid, Bool is_custom_alloc )
+static XPt* get_XCon( ThreadId tid, Bool exclude_first_entry )
{
static Addr ips[MAX_IPS];
Int i;
XPt* xpt = alloc_xpt;
// After this call, the IPs we want are in ips[0]..ips[n_ips-1].
- Int n_ips = get_IPs(tid, is_custom_alloc, ips);
+ Int n_ips = get_IPs(tid, exclude_first_entry, ips);
// Should we ignore this allocation? (Nb: n_ips can be zero, eg. if
// 'main' is marked as an alloc-fn.)
@@ -996,7 +1011,7 @@
// Update 'szB' of every XPt in the XCon, by percolating upwards.
static void update_XCon(XPt* xpt, SSizeT space_delta)
{
- tl_assert(True == clo_heap);
+ tl_assert(clo_heap);
tl_assert(NULL != xpt);
if (0 == space_delta)
@@ -1323,7 +1338,9 @@
Bool is_detailed)
{
tl_assert(!is_snapshot_in_use(snapshot));
- tl_assert(have_started_executing_code);
+ if (!clo_pages_as_heap) {
+ tl_assert(have_started_executing_code);
+ }
// Heap and heap admin.
if (clo_heap) {
@@ -1518,31 +1535,11 @@
}
static
-void* new_block ( ThreadId tid, void* p, SizeT req_szB, SizeT req_alignB,
- Bool is_zeroed )
+void* record_block( ThreadId tid, void* p, SizeT req_szB, SizeT slop_szB,
+ Bool exclude_first_entry, Bool maybe_snapshot )
{
- HP_Chunk* hc;
- Bool is_custom_alloc = (NULL != p);
- SizeT actual_szB, slop_szB;
-
- if ((SSizeT)req_szB < 0) return NULL;
-
- // Allocate and zero if necessary
- if (!p) {
- p = VG_(cli_malloc)( req_alignB, req_szB );
- if (!p) {
- return NULL;
- }
- if (is_zeroed) VG_(memset)(p, 0, req_szB);
- actual_szB = VG_(malloc_usable_size)(p);
- tl_assert(actual_szB >= req_szB);
- slop_szB = actual_szB - req_szB;
- } else {
- slop_szB = 0;
- }
-
// Make new HP_Chunk node, add to malloc_list
- hc = VG_(malloc)("ms.main.nb.1", sizeof(HP_Chunk));
+ HP_Chunk* hc = VG_(malloc)("ms.main.rb.1", sizeof(HP_Chunk));
hc->req_szB = req_szB;
hc->slop_szB = slop_szB;
hc->data = (Addr)p;
@@ -1550,9 +1547,9 @@
VG_(HT_add_node)(malloc_list, hc);
if (clo_heap) {
- VERB(3, "<<< new_mem_heap (%lu, %lu)\n", req_szB, slop_szB);
+ VERB(3, "<<< record_block (%lu, %lu)\n", req_szB, slop_szB);
- hc->where = get_XCon( tid, is_custom_alloc );
+ hc->where = get_XCon( tid, exclude_first_entry );
if (hc->where) {
// Update statistics.
@@ -1565,7 +1562,9 @@
update_XCon(hc->where, req_szB);
// Maybe take a snapshot.
- maybe_take_snapshot(Normal, " alloc");
+ if (maybe_snapshot) {
+ maybe_take_snapshot(Normal, " alloc");
+ }
} else {
// Ignored allocation.
@@ -1581,8 +1580,34 @@
}
static __inline__
-void die_block ( void* p, Bool custom_free )
+void* alloc_and_record_block ( ThreadId tid, SizeT req_szB, SizeT req_alignB,
+ Bool is_zeroed )
{
+ SizeT actual_szB, slop_szB;
+ void* p;
+
+ if ((SSizeT)req_szB < 0) return NULL;
+
+ // Allocate and zero if necessary.
+ p = VG_(cli_malloc)( req_alignB, req_szB );
+ if (!p) {
+ return NULL;
+ }
+ if (is_zeroed) VG_(memset)(p, 0, req_szB);
+ actual_szB = VG_(malloc_usable_size)(p);
+ tl_assert(actual_szB >= req_szB);
+ slop_szB = actual_szB - req_szB;
+
+ // Record block.
+ record_block(tid, p, req_szB, slop_szB, /*exclude_first_entry*/True,
+ /*maybe_snapshot*/True);
+
+ return p;
+}
+
+static __inline__
+void unrecord_block ( void* p, Bool maybe_snapshot )
+{
// Remove HP_Chunk from malloc_list
HP_Chunk* hc = VG_(HT_remove)(malloc_list, (UWord)p);
if (NULL == hc) {
@@ -1590,14 +1615,16 @@
}
if (clo_heap) {
- VERB(3, "<<< die_mem_heap\n");
+ VERB(3, "<<< unrecord_block\n");
if (hc->where) {
// Update statistics.
n_heap_frees++;
// Maybe take a peak snapshot, since it's a deallocation.
- maybe_take_snapshot(Peak, "de-PEAK");
+ if (maybe_snapshot) {
+ maybe_take_snapshot(Peak, "de-PEAK");
+ }
// Update heap stats.
update_heap_stats(-hc->req_szB, -clo_heap_admin - hc->slop_szB);
@@ -1606,7 +1633,9 @@
update_XCon(hc->where, -hc->req_szB);
// Maybe take a snapshot.
- maybe_take_snapshot(Normal, "dealloc");
+ if (maybe_snapshot) {
+ maybe_take_snapshot(Normal, "dealloc");
+ }
} else {
n_ignored_heap_frees++;
@@ -1619,8 +1648,6 @@
// Actually free the chunk, and the heap block (if necessary)
VG_(free)( hc ); hc = NULL;
- if (!custom_free)
- VG_(cli_free)( p );
}
// Nb: --ignore-fn is tricky for realloc. If the block's original alloc was
@@ -1630,7 +1657,7 @@
// growing such a block, but for consistency (it also simplifies things) we
// ignore such reallocs as well.
static __inline__
-void* renew_block ( ThreadId tid, void* p_old, SizeT new_req_szB )
+void* realloc_block ( ThreadId tid, void* p_old, SizeT new_req_szB )
{
HP_Chunk* hc;
void* p_new;
@@ -1647,8 +1674,9 @@
old_req_szB = hc->req_szB;
old_slop_szB = hc->slop_szB;
+ tl_assert(!clo_pages_as_heap); // Shouldn't be here if --pages-as-heap=yes.
if (clo_heap) {
- VERB(3, "<<< renew_mem_heap (%lu)\n", new_req_szB);
+ VERB(3, "<<< realloc_block (%lu)\n", new_req_szB);
if (hc->where) {
// Update statistics.
@@ -1696,7 +1724,7 @@
// Update XTree.
if (clo_heap) {
- new_where = get_XCon( tid, /*custom_malloc*/False);
+ new_where = get_XCon( tid, /*exclude_first_entry*/True);
if (!is_ignored && new_where) {
hc->where = new_where;
update_XCon(old_where, -old_req_szB);
@@ -1745,47 +1773,50 @@
static void* ms_malloc ( ThreadId tid, SizeT szB )
{
- return new_block( tid, NULL, szB, VG_(clo_alignment), /*is_zeroed*/False );
+ return alloc_and_record_block( tid, szB, VG_(clo_alignment), /*is_zeroed*/False );
}
static void* ms___builtin_new ( ThreadId tid, SizeT szB )
{
- return new_block( tid, NULL, szB, VG_(clo_alignment), /*is_zeroed*/False );
+ return alloc_and_record_block( tid, szB, VG_(clo_alignment), /*is_zeroed*/False );
}
static void* ms___builtin_vec_new ( ThreadId tid, SizeT szB )
{
- return new_block( tid, NULL, szB, VG_(clo_alignment), /*is_zeroed*/False );
+ return alloc_and_record_block( tid, szB, VG_(clo_alignment), /*is_zeroed*/False );
}
static void* ms_calloc ( ThreadId tid, SizeT m, SizeT szB )
{
- return new_block( tid, NULL, m*szB, VG_(clo_alignment), /*is_zeroed*/True );
+ return alloc_and_record_block( tid, m*szB, VG_(clo_alignment), /*is_zeroed*/True );
}
static void *ms_memalign ( ThreadId tid, SizeT alignB, SizeT szB )
{
- return new_block( tid, NULL, szB, alignB, False );
+ return alloc_and_record_block( tid, szB, alignB, False );
}
static void ms_free ( ThreadId tid __attribute__((unused)), void* p )
{
- die_block( p, /*custom_free*/False );
+ unrecord_block(p, /*maybe_snapshot*/True);
+ VG_(cli_free)(p);
}
static void ms___builtin_delete ( ThreadId tid, void* p )
{
- die_block( p, /*custom_free*/False);
+ unrecord_block(p, /*maybe_snapshot*/True);
+ VG_(cli_free)(p);
}
static void ms___builtin_vec_delete ( ThreadId tid, void* p )
{
- die_block( p, /*custom_free*/False );
+ unrecord_block(p, /*maybe_snapshot*/True);
+ VG_(cli_free)(p);
}
static void* ms_realloc ( ThreadId tid, void* p_old, SizeT new_szB )
{
- return renew_block(tid, p_old, new_szB);
+ return realloc_block(tid, p_old, new_szB);
}
static SizeT ms_malloc_usable_size ( ThreadId tid, void* p )
@@ -1796,6 +1827,89 @@
}
//------------------------------------------------------------//
+//--- Page handling ---//
+//------------------------------------------------------------//
+
+static
+void ms_record_page_mem ( Addr a, SizeT len )
+{
+ ThreadId tid = VG_(get_running_tid)();
+ Addr end;
+ tl_assert(VG_IS_PAGE_ALIGNED(len));
+ tl_assert(len >= VKI_PAGE_SIZE);
+ // Record the first N-1 pages as blocks, but don't do any snapshots.
+ for (end = a + len - VKI_PAGE_SIZE; a < end; a += VKI_PAGE_SIZE) {
+ record_block( tid, (void*)a, VKI_PAGE_SIZE, /*slop_szB*/0,
+ /*exclude_first_entry*/False, /*maybe_snapshot*/False );
+ }
+ // Record the last page as a block, and maybe do a snapshot afterwards.
+ record_block( tid, (void*)a, VKI_PAGE_SIZE, /*slop_szB*/0,
+ /*exclude_first_entry*/False, /*maybe_snapshot*/True );
+}
+
+static
+void ms_unrecord_page_mem( Addr a, SizeT len )
+{
+ Addr end;
+ tl_assert(VG_IS_PAGE_ALIGNED(len));
+ tl_assert(len >= VKI_PAGE_SIZE);
+ for (end = a + len - VKI_PAGE_SIZE; a < end; a += VKI_PAGE_SIZE) {
+ unrecord_block((void*)a, /*maybe_snapshot*/False);
+ }
+ unrecord_block((void*)a, /*maybe_snapshot*/True);
+}
+
+//------------------------------------------------------------//
+
+static
+void ms_new_mem_mmap ( Addr a, SizeT len,
+ Bool rr, Bool ww, Bool xx, ULong di_handle )
+{
+ tl_assert(VG_IS_PAGE_ALIGNED(len));
+ ms_record_page_mem(a, len);
+}
+
+static
+void ms_new_mem_startup( Addr a, SizeT len,
+ Bool rr, Bool ww, Bool xx, ULong di_handle )
+{
+ // startup maps are always be page-sized, except the trampoline page is
+ // marked by the core as only being the size of the trampoline itself,
+ // which is something like 57 bytes. Round it up to page size.
+ len = VG_PGROUNDUP(len);
+ ms_record_page_mem(a, len);
+}
+
+static
+void ms_new_mem_brk ( Addr a, SizeT len, ThreadId tid )
+{
+ tl_assert(VG_IS_PAGE_ALIGNED(len));
+ ms_record_page_mem(a, len);
+}
+
+static
+void ms_copy_mem_remap( Addr from, Addr to, SizeT len)
+{
+ tl_assert(VG_IS_PAGE_ALIGNED(len));
+ ms_unrecord_page_mem(from, len);
+ ms_record_page_mem(to, len);
+}
+
+static
+void ms_die_mem_munmap( Addr a, SizeT len )
+{
+ tl_assert(VG_IS_PAGE_ALIGNED(len));
+ ms_unrecord_page_mem(a, len);
+}
+
+static
+void ms_die_mem_brk( Addr a, SizeT len )
+{
+ tl_assert(VG_IS_PAGE_ALIGNED(len));
+ ms_unrecord_page_mem(a, len);
+}
+
+//------------------------------------------------------------//
//--- Stacks ---//
//------------------------------------------------------------//
@@ -1862,17 +1976,16 @@
{
switch (argv[0]) {
case VG_USERREQ__MALLOCLIKE_BLOCK: {
- void* res;
void* p = (void*)argv[1];
SizeT szB = argv[2];
- res = new_block( tid, p, szB, /*alignB--ignored*/0, /*is_zeroed*/False );
- tl_assert(res == p);
+ record_block( tid, p, szB, /*slop_szB*/0, /*exclude_first_entry*/False,
+ /*maybe_snapshot*/True );
*ret = 0;
return True;
}
case VG_USERREQ__FREELIKE_BLOCK: {
void* p = (void*)argv[1];
- die_block( p, /*custom_free*/True );
+ unrecord_block(p, /*maybe_snapshot*/True);
*ret = 0;
return True;
}
@@ -2019,8 +2132,15 @@
case SigSXPt:
// Print the SXPt itself.
if (0 == depth) {
- ip_desc =
- "(heap allocation functions) malloc/new/new[], --alloc-fns, etc.";
+ if (clo_heap) {
+ ip_desc =
+ ( clo_pages_as_heap
+ ? "(page allocation syscalls) mmap/mremap/brk, --alloc-fns, etc."
+ : "(heap allocation functions) malloc/new/new[], --alloc-fns, etc."
+ );
+ } else {
+ // XXX: --alloc-fns?
+ }
} else {
// If it's main-or-below-main, we (if appropriate) ignore everything
// below it by pretending it has no children.
@@ -2261,19 +2381,58 @@
static void ms_post_clo_init(void)
{
Int i;
+ Char* LD_PRELOAD_val;
+ Char* s;
+ Char* s2;
// Check options.
if (clo_threshold < 0 || clo_threshold > 100) {
VG_(umsg)("--threshold must be between 0.0 and 100.0\n");
VG_(err_bad_option)("--threshold");
}
-
- // If we have --heap=no, set --heap-admin to zero, just to make sure we
- // don't accidentally use a non-zero heap-admin size somewhere.
+ if (clo_pages_as_heap) {
+ if (clo_stacks) {
+ VG_(umsg)("--pages-as-heap=yes cannot be used with --stacks=yes\n");
+ VG_(err_bad_option)("--pages-as-heap=yes with --stacks=yes");
+ }
+ }
if (!clo_heap) {
- clo_heap_admin = 0;
+ clo_pages_as_heap = False;
}
+ // If --pages-as-heap=yes we don't want malloc replacement to occur. So we
+ // disable vgpreload_massif-$PLATFORM.so by removing it from LD_PRELOAD (or
+ // platform-equivalent). We replace it entirely with spaces because then
+ // the linker doesn't complain (it does complain if we just change the name
+ // to a bogus file). This is a bit of a hack, but LD_PRELOAD is setup well
+ // before tool initialisation, so this seems the best way to do it.
+ if (clo_pages_as_heap) {
+ clo_heap_admin = 0; // No heap admin on pages.
+
+ LD_PRELOAD_val = VG_(getenv)( (Char*)VG_(LD_PRELOAD_var_name) );
+ tl_assert(LD_PRELOAD_val);
+
+ // Make sure the vgpreload_core-$PLATFORM entry is there, for sanity.
+ s2 = VG_(strstr)(LD_PRELOAD_val, "vgpreload_core");
+ tl_assert(s2);
+
+ // Now find the vgpreload_massif-$PLATFORM entry.
+ s2 = VG_(strstr)(LD_PRELOAD_val, "vgpreload_massif");
+ tl_assert(s2);
+
+ // Blank out everything to the previous ':', which must be there because
+ // of the preceding vgpreload_core-$PLATFORM entry.
+ for (s = s2; *s != ':'; s--) {
+ *s = ' ';
+ }
+
+ // Blank out everything to the end of the entry, which will be '\0' if
+ // LD_PRELOAD was empty before Valgrind started, or ':' otherwise.
+ for (s = s2; *s != ':' && *s != '\0'; s++) {
+ *s = ' ';
+ }
+ }
+
// Print alloc-fns and ignore-fns, if necessary.
if (VG_(clo_verbosity) > 1) {
VERB(1, "alloc-fns:\n");
@@ -2300,6 +2459,17 @@
VG_(track_die_mem_stack_signal) ( die_mem_stack_signal );
}
+ if (clo_pages_as_heap) {
+ VG_(track_new_mem_startup) ( ms_new_mem_startup );
+ VG_(track_new_mem_brk) ( ms_new_mem_brk );
+ VG_(track_new_mem_mmap) ( ms_new_mem_mmap );
+
+ VG_(track_copy_mem_remap) ( ms_copy_mem_remap );
+
+ VG_(track_die_mem_brk) ( ms_die_mem_brk );
+ VG_(track_die_mem_munmap) ( ms_die_mem_munmap );
+ }
+
// Initialise snapshot array, and sanity-check it.
snapshots = VG_(malloc)("ms.main.mpoci.1",
sizeof(Snapshot) * clo_max_snapshots);
|
|
From: <sv...@va...> - 2010-07-01 01:09:50
|
Author: njn Date: 2010-07-01 02:09:42 +0100 (Thu, 01 Jul 2010) New Revision: 11199 Log: Fix various bits of regtest breakage on amd64-linux caused by the MACOSX106 merge. Added: trunk/memcheck/tests/amd64-linux/filter_defcfaexpr Removed: trunk/memcheck/tests/amd64/filter_defcfaexpr Modified: trunk/memcheck/tests/amd64-linux/Makefile.am trunk/memcheck/tests/amd64/Makefile.am Modified: trunk/memcheck/tests/amd64/Makefile.am =================================================================== --- trunk/memcheck/tests/amd64/Makefile.am 2010-07-01 00:48:38 UTC (rev 11198) +++ trunk/memcheck/tests/amd64/Makefile.am 2010-07-01 01:09:42 UTC (rev 11199) @@ -12,7 +12,6 @@ bt_everything.stderr.exp bt_everything.stdout.exp \ bt_everything.vgtest \ bug132146.vgtest bug132146.stderr.exp bug132146.stdout.exp \ - defcfaexpr.vgtest defcfaexpr.stderr.exp filter_defcfaexpr \ fxsave-amd64.vgtest fxsave-amd64.stdout.exp fxsave-amd64.stderr.exp \ int3-amd64.vgtest int3-amd64.stdout.exp int3-amd64.stderr.exp \ more_x87_fp.stderr.exp more_x87_fp.stdout.exp more_x87_fp.vgtest \ @@ -28,13 +27,6 @@ sse_memory \ xor-undef-amd64 -# DDD: these should be moved into amd64-linux/. -if ! VGCONF_OS_IS_DARWIN - check_PROGRAMS += \ - defcfaexpr \ - int3-amd64 -endif - AM_CFLAGS += @FLAG_M64@ AM_CXXFLAGS += @FLAG_M64@ AM_CCASFLAGS += @FLAG_M64@ @@ -43,4 +35,3 @@ -mfancy-math-387 more_x87_fp_LDADD = -lm -defcfaexpr_SOURCES = defcfaexpr.S Deleted: trunk/memcheck/tests/amd64/filter_defcfaexpr =================================================================== --- trunk/memcheck/tests/amd64/filter_defcfaexpr 2010-07-01 00:48:38 UTC (rev 11198) +++ trunk/memcheck/tests/amd64/filter_defcfaexpr 2010-07-01 01:09:42 UTC (rev 11199) @@ -1,28 +0,0 @@ -#! /bin/sh - -# change -# -# ==6019== at 0x400512: bbb (in -# /home/sewardj/VgTRUNK/trunk/memcheck/tests/amd64/defcfaexpr) -# -# to -# -# ==6019== at 0x400512: bbb (in bogus.S:0) -# -# and then to -# -# ==6019== at 0x400512: bbb (bogus.S:0) -# -# Then the standard ./filter_stderr won't screw it up any more, -# instead producing what we want, which is -# -# at 0x........: bbb (bogus.S:0) -# -# where the important point is that the function name is intact. -# since the point of this test is to check that V can unwind the -# stack given the unusual CFAs describing it. - - -sed "s/\/.*\/tests\/amd64\/defcfaexpr/bogus.S:0/" | \ - sed "s/(in /(/" | \ - ./filter_stderr Modified: trunk/memcheck/tests/amd64-linux/Makefile.am =================================================================== --- trunk/memcheck/tests/amd64-linux/Makefile.am 2010-07-01 00:48:38 UTC (rev 11198) +++ trunk/memcheck/tests/amd64-linux/Makefile.am 2010-07-01 01:09:42 UTC (rev 11199) @@ -2,18 +2,20 @@ include $(top_srcdir)/Makefile.tool-tests.am dist_noinst_SCRIPTS = \ - filter_stderr + filter_stderr filter_defcfaexpr EXTRA_DIST = \ - defcaexpr.vgtest defcaexpr.stderr.exp \ + defcfaexpr.vgtest defcfaexpr.stderr.exp \ int3-x86.vgtest int3-x86.stderr.exp int3-x86.stdout.exp check_PROGRAMS = \ - defcaexpr \ + defcfaexpr \ int3-amd64 -AM_CFLAGS += @FLAG_M32@ $(FLAG_MMMX) $(FLAG_MSSE) -AM_CXXFLAGS += @FLAG_M32@ $(FLAG_MMMX) $(FLAG_MSSE) -AM_CCASFLAGS += @FLAG_M32@ +AM_CFLAGS += @FLAG_M64@ +AM_CXXFLAGS += @FLAG_M64@ +AM_CCASFLAGS += @FLAG_M64@ +defcfaexpr_SOURCES = defcfaexpr.S + Copied: trunk/memcheck/tests/amd64-linux/filter_defcfaexpr (from rev 11195, trunk/memcheck/tests/amd64/filter_defcfaexpr) =================================================================== --- trunk/memcheck/tests/amd64-linux/filter_defcfaexpr (rev 0) +++ trunk/memcheck/tests/amd64-linux/filter_defcfaexpr 2010-07-01 01:09:42 UTC (rev 11199) @@ -0,0 +1,28 @@ +#! /bin/sh + +# change +# +# ==6019== at 0x400512: bbb (in +# /home/sewardj/VgTRUNK/trunk/memcheck/tests/amd64/defcfaexpr) +# +# to +# +# ==6019== at 0x400512: bbb (in bogus.S:0) +# +# and then to +# +# ==6019== at 0x400512: bbb (bogus.S:0) +# +# Then the standard ./filter_stderr won't screw it up any more, +# instead producing what we want, which is +# +# at 0x........: bbb (bogus.S:0) +# +# where the important point is that the function name is intact. +# since the point of this test is to check that V can unwind the +# stack given the unusual CFAs describing it. + + +sed "s/\/.*\/tests\/amd64-linux\/defcfaexpr/bogus.S:0/" | \ + sed "s/(in /(/" | \ + ./filter_stderr |
|
From: <sv...@va...> - 2010-07-01 00:48:47
|
Author: njn
Date: 2010-07-01 01:48:38 +0100 (Thu, 01 Jul 2010)
New Revision: 11198
Log:
The branch has been merged to the trunk and is dead. Make this obvious with
a #error directive.
Modified:
branches/MACOSX106/coregrind/m_main.c
Modified: branches/MACOSX106/coregrind/m_main.c
===================================================================
--- branches/MACOSX106/coregrind/m_main.c 2010-07-01 00:37:46 UTC (rev 11197)
+++ branches/MACOSX106/coregrind/m_main.c 2010-07-01 00:48:38 UTC (rev 11198)
@@ -1424,6 +1424,8 @@
struct vki_rlimit zero = { 0, 0 };
XArray* addr2dihandle = NULL;
+ #error "The MACOSX106 branch has been merged to the trunk and shouldn't be used any more"
+
//============================================================
//
// Nb: startup is complex. Prerequisites are shown at every step.
|
|
From: <sv...@va...> - 2010-07-01 00:39:07
|
Author: njn Date: 2010-07-01 01:20:20 +0100 (Thu, 01 Jul 2010) New Revision: 11194 Log: Merged the MACOSX106 branch to the trunk. Merge command: svn merge -r11143:HEAD svn://svn.valgrind.org/valgrind/branches/MACOSX106 There were some easy-to-resolve conflicts. Then I had to fix up coregrind/link_tool_exe*.in -- those files had been added independently on both the trunk and the branch, AFAICT. I just overwrote the trunk versions with the branch versions. Added: trunk/memcheck/tests/amd64-linux/ Removed: trunk/coregrind/m_start-amd64-darwin.S trunk/coregrind/m_start-x86-darwin.S trunk/memcheck/tests/amd64/defcfaexpr.S trunk/memcheck/tests/amd64/defcfaexpr.stderr.exp trunk/memcheck/tests/amd64/defcfaexpr.vgtest trunk/memcheck/tests/amd64/int3-amd64.c trunk/memcheck/tests/amd64/int3-amd64.stderr.exp trunk/memcheck/tests/amd64/int3-amd64.stdout.exp trunk/memcheck/tests/amd64/int3-amd64.vgtest Modified: trunk/Makefile.all.am trunk/Makefile.am trunk/Makefile.tool.am trunk/auxprogs/Makefile.am trunk/cachegrind/Makefile.am trunk/callgrind/Makefile.am trunk/configure.in trunk/coregrind/Makefile.am trunk/coregrind/link_tool_exe_darwin.in trunk/coregrind/link_tool_exe_linux.in trunk/coregrind/m_main.c trunk/coregrind/m_redir.c trunk/coregrind/m_sigframe/sigframe-amd64-darwin.c trunk/coregrind/m_sigframe/sigframe-x86-darwin.c trunk/coregrind/m_signals.c trunk/coregrind/m_syswrap/priv_syswrap-darwin.h trunk/coregrind/m_syswrap/syswrap-amd64-darwin.c trunk/coregrind/m_syswrap/syswrap-darwin.c trunk/coregrind/m_trampoline.S trunk/coregrind/m_ume/macho.c trunk/coregrind/pub_core_trampoline.h trunk/coregrind/vg_preloaded.c trunk/darwin9-drd.supp trunk/drd/Makefile.am trunk/drd/tests/tsan_unittest.cpp trunk/exp-bbv/Makefile.am trunk/exp-ptrcheck/Makefile.am trunk/helgrind/Makefile.am trunk/include/vki/vki-darwin.h trunk/include/vki/vki-scnums-darwin.h trunk/lackey/Makefile.am trunk/massif/Makefile.am trunk/memcheck/Makefile.am trunk/memcheck/tests/Makefile.am trunk/memcheck/tests/amd64/Makefile.am trunk/memcheck/tests/amd64/xor-undef-amd64.stderr.exp trunk/memcheck/tests/amd64/xor-undef-amd64.vgtest trunk/none/Makefile.am [... diff too large to include ...] |
|
From: <sv...@va...> - 2010-07-01 00:37:55
|
Author: njn Date: 2010-07-01 01:37:46 +0100 (Thu, 01 Jul 2010) New Revision: 11197 Log: Remove a bogus header file listing. Modified: trunk/memcheck/tests/amd64-linux/Makefile.am Modified: trunk/memcheck/tests/amd64-linux/Makefile.am =================================================================== --- trunk/memcheck/tests/amd64-linux/Makefile.am 2010-07-01 00:34:54 UTC (rev 11196) +++ trunk/memcheck/tests/amd64-linux/Makefile.am 2010-07-01 00:37:46 UTC (rev 11197) @@ -4,8 +4,6 @@ dist_noinst_SCRIPTS = \ filter_stderr -noinst_HEADERS = scalar.h - EXTRA_DIST = \ defcaexpr.vgtest defcaexpr.stderr.exp \ int3-x86.vgtest int3-x86.stderr.exp int3-x86.stdout.exp |
|
From: <sv...@va...> - 2010-07-01 00:35:02
|
Author: njn Date: 2010-07-01 01:34:54 +0100 (Thu, 01 Jul 2010) New Revision: 11196 Log: Add a missing filter_stderr file. Added: trunk/memcheck/tests/amd64-linux/filter_stderr Added: trunk/memcheck/tests/amd64-linux/filter_stderr =================================================================== --- trunk/memcheck/tests/amd64-linux/filter_stderr (rev 0) +++ trunk/memcheck/tests/amd64-linux/filter_stderr 2010-07-01 00:34:54 UTC (rev 11196) @@ -0,0 +1,3 @@ +#! /bin/sh + +../filter_stderr Property changes on: trunk/memcheck/tests/amd64-linux/filter_stderr ___________________________________________________________________ Name: svn:executable + * |
|
From: <sv...@va...> - 2010-07-01 00:34:07
|
Author: njn Date: 2010-07-01 01:28:09 +0100 (Thu, 01 Jul 2010) New Revision: 11195 Log: Add missing darwin10 .supp files. Added: trunk/darwin10-drd.supp trunk/darwin10.supp Added: trunk/darwin10-drd.supp =================================================================== --- trunk/darwin10-drd.supp (rev 0) +++ trunk/darwin10-drd.supp 2010-07-01 00:28:09 UTC (rev 11195) @@ -0,0 +1,2 @@ + +# DRD suppressions for Darwin 10.x / Mac OS X 10.6 Snow Leopard Added: trunk/darwin10.supp =================================================================== --- trunk/darwin10.supp (rev 0) +++ trunk/darwin10.supp 2010-07-01 00:28:09 UTC (rev 11195) @@ -0,0 +1,2 @@ + +# Suppressions for Darwin 10.x / Mac OS X 10.6 Snow Leopard |