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
(3) |
|
2
(8) |
3
(19) |
4
(24) |
5
(23) |
6
(16) |
7
(33) |
8
(5) |
|
9
(4) |
10
(23) |
11
(22) |
12
(40) |
13
(30) |
14
(31) |
15
(17) |
|
16
(18) |
17
(20) |
18
(41) |
19
(36) |
20
(25) |
21
(8) |
22
(9) |
|
23
(17) |
24
(12) |
25
(15) |
26
(15) |
27
(16) |
28
(22) |
29
(6) |
|
30
(7) |
31
(10) |
|
|
|
|
|
|
From: Nicholas N. <n.n...@gm...> - 2009-08-03 23:42:46
|
Hi, I suggest changing --auto-run-dsymutil to --dsymutil just to save everyone some typing. Any objections? N |
|
From: Nicholas N. <n.n...@gm...> - 2009-08-03 23:04:23
|
On Tue, Aug 4, 2009 at 8:11 AM, Julian Seward<js...@ac...> wrote: > > As part of trying to fix > https://bugs.kde.org/show_bug.cgi?id=186790 properly, I made a > change which is long overdue: removing the printing of statistics > from "-v". Up to now, -v has caused the printing of some > additional information which might be useful to the user, such as > error and suppression counts, details of the CPU, and > redirections happening. But it also printed large amounts of > statistics, both for the core and the tool, which is mostly not > of interest to users, and is distracting. > > The attached patch removes statistics printing from -v, and gives > it a new flag --stats=no|yes [no]. For most tools this > significantly tidies up the -v output, and means we can continue > to restrict it to output which is of interest to users. > > I think this would be a good cleanup to have, but it changes the > flag behaviour a bit, so feedback would be good. * You'll need to update the user manual and NEWS file. In the NEWS file, you should mention both --stats and the change in normal output. * Memcheck output now looks like this: ==6281== ==6281== HEAP SUMMARY: ==6281== in use at exit: 15,090 bytes in 17 blocks. ==6281== heap usage: 17 allocs, 0 frees, 15,090 bytes allocated. ==6281== ==6281== Searching for pointers to 17 not-freed blocks. ==6281== Checked 1,123,768 bytes. ==6281== ==6281== LEAK SUMMARY: ==6281== definitely lost: 0 bytes in 0 blocks. ==6281== indirectly lost: 0 bytes in 0 blocks. ==6281== possibly lost: 0 bytes in 0 blocks. ==6281== still reachable: 10,694 bytes in 9 blocks. ==6281== suppressed: 4,396 bytes in 8 blocks. ==6281== Rerun with --leak-check=full to see details of leaked memory. ==6281== ==6281== For counts of detected errors, rerun with: -v ==6281== ERROR SUMMARY: 0 errors from 0 contexts (suppressed: 3 from 3) * Separating the HEAP SUMMARY is good, as previously it was mixed in with error and leak info. But maybe it could be more compact? The increasing indentation is so the ':'s line up, but it looks a bit weird. Previously it was: ==6284== malloc/free: in use at exit: 15,090 bytes in 17 blocks. ==6284== malloc/free: 17 allocs, 0 frees, 15,090 bytes allocated. But I'm not sure how to change it. But "total heap usage" might be clearer. * I think the "For counts of detected errors..." should come after "ERROR SUMMARY". * I think the "Searching for... Checked..." lines should be in the LEAK SUMMARY just before the "Rerun with..." line. It should be a single line: ==6281== Checked 1,123,768 bytes for pointers to 17 unfreed blocks. * "unfreed" rather than "not-freed"? * With all those changes: ==6310== HEAP SUMMARY: ==6310== in use at exit: 15,090 bytes in 17 blocks. ==6310== total heap usage: 17 allocs, 0 frees, 15,090 bytes allocated. ==6310== ==6310== LEAK SUMMARY: ==6310== definitely lost: 0 bytes in 0 blocks. ==6310== indirectly lost: 0 bytes in 0 blocks. ==6310== possibly lost: 0 bytes in 0 blocks. ==6310== still reachable: 10,694 bytes in 9 blocks. ==6310== suppressed: 4,396 bytes in 8 blocks. ==6310== Searched 1,123,768 bytes for pointers to 17 unfreed blocks. ==6310== Rerun with --leak-check=full to see details of leaked memory. ==6310== ==6310== ERROR SUMMARY: 0 errors from 0 contexts (suppressed: 3 from 3) ==6310== For counts of detected errors, rerun with: -v * I wonder if the HEAP SUMMARY is much use. The "in use at exit" bit overlaps partly with the leak summary and could be folded in there. And is the 1,123,768 bytes number useful? How about getting rid of the HEAP SUMMARY and just having this in the LEAK SUMMARY? ==6310== Searched for pointers to 17 unfreed blocks totalling 15,090 bytes. * About the --stats, I like the idea of untangling the mishmash that is -v. So why not take it further? So long as -v contains things that are useful to the user, any debugging info will be a distraction. We already have -d and it only contains debugging stuff. So how about we move all debugging info (eg. redirs, debug info) into -d, and only have useful user stuff (eg. suppressions used, full error list at the end) in -v? Also, -v -v stuff would be presumably moved into -d -d, and -v -v probably wouldn't need to exist as such. And then we could print -v stuff with "==pid==" rather than "--pid--", and do the same for error messages that the user needs to know about. N |
|
From: Julian S. <js...@ac...> - 2009-08-03 22:04:43
|
Hi, As part of trying to fix https://bugs.kde.org/show_bug.cgi?id=186790 properly, I made a change which is long overdue: removing the printing of statistics from "-v". Up to now, -v has caused the printing of some additional information which might be useful to the user, such as error and suppression counts, details of the CPU, and redirections happening. But it also printed large amounts of statistics, both for the core and the tool, which is mostly not of interest to users, and is distracting. The attached patch removes statistics printing from -v, and gives it a new flag --stats=no|yes [no]. For most tools this significantly tidies up the -v output, and means we can continue to restrict it to output which is of interest to users. I think this would be a good cleanup to have, but it changes the flag behaviour a bit, so feedback would be good. For all the tools that report errors, the non "-v" output is unchanged, I believe, except for one thing: DRD, Helgrind and Ptrcheck will print the following extra line just before the final error summary line: ==12025== For counts of detected errors, rerun with: -v This patch also contains my proposed fix to #186790, including some changes to the spacing and wording of the preamble preceding Memcheck's leak check. (Merely swapping around the order of the leak check and tool finalisation makes the output look a bit strange, hence the adjustments). I'm sure this breaks all the regtests, because the filters need to change a bit. I haven't looked into that yet. J |
|
From: Ayan C. <ach...@vm...> - 2009-08-03 20:50:26
|
Hi, I was trying to get my application up with valgrind. I was using the following valgrind options. "/root/valgrind341/bin/valgrind --trace-children=yes --track-fds=yes --log-file=/var/log/vmware/aam/valgrind.out.%p --leak-check=yes --show-reachable=yes --leak-resolution=high --num-callers=40 But getting the following error when getting the program running. valgrind: mmap(0x38000000, 1503232) failed in UME with error 22 (Invalid argument). valgrind: this can be caused by executables with very large text, data or bss segments. Any idea how to work around the problem. Any help will be appreciated. Thanks, Ayan |
|
From: Nicholas N. <n.n...@gm...> - 2009-08-03 17:21:18
|
Nightly build on ocean32 ( Ubuntu 9.04, x86_64 (32-bit only) )
Started at 2009-08-04 03:00:01 EST
Ended at 2009-08-04 03:21:01 EST
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
== 483 tests, 9 stderr failures, 1 stdout failure, 0 post failures ==
memcheck/tests/origin5-bz2 (stderr)
none/tests/empty-exe (stderr)
none/tests/shell (stdout)
none/tests/shell (stderr)
none/tests/shell_valid1 (stderr)
none/tests/shell_valid2 (stderr)
none/tests/shell_valid3 (stderr)
none/tests/shell_zerolength (stderr)
helgrind/tests/tc06_two_races_xml (stderr)
exp-ptrcheck/tests/supp (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
== 482 tests, 9 stderr failures, 1 stdout failure, 0 post failures ==
memcheck/tests/origin5-bz2 (stderr)
none/tests/empty-exe (stderr)
none/tests/shell (stdout)
none/tests/shell (stderr)
none/tests/shell_valid1 (stderr)
none/tests/shell_valid2 (stderr)
none/tests/shell_valid3 (stderr)
none/tests/shell_zerolength (stderr)
helgrind/tests/tc06_two_races_xml (stderr)
exp-ptrcheck/tests/supp (stderr)
=================================================
== Difference between 24 hours ago and now ==
=================================================
*** old.short Tue Aug 4 03:10:37 2009
--- new.short Tue Aug 4 03:21:01 2009
***************
*** 8,10 ****
! == 482 tests, 9 stderr failures, 1 stdout failure, 0 post failures ==
memcheck/tests/origin5-bz2 (stderr)
--- 8,10 ----
! == 483 tests, 9 stderr failures, 1 stdout failure, 0 post failures ==
memcheck/tests/origin5-bz2 (stderr)
=================================================
./valgrind-new/exp-ptrcheck/tests/supp.stderr.diff
=================================================
--- supp.stderr.exp 2009-08-04 03:10:59.000000000 +1000
+++ supp.stderr.out 2009-08-04 03:20:58.000000000 +1000
@@ -1,7 +1,7 @@
Syscall param write(buf) is non-contiguous
- at 0x........: write (in /...libc...)
- by 0x........: main (supp.c:16)
+ at 0x........: ??? (in /lib32/ld-2.9.so)
+ by 0x........: (below main)
First byte (0x........) is 3 bytes inside a 6-byte block alloc'd
at 0x........: malloc (vg_replace_malloc.c:...)
by 0x........: main (supp.c:12)
=================================================
./valgrind-new/helgrind/tests/tc06_two_races_xml.stderr.diff
=================================================
--- tc06_two_races_xml.stderr.exp 2009-08-04 03:10:56.000000000 +1000
+++ tc06_two_races_xml.stderr.out 2009-08-04 03:18:31.000000000 +1000
@@ -43,16 +43,6 @@
<frame>
<ip>0x........</ip>
<obj>...</obj>
- <fn>do_clone</fn>
- </frame>
- <frame>
- <ip>0x........</ip>
- <obj>...</obj>
- <fn>pthread_create@@GLIBC_2.2.5</fn>
- </frame>
- <frame>
- <ip>0x........</ip>
- <obj>...</obj>
<fn>pthread_create_WRK</fn>
<dir>...</dir>
<file>hg_intercepts.c</file>
=================================================
./valgrind-new/memcheck/tests/origin5-bz2.stderr.diff-glibc25-amd64
=================================================
--- origin5-bz2.stderr.exp-glibc25-amd64 2009-08-04 03:11:17.000000000 +1000
+++ origin5-bz2.stderr.out 2009-08-04 03:16:05.000000000 +1000
@@ -11,7 +11,7 @@
Uninitialised value was created by a client request
at 0x........: main (origin5-bz2.c:6479)
-Use of uninitialised value of size 8
+Use of uninitialised value of size 4
at 0x........: handle_compress (origin5-bz2.c:4686)
by 0x........: BZ2_bzCompress (origin5-bz2.c:4822)
by 0x........: BZ2_bzBuffToBuffCompress (origin5-bz2.c:5630)
@@ -19,7 +19,7 @@
Uninitialised value was created by a client request
at 0x........: main (origin5-bz2.c:6479)
-Use of uninitialised value of size 8
+Use of uninitialised value of size 4
at 0x........: handle_compress (origin5-bz2.c:4686)
by 0x........: BZ2_bzCompress (origin5-bz2.c:4822)
by 0x........: BZ2_bzBuffToBuffCompress (origin5-bz2.c:5630)
@@ -27,7 +27,7 @@
Uninitialised value was created by a client request
at 0x........: main (origin5-bz2.c:6479)
-Use of uninitialised value of size 8
+Use of uninitialised value of size 4
at 0x........: mainSort (origin5-bz2.c:2820)
by 0x........: BZ2_blockSort (origin5-bz2.c:3105)
by 0x........: BZ2_compressBlock (origin5-bz2.c:4034)
@@ -38,7 +38,7 @@
Uninitialised value was created by a client request
at 0x........: main (origin5-bz2.c:6479)
-Use of uninitialised value of size 8
+Use of uninitialised value of size 4
at 0x........: mainSort (origin5-bz2.c:2823)
by 0x........: BZ2_blockSort (origin5-bz2.c:3105)
by 0x........: BZ2_compressBlock (origin5-bz2.c:4034)
@@ -49,7 +49,7 @@
Uninitialised value was created by a client request
at 0x........: main (origin5-bz2.c:6479)
-Use of uninitialised value of size 8
+Use of uninitialised value of size 4
at 0x........: mainSort (origin5-bz2.c:2854)
by 0x........: BZ2_blockSort (origin5-bz2.c:3105)
by 0x........: BZ2_compressBlock (origin5-bz2.c:4034)
@@ -60,7 +60,7 @@
Uninitialised value was created by a client request
at 0x........: main (origin5-bz2.c:6479)
-Use of uninitialised value of size 8
+Use of uninitialised value of size 4
at 0x........: mainSort (origin5-bz2.c:2858)
by 0x........: BZ2_blockSort (origin5-bz2.c:3105)
by 0x........: BZ2_compressBlock (origin5-bz2.c:4034)
@@ -71,7 +71,7 @@
Uninitialised value was created by a client request
at 0x........: main (origin5-bz2.c:6479)
-Use of uninitialised value of size 8
+Use of uninitialised value of size 4
at 0x........: mainSort (origin5-bz2.c:2963)
by 0x........: BZ2_blockSort (origin5-bz2.c:3105)
by 0x........: BZ2_compressBlock (origin5-bz2.c:4034)
@@ -82,7 +82,7 @@
Uninitialised value was created by a client request
at 0x........: main (origin5-bz2.c:6479)
-Use of uninitialised value of size 8
+Use of uninitialised value of size 4
at 0x........: mainSort (origin5-bz2.c:2964)
by 0x........: BZ2_blockSort (origin5-bz2.c:3105)
by 0x........: BZ2_compressBlock (origin5-bz2.c:4034)
@@ -93,7 +93,7 @@
Uninitialised value was created by a client request
at 0x........: main (origin5-bz2.c:6479)
-Use of uninitialised value of size 8
+Use of uninitialised value of size 4
at 0x........: fallbackSort (origin5-bz2.c:2269)
by 0x........: BZ2_blockSort (origin5-bz2.c:3116)
by 0x........: BZ2_compressBlock (origin5-bz2.c:4034)
@@ -104,7 +104,7 @@
Uninitialised value was created by a client request
at 0x........: main (origin5-bz2.c:6479)
-Use of uninitialised value of size 8
+Use of uninitialised value of size 4
at 0x........: fallbackSort (origin5-bz2.c:2275)
by 0x........: BZ2_blockSort (origin5-bz2.c:3116)
by 0x........: BZ2_compressBlock (origin5-bz2.c:4034)
=================================================
./valgrind-new/memcheck/tests/origin5-bz2.stderr.diff-glibc25-x86
=================================================
--- origin5-bz2.stderr.exp-glibc25-x86 2009-08-04 03:11:17.000000000 +1000
+++ origin5-bz2.stderr.out 2009-08-04 03:16:05.000000000 +1000
@@ -28,7 +28,8 @@
at 0x........: main (origin5-bz2.c:6479)
Use of uninitialised value of size 4
- at 0x........: BZ2_blockSort (origin5-bz2.c:2820)
+ at 0x........: mainSort (origin5-bz2.c:2820)
+ by 0x........: BZ2_blockSort (origin5-bz2.c:3105)
by 0x........: BZ2_compressBlock (origin5-bz2.c:4034)
by 0x........: handle_compress (origin5-bz2.c:4753)
by 0x........: BZ2_bzCompress (origin5-bz2.c:4822)
@@ -38,7 +39,8 @@
at 0x........: main (origin5-bz2.c:6479)
Use of uninitialised value of size 4
- at 0x........: BZ2_blockSort (origin5-bz2.c:2823)
+ at 0x........: mainSort (origin5-bz2.c:2823)
+ by 0x........: BZ2_blockSort (origin5-bz2.c:3105)
by 0x........: BZ2_compressBlock (origin5-bz2.c:4034)
by 0x........: handle_compress (origin5-bz2.c:4753)
by 0x........: BZ2_bzCompress (origin5-bz2.c:4822)
@@ -48,7 +50,8 @@
at 0x........: main (origin5-bz2.c:6479)
Use of uninitialised value of size 4
- at 0x........: BZ2_blockSort (origin5-bz2.c:2855)
+ at 0x........: mainSort (origin5-bz2.c:2854)
+ by 0x........: BZ2_blockSort (origin5-bz2.c:3105)
by 0x........: BZ2_compressBlock (origin5-bz2.c:4034)
by 0x........: handle_compress (origin5-bz2.c:4753)
by 0x........: BZ2_bzCompress (origin5-bz2.c:4822)
@@ -58,7 +61,8 @@
at 0x........: main (origin5-bz2.c:6479)
Use of uninitialised value of size 4
- at 0x........: BZ2_blockSort (origin5-bz2.c:2859)
+ at 0x........: mainSort (origin5-bz2.c:2858)
+ by 0x........: BZ2_blockSort (origin5-bz2.c:3105)
by 0x........: BZ2_compressBlock (origin5-bz2.c:4034)
by 0x........: handle_compress (origin5-bz2.c:4753)
by 0x........: BZ2_bzCompress (origin5-bz2.c:4822)
@@ -68,7 +72,8 @@
at 0x........: main (origin5-bz2.c:6479)
Use of uninitialised value of size 4
- at 0x........: BZ2_blockSort (origin5-bz2.c:2963)
+ at 0x........: mainSort (origin5-bz2.c:2963)
+ by 0x........: BZ2_blockSort (origin5-bz2.c:3105)
by 0x........: BZ2_compressBlock (origin5-bz2.c:4034)
by 0x........: handle_compress (origin5-bz2.c:4753)
by 0x........: BZ2_bzCompress (origin5-bz2.c:4822)
@@ -78,7 +83,8 @@
at 0x........: main (origin5-bz2.c:6479)
Use of uninitialised value of size 4
- at 0x........: BZ2_blockSort (origin5-bz2.c:2964)
+ at 0x........: mainSort (origin5-bz2.c:2964)
+ by 0x........: BZ2_blockSort (origin5-bz2.c:3105)
by 0x........: BZ2_compressBlock (origin5-bz2.c:4034)
by 0x........: handle_compress (origin5-bz2.c:4753)
by 0x........: BZ2_bzCompress (origin5-bz2.c:4822)
=================================================
./valgrind-new/memcheck/tests/origin5-bz2.stderr.diff-glibc27-ppc64
=================================================
--- origin5-bz2.stderr.exp-glibc27-ppc64 2009-08-04 03:11:17.000000000 +1000
+++ origin5-bz2.stderr.out 2009-08-04 03:16:05.000000000 +1000
@@ -1,7 +1,7 @@
Conditional jump or move depends on uninitialised value(s)
at 0x........: main (origin5-bz2.c:6481)
Uninitialised value was created by a client request
- at 0x........: main (origin5-bz2.c:6481)
+ at 0x........: main (origin5-bz2.c:6479)
Conditional jump or move depends on uninitialised value(s)
at 0x........: handle_compress (origin5-bz2.c:4686)
@@ -9,85 +9,91 @@
by 0x........: BZ2_bzBuffToBuffCompress (origin5-bz2.c:5630)
by 0x........: main (origin5-bz2.c:6484)
Uninitialised value was created by a client request
- at 0x........: main (origin5-bz2.c:6481)
+ at 0x........: main (origin5-bz2.c:6479)
-Use of uninitialised value of size 8
+Use of uninitialised value of size 4
at 0x........: handle_compress (origin5-bz2.c:4686)
by 0x........: BZ2_bzCompress (origin5-bz2.c:4822)
by 0x........: BZ2_bzBuffToBuffCompress (origin5-bz2.c:5630)
by 0x........: main (origin5-bz2.c:6484)
Uninitialised value was created by a client request
- at 0x........: main (origin5-bz2.c:6481)
+ at 0x........: main (origin5-bz2.c:6479)
-Use of uninitialised value of size 8
+Use of uninitialised value of size 4
at 0x........: handle_compress (origin5-bz2.c:4686)
by 0x........: BZ2_bzCompress (origin5-bz2.c:4822)
by 0x........: BZ2_bzBuffToBuffCompress (origin5-bz2.c:5630)
by 0x........: main (origin5-bz2.c:6484)
Uninitialised value was created by a client request
- at 0x........: main (origin5-bz2.c:6481)
+ at 0x........: main (origin5-bz2.c:6479)
-Use of uninitialised value of size 8
- at 0x........: BZ2_blockSort (origin5-bz2.c:2820)
+Use of uninitialised value of size 4
+ at 0x........: mainSort (origin5-bz2.c:2820)
+ by 0x........: BZ2_blockSort (origin5-bz2.c:3105)
by 0x........: BZ2_compressBlock (origin5-bz2.c:4034)
by 0x........: handle_compress (origin5-bz2.c:4753)
by 0x........: BZ2_bzCompress (origin5-bz2.c:4822)
by 0x........: BZ2_bzBuffToBuffCompress (origin5-bz2.c:5630)
by 0x........: main (origin5-bz2.c:6484)
Uninitialised value was created by a client request
- at 0x........: main (origin5-bz2.c:6481)
+ at 0x........: main (origin5-bz2.c:6479)
-Use of uninitialised value of size 8
- at 0x........: BZ2_blockSort (origin5-bz2.c:2823)
+Use of uninitialised value of size 4
+ at 0x........: mainSort (origin5-bz2.c:2823)
+ by 0x........: BZ2_blockSort (origin5-bz2.c:3105)
by 0x........: BZ2_compressBlock (origin5-bz2.c:4034)
by 0x........: handle_compress (origin5-bz2.c:4753)
by 0x........: BZ2_bzCompress (origin5-bz2.c:4822)
by 0x........: BZ2_bzBuffToBuffCompress (origin5-bz2.c:5630)
by 0x........: main (origin5-bz2.c:6484)
Uninitialised value was created by a client request
- at 0x........: main (origin5-bz2.c:6481)
+ at 0x........: main (origin5-bz2.c:6479)
-Use of uninitialised value of size 8
- at 0x........: BZ2_blockSort (origin5-bz2.c:2854)
+Use of uninitialised value of size 4
+ at 0x........: mainSort (origin5-bz2.c:2854)
+ by 0x........: BZ2_blockSort (origin5-bz2.c:3105)
by 0x........: BZ2_compressBlock (origin5-bz2.c:4034)
by 0x........: handle_compress (origin5-bz2.c:4753)
by 0x........: BZ2_bzCompress (origin5-bz2.c:4822)
by 0x........: BZ2_bzBuffToBuffCompress (origin5-bz2.c:5630)
by 0x........: main (origin5-bz2.c:6484)
Uninitialised value was created by a client request
- at 0x........: main (origin5-bz2.c:6481)
+ at 0x........: main (origin5-bz2.c:6479)
-Use of uninitialised value of size 8
- at 0x........: BZ2_blockSort (origin5-bz2.c:2858)
+Use of uninitialised value of size 4
+ at 0x........: mainSort (origin5-bz2.c:2858)
+ by 0x........: BZ2_blockSort (origin5-bz2.c:3105)
by 0x........: BZ2_compressBlock (origin5-bz2.c:4034)
by 0x........: handle_compress (origin5-bz2.c:4753)
by 0x........: BZ2_bzCompress (origin5-bz2.c:4822)
by 0x........: BZ2_bzBuffToBuffCompress (origin5-bz2.c:5630)
by 0x........: main (origin5-bz2.c:6484)
Uninitialised value was created by a client request
- at 0x........: main (origin5-bz2.c:6481)
+ at 0x........: main (origin5-bz2.c:6479)
-Use of uninitialised value of size 8
- at 0x........: BZ2_blockSort (origin5-bz2.c:2963)
+Use of uninitialised value of size 4
+ at 0x........: mainSort (origin5-bz2.c:2963)
+ by 0x........: BZ2_blockSort (origin5-bz2.c:3105)
by 0x........: BZ2_compressBlock (origin5-bz2.c:4034)
<truncated beyond 100 lines>
=================================================
./valgrind-new/none/tests/empty-exe.stderr.diff
=================================================
--- empty-exe.stderr.exp 2009-08-04 03:11:41.000000000 +1000
+++ empty-exe.stderr.out 2009-08-04 03:17:25.000000000 +1000
@@ -1,2 +1,2 @@
-
-
+valgrind: wrong ELF executable class (eg. 32-bit instead of 64-bit)
+valgrind: ./empty-exe: bad interpreter (/bin/sh): VG_(strerror): unknown error
=================================================
./valgrind-new/none/tests/shell.stderr.diff
=================================================
--- shell.stderr.exp 2009-08-04 03:11:41.000000000 +1000
+++ shell.stderr.out 2009-08-04 03:17:46.000000000 +1000
@@ -1,8 +1,3 @@
-./shell: ./x86/: is a directory
-./shell: ./shell.vgtest: Permission denied
-execve(0x........(./shell_badinterp), 0x........, 0x........) failed, errno 2
-EXEC FAILED: I can't recover from execve() failing, so I'm dying.
-Add more stringent tests in PRE(sys_execve), or work out how to recover.
-./shell: ./shell_binaryfile: cannot execute binary file
-./shell: ./shell_nosuchfile: No such file or directory
-./shell: shell_nosuchfile: command not found
+valgrind: wrong ELF executable class (eg. 32-bit instead of 64-bit)
+valgrind: wrong ELF executable class (eg. 32-bit instead of 64-bit)
+valgrind: ./shell: bad interpreter (/bin/sh): VG_(strerror): unknown error
=================================================
./valgrind-new/none/tests/shell.stderr.diff-dash
=================================================
--- shell.stderr.exp-dash 2009-08-04 03:11:41.000000000 +1000
+++ shell.stderr.out 2009-08-04 03:17:46.000000000 +1000
@@ -1,8 +1,3 @@
-./shell: 10: ./x86/: Permission denied
-./shell: 13: ./shell.vgtest: Permission denied
-execve(0x........(./shell_badinterp), 0x........, 0x........) failed, errno 2
-EXEC FAILED: I can't recover from execve() failing, so I'm dying.
-Add more stringent tests in PRE(sys_execve), or work out how to recover.
-./shell_binaryfile: 4: Syntax error: ")" unexpected
-./shell: 22: ./shell_nosuchfile: not found
-./shell: 25: shell_nosuchfile: not found
+valgrind: wrong ELF executable class (eg. 32-bit instead of 64-bit)
+valgrind: wrong ELF executable class (eg. 32-bit instead of 64-bit)
+valgrind: ./shell: bad interpreter (/bin/sh): VG_(strerror): unknown error
=================================================
./valgrind-new/none/tests/shell.stdout.diff
=================================================
--- shell.stdout.exp 2009-08-04 03:11:41.000000000 +1000
+++ shell.stdout.out 2009-08-04 03:17:46.000000000 +1000
@@ -1,10 +0,0 @@
-Execute a directory
-Execute a non-executable file
-Execute a script with a bad interpreter name
-Execute a binary file
-Execute a non-existent file
-Execute a non-existent file (2)
-Execute a valid script with a #! line
-Execute a valid script without a #! line
-Execute a valid script with #! but no interpname
-Execute a zero-length file
=================================================
./valgrind-new/none/tests/shell_valid1.stderr.diff
=================================================
--- shell_valid1.stderr.exp 2009-08-04 03:11:41.000000000 +1000
+++ shell_valid1.stderr.out 2009-08-04 03:17:46.000000000 +1000
@@ -0,0 +1,3 @@
+valgrind: wrong ELF executable class (eg. 32-bit instead of 64-bit)
+valgrind: wrong ELF executable class (eg. 32-bit instead of 64-bit)
+valgrind: ./shell_valid1: bad interpreter (/bin/sh): VG_(strerror): unknown error
=================================================
./valgrind-new/none/tests/shell_valid2.stderr.diff
=================================================
--- shell_valid2.stderr.exp 2009-08-04 03:11:41.000000000 +1000
+++ shell_valid2.stderr.out 2009-08-04 03:17:46.000000000 +1000
@@ -0,0 +1,2 @@
+valgrind: wrong ELF executable class (eg. 32-bit instead of 64-bit)
+valgrind: ./shell_valid2: bad interpreter (/bin/sh): VG_(strerror): unknown error
=================================================
./valgrind-new/none/tests/shell_valid3.stderr.diff
=================================================
--- shell_valid3.stderr.exp 2009-08-04 03:11:41.000000000 +1000
+++ shell_valid3.stderr.out 2009-08-04 03:17:46.000000000 +1000
@@ -0,0 +1,2 @@
+valgrind: wrong ELF executable class (eg. 32-bit instead of 64-bit)
+valgrind: ./shell_valid3: bad interpreter (/bin/sh): VG_(strerror): unknown error
=================================================
./valgrind-new/none/tests/shell_zerolength.stderr.diff
=================================================
--- shell_zerolength.stderr.exp 2009-08-04 03:11:41.000000000 +1000
+++ shell_zerolength.stderr.out 2009-08-04 03:17:46.000000000 +1000
@@ -0,0 +1,2 @@
+valgrind: wrong ELF executable class (eg. 32-bit instead of 64-bit)
+valgrind: ./shell_zerolength: bad interpreter (/bin/sh): VG_(strerror): unknown error
=================================================
./valgrind-new/none/tests/shell_zerolength.stderr.diff-dash
=================================================
--- shell_zerolength.stderr.exp-dash 2009-08-04 03:11:41.000000000 +1000
+++ shell_zerolength.stderr.out 2009-08-04 03:17:46.000000000 +1000
@@ -1 +1,2 @@
-Bus error
+valgrind: wrong ELF executable class (eg. 32-bit instead of 64-bit)
+valgrind: ./shell_zerolength: bad interpreter (/bin/sh): VG_(strerror): unknown error
=================================================
./valgrind-old/exp-ptrcheck/tests/supp.stderr.diff
=================================================
--- supp.stderr.exp 2009-08-04 03:00:39.000000000 +1000
+++ supp.stderr.out 2009-08-04 03:10:34.000000000 +1000
@@ -1,7 +1,7 @@
Syscall param write(buf) is non-contiguous
- at 0x........: write (in /...libc...)
- by 0x........: main (supp.c:16)
+ at 0x........: ??? (in /lib32/ld-2.9.so)
+ by 0x........: (below main)
First byte (0x........) is 3 bytes inside a 6-byte block alloc'd
at 0x........: malloc (vg_replace_malloc.c:...)
by 0x........: main (supp.c:12)
=================================================
./valgrind-old/helgrind/tests/tc06_two_races_xml.stderr.diff
=================================================
--- tc06_two_races_xml.stderr.exp 2009-08-04 03:00:36.000000000 +1000
+++ tc06_two_races_xml.stderr.out 2009-08-04 03:08:05.000000000 +1000
@@ -43,16 +43,6 @@
<frame>
<ip>0x........</ip>
<obj>...</obj>
- <fn>do_clone</fn>
- </frame>
- <frame>
- <ip>0x........</ip>
- <obj>...</obj>
- <fn>pthread_create@@GLIBC_2.2.5</fn>
- </frame>
- <frame>
- <ip>0x........</ip>
- <obj>...</obj>
<fn>pthread_create_WRK</fn>
<dir>...</dir>
<file>hg_intercepts.c</file>
=================================================
./valgrind-old/memcheck/tests/origin5-bz2.stderr.diff-glibc25-amd64
=================================================
--- origin5-bz2.stderr.exp-glibc25-amd64 2009-08-04 03:00:57.000000000 +1000
+++ origin5-bz2.stderr.out 2009-08-04 03:05:41.000000000 +1000
@@ -11,7 +11,7 @@
Uninitialised value was created by a client request
at 0x........: main (origin5-bz2.c:6479)
-Use of uninitialised value of size 8
+Use of uninitialised value of size 4
at 0x........: handle_compress (origin5-bz2.c:4686)
by 0x........: BZ2_bzCompress (origin5-bz2.c:4822)
by 0x........: BZ2_bzBuffToBuffCompress (origin5-bz2.c:5630)
@@ -19,7 +19,7 @@
Uninitialised value was created by a client request
at 0x........: main (origin5-bz2.c:6479)
-Use of uninitialised value of size 8
+Use of uninitialised value of size 4
at 0x........: handle_compress (origin5-bz2.c:4686)
by 0x........: BZ2_bzCompress (origin5-bz2.c:4822)
by 0x........: BZ2_bzBuffToBuffCompress (origin5-bz2.c:5630)
@@ -27,7 +27,7 @@
Uninitialised value was created by a client request
at 0x........: main (origin5-bz2.c:6479)
-Use of uninitialised value of size 8
+Use of uninitialised value of size 4
at 0x........: mainSort (origin5-bz2.c:2820)
by 0x........: BZ2_blockSort (origin5-bz2.c:3105)
by 0x........: BZ2_compressBlock (origin5-bz2.c:4034)
@@ -38,7 +38,7 @@
Uninitialised value was created by a client request
at 0x........: main (origin5-bz2.c:6479)
-Use of uninitialised value of size 8
+Use of uninitialised value of size 4
at 0x........: mainSort (origin5-bz2.c:2823)
by 0x........: BZ2_blockSort (origin5-bz2.c:3105)
by 0x........: BZ2_compressBlock (origin5-bz2.c:4034)
@@ -49,7 +49,7 @@
Uninitialised value was created by a client request
at 0x........: main (origin5-bz2.c:6479)
-Use of uninitialised value of size 8
+Use of uninitialised value of size 4
at 0x........: mainSort (origin5-bz2.c:2854)
by 0x........: BZ2_blockSort (origin5-bz2.c:3105)
by 0x........: BZ2_compressBlock (origin5-bz2.c:4034)
@@ -60,7 +60,7 @@
Uninitialised value was created by a client request
at 0x........: main (origin5-bz2.c:6479)
-Use of uninitialised value of size 8
+Use of uninitialised value of size 4
at 0x........: mainSort (origin5-bz2.c:2858)
by 0x........: BZ2_blockSort (origin5-bz2.c:3105)
by 0x........: BZ2_compressBlock (origin5-bz2.c:4034)
@@ -71,7 +71,7 @@
Uninitialised value was created by a client request
at 0x........: main (origin5-bz2.c:6479)
-Use of uninitialised value of size 8
+Use of uninitialised value of size 4
at 0x........: mainSort (origin5-bz2.c:2963)
by 0x........: BZ2_blockSort (origin5-bz2.c:3105)
by 0x........: BZ2_compressBlock (origin5-bz2.c:4034)
@@ -82,7 +82,7 @@
Uninitialised value was created by a client request
at 0x........: main (origin5-bz2.c:6479)
-Use of uninitialised value of size 8
+Use of uninitialised value of size 4
at 0x........: mainSort (origin5-bz2.c:2964)
by 0x........: BZ2_blockSort (origin5-bz2.c:3105)
by 0x........: BZ2_compressBlock (origin5-bz2.c:4034)
@@ -93,7 +93,7 @@
Uninitialised value was created by a client request
at 0x........: main (origin5-bz2.c:6479)
-Use of uninitialised value of size 8
+Use of uninitialised value of size 4
at 0x........: fallbackSort (origin5-bz2.c:2269)
by 0x........: BZ2_blockSort (origin5-bz2.c:3116)
by 0x........: BZ2_compressBlock (origin5-bz2.c:4034)
@@ -104,7 +104,7 @@
Uninitialised value was created by a client request
at 0x........: main (origin5-bz2.c:6479)
-Use of uninitialised value of size 8
+Use of uninitialised value of size 4
at 0x........: fallbackSort (origin5-bz2.c:2275)
by 0x........: BZ2_blockSort (origin5-bz2.c:3116)
by 0x........: BZ2_compressBlock (origin5-bz2.c:4034)
=================================================
./valgrind-old/memcheck/tests/origin5-bz2.stderr.diff-glibc25-x86
=================================================
--- origin5-bz2.stderr.exp-glibc25-x86 2009-08-04 03:00:57.000000000 +1000
+++ origin5-bz2.stderr.out 2009-08-04 03:05:41.000000000 +1000
@@ -28,7 +28,8 @@
at 0x........: main (origin5-bz2.c:6479)
Use of uninitialised value of size 4
- at 0x........: BZ2_blockSort (origin5-bz2.c:2820)
+ at 0x........: mainSort (origin5-bz2.c:2820)
+ by 0x........: BZ2_blockSort (origin5-bz2.c:3105)
by 0x........: BZ2_compressBlock (origin5-bz2.c:4034)
by 0x........: handle_compress (origin5-bz2.c:4753)
by 0x........: BZ2_bzCompress (origin5-bz2.c:4822)
@@ -38,7 +39,8 @@
at 0x........: main (origin5-bz2.c:6479)
Use of uninitialised value of size 4
- at 0x........: BZ2_blockSort (origin5-bz2.c:2823)
+ at 0x........: mainSort (origin5-bz2.c:2823)
+ by 0x........: BZ2_blockSort (origin5-bz2.c:3105)
by 0x........: BZ2_compressBlock (origin5-bz2.c:4034)
by 0x........: handle_compress (origin5-bz2.c:4753)
by 0x........: BZ2_bzCompress (origin5-bz2.c:4822)
@@ -48,7 +50,8 @@
at 0x........: main (origin5-bz2.c:6479)
Use of uninitialised value of size 4
- at 0x........: BZ2_blockSort (origin5-bz2.c:2855)
+ at 0x........: mainSort (origin5-bz2.c:2854)
+ by 0x........: BZ2_blockSort (origin5-bz2.c:3105)
by 0x........: BZ2_compressBlock (origin5-bz2.c:4034)
by 0x........: handle_compress (origin5-bz2.c:4753)
by 0x........: BZ2_bzCompress (origin5-bz2.c:4822)
@@ -58,7 +61,8 @@
at 0x........: main (origin5-bz2.c:6479)
Use of uninitialised value of size 4
- at 0x........: BZ2_blockSort (origin5-bz2.c:2859)
+ at 0x........: mainSort (origin5-bz2.c:2858)
+ by 0x........: BZ2_blockSort (origin5-bz2.c:3105)
by 0x........: BZ2_compressBlock (origin5-bz2.c:4034)
by 0x........: handle_compress (origin5-bz2.c:4753)
by 0x........: BZ2_bzCompress (origin5-bz2.c:4822)
@@ -68,7 +72,8 @@
at 0x........: main (origin5-bz2.c:6479)
Use of uninitialised value of size 4
- at 0x........: BZ2_blockSort (origin5-bz2.c:2963)
+ at 0x........: mainSort (origin5-bz2.c:2963)
+ by 0x........: BZ2_blockSort (origin5-bz2.c:3105)
by 0x........: BZ2_compressBlock (origin5-bz2.c:4034)
by 0x........: handle_compress (origin5-bz2.c:4753)
by 0x........: BZ2_bzCompress (origin5-bz2.c:4822)
@@ -78,7 +83,8 @@
at 0x........: main (origin5-bz2.c:6479)
Use of uninitialised value of size 4
- at 0x........: BZ2_blockSort (origin5-bz2.c:2964)
+ at 0x........: mainSort (origin5-bz2.c:2964)
+ by 0x........: BZ2_blockSort (origin5-bz2.c:3105)
by 0x........: BZ2_compressBlock (origin5-bz2.c:4034)
by 0x........: handle_compress (origin5-bz2.c:4753)
by 0x........: BZ2_bzCompress (origin5-bz2.c:4822)
=================================================
./valgrind-old/memcheck/tests/origin5-bz2.stderr.diff-glibc27-ppc64
=================================================
--- origin5-bz2.stderr.exp-glibc27-ppc64 2009-08-04 03:00:57.000000000 +1000
+++ origin5-bz2.stderr.out 2009-08-04 03:05:41.000000000 +1000
@@ -1,7 +1,7 @@
Conditional jump or move depends on uninitialised value(s)
at 0x........: main (origin5-bz2.c:6481)
Uninitialised value was created by a client request
- at 0x........: main (origin5-bz2.c:6481)
+ at 0x........: main (origin5-bz2.c:6479)
Conditional jump or move depends on uninitialised value(s)
at 0x........: handle_compress (origin5-bz2.c:4686)
@@ -9,85 +9,91 @@
by 0x........: BZ2_bzBuffToBuffCompress (origin5-bz2.c:5630)
by 0x........: main (origin5-bz2.c:6484)
Uninitialised value was created by a client request
- at 0x........: main (origin5-bz2.c:6481)
+ at 0x........: main (origin5-bz2.c:6479)
-Use of uninitialised value of size 8
+Use of uninitialised value of size 4
at 0x........: handle_compress (origin5-bz2.c:4686)
by 0x........: BZ2_bzCompress (origin5-bz2.c:4822)
by 0x........: BZ2_bzBuffToBuffCompress (origin5-bz2.c:5630)
by 0x........: main (origin5-bz2.c:6484)
Uninitialised value was created by a client request
- at 0x........: main (origin5-bz2.c:6481)
+ at 0x........: main (origin5-bz2.c:6479)
-Use of uninitialised value of size 8
+Use of uninitialised value of size 4
at 0x........: handle_compress (origin5-bz2.c:4686)
by 0x........: BZ2_bzCompress (origin5-bz2.c:4822)
by 0x........: BZ2_bzBuffToBuffCompress (origin5-bz2.c:5630)
by 0x........: main (origin5-bz2.c:6484)
Uninitialised value was created by a client request
- at 0x........: main (origin5-bz2.c:6481)
+ at 0x........: main (origin5-bz2.c:6479)
-Use of uninitialised value of size 8
- at 0x........: BZ2_blockSort (origin5-bz2.c:2820)
+Use of uninitialised value of size 4
+ at 0x........: mainSort (origin5-bz2.c:2820)
+ by 0x........: BZ2_blockSort (origin5-bz2.c:3105)
by 0x........: BZ2_compressBlock (origin5-bz2.c:4034)
by 0x........: handle_compress (origin5-bz2.c:4753)
by 0x........: BZ2_bzCompress (origin5-bz2.c:4822)
by 0x........: BZ2_bzBuffToBuffCompress (origin5-bz2.c:5630)
by 0x........: main (origin5-bz2.c:6484)
Uninitialised value was created by a client request
- at 0x........: main (origin5-bz2.c:6481)
+ at 0x........: main (origin5-bz2.c:6479)
-Use of uninitialised value of size 8
- at 0x........: BZ2_blockSort (origin5-bz2.c:2823)
+Use of uninitialised value of size 4
+ at 0x........: mainSort (origin5-bz2.c:2823)
+ by 0x........: BZ2_blockSort (origin5-bz2.c:3105)
by 0x........: BZ2_compressBlock (origin5-bz2.c:4034)
by 0x........: handle_compress (origin5-bz2.c:4753)
by 0x........: BZ2_bzCompress (origin5-bz2.c:4822)
by 0x........: BZ2_bzBuffToBuffCompress (origin5-bz2.c:5630)
by 0x........: main (origin5-bz2.c:6484)
Uninitialised value was created by a client request
- at 0x........: main (origin5-bz2.c:6481)
+ at 0x........: main (origin5-bz2.c:6479)
-Use of uninitialised value of size 8
- at 0x........: BZ2_blockSort (origin5-bz2.c:2854)
+Use of uninitialised value of size 4
+ at 0x........: mainSort (origin5-bz2.c:2854)
+ by 0x........: BZ2_blockSort (origin5-bz2.c:3105)
by 0x........: BZ2_compressBlock (origin5-bz2.c:4034)
by 0x........: handle_compress (origin5-bz2.c:4753)
by 0x........: BZ2_bzCompress (origin5-bz2.c:4822)
by 0x........: BZ2_bzBuffToBuffCompress (origin5-bz2.c:5630)
by 0x........: main (origin5-bz2.c:6484)
Uninitialised value was created by a client request
- at 0x........: main (origin5-bz2.c:6481)
+ at 0x........: main (origin5-bz2.c:6479)
-Use of uninitialised value of size 8
- at 0x........: BZ2_blockSort (origin5-bz2.c:2858)
+Use of uninitialised value of size 4
+ at 0x........: mainSort (origin5-bz2.c:2858)
+ by 0x........: BZ2_blockSort (origin5-bz2.c:3105)
by 0x........: BZ2_compressBlock (origin5-bz2.c:4034)
by 0x........: handle_compress (origin5-bz2.c:4753)
by 0x........: BZ2_bzCompress (origin5-bz2.c:4822)
by 0x........: BZ2_bzBuffToBuffCompress (origin5-bz2.c:5630)
by 0x........: main (origin5-bz2.c:6484)
Uninitialised value was created by a client request
- at 0x........: main (origin5-bz2.c:6481)
+ at 0x........: main (origin5-bz2.c:6479)
-Use of uninitialised value of size 8
- at 0x........: BZ2_blockSort (origin5-bz2.c:2963)
+Use of uninitialised value of size 4
+ at 0x........: mainSort (origin5-bz2.c:2963)
+ by 0x........: BZ2_blockSort (origin5-bz2.c:3105)
by 0x........: BZ2_compressBlock (origin5-bz2.c:4034)
<truncated beyond 100 lines>
=================================================
./valgrind-old/none/tests/empty-exe.stderr.diff
=================================================
--- empty-exe.stderr.exp 2009-08-04 03:01:22.000000000 +1000
+++ empty-exe.stderr.out 2009-08-04 03:07:00.000000000 +1000
@@ -1,2 +1,2 @@
-
-
+valgrind: wrong ELF executable class (eg. 32-bit instead of 64-bit)
+valgrind: ./empty-exe: bad interpreter (/bin/sh): VG_(strerror): unknown error
=================================================
./valgrind-old/none/tests/shell.stderr.diff
=================================================
--- shell.stderr.exp 2009-08-04 03:01:22.000000000 +1000
+++ shell.stderr.out 2009-08-04 03:07:21.000000000 +1000
@@ -1,8 +1,3 @@
-./shell: ./x86/: is a directory
-./shell: ./shell.vgtest: Permission denied
-execve(0x........(./shell_badinterp), 0x........, 0x........) failed, errno 2
-EXEC FAILED: I can't recover from execve() failing, so I'm dying.
-Add more stringent tests in PRE(sys_execve), or work out how to recover.
-./shell: ./shell_binaryfile: cannot execute binary file
-./shell: ./shell_nosuchfile: No such file or directory
-./shell: shell_nosuchfile: command not found
+valgrind: wrong ELF executable class (eg. 32-bit instead of 64-bit)
+valgrind: wrong ELF executable class (eg. 32-bit instead of 64-bit)
+valgrind: ./shell: bad interpreter (/bin/sh): VG_(strerror): unknown error
=================================================
./valgrind-old/none/tests/shell.stderr.diff-dash
=================================================
--- shell.stderr.exp-dash 2009-08-04 03:01:22.000000000 +1000
+++ shell.stderr.out 2009-08-04 03:07:21.000000000 +1000
@@ -1,8 +1,3 @@
-./shell: 10: ./x86/: Permission denied
-./shell: 13: ./shell.vgtest: Permission denied
-execve(0x........(./shell_badinterp), 0x........, 0x........) failed, errno 2
-EXEC FAILED: I can't recover from execve() failing, so I'm dying.
-Add more stringent tests in PRE(sys_execve), or work out how to recover.
-./shell_binaryfile: 4: Syntax error: ")" unexpected
-./shell: 22: ./shell_nosuchfile: not found
-./shell: 25: shell_nosuchfile: not found
+valgrind: wrong ELF executable class (eg. 32-bit instead of 64-bit)
+valgrind: wrong ELF executable class (eg. 32-bit instead of 64-bit)
+valgrind: ./shell: bad interpreter (/bin/sh): VG_(strerror): unknown error
=================================================
./valgrind-old/none/tests/shell.stdout.diff
=================================================
--- shell.stdout.exp 2009-08-04 03:01:22.000000000 +1000
+++ shell.stdout.out 2009-08-04 03:07:21.000000000 +1000
@@ -1,10 +0,0 @@
-Execute a directory
-Execute a non-executable file
-Execute a script with a bad interpreter name
-Execute a binary file
-Execute a non-existent file
-Execute a non-existent file (2)
-Execute a valid script with a #! line
-Execute a valid script without a #! line
-Execute a valid script with #! but no interpname
-Execute a zero-length file
=================================================
./valgrind-old/none/tests/shell_valid1.stderr.diff
=================================================
--- shell_valid1.stderr.exp 2009-08-04 03:01:22.000000000 +1000
+++ shell_valid1.stderr.out 2009-08-04 03:07:21.000000000 +1000
@@ -0,0 +1,3 @@
+valgrind: wrong ELF executable class (eg. 32-bit instead of 64-bit)
+valgrind: wrong ELF executable class (eg. 32-bit instead of 64-bit)
+valgrind: ./shell_valid1: bad interpreter (/bin/sh): VG_(strerror): unknown error
=================================================
./valgrind-old/none/tests/shell_valid2.stderr.diff
=================================================
--- shell_valid2.stderr.exp 2009-08-04 03:01:22.000000000 +1000
+++ shell_valid2.stderr.out 2009-08-04 03:07:21.000000000 +1000
@@ -0,0 +1,2 @@
+valgrind: wrong ELF executable class (eg. 32-bit instead of 64-bit)
+valgrind: ./shell_valid2: bad interpreter (/bin/sh): VG_(strerror): unknown error
=================================================
./valgrind-old/none/tests/shell_valid3.stderr.diff
=================================================
--- shell_valid3.stderr.exp 2009-08-04 03:01:22.000000000 +1000
+++ shell_valid3.stderr.out 2009-08-04 03:07:21.000000000 +1000
@@ -0,0 +1,2 @@
+valgrind: wrong ELF executable class (eg. 32-bit instead of 64-bit)
+valgrind: ./shell_valid3: bad interpreter (/bin/sh): VG_(strerror): unknown error
=================================================
./valgrind-old/none/tests/shell_zerolength.stderr.diff
=================================================
--- shell_zerolength.stderr.exp 2009-08-04 03:01:22.000000000 +1000
+++ shell_zerolength.stderr.out 2009-08-04 03:07:21.000000000 +1000
@@ -0,0 +1,2 @@
+valgrind: wrong ELF executable class (eg. 32-bit instead of 64-bit)
+valgrind: ./shell_zerolength: bad interpreter (/bin/sh): VG_(strerror): unknown error
=================================================
./valgrind-old/none/tests/shell_zerolength.stderr.diff-dash
=================================================
--- shell_zerolength.stderr.exp-dash 2009-08-04 03:01:22.000000000 +1000
+++ shell_zerolength.stderr.out 2009-08-04 03:07:21.000000000 +1000
@@ -1 +1,2 @@
-Bus error
+valgrind: wrong ELF executable class (eg. 32-bit instead of 64-bit)
+valgrind: ./shell_zerolength: bad interpreter (/bin/sh): VG_(strerror): unknown error
|
|
From: Nicholas N. <n.n...@gm...> - 2009-08-03 16:24:33
|
Nightly build on ocean ( Ubuntu 9.04, x86_64 )
Started at 2009-08-04 02:00:01 EST
Ended at 2009-08-04 02:24:15 EST
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
== 527 tests, 1 stderr failure, 0 stdout failures, 0 post failures ==
helgrind/tests/tc06_two_races_xml (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
== 526 tests, 1 stderr failure, 0 stdout failures, 0 post failures ==
helgrind/tests/tc06_two_races_xml (stderr)
=================================================
== Difference between 24 hours ago and now ==
=================================================
*** old.short Tue Aug 4 02:12:14 2009
--- new.short Tue Aug 4 02:24:15 2009
***************
*** 8,10 ****
! == 526 tests, 1 stderr failure, 0 stdout failures, 0 post failures ==
helgrind/tests/tc06_two_races_xml (stderr)
--- 8,10 ----
! == 527 tests, 1 stderr failure, 0 stdout failures, 0 post failures ==
helgrind/tests/tc06_two_races_xml (stderr)
=================================================
./valgrind-new/helgrind/tests/tc06_two_races_xml.stderr.diff
=================================================
--- tc06_two_races_xml.stderr.exp 2009-08-04 02:12:32.000000000 +1000
+++ tc06_two_races_xml.stderr.out 2009-08-04 02:21:57.000000000 +1000
@@ -43,11 +43,6 @@
<frame>
<ip>0x........</ip>
<obj>...</obj>
- <fn>do_clone</fn>
- </frame>
- <frame>
- <ip>0x........</ip>
- <obj>...</obj>
<fn>pthread_create@@GLIBC_2.2.5</fn>
</frame>
<frame>
=================================================
./valgrind-old/helgrind/tests/tc06_two_races_xml.stderr.diff
=================================================
--- tc06_two_races_xml.stderr.exp 2009-08-04 02:00:34.000000000 +1000
+++ tc06_two_races_xml.stderr.out 2009-08-04 02:09:56.000000000 +1000
@@ -43,11 +43,6 @@
<frame>
<ip>0x........</ip>
<obj>...</obj>
- <fn>do_clone</fn>
- </frame>
- <frame>
- <ip>0x........</ip>
- <obj>...</obj>
<fn>pthread_create@@GLIBC_2.2.5</fn>
</frame>
<frame>
|
|
From: <sv...@va...> - 2009-08-03 14:40:01
|
Author: tom
Date: 2009-08-03 15:39:54 +0100 (Mon, 03 Aug 2009)
New Revision: 10698
Log:
Ignore structure members with no location - thiscan happen with static
const members in C++ code which are compile time constants that do no
exist in the class. They're not of any interest to us so we ignore them.
Modified:
trunk/coregrind/m_debuginfo/readdwarf3.c
Modified: trunk/coregrind/m_debuginfo/readdwarf3.c
===================================================================
--- trunk/coregrind/m_debuginfo/readdwarf3.c 2009-08-03 13:47:04 UTC (rev 10697)
+++ trunk/coregrind/m_debuginfo/readdwarf3.c 2009-08-03 14:39:54 UTC (rev 10698)
@@ -2377,23 +2377,28 @@
vg_assert(fieldE.Te.Field.name);
if (fieldE.Te.Field.typeR == D3_INVALID_CUOFF)
goto bad_DIE;
- if (parent_is_struct && (!fieldE.Te.Field.loc))
- goto bad_DIE;
- if ((!parent_is_struct) && fieldE.Te.Field.loc) {
- /* If this is a union type, pretend we haven't seen the data
- member location expression, as it is by definition
- redundant (it must be zero). */
- ML_(dinfo_free)(fieldE.Te.Field.loc);
- fieldE.Te.Field.loc = NULL;
- fieldE.Te.Field.nLoc = 0;
+ if (fieldE.Te.Field.loc) {
+ if (!parent_is_struct) {
+ /* If this is a union type, pretend we haven't seen the data
+ member location expression, as it is by definition
+ redundant (it must be zero). */
+ ML_(dinfo_free)(fieldE.Te.Field.loc);
+ fieldE.Te.Field.loc = NULL;
+ fieldE.Te.Field.nLoc = 0;
+ }
+ /* Record this child in the parent */
+ fieldE.Te.Field.isStruct = parent_is_struct;
+ vg_assert(parser->qparentE[parser->sp].Te.TyStOrUn.fieldRs);
+ VG_(addToXA)( parser->qparentE[parser->sp].Te.TyStOrUn.fieldRs,
+ &posn );
+ /* And record the child itself */
+ goto acquire_Field;
+ } else {
+ /* Member with no location - this can happen with static
+ const members in C++ code which are compile time constants
+ that do no exist in the class. They're not of any interest
+ to us so we ignore them. */
}
- /* Record this child in the parent */
- fieldE.Te.Field.isStruct = parent_is_struct;
- vg_assert(parser->qparentE[parser->sp].Te.TyStOrUn.fieldRs);
- VG_(addToXA)( parser->qparentE[parser->sp].Te.TyStOrUn.fieldRs,
- &posn );
- /* And record the child itself */
- goto acquire_Field;
}
if (dtag == DW_TAG_array_type) {
|
|
From: <sv...@va...> - 2009-08-03 13:47:17
|
Author: sewardj
Date: 2009-08-03 14:47:04 +0100 (Mon, 03 Aug 2009)
New Revision: 10697
Log:
Patch to remember/restore CFA state on DW_CFA_{remember,restore}_state.
In addition to that it fixes a bug in restore_ctx handling, where it
was restoring the state from the same stack level in restore_ctx
context as is current in ctx, which is wrong, the CIE likely has no
DW_CFA_remember_state at all, while the FDE could have one.
(Jakub Jelinek). This is #200029, patch in comment #2.
Modified:
trunk/coregrind/m_debuginfo/readdwarf.c
Modified: trunk/coregrind/m_debuginfo/readdwarf.c
===================================================================
--- trunk/coregrind/m_debuginfo/readdwarf.c 2009-08-03 13:29:42 UTC (rev 10696)
+++ trunk/coregrind/m_debuginfo/readdwarf.c 2009-08-03 13:47:04 UTC (rev 10697)
@@ -1943,17 +1943,20 @@
run_CF_instruction. */
/* The LOC entry */
Addr loc;
- /* The CFA entry. This can be either reg+/-offset or an expr. */
- Bool cfa_is_regoff; /* True=>is reg+offset; False=>is expr */
- Int cfa_reg;
- Int cfa_off; /* in bytes */
- Int cfa_expr_ix; /* index into cfa_exprs */
- /* A stack of register unwind rules. We need a stack of them,
- rather than just one set of rules, in order to handle
+ /* We need a stack of these in order to handle
DW_CFA_{remember,restore}_state. */
- RegRule reg[N_RR_STACK][N_CFI_REGS];
- Int reg_sp; /* 0 <= reg_sp < N_RR_STACK; points at the
- currently-in-use rule set. */
+ struct UnwindContextState {
+ /* The CFA entry. This can be either reg+/-offset or an expr. */
+ Bool cfa_is_regoff; /* True=>is reg+offset; False=>is expr */
+ Int cfa_reg;
+ Int cfa_off; /* in bytes */
+ Int cfa_expr_ix; /* index into cfa_exprs */
+ /* Register unwind rules. */
+ RegRule reg[N_CFI_REGS];
+ }
+ state[N_RR_STACK];
+ Int state_sp; /* 0 <= state_sp < N_RR_STACK; points at the
+ currently-in-use rule set. */
/* array of CfiExpr, shared by reg[] and cfa_expr_ix */
XArray* exprs;
}
@@ -1963,18 +1966,20 @@
{
Int j, i;
VG_(printf)("0x%llx: ", (ULong)ctx->loc);
- if (ctx->cfa_is_regoff) {
- VG_(printf)("%d(r%d) ", ctx->cfa_off, ctx->cfa_reg);
- } else {
- vg_assert(ctx->exprs);
- VG_(printf)("{");
- ML_(ppCfiExpr)( ctx->exprs, ctx->cfa_expr_ix );
- VG_(printf)("} ");
- }
- for (j = 0; j <= ctx->reg_sp; j++) {
+ for (j = 0; j <= ctx->state_sp; j++) {
+ struct UnwindContextState* ctxs = &ctx->state[j];
VG_(printf)("%s[%d]={ ", j > 0 ? " " : "", j);
+ if (ctxs->cfa_is_regoff) {
+ VG_(printf)("%d(r%d) ", ctxs->cfa_off, ctxs->cfa_reg);
+ } else {
+ vg_assert(ctx->exprs);
+ VG_(printf)("{");
+ ML_(ppCfiExpr)( ctx->exprs, ctxs->cfa_expr_ix );
+ VG_(printf)("} ");
+ }
+ VG_(printf)("{ ");
for (i = 0; i < N_CFI_REGS; i++)
- ppRegRule(ctx->exprs, &ctx->reg[j][i]);
+ ppRegRule(ctx->exprs, &ctxs->reg[i]);
VG_(printf)("}");
}
VG_(printf)("\n");
@@ -1984,21 +1989,22 @@
{
Int j, i;
VG_(memset)(ctx, 0, sizeof(*ctx));
- ctx->code_a_f = 0;
+ /* ctx->code_a_f = 0;
ctx->data_a_f = 0;
- ctx->initloc = 0;
+ ctx->initloc = 0; */
ctx->ra_reg = RA_REG_DEFAULT;
- ctx->loc = 0;
- ctx->cfa_is_regoff = True;
- ctx->cfa_reg = 0;
- ctx->cfa_off = 0;
- ctx->cfa_expr_ix = 0;
+ /* ctx->loc = 0;
ctx->exprs = NULL;
- ctx->reg_sp = 0;
+ ctx->state_sp = 0; */
for (j = 0; j < N_RR_STACK; j++) {
+ ctx->state[j].cfa_is_regoff = True;
+ /* ctx->state[j].cfa_reg = 0;
+ ctx->state[j].cfa_off = 0;
+ ctx->state[j].cfa_expr_ix = 0; */
for (i = 0; i < N_CFI_REGS; i++) {
- ctx->reg[j][i].tag = RR_Undef;
- ctx->reg[j][i].arg = 0;
+ if (RR_Undef != 0)
+ ctx->state[j].reg[i].tag = RR_Undef;
+ /* ctx->state[j].reg[i].arg = 0; */
}
}
}
@@ -2052,10 +2058,17 @@
struct _DebugInfo* debuginfo )
{
Int why = 0;
+ struct UnwindContextState* ctxs;
initCfiSI(si);
+ /* Guard against obviously stupid settings of the reg-rule stack
+ pointer. */
+ if (ctx->state_sp < 0) { why = 8; goto failed; }
+ if (ctx->state_sp >= N_RR_STACK) { why = 9; goto failed; }
+ ctxs = &ctx->state[ctx->state_sp];
+
/* How to generate the CFA */
- if (!ctx->cfa_is_regoff) {
+ if (!ctxs->cfa_is_regoff) {
/* it was set by DW_CFA_def_cfa_expression; try to convert */
XArray *src, *dst;
Int conv;
@@ -2068,7 +2081,7 @@
debuginfo->cfsi_exprs = dst;
}
conv = copy_convert_CfiExpr_tree
- ( dst, ctx, ctx->cfa_expr_ix );
+ ( dst, ctx, ctxs->cfa_expr_ix );
vg_assert(conv >= -1);
if (conv == -1) { why = 6; goto failed; }
si->cfa_how = CFIC_EXPR;
@@ -2076,13 +2089,13 @@
if (0 && debuginfo->ddump_frames)
ML_(ppCfiExpr)(dst, conv);
} else
- if (ctx->cfa_is_regoff && ctx->cfa_reg == SP_REG) {
+ if (ctxs->cfa_is_regoff && ctxs->cfa_reg == SP_REG) {
si->cfa_how = CFIC_SPREL;
- si->cfa_off = ctx->cfa_off;
+ si->cfa_off = ctxs->cfa_off;
} else
- if (ctx->cfa_is_regoff && ctx->cfa_reg == FP_REG) {
+ if (ctxs->cfa_is_regoff && ctxs->cfa_reg == FP_REG) {
si->cfa_how = CFIC_FPREL;
- si->cfa_off = ctx->cfa_off;
+ si->cfa_off = ctxs->cfa_off;
} else {
why = 1;
goto failed;
@@ -2125,15 +2138,10 @@
why = 2; goto failed; /* otherwise give up */ \
}
- /* Guard against obviously stupid settings of the reg-rule stack
- pointer. */
- if (ctx->reg_sp < 0) { why = 8; goto failed; }
- if (ctx->reg_sp >= N_RR_STACK) { why = 9; goto failed; }
-
SUMMARISE_HOW(si->ra_how, si->ra_off,
- ctx->reg[ctx->reg_sp][ctx->ra_reg] );
+ ctxs->reg[ctx->ra_reg] );
SUMMARISE_HOW(si->fp_how, si->fp_off,
- ctx->reg[ctx->reg_sp][FP_REG] );
+ ctxs->reg[FP_REG] );
# undef SUMMARISE_HOW
@@ -2144,7 +2152,7 @@
/* also, gcc says "Undef" for %{e,r}bp when it is unchanged. So
.. */
- if (ctx->reg[ctx->reg_sp][FP_REG].tag == RR_Undef)
+ if (ctxs->reg[FP_REG].tag == RR_Undef)
si->fp_how = CFIR_SAME;
/* knock out some obviously stupid cases */
@@ -2231,22 +2239,24 @@
static void ppUnwindContext_summary ( UnwindContext* ctx )
{
+ struct UnwindContextState* ctxs = &ctx->state[ctx->state_sp];
+
VG_(printf)("0x%llx-1: ", (ULong)ctx->loc);
- if (ctx->cfa_reg == SP_REG) {
- VG_(printf)("SP/CFA=%d+SP ", ctx->cfa_off);
+ if (ctxs->cfa_reg == SP_REG) {
+ VG_(printf)("SP/CFA=%d+SP ", ctxs->cfa_off);
} else
- if (ctx->cfa_reg == FP_REG) {
- VG_(printf)("SP/CFA=%d+FP ", ctx->cfa_off);
+ if (ctxs->cfa_reg == FP_REG) {
+ VG_(printf)("SP/CFA=%d+FP ", ctxs->cfa_off);
} else {
VG_(printf)("SP/CFA=unknown ");
}
VG_(printf)("RA=");
- ppRegRule( ctx->exprs, &ctx->reg[ctx->reg_sp][ctx->ra_reg] );
+ ppRegRule( ctx->exprs, &ctxs->reg[ctx->ra_reg] );
VG_(printf)("FP=");
- ppRegRule( ctx->exprs, &ctx->reg[ctx->reg_sp][FP_REG] );
+ ppRegRule( ctx->exprs, &ctxs->reg[FP_REG] );
VG_(printf)("\n");
}
@@ -2514,6 +2524,7 @@
Int sp; /* # of top element: valid is -1 .. N_EXPR_STACK-1 */
Int stack[N_EXPR_STACK]; /* indices into ctx->exprs */
+ struct UnwindContextState* ctxs = &ctx->state[ctx->state_sp];
XArray* dst = ctx->exprs;
UChar* limit = expr + exprlen;
@@ -2525,17 +2536,17 @@
/* Synthesise the CFA as a CfiExpr */
if (push_cfa_at_start) {
- if (ctx->cfa_is_regoff) {
+ if (ctxs->cfa_is_regoff) {
/* cfa is reg +/- offset */
ix = ML_(CfiExpr_Binop)( dst,
Cop_Add,
- ML_(CfiExpr_DwReg)( dst, ctx->cfa_reg ),
- ML_(CfiExpr_Const)( dst, (UWord)(Word)ctx->cfa_off )
+ ML_(CfiExpr_DwReg)( dst, ctxs->cfa_reg ),
+ ML_(CfiExpr_Const)( dst, (UWord)(Word)ctxs->cfa_off )
);
PUSH(ix);
} else {
/* CFA is already an expr; use its root node */
- PUSH(ctx->cfa_expr_ix);
+ PUSH(ctxs->cfa_expr_ix);
}
}
@@ -2690,11 +2701,13 @@
UChar hi2 = (instr[i] >> 6) & 3;
UChar lo6 = instr[i] & 0x3F;
Addr printing_bias = ((Addr)ctx->initloc) - ((Addr)di->text_bias);
+ struct UnwindContextState* ctxs;
i++;
- if (ctx->reg_sp < 0 || ctx->reg_sp >= N_RR_STACK)
+ if (ctx->state_sp < 0 || ctx->state_sp >= N_RR_STACK)
return 0; /* bogus reg-rule stack pointer */
+ ctxs = &ctx->state[ctx->state_sp];
if (hi2 == DW_CFA_advance_loc) {
delta = (UInt)lo6;
ctx->loc += delta;
@@ -2711,13 +2724,13 @@
reg = (Int)lo6;
if (reg < 0 || reg >= N_CFI_REGS)
return 0; /* fail */
- ctx->reg[ctx->reg_sp][reg].tag = RR_CFAOff;
- ctx->reg[ctx->reg_sp][reg].arg = off * ctx->data_a_f;
+ ctxs->reg[reg].tag = RR_CFAOff;
+ ctxs->reg[reg].arg = off * ctx->data_a_f;
if (di->ddump_frames)
VG_(printf)(" DW_CFA_offset: r%d at cfa%s%d\n",
(Int)reg,
- ctx->reg[ctx->reg_sp][reg].arg < 0 ? "" : "+",
- (Int)ctx->reg[ctx->reg_sp][reg].arg );
+ ctxs->reg[reg].arg < 0 ? "" : "+",
+ (Int)ctxs->reg[reg].arg );
return i;
}
@@ -2727,7 +2740,7 @@
return 0; /* fail */
if (restore_ctx == NULL)
return 0; /* fail */
- ctx->reg[ctx->reg_sp][reg] = restore_ctx->reg[ctx->reg_sp][reg];
+ ctxs->reg[reg] = restore_ctx->state[restore_ctx->state_sp].reg[reg];
if (di->ddump_frames)
VG_(printf)(" DW_CFA_restore: r%d\n", (Int)reg);
return i;
@@ -2781,10 +2794,10 @@
i += nleb;
if (reg < 0 || reg >= N_CFI_REGS)
return 0; /* fail */
- ctx->cfa_is_regoff = True;
- ctx->cfa_expr_ix = 0;
- ctx->cfa_reg = reg;
- ctx->cfa_off = off;
+ ctxs->cfa_is_regoff = True;
+ ctxs->cfa_expr_ix = 0;
+ ctxs->cfa_reg = reg;
+ ctxs->cfa_off = off;
if (di->ddump_frames)
VG_(printf)(" DW_CFA_def_cfa: r%d ofs %d\n", (Int)reg, (Int)off);
break;
@@ -2796,10 +2809,10 @@
i += nleb;
if (reg < 0 || reg >= N_CFI_REGS)
return 0; /* fail */
- ctx->cfa_is_regoff = True;
- ctx->cfa_expr_ix = 0;
- ctx->cfa_reg = reg;
- ctx->cfa_off = off * ctx->data_a_f;
+ ctxs->cfa_is_regoff = True;
+ ctxs->cfa_expr_ix = 0;
+ ctxs->cfa_reg = reg;
+ ctxs->cfa_off = off * ctx->data_a_f;
if (di->ddump_frames)
VG_(printf)(" rci:DW_CFA_def_cfa_sf\n");
break;
@@ -2813,8 +2826,8 @@
return 0; /* fail */
if (reg2 < 0 || reg2 >= N_CFI_REGS)
return 0; /* fail */
- ctx->reg[ctx->reg_sp][reg].tag = RR_Reg;
- ctx->reg[ctx->reg_sp][reg].arg = reg2;
+ ctxs->reg[reg].tag = RR_Reg;
+ ctxs->reg[reg].arg = reg2;
if (di->ddump_frames)
VG_(printf)(" DW_CFA_register: r%d in r%d\n",
(Int)reg, (Int)reg2);
@@ -2827,8 +2840,8 @@
i += nleb;
if (reg < 0 || reg >= N_CFI_REGS)
return 0; /* fail */
- ctx->reg[ctx->reg_sp][reg].tag = RR_CFAOff;
- ctx->reg[ctx->reg_sp][reg].arg = off * ctx->data_a_f;
+ ctxs->reg[reg].tag = RR_CFAOff;
+ ctxs->reg[reg].arg = off * ctx->data_a_f;
if (di->ddump_frames)
VG_(printf)(" rci:DW_CFA_offset_extended\n");
break;
@@ -2840,13 +2853,13 @@
i += nleb;
if (reg < 0 || reg >= N_CFI_REGS)
return 0; /* fail */
- ctx->reg[ctx->reg_sp][reg].tag = RR_CFAOff;
- ctx->reg[ctx->reg_sp][reg].arg = off * ctx->data_a_f;
+ ctxs->reg[reg].tag = RR_CFAOff;
+ ctxs->reg[reg].arg = off * ctx->data_a_f;
if (di->ddump_frames)
VG_(printf)(" DW_CFA_offset_extended_sf: r%d at cfa%s%d\n",
reg,
- ctx->reg[ctx->reg_sp][reg].arg < 0 ? "" : "+",
- (Int)ctx->reg[ctx->reg_sp][reg].arg);
+ ctxs->reg[reg].arg < 0 ? "" : "+",
+ (Int)ctxs->reg[reg].arg);
break;
case DW_CFA_GNU_negative_offset_extended:
@@ -2856,8 +2869,8 @@
i += nleb;
if (reg < 0 || reg >= N_CFI_REGS)
return 0; /* fail */
- ctx->reg[ctx->reg_sp][reg].tag = RR_CFAOff;
- ctx->reg[ctx->reg_sp][reg].arg = (-off) * ctx->data_a_f;
+ ctxs->reg[reg].tag = RR_CFAOff;
+ ctxs->reg[reg].arg = (-off) * ctx->data_a_f;
if (di->ddump_frames)
VG_(printf)(" rci:DW_CFA_GNU_negative_offset_extended\n");
break;
@@ -2869,7 +2882,7 @@
return 0; /* fail */
if (restore_ctx == NULL)
return 0; /* fail */
- ctx->reg[ctx->reg_sp][reg] = restore_ctx->reg[ctx->reg_sp][reg];
+ ctxs->reg[reg] = restore_ctx->state[restore_ctx->state_sp].reg[reg];
if (di->ddump_frames)
VG_(printf)(" rci:DW_CFA_restore_extended\n");
break;
@@ -2881,8 +2894,8 @@
i += nleb;
if (reg < 0 || reg >= N_CFI_REGS)
return 0; /* fail */
- ctx->reg[ctx->reg_sp][reg].tag = RR_CFAValOff;
- ctx->reg[ctx->reg_sp][reg].arg = off * ctx->data_a_f;
+ ctxs->reg[reg].tag = RR_CFAValOff;
+ ctxs->reg[reg].arg = off * ctx->data_a_f;
if (di->ddump_frames)
VG_(printf)(" rci:DW_CFA_val_offset\n");
break;
@@ -2894,8 +2907,8 @@
i += nleb;
if (reg < 0 || reg >= N_CFI_REGS)
return 0; /* fail */
- ctx->reg[ctx->reg_sp][reg].tag = RR_CFAValOff;
- ctx->reg[ctx->reg_sp][reg].arg = off * ctx->data_a_f;
+ ctxs->reg[reg].tag = RR_CFAValOff;
+ ctxs->reg[reg].arg = off * ctx->data_a_f;
if (di->ddump_frames)
VG_(printf)(" rci:DW_CFA_val_offset_sf\n");
break;
@@ -2905,9 +2918,9 @@
i += nleb;
if (reg < 0 || reg >= N_CFI_REGS)
return 0; /* fail */
- ctx->cfa_is_regoff = True;
- ctx->cfa_expr_ix = 0;
- ctx->cfa_reg = reg;
+ ctxs->cfa_is_regoff = True;
+ ctxs->cfa_expr_ix = 0;
+ ctxs->cfa_reg = reg;
/* ->cfa_off unchanged */
if (di->ddump_frames)
VG_(printf)(" DW_CFA_def_cfa_reg: r%d\n", (Int)reg );
@@ -2916,10 +2929,10 @@
case DW_CFA_def_cfa_offset:
off = read_leb128( &instr[i], &nleb, 0);
i += nleb;
- ctx->cfa_is_regoff = True;
- ctx->cfa_expr_ix = 0;
+ ctxs->cfa_is_regoff = True;
+ ctxs->cfa_expr_ix = 0;
/* ->reg is unchanged */
- ctx->cfa_off = off;
+ ctxs->cfa_off = off;
if (di->ddump_frames)
VG_(printf)(" DW_CFA_def_cfa_offset: %d\n", (Int)off);
break;
@@ -2927,12 +2940,12 @@
case DW_CFA_def_cfa_offset_sf:
off = read_leb128( &instr[i], &nleb, 1);
i += nleb;
- ctx->cfa_is_regoff = True;
- ctx->cfa_expr_ix = 0;
+ ctxs->cfa_is_regoff = True;
+ ctxs->cfa_expr_ix = 0;
/* ->reg is unchanged */
- ctx->cfa_off = off * ctx->data_a_f;
+ ctxs->cfa_off = off * ctx->data_a_f;
if (di->ddump_frames)
- VG_(printf)(" DW_CFA_def_cfa_offset_sf: %d\n", ctx->cfa_off);
+ VG_(printf)(" DW_CFA_def_cfa_offset_sf: %d\n", ctxs->cfa_off);
break;
case DW_CFA_undefined:
@@ -2940,8 +2953,8 @@
i += nleb;
if (reg < 0 || reg >= N_CFI_REGS)
return 0; /* fail */
- ctx->reg[ctx->reg_sp][reg].tag = RR_Undef;
- ctx->reg[ctx->reg_sp][reg].arg = 0;
+ ctxs->reg[reg].tag = RR_Undef;
+ ctxs->reg[reg].arg = 0;
if (di->ddump_frames)
VG_(printf)(" rci:DW_CFA_undefined\n");
break;
@@ -2951,8 +2964,8 @@
i += nleb;
if (reg < 0 || reg >= N_CFI_REGS)
return 0; /* fail */
- ctx->reg[ctx->reg_sp][reg].tag = RR_Same;
- ctx->reg[ctx->reg_sp][reg].arg = 0;
+ ctxs->reg[reg].tag = RR_Same;
+ ctxs->reg[reg].arg = 0;
if (di->ddump_frames)
VG_(printf)(" rci:DW_CFA_same_value\n");
break;
@@ -2996,8 +3009,8 @@
return 0; /* fail */
/* Add an extra dereference */
j = ML_(CfiExpr_Deref)( ctx->exprs, j );
- ctx->reg[ctx->reg_sp][reg].tag = RR_ValExpr;
- ctx->reg[ctx->reg_sp][reg].arg = j;
+ ctxs->reg[reg].tag = RR_ValExpr;
+ ctxs->reg[reg].arg = j;
break;
case DW_CFA_val_expression:
@@ -3025,8 +3038,8 @@
}
if (j == -1)
return 0; /* fail */
- ctx->reg[ctx->reg_sp][reg].tag = RR_ValExpr;
- ctx->reg[ctx->reg_sp][reg].arg = j;
+ ctxs->reg[reg].tag = RR_ValExpr;
+ ctxs->reg[reg].arg = j;
break;
case DW_CFA_def_cfa_expression:
@@ -3042,10 +3055,10 @@
di->ddump_frames);
if (di->ddump_frames)
VG_(printf)(")\n");
- ctx->cfa_is_regoff = False;
- ctx->cfa_reg = 0;
- ctx->cfa_off = 0;
- ctx->cfa_expr_ix = j;
+ ctxs->cfa_is_regoff = False;
+ ctxs->cfa_reg = 0;
+ ctxs->cfa_off = 0;
+ ctxs->cfa_expr_ix = j;
break;
case DW_CFA_GNU_window_save:
@@ -3059,17 +3072,17 @@
if (di->ddump_frames)
VG_(printf)(" DW_CFA_remember_state\n");
/* we just checked this at entry, so: */
- vg_assert(ctx->reg_sp >= 0 && ctx->reg_sp < N_RR_STACK);
- ctx->reg_sp++;
- if (ctx->reg_sp == N_RR_STACK) {
+ vg_assert(ctx->state_sp >= 0 && ctx->state_sp < N_RR_STACK);
+ ctx->state_sp++;
+ if (ctx->state_sp == N_RR_STACK) {
/* stack overflow. We're hosed. */
VG_(message)(Vg_DebugMsg, "DWARF2 CFI reader: N_RR_STACK is "
"too low; increase and recompile.");
i = 0; /* indicate failure */
} else {
- VG_(memcpy)(/*dst*/&ctx->reg[ctx->reg_sp],
- /*src*/&ctx->reg[ctx->reg_sp - 1],
- sizeof(ctx->reg[ctx->reg_sp]) );
+ VG_(memcpy)(/*dst*/&ctx->state[ctx->state_sp],
+ /*src*/&ctx->state[ctx->state_sp - 1],
+ sizeof(ctx->state[ctx->state_sp]) );
}
break;
@@ -3077,13 +3090,13 @@
if (di->ddump_frames)
VG_(printf)(" DW_CFA_restore_state\n");
/* we just checked this at entry, so: */
- vg_assert(ctx->reg_sp >= 0 && ctx->reg_sp < N_RR_STACK);
- if (ctx->reg_sp == 0) {
+ vg_assert(ctx->state_sp >= 0 && ctx->state_sp < N_RR_STACK);
+ if (ctx->state_sp == 0) {
/* stack overflow. Give up. */
i = 0; /* indicate failure */
} else {
/* simply fall back to previous entry */
- ctx->reg_sp--;
+ ctx->state_sp--;
}
break;
|
|
From: <sv...@va...> - 2009-08-03 13:29:56
|
Author: sewardj
Date: 2009-08-03 14:29:42 +0100 (Mon, 03 Aug 2009)
New Revision: 10696
Log:
Use Dwarf3 section version numbers as specified in Appendix F of the
Dwarf3 standard. (Jakub Jelinek). This is #200029, patch in comment
#1.
Modified:
trunk/coregrind/m_debuginfo/readdwarf.c
trunk/coregrind/m_debuginfo/readdwarf3.c
Modified: trunk/coregrind/m_debuginfo/readdwarf.c
===================================================================
--- trunk/coregrind/m_debuginfo/readdwarf.c 2009-08-03 08:50:58 UTC (rev 10695)
+++ trunk/coregrind/m_debuginfo/readdwarf.c 2009-08-03 13:29:42 UTC (rev 10696)
@@ -512,9 +512,9 @@
VG_(printf)(" DWARF Version: %d\n",
(Int)info.li_version);
- if (info.li_version != 2) {
+ if (info.li_version != 2 && info.li_version != 3) {
ML_(symerr)(di, True,
- "Only DWARF version 2 line info "
+ "Only DWARF version 2 and 3 line info "
"is currently supported.");
goto out;
}
@@ -1162,9 +1162,9 @@
/* version should be 2 */
ver = *((UShort*)( block_img + blklen_len ));
- if ( ver != 2 ) {
+ if ( ver != 2 && ver != 3 ) {
ML_(symerr)( di, True,
- "Ignoring non-dwarf2 block in .debug_info" );
+ "Ignoring non-Dwarf2/3 block in .debug_info" );
continue;
}
@@ -3575,8 +3575,8 @@
VG_(printf)("cie.version = %d\n", (Int)cie_version);
if (di->ddump_frames)
VG_(printf)(" Version: %d\n", (Int)cie_version);
- if (cie_version != 1) {
- how = "unexpected CIE version (not 1)";
+ if (cie_version != 1 && cie_version != 3) {
+ how = "unexpected CIE version (not 1 nor 3)";
goto bad;
}
Modified: trunk/coregrind/m_debuginfo/readdwarf3.c
===================================================================
--- trunk/coregrind/m_debuginfo/readdwarf3.c 2009-08-03 08:50:58 UTC (rev 10695)
+++ trunk/coregrind/m_debuginfo/readdwarf3.c 2009-08-03 13:29:42 UTC (rev 10696)
@@ -1322,8 +1322,8 @@
get_Initial_Length( &is_dw64, &c,
"read_filename_table: invalid initial-length field" );
version = get_UShort( &c );
- if (version != 2)
- cc->barf("read_filename_table: Only DWARF version 2 line info "
+ if (version != 2 && version != 3)
+ cc->barf("read_filename_table: Only DWARF version 2 and 3 line info "
"is currently supported.");
/*header_length = (ULong)*/ get_Dwarfish_UWord( &c, is_dw64 );
/*minimum_instruction_length = */ get_UChar( &c );
|
|
From: Julian S. <js...@ac...> - 2009-08-03 13:08:01
|
On Monday 03 August 2009, Tom Hughes wrote: > On 03/08/09 09:51, sv...@va... wrote: > > Author: tom > > Date: 2009-08-03 09:50:58 +0100 (Mon, 03 Aug 2009) > > New Revision: 10695 > > > > Log: > > Handle some more DW_TAG_subrange_type cases which Fedora 11's > > gcc 4.4.0 seems to generate. > > I hope this fix is correct Looks pretty plausible to me. > - it wasn't entirely clear to me why we're > going to all the trouble of handling each combination separately instead > of just setting the entries in the structure from the flags in the DIE? Mostly out of a general desire not to have code which handles cases we don't yet have test cases for. Gives us an opportunity to eyeball new cases as they come up. J |
|
From: <sv...@va...> - 2009-08-03 11:35:21
|
Author: njn Date: 2009-08-03 01:23:16 +0100 (Mon, 03 Aug 2009) New Revision: 10691 Log: Forgot to add these in r10690. Added: trunk/none/tests/cmd-with-special.stderr.exp trunk/none/tests/cmd-with-special.vgtest Added: trunk/none/tests/cmd-with-special.stderr.exp =================================================================== Added: trunk/none/tests/cmd-with-special.vgtest =================================================================== --- trunk/none/tests/cmd-with-special.vgtest (rev 0) +++ trunk/none/tests/cmd-with-special.vgtest 2009-08-03 00:23:16 UTC (rev 10691) @@ -0,0 +1,7 @@ +# Use the "prereq" command to copy ../../tests/true to a filename containing +# special chars that need escaping in the "Command:" line. We do the +# renaming because the autotools would barf on such a filename. +prereq: cp ../../tests/true 'a \<>b' +prog: 'a \<>b' +vgopts: -q +cleanup: rm 'a \<>b' |
|
From: Tom H. <to...@co...> - 2009-08-03 08:56:51
|
On 03/08/09 09:51, sv...@va... wrote: > Author: tom > Date: 2009-08-03 09:50:58 +0100 (Mon, 03 Aug 2009) > New Revision: 10695 > > Log: > Handle some more DW_TAG_subrange_type cases which Fedora 11's > gcc 4.4.0 seems to generate. I hope this fix is correct - it wasn't entirely clear to me why we're going to all the trouble of handling each combination separately instead of just setting the entries in the structure from the flags in the DIE? Tom -- Tom Hughes (to...@co...) http://www.compton.nu/ |
|
From: <sv...@va...> - 2009-08-03 08:51:16
|
Author: tom
Date: 2009-08-03 09:50:58 +0100 (Mon, 03 Aug 2009)
New Revision: 10695
Log:
Handle some more DW_TAG_subrange_type cases which Fedora 11's
gcc 4.4.0 seems to generate.
Modified:
trunk/coregrind/m_debuginfo/readdwarf3.c
Modified: trunk/coregrind/m_debuginfo/readdwarf3.c
===================================================================
--- trunk/coregrind/m_debuginfo/readdwarf3.c 2009-08-03 01:38:56 UTC (rev 10694)
+++ trunk/coregrind/m_debuginfo/readdwarf3.c 2009-08-03 08:50:58 UTC (rev 10695)
@@ -2476,12 +2476,24 @@
boundE.Te.Bound.knownU = True;
boundE.Te.Bound.boundL = lower;
boundE.Te.Bound.boundU = upper;
- }
+ }
else if (have_lower && (!have_upper) && (!have_count)) {
boundE.Te.Bound.knownL = True;
boundE.Te.Bound.knownU = False;
boundE.Te.Bound.boundL = lower;
boundE.Te.Bound.boundU = 0;
+ }
+ else if ((!have_lower) && have_upper && (!have_count)) {
+ boundE.Te.Bound.knownL = False;
+ boundE.Te.Bound.knownU = True;
+ boundE.Te.Bound.boundL = 0;
+ boundE.Te.Bound.boundU = upper;
+ }
+ else if ((!have_lower) && (!have_upper) && (!have_count)) {
+ boundE.Te.Bound.knownL = False;
+ boundE.Te.Bound.knownU = False;
+ boundE.Te.Bound.boundL = 0;
+ boundE.Te.Bound.boundU = 0;
} else {
/* FIXME: handle more cases */
goto bad_DIE;
|
|
From: Bart V. A. <bar...@gm...> - 2009-08-03 07:59:11
|
Nightly build on georgia-tech-cellbuzz-native ( cellbuzz, ppc64, Fedora 7, native ) Started at 2009-08-03 02:15:47 EDT Ended at 2009-08-03 03:58:48 EDT Results differ from 24 hours ago Checking out valgrind source tree ... done Configuring valgrind ... done Building valgrind ... done Running regression tests ... done Regression test results follow == 438 tests, 44 stderr failures, 9 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/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 (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 (stdout) none/tests/shell (stderr) none/tests/shell_valid1 (stderr) 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/tc22_exit_w_lock (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) ================================================= == Results from 24 hours ago == ================================================= Checking out valgrind source tree ... done Configuring valgrind ... done Building valgrind ... done Running regression tests ... done Regression test results follow == 437 tests, 44 stderr failures, 9 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/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 (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 (stdout) none/tests/shell (stderr) none/tests/shell_valid1 (stderr) 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/tc22_exit_w_lock (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) ================================================= == Difference between 24 hours ago and now == ================================================= *** old.short Mon Aug 3 03:07:29 2009 --- new.short Mon Aug 3 03:58:48 2009 *************** *** 8,10 **** ! == 437 tests, 44 stderr failures, 9 stdout failures, 0 post failures == memcheck/tests/deep_templates (stdout) --- 8,10 ---- ! == 438 tests, 44 stderr failures, 9 stdout failures, 0 post failures == memcheck/tests/deep_templates (stdout) |
|
From: Tom H. <th...@cy...> - 2009-08-03 02:49:39
|
Nightly build on lloyd ( x86_64, Fedora 7 ) Started at 2009-08-03 03:05:04 BST Ended at 2009-08-03 03:49:19 BST 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 == 521 tests, 1 stderr failure, 0 stdout failures, 0 post failures == helgrind/tests/tc06_two_races_xml (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 == 520 tests, 1 stderr failure, 0 stdout failures, 0 post failures == helgrind/tests/tc06_two_races_xml (stderr) ================================================= == Difference between 24 hours ago and now == ================================================= *** old.short Mon Aug 3 03:27:08 2009 --- new.short Mon Aug 3 03:49:19 2009 *************** *** 8,10 **** ! == 520 tests, 1 stderr failure, 0 stdout failures, 0 post failures == helgrind/tests/tc06_two_races_xml (stderr) --- 8,10 ---- ! == 521 tests, 1 stderr failure, 0 stdout failures, 0 post failures == helgrind/tests/tc06_two_races_xml (stderr) |
|
From: Tom H. <th...@cy...> - 2009-08-03 02:31:02
|
Nightly build on mg ( x86_64, Fedora 9 ) Started at 2009-08-03 03:10:03 BST Ended at 2009-08-03 03:30:42 BST 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 == 528 tests, 1 stderr failure, 0 stdout failures, 0 post failures == helgrind/tests/tc06_two_races_xml (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 == 527 tests, 1 stderr failure, 0 stdout failures, 0 post failures == helgrind/tests/tc06_two_races_xml (stderr) ================================================= == Difference between 24 hours ago and now == ================================================= *** old.short Mon Aug 3 03:20:25 2009 --- new.short Mon Aug 3 03:30:42 2009 *************** *** 8,10 **** ! == 527 tests, 1 stderr failure, 0 stdout failures, 0 post failures == helgrind/tests/tc06_two_races_xml (stderr) --- 8,10 ---- ! == 528 tests, 1 stderr failure, 0 stdout failures, 0 post failures == helgrind/tests/tc06_two_races_xml (stderr) |
|
From: <sv...@va...> - 2009-08-03 01:45:27
|
Author: njn
Date: 2009-08-03 02:38:56 +0100 (Mon, 03 Aug 2009)
New Revision: 10694
Log:
With the recent VG_(message) change,
VALGRIND_{PRINTF,PRINTF_BACKTRACE,INTERNAL_PRINTF} were no longer appending
newlines. This meant that --trace-malloc=yes spewed everything onto a
single line, among other things.
Rather than adding the newline back in, I chose to offically change their
behaviour to not add the newlines, as this is more flexible (and the reason
for the underlying VG_(message) change). I updated all the relevant places
I could find.
Removed:
trunk/none/tests/vgprintf.stdout.exp
Modified:
trunk/NEWS
trunk/coregrind/m_replacemalloc/vg_replace_malloc.c
trunk/docs/xml/manual-core-adv.xml
trunk/include/valgrind.h
trunk/memcheck/mc_replace_strmem.c
trunk/none/tests/Makefile.am
trunk/none/tests/vgprintf.c
trunk/none/tests/vgprintf.stderr.exp
trunk/none/tests/vgprintf.vgtest
trunk/tests/filter_stderr_basic
Modified: trunk/NEWS
===================================================================
--- trunk/NEWS 2009-08-03 01:05:18 UTC (rev 10693)
+++ trunk/NEWS 2009-08-03 01:38:56 UTC (rev 10694)
@@ -46,6 +46,16 @@
[XXX: consider adding VALGRIND_COUNT_LEAK_BYTES as a synonym and
deprecating VALGRIND_COUNT_LEAKS, which wasn't a good name to begin with]
+* The Valgrind client requests VALGRIND_PRINTF and VALGRIND_PRINTF_BACKTRACE
+ have been changed slightly. Previously, the string was always printed
+ immediately on its own line. Now, the string will be added to a buffer
+ but not printed until a newline is encountered, or other Valgrind output
+ is printed (note that for VALGRIND_PRINTF_BACKTRACE, the back-trace itself
+ is considered "other Valgrind output"). This allows you to use multiple
+ VALGRIND_PRINTF calls to build up a single output line, and also to print
+ multiple output lines with a single request (by embedding multiple
+ newlines in the string).
+
* Memcheck's leak checker has been improved.
- The results for --leak-check=summary now match the summary results for
--leak-check=full. Previously they could differ because
Modified: trunk/coregrind/m_replacemalloc/vg_replace_malloc.c
===================================================================
--- trunk/coregrind/m_replacemalloc/vg_replace_malloc.c 2009-08-03 01:05:18 UTC (rev 10693)
+++ trunk/coregrind/m_replacemalloc/vg_replace_malloc.c 2009-08-03 01:38:56 UTC (rev 10694)
@@ -141,7 +141,7 @@
MALLOC_TRACE(#fnname "(%llu)", (ULong)n ); \
\
v = (void*)VALGRIND_NON_SIMD_CALL1( info.tl_##vg_replacement, n ); \
- MALLOC_TRACE(" = %p", v ); \
+ MALLOC_TRACE(" = %p\n", v ); \
return v; \
}
@@ -156,7 +156,7 @@
MALLOC_TRACE(#fnname "(%p, %llu)", zone, (ULong)n ); \
\
v = (void*)VALGRIND_NON_SIMD_CALL1( info.tl_##vg_replacement, n ); \
- MALLOC_TRACE(" = %p", v ); \
+ MALLOC_TRACE(" = %p\n", v ); \
return v; \
}
@@ -176,11 +176,12 @@
MALLOC_TRACE(#fnname "(%llu)", (ULong)n ); \
\
v = (void*)VALGRIND_NON_SIMD_CALL1( info.tl_##vg_replacement, n ); \
- MALLOC_TRACE(" = %p", v ); \
+ MALLOC_TRACE(" = %p\n", v ); \
if (NULL == v) { \
VALGRIND_PRINTF_BACKTRACE( \
- "new/new[] failed and should throw an exception, but Valgrind\n" \
- " cannot throw exceptions and so is aborting instead. Sorry."); \
+ "new/new[] failed and should throw an exception, but Valgrind\n"); \
+ VALGRIND_PRINTF_BACKTRACE( \
+ " cannot throw exceptions and so is aborting instead. Sorry.\n"); \
_exit(1); \
} \
return v; \
@@ -301,7 +302,7 @@
void VG_REPLACE_FUNCTION_ZU(soname,fnname) (void *zone, void *p) \
{ \
if (!init_done) init(); \
- MALLOC_TRACE(#vg_replacement "(%p, %p)", zone, p ); \
+ MALLOC_TRACE(#vg_replacement "(%p, %p)\n", zone, p ); \
if (p == NULL) \
return; \
(void)VALGRIND_NON_SIMD_CALL1( info.tl_##vg_replacement, p ); \
@@ -313,7 +314,7 @@
void VG_REPLACE_FUNCTION_ZU(soname,fnname) (void *p) \
{ \
if (!init_done) init(); \
- MALLOC_TRACE(#vg_replacement "(%p)", p ); \
+ MALLOC_TRACE(#vg_replacement "(%p)\n", p ); \
if (p == NULL) \
return; \
(void)VALGRIND_NON_SIMD_CALL1( info.tl_##vg_replacement, p ); \
@@ -393,7 +394,7 @@
MALLOC_TRACE("calloc(%p, %llu,%llu)", zone, (ULong)nmemb, (ULong)size ); \
\
v = (void*)VALGRIND_NON_SIMD_CALL2( info.tl_calloc, nmemb, size ); \
- MALLOC_TRACE(" = %p", v ); \
+ MALLOC_TRACE(" = %p\n", v ); \
return v; \
}
@@ -410,7 +411,7 @@
/* Protect against overflow. See bug 24078. */ \
if (size && nmemb > (SizeT)-1 / size) return NULL; \
v = (void*)VALGRIND_NON_SIMD_CALL2( info.tl_calloc, nmemb, size ); \
- MALLOC_TRACE(" = %p", v ); \
+ MALLOC_TRACE(" = %p\n", v ); \
return v; \
}
@@ -440,11 +441,11 @@
return VG_REPLACE_FUNCTION_ZU(VG_Z_LIBC_SONAME,malloc) (new_size); \
if (new_size <= 0) { \
VG_REPLACE_FUNCTION_ZU(VG_Z_LIBC_SONAME,free)(ptrV); \
- MALLOC_TRACE(" = 0"); \
+ MALLOC_TRACE(" = 0\n"); \
return NULL; \
} \
v = (void*)VALGRIND_NON_SIMD_CALL2( info.tl_realloc, ptrV, new_size ); \
- MALLOC_TRACE(" = %p", v ); \
+ MALLOC_TRACE(" = %p\n", v ); \
return v; \
}
@@ -464,11 +465,11 @@
return VG_REPLACE_FUNCTION_ZU(VG_Z_LIBC_SONAME,malloc) (new_size); \
if (new_size <= 0) { \
VG_REPLACE_FUNCTION_ZU(VG_Z_LIBC_SONAME,free)(ptrV); \
- MALLOC_TRACE(" = 0"); \
+ MALLOC_TRACE(" = 0\n"); \
return NULL; \
} \
v = (void*)VALGRIND_NON_SIMD_CALL2( info.tl_realloc, ptrV, new_size ); \
- MALLOC_TRACE(" = %p", v ); \
+ MALLOC_TRACE(" = %p\n", v ); \
return v; \
}
@@ -501,7 +502,7 @@
while (0 != (alignment & (alignment - 1))) alignment++; \
\
v = (void*)VALGRIND_NON_SIMD_CALL2( info.tl_memalign, alignment, n ); \
- MALLOC_TRACE(" = %p", v ); \
+ MALLOC_TRACE(" = %p\n", v ); \
return v; \
}
@@ -524,7 +525,7 @@
while (0 != (alignment & (alignment - 1))) alignment++; \
\
v = (void*)VALGRIND_NON_SIMD_CALL2( info.tl_memalign, alignment, n ); \
- MALLOC_TRACE(" = %p", v ); \
+ MALLOC_TRACE(" = %p\n", v ); \
return v; \
}
@@ -680,7 +681,7 @@
return 0; \
\
pszB = (SizeT)VALGRIND_NON_SIMD_CALL1( info.tl_malloc_usable_size, p ); \
- MALLOC_TRACE(" = %llu", (ULong)pszB ); \
+ MALLOC_TRACE(" = %llu\n", (ULong)pszB ); \
\
return pszB; \
}
@@ -695,7 +696,7 @@
static void panic(const char *str)
{
- VALGRIND_PRINTF_BACKTRACE("Program aborting because of call to %s", str);
+ VALGRIND_PRINTF_BACKTRACE("Program aborting because of call to %s\n", str);
_exit(99);
*(int *)0 = 'x';
}
@@ -735,7 +736,7 @@
{ \
static struct vg_mallinfo mi; \
if (!init_done) init(); \
- MALLOC_TRACE("mallinfo()"); \
+ MALLOC_TRACE("mallinfo()\n"); \
(void)VALGRIND_NON_SIMD_CALL1( info.mallinfo, &mi ); \
return mi; \
}
Modified: trunk/docs/xml/manual-core-adv.xml
===================================================================
--- trunk/docs/xml/manual-core-adv.xml 2009-08-03 01:05:18 UTC (rev 10693)
+++ trunk/docs/xml/manual-core-adv.xml 2009-08-03 01:38:56 UTC (rev 10694)
@@ -215,18 +215,21 @@
<term><command><computeroutput>VALGRIND_PRINTF(format, ...)</computeroutput>:</command></term>
<listitem>
<para>printf a message to the log file when running under
- Valgrind. Nothing is output if not running under Valgrind.
- Returns the number of characters output.</para>
+ Valgrind, prefixed with the PID between a pair of
+ <computeroutput>**</computeroutput> markers. Nothing is output if not
+ running under Valgrind. Output is not produced until a newline is
+ encountered, or subequent Valgrind output is printed; this allows you
+ to build up a single line of output over multiple calls.
+ Returns the number of characters output, excluding the PID at the
+ start.</para>
</listitem>
</varlistentry>
<varlistentry>
<term><command><computeroutput>VALGRIND_PRINTF_BACKTRACE(format, ...)</computeroutput>:</command></term>
<listitem>
- <para>printf a message to the log file along with a stack
- backtrace when running under Valgrind. Nothing is output if
- not running under Valgrind. Returns the number of characters
- output.</para>
+ <para>Like <computeroutput>VALGRIND_PRINTF<computeroutput>, but prints
+ a stack backtrace immediately afterwards.</para>
</listitem>
</varlistentry>
Modified: trunk/include/valgrind.h
===================================================================
--- trunk/include/valgrind.h 2009-08-03 01:05:18 UTC (rev 10693)
+++ trunk/include/valgrind.h 2009-08-03 01:38:56 UTC (rev 10694)
@@ -3681,7 +3681,9 @@
/* These requests are for getting Valgrind itself to print something.
- Possibly with a backtrace. This is a really ugly hack. */
+ Possibly with a backtrace. This is a really ugly hack. The return value
+ is the number of characters printed, excluding the "**<pid>** " part at the
+ start and the backtrace (if present). */
#if defined(NVALGRIND)
Modified: trunk/memcheck/mc_replace_strmem.c
===================================================================
--- trunk/memcheck/mc_replace_strmem.c 2009-08-03 01:05:18 UTC (rev 10693)
+++ trunk/memcheck/mc_replace_strmem.c 2009-08-03 01:38:56 UTC (rev 10694)
@@ -669,7 +669,7 @@
badness: \
VALGRIND_PRINTF_BACKTRACE( \
"*** memmove_chk: buffer overflow detected ***: " \
- "program terminated"); \
+ "program terminated\n"); \
_exit(127); \
/*NOTREACHED*/ \
return NULL; \
@@ -730,7 +730,7 @@
badness: \
VALGRIND_PRINTF_BACKTRACE( \
"*** strcpy_chk: buffer overflow detected ***: " \
- "program terminated"); \
+ "program terminated\n"); \
_exit(127); \
/*NOTREACHED*/ \
return NULL; \
@@ -757,7 +757,7 @@
badness: \
VALGRIND_PRINTF_BACKTRACE( \
"*** stpcpy_chk: buffer overflow detected ***: " \
- "program terminated"); \
+ "program terminated\n"); \
_exit(127); \
/*NOTREACHED*/ \
return NULL; \
@@ -840,7 +840,7 @@
badness: \
VALGRIND_PRINTF_BACKTRACE( \
"*** memcpy_chk: buffer overflow detected ***: " \
- "program terminated"); \
+ "program terminated\n"); \
_exit(127); \
/*NOTREACHED*/ \
return NULL; \
Modified: trunk/none/tests/Makefile.am
===================================================================
--- trunk/none/tests/Makefile.am 2009-08-03 01:05:18 UTC (rev 10693)
+++ trunk/none/tests/Makefile.am 2009-08-03 01:38:56 UTC (rev 10694)
@@ -140,7 +140,7 @@
threadederrno.vgtest \
timestamp.stderr.exp timestamp.vgtest \
tls.vgtest tls.stderr.exp tls.stdout.exp \
- vgprintf.stderr.exp vgprintf.stdout.exp vgprintf.vgtest
+ vgprintf.stderr.exp vgprintf.vgtest
check_PROGRAMS = \
ansi args \
Modified: trunk/none/tests/vgprintf.c
===================================================================
--- trunk/none/tests/vgprintf.c 2009-08-03 01:05:18 UTC (rev 10693)
+++ trunk/none/tests/vgprintf.c 2009-08-03 01:38:56 UTC (rev 10694)
@@ -4,7 +4,12 @@
int
main (int argc, char **argv)
{
- int x = VALGRIND_PRINTF("Yo\n");
- printf ("%d\n", x);
+ int x = 0;
+ x += VALGRIND_PRINTF("Yo ");
+ x += VALGRIND_PRINTF("Yo ");
+ x += VALGRIND_PRINTF("Ma\n");
+ fprintf(stderr, "%d\n", x);
+ x = VALGRIND_PRINTF_BACKTRACE("Backtrace line one\nLine two:\n");
+ fprintf(stderr, "%d\n", x);
return 0;
}
Modified: trunk/none/tests/vgprintf.stderr.exp
===================================================================
--- trunk/none/tests/vgprintf.stderr.exp 2009-08-03 01:05:18 UTC (rev 10693)
+++ trunk/none/tests/vgprintf.stderr.exp 2009-08-03 01:38:56 UTC (rev 10694)
@@ -1,3 +1,9 @@
-Yo
+Yo Yo Ma
+9
+Backtrace line one
+Line two:
+ at 0x........: VALGRIND_PRINTF_BACKTRACE (valgrind.h:...)
+ by 0x........: main (vgprintf.c:12)
+29
Deleted: trunk/none/tests/vgprintf.stdout.exp
===================================================================
--- trunk/none/tests/vgprintf.stdout.exp 2009-08-03 01:05:18 UTC (rev 10693)
+++ trunk/none/tests/vgprintf.stdout.exp 2009-08-03 01:38:56 UTC (rev 10694)
@@ -1 +0,0 @@
-...
Modified: trunk/none/tests/vgprintf.vgtest
===================================================================
--- trunk/none/tests/vgprintf.vgtest 2009-08-03 01:05:18 UTC (rev 10693)
+++ trunk/none/tests/vgprintf.vgtest 2009-08-03 01:38:56 UTC (rev 10694)
@@ -1,2 +1 @@
prog: vgprintf
-stdout_filter: ../../tests/filter_numbers
Modified: trunk/tests/filter_stderr_basic
===================================================================
--- trunk/tests/filter_stderr_basic 2009-08-03 01:05:18 UTC (rev 10693)
+++ trunk/tests/filter_stderr_basic 2009-08-03 01:38:56 UTC (rev 10694)
@@ -27,8 +27,11 @@
sed "/^Using Valgrind-.* and LibVEX; rerun with -h for copyright info/ d" |
# Anonymise line numbers in vg_replace_malloc.c, remove dirname if present
-perl -p -e "s/(m_replacemalloc\/)?vg_replace_malloc.c:[0-9]*/vg_replace_malloc.c:.../" |
+perl -p -e "s/(m_replacemalloc\/)?vg_replace_malloc.c:\d+\)/vg_replace_malloc.c:...\)/" |
+# Likewise for valgrind.h
+perl -p -e "s/valgrind\.h:\d+\)/valgrind\.h:...\)/" |
+
# Hide suppressed error counts
sed "s/^\(ERROR SUMMARY[^(]*(suppressed: \)[0-9]*\( from \)[0-9]*)$/\10\20)/" |
|
|
From: <sv...@va...> - 2009-08-03 01:05:29
|
Author: sewardj
Date: 2009-08-03 02:05:18 +0100 (Mon, 03 Aug 2009)
New Revision: 10693
Log:
Minor improvements to printing w.r.t. sync checking / resyncing.
Modified:
trunk/coregrind/m_syswrap/syswrap-darwin.c
Modified: trunk/coregrind/m_syswrap/syswrap-darwin.c
===================================================================
--- trunk/coregrind/m_syswrap/syswrap-darwin.c 2009-08-03 01:04:18 UTC (rev 10692)
+++ trunk/coregrind/m_syswrap/syswrap-darwin.c 2009-08-03 01:05:18 UTC (rev 10693)
@@ -606,6 +606,12 @@
Int i;
Bool ok;
+ if (VG_(clo_trace_syscalls)) {
+ VG_(debugLog)(0, "syswrap-darwin",
+ "sync_mappings(\"%s\", \"%s\", %d)\n",
+ when, where, num);
+ }
+
// 16 is enough for most cases, but small enough that overflow happens
// occasionally and thus the overflow path gets some test coverage.
css_size = 16;
@@ -634,8 +640,8 @@
action = "removed";
}
if (VG_(clo_trace_syscalls)) {
- VG_(debugLog)(0, "aspacem",
- "\n%s region 0x%010lx..0x%010lx at %s (%s)\n",
+ VG_(debugLog)(0, "syswrap-darwin",
+ " %s region 0x%010lx..0x%010lx at %s (%s)\n",
action, cs->start, cs->end + 1, where, when);
}
}
@@ -3609,7 +3615,7 @@
// single port
record_unnamed_port(tid, desc->port.name, -1);
record_port_insert_rights(desc->port.name, desc->port.disposition);
- PRINT("got port %s; ", name_for_port(desc->port.name));
+ PRINT("got port %s;\n", name_for_port(desc->port.name));
break;
case MACH_MSG_OOL_DESCRIPTOR:
@@ -3623,7 +3629,7 @@
Addr start = VG_PGROUNDDN((Addr)desc->out_of_line.address);
Addr end = VG_PGROUNDUP((Addr)desc->out_of_line.address +
(Addr)desc->out_of_line.size);
- PRINT("got ool mem %p..%#lx; ", desc->out_of_line.address,
+ PRINT("got ool mem %p..%#lx;\n", desc->out_of_line.address,
(Addr)desc->out_of_line.address+desc->out_of_line.size);
ML_(notify_core_and_tool_of_mmap)(
@@ -3654,7 +3660,7 @@
PRINT(" %s", name_for_port(ports[i]));
}
}
- PRINT(";");
+ PRINT(";\n");
break;
default:
|
|
From: <sv...@va...> - 2009-08-03 01:04:33
|
Author: sewardj
Date: 2009-08-03 02:04:18 +0100 (Mon, 03 Aug 2009)
New Revision: 10692
Log:
Add /Applications to the list of directories in which not to try to auto-run dsymutil.
Modified:
trunk/coregrind/m_debuginfo/readmacho.c
Modified: trunk/coregrind/m_debuginfo/readmacho.c
===================================================================
--- trunk/coregrind/m_debuginfo/readmacho.c 2009-08-03 00:23:16 UTC (rev 10691)
+++ trunk/coregrind/m_debuginfo/readmacho.c 2009-08-03 01:04:18 UTC (rev 10692)
@@ -654,7 +654,8 @@
|| 0 == VG_(strncasecmp)(name, "/opt/", 5)
|| 0 == VG_(strncasecmp)(name, "/sw/", 4)
|| 0 == VG_(strncasecmp)(name, "/System/", 8)
- || 0 == VG_(strncasecmp)(name, "/Library/", 9)) {
+ || 0 == VG_(strncasecmp)(name, "/Library/", 9)
+ || 0 == VG_(strncasecmp)(name, "/Applications/", 14)) {
return True;
} else {
return False;
|