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
(32) |
Oct
|
Nov
|
Dec
|
| S | M | T | W | T | F | S |
|---|---|---|---|---|---|---|
|
|
|
|
1
(25) |
2
(25) |
3
(5) |
4
(13) |
|
5
(4) |
6
(8) |
7
(6) |
8
|
9
(10) |
10
(15) |
11
(9) |
|
12
(14) |
13
(10) |
14
(24) |
15
(41) |
16
(13) |
17
(9) |
18
(3) |
|
19
(10) |
20
(11) |
21
(28) |
22
(36) |
23
(52) |
24
(36) |
25
(12) |
|
26
(31) |
27
(27) |
28
(20) |
29
(15) |
30
(22) |
31
(17) |
|
|
From: Nicholas N. <n.n...@gm...> - 2009-07-10 05:36:35
|
On Fri, Jul 10, 2009 at 12:50 PM, Tom Hughes<th...@cy...> wrote: > > Nightly build on lloyd ( x86_64, Fedora 7 ) > Started at 2009-07-10 03:05:04 BST > Ended at 2009-07-10 03:50:24 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 > > == 496 tests, 4 stderr failures, 1 stdout failure, 0 post failures == > memcheck/tests/x86-linux/scalar (stderr) > memcheck/tests/x86-linux/scalar_exit_group (stderr) > memcheck/tests/x86-linux/scalar_supp (stderr) These ones are weird: > +Conditional jump or move depends on uninitialised value(s) > + at 0x........: _dl_runtime_resolve (in /lib/ld-2.6.so) > + by 0x........: (below main) Tom, did the libraries for that machine change at all? Maybe you could checkout a pre-DCAS-merge version (or just 3.4.1) and see if you're getting those error messages. > none/tests/amd64/bug127521-64 (stdout) > none/tests/amd64/bug127521-64 (stderr) Julian, could this be a DCAS thing? Nick |
|
From: Tom H. <th...@cy...> - 2009-07-10 03:29:19
|
Nightly build on mg ( x86_64, Fedora 9 ) Started at 2009-07-10 03:10:04 BST Ended at 2009-07-10 03:30:08 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 == 502 tests, 1 stderr failure, 1 stdout failure, 0 post failures == none/tests/linux/mremap2 (stdout) drd/tests/pth_cleanup_handler (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 == 502 tests, 2 stderr failures, 1 stdout failure, 0 post failures == none/tests/linux/mremap2 (stdout) exp-ptrcheck/tests/pth_create (stderr) exp-ptrcheck/tests/pth_specific (stderr) ================================================= == Difference between 24 hours ago and now == ================================================= *** old.short Fri Jul 10 03:20:08 2009 --- new.short Fri Jul 10 03:30:08 2009 *************** *** 8,13 **** ! == 502 tests, 2 stderr failures, 1 stdout failure, 0 post failures == none/tests/linux/mremap2 (stdout) ! exp-ptrcheck/tests/pth_create (stderr) ! exp-ptrcheck/tests/pth_specific (stderr) --- 8,12 ---- ! == 502 tests, 1 stderr failure, 1 stdout failure, 0 post failures == none/tests/linux/mremap2 (stdout) ! drd/tests/pth_cleanup_handler (stderr) |
|
From: Tom H. <th...@cy...> - 2009-07-10 02:50:43
|
Nightly build on lloyd ( x86_64, Fedora 7 ) Started at 2009-07-10 03:05:04 BST Ended at 2009-07-10 03:50:24 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 == 496 tests, 4 stderr failures, 1 stdout failure, 0 post failures == memcheck/tests/x86-linux/scalar (stderr) memcheck/tests/x86-linux/scalar_exit_group (stderr) memcheck/tests/x86-linux/scalar_supp (stderr) none/tests/amd64/bug127521-64 (stdout) none/tests/amd64/bug127521-64 (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 == 496 tests, 7 stderr failures, 1 stdout failure, 0 post failures == memcheck/tests/x86-linux/scalar (stderr) memcheck/tests/x86-linux/scalar_exit_group (stderr) memcheck/tests/x86-linux/scalar_supp (stderr) none/tests/amd64/bug127521-64 (stdout) none/tests/amd64/bug127521-64 (stderr) exp-ptrcheck/tests/ccc (stderr) exp-ptrcheck/tests/pth_create (stderr) exp-ptrcheck/tests/pth_specific (stderr) ================================================= == Difference between 24 hours ago and now == ================================================= *** old.short Fri Jul 10 03:27:43 2009 --- new.short Fri Jul 10 03:50:24 2009 *************** *** 8,10 **** ! == 496 tests, 7 stderr failures, 1 stdout failure, 0 post failures == memcheck/tests/x86-linux/scalar (stderr) --- 8,10 ---- ! == 496 tests, 4 stderr failures, 1 stdout failure, 0 post failures == memcheck/tests/x86-linux/scalar (stderr) *************** *** 14,18 **** none/tests/amd64/bug127521-64 (stderr) - exp-ptrcheck/tests/ccc (stderr) - exp-ptrcheck/tests/pth_create (stderr) - exp-ptrcheck/tests/pth_specific (stderr) --- 14,15 ---- |
|
From: <sv...@va...> - 2009-07-09 23:35:51
|
Author: njn
Date: 2009-07-10 00:35:44 +0100 (Fri, 10 Jul 2009)
New Revision: 10420
Log:
Attempt to improve the {MALLOC,FREE}LIKE_BLOCK documentation, based on
seeing them misapplied on a real-world example.
Modified:
trunk/include/valgrind.h
Modified: trunk/include/valgrind.h
===================================================================
--- trunk/include/valgrind.h 2009-07-09 22:52:24 UTC (rev 10419)
+++ trunk/include/valgrind.h 2009-07-09 23:35:44 UTC (rev 10420)
@@ -3802,31 +3802,91 @@
_qyy_res; \
})
-/* Mark a block of memory as having been allocated by a malloc()-like
- function. `addr' is the start of the usable block (ie. after any
- redzone) `rzB' is redzone size if the allocator can apply redzones;
- use '0' if not. Adding redzones makes it more likely Valgrind will spot
- block overruns. `is_zeroed' indicates if the memory is zeroed, as it is
- for calloc(). Put it immediately after the point where a block is
- allocated.
+/* Several Valgrind tools (Memcheck, Massif, Helgrind, DRD) rely on knowing
+ when heap blocks are allocated in order to give accurate results. This
+ happens automatically for the standard allocator functions such as
+ malloc(), calloc(), realloc(), memalign(), new, new[], free(), delete,
+ delete[], etc.
+
+ But if your program uses a custom allocator, this doesn't automatically
+ happen, and Valgrind will not do as well. For example, if you allocate
+ superblocks with mmap() and then allocates chunks of the superblocks, all
+ Valgrind's observations will be at the mmap() level and it won't know that
+ the chunks should be considered separate entities. In Memcheck's case,
+ that means you probably won't get heap block overrun detection (because
+ there won't be redzones marked as unaddressable) and you definitely won't
+ get any leak detection.
+
+ The following client requests allow a custom allocator to be annotated so
+ that it can be handled accurately by Valgrind.
+
+ VALGRIND_MALLOCLIKE_BLOCK marks a region of memory as having been allocated
+ by a malloc()-like function. For Memcheck (an illustrative case), this
+ does two things:
+
+ - It records that the block has been allocated. This means any addresses
+ within the block mentioned in error messages will be
+ identified as belonging to the block. It also means that if the block
+ isn't freed it will be detected by the leak checker.
+
+ - It marks the block as being addressable and undefined (if 'is_zeroed' is
+ not set), or addressable and defined (if 'is_zeroed' is set). This
+ controls how accesses to the block by the program are handled.
- If you're using Memcheck: If you're allocating memory via superblocks,
- and then handing out small chunks of each superblock, if you don't have
- redzones on your small blocks, it's worth marking the superblock with
- VALGRIND_MAKE_MEM_NOACCESS when it's created, so that block overruns are
- detected. But if you can put redzones on, it's probably better to not do
- this, so that messages for small overruns are described in terms of the
- small block rather than the superblock (but if you have a big overrun
- that skips over a redzone, you could miss an error this way). See
- memcheck/tests/custom_alloc.c for an example.
+ 'addr' is the start of the usable block (ie. after any
+ redzone), 'sizeB' is its size. 'rzB' is the redzone size if the allocator
+ can apply redzones -- these are blocks of padding at the start and end of
+ each block. Adding redzones is recommended as it makes it much more likely
+ Valgrind will spot block overruns. `is_zeroed' indicates if the memory is
+ zeroed (or filled with another predictable value), as is the case for
+ calloc().
+
+ VALGRIND_MALLOCLIKE_BLOCK should be put immediately after the point where a
+ heap block -- that will be used by the client program -- is allocated.
+ It's best to put it at the outermost level of the allocator if possible;
+ for example, if you have a function my_alloc() which calls
+ internal_alloc(), and the client request is put inside internal_alloc(),
+ stack traces relating to the heap block will contain entries for both
+ my_alloc() and internal_alloc(), which is probably not what you want.
+ VALGRIND_FREELIKE_BLOCK is the partner to VALGRIND_MALLOCLIKE_BLOCK. For
+ Memcheck, it does two things:
+
+ - It records that the block has been deallocated. This assumes that the
+ block was annotated as having been allocated via
+ VALGRIND_MALLOCLIKE_BLOCK. Otherwise, an error will be issued.
+
+ - It marks the block as being unaddressable.
+
+ VALGRIND_FREELIKE_BLOCK should be put immediately after the point where a
+ heap block is deallocated.
+
+ In many cases, these two client requests will not be enough to get your
+ allocator working well with Memcheck. More specifically, if your allocator
+ writes to freed blocks in any way then a VALGRIND_MAKE_MEM_UNDEFINED call
+ will be necessary to mark the memory as addressable just before the zeroing
+ occurs, otherwise you'll get a lot of invalid write errors. For example,
+ you'll need to do this if your allocator recycles freed blocks, but it
+ zeroes them before handing them back out (via VALGRIND_MALLOCLIKE_BLOCK).
+ Alternatively, if your allocator reuses freed blocks for allocator-internal
+ data structures, VALGRIND_MAKE_MEM_UNDEFINED calls will also be necessary.
+
+ Really, what's happening is a blurring of the lines between the client
+ program and the allocator... after VALGRIND_FREELIKE_BLOCK is called, the
+ memory should be considered unaddressable to the client program, but the
+ allocator knows more than the rest of the client program and so may be able
+ to safely access it. Extra client requests are necessary for Valgrind to
+ understand the distinction between the allocator and the rest of the
+ program.
+
+ Note: there is currently no VALGRIND_REALLOCLIKE_BLOCK client request; it
+ has to be emulated with MALLOCLIKE/FREELIKE and memory copying.
+
WARNING: if your allocator uses malloc() or 'new' to allocate
superblocks, rather than mmap() or brk(), this will not work properly --
you'll likely get assertion failures during leak detection. This is
because Valgrind doesn't like seeing overlapping heap blocks. Sorry.
-
- Nb: block must be freed via a free()-like function specified
- with VALGRIND_FREELIKE_BLOCK or mismatch errors will occur. */
+*/
#define VALGRIND_MALLOCLIKE_BLOCK(addr, sizeB, rzB, is_zeroed) \
{unsigned int _qzz_res; \
VALGRIND_DO_CLIENT_REQUEST(_qzz_res, 0, \
@@ -3834,10 +3894,7 @@
addr, sizeB, rzB, is_zeroed, 0); \
}
-/* Mark a block of memory as having been freed by a free()-like function.
- `rzB' is redzone size; it must match that given to
- VALGRIND_MALLOCLIKE_BLOCK. Memory not freed will be detected by the leak
- checker. Put it immediately after the point where the block is freed. */
+/* See the comment for VALGRIND_MALLOCLIKE_BLOCK for details. */
#define VALGRIND_FREELIKE_BLOCK(addr, rzB) \
{unsigned int _qzz_res; \
VALGRIND_DO_CLIENT_REQUEST(_qzz_res, 0, \
|
|
From: <sv...@va...> - 2009-07-09 22:52:36
|
Author: njn Date: 2009-07-09 23:52:24 +0100 (Thu, 09 Jul 2009) New Revision: 10419 Log: This file was accidentally empty; fill it with the right output. Modified: trunk/memcheck/tests/atomic_incs.stdout.exp-32bit Modified: trunk/memcheck/tests/atomic_incs.stdout.exp-32bit =================================================================== --- trunk/memcheck/tests/atomic_incs.stdout.exp-32bit 2009-07-09 10:52:03 UTC (rev 10418) +++ trunk/memcheck/tests/atomic_incs.stdout.exp-32bit 2009-07-09 22:52:24 UTC (rev 10419) @@ -0,0 +1,7 @@ +parent, pre-fork +child +parent, pre-fork +parent +FINAL VALUES: 8 bit -74, 16 bit 32694, 32 bit 6913974, 64 bit 0 +PASS +parent exits |
|
From: Nicholas N. <n.n...@gm...> - 2009-07-09 17:33:14
|
Nightly build on ocean32 ( Ubuntu 9.04, x86_64 (32-bit only) )
Started at 2009-07-10 03:00:01 EST
Ended at 2009-07-10 03:33:09 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
== 463 tests, 10 stderr failures, 3 stdout failures, 0 post failures ==
memcheck/tests/atomic_incs (stdout)
memcheck/tests/linux/stack_switch (stderr)
memcheck/tests/origin1-yes (stderr)
memcheck/tests/origin5-bz2 (stderr)
none/tests/empty-exe (stderr)
none/tests/linux/mremap2 (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)
drd/tests/pth_cleanup_handler (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
== 463 tests, 12 stderr failures, 3 stdout failures, 0 post failures ==
memcheck/tests/atomic_incs (stdout)
memcheck/tests/linux/stack_switch (stderr)
memcheck/tests/origin1-yes (stderr)
memcheck/tests/origin5-bz2 (stderr)
none/tests/empty-exe (stderr)
none/tests/linux/mremap2 (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)
drd/tests/pth_cleanup_handler (stderr)
exp-ptrcheck/tests/pth_create (stderr)
exp-ptrcheck/tests/pth_specific (stderr)
=================================================
== Difference between 24 hours ago and now ==
=================================================
*** old.short Fri Jul 10 03:17:38 2009
--- new.short Fri Jul 10 03:33:09 2009
***************
*** 8,10 ****
! == 463 tests, 12 stderr failures, 3 stdout failures, 0 post failures ==
memcheck/tests/atomic_incs (stdout)
--- 8,10 ----
! == 463 tests, 10 stderr failures, 3 stdout failures, 0 post failures ==
memcheck/tests/atomic_incs (stdout)
***************
*** 22,25 ****
drd/tests/pth_cleanup_handler (stderr)
- exp-ptrcheck/tests/pth_create (stderr)
- exp-ptrcheck/tests/pth_specific (stderr)
--- 22,23 ----
=================================================
./valgrind-new/drd/tests/pth_cleanup_handler.stderr.diff
=================================================
--- pth_cleanup_handler.stderr.exp 2009-07-10 03:21:50.000000000 +1000
+++ pth_cleanup_handler.stderr.out 2009-07-10 03:32:02.000000000 +1000
@@ -1,6 +1 @@
-
-Cleanup handler has been called.
-Cleanup handler has been called.
-Test succeeded.
-
-ERROR SUMMARY: 0 errors from 0 contexts (suppressed: 0 from 0)
+valgrind: failed to start tool 'drd' for platform 'amd64-linux': No such file or directory
=================================================
./valgrind-new/memcheck/tests/atomic_incs.stdout.diff-32bit
=================================================
--- atomic_incs.stdout.exp-32bit 2009-07-10 03:19:32.000000000 +1000
+++ atomic_incs.stdout.out 2009-07-10 03:27:51.000000000 +1000
@@ -0,0 +1,7 @@
+parent, pre-fork
+child
+parent, pre-fork
+parent
+FINAL VALUES: 8 bit -74, 16 bit 32694, 32 bit 6913974, 64 bit 0
+PASS
+parent exits
=================================================
./valgrind-new/memcheck/tests/atomic_incs.stdout.diff-64bit
=================================================
--- atomic_incs.stdout.exp-64bit 2009-07-10 03:19:32.000000000 +1000
+++ atomic_incs.stdout.out 2009-07-10 03:27:51.000000000 +1000
@@ -2,6 +2,6 @@
child
parent, pre-fork
parent
-FINAL VALUES: 8 bit -74, 16 bit 32694, 32 bit 6913974, 64 bit 682858642110
+FINAL VALUES: 8 bit -74, 16 bit 32694, 32 bit 6913974, 64 bit 0
PASS
parent exits
=================================================
./valgrind-new/memcheck/tests/linux/stack_switch.stderr.diff
=================================================
--- stack_switch.stderr.exp 2009-07-10 03:19:22.000000000 +1000
+++ stack_switch.stderr.out 2009-07-10 03:28:05.000000000 +1000
@@ -0,0 +1,2 @@
+Syscall param clone(child_tidptr) contains uninitialised byte(s)
+ ...
=================================================
./valgrind-new/memcheck/tests/origin1-yes.stderr.diff
=================================================
--- origin1-yes.stderr.exp 2009-07-10 03:19:32.000000000 +1000
+++ origin1-yes.stderr.out 2009-07-10 03:28:24.000000000 +1000
@@ -47,7 +47,7 @@
Conditional jump or move depends on uninitialised value(s)
at 0x........: main (origin1-yes.c:101)
Uninitialised value was created
- at 0x........: brk (in /...libc...)
+ at 0x........: ??? (in /lib32/ld-2.9.so)
by 0x........: sbrk (in /...libc...)
by 0x........: main (origin1-yes.c:98)
=================================================
./valgrind-new/memcheck/tests/origin1-yes.stderr.diff-darwin
=================================================
--- origin1-yes.stderr.exp-darwin 2009-07-10 03:19:32.000000000 +1000
+++ origin1-yes.stderr.out 2009-07-10 03:28:24.000000000 +1000
@@ -44,7 +44,12 @@
Undef 7 of 8 (brk)
-(no complaint; sbrk initialises memory on Darwin)
+Conditional jump or move depends on uninitialised value(s)
+ at 0x........: main (origin1-yes.c:101)
+ Uninitialised value was created
+ at 0x........: ??? (in /lib32/ld-2.9.so)
+ by 0x........: sbrk (in /...libc...)
+ by 0x........: main (origin1-yes.c:98)
Undef 8 of 8 (MAKE_MEM_UNDEFINED)
=================================================
./valgrind-new/memcheck/tests/origin5-bz2.stderr.diff-glibc25-amd64
=================================================
--- origin5-bz2.stderr.exp-glibc25-amd64 2009-07-10 03:19:32.000000000 +1000
+++ origin5-bz2.stderr.out 2009-07-10 03:28:28.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-07-10 03:19:32.000000000 +1000
+++ origin5-bz2.stderr.out 2009-07-10 03:28:28.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-07-10 03:19:32.000000000 +1000
+++ origin5-bz2.stderr.out 2009-07-10 03:28:28.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-07-10 03:21:23.000000000 +1000
+++ empty-exe.stderr.out 2009-07-10 03:29:45.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/linux/mremap2.stdout.diff
=================================================
--- mremap2.stdout.exp 2009-07-10 03:21:13.000000000 +1000
+++ mremap2.stdout.out 2009-07-10 03:29:50.000000000 +1000
@@ -27,38 +27,38 @@
..................................................
..................................................
-maymv 0 fixed 0 newsz 21 dstpo 0 dst 0x........ -> 0x........ (== src)
-XXXXXXXXX.XXXXXXXXXXXXXXXXXXXXX.........XXXXXXXXXX
+maymv 0 fixed 0 newsz 21 dstpo 0 dst 0x........ -> error 12
+XXXXXXXXX.XXXXXXXXXXXXXXXXXXXX..........XXXXXXXXXX
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
..................................................
..................................................
-maymv 0 fixed 0 newsz 21 dstpo 1 dst 0x........ -> 0x........ (== src)
-XXXXXXXXX.XXXXXXXXXXXXXXXXXXXXX.........XXXXXXXXXX
+maymv 0 fixed 0 newsz 21 dstpo 1 dst 0x........ -> error 12
+XXXXXXXXX.XXXXXXXXXXXXXXXXXXXX..........XXXXXXXXXX
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
..................................................
..................................................
-maymv 0 fixed 0 newsz 29 dstpo 0 dst 0x........ -> 0x........ (== src)
-XXXXXXXXX.XXXXXXXXXXXXXXXXXXXXXXXXXXXXX.XXXXXXXXXX
+maymv 0 fixed 0 newsz 29 dstpo 0 dst 0x........ -> error 12
+XXXXXXXXX.XXXXXXXXXXXXXXXXXXXX..........XXXXXXXXXX
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
..................................................
..................................................
-maymv 0 fixed 0 newsz 29 dstpo 1 dst 0x........ -> 0x........ (== src)
-XXXXXXXXX.XXXXXXXXXXXXXXXXXXXXXXXXXXXXX.XXXXXXXXXX
+maymv 0 fixed 0 newsz 29 dstpo 1 dst 0x........ -> error 12
+XXXXXXXXX.XXXXXXXXXXXXXXXXXXXX..........XXXXXXXXXX
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
..................................................
..................................................
-maymv 0 fixed 0 newsz 30 dstpo 0 dst 0x........ -> 0x........ (== src)
-XXXXXXXXX.XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
+maymv 0 fixed 0 newsz 30 dstpo 0 dst 0x........ -> error 12
+XXXXXXXXX.XXXXXXXXXXXXXXXXXXXX..........XXXXXXXXXX
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
..................................................
..................................................
-maymv 0 fixed 0 newsz 30 dstpo 1 dst 0x........ -> 0x........ (== src)
-XXXXXXXXX.XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
+maymv 0 fixed 0 newsz 30 dstpo 1 dst 0x........ -> error 12
+XXXXXXXXX.XXXXXXXXXXXXXXXXXXXX..........XXXXXXXXXX
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
..................................................
..................................................
@@ -173,40 +173,40 @@
..................................................
..................................................
-maymv 1 fixed 0 newsz 21 dstpo 0 dst 0x........ -> 0x........ (== src)
-XXXXXXXXX.XXXXXXXXXXXXXXXXXXXXX.........XXXXXXXXXX
+maymv 1 fixed 0 newsz 21 dstpo 0 dst 0x........ -> 0x........ (== other)
+XXXXXXXXX...............................XXXXXXXXXX
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
..................................................
..................................................
-maymv 1 fixed 0 newsz 21 dstpo 1 dst 0x........ -> 0x........ (== src)
-XXXXXXXXX.XXXXXXXXXXXXXXXXXXXXX.........XXXXXXXXXX
+maymv 1 fixed 0 newsz 21 dstpo 1 dst 0x........ -> 0x........ (== other)
+XXXXXXXXX...............................XXXXXXXXXX
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
..................................................
..................................................
-maymv 1 fixed 0 newsz 29 dstpo 0 dst 0x........ -> 0x........ (== src)
-XXXXXXXXX.XXXXXXXXXXXXXXXXXXXXXXXXXXXXX.XXXXXXXXXX
+maymv 1 fixed 0 newsz 29 dstpo 0 dst 0x........ -> 0x........ (== other)
+XXXXXXXXX...............................XXXXXXXXXX
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
-..................................................
+XXXXXXXXXXXXXXXXXXXXXXXXXXXXX.....................
..................................................
-maymv 1 fixed 0 newsz 29 dstpo 1 dst 0x........ -> 0x........ (== src)
-XXXXXXXXX.XXXXXXXXXXXXXXXXXXXXXXXXXXXXX.XXXXXXXXXX
+maymv 1 fixed 0 newsz 29 dstpo 1 dst 0x........ -> 0x........ (== other)
+XXXXXXXXX...............................XXXXXXXXXX
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
-..................................................
+XXXXXXXXXXXXXXXXXXXXXXXXXXXXX.....................
..................................................
-maymv 1 fixed 0 newsz 30 dstpo 0 dst 0x........ -> 0x........ (== src)
-XXXXXXXXX.XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
+maymv 1 fixed 0 newsz 30 dstpo 0 dst 0x........ -> 0x........ (== other)
+XXXXXXXXX...............................XXXXXXXXXX
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
-..................................................
+XXXXXXXXXXXXXXXXXXXXXXXXXXXXXX....................
..................................................
<truncated beyond 100 lines>
=================================================
./valgrind-new/none/tests/linux/mremap2.stdout.diff-glibc28-amd64
=================================================
--- mremap2.stdout.exp-glibc28-amd64 2009-07-10 03:21:13.000000000 +1000
+++ mremap2.stdout.out 2009-07-10 03:29:50.000000000 +1000
@@ -188,37 +188,37 @@
maymv 1 fixed 0 newsz 29 dstpo 0 dst 0x........ -> 0x........ (== other)
XXXXXXXXX...............................XXXXXXXXXX
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
-..................................................
+XXXXXXXXXXXXXXXXXXXXXXXXXXXXX.....................
..................................................
maymv 1 fixed 0 newsz 29 dstpo 1 dst 0x........ -> 0x........ (== other)
XXXXXXXXX...............................XXXXXXXXXX
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
-..................................................
+XXXXXXXXXXXXXXXXXXXXXXXXXXXXX.....................
..................................................
maymv 1 fixed 0 newsz 30 dstpo 0 dst 0x........ -> 0x........ (== other)
XXXXXXXXX...............................XXXXXXXXXX
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
-..................................................
+XXXXXXXXXXXXXXXXXXXXXXXXXXXXXX....................
..................................................
maymv 1 fixed 0 newsz 30 dstpo 1 dst 0x........ -> 0x........ (== other)
XXXXXXXXX...............................XXXXXXXXXX
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
-..................................................
+XXXXXXXXXXXXXXXXXXXXXXXXXXXXXX....................
..................................................
maymv 1 fixed 0 newsz 31 dstpo 0 dst 0x........ -> 0x........ (== other)
XXXXXXXXX...............................XXXXXXXXXX
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
-..................................................
+XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX...................
..................................................
maymv 1 fixed 0 newsz 31 dstpo 1 dst 0x........ -> 0x........ (== other)
XXXXXXXXX...............................XXXXXXXXXX
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
-..................................................
+XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX...................
..................................................
=================================================
./valgrind-new/none/tests/linux/mremap2.stdout.diff2
=================================================
--- mremap2.stdout.exp2 2009-07-10 03:21:13.000000000 +1000
+++ mremap2.stdout.out 2009-07-10 03:29:50.000000000 +1000
@@ -27,38 +27,38 @@
..................................................
..................................................
-maymv 0 fixed 0 newsz 21 dstpo 0 dst 0x........ -> 0x........ (== src)
-XXXXXXXXX.XXXXXXXXXXXXXXXXXXXXX.........XXXXXXXXXX
+maymv 0 fixed 0 newsz 21 dstpo 0 dst 0x........ -> error 12
+XXXXXXXXX.XXXXXXXXXXXXXXXXXXXX..........XXXXXXXXXX
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
..................................................
..................................................
-maymv 0 fixed 0 newsz 21 dstpo 1 dst 0x........ -> 0x........ (== src)
-XXXXXXXXX.XXXXXXXXXXXXXXXXXXXXX.........XXXXXXXXXX
+maymv 0 fixed 0 newsz 21 dstpo 1 dst 0x........ -> error 12
+XXXXXXXXX.XXXXXXXXXXXXXXXXXXXX..........XXXXXXXXXX
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
..................................................
..................................................
-maymv 0 fixed 0 newsz 29 dstpo 0 dst 0x........ -> 0x........ (== src)
-XXXXXXXXX.XXXXXXXXXXXXXXXXXXXXXXXXXXXXX.XXXXXXXXXX
+maymv 0 fixed 0 newsz 29 dstpo 0 dst 0x........ -> error 12
+XXXXXXXXX.XXXXXXXXXXXXXXXXXXXX..........XXXXXXXXXX
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
..................................................
..................................................
-maymv 0 fixed 0 newsz 29 dstpo 1 dst 0x........ -> 0x........ (== src)
-XXXXXXXXX.XXXXXXXXXXXXXXXXXXXXXXXXXXXXX.XXXXXXXXXX
+maymv 0 fixed 0 newsz 29 dstpo 1 dst 0x........ -> error 12
+XXXXXXXXX.XXXXXXXXXXXXXXXXXXXX..........XXXXXXXXXX
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
..................................................
..................................................
-maymv 0 fixed 0 newsz 30 dstpo 0 dst 0x........ -> 0x........ (== src)
-XXXXXXXXX.XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
+maymv 0 fixed 0 newsz 30 dstpo 0 dst 0x........ -> error 12
+XXXXXXXXX.XXXXXXXXXXXXXXXXXXXX..........XXXXXXXXXX
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
..................................................
..................................................
-maymv 0 fixed 0 newsz 30 dstpo 1 dst 0x........ -> 0x........ (== src)
-XXXXXXXXX.XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
+maymv 0 fixed 0 newsz 30 dstpo 1 dst 0x........ -> error 12
+XXXXXXXXX.XXXXXXXXXXXXXXXXXXXX..........XXXXXXXXXX
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
..................................................
..................................................
@@ -173,52 +173,52 @@
..................................................
..................................................
-maymv 1 fixed 0 newsz 21 dstpo 0 dst 0x........ -> 0x........ (== src)
-XXXXXXXXX.XXXXXXXXXXXXXXXXXXXXX.........XXXXXXXXXX
+maymv 1 fixed 0 newsz 21 dstpo 0 dst 0x........ -> 0x........ (== other)
+XXXXXXXXX...............................XXXXXXXXXX
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
..................................................
..................................................
-maymv 1 fixed 0 newsz 21 dstpo 1 dst 0x........ -> 0x........ (== src)
-XXXXXXXXX.XXXXXXXXXXXXXXXXXXXXX.........XXXXXXXXXX
+maymv 1 fixed 0 newsz 21 dstpo 1 dst 0x........ -> 0x........ (== other)
+XXXXXXXXX...............................XXXXXXXXXX
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
..................................................
..................................................
-maymv 1 fixed 0 newsz 29 dstpo 0 dst 0x........ -> 0x........ (== src)
-XXXXXXXXX.XXXXXXXXXXXXXXXXXXXXXXXXXXXXX.XXXXXXXXXX
+maymv 1 fixed 0 newsz 29 dstpo 0 dst 0x........ -> 0x........ (== other)
+XXXXXXXXX...............................XXXXXXXXXX
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
-..................................................
+XXXXXXXXXXXXXXXXXXXXXXXXXXXXX.....................
..................................................
-maymv 1 fixed 0 newsz 29 dstpo 1 dst 0x........ -> 0x........ (== src)
-XXXXXXXXX.XXXXXXXXXXXXXXXXXXXXXXXXXXXXX.XXXXXXXXXX
+maymv 1 fixed 0 newsz 29 dstpo 1 dst 0x........ -> 0x........ (== other)
+XXXXXXXXX...............................XXXXXXXXXX
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
-..................................................
+XXXXXXXXXXXXXXXXXXXXXXXXXXXXX.....................
..................................................
-maymv 1 fixed 0 newsz 30 dstpo 0 dst 0x........ -> 0x........ (== src)
-XXXXXXXXX.XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
+maymv 1 fixed 0 newsz 30 dstpo 0 dst 0x........ -> 0x........ (== other)
+XXXXXXXXX...............................XXXXXXXXXX
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
-..................................................
+XXXXXXXXXXXXXXXXXXXXXXXXXXXXXX....................
..................................................
<truncated beyond 100 lines>
=================================================
./valgrind-new/none/tests/shell.stderr.diff
=================================================
--- shell.stderr.exp 2009-07-10 03:21:23.000000000 +1000
+++ shell.stderr.out 2009-07-10 03:30:08.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-07-10 03:21:23.000000000 +1000
+++ shell.stderr.out 2009-07-10 03:30:08.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-07-10 03:21:23.000000000 +1000
+++ shell.stdout.out 2009-07-10 03:30:08.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-07-10 03:21:23.000000000 +1000
+++ shell_valid1.stderr.out 2009-07-10 03:30:08.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-07-10 03:21:23.000000000 +1000
+++ shell_valid2.stderr.out 2009-07-10 03:30:08.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-07-10 03:21:23.000000000 +1000
+++ shell_valid3.stderr.out 2009-07-10 03:30:08.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-07-10 03:21:23.000000000 +1000
+++ shell_zerolength.stderr.out 2009-07-10 03:30:08.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-07-10 03:21:23.000000000 +1000
+++ shell_zerolength.stderr.out 2009-07-10 03:30:08.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/drd/tests/pth_cleanup_handler.stderr.diff
=================================================
--- pth_cleanup_handler.stderr.exp 2009-07-10 03:05:12.000000000 +1000
+++ pth_cleanup_handler.stderr.out 2009-07-10 03:16:28.000000000 +1000
@@ -1,6 +1 @@
-
-Cleanup handler has been called.
-Cleanup handler has been called.
-Test succeeded.
-
-ERROR SUMMARY: 0 errors from 0 contexts (suppressed: 0 from 0)
+valgrind: failed to start tool 'drd' for platform 'amd64-linux': No such file or directory
=================================================
./valgrind-old/exp-ptrcheck/tests/pth_create.stderr.diff
=================================================
--- pth_create.stderr.exp 2009-07-10 03:01:14.000000000 +1000
+++ pth_create.stderr.out 2009-07-10 03:17:32.000000000 +1000
@@ -1,18 +1,31 @@
-Invalid write of size 4
+t8 = CASle(t22::t18->t1)
+exp-ptrcheck: h_main.c:4820 (schemeS): the 'impossible' happened.
+ at 0x........: report_and_quit (m_libcassert.c:145)
+ by 0x........: vgPlain_assert_fail (m_libcassert.c:216)
+ by 0x........: h_instrument (h_main.c:4820)
+ by 0x........: LibVEX_Translate (main_main.c:500)
+ by 0x........: vgPlain_translate (m_translate.c:1517)
+ by 0x........: vgPlain_scheduler (scheduler.c:844)
+ by 0x........: run_a_thread_NORETURN (syswrap-linux.c:91)
+
+sched status:
+ running_tid=1
+
+Thread 1: status = VgTs_Runnable
at 0x........: pthread_key_create (in /...libpthread...)
by 0x........: main (pth_create.c:17)
- Address 0x........ is 1 bytes inside the accessing pointer's
- legitimate range, a block of size 4 alloc'd
- at 0x........: malloc (vg_replace_malloc.c:...)
- by 0x........: main (pth_create.c:14)
-Invalid write of size 4
- at 0x........: pthread_key_create (in /...libpthread...)
- by 0x........: main (pth_create.c:19)
- Address 0x........ is 0 bytes inside the accessing pointer's
- once-legitimate range, a block of size 4 free'd
- at 0x........: free (vg_replace_malloc.c:...)
- by 0x........: main (pth_create.c:18)
-ERROR SUMMARY: 2 errors from 2 contexts (suppressed: 0 from 0)
+Note: see also the FAQ in the source distribution.
+It contains workarounds to several common problems.
+In particular, if Valgrind aborted or crashed after
+identifying problems in your program, there's a good chance
+that fixing those problems will prevent Valgrind aborting or
+crashing, especially if it happened in m_mallocfree.c.
+
+If that doesn't help, please report this bug to: www.valgrind.org
+
+In the bug report, send all the above text, the valgrind
+version, and what OS and version you are using. Thanks.
+
=================================================
./valgrind-old/exp-ptrcheck/tests/pth_specific.stderr.diff
=================================================
--- pth_specific.stderr.exp 2009-07-10 03:01:14.000000000 +1000
+++ pth_specific.stderr.out 2009-07-10 03:17:33.000000000 +1000
@@ -5,12 +5,33 @@
legitimate range, a block of size 100 alloc'd
at 0x........: malloc (vg_replace_malloc.c:...)
by 0x........: main (pth_specific.c:17)
+t8 = CASle(t22::t18->t1)
+exp-ptrcheck: h_main.c:4820 (schemeS): the 'impossible' happened.
+ at 0x........: report_and_quit (m_libcassert.c:145)
+ by 0x........: vgPlain_assert_fail (m_libcassert.c:216)
+ by 0x........: h_instrument (h_main.c:4820)
+ by 0x........: LibVEX_Translate (main_main.c:500)
+ by 0x........: vgPlain_translate (m_translate.c:1517)
+ by 0x........: vgPlain_scheduler (scheduler.c:844)
+ by 0x........: run_a_thread_NORETURN (syswrap-linux.c:91)
-Invalid read of size 1
- at 0x........: main (pth_specific.c:27)
- Address 0x........ is 1 bytes before the accessing pointer's
- legitimate range, a block of size 100 alloc'd
- at 0x........: malloc (vg_replace_malloc.c:...)
- by 0x........: main (pth_specific.c:17)
+sched status:
+ running_tid=1
+
+Thread 1: status = VgTs_Runnable
+ at 0x........: pthread_key_create (in /...libpthread...)
+ by 0x........: main (pth_specific.c:22)
+
+
+Note: see also the FAQ in the source distribution.
+It contains workarounds to several common problems.
+In particular, if Valgrind aborted or crashed after
+identifying problems in your program, there's a good chance
+that fixing those problems will prevent Valgrind aborting or
+crashing, especially if it happened in m_mallocfree.c.
+
+If that doesn't help, please report this bug to: www.valgrind.org
+
+In the bug report, send all the above text, the valgrind
+version, and what OS and version you are using. Thanks.
-ERROR SUMMARY: 2 errors from 2 contexts (suppressed: 0 from 0)
=================================================
./valgrind-old/memcheck/tests/atomic_incs.stdout.diff-32bit
=================================================
--- atomic_incs.stdout.exp-32bit 2009-07-10 03:02:36.000000000 +1000
+++ atomic_incs.stdout.out 2009-07-10 03:12:20.000000000 +1000
@@ -0,0 +1,7 @@
+parent, pre-fork
+child
+parent, pre-fork
+parent
+FINAL VALUES: 8 bit -74, 16 bit 32694, 32 bit 6913974, 64 bit 0
+PASS
+parent exits
=================================================
./valgrind-old/memcheck/tests/atomic_incs.stdout.diff-64bit
=================================================
--- atomic_incs.stdout.exp-64bit 2009-07-10 03:02:36.000000000 +1000
+++ atomic_incs.stdout.out 2009-07-10 03:12:20.000000000 +1000
@@ -2,6 +2,6 @@
child
parent, pre-fork
parent
-FINAL VALUES: 8 bit -74, 16 bit 32694, 32 bit 6913974, 64 bit 682858642110
+FINAL VALUES: 8 bit -74, 16 bit 32694, 32 bit 6913974, 64 bit 0
PASS
parent exits
=================================================
./valgrind-old/memcheck/tests/linux/stack_switch.stderr.diff
=================================================
--- stack_switch.stderr.exp 2009-07-10 03:02:21.000000000 +1000
+++ stack_switch.stderr.out 2009-07-10 03:12:33.000000000 +1000
@@ -0,0 +1,2 @@
+Syscall param clone(child_tidptr) contains uninitialised byte(s)
+ ...
=================================================
./valgrind-old/memcheck/tests/origin1-yes.stderr.diff
=================================================
--- origin1-yes.stderr.exp 2009-07-10 03:02:36.000000000 +1000
+++ origin1-yes.stderr.out 2009-07-10 03:12:52.000000000 +1000
@@ -47,7 +47,7 @@
Conditional jump or move depends on uninitialised value(s)
at 0x........: main (origin1-yes.c:101)
Uninitialised value was created
- at 0x........: brk (in /...libc...)
+ at 0x........: ??? (in /lib32/ld-2.9.so)
by 0x........: sbrk (in /...libc...)
by 0x........: main (origin1-yes.c:98)
=================================================
./valgrind-old/memcheck/tests/origin1-yes.stderr.diff-darwin
=================================================
--- origin1-yes.stderr.exp-darwin 2009-07-10 03:02:36.000000000 +1000
+++ origin1-yes.stderr.out 2009-07-10 03:12:52.000000000 +1000
@@ -44,7 +44,12 @@
Undef 7 of 8 (brk)
-(no complaint; sbrk initialises memory on Darwin)
+Conditional jump or move depends on uninitialised value(s)
+ at 0x........: main (origin1-yes.c:101)
+ Uninitialised value was created
+ at 0x........: ??? (in /lib32/ld-2.9.so)
+ by 0x........: sbrk (in /...libc...)
+ by 0x........: main (origin1-yes.c:98)
Undef 8 of 8 (MAKE_MEM_UNDEFINED)
=================================================
./valgrind-old/memcheck/tests/origin5-bz2.stderr.diff-glibc25-amd64
=================================================
--- origin5-bz2.stderr.exp-glibc25-amd64 2009-07-10 03:02:36.000000000 +1000
+++ origin5-bz2.stderr.out 2009-07-10 03:12:56.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-07-10 03:02:36.000000000 +1000
+++ origin5-bz2.stderr.out 2009-07-10 03:12:56.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-07-10 03:02:36.000000000 +1000
+++ origin5-bz2.stderr.out 2009-07-10 03:12:56.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-07-10 03:04:48.000000000 +1000
+++ empty-exe.stderr.out 2009-07-10 03:14:14.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/linux/mremap2.stdout.diff
=================================================
--- mremap2.stdout.exp 2009-07-10 03:04:36.000000000 +1000
+++ mremap2.stdout.out 2009-07-10 03:14:18.000000000 +1000
@@ -27,38 +27,38 @@
..................................................
..................................................
-maymv 0 fixed 0 newsz 21 dstpo 0 dst 0x........ -> 0x........ (== src)
-XXXXXXXXX.XXXXXXXXXXXXXXXXXXXXX.........XXXXXXXXXX
+maymv 0 fixed 0 newsz 21 dstpo 0 dst 0x........ -> error 12
+XXXXXXXXX.XXXXXXXXXXXXXXXXXXXX..........XXXXXXXXXX
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
..................................................
..................................................
-maymv 0 fixed 0 newsz 21 dstpo 1 dst 0x........ -> 0x........ (== src)
-XXXXXXXXX.XXXXXXXXXXXXXXXXXXXXX.........XXXXXXXXXX
+maymv 0 fixed 0 newsz 21 dstpo 1 dst 0x........ -> error 12
+XXXXXXXXX.XXXXXXXXXXXXXXXXXXXX..........XXXXXXXXXX
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
..................................................
..................................................
-maymv 0 fixed 0 newsz 29 dstpo 0 dst 0x........ -> 0x........ (== src)
-XXXXXXXXX.XXXXXXXXXXXXXXXXXXXXXXXXXXXXX.XXXXXXXXXX
+maymv 0 fixed 0 newsz 29 dstpo 0 dst 0x........ -> error 12
+XXXXXXXXX.XXXXXXXXXXXXXXXXXXXX..........XXXXXXXXXX
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
..................................................
..................................................
-maymv 0 fixed 0 newsz 29 dstpo 1 dst 0x........ -> 0x........ (== src)
-XXXXXXXXX.XXXXXXXXXXXXXXXXXXXXXXXXXXXXX.XXXXXXXXXX
+maymv 0 fixed 0 newsz 29 dstpo 1 dst 0x........ -> error 12
+XXXXXXXXX.XXXXXXXXXXXXXXXXXXXX..........XXXXXXXXXX
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
..................................................
..................................................
-maymv 0 fixed 0 newsz 30 dstpo 0 dst 0x........ -> 0x........ (== src)
-XXXXXXXXX.XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
+maymv 0 fixed 0 newsz 30 dstpo 0 dst 0x........ -> error 12
+XXXXXXXXX.XXXXXXXXXXXXXXXXXXXX..........XXXXXXXXXX
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
..................................................
..................................................
-maymv 0 fixed 0 newsz 30 dstpo 1 dst 0x........ -> 0x........ (== src)
-XXXXXXXXX.XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
+maymv 0 fixed 0 newsz 30 dstpo 1 dst 0x........ -> error 12
+XXXXXXXXX.XXXXXXXXXXXXXXXXXXXX..........XXXXXXXXXX
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
..................................................
..................................................
@@ -173,40 +173,40 @@
..................................................
..................................................
-maymv 1 fixed 0 newsz 21 dstpo 0 dst 0x........ -> 0x........ (== src)
-XXXXXXXXX.XXXXXXXXXXXXXXXXXXXXX.........XXXXXXXXXX
+maymv 1 fixed 0 newsz 21 dstpo 0 dst 0x........ -> 0x........ (== other)
+XXXXXXXXX...............................XXXXXXXXXX
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
..................................................
..................................................
-maymv 1 fixed 0 newsz 21 dstpo 1 dst 0x........ -> 0x........ (== src)
-XXXXXXXXX.XXXXXXXXXXXXXXXXXXXXX.........XXXXXXXXXX
+maymv 1 fixed 0 newsz 21 dstpo 1 dst 0x........ -> 0x........ (== other)
+XXXXXXXXX...............................XXXXXXXXXX
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
..................................................
..................................................
-maymv 1 fixed 0 newsz 29 dstpo 0 dst 0x........ -> 0x........ (== src)
-XXXXXXXXX.XXXXXXXXXXXXXXXXXXXXXXXXXXXXX.XXXXXXXXXX
+maymv 1 fixed 0 newsz 29 dstpo 0 dst 0x........ -> 0x........ (== other)
+XXXXXXXXX...............................XXXXXXXXXX
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
-..................................................
+XXXXXXXXXXXXXXXXXXXXXXXXXXXXX.....................
..................................................
-maymv 1 fixed 0 newsz 29 dstpo 1 dst 0x........ -> 0x........ (== src)
-XXXXXXXXX.XXXXXXXXXXXXXXXXXXXXXXXXXXXXX.XXXXXXXXXX
+maymv 1 fixed 0 newsz 29 dstpo 1 dst 0x........ -> 0x........ (== other)
+XXXXXXXXX...............................XXXXXXXXXX
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
-..................................................
+XXXXXXXXXXXXXXXXXXXXXXXXXXXXX.....................
..................................................
-maymv 1 fixed 0 newsz 30 dstpo 0 dst 0x........ -> 0x........ (== src)
-XXXXXXXXX.XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
+maymv 1 fixed 0 newsz 30 dstpo 0 dst 0x........ -> 0x........ (== other)
+XXXXXXXXX...............................XXXXXXXXXX
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
-..................................................
+XXXXXXXXXXXXXXXXXXXXXXXXXXXXXX....................
..................................................
<truncated beyond 100 lines>
...
[truncated message content] |
|
From: Nicholas N. <n.n...@gm...> - 2009-07-09 16:36:06
|
Nightly build on ocean ( Ubuntu 9.04, x86_64 )
Started at 2009-07-10 02:00:01 EST
Ended at 2009-07-10 02:35:54 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
== 501 tests, 1 stderr failure, 1 stdout failure, 0 post failures ==
none/tests/linux/mremap2 (stdout)
drd/tests/pth_cleanup_handler (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
== 501 tests, 3 stderr failures, 1 stdout failure, 0 post failures ==
none/tests/linux/mremap2 (stdout)
drd/tests/pth_cleanup_handler (stderr)
exp-ptrcheck/tests/pth_create (stderr)
exp-ptrcheck/tests/pth_specific (stderr)
=================================================
== Difference between 24 hours ago and now ==
=================================================
*** old.short Fri Jul 10 02:15:15 2009
--- new.short Fri Jul 10 02:35:54 2009
***************
*** 8,14 ****
! == 501 tests, 3 stderr failures, 1 stdout failure, 0 post failures ==
none/tests/linux/mremap2 (stdout)
drd/tests/pth_cleanup_handler (stderr)
- exp-ptrcheck/tests/pth_create (stderr)
- exp-ptrcheck/tests/pth_specific (stderr)
--- 8,12 ----
! == 501 tests, 1 stderr failure, 1 stdout failure, 0 post failures ==
none/tests/linux/mremap2 (stdout)
drd/tests/pth_cleanup_handler (stderr)
=================================================
./valgrind-new/drd/tests/pth_cleanup_handler.stderr.diff
=================================================
--- pth_cleanup_handler.stderr.exp 2009-07-10 02:20:43.000000000 +1000
+++ pth_cleanup_handler.stderr.out 2009-07-10 02:34:52.000000000 +1000
@@ -1,6 +1,1227 @@
Cleanup handler has been called.
+Thread 3:
+Conflicting load by thread 3/3 at 0x........ size 1
+ at 0x........: ??? (in /lib/libgcc_s.so.1)
+ by 0x........: _Unwind_ForcedUnwind (in /lib/libgcc_s.so.1)
+ by 0x........: (within libpthread-?.?.so)
+ by 0x........: f (in /home/njn/grind/nightly/valgrind-new/drd/tests/pth_cleanup_handler)
+ by 0x........: vgDrd_thread_wrapper (drd_pthread_intercepts.c:?)
+ by 0x........: (within libpthread-?.?.so)
+ by 0x........: clone (in /...libc...)
+Allocation context: BSS section of libgcc_s.so.1
+Other segment start (thread 2/2)
+ at 0x........: pthread_mutex_unlock (drd_pthread_intercepts.c:?)
+ by 0x........: dl_iterate_phdr (in /...libc...)
+ by 0x........: _Unwind_Find_FDE (in /lib/libgcc_s.so.1)
+ by 0x........: ??? (in /lib/libgcc_s.so.1)
+ by 0x........: ??? (in /lib/libgcc_s.so.1)
+ by 0x........: _Unwind_ForcedUnwind (in /lib/libgcc_s.so.1)
+ by 0x........: (within libpthread-?.?.so)
+ by 0x........: (within libpthread-?.?.so)
+ by 0x........: f (in /home/njn/grind/nightly/valgrind-new/drd/tests/pth_cleanup_handler)
+ by 0x........: vgDrd_thread_wrapper (drd_pthread_intercepts.c:?)
+ by 0x........: (within libpthread-?.?.so)
+ by 0x........: clone (in /...libc...)
+Other segment end (thread 2/2)
+ at 0x........: (within libpthread-?.?.so)
+ by 0x........: ??? (in /lib/libgcc_s.so.1)
+ by 0x........: _Unwind_ForcedUnwind (in /lib/libgcc_s.so.1)
+ by 0x........: (within libpthread-?.?.so)
+ by 0x........: (within libpthread-?.?.so)
+ by 0x........: f (in /home/njn/grind/nightly/valgrind-new/drd/tests/pth_cleanup_handler)
+ by 0x........: vgDrd_thread_wrapper (drd_pthread_intercepts.c:?)
+ by 0x........: (within libpthread-?.?.so)
+ by 0x........: clone (in /...libc...)
+Other segment start (thread 2/2)
+ at 0x........: pthread_mutex_unlock (drd_pthread_intercepts.c:?)
+ by 0x........: dl_iterate_phdr (in /...libc...)
+ by 0x........: _Unwind_Find_FDE (in /lib/libgcc_s.so.1)
+ by 0x........: ??? (in /lib/libgcc_s.so.1)
+ by 0x........: ??? (in /lib/libgcc_s.so.1)
+ by 0x........: _Unwind_ForcedUnwind (in /lib/libgcc_s.so.1)
+ by 0x........: (within libpthread-?.?.so)
+ by 0x........: (within libpthread-?.?.so)
+ by 0x........: f (in /home/njn/grind/nightly/valgrind-new/drd/tests/pth_cleanup_handler)
+ by 0x........: vgDrd_thread_wrapper (drd_pthread_intercepts.c:?)
+ by 0x........: (within libpthread-?.?.so)
+ by 0x........: clone (in /...libc...)
+Other segment end (thread 2/2)
+ at 0x........: (within libpthread-?.?.so)
+ by 0x........: ??? (in /lib/libgcc_s.so.1)
+ by 0x........: _Unwind_ForcedUnwind (in /lib/libgcc_s.so.1)
+ by 0x........: (within libpthread-?.?.so)
+ by 0x........: (within libpthread-?.?.so)
+ by 0x........: f (in /home/njn/grind/nightly/valgrind-new/drd/tests/pth_cleanup_handler)
+ by 0x........: vgDrd_thread_wrapper (drd_pthread_intercepts.c:?)
+ by 0x........: (within libpthread-?.?.so)
+ by 0x........: clone (in /...libc...)
+Other segment start (thread 2/2)
+ at 0x........: pthread_mutex_unlock (drd_pthread_intercepts.c:?)
+ by 0x........: dl_iterate_phdr (in /...libc...)
+ by 0x........: _Unwind_Find_FDE (in /lib/libgcc_s.so.1)
+ by 0x........: ??? (in /lib/libgcc_s.so.1)
+ by 0x........: ??? (in /lib/libgcc_s.so.1)
+ by 0x........: _Unwind_ForcedUnwind (in /lib/libgcc_s.so.1)
+ by 0x........: (within libpthread-?.?.so)
+ by 0x........: (within libpthread-?.?.so)
+ by 0x........: f (in /home/njn/grind/nightly/valgrind-new/drd/tests/pth_cleanup_handler)
+ by 0x........: vgDrd_thread_wrapper (drd_pthread_intercepts.c:?)
+ by 0x........: (within libpthread-?.?.so)
+ by 0x........: clone (in /...libc...)
+Other segment end (thread 2/2)
+ at 0x........: (within libpthread-?.?.so)
+ by 0x........: ??? (in /lib/libgcc_s.so.1)
+ by 0x........: _Unwind_ForcedUnwind (in /lib/libgcc_s.so.1)
+ by 0x........: (within libpthread-?.?.so)
+ by 0x........: (within libpthread-?.?.so)
+ by 0x........: f (in /home/njn/grind/nightly/valgrind-new/drd/tests/pth_cleanup_handler)
+ by 0x........: vgDrd_thread_wrapper (drd_pthread_intercepts.c:?)
+ by 0x........: (within libpthread-?.?.so)
+ by 0x........: clone (in /...libc...)
+Other segment start (thread 2/2)
+ at 0x........: pthread_mutex_unlock (drd_pthread_intercepts.c:?)
+ by 0x........: dl_iterate_phdr (in /...libc...)
+ by 0x........: _Unwind_Find_FDE (in /lib/libgcc_s.so.1)
+ by 0x........: ??? (in /lib/libgcc_s.so.1)
+ by 0x........: ??? (in /lib/libgcc_s.so.1)
+ by 0x........: _Unwind_ForcedUnwind (in /lib/libgcc_s.so.1)
+ by 0x........: (within libpthread-?.?.so)
+ by 0x........: (within libpthread-?.?.so)
+ by 0x........: f (in /home/njn/grind/nightly/valgrind-new/drd/tests/pth_cleanup_handler)
+ by 0x........: vgDrd_thread_wrapper (drd_pthread_intercepts.c:?)
+ by 0x........: (within libpthread-?.?.so)
+ by 0x........: clone (in /...libc...)
+Other segment end (thread 2/2)
+ at 0x........: (within libpthread-?.?.so)
+ by 0x........: ??? (in /lib/libgcc_s.so.1)
<truncated beyond 100 lines>
=================================================
./valgrind-new/none/tests/linux/mremap2.stdout.diff
=================================================
--- mremap2.stdout.exp 2009-07-10 02:19:57.000000000 +1000
+++ mremap2.stdout.out 2009-07-10 02:32:49.000000000 +1000
@@ -27,38 +27,38 @@
..................................................
..................................................
-maymv 0 fixed 0 newsz 21 dstpo 0 dst 0x........ -> 0x........ (== src)
-XXXXXXXXX.XXXXXXXXXXXXXXXXXXXXX.........XXXXXXXXXX
+maymv 0 fixed 0 newsz 21 dstpo 0 dst 0x........ -> error 12
+XXXXXXXXX.XXXXXXXXXXXXXXXXXXXX..........XXXXXXXXXX
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
..................................................
..................................................
-maymv 0 fixed 0 newsz 21 dstpo 1 dst 0x........ -> 0x........ (== src)
-XXXXXXXXX.XXXXXXXXXXXXXXXXXXXXX.........XXXXXXXXXX
+maymv 0 fixed 0 newsz 21 dstpo 1 dst 0x........ -> error 12
+XXXXXXXXX.XXXXXXXXXXXXXXXXXXXX..........XXXXXXXXXX
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
..................................................
..................................................
-maymv 0 fixed 0 newsz 29 dstpo 0 dst 0x........ -> 0x........ (== src)
-XXXXXXXXX.XXXXXXXXXXXXXXXXXXXXXXXXXXXXX.XXXXXXXXXX
+maymv 0 fixed 0 newsz 29 dstpo 0 dst 0x........ -> error 12
+XXXXXXXXX.XXXXXXXXXXXXXXXXXXXX..........XXXXXXXXXX
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
..................................................
..................................................
-maymv 0 fixed 0 newsz 29 dstpo 1 dst 0x........ -> 0x........ (== src)
-XXXXXXXXX.XXXXXXXXXXXXXXXXXXXXXXXXXXXXX.XXXXXXXXXX
+maymv 0 fixed 0 newsz 29 dstpo 1 dst 0x........ -> error 12
+XXXXXXXXX.XXXXXXXXXXXXXXXXXXXX..........XXXXXXXXXX
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
..................................................
..................................................
-maymv 0 fixed 0 newsz 30 dstpo 0 dst 0x........ -> 0x........ (== src)
-XXXXXXXXX.XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
+maymv 0 fixed 0 newsz 30 dstpo 0 dst 0x........ -> error 12
+XXXXXXXXX.XXXXXXXXXXXXXXXXXXXX..........XXXXXXXXXX
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
..................................................
..................................................
-maymv 0 fixed 0 newsz 30 dstpo 1 dst 0x........ -> 0x........ (== src)
-XXXXXXXXX.XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
+maymv 0 fixed 0 newsz 30 dstpo 1 dst 0x........ -> error 12
+XXXXXXXXX.XXXXXXXXXXXXXXXXXXXX..........XXXXXXXXXX
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
..................................................
..................................................
@@ -173,40 +173,40 @@
..................................................
..................................................
-maymv 1 fixed 0 newsz 21 dstpo 0 dst 0x........ -> 0x........ (== src)
-XXXXXXXXX.XXXXXXXXXXXXXXXXXXXXX.........XXXXXXXXXX
+maymv 1 fixed 0 newsz 21 dstpo 0 dst 0x........ -> 0x........ (== other)
+XXXXXXXXX...............................XXXXXXXXXX
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
..................................................
..................................................
-maymv 1 fixed 0 newsz 21 dstpo 1 dst 0x........ -> 0x........ (== src)
-XXXXXXXXX.XXXXXXXXXXXXXXXXXXXXX.........XXXXXXXXXX
+maymv 1 fixed 0 newsz 21 dstpo 1 dst 0x........ -> 0x........ (== other)
+XXXXXXXXX...............................XXXXXXXXXX
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
..................................................
..................................................
-maymv 1 fixed 0 newsz 29 dstpo 0 dst 0x........ -> 0x........ (== src)
-XXXXXXXXX.XXXXXXXXXXXXXXXXXXXXXXXXXXXXX.XXXXXXXXXX
+maymv 1 fixed 0 newsz 29 dstpo 0 dst 0x........ -> 0x........ (== other)
+XXXXXXXXX...............................XXXXXXXXXX
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
-..................................................
+XXXXXXXXXXXXXXXXXXXXXXXXXXXXX.....................
..................................................
-maymv 1 fixed 0 newsz 29 dstpo 1 dst 0x........ -> 0x........ (== src)
-XXXXXXXXX.XXXXXXXXXXXXXXXXXXXXXXXXXXXXX.XXXXXXXXXX
+maymv 1 fixed 0 newsz 29 dstpo 1 dst 0x........ -> 0x........ (== other)
+XXXXXXXXX...............................XXXXXXXXXX
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
-..................................................
+XXXXXXXXXXXXXXXXXXXXXXXXXXXXX.....................
..................................................
-maymv 1 fixed 0 newsz 30 dstpo 0 dst 0x........ -> 0x........ (== src)
-XXXXXXXXX.XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
+maymv 1 fixed 0 newsz 30 dstpo 0 dst 0x........ -> 0x........ (== other)
+XXXXXXXXX...............................XXXXXXXXXX
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
-..................................................
+XXXXXXXXXXXXXXXXXXXXXXXXXXXXXX....................
..................................................
<truncated beyond 100 lines>
=================================================
./valgrind-new/none/tests/linux/mremap2.stdout.diff-glibc28-amd64
=================================================
--- mremap2.stdout.exp-glibc28-amd64 2009-07-10 02:19:57.000000000 +1000
+++ mremap2.stdout.out 2009-07-10 02:32:49.000000000 +1000
@@ -188,37 +188,37 @@
maymv 1 fixed 0 newsz 29 dstpo 0 dst 0x........ -> 0x........ (== other)
XXXXXXXXX...............................XXXXXXXXXX
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
-..................................................
+XXXXXXXXXXXXXXXXXXXXXXXXXXXXX.....................
..................................................
maymv 1 fixed 0 newsz 29 dstpo 1 dst 0x........ -> 0x........ (== other)
XXXXXXXXX...............................XXXXXXXXXX
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
-..................................................
+XXXXXXXXXXXXXXXXXXXXXXXXXXXXX.....................
..................................................
maymv 1 fixed 0 newsz 30 dstpo 0 dst 0x........ -> 0x........ (== other)
XXXXXXXXX...............................XXXXXXXXXX
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
-..................................................
+XXXXXXXXXXXXXXXXXXXXXXXXXXXXXX....................
..................................................
maymv 1 fixed 0 newsz 30 dstpo 1 dst 0x........ -> 0x........ (== other)
XXXXXXXXX...............................XXXXXXXXXX
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
-..................................................
+XXXXXXXXXXXXXXXXXXXXXXXXXXXXXX....................
..................................................
maymv 1 fixed 0 newsz 31 dstpo 0 dst 0x........ -> 0x........ (== other)
XXXXXXXXX...............................XXXXXXXXXX
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
-..................................................
+XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX...................
..................................................
maymv 1 fixed 0 newsz 31 dstpo 1 dst 0x........ -> 0x........ (== other)
XXXXXXXXX...............................XXXXXXXXXX
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
-..................................................
+XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX...................
..................................................
=================================================
./valgrind-new/none/tests/linux/mremap2.stdout.diff2
=================================================
--- mremap2.stdout.exp2 2009-07-10 02:19:57.000000000 +1000
+++ mremap2.stdout.out 2009-07-10 02:32:49.000000000 +1000
@@ -27,38 +27,38 @@
..................................................
..................................................
-maymv 0 fixed 0 newsz 21 dstpo 0 dst 0x........ -> 0x........ (== src)
-XXXXXXXXX.XXXXXXXXXXXXXXXXXXXXX.........XXXXXXXXXX
+maymv 0 fixed 0 newsz 21 dstpo 0 dst 0x........ -> error 12
+XXXXXXXXX.XXXXXXXXXXXXXXXXXXXX..........XXXXXXXXXX
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
..................................................
..................................................
-maymv 0 fixed 0 newsz 21 dstpo 1 dst 0x........ -> 0x........ (== src)
-XXXXXXXXX.XXXXXXXXXXXXXXXXXXXXX.........XXXXXXXXXX
+maymv 0 fixed 0 newsz 21 dstpo 1 dst 0x........ -> error 12
+XXXXXXXXX.XXXXXXXXXXXXXXXXXXXX..........XXXXXXXXXX
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
..................................................
..................................................
-maymv 0 fixed 0 newsz 29 dstpo 0 dst 0x........ -> 0x........ (== src)
-XXXXXXXXX.XXXXXXXXXXXXXXXXXXXXXXXXXXXXX.XXXXXXXXXX
+maymv 0 fixed 0 newsz 29 dstpo 0 dst 0x........ -> error 12
+XXXXXXXXX.XXXXXXXXXXXXXXXXXXXX..........XXXXXXXXXX
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
..................................................
..................................................
-maymv 0 fixed 0 newsz 29 dstpo 1 dst 0x........ -> 0x........ (== src)
-XXXXXXXXX.XXXXXXXXXXXXXXXXXXXXXXXXXXXXX.XXXXXXXXXX
+maymv 0 fixed 0 newsz 29 dstpo 1 dst 0x........ -> error 12
+XXXXXXXXX.XXXXXXXXXXXXXXXXXXXX..........XXXXXXXXXX
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
..................................................
..................................................
-maymv 0 fixed 0 newsz 30 dstpo 0 dst 0x........ -> 0x........ (== src)
-XXXXXXXXX.XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
+maymv 0 fixed 0 newsz 30 dstpo 0 dst 0x........ -> error 12
+XXXXXXXXX.XXXXXXXXXXXXXXXXXXXX..........XXXXXXXXXX
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
..................................................
..................................................
-maymv 0 fixed 0 newsz 30 dstpo 1 dst 0x........ -> 0x........ (== src)
-XXXXXXXXX.XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
+maymv 0 fixed 0 newsz 30 dstpo 1 dst 0x........ -> error 12
+XXXXXXXXX.XXXXXXXXXXXXXXXXXXXX..........XXXXXXXXXX
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
..................................................
..................................................
@@ -173,52 +173,52 @@
..................................................
..................................................
-maymv 1 fixed 0 newsz 21 dstpo 0 dst 0x........ -> 0x........ (== src)
-XXXXXXXXX.XXXXXXXXXXXXXXXXXXXXX.........XXXXXXXXXX
+maymv 1 fixed 0 newsz 21 dstpo 0 dst 0x........ -> 0x........ (== other)
+XXXXXXXXX...............................XXXXXXXXXX
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
..................................................
..................................................
-maymv 1 fixed 0 newsz 21 dstpo 1 dst 0x........ -> 0x........ (== src)
-XXXXXXXXX.XXXXXXXXXXXXXXXXXXXXX.........XXXXXXXXXX
+maymv 1 fixed 0 newsz 21 dstpo 1 dst 0x........ -> 0x........ (== other)
+XXXXXXXXX...............................XXXXXXXXXX
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
..................................................
..................................................
-maymv 1 fixed 0 newsz 29 dstpo 0 dst 0x........ -> 0x........ (== src)
-XXXXXXXXX.XXXXXXXXXXXXXXXXXXXXXXXXXXXXX.XXXXXXXXXX
+maymv 1 fixed 0 newsz 29 dstpo 0 dst 0x........ -> 0x........ (== other)
+XXXXXXXXX...............................XXXXXXXXXX
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
-..................................................
+XXXXXXXXXXXXXXXXXXXXXXXXXXXXX.....................
..................................................
-maymv 1 fixed 0 newsz 29 dstpo 1 dst 0x........ -> 0x........ (== src)
-XXXXXXXXX.XXXXXXXXXXXXXXXXXXXXXXXXXXXXX.XXXXXXXXXX
+maymv 1 fixed 0 newsz 29 dstpo 1 dst 0x........ -> 0x........ (== other)
+XXXXXXXXX...............................XXXXXXXXXX
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
-..................................................
+XXXXXXXXXXXXXXXXXXXXXXXXXXXXX.....................
..................................................
-maymv 1 fixed 0 newsz 30 dstpo 0 dst 0x........ -> 0x........ (== src)
-XXXXXXXXX.XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
+maymv 1 fixed 0 newsz 30 dstpo 0 dst 0x........ -> 0x........ (== other)
+XXXXXXXXX...............................XXXXXXXXXX
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
-..................................................
+XXXXXXXXXXXXXXXXXXXXXXXXXXXXXX....................
..................................................
<truncated beyond 100 lines>
=================================================
./valgrind-old/drd/tests/pth_cleanup_handler.stderr.diff
=================================================
--- pth_cleanup_handler.stderr.exp 2009-07-10 02:01:43.000000000 +1000
+++ pth_cleanup_handler.stderr.out 2009-07-10 02:14:11.000000000 +1000
@@ -1,6 +1,1227 @@
Cleanup handler has been called.
+Thread 3:
+Conflicting load by thread 3/3 at 0x........ size 1
+ at 0x........: ??? (in /lib/libgcc_s.so.1)
+ by 0x........: _Unwind_ForcedUnwind (in /lib/libgcc_s.so.1)
+ by 0x........: (within libpthread-?.?.so)
+ by 0x........: f (in /home/njn/grind/nightly/valgrind-old/drd/tests/pth_cleanup_handler)
+ by 0x........: vgDrd_thread_wrapper (drd_pthread_intercepts.c:?)
+ by 0x........: (within libpthread-?.?.so)
+ by 0x........: clone (in /...libc...)
+Allocation context: BSS section of libgcc_s.so.1
+Other segment start (thread 2/2)
+ at 0x........: pthread_mutex_unlock (drd_pthread_intercepts.c:?)
+ by 0x........: dl_iterate_phdr (in /...libc...)
+ by 0x........: _Unwind_Find_FDE (in /lib/libgcc_s.so.1)
+ by 0x........: ??? (in /lib/libgcc_s.so.1)
+ by 0x........: ??? (in /lib/libgcc_s.so.1)
+ by 0x........: _Unwind_ForcedUnwind (in /lib/libgcc_s.so.1)
+ by 0x........: (within libpthread-?.?.so)
+ by 0x........: (within libpthread-?.?.so)
+ by 0x........: f (in /home/njn/grind/nightly/valgrind-old/drd/tests/pth_cleanup_handler)
+ by 0x........: vgDrd_thread_wrapper (drd_pthread_intercepts.c:?)
+ by 0x........: (within libpthread-?.?.so)
+ by 0x........: clone (in /...libc...)
+Other segment end (thread 2/2)
+ at 0x........: (within libpthread-?.?.so)
+ by 0x........: ??? (in /lib/libgcc_s.so.1)
+ by 0x........: _Unwind_ForcedUnwind (in /lib/libgcc_s.so.1)
+ by 0x........: (within libpthread-?.?.so)
+ by 0x........: (within libpthread-?.?.so)
+ by 0x........: f (in /home/njn/grind/nightly/valgrind-old/drd/tests/pth_cleanup_handler)
+ by 0x........: vgDrd_thread_wrapper (drd_pthread_intercepts.c:?)
+ by 0x........: (within libpthread-?.?.so)
+ by 0x........: clone (in /...libc...)
+Other segment start (thread 2/2)
+ at 0x........: pthread_mutex_unlock (drd_pthread_intercepts.c:?)
+ by 0x........: dl_iterate_phdr (in /...libc...)
+ by 0x........: _Unwind_Find_FDE (in /lib/libgcc_s.so.1)
+ by 0x........: ??? (in /lib/libgcc_s.so.1)
+ by 0x........: ??? (in /lib/libgcc_s.so.1)
+ by 0x........: _Unwind_ForcedUnwind (in /lib/libgcc_s.so.1)
+ by 0x........: (within libpthread-?.?.so)
+ by 0x........: (within libpthread-?.?.so)
+ by 0x........: f (in /home/njn/grind/nightly/valgrind-old/drd/tests/pth_cleanup_handler)
+ by 0x........: vgDrd_thread_wrapper (drd_pthread_intercepts.c:?)
+ by 0x........: (within libpthread-?.?.so)
+ by 0x........: clone (in /...libc...)
+Other segment end (thread 2/2)
+ at 0x........: (within libpthread-?.?.so)
+ by 0x........: ??? (in /lib/libgcc_s.so.1)
+ by 0x........: _Unwind_ForcedUnwind (in /lib/libgcc_s.so.1)
+ by 0x........: (within libpthread-?.?.so)
+ by 0x........: (within libpthread-?.?.so)
+ by 0x........: f (in /home/njn/grind/nightly/valgrind-old/drd/tests/pth_cleanup_handler)
+ by 0x........: vgDrd_thread_wrapper (drd_pthread_intercepts.c:?)
+ by 0x........: (within libpthread-?.?.so)
+ by 0x........: clone (in /...libc...)
+Other segment start (thread 2/2)
+ at 0x........: pthread_mutex_unlock (drd_pthread_intercepts.c:?)
+ by 0x........: dl_iterate_phdr (in /...libc...)
+ by 0x........: _Unwind_Find_FDE (in /lib/libgcc_s.so.1)
+ by 0x........: ??? (in /lib/libgcc_s.so.1)
+ by 0x........: ??? (in /lib/libgcc_s.so.1)
+ by 0x........: _Unwind_ForcedUnwind (in /lib/libgcc_s.so.1)
+ by 0x........: (within libpthread-?.?.so)
+ by 0x........: (within libpthread-?.?.so)
+ by 0x........: f (in /home/njn/grind/nightly/valgrind-old/drd/tests/pth_cleanup_handler)
+ by 0x........: vgDrd_thread_wrapper (drd_pthread_intercepts.c:?)
+ by 0x........: (within libpthread-?.?.so)
+ by 0x........: clone (in /...libc...)
+Other segment end (thread 2/2)
+ at 0x........: (within libpthread-?.?.so)
+ by 0x........: ??? (in /lib/libgcc_s.so.1)
+ by 0x........: _Unwind_ForcedUnwind (in /lib/libgcc_s.so.1)
+ by 0x........: (within libpthread-?.?.so)
+ by 0x........: (within libpthread-?.?.so)
+ by 0x........: f (in /home/njn/grind/nightly/valgrind-old/drd/tests/pth_cleanup_handler)
+ by 0x........: vgDrd_thread_wrapper (drd_pthread_intercepts.c:?)
+ by 0x........: (within libpthread-?.?.so)
+ by 0x........: clone (in /...libc...)
+Other segment start (thread 2/2)
+ at 0x........: pthread_mutex_unlock (drd_pthread_intercepts.c:?)
+ by 0x........: dl_iterate_phdr (in /...libc...)
+ by 0x........: _Unwind_Find_FDE (in /lib/libgcc_s.so.1)
+ by 0x........: ??? (in /lib/libgcc_s.so.1)
+ by 0x........: ??? (in /lib/libgcc_s.so.1)
+ by 0x........: _Unwind_ForcedUnwind (in /lib/libgcc_s.so.1)
+ by 0x........: (within libpthread-?.?.so)
+ by 0x........: (within libpthread-?.?.so)
+ by 0x........: f (in /home/njn/grind/nightly/valgrind-old/drd/tests/pth_cleanup_handler)
+ by 0x........: vgDrd_thread_wrapper (drd_pthread_intercepts.c:?)
+ by 0x........: (within libpthread-?.?.so)
+ by 0x........: clone (in /...libc...)
+Other segment end (thread 2/2)
+ at 0x........: (within libpthread-?.?.so)
+ by 0x........: ??? (in /lib/libgcc_s.so.1)
<truncated beyond 100 lines>
=================================================
./valgrind-old/exp-ptrcheck/tests/pth_create.stderr.diff
=================================================
--- pth_create.stderr.exp 2009-07-10 02:00:30.000000000 +1000
+++ pth_create.stderr.out 2009-07-10 02:15:09.000000000 +1000
@@ -1,18 +1,31 @@
-Invalid write of size 4
+t9 = CASle(t27::t16->t15)
+exp-ptrcheck: h_main.c:4820 (schemeS): the 'impossible' happened.
+ at 0x........: report_and_quit (m_libcassert.c:145)
+ by 0x........: vgPlain_assert_fail (m_libcassert.c:216)
+ by 0x........: h_instrument (h_main.c:4820)
+ by 0x........: LibVEX_Translate (main_main.c:500)
+ by 0x........: vgPlain_translate (m_translate.c:1517)
+ by 0x........: vgPlain_scheduler (scheduler.c:844)
+ by 0x........: run_a_thread_NORETURN (syswrap-linux.c:91)
+
+sched status:
+ running_tid=1
+
+Thread 1: status = VgTs_Runnable
at 0x........: pthread_key_create (in /...libpthread...)
by 0x........: main (pth_create.c:17)
- Address 0x........ is 1 bytes inside the accessing pointer's
- legitimate range, a block of size 4 alloc'd
- at 0x........: malloc (vg_replace_malloc.c:...)
- by 0x........: main (pth_create.c:14)
-Invalid write of size 4
- at 0x........: pthread_key_create (in /...libpthread...)
- by 0x........: main (pth_create.c:19)
- Address 0x........ is 0 bytes inside the accessing pointer's
- once-legitimate range, a block of size 4 free'd
- at 0x........: free (vg_replace_malloc.c:...)
- by 0x........: main (pth_create.c:18)
-ERROR SUMMARY: 2 errors from 2 contexts (suppressed: 0 from 0)
+Note: see also the FAQ in the source distribution.
+It contains workarounds to several common problems.
+In particular, if Valgrind aborted or crashed after
+identifying problems in your program, there's a good chance
+that fixing those problems will prevent Valgrind aborting or
+crashing, especially if it happened in m_mallocfree.c.
+
+If that doesn't help, please report this bug to: www.valgrind.org
+
+In the bug report, send all the above text, the valgrind
+version, and what OS and version you are using. Thanks.
+
=================================================
./valgrind-old/exp-ptrcheck/tests/pth_specific.stderr.diff
=================================================
--- pth_specific.stderr.exp 2009-07-10 02:00:30.000000000 +1000
+++ pth_specific.stderr.out 2009-07-10 02:15:10.000000000 +1000
@@ -5,12 +5,33 @@
legitimate range, a block of size 100 alloc'd
at 0x........: malloc (vg_replace_malloc.c:...)
by 0x........: main (pth_specific.c:17)
+t9 = CASle(t27::t16->t15)
+exp-ptrcheck: h_main.c:4820 (schemeS): the 'impossible' happened.
+ at 0x........: report_and_quit (m_libcassert.c:145)
+ by 0x........: vgPlain_assert_fail (m_libcassert.c:216)
+ by 0x........: h_instrument (h_main.c:4820)
+ by 0x........: LibVEX_Translate (main_main.c:500)
+ by 0x........: vgPlain_translate (m_translate.c:1517)
+ by 0x........: vgPlain_scheduler (scheduler.c:844)
+ by 0x........: run_a_thread_NORETURN (syswrap-linux.c:91)
-Invalid read of size 1
- at 0x........: main (pth_specific.c:27)
- Address 0x........ is 1 bytes before the accessing pointer's
- legitimate range, a block of size 100 alloc'd
- at 0x........: malloc (vg_replace_malloc.c:...)
- by 0x........: main (pth_specific.c:17)
+sched status:
+ running_tid=1
+
+Thread 1: status = VgTs_Runnable
+ at 0x........: pthread_key_create (in /...libpthread...)
+ by 0x........: main (pth_specific.c:22)
+
+
+Note: see also the FAQ in the source distribution.
+It contains workarounds to several common problems.
+In particular, if Valgrind aborted or crashed after
+identifying problems in your program, there's a good chance
+that fixing those problems will prevent Valgrind aborting or
+crashing, especially if it happened in m_mallocfree.c.
+
+If that doesn't help, please report this bug to: www.valgrind.org
+
+In the bug report, send all the above text, the valgrind
+version, and what OS and version you are using. Thanks.
-ERROR SUMMARY: 2 errors from 2 contexts (suppressed: 0 from 0)
=================================================
./valgrind-old/none/tests/linux/mremap2.stdout.diff
=================================================
--- mremap2.stdout.exp 2009-07-10 02:01:19.000000000 +1000
+++ mremap2.stdout.out 2009-07-10 02:12:06.000000000 +1000
@@ -27,38 +27,38 @@
..................................................
..................................................
-maymv 0 fixed 0 newsz 21 dstpo 0 dst 0x........ -> 0x........ (== src)
-XXXXXXXXX.XXXXXXXXXXXXXXXXXXXXX.........XXXXXXXXXX
+maymv 0 fixed 0 newsz 21 dstpo 0 dst 0x........ -> error 12
+XXXXXXXXX.XXXXXXXXXXXXXXXXXXXX..........XXXXXXXXXX
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
..................................................
..................................................
-maymv 0 fixed 0 newsz 21 dstpo 1 dst 0x........ -> 0x........ (== src)
-XXXXXXXXX.XXXXXXXXXXXXXXXXXXXXX.........XXXXXXXXXX
+maymv 0 fixed 0 newsz 21 dstpo 1 dst 0x........ -> error 12
+XXXXXXXXX.XXXXXXXXXXXXXXXXXXXX..........XXXXXXXXXX
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
..................................................
..................................................
-maymv 0 fixed 0 newsz 29 dstpo 0 dst 0x........ -> 0x........ (== src)
-XXXXXXXXX.XXXXXXXXXXXXXXXXXXXXXXXXXXXXX.XXXXXXXXXX
+maymv 0 fixed 0 newsz 29 dstpo 0 dst 0x........ -> error 12
+XXXXXXXXX.XXXXXXXXXXXXXXXXXXXX..........XXXXXXXXXX
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
..................................................
..................................................
-maymv 0 fixed 0 newsz 29 dstpo 1 dst 0x........ -> 0x........ (== src)
-XXXXXXXXX.XXXXXXXXXXXXXXXXXXXXXXXXXXXXX.XXXXXXXXXX
+maymv 0 fixed 0 newsz 29 dstpo 1 dst 0x........ -> error 12
+XXXXXXXXX.XXXXXXXXXXXXXXXXXXXX..........XXXXXXXXXX
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
..................................................
..................................................
-maymv 0 fixed 0 newsz 30 dstpo 0 dst 0x........ -> 0x........ (== src)
-XXXXXXXXX.XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
+maymv 0 fixed 0 newsz 30 dstpo 0 dst 0x........ -> error 12
+XXXXXXXXX.XXXXXXXXXXXXXXXXXXXX..........XXXXXXXXXX
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
..................................................
..................................................
-maymv 0 fixed 0 newsz 30 dstpo 1 dst 0x........ -> 0x........ (== src)
-XXXXXXXXX.XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
+maymv 0 fixed 0 newsz 30 dstpo 1 dst 0x........ -> error 12
+XXXXXXXXX.XXXXXXXXXXXXXXXXXXXX..........XXXXXXXXXX
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
..................................................
..................................................
@@ -173,40 +173,40 @@
..................................................
..................................................
-maymv 1 fixed 0 newsz 21 dstpo 0 dst 0x........ -> 0x........ (== src)
-XXXXXXXXX.XXXXXXXXXXXXXXXXXXXXX.........XXXXXXXXXX
+maymv 1 fixed 0 newsz 21 dstpo 0 dst 0x........ -> 0x........ (== other)
+XXXXXXXXX...............................XXXXXXXXXX
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
..................................................
..................................................
-maymv 1 fixed 0 newsz 21 dstpo 1 dst 0x........ -> 0x........ (== src)
-XXXXXXXXX.XXXXXXXXXXXXXXXXXXXXX.........XXXXXXXXXX
+maymv 1 fixed 0 newsz 21 dstpo 1 dst 0x........ -> 0x........ (== other)
+XXXXXXXXX...............................XXXXXXXXXX
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
..................................................
..................................................
-maymv 1 fixed 0 newsz 29 dstpo 0 dst 0x........ -> 0x........ (== src)
-XXXXXXXXX.XXXXXXXXXXXXXXXXXXXXXXXXXXXXX.XXXXXXXXXX
+maymv 1 fixed 0 newsz 29 dstpo 0 dst 0x........ -> 0x........ (== other)
+XXXXXXXXX...............................XXXXXXXXXX
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
-..................................................
+XXXXXXXXXXXXXXXXXXXXXXXXXXXXX.....................
..................................................
-maymv 1 fixed 0 newsz 29 dstpo 1 dst 0x........ -> 0x........ (== src)
-XXXXXXXXX.XXXXXXXXXXXXXXXXXXXXXXXXXXXXX.XXXXXXXXXX
+maymv 1 fixed 0 newsz 29 dstpo 1 dst 0x........ -> 0x........ (== other)
+XXXXXXXXX...............................XXXXXXXXXX
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
-..................................................
+XXXXXXXXXXXXXXXXXXXXXXXXXXXXX.....................
..................................................
-maymv 1 fixed 0 newsz 30 dstpo 0 dst 0x........ -> 0x........ (== src)
-XXXXXXXXX.XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
+maymv 1 fixed 0 newsz 30 dstpo 0 dst 0x........ -> 0x........ (== other)
+XXXXXXXXX...............................XXXXXXXXXX
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
-..................................................
+XXXXXXXXXXXXXXXXXXXXXXXXXXXXXX....................
..................................................
<truncated beyond 100 lines>
=================================================
./valgrind-old/none/tests/linux/mremap2.stdout.diff-glibc28-amd64
=================================================
--- mremap2.stdout.exp-glibc28-amd64 2009-07-10 02:01:19.000000000 +1000
+++ mremap2.stdout.out 2009-07-10 02:12:06.000000000 +1000
@@ -188,37 +188,37 @@
maymv 1 fixed 0 newsz 29 dstpo 0 dst 0x........ -> 0x........ (== other)
XXXXXXXXX...............................XXXXXXXXXX
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
-..................................................
+XXXXXXXXXXXXXXXXXXXXXXXXXXXXX.....................
..................................................
maymv 1 fixed 0 newsz 29 dstpo 1 dst 0x........ -> 0x........ (== other)
XXXXXXXXX...............................XXXXXXXXXX
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
-..................................................
+XXXXXXXXXXXXXXXXXXXXXXXXXXXXX.....................
..................................................
maymv 1 fixed 0 newsz 30 dstpo 0 dst 0x........ -> 0x........ (== other)
XXXXXXXXX...............................XXXXXXXXXX
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
-..................................................
+XXXXXXXXXXXXXXXXXXXXXXXXXXXXXX....................
..................................................
maymv 1 fixed 0 newsz 30 dstpo 1 dst 0x........ -> 0x........ (== other)
XXXXXXXXX...............................XXXXXXXXXX
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
-..................................................
+XXXXXXXXXXXXXXXXXXXXXXXXXXXXXX....................
..................................................
maymv 1 fixed 0 newsz 31 dstpo 0 dst 0x........ -> 0x........ (== other)
XXXXXXXXX...............................XXXXXXXXXX
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
-..................................................
+XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX...................
..................................................
maymv 1 fixed 0 newsz 31 dstpo 1 dst 0x........ -> 0x........ (== other)
XXXXXXXXX...............................XXXXXXXXXX
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
-..................................................
+XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX...................
..................................................
=================================================
./valgrind-old/none/tests/linux/mremap2.stdout.diff2
=================================================
--- mremap2.stdout.exp2 2009-07-10 02:01:19.000000000 +1000
+++ mremap2.stdout.out 2009-07-10 02:12:06.000000000 +1000
@@ -27,38 +27,38 @@
..................................................
..................................................
-maymv 0 fixed 0 newsz 21 dstpo 0 dst 0x........ -> 0x........ (== src)
-XXXXXXXXX.XXXXXXXXXXXXXXXXXXXXX.........XXXXXXXXXX
+maymv 0 fixed 0 newsz 21 dstpo 0 dst 0x........ -> error 12
+XXXXXXXXX.XXXXXXXXXXXXXXXXXXXX..........XXXXXXXXXX
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
..................................................
..................................................
-maymv 0 fixed 0 newsz 21 dstpo 1 dst 0x........ -> 0x........ (== src)
-XXXXXXXXX.XXXXXXXXXXXXXXXXXXXXX.........XXXXXXXXXX
+maymv 0 fixed 0 newsz 21 dstpo 1 dst 0x........ -> error 12
+XXXXXXXXX.XXXXXXXXXXXXXXXXXXXX..........XXXXXXXXXX
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
..................................................
..................................................
-maymv 0 fixed 0 newsz 29 dstpo 0 dst 0x........ -> 0x........ (== src)
-XXXXXXXXX.XXXXXXXXXXXXXXXXXXXXXXXXXXXXX.XXXXXXXXXX
+maymv 0 fixed 0 newsz 29 dstpo 0 dst 0x........ -> error 12
+XXXXXXXXX.XXXXXXXXXXXXXXXXXXXX..........XXXXXXXXXX
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
..................................................
..................................................
-maymv 0 fixed 0 newsz 29 dstpo 1 dst 0x........ -> 0x........ (== src)
-XXXXXXXXX.XXXXXXXXXXXXXXXXXXXXXXXXXXXXX.XXXXXXXXXX
+maymv 0 fixed 0 newsz 29 dstpo 1 dst 0x........ -> error 12
+XXXXXXXXX.XXXXXXXXXXXXXXXXXXXX..........XXXXXXXXXX
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
..................................................
..................................................
-maymv 0 fixed 0 newsz 30 dstpo 0 dst 0x........ -> 0x........ (== src)
-XXXXXXXXX.XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
+maymv 0 fixed 0 newsz 30 dstpo 0 dst 0x........ -> error 12
+XXXXXXXXX.XXXXXXXXXXXXXXXXXXXX..........XXXXXXXXXX
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
..................................................
..................................................
-maymv 0 fixed 0 newsz 30 dstpo 1 dst 0x........ -> 0x........ (== src)
-XXXXXXXXX.XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
+maymv 0 fixed 0 newsz 30 dstpo 1 dst 0x........ -> error 12
+XXXXXXXXX.XXXXXXXXXXXXXXXXXXXX..........XXXXXXXXXX
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
..................................................
..................................................
@@ -173,52 +173,52 @@
..................................................
..................................................
-maymv 1 fixed 0 newsz 21 dstpo 0 dst 0x........ -> 0x........ (== src)
-XXXXXXXXX.XXXXXXXXXXXXXXXXXXXXX.........XXXXXXXXXX
+maymv 1 fixed 0 newsz 21 dstpo 0 dst 0x........ -> 0x........ (== other)
+XXXXXXXXX...............................XXXXXXXXXX
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
..................................................
..................................................
-maymv 1 fixed 0 newsz 21 dstpo 1 dst 0x........ -> 0x........ (== src)
-XXXXXXXXX.XXXXXXXXXXXXXXXXXXXXX.........XXXXXXXXXX
+maymv 1 fixed 0 newsz 21 dstpo 1 dst 0x........ -> 0x........ (== other)
+XXXXXXXXX...............................XXXXXXXXXX
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
..................................................
..................................................
-maymv 1 fixed 0 newsz 29 dstpo 0 dst 0x........ -> 0x........ (== src)
-XXXXXXXXX.XXXXXXXXXXXXXXXXXXXXXXXXXXXXX.XXXXXXXXXX
+maymv 1 fixed 0 newsz 29 dstpo 0 dst 0x........ -> 0x........ (== other)
+XXXXXXXXX...............................XXXXXXXXXX
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
-..................................................
+XXXXXXXXXXXXXXXXXXXXXXXXXXXXX.....................
..................................................
-maymv 1 fixed 0 newsz 29 dstpo 1 dst 0x........ -> 0x........ (== src)
-XXXXXXXXX.XXXXXXXXXXXXXXXXXXXXXXXXXXXXX.XXXXXXXXXX
+maymv 1 fixed 0 newsz 29 dstpo 1 dst 0x........ -> 0x........ (== other)
+XXXXXXXXX...............................XXXXXXXXXX
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
-..................................................
+XXXXXXXXXXXXXXXXXXXXXXXXXXXXX.....................
..................................................
-maymv 1 fixed 0 newsz 30 dstpo 0 dst 0x........ -> 0x........ (== src)
-XXXXXXXXX.XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
+maymv 1 fixed 0 newsz 30 dstpo 0 dst 0x........ -> 0x........ (== other)
+XXXXXXXXX...............................XXXXXXXXXX
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
-..................................................
+XXXXXXXXXXXXXXXXXXXXXXXXXXXXXX....................
..................................................
<truncated beyond 100 lines>
|
|
From: Michael S. <ms...@ap...> - 2009-07-09 15:56:12
|
On Jul 8, 2009, at 10:03 PM, Nicholas Nethercote wrote: > ... > There was a discussion a little while ago about setting up nightly > regression testing for the Mac OS X port. Three people volunteered, > but for whatever reason, no testing is set up at the moment. At least > one of the people had trouble with the nightly script -- it ran ok > when invoked by hand, but failed when invoked via cron (or whatever > Apple's equivalent is). FWIW, I'm still working on this, but no progress yet. ___________________________________________________ Michael Sweet, Senior Printing System Engineer |
|
From: <sv...@va...> - 2009-07-09 10:52:13
|
Author: sewardj
Date: 2009-07-09 11:52:03 +0100 (Thu, 09 Jul 2009)
New Revision: 10418
Log:
Add support for IRStmt_CAS to the h_ instrumenter. This should stop
exp-ptrcheck asserting on threaded programs on x86 and amd64. Vast
amounts of fiddly complication that makes my head hurt. Urr.
Modified:
trunk/exp-ptrcheck/h_main.c
Modified: trunk/exp-ptrcheck/h_main.c
===================================================================
--- trunk/exp-ptrcheck/h_main.c 2009-07-09 10:45:11 UTC (rev 10417)
+++ trunk/exp-ptrcheck/h_main.c 2009-07-09 10:52:03 UTC (rev 10418)
@@ -2996,7 +2996,7 @@
/* Apply nonptr_or_unknown to all the words intersecting
[a, a+len). */
-static VG_REGPARM(2)
+static inline VG_REGPARM(2)
void nonptr_or_unknown_range ( Addr a, SizeT len )
{
const SizeT wszB = sizeof(UWord);
@@ -3009,6 +3009,34 @@
}
}
+// Write to shadow memory, for a 32-bit store. Must only
+// be used on 32-bit targets.
+static inline VG_REGPARM(2)
+void do_shadow_store4_P( Addr m, Seg* vseg )
+{
+ tl_assert(sizeof(UWord) == 4); /* DO NOT REMOVE */
+ if (VG_IS_4_ALIGNED(m)) {
+ set_mem_vseg( m, vseg );
+ } else {
+ // straddling two words
+ nonptr_or_unknown_range(m, 4);
+ }
+}
+
+// Write to shadow memory, for a 64-bit store. Must only
+// be used on 64-bit targets.
+static inline VG_REGPARM(2)
+void do_shadow_store8_P( Addr m, Seg* vseg )
+{
+ tl_assert(sizeof(UWord) == 8); /* DO NOT REMOVE */
+ if (VG_IS_8_ALIGNED(m)) {
+ set_mem_vseg( m, vseg );
+ } else {
+ // straddling two words
+ nonptr_or_unknown_range(m, 8);
+ }
+}
+
// This handles 128 bit stores on 64 bit targets. The
// store data is passed in 2 pieces, the most significant
// bits first.
@@ -3117,12 +3145,7 @@
check_load_or_store(/*is_write*/True, m, 8, mptr_vseg);
// Actually *do* the STORE here
*(ULong*)m = t;
- if (VG_IS_8_ALIGNED(m)) {
- set_mem_vseg( m, t_vseg );
- } else {
- // straddling two words
- nonptr_or_unknown_range(m, 8);
- }
+ do_shadow_store8_P( m, t_vseg );
}
// This handles 64 bit store-conditionals on 64 bit targets. It must
@@ -3139,12 +3162,8 @@
check_load_or_store(/*is_write*/True, m, 8, mptr_vseg);
// Actually *do* the STORE here
success = do_store_conditional_64( m, t );
- if (VG_IS_8_ALIGNED(m)) {
- set_mem_vseg( m, t_vseg );
- } else {
- // straddling two words
- nonptr_or_unknown_range(m, 8);
- }
+ if (success)
+ do_shadow_store8_P( m, t_vseg );
return success;
}
@@ -3161,12 +3180,7 @@
check_load_or_store(/*is_write*/True, m, 4, mptr_vseg);
// Actually *do* the STORE here
*(UInt*)m = t;
- if (VG_IS_4_ALIGNED(m)) {
- set_mem_vseg( m, t_vseg );
- } else {
- // straddling two words
- nonptr_or_unknown_range(m, 4);
- }
+ do_shadow_store4_P( m, t_vseg );
}
// This handles 32 bit store-conditionals on 32 bit targets. It must
@@ -3183,12 +3197,8 @@
check_load_or_store(/*is_write*/True, m, 4, mptr_vseg);
// Actually *do* the STORE here
success = do_store_conditional_32( m, t );
- if (VG_IS_4_ALIGNED(m)) {
- set_mem_vseg( m, t_vseg );
- } else {
- // straddling two words
- nonptr_or_unknown_range(m, 4);
- }
+ if (success)
+ do_shadow_store4_P( m, t_vseg );
return success;
}
@@ -3218,7 +3228,8 @@
check_load_or_store(/*is_write*/True, m, 4, mptr_vseg);
// Actually *do* the STORE here
success = do_store_conditional_32( m, t );
- nonptr_or_unknown_range(m, 4);
+ if (success)
+ nonptr_or_unknown_range(m, 4);
return success;
}
@@ -3852,8 +3863,10 @@
}
/* Version of gen_dirty_W_WW with no return value. Callee must be a
- VG_REGPARM(2) function.*/
-static void gen_dirty_v_WW ( PCEnv* pce, void* h_fn, HChar* h_nm,
+ VG_REGPARM(2) function. If guard is non-NULL then it is used to
+ conditionalise the call. */
+static void gen_dirty_v_WW ( PCEnv* pce, IRExpr* guard,
+ void* h_fn, HChar* h_nm,
IRExpr* a1, IRExpr* a2 )
{
IRDirty* di;
@@ -3864,6 +3877,8 @@
di = unsafeIRDirty_0_N( 2/*regparms*/,
h_nm, VG_(fnptr_to_fnentry)( h_fn ),
mkIRExprVec_2( a1, a2 ) );
+ if (guard)
+ di->guard = guard;
stmt( 'I', pce, IRStmt_Dirty(di) );
}
@@ -4255,9 +4270,10 @@
static
void gen_call_nonptr_or_unknown_range ( PCEnv* pce,
+ IRExpr* guard,
IRAtom* addr, IRAtom* len )
{
- gen_dirty_v_WW( pce,
+ gen_dirty_v_WW( pce, guard,
&nonptr_or_unknown_range,
"nonptr_or_unknown_range",
addr, len );
@@ -4298,6 +4314,220 @@
switch (st->tag) {
+ case Ist_CAS: {
+ IRCAS* cas = st->Ist.CAS.details;
+ IRType elTy = typeOfIRExpr(pce->sb->tyenv, cas->expdLo);
+ if (cas->oldHi == IRTemp_INVALID) {
+ /* ------------ SINGLE CAS ------------ */
+ /* -- single cas -- 32 bits, on 32-bit host -- */
+ /* -- single cas -- 64 bits, on 64-bit host -- */
+ /* -- viz, single cas, native-word case -- */
+ if ( (pce->gWordTy == Ity_I32 && elTy == Ity_I32)
+ || (pce->gWordTy == Ity_I64 && elTy == Ity_I64) ) {
+ // 32 bit host translation scheme; 64-bit is analogous
+ // old# = check_load4_P(addr, addr#)
+ // old = CAS(addr:expd->new) [COPY]
+ // success = CmpEQ32(old,expd)
+ // if (success) do_shadow_store4_P(addr, new#)
+ IRTemp success;
+ Bool is64 = elTy == Ity_I64;
+ IROp cmpEQ = is64 ? Iop_CmpEQ64 : Iop_CmpEQ32;
+ void* r_fn = is64 ? &check_load8_P : &check_load4_P;
+ HChar* r_nm = is64 ? "check_load8_P" : "check_load4_P";
+ void* w_fn = is64 ? &do_shadow_store8_P : &do_shadow_store4_P;
+ void* w_nm = is64 ? "do_shadow_store8_P" : "do_shadow_store4_P";
+ IRExpr* addr = cas->addr;
+ IRExpr* addrV = schemeEw_Atom(pce, addr);
+ IRTemp old = cas->oldLo;
+ IRTemp oldV = newShadowTmp(pce, old);
+ IRExpr* nyu = cas->dataLo;
+ IRExpr* nyuV = schemeEw_Atom(pce, nyu);
+ IRExpr* expd = cas->expdLo;
+ assign( 'I', pce, oldV,
+ mkexpr( gen_dirty_W_WW( pce, r_fn, r_nm, addr, addrV )));
+ stmt( 'C', pce, st );
+ success = newTemp(pce, Ity_I1, NonShad);
+ assign('I', pce, success, binop(cmpEQ, mkexpr(old), expd));
+ gen_dirty_v_WW( pce, mkexpr(success), w_fn, w_nm, addr, nyuV );
+ }
+ else
+ /* -- single cas -- 8 or 16 bits, on 32-bit host -- */
+ /* -- viz, single cas, 32-bit subword cases -- */
+ if (pce->gWordTy == Ity_I32
+ && (elTy == Ity_I8 || elTy == Ity_I16)) {
+ // 8-bit translation scheme; 16-bit is analogous
+ // check_load1(addr, addr#)
+ // old = CAS(addr:expd->new) [COPY]
+ // success = CmpEQ8(old,expd)
+ // if (success) nonptr_or_unknown_range(addr, 1)
+ IRTemp success;
+ Bool is16 = elTy == Ity_I16;
+ IRExpr* addr = cas->addr;
+ IRExpr* addrV = schemeEw_Atom(pce, addr);
+ IRTemp old = cas->oldLo;
+ IRExpr* expd = cas->expdLo;
+ void* h_fn = is16 ? &check_load2 : &check_load1;
+ HChar* h_nm = is16 ? "check_load2" : "check_load1";
+ IROp cmpEQ = is16 ? Iop_CmpEQ16 : Iop_CmpEQ8;
+ Int szB = is16 ? 2 : 1;
+ gen_dirty_v_WW( pce, NULL, h_fn, h_nm, addr, addrV );
+ stmt( 'C', pce, st );
+ success = newTemp(pce, Ity_I1, NonShad);
+ assign('I', pce, success,
+ binop(cmpEQ, mkexpr(old), expd));
+ gen_call_nonptr_or_unknown_range( pce, mkexpr(success),
+ addr, mkIRExpr_HWord(szB) );
+ }
+ else
+ /* -- single cas -- 8, 16 or 32 bits, on 64-bit host -- */
+ /* -- viz, single cas, 64-bit subword cases -- */
+ if (pce->gWordTy == Ity_I64
+ && (elTy == Ity_I8 || elTy == Ity_I16 || elTy == Ity_I32)) {
+ // 8-bit translation scheme; 16/32-bit are analogous
+ // check_load1(addr, addr#)
+ // old = CAS(addr:expd->new) [COPY]
+ // success = CmpEQ8(old,expd)
+ // if (success) nonptr_or_unknown_range(addr, 1)
+ IRTemp success;
+ Bool is16 = elTy == Ity_I16;
+ Bool is32 = elTy == Ity_I32;
+ IRExpr* addr = cas->addr;
+ IRExpr* addrV = schemeEw_Atom(pce, addr);
+ IRTemp old = cas->oldLo;
+ IRExpr* expd = cas->expdLo;
+ void* h_fn = is32 ? &check_load4
+ : (is16 ? &check_load2 : &check_load1);
+ HChar* h_nm = is32 ? "check_load4"
+ : (is16 ? "check_load2" : "check_load1");
+ IROp cmpEQ = is32 ? Iop_CmpEQ32
+ : (is16 ? Iop_CmpEQ16 : Iop_CmpEQ8);
+ Int szB = is32 ? 4 : (is16 ? 2 : 1);
+ gen_dirty_v_WW( pce, NULL, h_fn, h_nm, addr, addrV );
+ stmt( 'C', pce, st );
+ success = newTemp(pce, Ity_I1, NonShad);
+ assign('I', pce, success,
+ binop(cmpEQ, mkexpr(old), expd));
+ gen_call_nonptr_or_unknown_range( pce, mkexpr(success),
+ addr, mkIRExpr_HWord(szB) );
+ }
+ else
+ goto unhandled;
+ } else {
+ /* ------------ DOUBLE CAS ------------ */
+ /* Punt on bigendian DCAS. In fact it's probably trivial
+ to do; just swap the individual shadow loads/stores
+ around in memory, but we'd have to verify it, and there
+ is no use case. So punt. */
+ if (cas->end != Iend_LE)
+ goto unhandled;
+ /* -- double cas -- 2 x 32 bits, on 32-bit host -- */
+ /* -- double cas -- 2 x 64 bits, on 64-bit host -- */
+ /* -- viz, double cas, native-word case -- */
+ if ( (pce->gWordTy == Ity_I32 && elTy == Ity_I32)
+ || (pce->gWordTy == Ity_I64 && elTy == Ity_I64) ) {
+ // 32 bit host translation scheme; 64-bit is analogous
+ // oldHi# = check_load4_P(addr+4, addr#)
+ // oldLo# = check_load4_P(addr+0, addr#)
+ // oldHi/Lo = DCAS(addr:expdHi/Lo->newHi/Lo) [COPY]
+ // success = CmpEQ32(oldHi,expdHi) && CmpEQ32(oldLo,expdLo)
+ // = ((oldHi ^ expdHi) | (oldLo ^ expdLo)) == 0
+ // if (success) do_shadow_store4_P(addr+4, newHi#)
+ // if (success) do_shadow_store4_P(addr+0, newLo#)
+ IRTemp diffHi, diffLo, diff, success, addrpp;
+ Bool is64 = elTy == Ity_I64;
+ void* r_fn = is64 ? &check_load8_P : &check_load4_P;
+ HChar* r_nm = is64 ? "check_load8_P" : "check_load4_P";
+ void* w_fn = is64 ? &do_shadow_store8_P
+ : &do_shadow_store4_P;
+ void* w_nm = is64 ? "do_shadow_store8_P"
+ : "do_shadow_store4_P";
+ IROp opADD = is64 ? Iop_Add64 : Iop_Add32;
+ IROp opXOR = is64 ? Iop_Xor64 : Iop_Xor32;
+ IROp opOR = is64 ? Iop_Or64 : Iop_Or32;
+ IROp opCmpEQ = is64 ? Iop_CmpEQ64 : Iop_CmpEQ32;
+ IRExpr* step = is64 ? mkU64(8) : mkU32(4);
+ IRExpr* zero = is64 ? mkU64(0) : mkU32(0);
+ IRExpr* addr = cas->addr;
+ IRExpr* addrV = schemeEw_Atom(pce, addr);
+ IRTemp oldLo = cas->oldLo;
+ IRTemp oldLoV = newShadowTmp(pce, oldLo);
+ IRTemp oldHi = cas->oldHi;
+ IRTemp oldHiV = newShadowTmp(pce, oldHi);
+ IRExpr* nyuLo = cas->dataLo;
+ IRExpr* nyuLoV = schemeEw_Atom(pce, nyuLo);
+ IRExpr* nyuHi = cas->dataHi;
+ IRExpr* nyuHiV = schemeEw_Atom(pce, nyuHi);
+ IRExpr* expdLo = cas->expdLo;
+ IRExpr* expdHi = cas->expdHi;
+ tl_assert(elTy == Ity_I32 || elTy == Ity_I64);
+ tl_assert(pce->gWordTy == elTy);
+ addrpp = newTemp(pce, elTy, NonShad);
+ assign('I', pce, addrpp, binop(opADD, addr, step));
+ assign('I', pce, oldHiV,
+ mkexpr( gen_dirty_W_WW( pce, r_fn, r_nm,
+ mkexpr(addrpp), addrV ))
+ );
+ assign('I', pce, oldLoV,
+ mkexpr( gen_dirty_W_WW( pce, r_fn, r_nm,
+ addr, addrV ))
+ );
+ stmt( 'C', pce, st );
+ diffHi = newTemp(pce, elTy, NonShad);
+ assign('I', pce, diffHi,
+ binop(opXOR, mkexpr(oldHi), expdHi));
+ diffLo = newTemp(pce, elTy, NonShad);
+ assign('I', pce, diffLo,
+ binop(opXOR, mkexpr(oldLo), expdLo));
+ diff = newTemp(pce, elTy, NonShad);
+ assign('I', pce, diff,
+ binop(opOR, mkexpr(diffHi), mkexpr(diffLo)));
+ success = newTemp(pce, Ity_I1, NonShad);
+ assign('I', pce, success,
+ binop(opCmpEQ, mkexpr(diff), zero));
+ gen_dirty_v_WW( pce, mkexpr(success),
+ w_fn, w_nm, mkexpr(addrpp), nyuHiV );
+ gen_dirty_v_WW( pce, mkexpr(success),
+ w_fn, w_nm, addr, nyuLoV );
+ }
+ else
+ /* -- double cas -- 2 x 32 bits, on 64-bit host -- */
+ if (pce->gWordTy == Ity_I64 && elTy == Ity_I32) {
+ // check_load8(addr, addr#)
+ // oldHi/Lo = DCAS(addr:expdHi/Lo->newHi/Lo) [COPY]
+ // success = CmpEQ32(oldHi,expdHi) && CmpEQ32(oldLo,expdLo)
+ // = ((oldHi ^ expdHi) | (oldLo ^ expdLo)) == 0
+ // if (success) nonptr_or_unknown_range(addr, 8)
+ IRTemp diffHi, diffLo, diff, success;
+ IRExpr* addr = cas->addr;
+ IRExpr* addrV = schemeEw_Atom(pce, addr);
+ IRTemp oldLo = cas->oldLo;
+ IRTemp oldHi = cas->oldHi;
+ IRExpr* expdLo = cas->expdLo;
+ IRExpr* expdHi = cas->expdHi;
+ gen_dirty_v_WW( pce, NULL, &check_load8, "check_load8",
+ addr, addrV );
+ stmt( 'C', pce, st );
+ diffHi = newTemp(pce, Ity_I32, NonShad);
+ assign('I', pce, diffHi,
+ binop(Iop_Xor32, mkexpr(oldHi), expdHi));
+ diffLo = newTemp(pce, Ity_I32, NonShad);
+ assign('I', pce, diffLo,
+ binop(Iop_Xor32, mkexpr(oldLo), expdLo));
+ diff = newTemp(pce, Ity_I32, NonShad);
+ assign('I', pce, diff,
+ binop(Iop_Or32, mkexpr(diffHi), mkexpr(diffLo)));
+ success = newTemp(pce, Ity_I1, NonShad);
+ assign('I', pce, success,
+ binop(Iop_CmpEQ32, mkexpr(diff), mkU32(0)));
+ gen_call_nonptr_or_unknown_range( pce, mkexpr(success),
+ addr, mkU64(8) );
+ }
+ else
+ goto unhandled;
+ }
+ break;
+ }
+
case Ist_Dirty: {
Int i;
IRDirty* di;
@@ -4353,7 +4583,7 @@
if (di->mFx != Ifx_None) {
tl_assert(di->mAddr && isIRAtom(di->mAddr));
tl_assert(di->mSize > 0);
- gen_call_nonptr_or_unknown_range( pce, di->mAddr,
+ gen_call_nonptr_or_unknown_range( pce, NULL, di->mAddr,
mkIRExpr_HWord(di->mSize));
}
break;
@@ -4750,7 +4980,7 @@
mkexpr( gen_dirty_W_WW( pce, h_fn, h_nm,
addr, addrv )) );
} else {
- gen_dirty_v_WW( pce, h_fn, h_nm, addr, addrv );
+ gen_dirty_v_WW( pce, NULL, h_fn, h_nm, addr, addrv );
}
} else {
/* 64 bit host/guest (cough, cough) */
@@ -4779,7 +5009,7 @@
mkexpr( gen_dirty_W_WW( pce, h_fn, h_nm,
addr, addrv )) );
} else {
- gen_dirty_v_WW( pce, h_fn, h_nm, addr, addrv );
+ gen_dirty_v_WW( pce, NULL, h_fn, h_nm, addr, addrv );
}
}
/* copy the original -- must happen after the helper call */
|
|
From: <sv...@va...> - 2009-07-09 10:45:24
|
Author: sewardj Date: 2009-07-09 11:45:11 +0100 (Thu, 09 Jul 2009) New Revision: 10417 Log: Liberalise IRTemp bookkeeping in the h_ instrumenter, so as to allow addition of non-shadow IRTemps without causing it to collapse into assertion failures. This changes is a simplified version of what was committed in svn://svn.valgrind.org/valgrind/branches/DCAS/memcheck/mc_translate.c r10109. Modified: trunk/exp-ptrcheck/h_main.c trunk/exp-ptrcheck/sg_main.c trunk/exp-ptrcheck/sg_main.h Modified: trunk/exp-ptrcheck/h_main.c =================================================================== --- trunk/exp-ptrcheck/h_main.c 2009-07-09 09:26:12 UTC (rev 10416) +++ trunk/exp-ptrcheck/h_main.c 2009-07-09 10:45:11 UTC (rev 10417) @@ -3447,25 +3447,62 @@ abstractify the sg_ instrumentation. See comments in sg_main.c's instrumentation section for further details. */ + +/* Carries info about a particular tmp. The tmp's number is not + recorded, as this is implied by (equal to) its index in the tmpMap + in PCEnv. The tmp's type is also not recorded, as this is present + in PCEnv.sb->tyenv. + + When .kind is NonShad, .shadow may give the identity of the temp + currently holding the associated shadow value, or it may be + IRTemp_INVALID if code to compute the shadow has not yet been + emitted. + + When .kind is Shad tmp holds a shadow value, and so .shadow must be + IRTemp_INVALID, since it is illogical for a shadow tmp itself to be + shadowed. +*/ +typedef + enum { NonShad=1, Shad=2 } + TempKind; + +typedef + struct { + TempKind kind; + IRTemp shadow; + } + TempMapEnt; + + + /* Carries around state during Ptrcheck instrumentation. */ typedef struct { /* MODIFIED: the superblock being constructed. IRStmts are added. */ - IRSB* bb; + IRSB* sb; Bool trace; - /* MODIFIED: a table [0 .. #temps_in_original_bb-1] which maps - original temps to their current their current shadow temp. - Initially all entries are IRTemp_INVALID. Entries are added - lazily since many original temps are not used due to - optimisation prior to instrumentation. Note that only - integer temps of the guest word size are shadowed, since it - is impossible (or meaningless) to hold a pointer in any other - type of temp. */ - IRTemp* tmpMap; - Int n_originalTmps; /* for range checking */ + /* MODIFIED: a table [0 .. #temps_in_sb-1] which gives the + current kind and possibly shadow temps for each temp in the + IRSB being constructed. Note that it does not contain the + type of each tmp. If you want to know the type, look at the + relevant entry in sb->tyenv. It follows that at all times + during the instrumentation process, the valid indices for + tmpMap and sb->tyenv are identical, being 0 .. N-1 where N is + total number of NonShad and Shad temps allocated so far. + The reason for this strange split (types in one place, all + other info in another) is that we need the types to be + attached to sb so as to make it possible to do + "typeOfIRExpr(mce->bb->tyenv, ...)" at various places in the + instrumentation process. + + Note that only integer temps of the guest word size are + shadowed, since it is impossible (or meaningless) to hold a + pointer in any other type of temp. */ + XArray* /* of TempMapEnt */ qmpMap; + /* READONLY: the host word type. Needed for constructing arguments of type 'HWord' to be passed to helper functions. Ity_I32 or Ity_I64 only. */ @@ -3504,18 +3541,41 @@ sanity checker should catch all such anomalies, however. */ +/* Create a new IRTemp of type 'ty' and kind 'kind', and add it to + both the table in pce->sb and to our auxiliary mapping. Note that + newTemp may cause pce->tmpMap to resize, hence previous results + from VG_(indexXA)(pce->tmpMap) are invalidated. */ +static IRTemp newTemp ( PCEnv* pce, IRType ty, TempKind kind ) +{ + Word newIx; + TempMapEnt ent; + IRTemp tmp = newIRTemp(pce->sb->tyenv, ty); + ent.kind = kind; + ent.shadow = IRTemp_INVALID; + newIx = VG_(addToXA)( pce->qmpMap, &ent ); + tl_assert(newIx == (Word)tmp); + return tmp; +} + /* Find the tmp currently shadowing the given original tmp. If none so far exists, allocate one. */ static IRTemp findShadowTmp ( PCEnv* pce, IRTemp orig ) { - tl_assert(orig < pce->n_originalTmps); - tl_assert(pce->bb->tyenv->types[orig] == pce->gWordTy); - if (pce->tmpMap[orig] == IRTemp_INVALID) { - tl_assert(0); - pce->tmpMap[orig] - = newIRTemp(pce->bb->tyenv, pce->gWordTy); + TempMapEnt* ent; + /* VG_(indexXA) range-checks 'orig', hence no need to check + here. */ + ent = (TempMapEnt*)VG_(indexXA)( pce->qmpMap, (Word)orig ); + tl_assert(ent->kind == NonShad); + if (ent->shadow == IRTemp_INVALID) { + IRTemp shadow = newTemp( pce, pce->gWordTy, Shad ); + /* newTemp may cause pce->tmpMap to resize, hence previous results + from VG_(indexXA) are invalid. */ + ent = (TempMapEnt*)VG_(indexXA)( pce->qmpMap, (Word)orig ); + tl_assert(ent->kind == NonShad); + tl_assert(ent->shadow == IRTemp_INVALID); + ent->shadow = shadow; } - return pce->tmpMap[orig]; + return ent->shadow; } /* Allocate a new shadow for the given original tmp. This means any @@ -3523,15 +3583,29 @@ necessary to give a new value to a shadow once it has been tested for undefinedness, but unfortunately IR's SSA property disallows this. Instead we must abandon the old shadow, allocate a new one - and use that instead. */ -__attribute__((noinline)) + and use that instead. + + This is the same as findShadowTmp, except we don't bother to see + if a shadow temp already existed -- we simply allocate a new one + regardless. */ static IRTemp newShadowTmp ( PCEnv* pce, IRTemp orig ) { - tl_assert(orig < pce->n_originalTmps); - tl_assert(pce->bb->tyenv->types[orig] == pce->gWordTy); - pce->tmpMap[orig] - = newIRTemp(pce->bb->tyenv, pce->gWordTy); - return pce->tmpMap[orig]; + TempMapEnt* ent; + /* VG_(indexXA) range-checks 'orig', hence no need to check + here. */ + ent = (TempMapEnt*)VG_(indexXA)( pce->qmpMap, (Word)orig ); + tl_assert(ent->kind == NonShad); + if (1) { + IRTemp shadow = newTemp( pce, pce->gWordTy, Shad ); + /* newTemp may cause pce->tmpMap to resize, hence previous results + from VG_(indexXA) are invalid. */ + ent = (TempMapEnt*)VG_(indexXA)( pce->qmpMap, (Word)orig ); + tl_assert(ent->kind == NonShad); + ent->shadow = shadow; + return shadow; + } + /* NOTREACHED */ + tl_assert(0); } @@ -3593,7 +3667,7 @@ ppIRStmt(st); VG_(printf)("\n"); } - addStmtToIRSB(pce->bb, st); + addStmtToIRSB(pce->sb, st); } /* assign value to tmp */ @@ -3622,9 +3696,9 @@ that the two types agree. */ static IRAtom* assignNew ( HChar cat, PCEnv* pce, IRType ty, IRExpr* e ) { IRTemp t; - IRType tyE = typeOfIRExpr(pce->bb->tyenv, e); + IRType tyE = typeOfIRExpr(pce->sb->tyenv, e); tl_assert(tyE == ty); /* so 'ty' is redundant (!) */ - t = newIRTemp(pce->bb->tyenv, ty); + t = newTemp(pce, ty, Shad); assign(cat, pce, t, e); return mkexpr(t); } @@ -3704,8 +3778,8 @@ IRTemp res; IRDirty* di; tl_assert(isIRAtom(a1)); - tl_assert(typeOfIRExpr(pce->bb->tyenv, a1) == pce->gWordTy); - res = newIRTemp(pce->bb->tyenv, pce->gWordTy); + tl_assert(typeOfIRExpr(pce->sb->tyenv, a1) == pce->gWordTy); + res = newTemp(pce, pce->gWordTy, Shad); di = unsafeIRDirty_1_N( res, 1/*regparms*/, h_nm, VG_(fnptr_to_fnentry)( h_fn ), mkIRExprVec_1( a1 ) ); @@ -3722,9 +3796,9 @@ IRDirty* di; tl_assert(isIRAtom(a1)); tl_assert(isIRAtom(a2)); - tl_assert(typeOfIRExpr(pce->bb->tyenv, a1) == pce->gWordTy); - tl_assert(typeOfIRExpr(pce->bb->tyenv, a2) == pce->gWordTy); - res = newIRTemp(pce->bb->tyenv, pce->gWordTy); + tl_assert(typeOfIRExpr(pce->sb->tyenv, a1) == pce->gWordTy); + tl_assert(typeOfIRExpr(pce->sb->tyenv, a2) == pce->gWordTy); + res = newTemp(pce, pce->gWordTy, Shad); di = unsafeIRDirty_1_N( res, 2/*regparms*/, h_nm, VG_(fnptr_to_fnentry)( h_fn ), mkIRExprVec_2( a1, a2 ) ); @@ -3742,10 +3816,10 @@ tl_assert(isIRAtom(a1)); tl_assert(isIRAtom(a2)); tl_assert(isIRAtom(a3)); - tl_assert(typeOfIRExpr(pce->bb->tyenv, a1) == pce->gWordTy); - tl_assert(typeOfIRExpr(pce->bb->tyenv, a2) == pce->gWordTy); - tl_assert(typeOfIRExpr(pce->bb->tyenv, a3) == pce->gWordTy); - res = newIRTemp(pce->bb->tyenv, pce->gWordTy); + tl_assert(typeOfIRExpr(pce->sb->tyenv, a1) == pce->gWordTy); + tl_assert(typeOfIRExpr(pce->sb->tyenv, a2) == pce->gWordTy); + tl_assert(typeOfIRExpr(pce->sb->tyenv, a3) == pce->gWordTy); + res = newTemp(pce, pce->gWordTy, Shad); di = unsafeIRDirty_1_N( res, 3/*regparms*/, h_nm, VG_(fnptr_to_fnentry)( h_fn ), mkIRExprVec_3( a1, a2, a3 ) ); @@ -3765,11 +3839,11 @@ tl_assert(isIRAtom(a2)); tl_assert(isIRAtom(a3)); tl_assert(isIRAtom(a4)); - tl_assert(typeOfIRExpr(pce->bb->tyenv, a1) == pce->gWordTy); - tl_assert(typeOfIRExpr(pce->bb->tyenv, a2) == pce->gWordTy); - tl_assert(typeOfIRExpr(pce->bb->tyenv, a3) == pce->gWordTy); - tl_assert(typeOfIRExpr(pce->bb->tyenv, a4) == pce->gWordTy); - res = newIRTemp(pce->bb->tyenv, pce->gWordTy); + tl_assert(typeOfIRExpr(pce->sb->tyenv, a1) == pce->gWordTy); + tl_assert(typeOfIRExpr(pce->sb->tyenv, a2) == pce->gWordTy); + tl_assert(typeOfIRExpr(pce->sb->tyenv, a3) == pce->gWordTy); + tl_assert(typeOfIRExpr(pce->sb->tyenv, a4) == pce->gWordTy); + res = newTemp(pce, pce->gWordTy, Shad); di = unsafeIRDirty_1_N( res, 3/*regparms*/, h_nm, VG_(fnptr_to_fnentry)( h_fn ), mkIRExprVec_4( a1, a2, a3, a4 ) ); @@ -3785,8 +3859,8 @@ IRDirty* di; tl_assert(isIRAtom(a1)); tl_assert(isIRAtom(a2)); - tl_assert(typeOfIRExpr(pce->bb->tyenv, a1) == pce->gWordTy); - tl_assert(typeOfIRExpr(pce->bb->tyenv, a2) == pce->gWordTy); + tl_assert(typeOfIRExpr(pce->sb->tyenv, a1) == pce->gWordTy); + tl_assert(typeOfIRExpr(pce->sb->tyenv, a2) == pce->gWordTy); di = unsafeIRDirty_0_N( 2/*regparms*/, h_nm, VG_(fnptr_to_fnentry)( h_fn ), mkIRExprVec_2( a1, a2 ) ); @@ -3802,9 +3876,9 @@ tl_assert(isIRAtom(a1)); tl_assert(isIRAtom(a2)); tl_assert(isIRAtom(a3)); - tl_assert(typeOfIRExpr(pce->bb->tyenv, a1) == pce->gWordTy); - tl_assert(typeOfIRExpr(pce->bb->tyenv, a2) == pce->gWordTy); - tl_assert(typeOfIRExpr(pce->bb->tyenv, a3) == pce->gWordTy); + tl_assert(typeOfIRExpr(pce->sb->tyenv, a1) == pce->gWordTy); + tl_assert(typeOfIRExpr(pce->sb->tyenv, a2) == pce->gWordTy); + tl_assert(typeOfIRExpr(pce->sb->tyenv, a3) == pce->gWordTy); di = unsafeIRDirty_0_N( 3/*regparms*/, h_nm, VG_(fnptr_to_fnentry)( h_fn ), mkIRExprVec_3( a1, a2, a3 ) ); @@ -3822,10 +3896,10 @@ tl_assert(isIRAtom(a2)); tl_assert(isIRAtom(a3)); tl_assert(isIRAtom(a4)); - tl_assert(typeOfIRExpr(pce->bb->tyenv, a1) == pce->gWordTy); - tl_assert(typeOfIRExpr(pce->bb->tyenv, a2) == pce->gWordTy); - tl_assert(typeOfIRExpr(pce->bb->tyenv, a3) == pce->gWordTy); - tl_assert(typeOfIRExpr(pce->bb->tyenv, a4) == pce->gWordTy); + tl_assert(typeOfIRExpr(pce->sb->tyenv, a1) == pce->gWordTy); + tl_assert(typeOfIRExpr(pce->sb->tyenv, a2) == pce->gWordTy); + tl_assert(typeOfIRExpr(pce->sb->tyenv, a3) == pce->gWordTy); + tl_assert(typeOfIRExpr(pce->sb->tyenv, a4) == pce->gWordTy); di = unsafeIRDirty_0_N( 3/*regparms*/, h_nm, VG_(fnptr_to_fnentry)( h_fn ), mkIRExprVec_4( a1, a2, a3, a4 ) ); @@ -3845,12 +3919,12 @@ tl_assert(isIRAtom(a4)); tl_assert(isIRAtom(a5)); tl_assert(isIRAtom(a6)); - tl_assert(typeOfIRExpr(pce->bb->tyenv, a1) == pce->gWordTy); - tl_assert(typeOfIRExpr(pce->bb->tyenv, a2) == pce->gWordTy); - tl_assert(typeOfIRExpr(pce->bb->tyenv, a3) == pce->gWordTy); - tl_assert(typeOfIRExpr(pce->bb->tyenv, a4) == pce->gWordTy); - tl_assert(typeOfIRExpr(pce->bb->tyenv, a5) == pce->gWordTy); - tl_assert(typeOfIRExpr(pce->bb->tyenv, a6) == pce->gWordTy); + tl_assert(typeOfIRExpr(pce->sb->tyenv, a1) == pce->gWordTy); + tl_assert(typeOfIRExpr(pce->sb->tyenv, a2) == pce->gWordTy); + tl_assert(typeOfIRExpr(pce->sb->tyenv, a3) == pce->gWordTy); + tl_assert(typeOfIRExpr(pce->sb->tyenv, a4) == pce->gWordTy); + tl_assert(typeOfIRExpr(pce->sb->tyenv, a5) == pce->gWordTy); + tl_assert(typeOfIRExpr(pce->sb->tyenv, a6) == pce->gWordTy); di = unsafeIRDirty_0_N( 3/*regparms*/, h_nm, VG_(fnptr_to_fnentry)( h_fn ), mkIRExprVec_6( a1, a2, a3, a4, a5, a6 ) ); @@ -3859,7 +3933,7 @@ static IRAtom* uwiden_to_host_word ( PCEnv* pce, IRAtom* a ) { - IRType a_ty = typeOfIRExpr(pce->bb->tyenv, a); + IRType a_ty = typeOfIRExpr(pce->sb->tyenv, a); tl_assert(isIRAtom(a)); if (pce->hWordTy == Ity_I32) { switch (a_ty) { @@ -3909,7 +3983,7 @@ return mkexpr(t); } if (e->tag == Iex_RdTmp - && typeOfIRExpr(pce->bb->tyenv, e) == Ity_I32) { + && typeOfIRExpr(pce->sb->tyenv, e) == Ity_I32) { return mkexpr( findShadowTmp(pce, e->Iex.RdTmp.tmp) ); } /* there are no other word-sized atom cases */ @@ -3922,7 +3996,7 @@ return mkexpr(t); } if (e->tag == Iex_RdTmp - && typeOfIRExpr(pce->bb->tyenv, e) == Ity_I64) { + && typeOfIRExpr(pce->sb->tyenv, e) == Ity_I64) { return mkexpr( findShadowTmp(pce, e->Iex.RdTmp.tmp) ); } /* there are no other word-sized atom cases */ @@ -4233,7 +4307,7 @@ di = st->Ist.Dirty.details; /* deal with the return tmp, if any */ if (di->tmp != IRTemp_INVALID - && typeOfIRTemp(pce->bb->tyenv, di->tmp) == pce->gWordTy) { + && typeOfIRTemp(pce->sb->tyenv, di->tmp) == pce->gWordTy) { /* di->tmp is shadowed. Set it to NONPTR. */ IRTemp dstv = newShadowTmp( pce, di->tmp ); if (pce->gWordTy == Ity_I32) { @@ -4331,7 +4405,7 @@ IntRegInfo iii; IRType ty; stmt( 'C', pce, st ); - ty = typeOfIRExpr(pce->bb->tyenv, st->Ist.Put.data); + ty = typeOfIRExpr(pce->sb->tyenv, st->Ist.Put.data); get_IntRegInfo( &iii, st->Ist.Put.offset, sizeofIRType(ty) ); if (iii.n_offsets == -1) { @@ -4376,11 +4450,11 @@ */ IRExpr* data = st->Ist.Store.data; IRExpr* addr = st->Ist.Store.addr; - IRType d_ty = typeOfIRExpr(pce->bb->tyenv, data); + IRType d_ty = typeOfIRExpr(pce->sb->tyenv, data); IRExpr* addrv = schemeEw_Atom( pce, addr ); IRTemp resSC = st->Ist.Store.resSC; if (resSC != IRTemp_INVALID) { - tl_assert(typeOfIRTemp(pce->bb->tyenv, resSC) == Ity_I1); + tl_assert(typeOfIRTemp(pce->sb->tyenv, resSC) == Ity_I1); /* viz, not something we want to shadow */ /* also, throw out all store-conditional cases that we can't handle */ @@ -4600,7 +4674,7 @@ appear, we in fact only get an atom (Iex_RdTmp or Iex_Const). */ IRExpr* e = st->Ist.WrTmp.data; - IRType e_ty = typeOfIRExpr( pce->bb->tyenv, e ); + IRType e_ty = typeOfIRExpr( pce->sb->tyenv, e ); Bool isWord = e_ty == pce->gWordTy; IRTemp dst = st->Ist.WrTmp.tmp; IRTemp dstv = isWord ? newShadowTmp( pce, dst ) @@ -4822,6 +4896,13 @@ } +static IRTemp for_sg__newIRTemp_cb ( IRType ty, void* opaque ) +{ + PCEnv* pce = (PCEnv*)opaque; + return newTemp( pce, ty, NonShad ); +} + + IRSB* h_instrument ( VgCallbackClosure* closure, IRSB* sbIn, VexGuestLayout* layout, @@ -4848,22 +4929,34 @@ tl_assert(sizeof(UInt) == 4); tl_assert(sizeof(Int) == 4); - /* Set up the running environment. Only .bb is modified as we go - along. */ - pce.bb = deepCopyIRSBExceptStmts(sbIn); + /* Set up the running environment. Both .sb and .tmpMap are + modified as we go along. Note that tmps are added to both + .sb->tyenv and .tmpMap together, so the valid index-set for + those two arrays should always be identical. */ + VG_(memset)(&pce, 0, sizeof(pce)); + pce.sb = deepCopyIRSBExceptStmts(sbIn); pce.trace = verboze; - pce.n_originalTmps = sbIn->tyenv->types_used; pce.hWordTy = hWordTy; pce.gWordTy = gWordTy; pce.guest_state_sizeB = layout->total_sizeB; - pce.tmpMap = LibVEX_Alloc(pce.n_originalTmps * sizeof(IRTemp)); - for (i = 0; i < pce.n_originalTmps; i++) - pce.tmpMap[i] = IRTemp_INVALID; - /* Also set up for the sg_ instrumenter. See comments - at the top of this instrumentation section for details. */ - sgenv = sg_instrument_init(); + pce.qmpMap = VG_(newXA)( VG_(malloc), "pc.h_instrument.1", VG_(free), + sizeof(TempMapEnt)); + for (i = 0; i < sbIn->tyenv->types_used; i++) { + TempMapEnt ent; + ent.kind = NonShad; + ent.shadow = IRTemp_INVALID; + VG_(addToXA)( pce.qmpMap, &ent ); + } + tl_assert( VG_(sizeXA)( pce.qmpMap ) == sbIn->tyenv->types_used ); + /* Also set up for the sg_ instrumenter. See comments at the top + of this instrumentation section for details. The two parameters + constitute a closure, which sg_ can use to correctly generate + new IRTemps as needed. */ + sgenv = sg_instrument_init( for_sg__newIRTemp_cb, + (void*)&pce ); + /* Stay sane. These two should agree! */ tl_assert(layout->total_sizeB == MC_SIZEOF_GUEST_STATE); @@ -4925,20 +5018,25 @@ for (/*use current i*/; i < sbIn->stmts_used; i++) { /* generate sg_ instrumentation for this stmt */ - sg_instrument_IRStmt( sgenv, pce.bb, sbIn->stmts[i], + sg_instrument_IRStmt( sgenv, pce.sb, sbIn->stmts[i], layout, gWordTy, hWordTy ); /* generate h_ instrumentation for this stmt */ schemeS( &pce, sbIn->stmts[i] ); } /* generate sg_ instrumentation for the final jump */ - sg_instrument_final_jump( sgenv, pce.bb, sbIn->next, sbIn->jumpkind, + sg_instrument_final_jump( sgenv, pce.sb, sbIn->next, sbIn->jumpkind, layout, gWordTy, hWordTy ); /* and finalise .. */ sg_instrument_fini( sgenv ); - return pce.bb; + /* If this fails, there's been some serious snafu with tmp management, + that should be investigated. */ + tl_assert( VG_(sizeXA)( pce.qmpMap ) == pce.sb->tyenv->types_used ); + VG_(deleteXA)( pce.qmpMap ); + + return pce.sb; } Modified: trunk/exp-ptrcheck/sg_main.c =================================================================== --- trunk/exp-ptrcheck/sg_main.c 2009-07-09 09:26:12 UTC (rev 10416) +++ trunk/exp-ptrcheck/sg_main.c 2009-07-09 10:45:11 UTC (rev 10417) @@ -2012,12 +2012,16 @@ we basically can't really handle properly; and so we ignore all but the first ref. */ Bool firstRef; + /* READONLY */ + IRTemp (*newIRTemp_cb)(IRType,void*); + void* newIRTemp_opaque; }; /* --- Helper fns for instrumentation --- */ -static IRTemp gen_Get_SP ( IRSB* bbOut, +static IRTemp gen_Get_SP ( struct _SGEnv* sge, + IRSB* bbOut, VexGuestLayout* layout, Int hWordTy_szB ) { @@ -2029,12 +2033,13 @@ tl_assert(hWordTy_szB == layout->sizeof_SP); sp_type = layout->sizeof_SP == 8 ? Ity_I64 : Ity_I32; sp_expr = IRExpr_Get( layout->offset_SP, sp_type ); - sp_temp = newIRTemp( bbOut->tyenv, sp_type ); + sp_temp = sge->newIRTemp_cb( sp_type, sge->newIRTemp_opaque ); addStmtToIRSB( bbOut, IRStmt_WrTmp( sp_temp, sp_expr ) ); return sp_temp; } -static IRTemp gen_Get_FP ( IRSB* bbOut, +static IRTemp gen_Get_FP ( struct _SGEnv* sge, + IRSB* bbOut, VexGuestLayout* layout, Int hWordTy_szB ) { @@ -2046,12 +2051,13 @@ tl_assert(hWordTy_szB == layout->sizeof_SP); fp_type = layout->sizeof_FP == 8 ? Ity_I64 : Ity_I32; fp_expr = IRExpr_Get( layout->offset_FP, fp_type ); - fp_temp = newIRTemp( bbOut->tyenv, fp_type ); + fp_temp = sge->newIRTemp_cb( fp_type, sge->newIRTemp_opaque ); addStmtToIRSB( bbOut, IRStmt_WrTmp( fp_temp, fp_expr ) ); return fp_temp; } -static void instrument_mem_access ( IRSB* bbOut, +static void instrument_mem_access ( struct _SGEnv* sge, + IRSB* bbOut, IRExpr* addr, Int szB, Bool isStore, @@ -2088,8 +2094,8 @@ /* Generate a call to "helperc__mem_access", passing: addr current_SP current_FP szB curr_IP frameBlocks */ - { IRTemp t_SP = gen_Get_SP( bbOut, layout, hWordTy_szB ); - IRTemp t_FP = gen_Get_FP( bbOut, layout, hWordTy_szB ); + { IRTemp t_SP = gen_Get_SP( sge, bbOut, layout, hWordTy_szB ); + IRTemp t_FP = gen_Get_FP( sge, bbOut, layout, hWordTy_szB ); IRExpr** args = mkIRExprVec_6( addr, IRExpr_RdTmp(t_SP), @@ -2100,7 +2106,7 @@ IRDirty* di = unsafeIRDirty_0_N( 3/*regparms*/, "helperc__mem_access", - VG_(fnptr_to_fnentry)( &helperc__mem_access ), + VG_(fnptr_to_fnentry)( &helperc__mem_access ), args ); addStmtToIRSB( bbOut, IRStmt_Dirty(di) ); @@ -2110,14 +2116,17 @@ /* --- Instrumentation main (4 fns) --- */ -struct _SGEnv * sg_instrument_init ( void ) +struct _SGEnv * sg_instrument_init ( IRTemp (*newIRTemp_cb)(IRType,void*), + void* newIRTemp_opaque ) { struct _SGEnv * env = sg_malloc("di.sg_main.sii.1", sizeof(struct _SGEnv)); tl_assert(env); - env->curr_IP = 0; - env->curr_IP_known = False; - env->firstRef = True; + env->curr_IP = 0; + env->curr_IP_known = False; + env->firstRef = True; + env->newIRTemp_cb = newIRTemp_cb; + env->newIRTemp_opaque = newIRTemp_opaque; return env; } @@ -2164,7 +2173,7 @@ tl_assert(env->curr_IP_known); if (env->firstRef) { instrument_mem_access( - sbOut, + env, sbOut, st->Ist.Store.addr, sizeofIRType(typeOfIRExpr(sbOut->tyenv, st->Ist.Store.data)), True/*isStore*/, @@ -2181,7 +2190,7 @@ tl_assert(env->curr_IP_known); if (env->firstRef) { instrument_mem_access( - sbOut, + env, sbOut, data->Iex.Load.addr, sizeofIRType(data->Iex.Load.ty), False/*!isStore*/, @@ -2207,13 +2216,13 @@ dataSize = d->mSize; if (d->mFx == Ifx_Read || d->mFx == Ifx_Modify) { instrument_mem_access( - sbOut, d->mAddr, dataSize, False/*!isStore*/, + env, sbOut, d->mAddr, dataSize, False/*!isStore*/, sizeofIRType(hWordTy), env->curr_IP, layout ); } if (d->mFx == Ifx_Write || d->mFx == Ifx_Modify) { instrument_mem_access( - sbOut, d->mAddr, dataSize, True/*isStore*/, + env, sbOut, d->mAddr, dataSize, True/*isStore*/, sizeofIRType(hWordTy), env->curr_IP, layout ); } @@ -2241,11 +2250,11 @@ if (cas->dataHi != NULL) dataSize *= 2; /* since it's a doubleword-CAS */ instrument_mem_access( - sbOut, cas->addr, dataSize, False/*!isStore*/, + env, sbOut, cas->addr, dataSize, False/*!isStore*/, sizeofIRType(hWordTy), env->curr_IP, layout ); instrument_mem_access( - sbOut, cas->addr, dataSize, True/*isStore*/, + env, sbOut, cas->addr, dataSize, True/*isStore*/, sizeofIRType(hWordTy), env->curr_IP, layout ); env->firstRef = False; @@ -2280,9 +2289,9 @@ IRExpr** args; IRDirty* di; sp_post_call_insn - = gen_Get_SP( sbOut, layout, sizeofIRType(hWordTy) ); + = gen_Get_SP( env, sbOut, layout, sizeofIRType(hWordTy) ); fp_post_call_insn - = gen_Get_FP( sbOut, layout, sizeofIRType(hWordTy) ); + = gen_Get_FP( env, sbOut, layout, sizeofIRType(hWordTy) ); tl_assert(env->curr_IP_known); frameBlocks = get_StackBlocks_for_IP( env->curr_IP ); tl_assert(frameBlocks); Modified: trunk/exp-ptrcheck/sg_main.h =================================================================== --- trunk/exp-ptrcheck/sg_main.h 2009-07-09 09:26:12 UTC (rev 10416) +++ trunk/exp-ptrcheck/sg_main.h 2009-07-09 10:45:11 UTC (rev 10417) @@ -54,7 +54,8 @@ struct _SGEnv; /* abstract export */ -struct _SGEnv * sg_instrument_init ( void ); +struct _SGEnv* sg_instrument_init ( IRTemp (*newIRTemp_cb)(IRType,void*), + void* newIRTemp_opaque ); void sg_instrument_fini ( struct _SGEnv * env ); |
|
From: <sv...@va...> - 2009-07-09 09:37:47
|
Author: bart Date: 2009-07-09 10:18:39 +0100 (Thu, 09 Jul 2009) New Revision: 10415 Log: Updated ignore lists. Modified: trunk/memcheck/tests/ trunk/memcheck/tests/x86-linux/ trunk/mpi/ trunk/none/tests/amd64/ trunk/none/tests/x86-linux/ Property changes on: trunk/memcheck/tests ___________________________________________________________________ Name: svn:ignore - *.dSYM *.stderr.diff* *.stderr.out *.stdout.diff* *.stdout.out .deps Makefile Makefile.in addressable badaddrvalue badfree badjump badjump2 badloop badpoll badrw brk brk2 buflen_check clientperm clientstackperm custom_alloc deep_templates describe-block dir doublefree erringfds error_counts errs1 execve execve2 exitprog file_locking filter_leak_check_size filter_stderr fprw fwrite hello inits inline leak-0 leak-cases leak-cycle leak-pool leak-regroot leak-tree leakotron linux-capget linux-syscalls-2007 linux-syslog-syscall linux-timerfd-syscall long_namespace_xml lsframe1 lsframe2 mallinfo malloc1 malloc2 malloc3 malloc_free_fill malloc_usable manuel1 manuel2 manuel3 match-overrun memalign2 memalign_test memcmptest mempool metadata mismatches mmaptest nanoleak nanoleak2 nanoleak_supp new_nothrow new_override noisy_child null_socket origin1-yes origin2-not-quite origin3-no origin4-many origin5-bz2 origin6-fp oset_test overlap partial_load partiallydefinedeq pdb-realloc pdb-realloc2 pipe pointer-trace post-syscall realloc1 realloc2 realloc3 scalar scalar_exit_group scalar_fork scalar_supp scalar_vfork sh-mem sh-mem-random sigaltstack sigkill signal2 sigprocmask stack_changes stack_switch str_tester strchr supp1 supp2 supp_unknown suppfree threadederrno trivialleak unit_libcbase unit_oset varinfo1 varinfo2 varinfo3 varinfo4 varinfo5 varinfo5so.so varinfo6 vcpu_bz2 vcpu_fbench vcpu_fnfns vgtest_ume weirdioctl with space wrap1 wrap2 wrap3 wrap4 wrap5 wrap6 wrap7 wrap7so.so wrap8 writev xml1 zeropage + *.dSYM *.stderr.diff* *.stderr.out *.stdout.diff* *.stdout.out .deps addressable atomic_incs badaddrvalue badfree badjump badjump2 badloop badpoll badrw brk brk2 buflen_check clientperm clientstackperm custom_alloc deep_templates describe-block dir doublefree erringfds error_counts errs1 execve execve2 exitprog file_locking filter_leak_check_size filter_stderr fprw fwrite hello inits inline leak-0 leak-cases leak-cycle leak-pool leak-regroot leak-tree leakotron linux-capget linux-syscalls-2007 linux-syslog-syscall linux-timerfd-syscall long_namespace_xml lsframe1 lsframe2 Makefile Makefile.in mallinfo malloc1 malloc2 malloc3 malloc_free_fill malloc_usable manuel1 manuel2 manuel3 match-overrun memalign2 memalign_test memcmptest mempool metadata mismatches mmaptest nanoleak nanoleak2 nanoleak_supp new_nothrow new_override noisy_child null_socket origin1-yes origin2-not-quite origin3-no origin4-many origin5-bz2 origin6-fp oset_test overlap partiallydefinedeq partial_load pdb-realloc pdb-realloc2 pipe pointer-trace post-syscall realloc1 realloc2 realloc3 scalar scalar_exit_group scalar_fork scalar_supp scalar_vfork sh-mem sh-mem-random sigaltstack sigkill signal2 sigprocmask stack_changes stack_switch strchr str_tester supp1 supp2 suppfree supp_unknown threadederrno trivialleak unit_libcbase unit_oset varinfo1 varinfo2 varinfo3 varinfo4 varinfo5 varinfo5so.so varinfo6 vcpu_bz2 vcpu_fbench vcpu_fnfns vgtest_ume weirdioctl with space wrap1 wrap2 wrap3 wrap4 wrap5 wrap6 wrap7 wrap7so.so wrap8 writev xml1 zeropage Property changes on: trunk/memcheck/tests/x86-linux ___________________________________________________________________ Name: svn:ignore - .deps bug133694 int3-x86 Makefile Makefile.in scalar scalar_exit_group scalar_fork scalar_supp scalar_vfork + *.stderr.diff *.stderr.out *.stdout.diff *.stdout.out .deps bug133694 int3-x86 Makefile Makefile.in scalar scalar_exit_group scalar_fork scalar_supp scalar_vfork Property changes on: trunk/mpi ___________________________________________________________________ Name: svn:ignore + .deps Makefile Makefile.in Property changes on: trunk/none/tests/amd64 ___________________________________________________________________ Name: svn:ignore - *.stderr.diff *.stderr.out *.stdout.diff *.stdout.out .deps bug127521-64 bug132813-amd64 bug132918 bug137714-amd64 bug156404-amd64 clc faultstatus fcmovnu fxtract insn_basic insn_basic.c insn_fpu insn_fpu.c insn_mmx insn_mmx.c insn_sse insn_sse.c insn_sse2 insn_sse2.c insn_sse3 insn_sse3.c insn_ssse3 insn_ssse3.c jrcxz looper Makefile Makefile.in nibz_bennee_mmap rcl-amd64 redundantRexW shrld slahf-amd64 smc1 ssse3_misaligned + *.stderr.diff *.stderr.out *.stdout.diff *.stdout.out .deps amd64locked bug127521-64 bug132813-amd64 bug132918 bug137714-amd64 bug156404-amd64 clc faultstatus fcmovnu fxtract insn_basic insn_basic.c insn_fpu insn_fpu.c insn_mmx insn_mmx.c insn_sse insn_sse.c insn_sse2 insn_sse2.c insn_sse3 insn_sse3.c insn_ssse3 insn_ssse3.c jrcxz looper Makefile Makefile.in nibz_bennee_mmap rcl-amd64 redundantRexW shrld slahf-amd64 smc1 ssse3_misaligned Property changes on: trunk/none/tests/x86-linux ___________________________________________________________________ Name: svn:ignore - .deps Makefile Makefile.in seg_override sigcontext + *.stderr.diff *.stderr.out *.stdout.diff *.stdout.out .deps Makefile Makefile.in seg_override sigcontext |
|
From: <sv...@va...> - 2009-07-09 09:32:44
|
Author: bart Date: 2009-07-09 10:26:12 +0100 (Thu, 09 Jul 2009) New Revision: 10416 Log: Updated ignore list. Modified: trunk/ Property changes on: trunk ___________________________________________________________________ Name: svn:ignore - acinclude.m4 aclocal.m4 autom4te-*.cache autom4te.cache bin cachegrind cachegrind.out.* compile config.guess config.h* config.log config.status config.sub configure default.supp glibc-2.X.supp depcomp include .in_place install-sh lib Makefile Makefile.in missing mkinstalldirs share stamp-h* svn-commit.tmp svn-commit.2.tmp valgrind valgrind.pc valgrind.spec valt_load_address*.lds vg_annotate vg_cachegen + .in_place acinclude.m4 aclocal.m4 autom4te-*.cache autom4te.cache bin cachegrind cachegrind.out.* compile config.guess config.h* config.log config.status config.sub configure default.supp depcomp glibc-2.X.supp include install-sh lib Makefile Makefile.in Makefile.vex.in missing mkinstalldirs share stamp-h* svn-commit.2.tmp svn-commit.tmp valgrind valgrind.pc valgrind.spec valt_load_address*.lds vg_annotate vg_cachegen |
|
From: Nicholas N. <n.n...@gm...> - 2009-07-09 02:03:35
|
Hi, There was a discussion a little while ago about setting up nightly regression testing for the Mac OS X port. Three people volunteered, but for whatever reason, no testing is set up at the moment. At least one of the people had trouble with the nightly script -- it ran ok when invoked by hand, but failed when invoked via cron (or whatever Apple's equivalent is). So if someone has a suitable machine they'd like to volunteer for this task and are willing to spend a bit of effort getting the tests working, that would be great. You'll need a machine that is suitable for running periodic tasks (which probably rules out laptops). There are comprehensive instructions in bin/README. If someone could get this working, it would be a great help for the stability of the Mac port. Thanks. Nick |
|
From: Bart V. A. <bar...@gm...> - 2009-07-07 18:12:41
|
On Tue, Jul 7, 2009 at 12:15 AM, Stefan Kost<en...@ho...> wrote: > GStreamer is heavily multithreaded too and uses both mutexes and glibs > atomic operations. The unit tests are already using valgrind's memcheck > in a 2nd run. I've tried drd and helgrind once, but got a lot of > warnings and had no idea where to start. One possible approach is to start with the first reported warning and to analyze the involved call stacks carefully in order to find out why the warning was reported. Subsequently you can either insert an annotation in the source code of the analyzed program or fix the reported issue if it is a bug. Next, recompile your program and rerun it under Valgrind, and again analyze the first reported warning. After a few steps all warnings will be suppressed. This approach has already been applied succesfully to other open source projects. Bart. |
|
From: Nicholas N. <n.n...@gm...> - 2009-07-07 12:07:20
|
On Tue, Jul 7, 2009 at 10:02 PM, Ashley Pittman<as...@pi...> wrote: > > Ok, I got that. How do the nightly test emails work, I assume they > parse the stdout of "perl tests/vg_regtest memcheck ..." so that needs > to be preserved as well. nightly/bin/nightly (in the standard case) invokes "make regtest" but the output is just copied to the report file, there's no parsing. Nick |
|
From: Ashley P. <as...@pi...> - 2009-07-07 12:02:44
|
On Tue, 2009-07-07 at 21:55 +1000, Nicholas Nethercote wrote: > On Tue, Jul 7, 2009 at 8:01 PM, Ashley Pittman<as...@pi...> wrote: > > > > I'm looking at spending a couple of days fixing up the regtests so they > > work with VPATH builds, this is probably going to end up being > > moderately intrusive however. > > > > Is there anything I need to know before I start hacking away at the > > code, are all the tests driven from "make regtest" for example or are > > there other ways of driving them that I need to preserve? > > The arguments to vg_regtest can be entire directories or individual > test files (with or without the .vgtest suffix). So all these kinds > of invocations must be preserved: > > perl tests/vg_regtest memcheck/ > perl tests/vg_regtest memcheck/addressable.vgtest > perl tests/vg_regtest memcheck/addressable Ok, I got that. How do the nightly test emails work, I assume they parse the stdout of "perl tests/vg_regtest memcheck ..." so that needs to be preserved as well. > > One thing that springs to mind is that platform_test could be removed > > and the logic rolled back into vg_regtest for example, is there any > > reason why I shouldn't do this? > > Not that I can see; vg_regtest seems to be the only user of platform_test. That should simplify things a bit. I notice a lot of the scripts call other scripts using ./ notation, I might find I need to put "$(top_srcdir)/$dir" on PATH and removing the ./ prefix from these scripts. Ashley, -- Ashley Pittman, Bath, UK. Padb - A parallel job inspection tool for cluster computing http://padb.pittman.org.uk |
|
From: Nicholas N. <n.n...@gm...> - 2009-07-07 11:56:02
|
On Tue, Jul 7, 2009 at 8:01 PM, Ashley Pittman<as...@pi...> wrote: > > I'm looking at spending a couple of days fixing up the regtests so they > work with VPATH builds, this is probably going to end up being > moderately intrusive however. > > Is there anything I need to know before I start hacking away at the > code, are all the tests driven from "make regtest" for example or are > there other ways of driving them that I need to preserve? The arguments to vg_regtest can be entire directories or individual test files (with or without the .vgtest suffix). So all these kinds of invocations must be preserved: perl tests/vg_regtest memcheck/ perl tests/vg_regtest memcheck/addressable.vgtest perl tests/vg_regtest memcheck/addressable > One thing that springs to mind is that platform_test could be removed > and the logic rolled back into vg_regtest for example, is there any > reason why I shouldn't do this? Not that I can see; vg_regtest seems to be the only user of platform_test. Nick |
|
From: Ashley P. <as...@pi...> - 2009-07-07 11:33:31
|
All, I'm looking at spending a couple of days fixing up the regtests so they work with VPATH builds, this is probably going to end up being moderately intrusive however. Is there anything I need to know before I start hacking away at the code, are all the tests driven from "make regtest" for example or are there other ways of driving them that I need to preserve? One thing that springs to mind is that platform_test could be removed and the logic rolled back into vg_regtest for example, is there any reason why I shouldn't do this? Ashley, -- Ashley Pittman, Bath, UK. Padb - A parallel job inspection tool for cluster computing http://padb.pittman.org.uk |
|
From: Konstantin S. <kon...@gm...> - 2009-07-07 07:18:58
|
> GStreamer is heavily multithreaded too and uses both mutexes and glibs > atomic operations. The unit tests are already using valgrind's memcheck > in a 2nd run. I've tried drd and helgrind once, but got a lot of > warnings and had no idea where to start. Dynamic annotations (supported by ThreadSanitizer and, afaik, by fresh DRD) can help you explain lock-less synchronization to the tool. --kcc |
|
From: Stefan K. <en...@ho...> - 2009-07-06 22:52:03
|
Bart Van Assche schrieb: > On Fri, Jun 26, 2009 at 2:41 PM, Konstantin > Serebryany<kon...@gm...> wrote: > >> We've added dynamic annotations to Chromium: >> http://src.chromium.org/viewvc/chrome?view=rev&revision=19353 >> In Chromium there are few classes/functions that use atomic >> instructions (e.g. Singleton, atomic refcount), so that w/o the >> annotations every race detector will have false positives. >> > > Interesting. > > >> I wonder if other large opensource projects (e.g. Firefox, OpenOffice, >> etc) use atomics for synchronization. >> Any experience detecting races there? >> > > Regarding Firefox: some time ago I tried to run Firefox under DRD. You > can find the feedback I received about using atomics for the debug > counters in this bugzilla entry: > https://bugzilla.mozilla.org/show_bug.cgi?id=425923. > > Another open source project that uses multithreading extensively > (through Open/MP) is GraphicsMagick. The maintainers of this project > have added support in their makefiles to analyze all regression tests > with memcheck, ptrcheck, helgrind and DRD. > GStreamer is heavily multithreaded too and uses both mutexes and glibs atomic operations. The unit tests are already using valgrind's memcheck in a 2nd run. I've tried drd and helgrind once, but got a lot of warnings and had no idea where to start. Stefan > Bart. > > ------------------------------------------------------------------------------ > _______________________________________________ > Valgrind-developers mailing list > Val...@li... > https://lists.sourceforge.net/lists/listinfo/valgrind-developers > |
|
From: Konstantin S. <kon...@gm...> - 2009-07-06 10:36:17
|
Submitted https://bugs.kde.org/show_bug.cgi?id=199144 --kcc On Thu, Jul 2, 2009 at 11:46 AM, Konstantin Serebryany<kon...@gm...> wrote: >>> Shall I file a bug (feature request)? >> >> If you can show that GDB does produce the same stack traces in both >> cases, then yes. But I doubt it can do that. >> > > I've just learned that this feature has been implemented in gdb few > days ago. :) > > 2009-06-27 Daniel Jacobowitz <da...@co...> > Jan Kratochvil <jan...@re...> > > * NEWS: Document inlined function support. > * Makefile.in (SFILES): Add inline-frame.c. > (COMMON_OBS): Add inline-frame.o. > * block.c (contained_in): Rewrite to use lexical nesting. > ... > > From NEWS: > > * Inlined functions are now supported. They show up in backtraces, and > the "step", "next", and "finish" commands handle them automatically. > > $ gdb64-cvs ./a.out > GNU gdb (GDB) 6.8.50.20090701-cvs > ... > (gdb) b main > Breakpoint 1 at 0x4003a0: file inline_test.c, line 12. > (gdb) r > > Breakpoint 1, main () at inline_test.c:12 > 12 int main() { > (gdb) s > 14 bar(&uninitialized_stack[1]); > (gdb) s > bar (p=0x7fffffffdd04) at inline_test.c:9 > 9 foo(p); > (gdb) s > foo (p=0x7fffffffdd04) at inline_test.c:4 > 4 if (*p == 777) printf("777\n"); > (gdb) bt > #0 foo (p=0x7fffffffdd04) at inline_test.c:4 > #1 bar (p=0x7fffffffdd04) at inline_test.c:9 > #2 0x00000000004003ae in main () at inline_test.c:14 > (gdb) disas > Dump of assembler code for function bar: > 0x0000000000400380 <bar+0>: cmpl $0x309,(%rdi) > 0x0000000000400386 <bar+6>: je 0x400390 <bar+16> > 0x0000000000400388 <bar+8>: repz retq > 0x000000000040038a <bar+10>: nopw 0x0(%rax,%rax,1) > 0x0000000000400390 <bar+16>: mov $0x40047c,%edi > 0x0000000000400395 <bar+21>: jmpq 0x4005e8 <puts@plt> > End of assembler dump. > > Disassembly clearly shows foo was inlined; yet it shows in the stack trace :-) > > > --kcc > |
|
From: Tom H. <to...@co...> - 2009-07-06 08:30:40
|
On 06/07/09 05:44, Nicholas Nethercote wrote: > On Sun, Jul 5, 2009 at 12:49 PM, Tom Hughes<th...@cy...> wrote: > >> == 496 tests, 7 stderr failures, 1 stdout failure, 0 post failures == >> memcheck/tests/x86-linux/scalar (stderr) >> memcheck/tests/x86-linux/scalar_exit_group (stderr) >> memcheck/tests/x86-linux/scalar_supp (stderr) >> none/tests/amd64/bug127521-64 (stdout) >> none/tests/amd64/bug127521-64 (stderr) >> exp-ptrcheck/tests/ccc (stderr) >> exp-ptrcheck/tests/pth_create (stderr) >> exp-ptrcheck/tests/pth_specific (stderr) > > Until recently, this machine had no test failures. Most of the > failures seem to be due to the DCAS merge -- Julian, can you take a > look? The scalar ones are a bit different, though, there's a > conditional-jump-on-undefined that didn't used to be there. Not sure > about it. The three memcheck ones are all this: ==24018== Conditional jump or move depends on uninitialised value(s) ==24018== at 0x5FF2C2: _dl_runtime_resolve (in /lib/ld-2.6.so) ==24018== by 0x620F6F: (below main) (in /lib/libc-2.6.so) The none/tests/amd64/bug127521-64 one is an unsupported instruction failure on cmpxchg16 by the looks of it: vex amd64->IR: unhandled instruction bytes: 0xF0 0x49 0xF 0xC7 0xA 0x49 ... ==24044== Process terminating with default action of signal 4 (SIGILL) ==24044== Illegal opcode at address 0x4006D2 ==24044== at 0x4006D2: do_cmpxchg16b (bug127521-64.c:79) ==24044== by 0x4007AA: try16b (bug127521-64.c:106) ==24044== by 0x400A9F: main (bug127521-64.c:135) The ptrcheck ones are all an assertion failure: t4 = CASle(t3::t0->t2) exp-ptrcheck: h_main.c:4820 (schemeS): the 'impossible' happened. ==24071== at 0x38010BFC: report_and_quit (m_libcassert.c:145) ==24071== by 0x38010ECA: vgPlain_assert_fail (m_libcassert.c:216) ==24071== by 0x3800601A: h_instrument (h_main.c:4820) ==24071== by 0x3809694E: LibVEX_Translate (main_main.c:500) ==24071== by 0x38026128: vgPlain_translate (m_translate.c:1517) ==24071== by 0x38048B10: vgPlain_scheduler (scheduler.c:844) ==24071== by 0x3806C71E: run_a_thread_NORETURN (syswrap-linux.c:91) Tom -- Tom Hughes (to...@co...) http://www.compton.nu/ |
|
From: Bart V. A. <bar...@gm...> - 2009-07-06 07:37:32
|
Nightly build on georgia-tech-cellbuzz-native ( cellbuzz, ppc64, Fedora 7, native ) Started at 2009-07-06 02:00:05 EDT Ended at 2009-07-06 03:37:12 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 == 422 tests, 41 stderr failures, 13 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/linux/mremap2 (stdout) 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/tc23_bogus_condwait (stderr) exp-ptrcheck/tests/bad_percentify (stdout) 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 (stdout) exp-ptrcheck/tests/hackedbz2 (stderr) exp-ptrcheck/tests/hp_bounds (stderr) exp-ptrcheck/tests/hp_dangle (stderr) exp-ptrcheck/tests/justify (stderr) exp-ptrcheck/tests/partial_bad (stderr) exp-ptrcheck/tests/partial_good (stderr) exp-ptrcheck/tests/preen_invars (stdout) 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 == 422 tests, 42 stderr failures, 13 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/linux/mremap2 (stdout) 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/tc23_bogus_condwait (stderr) drd/tests/pth_cleanup_handler (stderr) exp-ptrcheck/tests/bad_percentify (stdout) 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 (stdout) exp-ptrcheck/tests/hackedbz2 (stderr) exp-ptrcheck/tests/hp_bounds (stderr) exp-ptrcheck/tests/hp_dangle (stderr) exp-ptrcheck/tests/justify (stderr) exp-ptrcheck/tests/partial_bad (stderr) exp-ptrcheck/tests/partial_good (stderr) exp-ptrcheck/tests/preen_invars (stdout) 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 Jul 6 02:49:37 2009 --- new.short Mon Jul 6 03:37:12 2009 *************** *** 8,10 **** ! == 422 tests, 42 stderr failures, 13 stdout failures, 0 post failures == memcheck/tests/deep_templates (stdout) --- 8,10 ---- ! == 422 tests, 41 stderr failures, 13 stdout failures, 0 post failures == memcheck/tests/deep_templates (stdout) *************** *** 39,41 **** helgrind/tests/tc23_bogus_condwait (stderr) - drd/tests/pth_cleanup_handler (stderr) exp-ptrcheck/tests/bad_percentify (stdout) --- 39,40 ---- |
|
From: Julian S. <js...@ac...> - 2009-07-06 06:05:16
|
Greetings. I'd like to merge branches/MESSAGING_TIDYUP to the trunk in the next couple of days. This branch tidies up and rationalises what could be called the "messaging" system -- that part of V to do with presenting output to the user. In particular it brings significant improvements to XML output. Changes are: * XML and normal text output now have separate file descriptors, which solves longstanding problems for XML consumers caused by the XML output getting polluted by unexpected non-XML output. * This also means that we no longer have to hardwire all manner of output settings (verbosity, etc) when XML is requested. * The XML output format has been revised, cleaned up, and made more suitable for use by error detecting tools in general (various Memcheck-specific features have been removed). XML output is enabled for Ptrcheck and Helgrind, and Memcheck is updated to the new format. * One side effect is that the behaviour of VG_(message) has been made to be consistent with printf: it no longer automatically adds a newline at the end of the output. This means multiple calls to it can be used to build up a single line message; or a single call can write a multi-line message. The ==pid== preamble is automatically inserted at each newline. * VG_(message)(Vg_UserMsg, ..args..) now has the abbreviated form VG_(UMSG)(..args..); ditto VG_(DMSG) for Vg_DebugMsg and VG_(EMSG) for Vg_DebugExtraMsg. A couple of other useful printf derivatives have been added to pub_tool_libcprint.h, most particularly VG_(vcbprintf). * There's a small change in the core-tool interface to do with error handling: VG_(needs_tool_errors) has a new method void (*before_pp_Error)(Error* err) which, if non-NULL, is called just before void (*pp_Error)(Error* err). This is to give tools the chance to look at errors before any part of them is printed, so they can print any XML preamble they like. * coregrind/m_errormgr.c has been overhauled and cleaned up, and is a bit simpler and more commented. In particular pp_Error and VG_(maybe_record_error) are significantly changed. The diff is huge, but mostly very boring. Most of the changes are of the form - VG_(message)(Vg_UserMsg, "this is a message %d", n); + VG_(message)(Vg_UserMsg, "this is a message %d\n", n); Unfortunately as a result of this, it touches a large number of source files. I will re-check the diff in detail before committing. I don't want to break anything with this, and I'm a bit concerned that the diff is so big and touches so many files, that unrelated changes could slip though -- hence the re-check. In the diff there's many changes like this: Property changes on: exp-ptrcheck/h_intercepts.c ___________________________________________________________________ Deleted: svn:mergeinfo Anybody have any idea what they mean? Are they significant? J |
|
From: Nicholas N. <n.n...@gm...> - 2009-07-06 04:44:39
|
On Sun, Jul 5, 2009 at 12:49 PM, Tom Hughes<th...@cy...> wrote: > > Nightly build on lloyd ( x86_64, Fedora 7 ) > Started at 2009-07-05 03:05:05 BST > Ended at 2009-07-05 03:49:38 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 > > == 496 tests, 7 stderr failures, 1 stdout failure, 0 post failures == > memcheck/tests/x86-linux/scalar (stderr) > memcheck/tests/x86-linux/scalar_exit_group (stderr) > memcheck/tests/x86-linux/scalar_supp (stderr) > none/tests/amd64/bug127521-64 (stdout) > none/tests/amd64/bug127521-64 (stderr) > exp-ptrcheck/tests/ccc (stderr) > exp-ptrcheck/tests/pth_create (stderr) > exp-ptrcheck/tests/pth_specific (stderr) Until recently, this machine had no test failures. Most of the failures seem to be due to the DCAS merge -- Julian, can you take a look? The scalar ones are a bit different, though, there's a conditional-jump-on-undefined that didn't used to be there. Not sure about it. Nick |