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
(4) |
2
(3) |
3
(7) |
4
(7) |
5
(6) |
6
(5) |
|
7
(21) |
8
(14) |
9
(8) |
10
(10) |
11
(7) |
12
(4) |
13
|
|
14
(3) |
15
(11) |
16
(4) |
17
|
18
|
19
|
20
|
|
21
(3) |
22
(4) |
23
(2) |
24
(3) |
25
|
26
(4) |
27
(2) |
|
28
(6) |
29
|
30
(2) |
31
(7) |
|
|
|
|
From: Bart V. A. <bar...@gm...> - 2010-03-09 08:22:08
|
Nightly build on cellbuzz-native ( cellbuzz, ppc64, Fedora 7, native ) Started at 2010-03-09 02:00:14 EST Ended at 2010-03-09 03:21:50 EST Results unchanged from 24 hours ago Checking out valgrind source tree ... done Configuring valgrind ... done Building valgrind ... done Running regression tests ... done Regression test results follow == 452 tests, 43 stderr failures, 10 stdout failures, 0 post failures == memcheck/tests/deep_templates (stdout) memcheck/tests/leak-cases-full (stderr) memcheck/tests/leak-cases-summary (stderr) memcheck/tests/leak-cycle (stderr) memcheck/tests/linux/timerfd-syscall (stdout) memcheck/tests/linux-syscalls-2007 (stderr) memcheck/tests/origin5-bz2 (stderr) memcheck/tests/varinfo1 (stderr) memcheck/tests/varinfo2 (stderr) memcheck/tests/varinfo3 (stderr) memcheck/tests/varinfo4 (stderr) memcheck/tests/varinfo5 (stderr) memcheck/tests/varinfo6 (stderr) memcheck/tests/wrap8 (stdout) memcheck/tests/wrap8 (stderr) none/tests/empty-exe (stderr) none/tests/linux/mremap (stderr) none/tests/ppc32/jm-fp (stdout) none/tests/ppc32/jm-vmx (stdout) none/tests/ppc32/round (stdout) none/tests/ppc32/test_gx (stdout) none/tests/ppc64/jm-fp (stdout) none/tests/ppc64/jm-vmx (stdout) none/tests/ppc64/round (stdout) none/tests/shell_valid2 (stderr) none/tests/shell_valid3 (stderr) none/tests/shell_zerolength (stderr) helgrind/tests/hg05_race2 (stderr) helgrind/tests/tc06_two_races_xml (stderr) helgrind/tests/tc22_exit_w_lock (stderr) helgrind/tests/tc23_bogus_condwait (stderr) exp-ptrcheck/tests/bad_percentify (stderr) exp-ptrcheck/tests/base (stderr) exp-ptrcheck/tests/ccc (stderr) exp-ptrcheck/tests/fp (stderr) exp-ptrcheck/tests/globalerr (stderr) exp-ptrcheck/tests/hackedbz2 (stderr) exp-ptrcheck/tests/hp_bounds (stderr) exp-ptrcheck/tests/hp_dangle (stderr) exp-ptrcheck/tests/hsg (stderr) exp-ptrcheck/tests/justify (stderr) exp-ptrcheck/tests/partial_bad (stderr) exp-ptrcheck/tests/partial_good (stderr) exp-ptrcheck/tests/preen_invars (stderr) exp-ptrcheck/tests/pth_create (stderr) exp-ptrcheck/tests/pth_specific (stderr) exp-ptrcheck/tests/realloc (stderr) exp-ptrcheck/tests/stackerr (stderr) exp-ptrcheck/tests/strcpy (stderr) exp-ptrcheck/tests/supp (stderr) exp-ptrcheck/tests/tricky (stderr) exp-ptrcheck/tests/unaligned (stderr) exp-ptrcheck/tests/zero (stderr) |
|
From: Tom H. <th...@cy...> - 2010-03-09 03:47:15
|
Nightly build on lloyd ( x86_64, Fedora 7 ) Started at 2010-03-09 03:05:08 GMT Ended at 2010-03-09 03:47:02 GMT Results unchanged from 24 hours ago Checking out valgrind source tree ... done Configuring valgrind ... done Building valgrind ... done Running regression tests ... failed Regression test results follow == 534 tests, 1 stderr failure, 0 stdout failures, 0 post failures == helgrind/tests/tc06_two_races_xml (stderr) |
|
From: Tom H. <th...@cy...> - 2010-03-09 03:38:06
|
Nightly build on mg ( x86_64, Fedora 9 ) Started at 2010-03-09 03:10:09 GMT Ended at 2010-03-09 03:37:49 GMT Results unchanged from 24 hours ago Checking out valgrind source tree ... done Configuring valgrind ... done Building valgrind ... done Running regression tests ... failed Regression test results follow == 541 tests, 1 stderr failure, 0 stdout failures, 0 post failures == helgrind/tests/tc06_two_races_xml (stderr) |
|
From: Bart V. A. <bva...@ac...> - 2010-03-08 19:08:39
|
On Mon, Mar 8, 2010 at 4:44 PM, Julian Seward <js...@ac...> wrote: > > [ ... ] > > But I think we should just forget them, and stay with > ANNOTATE_HAPPENS_BEFORE and ANNOTATE_HAPPENS_AFTER. > > The motivation was for the correct annotation of barriers directly using > h-b edges. But it's better to directly do so with ANNOTATE_BARRIER_*. > > The original idea was that, for a barrier, we have some abstract sync > object (the barrier) which needs to acquire an h-b edge from each incoming > thread. Then, when all the threads leave the barrier, they all take > a h-b dependency from the sync object. > > So for the thread-arrival handling, ANNOTATE_HAPPENS_BEFORE is not the > correct thing for the 2nd and subsequent arriving threads, because it > throws away any previous h-b edge associated with the barrier. What we > need is to accumulate h-b edges in the barrier; in VTS terms take the > join (vector max) of all the VTSs of the threads arriving at the barrier. > Hence the distinction between A_H_B_OVERWRITE(x), which copies the calling > thread's VTS into 'x', and A_H_B_ACCUMULATE(x), which joins the calling > thread's VTS into 'x'. I'm not sure I understood the above completely. What I understood about happens-before, happens-after annotations and barriers is as follows: * The effect of a happens-after annotation is that a new segment is created with as vector clock the maximum of the vector clock of the current thread and the vector clocks of the most recent matching happens-before annotations of all other threads. Any other implementation would make the reference counting annotation example in http://code.google.com/p/data-race-test/source/browse/trunk/dynamic_annotations/dynamic_annotations.h incorrect. * Annotating barriers with happens-before/after annotations is too complex to bother a user with. If I'm not mistaken it is possible to annotate POSIX barriers as follows with happens-before/after annotations (where b is a pointer to a pthread_barrier_t object and i is a thread-local integer variable with the same scope as the pthread_barrier_t object and initialized to zero): ANNOTATE_HAPPENS_BEFORE((char*)b + i) result = pthread_barrier_wait(b); ANNOTATE_HAPPENS_AFTER((char*)b + i) i = (i + 1) % 2; The complexity of the above is a compelling argument for me to introduce specific annotations for barriers. Notes: - The above annotation style is only correct if each time the same set of threads participates in the barrier. Annotating barriers with happens-before/after annotations is even more complex when the set of threads that participates in the barrier can vary. - Inserting ANNOTATE_HAPPENS_BEFORE(b) before each pthread_barrier_wait(b) call and ANNOTATE_HAPPENS_AFTER(b) after each pthread_barrier_wait(b) call is racy. There is a significant probability that not all ANNOTATE_HAPPENS_AFTER() annotations of the current barrier will have been invoked before the first ANNOTATE_HAPPENS_BEFORE() annotation of the next barrier is invoked. Bart. |
|
From: <sv...@va...> - 2010-03-08 18:41:46
|
Author: bart
Date: 2010-03-08 18:41:38 +0000 (Mon, 08 Mar 2010)
New Revision: 11085
Log:
Removed ANNOTATE_HAPPENS_DONE() again.
Modified:
trunk/drd/drd.h
trunk/drd/drd_clientreq.c
trunk/drd/tests/annotate_hb_err.c
trunk/drd/tests/annotate_smart_pointer.cpp
Modified: trunk/drd/drd.h
===================================================================
--- trunk/drd/drd.h 2010-03-08 15:09:06 UTC (rev 11084)
+++ trunk/drd/drd.h 2010-03-08 18:41:38 UTC (rev 11085)
@@ -113,11 +113,6 @@
#define ANNOTATE_HAPPENS_AFTER(addr) DRDCL_(annotate_happens_after)(addr)
/**
- * Tell DRD that no more happens-after annotations will follow.
- */
-#define ANNOTATE_HAPPENS_DONE(addr) DRDCL_(annotate_happens_done)(addr)
-
-/**
* Tell DRD that waiting on the condition variable at address cv has succeeded
* and a lock on the mutex at address mtx is now held. Since DRD always inserts
* a happens before relation between the pthread_cond_signal() or
@@ -356,9 +351,6 @@
VG_USERREQ__DRD_ANNOTATE_HAPPENS_AFTER
= VG_USERREQ_TOOL_BASE('H','G') + 256 + 34,
/* args: Addr. */
- /* Tell DRD to insert a happens-done annotation. */
- VG_USERREQ__DRD_ANNOTATE_HAPPENS_DONE,
- /* args: Addr. */
};
@@ -460,14 +452,6 @@
}
static __inline__
-void DRDCL_(annotate_happens_done)(const void* const addr)
-{
- int res;
- VALGRIND_DO_CLIENT_REQUEST(res, 0, VG_USERREQ__DRD_ANNOTATE_HAPPENS_DONE,
- addr, 0, 0, 0, 0);
-}
-
-static __inline__
void DRDCL_(annotate_rwlock_create)(const void* const rwlock)
{
int res;
Modified: trunk/drd/drd_clientreq.c
===================================================================
--- trunk/drd/drd_clientreq.c 2010-03-08 15:09:06 UTC (rev 11084)
+++ trunk/drd/drd_clientreq.c 2010-03-08 18:41:38 UTC (rev 11085)
@@ -123,10 +123,6 @@
DRD_(hb_happens_after)(drd_tid, arg[1]);
break;
- case VG_USERREQ__DRD_ANNOTATE_HAPPENS_DONE:
- DRD_(hb_happens_done)(drd_tid, arg[1]);
- break;
-
case VG_USERREQ__DRD_ANNOTATE_RWLOCK_CREATE:
if (arg[1])
{
Modified: trunk/drd/tests/annotate_hb_err.c
===================================================================
--- trunk/drd/tests/annotate_hb_err.c 2010-03-08 15:09:06 UTC (rev 11084)
+++ trunk/drd/tests/annotate_hb_err.c 2010-03-08 18:41:38 UTC (rev 11085)
@@ -30,14 +30,14 @@
pthread_cond_init((pthread_cond_t*)&i, NULL);
/* The sequence below is fine. */
- ANNOTATE_HAPPENS_DONE(&i);
+ ANNOTATE_NEW_MEMORY(&i, sizeof(i));
ANNOTATE_HAPPENS_BEFORE(&i);
ANNOTATE_HAPPENS_AFTER(&i);
- ANNOTATE_HAPPENS_DONE(&i);
+ ANNOTATE_NEW_MEMORY(&i, sizeof(i));
ANNOTATE_HAPPENS_BEFORE(&i);
- ANNOTATE_HAPPENS_DONE(&i);
+ ANNOTATE_NEW_MEMORY(&i, sizeof(i));
- /* happens-before after happens-after without intervening happens-done. */
+ /* happens-before after happens-after. */
ANNOTATE_HAPPENS_BEFORE(&i);
ANNOTATE_HAPPENS_AFTER(&i);
ANNOTATE_HAPPENS_BEFORE(&i);
Modified: trunk/drd/tests/annotate_smart_pointer.cpp
===================================================================
--- trunk/drd/tests/annotate_smart_pointer.cpp 2010-03-08 15:09:06 UTC (rev 11084)
+++ trunk/drd/tests/annotate_smart_pointer.cpp 2010-03-08 18:41:38 UTC (rev 11085)
@@ -240,10 +240,7 @@
if (--(*m_count_ptr) == 0)
{
if (s_enable_annotations)
- {
ANNOTATE_HAPPENS_AFTER(m_count_ptr);
- ANNOTATE_HAPPENS_DONE(m_count_ptr);
- }
delete m_ptr;
m_ptr = NULL;
delete m_count_ptr;
|
|
From: Julian S. <js...@ac...> - 2010-03-08 15:26:47
|
On Monday 08 March 2010, Konstantin Serebryany wrote: > On Mon, Mar 8, 2010 at 2:14 PM, Julian Seward <js...@ac...> wrote: > >> Can you please clarify how the proposed new annotation > >> ANNOTATE_HAPPENS_BEFORE_OVERWRITE() differs from > >> ANNOTATE_HAPPENS_BEFORE() and why it would be useful ? > > > > I don't know; these are Konstantin's annotations; > > Hm. Are they? Err, my mistake. Sorry. Yes I did propose these. But I think we should just forget them, and stay with ANNOTATE_HAPPENS_BEFORE and ANNOTATE_HAPPENS_AFTER. The motivation was for the correct annotation of barriers directly using h-b edges. But it's better to directly do so with ANNOTATE_BARRIER_*. The original idea was that, for a barrier, we have some abstract sync object (the barrier) which needs to acquire an h-b edge from each incoming thread. Then, when all the threads leave the barrier, they all take a h-b dependency from the sync object. So for the thread-arrival handling, ANNOTATE_HAPPENS_BEFORE is not the correct thing for the 2nd and subsequent arriving threads, because it throws away any previous h-b edge associated with the barrier. What we need is to accumulate h-b edges in the barrier; in VTS terms take the join (vector max) of all the VTSs of the threads arriving at the barrier. Hence the distinction between A_H_B_OVERWRITE(x), which copies the calling thread's VTS into 'x', and A_H_B_ACCUMULATE(x), which joins the calling thread's VTS into 'x'. J |
|
From: <sv...@va...> - 2010-03-08 15:09:15
|
Author: sewardj
Date: 2010-03-08 15:09:06 +0000 (Mon, 08 Mar 2010)
New Revision: 11084
Log:
Add tests for UXTAB and SXTAH.
Modified:
trunk/none/tests/arm/v6int.c
trunk/none/tests/arm/v6int.stdout.exp
Modified: trunk/none/tests/arm/v6int.c
===================================================================
--- trunk/none/tests/arm/v6int.c 2010-03-08 14:45:26 UTC (rev 11083)
+++ trunk/none/tests/arm/v6int.c 2010-03-08 15:09:06 UTC (rev 11084)
@@ -762,23 +762,61 @@
TESTINST3("sxtab r0, r1, r2, ROR #0", 0x31415927, 0x27182899,
r0, r1, r2, 0);
+ printf("------------ UXTAB ------------\n");
+ TESTINST3("uxtab r0, r1, r2, ROR #24", 0x31415927, 0x27182819,
+ r0, r1, r2, 0);
+ TESTINST3("uxtab r0, r1, r2, ROR #16", 0x31415927, 0x27182819,
+ r0, r1, r2, 0);
+ TESTINST3("uxtab r0, r1, r2, ROR #8", 0x31415927, 0x27182819,
+ r0, r1, r2, 0);
+ TESTINST3("uxtab r0, r1, r2, ROR #0", 0x31415927, 0x27182819,
+ r0, r1, r2, 0);
+
+ TESTINST3("uxtab r0, r1, r2, ROR #24", 0x31415927, 0x27182899,
+ r0, r1, r2, 0);
+ TESTINST3("uxtab r0, r1, r2, ROR #16", 0x31415927, 0x27182899,
+ r0, r1, r2, 0);
+ TESTINST3("uxtab r0, r1, r2, ROR #8", 0x31415927, 0x27182899,
+ r0, r1, r2, 0);
+ TESTINST3("uxtab r0, r1, r2, ROR #0", 0x31415927, 0x27182899,
+ r0, r1, r2, 0);
+
+ printf("------------ SXTAH ------------\n");
+ TESTINST3("sxtah r0, r1, r2, ROR #24", 0x31415927, 0x27182819,
+ r0, r1, r2, 0);
+ TESTINST3("sxtah r0, r1, r2, ROR #16", 0x31415927, 0x27182819,
+ r0, r1, r2, 0);
+ TESTINST3("sxtah r0, r1, r2, ROR #8 ", 0x31415927, 0x27182819,
+ r0, r1, r2, 0);
+ TESTINST3("sxtah r0, r1, r2, ROR #0 ", 0x31415927, 0x27182819,
+ r0, r1, r2, 0);
+
+ TESTINST3("sxtah r0, r1, r2, ROR #24", 0x31415927, 0x27189819,
+ r0, r1, r2, 0);
+ TESTINST3("sxtah r0, r1, r2, ROR #16", 0x31415927, 0x27189819,
+ r0, r1, r2, 0);
+ TESTINST3("sxtah r0, r1, r2, ROR #8 ", 0x31415927, 0x27189819,
+ r0, r1, r2, 0);
+ TESTINST3("sxtah r0, r1, r2, ROR #0 ", 0x31415927, 0x27189819,
+ r0, r1, r2, 0);
+
printf("------------ UXTAH ------------\n");
TESTINST3("uxtah r0, r1, r2, ROR #24", 0x31415927, 0x27182819,
r0, r1, r2, 0);
TESTINST3("uxtah r0, r1, r2, ROR #16", 0x31415927, 0x27182819,
r0, r1, r2, 0);
- TESTINST3("uxtah r0, r1, r2, ROR #8", 0x31415927, 0x27182819,
+ TESTINST3("uxtah r0, r1, r2, ROR #8 ", 0x31415927, 0x27182819,
r0, r1, r2, 0);
- TESTINST3("uxtah r0, r1, r2, ROR #0", 0x31415927, 0x27182819,
+ TESTINST3("uxtah r0, r1, r2, ROR #0 ", 0x31415927, 0x27182819,
r0, r1, r2, 0);
- TESTINST3("uxtah r0, r1, r2, ROR #24", 0x31415927, 0x27182899,
+ TESTINST3("uxtah r0, r1, r2, ROR #24", 0x31415927, 0x27189819,
r0, r1, r2, 0);
- TESTINST3("uxtah r0, r1, r2, ROR #16", 0x31415927, 0x27182899,
+ TESTINST3("uxtah r0, r1, r2, ROR #16", 0x31415927, 0x27189819,
r0, r1, r2, 0);
- TESTINST3("uxtah r0, r1, r2, ROR #8", 0x31415927, 0x27182899,
+ TESTINST3("uxtah r0, r1, r2, ROR #8 ", 0x31415927, 0x27189819,
r0, r1, r2, 0);
- TESTINST3("uxtah r0, r1, r2, ROR #0", 0x31415927, 0x27182899,
+ TESTINST3("uxtah r0, r1, r2, ROR #0 ", 0x31415927, 0x27189819,
r0, r1, r2, 0);
printf("------------ PLD/PLDW (begin) ------------\n");
Modified: trunk/none/tests/arm/v6int.stdout.exp
===================================================================
--- trunk/none/tests/arm/v6int.stdout.exp 2010-03-08 14:45:26 UTC (rev 11083)
+++ trunk/none/tests/arm/v6int.stdout.exp 2010-03-08 15:09:06 UTC (rev 11084)
@@ -706,15 +706,33 @@
sxtab r0, r1, r2, ROR #16 :: rd 0x3141593f rm 0x31415927, rn 0x27182899, carryin 0, cpsr 0x00000000
sxtab r0, r1, r2, ROR #8 :: rd 0x3141594f rm 0x31415927, rn 0x27182899, carryin 0, cpsr 0x00000000
sxtab r0, r1, r2, ROR #0 :: rd 0x314158c0 rm 0x31415927, rn 0x27182899, carryin 0, cpsr 0x00000000
+------------ UXTAB ------------
+uxtab r0, r1, r2, ROR #24 :: rd 0x3141594e rm 0x31415927, rn 0x27182819, carryin 0, cpsr 0x00000000
+uxtab r0, r1, r2, ROR #16 :: rd 0x3141593f rm 0x31415927, rn 0x27182819, carryin 0, cpsr 0x00000000
+uxtab r0, r1, r2, ROR #8 :: rd 0x3141594f rm 0x31415927, rn 0x27182819, carryin 0, cpsr 0x00000000
+uxtab r0, r1, r2, ROR #0 :: rd 0x31415940 rm 0x31415927, rn 0x27182819, carryin 0, cpsr 0x00000000
+uxtab r0, r1, r2, ROR #24 :: rd 0x3141594e rm 0x31415927, rn 0x27182899, carryin 0, cpsr 0x00000000
+uxtab r0, r1, r2, ROR #16 :: rd 0x3141593f rm 0x31415927, rn 0x27182899, carryin 0, cpsr 0x00000000
+uxtab r0, r1, r2, ROR #8 :: rd 0x3141594f rm 0x31415927, rn 0x27182899, carryin 0, cpsr 0x00000000
+uxtab r0, r1, r2, ROR #0 :: rd 0x314159c0 rm 0x31415927, rn 0x27182899, carryin 0, cpsr 0x00000000
+------------ SXTAH ------------
+sxtah r0, r1, r2, ROR #24 :: rd 0x3141724e rm 0x31415927, rn 0x27182819, carryin 0, cpsr 0x00000000
+sxtah r0, r1, r2, ROR #16 :: rd 0x3141803f rm 0x31415927, rn 0x27182819, carryin 0, cpsr 0x00000000
+sxtah r0, r1, r2, ROR #8 :: rd 0x3141714f rm 0x31415927, rn 0x27182819, carryin 0, cpsr 0x00000000
+sxtah r0, r1, r2, ROR #0 :: rd 0x31418140 rm 0x31415927, rn 0x27182819, carryin 0, cpsr 0x00000000
+sxtah r0, r1, r2, ROR #24 :: rd 0x3141724e rm 0x31415927, rn 0x27189819, carryin 0, cpsr 0x00000000
+sxtah r0, r1, r2, ROR #16 :: rd 0x3141803f rm 0x31415927, rn 0x27189819, carryin 0, cpsr 0x00000000
+sxtah r0, r1, r2, ROR #8 :: rd 0x314171bf rm 0x31415927, rn 0x27189819, carryin 0, cpsr 0x00000000
+sxtah r0, r1, r2, ROR #0 :: rd 0x3140f140 rm 0x31415927, rn 0x27189819, carryin 0, cpsr 0x00000000
------------ UXTAH ------------
uxtah r0, r1, r2, ROR #24 :: rd 0x3141724e rm 0x31415927, rn 0x27182819, carryin 0, cpsr 0x00000000
uxtah r0, r1, r2, ROR #16 :: rd 0x3141803f rm 0x31415927, rn 0x27182819, carryin 0, cpsr 0x00000000
-uxtah r0, r1, r2, ROR #8 :: rd 0x3141714f rm 0x31415927, rn 0x27182819, carryin 0, cpsr 0x00000000
-uxtah r0, r1, r2, ROR #0 :: rd 0x31418140 rm 0x31415927, rn 0x27182819, carryin 0, cpsr 0x00000000
-uxtah r0, r1, r2, ROR #24 :: rd 0x3141f24e rm 0x31415927, rn 0x27182899, carryin 0, cpsr 0x00000000
-uxtah r0, r1, r2, ROR #16 :: rd 0x3141803f rm 0x31415927, rn 0x27182899, carryin 0, cpsr 0x00000000
-uxtah r0, r1, r2, ROR #8 :: rd 0x3141714f rm 0x31415927, rn 0x27182899, carryin 0, cpsr 0x00000000
-uxtah r0, r1, r2, ROR #0 :: rd 0x314181c0 rm 0x31415927, rn 0x27182899, carryin 0, cpsr 0x00000000
+uxtah r0, r1, r2, ROR #8 :: rd 0x3141714f rm 0x31415927, rn 0x27182819, carryin 0, cpsr 0x00000000
+uxtah r0, r1, r2, ROR #0 :: rd 0x31418140 rm 0x31415927, rn 0x27182819, carryin 0, cpsr 0x00000000
+uxtah r0, r1, r2, ROR #24 :: rd 0x3141724e rm 0x31415927, rn 0x27189819, carryin 0, cpsr 0x00000000
+uxtah r0, r1, r2, ROR #16 :: rd 0x3141803f rm 0x31415927, rn 0x27189819, carryin 0, cpsr 0x00000000
+uxtah r0, r1, r2, ROR #8 :: rd 0x314171bf rm 0x31415927, rn 0x27189819, carryin 0, cpsr 0x00000000
+uxtah r0, r1, r2, ROR #0 :: rd 0x3141f140 rm 0x31415927, rn 0x27189819, carryin 0, cpsr 0x00000000
------------ PLD/PLDW (begin) ------------
pld reg +/- imm12 cases
pld reg +/- shifted reg cases
|
|
From: <sv...@va...> - 2010-03-08 14:49:12
|
Author: sewardj
Date: 2010-03-08 14:49:03 +0000 (Mon, 08 Mar 2010)
New Revision: 1964
Log:
Support FTOUIS, UXTAB, SXTAH.
Modified:
trunk/priv/guest_arm_toIR.c
Modified: trunk/priv/guest_arm_toIR.c
===================================================================
--- trunk/priv/guest_arm_toIR.c 2010-02-28 04:53:07 UTC (rev 1963)
+++ trunk/priv/guest_arm_toIR.c 2010-03-08 14:49:03 UTC (rev 1964)
@@ -4127,13 +4127,13 @@
goto decode_success;
} else {
// FTOUIS
- //putFReg(fD, unop(Iop_ReinterpI32asF32,
- // binop(Iop_F64toI32U, mkexpr(rmode),
- // unop(Iop_F32toF64, getFReg(fM)))),
- // condT);
- //DIP("ftoui%ss%s s%u, d%u\n", bZ ? "z" : "",
- // nCC(INSN_COND), fD, fM);
- //goto decode_success;
+ putFReg(fD, unop(Iop_ReinterpI32asF32,
+ binop(Iop_F64toI32U, mkexpr(rmode),
+ unop(Iop_F32toF64, getFReg(fM)))),
+ condT);
+ DIP("ftoui%ss%s s%u, d%u\n", bZ ? "z" : "",
+ nCC(INSN_COND), fD, fM);
+ goto decode_success;
}
}
@@ -4624,15 +4624,16 @@
after_load_store_doubleword:
- /* ------------------- sxtab ------------- */
- if (BITS8(0,1,1,0,1,0,1,0) == INSN(27,20)
+ /* ------------------- {s,u}xtab ------------- */
+ if (BITS8(0,1,1,0,1,0,1,0) == (INSN(27,20) & BITS8(1,1,1,1,1,0,1,1))
&& BITS4(0,0,0,0) == (INSN(11,8) & BITS4(0,0,1,1))
&& BITS4(0,1,1,1) == INSN(7,4)) {
UInt rN = INSN(19,16);
UInt rD = INSN(15,12);
UInt rM = INSN(3,0);
UInt rot = (insn >> 10) & 3;
- if (rN == 15/*it's SXTB*/ || rD == 15 || rM == 15) {
+ UInt isU = INSN(22,22);
+ if (rN == 15/*it's {S,U}XTB*/ || rD == 15 || rM == 15) {
/* undecodable; fall through */
} else {
IRTemp srcL = newTemp(Ity_I32);
@@ -4642,26 +4643,27 @@
assign(srcL, getIReg(rN));
assign(res, binop(Iop_Add32,
mkexpr(srcL),
- unop(Iop_8Sto32,
+ unop(isU ? Iop_8Uto32 : Iop_8Sto32,
unop(Iop_32to8,
genROR32(srcR, 8 * rot)))));
putIReg(rD, mkexpr(res), condT, Ijk_Boring);
- DIP("sxtab%s r%u, r%u, r%u, ror #%u\n",
- nCC(INSN_COND), rD, rN, rM, rot);
+ DIP("%cxtab%s r%u, r%u, r%u, ror #%u\n",
+ isU ? 'u' : 's', nCC(INSN_COND), rD, rN, rM, rot);
goto decode_success;
}
/* fall through */
}
- /* ------------------- uxtah ------------- */
- if (BITS8(0,1,1,0,1,1,1,1) == INSN(27,20)
+ /* ------------------- {s,u}xtah ------------- */
+ if (BITS8(0,1,1,0,1,0,1,1) == (INSN(27,20) & BITS8(1,1,1,1,1,0,1,1))
&& BITS4(0,0,0,0) == (INSN(11,8) & BITS4(0,0,1,1))
&& BITS4(0,1,1,1) == INSN(7,4)) {
UInt rN = INSN(19,16);
UInt rD = INSN(15,12);
UInt rM = INSN(3,0);
UInt rot = (insn >> 10) & 3;
- if (rN == 15/*it's UXTH*/ || rD == 15 || rM == 15) {
+ UInt isU = INSN(22,22);
+ if (rN == 15/*it's {S,U}XTH*/ || rD == 15 || rM == 15) {
/* undecodable; fall through */
} else {
IRTemp srcL = newTemp(Ity_I32);
@@ -4671,13 +4673,13 @@
assign(srcL, getIReg(rN));
assign(res, binop(Iop_Add32,
mkexpr(srcL),
- unop(Iop_16Uto32,
+ unop(isU ? Iop_16Uto32 : Iop_16Sto32,
unop(Iop_32to16,
genROR32(srcR, 8 * rot)))));
putIReg(rD, mkexpr(res), condT, Ijk_Boring);
- DIP("uxtah%s r%u, r%u, r%u, ror #%u\n",
- nCC(INSN_COND), rD, rN, rM, rot);
+ DIP("%cxtah%s r%u, r%u, r%u, ror #%u\n",
+ isU ? 'u' : 's', nCC(INSN_COND), rD, rN, rM, rot);
goto decode_success;
}
/* fall through */
|
|
From: <sv...@va...> - 2010-03-08 14:45:35
|
Author: sewardj
Date: 2010-03-08 14:45:26 +0000 (Mon, 08 Mar 2010)
New Revision: 11083
Log:
Fix the definedness handling of the last argument of sys_socketpair.
The last argument is really a pointer to an array of two ints and so
we need to say it is an int* and not an int [2]. This just happens to
work on amd64-linux because sizeof(int [2]) == 8 == sizeof(int*). On
arm-linux it duly craps out w/ an assertion because sizeof(int [2]) !=
sizeof(UWord).
Modified:
trunk/coregrind/m_syswrap/syswrap-amd64-linux.c
trunk/coregrind/m_syswrap/syswrap-arm-linux.c
Modified: trunk/coregrind/m_syswrap/syswrap-amd64-linux.c
===================================================================
--- trunk/coregrind/m_syswrap/syswrap-amd64-linux.c 2010-03-08 07:55:23 UTC (rev 11082)
+++ trunk/coregrind/m_syswrap/syswrap-amd64-linux.c 2010-03-08 14:45:26 UTC (rev 11083)
@@ -814,7 +814,7 @@
{
PRINT("sys_socketpair ( %ld, %ld, %ld, %#lx )",ARG1,ARG2,ARG3,ARG4);
PRE_REG_READ4(long, "socketpair",
- int, d, int, type, int, protocol, int [2], sv);
+ int, d, int, type, int, protocol, int*, sv);
ML_(generic_PRE_sys_socketpair)(tid, ARG1,ARG2,ARG3,ARG4);
}
POST(sys_socketpair)
Modified: trunk/coregrind/m_syswrap/syswrap-arm-linux.c
===================================================================
--- trunk/coregrind/m_syswrap/syswrap-arm-linux.c 2010-03-08 07:55:23 UTC (rev 11082)
+++ trunk/coregrind/m_syswrap/syswrap-arm-linux.c 2010-03-08 14:45:26 UTC (rev 11083)
@@ -922,7 +922,7 @@
{
PRINT("sys_socketpair ( %ld, %ld, %ld, %#lx )",ARG1,ARG2,ARG3,ARG4);
PRE_REG_READ4(long, "socketpair",
- int, d, int, type, int, protocol, int [2], sv);
+ int, d, int, type, int, protocol, int*, sv);
ML_(generic_PRE_sys_socketpair)(tid, ARG1,ARG2,ARG3,ARG4);
}
POST(sys_socketpair)
|
|
From: Konstantin S. <kon...@gm...> - 2010-03-08 14:43:36
|
On Mon, Mar 8, 2010 at 2:14 PM, Julian Seward <js...@ac...> wrote:
>
>> Can you please clarify how the proposed new annotation
>> ANNOTATE_HAPPENS_BEFORE_OVERWRITE() differs from
>> ANNOTATE_HAPPENS_BEFORE() and why it would be useful ?
>
> I don't know; these are Konstantin's annotations;
Hm. Are they?
I am quite satisfied with what we have now.
Earlier, Julian suggested this:
> Can you also do the other changes we discussed, so that the different
> annotation sets can stay in sync?
> ...
> * rename ANNOTATE_HAPPENS_BEFORE(obj)
> to ANNOTATE_HAPPENS_BEFORE_ACCUMULATE(obj)
> maybe add a #define for backwards compatibility
> * add ANNOTATE_HAPPENS_BEFORE_OVERWRITE(obj)
> * add ANNOTATE_HAPPENS_BEFORE_FORGET(obj)
It would be interesting to see a *realistic* case where
ANNOTATE_HAPPENS_BEFORE_{OVERWRITE,FORGET} is indeed needed.
--kcc
> I did not
> propose them. (I also wondered what the difference was.)
>
> J
>
>
|
|
From: Rich C. <Ric...@me...> - 2010-03-08 14:33:40
|
Nightly build on macbook ( Darwin 9.8.0 i386 )
Started at 2010-03-07 23:05:00 CST
Ended at 2010-03-07 23:33:08 CST
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
== 421 tests, 11 stderr failures, 1 stdout failure, 0 post failures ==
memcheck/tests/null_socket (stdout)
memcheck/tests/origin5-bz2 (stderr)
memcheck/tests/varinfo3 (stderr)
memcheck/tests/varinfo5 (stderr)
none/tests/async-sigs (stderr)
none/tests/faultstatus (stderr)
none/tests/pth_blockedsig (stderr)
helgrind/tests/rwlock_race (stderr)
helgrind/tests/tc06_two_races_xml (stderr)
helgrind/tests/tc18_semabuse (stderr)
helgrind/tests/tc23_bogus_condwait (stderr)
drd/tests/annotate_hb_race (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
== 419 tests, 10 stderr failures, 1 stdout failure, 0 post failures ==
memcheck/tests/null_socket (stdout)
memcheck/tests/origin5-bz2 (stderr)
memcheck/tests/varinfo3 (stderr)
memcheck/tests/varinfo5 (stderr)
none/tests/async-sigs (stderr)
none/tests/faultstatus (stderr)
none/tests/pth_blockedsig (stderr)
helgrind/tests/rwlock_race (stderr)
helgrind/tests/tc06_two_races_xml (stderr)
helgrind/tests/tc18_semabuse (stderr)
helgrind/tests/tc23_bogus_condwait (stderr)
=================================================
== Difference between 24 hours ago and now ==
=================================================
*** old.short Sun Mar 7 23:19:08 2010
--- new.short Sun Mar 7 23:33:08 2010
***************
*** 8,10 ****
! == 419 tests, 10 stderr failures, 1 stdout failure, 0 post failures ==
memcheck/tests/null_socket (stdout)
--- 8,10 ----
! == 421 tests, 11 stderr failures, 1 stdout failure, 0 post failures ==
memcheck/tests/null_socket (stdout)
***************
*** 20,21 ****
--- 20,22 ----
helgrind/tests/tc23_bogus_condwait (stderr)
+ drd/tests/annotate_hb_race (stderr)
=================================================
./valgrind-new/drd/tests/annotate_hb_race.stderr.diff
=================================================
--- annotate_hb_race.stderr.exp 2010-03-07 23:19:36.000000000 -0600
+++ annotate_hb_race.stderr.out 2010-03-07 23:31:27.000000000 -0600
@@ -1,8 +1,7 @@
Conflicting store by thread x at 0x........ size 4
at 0x........: main (annotate_hb_race.c:?)
-Location 0x........ is 0 bytes inside local var "s_i"
-declared at annotate_hb_race.c:14, in frame #? of thread x
+Allocation context: Data section of ./annotate_hb_race
Done.
=================================================
./valgrind-new/helgrind/tests/rwlock_race.stderr.diff
=================================================
--- rwlock_race.stderr.exp 2010-03-07 23:19:17.000000000 -0600
+++ rwlock_race.stderr.out 2010-03-07 23:30:18.000000000 -0600
@@ -1,25 +1,4 @@
-Thread #x was created
- ...
- by 0x........: pthread_create@* (hg_intercepts.c:...)
- by 0x........: main (rwlock_race.c:48)
-
-Thread #x was created
- ...
- by 0x........: pthread_create@* (hg_intercepts.c:...)
- by 0x........: main (rwlock_race.c:47)
-
-Possible data race during write of size 4 at 0x........ by thread #x
- at 0x........: thread_func (rwlock_race.c:29)
- by 0x........: mythread_wrapper (hg_intercepts.c:...)
- ...
- This conflicts with a previous write of size 4 by thread #x
- at 0x........: thread_func (rwlock_race.c:29)
- by 0x........: mythread_wrapper (hg_intercepts.c:...)
- ...
- Location 0x........ is 0 bytes inside local var "s_racy"
- declared at rwlock_race.c:18, in frame #x of thread x
-
Result: 2
-ERROR SUMMARY: 1 errors from 1 contexts (suppressed: 0 from 0)
+ERROR SUMMARY: 0 errors from 0 contexts (suppressed: 0 from 0)
=================================================
./valgrind-new/helgrind/tests/tc06_two_races_xml.stderr.diff
=================================================
--- tc06_two_races_xml.stderr.exp 2010-03-07 23:19:17.000000000 -0600
+++ tc06_two_races_xml.stderr.out 2010-03-07 23:30:35.000000000 -0600
@@ -39,17 +39,7 @@
<frame>
<ip>0x........</ip>
<obj>...</obj>
- <fn>clone</fn>
- </frame>
- <frame>
- <ip>0x........</ip>
- <obj>...</obj>
- <fn>do_clone</fn>
- </frame>
- <frame>
- <ip>0x........</ip>
- <obj>...</obj>
- <fn>pthread_create@@GLIBC_2.2.5</fn>
+ <fn>__bsdthread_create</fn>
</frame>
<frame>
<ip>0x........</ip>
@@ -62,7 +52,7 @@
<frame>
<ip>0x........</ip>
<obj>...</obj>
- <fn>pthread_create@*</fn>
+ <fn>pthread_create</fn>
<dir>...</dir>
<file>hg_intercepts.c</file>
<line>...</line>
@@ -120,12 +110,12 @@
<frame>
<ip>0x........</ip>
<obj>...</obj>
- <fn>start_thread</fn>
+ <fn>_pthread_start</fn>
</frame>
<frame>
<ip>0x........</ip>
<obj>...</obj>
- <fn>clone</fn>
+ <fn>thread_start</fn>
</frame>
</stack>
<auxwhat>Location 0x........ is 0 bytes inside global var "unprot1"</auxwhat>
@@ -174,12 +164,12 @@
<frame>
<ip>0x........</ip>
<obj>...</obj>
- <fn>start_thread</fn>
+ <fn>_pthread_start</fn>
</frame>
<frame>
<ip>0x........</ip>
<obj>...</obj>
- <fn>clone</fn>
+ <fn>thread_start</fn>
</frame>
</stack>
<auxwhat>Location 0x........ is 0 bytes inside global var "unprot1"</auxwhat>
@@ -228,12 +218,12 @@
<frame>
<ip>0x........</ip>
<obj>...</obj>
- <fn>start_thread</fn>
+ <fn>_pthread_start</fn>
</frame>
<frame>
<ip>0x........</ip>
<obj>...</obj>
- <fn>clone</fn>
+ <fn>thread_start</fn>
</frame>
</stack>
<auxwhat>Location 0x........ is 0 bytes inside global var "unprot2"</auxwhat>
@@ -282,12 +272,12 @@
<frame>
<ip>0x........</ip>
<obj>...</obj>
- <fn>start_thread</fn>
+ <fn>_pthread_start</fn>
</frame>
<frame>
<ip>0x........</ip>
<obj>...</obj>
- <fn>clone</fn>
+ <fn>thread_start</fn>
</frame>
</stack>
<auxwhat>Location 0x........ is 0 bytes inside global var "unprot2"</auxwhat>
=================================================
./valgrind-new/helgrind/tests/tc18_semabuse.stderr.diff-glibc25-amd64
=================================================
--- tc18_semabuse.stderr.exp-glibc25-amd64 2010-03-07 23:19:17.000000000 -0600
+++ tc18_semabuse.stderr.out 2010-03-07 23:30:49.000000000 -0600
@@ -2,14 +2,30 @@
Thread #x is the program's root thread
Thread #x's call to sem_init failed
- with error code 22 (EINVAL: Invalid argument)
- at 0x........: sem_init@* (hg_intercepts.c:...)
+ with error code 78 (ENOSYS: Function not implemented)
+ at 0x........: sem_init (hg_intercepts.c:...)
by 0x........: main (tc18_semabuse.c:23)
-Thread #x: Bug in libpthread: sem_wait succeeded on semaphore without prior sem_post
+Thread #x's call to sem_init failed
+ with error code 78 (ENOSYS: Function not implemented)
+ at 0x........: sem_init (hg_intercepts.c:...)
+ by 0x........: main (tc18_semabuse.c:26)
+
+Thread #x's call to sem_wait failed
+ with error code 9 (EBADF: Bad file number)
at 0x........: sem_wait_WRK (hg_intercepts.c:...)
- by 0x........: sem_wait (hg_intercepts.c:...)
+ by 0x........: sem_wait$* (hg_intercepts.c:...)
by 0x........: main (tc18_semabuse.c:34)
+Thread #x's call to sem_post failed
+ with error code 9 (EBADF: Bad file number)
+ at 0x........: sem_post (hg_intercepts.c:...)
+ by 0x........: main (tc18_semabuse.c:37)
+
+Thread #x's call to sem_destroy failed
+ with error code 78 (ENOSYS: Function not implemented)
+ at 0x........: sem_destroy (hg_intercepts.c:...)
+ by 0x........: main (tc18_semabuse.c:39)
+
-ERROR SUMMARY: 2 errors from 2 contexts (suppressed: 0 from 0)
+ERROR SUMMARY: 5 errors from 5 contexts (suppressed: 0 from 0)
=================================================
./valgrind-new/helgrind/tests/tc18_semabuse.stderr.diff-glibc28-amd64
=================================================
--- tc18_semabuse.stderr.exp-glibc28-amd64 2010-03-07 23:19:17.000000000 -0600
+++ tc18_semabuse.stderr.out 2010-03-07 23:30:49.000000000 -0600
@@ -2,20 +2,30 @@
Thread #x is the program's root thread
Thread #x's call to sem_init failed
- with error code 22 (EINVAL: Invalid argument)
- at 0x........: sem_init@* (hg_intercepts.c:...)
+ with error code 78 (ENOSYS: Function not implemented)
+ at 0x........: sem_init (hg_intercepts.c:...)
by 0x........: main (tc18_semabuse.c:23)
-Thread #x: Bug in libpthread: sem_wait succeeded on semaphore without prior sem_post
+Thread #x's call to sem_init failed
+ with error code 78 (ENOSYS: Function not implemented)
+ at 0x........: sem_init (hg_intercepts.c:...)
+ by 0x........: main (tc18_semabuse.c:26)
+
+Thread #x's call to sem_wait failed
+ with error code 9 (EBADF: Bad file number)
at 0x........: sem_wait_WRK (hg_intercepts.c:...)
- by 0x........: sem_wait (hg_intercepts.c:...)
+ by 0x........: sem_wait$* (hg_intercepts.c:...)
by 0x........: main (tc18_semabuse.c:34)
Thread #x's call to sem_post failed
- with error code 22 (EINVAL: Invalid argument)
- at 0x........: sem_post_WRK (hg_intercepts.c:...)
- by 0x........: sem_post (hg_intercepts.c:...)
+ with error code 9 (EBADF: Bad file number)
+ at 0x........: sem_post (hg_intercepts.c:...)
by 0x........: main (tc18_semabuse.c:37)
+Thread #x's call to sem_destroy failed
+ with error code 78 (ENOSYS: Function not implemented)
+ at 0x........: sem_destroy (hg_intercepts.c:...)
+ by 0x........: main (tc18_semabuse.c:39)
+
-ERROR SUMMARY: 3 errors from 3 contexts (suppressed: 0 from 0)
+ERROR SUMMARY: 5 errors from 5 contexts (suppressed: 0 from 0)
=================================================
./valgrind-new/helgrind/tests/tc23_bogus_condwait.stderr.diff
=================================================
--- tc23_bogus_condwait.stderr.exp 2010-03-07 23:19:17.000000000 -0600
+++ tc23_bogus_condwait.stderr.out 2010-03-07 23:31:25.000000000 -0600
@@ -2,32 +2,52 @@
Thread #x is the program's root thread
Thread #x: pthread_cond_{timed}wait called with invalid mutex
- at 0x........: pthread_cond_wait@* (hg_intercepts.c:...)
+ at 0x........: pthread_cond_wait* (hg_intercepts.c:...)
+ by 0x........: main (tc23_bogus_condwait.c:69)
+
+Thread #x's call to pthread_cond_wait failed
+ with error code 22 (EINVAL: Invalid argument)
+ at 0x........: pthread_cond_wait* (hg_intercepts.c:...)
by 0x........: main (tc23_bogus_condwait.c:69)
Thread #x: pthread_cond_{timed}wait called with un-held mutex
- at 0x........: pthread_cond_wait@* (hg_intercepts.c:...)
+ at 0x........: pthread_cond_wait* (hg_intercepts.c:...)
by 0x........: main (tc23_bogus_condwait.c:72)
Thread #x: pthread_cond_{timed}wait: cond is associated with a different mutex
- at 0x........: pthread_cond_wait@* (hg_intercepts.c:...)
+ at 0x........: pthread_cond_wait* (hg_intercepts.c:...)
by 0x........: main (tc23_bogus_condwait.c:72)
Thread #x: pthread_cond_{timed}wait called with mutex of type pthread_rwlock_t*
- at 0x........: pthread_cond_wait@* (hg_intercepts.c:...)
+ at 0x........: pthread_cond_wait* (hg_intercepts.c:...)
by 0x........: main (tc23_bogus_condwait.c:75)
Thread #x: pthread_cond_{timed}wait: cond is associated with a different mutex
- at 0x........: pthread_cond_wait@* (hg_intercepts.c:...)
+ at 0x........: pthread_cond_wait* (hg_intercepts.c:...)
+ by 0x........: main (tc23_bogus_condwait.c:75)
+
+Thread #x's call to pthread_cond_wait failed
+ with error code 22 (EINVAL: Invalid argument)
+ at 0x........: pthread_cond_wait* (hg_intercepts.c:...)
by 0x........: main (tc23_bogus_condwait.c:75)
Thread #x: pthread_cond_{timed}wait called with mutex held by a different thread
- at 0x........: pthread_cond_wait@* (hg_intercepts.c:...)
+ at 0x........: pthread_cond_wait* (hg_intercepts.c:...)
by 0x........: main (tc23_bogus_condwait.c:78)
Thread #x: pthread_cond_{timed}wait: cond is associated with a different mutex
- at 0x........: pthread_cond_wait@* (hg_intercepts.c:...)
+ at 0x........: pthread_cond_wait* (hg_intercepts.c:...)
by 0x........: main (tc23_bogus_condwait.c:78)
+Thread #x: Bug in libpthread: write lock granted on mutex/rwlock which is currently wr-held by a different thread
+ at 0x........: pthread_mutex_lock (hg_intercepts.c:...)
+ by 0x........: _pthread_cond_wait (in /...libc...)
+ by 0x........: pthread_cond_wait$UNIX2003 (in /...libc...)
+ by 0x........: pthread_cond_wait* (hg_intercepts.c:...)
+ by 0x........: main (tc23_bogus_condwait.c:78)
+
+Thread #x: Exiting thread still holds 1 lock
+ ...
+
-ERROR SUMMARY: 7 errors from 7 contexts (suppressed: 0 from 0)
+ERROR SUMMARY: 11 errors from 11 contexts (suppressed: 0 from 0)
=================================================
./valgrind-new/memcheck/tests/null_socket.stdout.diff
=================================================
--- /dev/null 2010-03-07 23:25:09.000000000 -0600
+++ null_socket.stdout.out 2010-03-07 23:25:26.000000000 -0600
@@ -0,0 +1 @@
+recvfrom succeeded?
=================================================
./valgrind-new/memcheck/tests/origin5-bz2.stderr.diff-glibc25-amd64
=================================================
--- origin5-bz2.stderr.exp-glibc25-amd64 2010-03-07 23:19:24.000000000 -0600
+++ origin5-bz2.stderr.out 2010-03-07 23:25:41.000000000 -0600
@@ -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,8 +49,8 @@
Uninitialised value was created by a client request
at 0x........: main (origin5-bz2.c:6479)
-Use of uninitialised value of size 8
- at 0x........: mainSort (origin5-bz2.c:2854)
+Use of uninitialised value of size 4
+ at 0x........: mainSort (origin5-bz2.c:2855)
by 0x........: BZ2_blockSort (origin5-bz2.c:3105)
by 0x........: BZ2_compressBlock (origin5-bz2.c:4034)
by 0x........: handle_compress (origin5-bz2.c:4753)
@@ -60,8 +60,8 @@
Uninitialised value was created by a client request
at 0x........: main (origin5-bz2.c:6479)
-Use of uninitialised value of size 8
- at 0x........: mainSort (origin5-bz2.c:2858)
+Use of uninitialised value of size 4
+ at 0x........: mainSort (origin5-bz2.c:2859)
by 0x........: BZ2_blockSort (origin5-bz2.c:3105)
by 0x........: BZ2_compressBlock (origin5-bz2.c:4034)
by 0x........: handle_compress (origin5-bz2.c:4753)
@@ -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,18 @@
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)
+ 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:6479)
+
+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 +115,7 @@
Uninitialised value was created by a client request
<truncated beyond 100 lines>
=================================================
./valgrind-new/memcheck/tests/origin5-bz2.stderr.diff-glibc25-x86
=================================================
--- origin5-bz2.stderr.exp-glibc25-x86 2010-03-07 23:19:26.000000000 -0600
+++ origin5-bz2.stderr.out 2010-03-07 23:25:41.000000000 -0600
@@ -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:2855)
+ 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:2859)
+ 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,19 @@
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)
+ 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:6479)
+
+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)
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 2010-03-07 23:19:24.000000000 -0600
+++ origin5-bz2.stderr.out 2010-03-07 23:25:41.000000000 -0600
@@ -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,102 @@
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:2855)
+ 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:2859)
+ 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/memcheck/tests/varinfo3.stderr.diff
=================================================
--- varinfo3.stderr.exp 2010-03-07 23:19:25.000000000 -0600
+++ varinfo3.stderr.out 2010-03-07 23:26:37.000000000 -0600
@@ -31,7 +31,7 @@
by 0x........: bar (varinfo3.c:42)
by 0x........: foo (varinfo3.c:58)
by 0x........: main (varinfo3.c:66)
- Address 0x........ is 5 bytes inside data symbol "static_local_def.XXXX"
+ Address 0x........ is in the Data segment of ./varinfo3
Uninitialised byte(s) found during client check request
at 0x........: croak (varinfo3.c:28)
@@ -46,7 +46,7 @@
by 0x........: bar (varinfo3.c:44)
by 0x........: foo (varinfo3.c:58)
by 0x........: main (varinfo3.c:66)
- Address 0x........ is 7 bytes inside data symbol "static_local_undef.XXXX"
+ Address 0x........ is in the Data segment of ./varinfo3
Uninitialised byte(s) found during client check request
at 0x........: croak (varinfo3.c:28)
=================================================
./valgrind-new/memcheck/tests/varinfo5.stderr.diff
=================================================
--- varinfo5.stderr.exp 2010-03-07 23:19:25.000000000 -0600
+++ varinfo5.stderr.out 2010-03-07 23:26:38.000000000 -0600
@@ -119,7 +119,7 @@
by 0x........: varinfo3_main (varinfo5so.c:118)
by 0x........: varinfo5_main (varinfo5so.c:156)
by 0x........: main (varinfo5.c:5)
- Address 0x........ is 5 bytes inside data symbol "static_local_def.XXXX"
+ Address 0x........ is in the Data segment of /Users/minime/src/vg/nightly/valgrind-new/memcheck/tests/varinfo5so.so
Uninitialised byte(s) found during client check request
at 0x........: croak (varinfo5so.c:29)
@@ -138,7 +138,7 @@
by 0x........: varinfo3_main (varinfo5so.c:118)
by 0x........: varinfo5_main (varinfo5so.c:156)
by 0x........: main (varinfo5.c:5)
- Address 0x........ is 7 bytes inside data symbol "static_local_undef.XXXX"
+ Address 0x........ is in the Data segment of /Users/minime/src/vg/nightly/valgrind-new/memcheck/tests/varinfo5so.so
Uninitialised byte(s) found during client check request
at 0x........: croak (varinfo5so.c:29)
=================================================
./valgrind-new/none/tests/async-sigs.stderr.diff
=================================================
--- async-sigs.stderr.exp 2010-03-07 23:19:33.000000000 -0600
+++ async-sigs.stderr.out 2010-03-07 23:28:05.000000000 -0600
@@ -1,8 +1,30 @@
-testing: blocking=0 caught=11 fatal=7... PASSED
+testing: blocking=0 caught=11 fatal=10...
+Process terminating with default action of signal 10 (SIGBUS)
+ Non-existent physical address at address 0x........
+ at 0x........: test (async-sigs.c:94)
+ by 0x........: main (async-sigs.c:129)
+PASSED
testing: blocking=0 caught=11 fatal=1... PASSED
-testing: blocking=0 caught=10 fatal=7... PASSED
-testing: blocking=0 caught=10 fatal=1... PASSED
-testing: blocking=1 caught=11 fatal=7... PASSED
+testing: blocking=0 caught=30 fatal=10...
+Process terminating with default action of signal 10 (SIGBUS)
+ Non-existent physical address at address 0x........
+ at 0x........: test (async-sigs.c:94)
+ by 0x........: main (async-sigs.c:131)
+PASSED
+testing: blocking=0 caught=30 fatal=1... PASSED
+testing: blocking=1 caught=11 fatal=10...
+Process terminating with default action of signal 10 (SIGBUS)
+ Non-existent physical address at address 0x........
+ at 0x........: __sigsuspend (in /...libc...)
+ by 0x........: test (async-sigs.c:95)
+ by 0x........: main (async-sigs.c:133)
+PASSED
testing: blocking=1 caught=11 fatal=1... PASSED
-testing: blocking=1 caught=10 fatal=7... PASSED
-testing: blocking=1 caught=10 fatal=1... PASSED
+testing: blocking=1 caught=30 fatal=10...
+Process terminating with default action of signal 10 (SIGBUS)
+ Non-existent physical address at address 0x........
+ at 0x........: __sigsuspend (in /...libc...)
+ by 0x........: test (async-sigs.c:95)
+ by 0x........: main (async-sigs.c:135)
+PASSED
+testing: blocking=1 caught=30 fatal=1... PASSED
=================================================
./valgrind-new/none/tests/faultstatus.stderr.diff
=================================================
--- faultstatus.stderr.exp 2010-03-07 23:19:34.000000000 -0600
+++ faultstatus.stderr.out 2010-03-07 23:28:10.000000000 -0600
@@ -1,6 +1,6 @@
-Test 1: PASS
-Test 2: PASS
-Test 3: PASS
-Test 4: PASS
+Test 1: FAIL: expected signal 11, not 10
+Test 2: FAIL: expected signal 11, not 10
+Test 3: FAIL: no fault, or handler returned
+Test 4: FAIL: expected si_code==7, not 0
=================================================
./valgrind-new/none/tests/pth_blockedsig.stderr.diff
=================================================
--- pth_blockedsig.stderr.exp 2010-03-07 23:19:33.000000000 -0600
+++ pth_blockedsig.stderr.out 2010-03-07 23:29:10.000000000 -0600
@@ -1,2 +1,4 @@
+UNKNOWN __pthread_sigmask is unsupported. This warning will not be repeated.
+SHOULD NOT BE HERE (SIGUSR1)!!!!
=================================================
./valgrind-old/helgrind/tests/rwlock_race.stderr.diff
=================================================
--- rwlock_race.stderr.exp 2010-03-07 23:05:21.000000000 -0600
+++ rwlock_race.stderr.out 2010-03-07 23:16:21.000000000 -0600
@@ -1,25 +1,4 @@
-Thread #x was created
- ...
- by 0x........: pthread_create@* (hg_intercepts.c:...)
- by 0x........: main (rwlock_race.c:48)
-
-Thread #x was created
- ...
- by 0x........: pthread_create@* (hg_intercepts.c:...)
- by 0x........: main (rwlock_race.c:47)
-
-Possible data race during write of size 4 at 0x........ by thread #x
- at 0x........: thread_func (rwlock_race.c:29)
- by 0x........: mythread_wrapper (hg_intercepts.c:...)
- ...
- This conflicts with a previous write of size 4 by thread #x
- at 0x........: thread_func (rwlock_race.c:29)
- by 0x........: mythread_wrapper (hg_intercepts.c:...)
- ...
- Location 0x........ is 0 bytes inside local var "s_racy"
- declared at rwlock_race.c:18, in frame #x of thread x
-
Result: 2
-ERROR SUMMARY: 1 errors from 1 contexts (suppressed: 0 from 0)
+ERROR SUMMARY: 0 errors from 0 contexts (suppressed: 0 from 0)
=================================================
./valgrind-old/helgrind/tests/tc06_two_races_xml.stderr.diff
=================================================
--- tc06_two_races_xml.stderr.exp 2010-03-07 23:05:21.000000000 -0600
+++ tc06_two_races_xml.stderr.out 2010-03-07 23:16:38.000000000 -0600
@@ -39,17 +39,7 @@
<frame>
<ip>0x........</ip>
<obj>...</obj>
- <fn>clone</fn>
- </frame>
- <frame>
- <ip>0x........</ip>
- <obj>...</obj>
- <fn>do_clone</fn>
- </frame>
- <frame>
- <ip>0x........</ip>
- <obj>...</obj>
- <fn>pthread_create@@GLIBC_2.2.5</fn>
+ <fn>__bsdthread_create</fn>
</frame>
<frame>
<ip>0x........</ip>
@@ -62,7 +52,7 @@
<frame>
<ip>0x........</ip>
<obj>...</obj>
- <fn>pthread_create@*</fn>
+ <fn>pthread_create</fn>
<dir>...</dir>
<file>hg_intercepts.c</file>
<line>...</line>
@@ -120,12 +110,12 @@
<frame>
<ip>0x........</ip>
<obj>...</obj>
- <fn>start_thread</fn>
+ <fn>_pthread_start</fn>
</frame>
<frame>
<ip>0x........</ip>
<obj>...</obj>
- <fn>clone</fn>
+ <fn>thread_start</fn>
</frame>
</stack>
<auxwhat>Location 0x........ is 0 bytes inside global var "unprot1"</auxwhat>
@@ -174,12 +164,12 @@
<frame>
<ip>0x........</ip>
<obj>...</obj>
- <fn>start_thread</fn>
+ <fn>_pthread_start</fn>
</frame>
<frame>
<ip>0x........</ip>
<obj>...</obj>
- <fn>clone</fn>
+ <fn>thread_start</fn>
</frame>
</stack>
<auxwhat>Location 0x........ is 0 bytes inside global var "unprot1"</auxwhat>
@@ -228,12 +218,12 @@
<frame>
<ip>0x........</ip>
<obj>...</obj>
- <fn>start_thread</fn>
+ <fn>_pthread_start</fn>
</frame>
<frame>
<ip>0x........</ip>
<obj>...</obj>
- <fn>clone</fn>
+ <fn>thread_start</fn>
</frame>
</stack>
<auxwhat>Location 0x........ is 0 bytes inside global var "unprot2"</auxwhat>
@@ -282,12 +272,12 @@
<frame>
<ip>0x........</ip>
<obj>...</obj>
- <fn>start_thread</fn>
+ <fn>_pthread_start</fn>
</frame>
<frame>
<ip>0x........</ip>
<obj>...</obj>
- <fn>clone</fn>
+ <fn>thread_start</fn>
</frame>
</stack>
<auxwhat>Location 0x........ is 0 bytes inside global var "unprot2"</auxwhat>
=================================================
./valgrind-old/helgrind/tests/tc18_semabuse.stderr.diff-glibc25-amd64
=================================================
--- tc18_semabuse.stderr.exp-glibc25-amd64 2010-03-07 23:05:21.000000000 -0600
+++ tc18_semabuse.stderr.out 2010-03-07 23:16:52.000000000 -0600
@@ -2,14 +2,30 @@
Thread #x is the program's root thread
Thread #x's call to sem_init failed
- with error code 22 (EINVAL: Invalid argument)
- at 0x........: sem_init@* (hg_intercepts.c:...)
+ with error code 78 (ENOSYS: Function not implemented)
+ at 0x........: sem_init (hg_intercepts.c:...)
by 0x........: main (tc18_semabuse.c:23)
-Thread #x: Bug in libpthread: sem_wait succeeded on semaphore without prior sem_post
+Thread #x's call to sem_init failed
+ with error code 78 (ENOSYS: Function not implemented)
+ at 0x........: sem_init (hg_intercepts.c:...)
+ by 0x........: main (tc18_semabuse.c:26)
+
+Thread #x's call to sem_wait failed
+ with error code 9 (EBADF: Bad file number)
at 0x........: sem_wait_WRK (hg_intercepts.c:...)
- by 0x........: sem_wait (hg_intercepts.c:...)
+ by 0x........: sem_wait$* (hg_intercepts.c:...)
by 0x........: main (tc18_semabuse.c:34)
+Thread #x's call to sem_post failed
+ with error code 9 (EBADF: Bad file number)
+ at 0x........: sem_post (hg_intercepts.c:...)
+ by 0x........: main (tc18_semabuse.c:37)
+
+Thread #x's call to sem_destroy failed
+ with error code 78 (ENOSYS: Function not implemented)
+ at 0x........: sem_destroy (hg_intercepts.c:...)
+ by 0x........: main (tc18_semabuse.c:39)
+
-ERROR SUMMARY: 2 errors from 2 contexts (suppressed: 0 from 0)
+ERROR SUMMARY: 5 errors from 5 contexts (suppressed: 0 from 0)
=================================================
./valgrind-old/helgrind/tests/tc18_semabuse.stderr.diff-glibc28-amd64
=================================================
--- tc18_semabuse.stderr.exp-glibc28-amd64 2010-03-07 23:05:21.000000000 -0600
+++ tc18_semabuse.stderr.out 2010-03-07 23:16:52.000000000 -0600
@@ -2,20 +2,30 @@
Thread #x is the program's root thread
Thread #x's call to sem_init failed
- with error code 22 (EINVAL: Invalid argument)
- at 0x........: sem_init@* (hg_intercepts.c:...)
+ with error code 78 (ENOSYS: Function not implemented)
+ at 0x........: sem_init (hg_intercepts.c:...)
by 0x........: main (tc18_semabuse.c:23)
-Thread #x: Bug in libpthread: sem_wait succeeded on semaphore without prior sem_post
+Thread #x's call to sem_init failed
+ with error code 78 (ENOSYS: Function not implemented)
+ at 0x........: sem_init (hg_intercepts.c:...)
+ by 0x........: main (tc18_semabuse.c:26)
+
+Thread #x's call to sem_wait failed
+ with error code 9 (EBADF: Bad file number)
at 0x........: sem_wait_WRK (hg_intercepts.c:...)
- by 0x........: sem_wait (hg_intercepts.c:...)
+ by 0x........: sem_wait$* (hg_intercepts.c:...)
by 0x........: main (tc18_semabuse.c:34)
Thread #x's call to sem_post failed
- with error code 22 (EINVAL: Invalid argument)
- at 0x........: sem_post_WRK (hg_intercepts.c:...)
- by 0x........: sem_post (hg_intercepts.c:...)
+ with error code 9 (EBADF: Bad file number)
+ at 0x........: sem_post (hg_intercepts.c:...)
by 0x........: main (tc18_semabuse.c:37)
+Thread #x's call to sem_destroy failed
+ with error code 78 (ENOSYS: Function not implemented)
+ at 0x........: sem_destroy (hg_intercepts.c:...)
+ by 0x........: main (tc18_semabuse.c:39)
+
-ERROR SUMMARY: 3 errors from 3 contexts (suppressed: 0 from 0)
+ERROR SUMMARY: 5 errors from 5 contexts (suppressed: 0 from 0)
=================================================
./valgrind-old/helgrind/tests/tc23_bogus_condwait.stderr.diff
=================================================
--- tc23_bogus_condwait.stderr.exp 2010-03-07 23:05:21.000000000 -0600
+++ tc23_bogus_condwait.stderr.out 2010-03-07 23:17:28.000000000 -0600
@@ -2,32 +2,52 @@
Thread #x is the program's root thread
Thread #x: pthread_cond_{timed}wait called with invalid mutex
- at 0x........: pthread_cond_wait@* (hg_intercepts.c:...)
+ at 0x........: pthread_cond_wait* (hg_intercepts.c:...)
+ by 0x........: main (tc23_bogus_condwait.c:69)
+
+Thread #x's call to pthread_cond_wait failed
+ with error code 22 (EINVAL: Invalid argument)
+ at 0x........: pthread_cond_wait* (hg_intercepts.c:...)
by 0x........: main (tc23_bogus_condwait.c:69)
Thread #x: pthread_cond_{timed}wait called with un-held mutex
- at 0x........: pthread_cond_wait@* (hg_intercepts.c:...)
+ at 0x........: pthread_cond_wait* (hg_intercepts.c:...)
by 0x........: main (tc23_bogus_condwait.c:72)
Thread #x: pthread_cond_{timed}wait: cond is associated with a different mutex
- at 0x........: pthread_cond_wait@* (hg_intercepts.c:...)
+ at 0x........: pthread_cond_wait* (hg_intercepts.c:...)
by 0x........: main (tc23_bogus_condwait.c:72)
Thread #x: pthread_cond_{timed}wait called with mutex of type pthread_rwlock_t*
- at 0x........: pthread_cond_wait@* (hg_intercepts.c:...)
+ at 0x........: pthread_cond_wait* (hg_intercepts.c:...)
by 0x........: main (tc23_bogus_condwait.c:75)
Thread #x: pthread_cond_{timed}wait: cond is associated with a different mutex
- at 0x........: pthread_cond_wait@* (hg_intercepts.c:...)
+ at 0x........: pthread_cond_wait* (hg_intercepts.c:...)
+ by 0x........: main (tc23_bogus_condwait.c:75)
+
+Thread #x's call to pthread_cond_wait failed
+ with error code 22 (EINVAL: Invalid argument)
+ at 0x........: pthread_cond_wait* (hg_intercepts.c:...)
by 0x........: main (tc23_bogus_condwait.c:75)
Thread #x: pthread_cond_{timed}wait called with mutex held by a different thread
- at 0x........: pthread_cond_wait@* (hg_intercepts.c:...)
+ at 0x........: pthread_cond_wait* (hg_intercepts.c:...)
by 0x........: main (tc23_bogus_condwait.c:78)
Thread #x: pthread_cond_{timed}wait: cond is associated with a different mutex
- at 0x........: pthread_cond_wait@* (hg_intercepts.c:...)
+ at 0x........: pthread_cond_wait* (hg_intercepts.c:...)
by 0x........: main (tc23_bogus_condwait.c:78)
+Thread #x: Bug in libpthread: write lock granted on mutex/rwlock which is currently wr-held by a different thread
+ at 0x........: pthread_mutex_lock (hg_intercepts.c:...)
+ by 0x........: _pthread_cond_wait (in /...libc...)
+ by 0x........: pthread_cond_wait$UNIX2003 (in /...libc...)
+ by 0x........: pthread_cond_wait* (hg_intercepts.c:...)
+ by 0x........: main (tc23_bogus_condwait.c:78)
+
+Thread #x: Exiting thread still holds 1 lock
+ ...
+
-ERROR SUMMARY: 7 errors from 7 contexts (suppressed: 0 from 0)
+ERROR SUMMARY: 11 errors from 11 contexts (suppressed: 0 from 0)
=================================================
./valgrind-old/memcheck/tests/null_socket.stdout.diff
=================================================
--- /dev/null 2010-03-07 23:11:11.000000000 -0600
+++ null_socket.stdout.out 2010-03-07 23:11:28.000000000 -0600
@@ -0,0 +1 @@
+recvfrom succeeded?
=================================================
./valgrind-old/memcheck/tests/origin5-bz2.stderr.diff-glibc25-amd64
=================================================
--- origin5-bz2.stderr.exp-glibc25-amd64 2010-03-07 23:05:28.000000000 -0600
+++ origin5-bz2.stderr.out 2010-03-07 23:11:43.000000000 -0600
@@ -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,8 +49,8 @@
Uninitialised value was created by a client request
at 0x........: main (origin5-bz2.c:6479)
-Use of uninitialised value of size 8
- at 0x........: mainSort (origin5-bz2.c:2854)
+Use of uninitialised value of size 4
+ at 0x........: mainSort (origin5-bz2.c:2855)
by 0x........: BZ2_blockSort (origin5-bz2.c:3105)
by 0x........: BZ2_compressBlock (origin5-bz2.c:4034)
by 0x........: handle_compress (origin5-bz2.c:4753)
@@ -60,8 +60,8 @@
Uninitialised value was created by a client request
at 0x........: main (origin5-bz2.c:6479)
-Use of uninitialised value of size 8
- at 0x........: mainSort (origin5-bz2.c:2858)
+Use of uninitialised value of size 4
+ at 0x........: mainSort (origin5-bz2.c:2859)
by 0x........: BZ2_blockSort (origin5-bz2.c:3105)
by 0x........: BZ2_compressBlock (origin5-bz2.c:4034)
by 0x........: handle_compress (origin5-bz2.c:4753)
@@ -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,18 @@
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)
+ 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:6479)
+
+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 +115,7 @@
Uninitialised value was created by a client request
<truncated beyond 100 lines>
=================================================
./valgrind-old/memcheck/tests/origin5-bz2.stderr.diff-glibc25-x86
=================================================
--- origin5-bz2.stderr.exp-glibc25-x86 2010-03-07 23:05:29.000000000 -0600
+++ origin5-bz2.stderr.out 2010-03-07 23:11:43.000000000 -0600
@@ -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:2855)
+ 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:2859)
+ 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,19 @@
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)
+ 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:6479)
+
+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)
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 2010-03-07 23:05:28.000000000 -0600
+++ origin5-bz2.stderr.out 2010-03-07 23:11:43.000000000 -0600
@@ -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,102 @@
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:2855)
+ 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:2859)
+ 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/memcheck/tests/varinfo3.stderr.diff
=================================================
--- varinfo3.stderr.exp 2010-03-07 23:05:28.000000000 -0600
+++ varinfo3.stderr.out 2010-03-07 23:12:38.000000000 -0600
@@ -31,7 +31,7 @@
by 0x........: bar (varinfo3.c:42)
by 0x........: foo (varinfo3.c:58)
by 0x........: main (varinfo3.c:66)
- Address 0x........ is 5 bytes inside data symbol "static_local_def.XXXX"
+ Address 0x........ is in the Data segment of ./varinfo3
Uninitialised byte(s) found during client check request
at 0x........: croak (varinfo3.c:28)
@@ -46,7 +46,7 @@
by 0x........: bar (varinfo3.c:44)
by 0x........: foo (varinfo3.c:58)
by 0x........: main (varinfo3.c:66)
- Address 0x........ is 7 bytes inside data symbol "static_local_undef.XXXX"
+ Address 0x........ is in the Data segment of ./varinfo3
Uninitialised byte(s) found during client check request
at 0x........: croak (varinfo3.c:28)
=================================================
./valgrind-old/memcheck/tests/varinfo5.stderr.diff
=================================================
--- varinfo5.stderr.exp 2010-03-07 23:05:29.000000000 -0600
+++ varinfo5.stderr.out 2010-03-07 23:12:40.000000000 -0600
@@ -119,7 +119,7 @@
by 0x........: varinfo3_main (varinfo5so.c:118)
by 0x........: varinfo5_main (varinfo5so.c:156)
by 0x........: main (varinfo5.c:5)
- Address 0x........ is 5 bytes inside data symbol "static_local_def.XXXX"
+ Address 0x........ is in the Data segment of /Users/minime/src/vg/nightly/valgrind-old/memcheck/tests/varinfo5so.so
Uninitialised byte(s) found during client check request
at 0x........: croak (varinfo5so.c:29)
@@ -138,7 +138,7 @@
by 0x........: varinfo3_main (varinfo5so.c:118)
by 0x........: varinfo5_main (varinfo5so.c:156)
by 0x........: main (varinfo5.c:5)
- Address 0x........ is 7 bytes inside data symbol "static_local_undef.XXXX"
+ Address 0x........ is in the Data segment of /Users/minime/src/vg/nightly/valgrind-old/memcheck/tests/varinfo5so.so
Uninitialised byte(s) found during client check request
at 0x........: croak (varinfo5so.c:29)
=================================================
./valgrind-old/none/tests/async-sigs.stderr.diff
=================================================
--- async-sigs.stderr.exp 2010-03-07 23:05:38.000000000 -0600
+++ async-sigs.stderr.out 2010-03-07 23:14:06.000000000 -0600
@@ -1,8 +1,30 @@
-testing: blocking=0 caught=11 fatal=7... PASSED
+testing: blocking=0 caught=11 fatal=10...
+Process terminating with default action of signal 10 (SIGBUS)
+ Non-existent physical address at address 0x........
+ at 0x........: test (async-sigs.c:94)
+ by 0x........: main (async-sigs.c:129)
+PASSED
testing: blocking=0 caught=11 fatal=1... PASSED
-testing: blocking=0 caught=10 fatal=7... PASSED
-testing: blocking=0 caught=10 fatal=1... PASSED
-testing: blocking=1 caught=11 fatal=7... PASSED
+testing: blocking=0 caught=30 fatal=10...
+Process terminating with default action of signal 10 (SIGBUS)
+ Non-existent physical address at address 0x........
+ at 0x........: test (async-sigs.c:94)
+ by 0x........: main (async-sigs.c:131)
+PASSED
+testing: blocking=0 caught=30 fatal=1... PASSED
+testing: blocking=1 caught=11 fatal=10...
+Process terminating with default action of signal 10 (SIGBUS)
+ Non-existent physical address at address 0x........
+ at 0x........: __sigsuspend (in /...libc...)
+ by 0x........: test (async-sigs.c:95)
+ by 0x........: main (async-sigs.c:133)
+PASSED
testing: blocking=1 caught=11 fatal=1... PASSED
-testing: blocking=1 caught=10 fatal=7... PASSED
-testing: blocking=1 caught=10 fatal=1... PASSED
+testing: blocking=1 caught=30 fatal=10...
+Process terminating with default action of signal 10 (SIGBUS)
+ Non-existent physical address at address 0x........
+ at 0x........: __sigsuspend (in /...libc...)
+ by 0x........: test (async-sigs.c:95)
+ by 0x........: main (async-sigs.c:135)
+PASSED
+testing: blocking=1 caught=30 fatal=1... PASSED
=================================================
./valgrind-old/none/tests/faultstatus.stderr.diff
=================================================
--- faultstatus.stderr.exp 2010-03-07 23:05:39.000000000 -0600
+++ faultstatus.stderr.out 2010-03-07 23:14:12.000000000 -0600
@@ -1,6 +1,6 @@
-Test 1: PASS
-Test 2: PASS
-Test 3: PASS
-Test 4: PASS
+Test 1: FAIL: expected signal 11, not 10
+Test 2: FAIL: expected signal 11, not 10
+Test 3: FAIL: no fault, or handler returned
+Test 4: FAIL: expected si_code==7, not 0
=================================================
./valgrind-old/none/tests/pth_blockedsig.stderr.diff
=================================================
--- pth_blockedsig.stderr.exp 2010-03-07 23:05:38.000000000 -0600
+++ pth_blockedsig.stderr.out 2010-03-07 23:15:13.000000000 -0600
@@ -1,2 +1,4 @@
+UNKNOWN __pthread_sigmask is unsupported. This warning will not be repeated.
+SHOULD NOT BE HERE (SIGUSR1)!!!!
--
|
|
From: Julian S. <js...@ac...> - 2010-03-08 10:56:39
|
> Can you please clarify how the proposed new annotation > ANNOTATE_HAPPENS_BEFORE_OVERWRITE() differs from > ANNOTATE_HAPPENS_BEFORE() and why it would be useful ? I don't know; these are Konstantin's annotations; I did not propose them. (I also wondered what the difference was.) J |
|
From: Bart V. A. <bva...@ac...> - 2010-03-08 08:27:44
|
On Fri, Jan 29, 2010 at 12:09 PM, Julian Seward <js...@ac...> wrote: > > [ ... ] > > Can you also do the other changes we discussed, so that the different > annotation sets can stay in sync? > > * get rid of ANNOTATE_UNPUBLISH and ANNOTATE_PUBLISH > > * rename ANNOTATE_HAPPENS_BEFORE(obj) > to ANNOTATE_HAPPENS_BEFORE_ACCUMULATE(obj) > maybe add a #define for backwards compatibility > > * add ANNOTATE_HAPPENS_BEFORE_OVERWRITE(obj) > > * add ANNOTATE_HAPPENS_BEFORE_FORGET(obj) (replying to an e-mail of about one month ago) Hello Julian, Can you please clarify how the proposed new annotation ANNOTATE_HAPPENS_BEFORE_OVERWRITE() differs from ANNOTATE_HAPPENS_BEFORE() and why it would be useful ? Bart. |
|
From: <sv...@va...> - 2010-03-08 07:55:32
|
Author: bart
Date: 2010-03-08 07:55:23 +0000 (Mon, 08 Mar 2010)
New Revision: 11082
Log:
Marked the annotations ANNOTATE_MUTEX_IS_USED_AS_CONDVAR,
ANNOTATE_UNPUBLISH_MEMORY_RANGE and ANNOTATE_SWAP_MEMORY_RANGE as deprecated.
Modified:
trunk/drd/drd.h
Modified: trunk/drd/drd.h
===================================================================
--- trunk/drd/drd.h 2010-03-07 22:15:48 UTC (rev 11081)
+++ trunk/drd/drd.h 2010-03-08 07:55:23 UTC (rev 11082)
@@ -141,12 +141,7 @@
*/
#define ANNOTATE_CONDVAR_WAIT(cv) do { } while(0)
-/**
- * Tell DRD to consider the memory operations that happened before a mutex
- * unlock event and after the subsequent mutex lock event on the same mutex as
- * ordered. This is how DRD always behaves, so this macro has been defined
- * such that it has no effect.
- */
+/** Deprecated -- don't use this annotation. */
#define ANNOTATE_MUTEX_IS_USED_AS_CONDVAR(mtx) do { } while(0)
/**
@@ -156,11 +151,12 @@
*/
#define ANNOTATE_PUBLISH_MEMORY_RANGE(addr, size) do { } while(0)
-/**
- * Tell DRD to undo the effect of ANNOTATE_PUBLISH_MEMORY_RANGE().
- */
+/** Deprecated -- don't use this annotation. */
#define ANNOTATE_UNPUBLISH_MEMORY_RANGE(addr, size) do { } while(0)
+/** Deprecated -- don't use this annotation. */
+#define ANNOTATE_SWAP_MEMORY_RANGE(addr, size) do { } while(0)
+
/** Tell DRD that a reader-writer lock object has been initialized. */
#define ANNOTATE_RWLOCK_CREATE(rwlock) \
DRDCL_(annotate_rwlock_create)(rwlock)
|
|
From: Bart V. A. <bar...@gm...> - 2010-03-08 07:42:45
|
Nightly build on cellbuzz-native ( cellbuzz, ppc64, Fedora 7, native ) Started at 2010-03-08 02:00:06 EST Ended at 2010-03-08 02:42:36 EST Results differ from 24 hours ago done Configuring valgrind ... done Building valgrind ... done Running regression tests ... done Last 20 lines of verbose log follow echo Configuring valgrind ... cd valgrind-new && ./autogen.sh && ./configure --prefix=/home/bart/software/valgrind/nightly/valgrind-new/Inst Job ID = 1253.cell-user.cell.buzz cat: cmd-output.txt: No such file or directory Building valgrind ... cd valgrind-new && make -j 2 && make -j 2 check && make install Job ID = 1254.cell-user.cell.buzz /var/spool/torque/mom_priv/jobs/1254.cell-user.cell.buzz.SC: line 1: cd: valgrind-new: No such file or directory Running regression tests ... cd valgrind-new && make regtest Job ID = 1255.cell-user.cell.buzz /var/spool/torque/mom_priv/jobs/1255.cell-user.cell.buzz.SC: line 1: cd: valgrind-new: No such file or directory ================================================= == Results from 24 hours ago == ================================================= ================================================= == Difference between 24 hours ago and now == ================================================= |
|
From: Tom H. <th...@cy...> - 2010-03-08 03:45:07
|
Nightly build on lloyd ( x86_64, Fedora 7 ) Started at 2010-03-08 03:05:04 GMT Ended at 2010-03-08 03:44:53 GMT 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 == 534 tests, 1 stderr failure, 0 stdout failures, 0 post failures == helgrind/tests/tc06_two_races_xml (stderr) ================================================= == Results from 24 hours ago == ================================================= Checking out valgrind source tree ... done Configuring valgrind ... done Building valgrind ... done Running regression tests ... failed Regression test results follow == 531 tests, 1 stderr failure, 0 stdout failures, 0 post failures == helgrind/tests/tc06_two_races_xml (stderr) ================================================= == Difference between 24 hours ago and now == ================================================= *** old.short Mon Mar 8 03:24:54 2010 --- new.short Mon Mar 8 03:44:53 2010 *************** *** 8,10 **** ! == 531 tests, 1 stderr failure, 0 stdout failures, 0 post failures == helgrind/tests/tc06_two_races_xml (stderr) --- 8,10 ---- ! == 534 tests, 1 stderr failure, 0 stdout failures, 0 post failures == helgrind/tests/tc06_two_races_xml (stderr) |
|
From: Tom H. <th...@cy...> - 2010-03-08 03:36:10
|
Nightly build on mg ( x86_64, Fedora 9 ) Started at 2010-03-08 03:10:05 GMT Ended at 2010-03-08 03:35:55 GMT 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 == 541 tests, 1 stderr failure, 0 stdout failures, 0 post failures == helgrind/tests/tc06_two_races_xml (stderr) ================================================= == Results from 24 hours ago == ================================================= Checking out valgrind source tree ... done Configuring valgrind ... done Building valgrind ... done Running regression tests ... failed Regression test results follow == 538 tests, 1 stderr failure, 0 stdout failures, 0 post failures == helgrind/tests/tc06_two_races_xml (stderr) ================================================= == Difference between 24 hours ago and now == ================================================= *** old.short Mon Mar 8 03:23:03 2010 --- new.short Mon Mar 8 03:35:55 2010 *************** *** 8,10 **** ! == 538 tests, 1 stderr failure, 0 stdout failures, 0 post failures == helgrind/tests/tc06_two_races_xml (stderr) --- 8,10 ---- ! == 541 tests, 1 stderr failure, 0 stdout failures, 0 post failures == helgrind/tests/tc06_two_races_xml (stderr) |
|
From: <sv...@va...> - 2010-03-07 22:15:56
|
Author: njn
Date: 2010-03-07 22:15:48 +0000 (Sun, 07 Mar 2010)
New Revision: 11081
Log:
Document the default value of --stacks correctly.
Modified:
trunk/massif/docs/ms-manual.xml
Modified: trunk/massif/docs/ms-manual.xml
===================================================================
--- trunk/massif/docs/ms-manual.xml 2010-03-07 20:07:15 UTC (rev 11080)
+++ trunk/massif/docs/ms-manual.xml 2010-03-07 22:15:48 UTC (rev 11081)
@@ -640,7 +640,7 @@
<varlistentry id="opt.stacks" xreflabel="--stacks">
<term>
- <option><![CDATA[--stacks=<yes|no> [default: yes] ]]></option>
+ <option><![CDATA[--stacks=<yes|no> [default: no] ]]></option>
</term>
<listitem>
<para>Specifies whether stack profiling should be done. This option
|
|
From: Nicholas N. <n.n...@gm...> - 2010-03-07 20:25:41
|
On Mon, Mar 8, 2010 at 1:31 AM, Edd Barrett <ve...@gm...> wrote: > > Are there any plans to bring valgrind to OpenBSD? > > Out of curiosity I went adding targets to configure.in and figuring > out what data types need to be defined, but it seems quite in-depth. > It looks like a VKI must be written for OpenBSD (and probably more?). It's quite a lot of work. I believe there's an unofficial FreeBSD port that's reasonably function. http://wiki.freebsd.org/Valgrind looks like it, but others may have more to add. N |
|
From: <sv...@va...> - 2010-03-07 20:07:23
|
Author: bart
Date: 2010-03-07 20:07:15 +0000 (Sun, 07 Mar 2010)
New Revision: 11080
Log:
Do not suppress data races on user-annotated addresses.
Modified:
trunk/drd/drd_clientobj.c
Modified: trunk/drd/drd_clientobj.c
===================================================================
--- trunk/drd/drd_clientobj.c 2010-03-07 20:05:58 UTC (rev 11079)
+++ trunk/drd/drd_clientobj.c 2010-03-07 20:07:15 UTC (rev 11080)
@@ -144,7 +144,10 @@
p->any.first_observed_at = VG_(record_ExeContext)(VG_(get_running_tid)(), 0);
VG_(OSetGen_Insert)(s_clientobj_set, p);
tl_assert(VG_(OSetGen_Lookup)(s_clientobj_set, &a1) == p);
- DRD_(start_suppression)(a1, a1 + 1, "clientobj");
+ if (t == ClientHbvar)
+ DRD_(mark_hbvar)(a1);
+ else
+ DRD_(start_suppression)(a1, a1 + 1, "clientobj");
return p;
}
@@ -208,7 +211,7 @@
tl_assert(s_clientobj_set);
- if (! DRD_(is_any_suppressed)(a1, a2))
+ if (! DRD_(range_contains_suppression_or_hbvar)(a1, a2))
return;
VG_(OSetGen_ResetIterAt)(s_clientobj_set, &a1);
|
|
From: <sv...@va...> - 2010-03-07 20:06:05
|
Author: bart
Date: 2010-03-07 20:05:58 +0000 (Sun, 07 Mar 2010)
New Revision: 11079
Log:
Added missing newlines in debug tracing statements.
Modified:
trunk/drd/drd_segment.c
Modified: trunk/drd/drd_segment.c
===================================================================
--- trunk/drd/drd_segment.c 2010-03-07 20:05:23 UTC (rev 11078)
+++ trunk/drd/drd_segment.c 2010-03-07 20:05:58 UTC (rev 11079)
@@ -91,7 +91,7 @@
char* vc;
vc = DRD_(vc_aprint)(&sg->vc);
- VG_(message)(Vg_DebugMsg, "New segment for thread %d with vc %s",
+ VG_(message)(Vg_DebugMsg, "New segment for thread %d with vc %s\n",
created, vc);
VG_(free)(vc);
}
@@ -130,7 +130,7 @@
char* vc;
vc = DRD_(vc_aprint)(&sg->vc);
- VG_(message)(Vg_DebugMsg, "Discarding the segment with vector clock %s",
+ VG_(message)(Vg_DebugMsg, "Discarding the segment with vector clock %s\n",
vc);
VG_(free)(vc);
}
@@ -166,7 +166,7 @@
vc = DRD_(vc_aprint)(&sg->vc);
VG_(message)(Vg_DebugMsg,
- "Decrementing segment reference count %d -> %d with vc %s",
+ "Decrementing segment reference count %d -> %d with vc %s\n",
sg->refcnt, sg->refcnt - 1, vc);
VG_(free)(vc);
}
@@ -194,8 +194,8 @@
vc1 = DRD_(vc_aprint)(&sg1->vc);
vc2 = DRD_(vc_aprint)(&sg2->vc);
- VG_(message)(Vg_DebugMsg, "Merging segments with vector clocks %s and %s",
- vc1, vc2);
+ VG_(message)(Vg_DebugMsg,
+ "Merging segments with vector clocks %s and %s\n", vc1, vc2);
VG_(free)(vc1);
VG_(free)(vc2);
}
|
|
From: <sv...@va...> - 2010-03-07 20:05:30
|
Author: bart
Date: 2010-03-07 20:05:23 +0000 (Sun, 07 Mar 2010)
New Revision: 11078
Log:
Added support for marking happens-before annotated addresses in another way
than other client objects.
Modified:
trunk/drd/drd_suppression.c
trunk/drd/drd_suppression.h
Modified: trunk/drd/drd_suppression.c
===================================================================
--- trunk/drd/drd_suppression.c 2010-03-07 20:00:18 UTC (rev 11077)
+++ trunk/drd/drd_suppression.c 2010-03-07 20:05:23 UTC (rev 11078)
@@ -39,6 +39,7 @@
/* Local variables. */
static struct bitmap* DRD_(s_suppressed);
+static struct bitmap* DRD_(s_traced);
static Bool DRD_(s_trace_suppression);
@@ -52,8 +53,11 @@
void DRD_(suppression_init)(void)
{
tl_assert(DRD_(s_suppressed) == 0);
+ tl_assert(DRD_(s_traced) == 0);
DRD_(s_suppressed) = DRD_(bm_new)();
+ DRD_(s_traced) = DRD_(bm_new)();
tl_assert(DRD_(s_suppressed));
+ tl_assert(DRD_(s_traced));
}
void DRD_(start_suppression)(const Addr a1, const Addr a2,
@@ -66,7 +70,6 @@
}
tl_assert(a1 < a2);
- // tl_assert(! drd_is_any_suppressed(a1, a2));
DRD_(bm_access_range_store)(DRD_(s_suppressed), a1, a2);
}
@@ -80,14 +83,6 @@
}
tl_assert(a1 < a2);
-#if 0
- if (! DRD_(is_suppressed)(a1, a2))
- {
- VG_(message)(Vg_DebugMsg, "?? [0x%lx,0x%lx[ not suppressed ??\n", a1, a2);
- VG_(get_and_pp_StackTrace)(VG_(get_running_tid)(), 12);
- tl_assert(False);
- }
-#endif
DRD_(bm_clear_store)(DRD_(s_suppressed), a1, a2);
}
@@ -111,11 +106,21 @@
return DRD_(bm_has_any_store)(DRD_(s_suppressed), a1, a2);
}
+void DRD_(mark_hbvar)(const Addr a1)
+{
+ DRD_(bm_access_range_load)(DRD_(s_suppressed), a1, a1 + 1);
+}
+
+Bool DRD_(range_contains_suppression_or_hbvar)(const Addr a1, const Addr a2)
+{
+ return DRD_(bm_has_any_access)(DRD_(s_suppressed), a1, a2);
+}
+
void DRD_(start_tracing_address_range)(const Addr a1, const Addr a2)
{
tl_assert(a1 < a2);
- DRD_(bm_access_range_load)(DRD_(s_suppressed), a1, a2);
+ DRD_(bm_access_range_load)(DRD_(s_traced), a1, a2);
if (! DRD_(g_any_address_traced))
{
DRD_(g_any_address_traced) = True;
@@ -126,17 +131,17 @@
{
tl_assert(a1 < a2);
- DRD_(bm_clear_load)(DRD_(s_suppressed), a1, a2);
+ DRD_(bm_clear_load)(DRD_(s_traced), a1, a2);
if (DRD_(g_any_address_traced))
{
DRD_(g_any_address_traced)
- = DRD_(bm_has_any_load)(DRD_(s_suppressed), 0, ~(Addr)0);
+ = DRD_(bm_has_any_load)(DRD_(s_traced), 0, ~(Addr)0);
}
}
Bool DRD_(is_any_traced)(const Addr a1, const Addr a2)
{
- return DRD_(bm_has_any_load)(DRD_(s_suppressed), a1, a2);
+ return DRD_(bm_has_any_load)(DRD_(s_traced), a1, a2);
}
void DRD_(suppression_stop_using_mem)(const Addr a1, const Addr a2)
@@ -157,4 +162,5 @@
tl_assert(a1);
tl_assert(a1 < a2);
DRD_(bm_clear)(DRD_(s_suppressed), a1, a2);
+ DRD_(bm_clear)(DRD_(s_traced), a1, a2);
}
Modified: trunk/drd/drd_suppression.h
===================================================================
--- trunk/drd/drd_suppression.h 2010-03-07 20:00:18 UTC (rev 11077)
+++ trunk/drd/drd_suppression.h 2010-03-07 20:05:23 UTC (rev 11078)
@@ -17,6 +17,8 @@
void DRD_(finish_suppression)(const Addr a1, const Addr a2);
Bool DRD_(is_suppressed)(const Addr a1, const Addr a2);
Bool DRD_(is_any_suppressed)(const Addr a1, const Addr a2);
+void DRD_(mark_hbvar)(const Addr a1);
+Bool DRD_(range_contains_suppression_or_hbvar)(const Addr a1, const Addr a2);
void DRD_(start_tracing_address_range)(const Addr a1, const Addr a2);
void DRD_(stop_tracing_address_range)(const Addr a1, const Addr a2);
Bool DRD_(is_any_traced)(const Addr a1, const Addr a2);
|
|
From: <sv...@va...> - 2010-03-07 20:00:25
|
Author: bart
Date: 2010-03-07 20:00:18 +0000 (Sun, 07 Mar 2010)
New Revision: 11077
Log:
Source code cleanup - no functionality has been changed.
Modified:
trunk/drd/drd_vc.h
Modified: trunk/drd/drd_vc.h
===================================================================
--- trunk/drd/drd_vc.h 2010-03-07 19:59:35 UTC (rev 11076)
+++ trunk/drd/drd_vc.h 2010-03-07 20:00:18 UTC (rev 11077)
@@ -108,14 +108,14 @@
for (i = 0; i < vc1->size; i++)
{
while (j < vc2->size && vc2->vc[j].threadid < vc1->vc[i].threadid)
- {
j++;
- }
if (j >= vc2->size || vc2->vc[j].threadid > vc1->vc[i].threadid)
return False;
#ifdef ENABLE_DRD_CONSISTENCY_CHECKS
- /* This assert statement has been commented out because of performance */
- /* reasons.*/
+ /*
+ * This assert statement has been commented out because of performance
+ * reasons.
+ */
tl_assert(j < vc2->size && vc2->vc[j].threadid == vc1->vc[i].threadid);
#endif
if (vc1->vc[i].count > vc2->vc[j].count)
|
|
From: <sv...@va...> - 2010-03-07 19:59:43
|
Author: bart
Date: 2010-03-07 19:59:35 +0000 (Sun, 07 Mar 2010)
New Revision: 11076
Log:
Added yet another regression test.
Added:
trunk/drd/tests/annotate_hb_race.c
trunk/drd/tests/annotate_hb_race.stderr.exp
trunk/drd/tests/annotate_hb_race.vgtest
Modified:
trunk/drd/tests/
trunk/drd/tests/Makefile.am
Property changes on: trunk/drd/tests
___________________________________________________________________
Name: svn:ignore
- *.dSYM
*.stderr.diff*
*.stderr.out
*.stdout.diff*
*.stdout.out
.deps
Makefile
Makefile.in
annotate_hb_err
annotate_ignore_rw
annotate_ignore_write
annotate_publish_hg
annotate_rwlock
annotate_smart_pointer
atomic_var
bar_bad
bar_trivial
boost_thread
circular_buffer
custom_alloc
drd_bitmap_test
fp_race
hg01_all_ok
hg02_deadlock
hg03_inherit
hg04_race
hg05_race2
hg06_readshared
hold_lock
linuxthreads_det
matinv
memory_allocation
monitor_example
new_delete
omp_matinv
omp_prime
omp_printf
pth_barrier
pth_barrier_race
pth_barrier_reinit
pth_broadcast
pth_cancel_locked
pth_cleanup_handler
pth_cond_race
pth_create_chain
pth_create_glibc_2_0
pth_detached
pth_detached_sem
pth_inconsistent_cond_wait
pth_mutex_reinit
pth_process_shared_mutex
pth_spinlock
qt4_atomic
qt4_mutex
qt4_rwlock
qt4_semaphore
recursive_mutex
rwlock_race
rwlock_test
rwlock_type_checking
sem_as_mutex
sem_open
sigalrm
tc01_simple_race
tc02_simple_tls
tc03_re_excl
tc04_free_lock
tc05_simple_race
tc06_two_races
tc07_hbl1
tc08_hbl2
tc09_bad_unlock
tc10_rec_lock
tc11_XCHG
tc12_rwl_trivial
tc13_laog1
tc15_laog_lockdel
tc16_byterace
tc17_sembar
tc18_semabuse
tc19_shadowmem
tc20_verifywrap
tc21_pthonce
tc22_exit_w_lock
tc23_bogus_condwait
tc24_nonzero_sem
thread_name
trylock
tsan_unittest
unit_bitmap
unit_vc
vg_regtest.tmp*
+ *.dSYM
*.stderr.diff*
*.stderr.out
*.stdout.diff*
*.stdout.out
.deps
Makefile
Makefile.in
annotate_hb_err
annotate_hb_race
annotate_ignore_rw
annotate_ignore_write
annotate_publish_hg
annotate_rwlock
annotate_smart_pointer
atomic_var
bar_bad
bar_trivial
boost_thread
circular_buffer
custom_alloc
drd_bitmap_test
fp_race
hg01_all_ok
hg02_deadlock
hg03_inherit
hg04_race
hg05_race2
hg06_readshared
hold_lock
linuxthreads_det
matinv
memory_allocation
monitor_example
new_delete
omp_matinv
omp_prime
omp_printf
pth_barrier
pth_barrier_race
pth_barrier_reinit
pth_broadcast
pth_cancel_locked
pth_cleanup_handler
pth_cond_race
pth_create_chain
pth_create_glibc_2_0
pth_detached
pth_detached_sem
pth_inconsistent_cond_wait
pth_mutex_reinit
pth_process_shared_mutex
pth_spinlock
qt4_atomic
qt4_mutex
qt4_rwlock
qt4_semaphore
recursive_mutex
rwlock_race
rwlock_test
rwlock_type_checking
sem_as_mutex
sem_open
sigalrm
tc01_simple_race
tc02_simple_tls
tc03_re_excl
tc04_free_lock
tc05_simple_race
tc06_two_races
tc07_hbl1
tc08_hbl2
tc09_bad_unlock
tc10_rec_lock
tc11_XCHG
tc12_rwl_trivial
tc13_laog1
tc15_laog_lockdel
tc16_byterace
tc17_sembar
tc18_semabuse
tc19_shadowmem
tc20_verifywrap
tc21_pthonce
tc22_exit_w_lock
tc23_bogus_condwait
tc24_nonzero_sem
thread_name
trylock
tsan_unittest
unit_bitmap
unit_vc
vg_regtest.tmp*
Modified: trunk/drd/tests/Makefile.am
===================================================================
--- trunk/drd/tests/Makefile.am 2010-03-07 18:39:33 UTC (rev 11075)
+++ trunk/drd/tests/Makefile.am 2010-03-07 19:59:35 UTC (rev 11076)
@@ -16,6 +16,8 @@
EXTRA_DIST = \
annotate_hb_err.stderr.exp \
annotate_hb_err.vgtest \
+ annotate_hb_race.stderr.exp \
+ annotate_hb_race.vgtest \
annotate_hbefore.stderr.exp \
annotate_hbefore.vgtest \
annotate_order_1.stderr.exp \
@@ -249,6 +251,7 @@
check_PROGRAMS = \
annotate_hb_err \
+ annotate_hb_race \
annotate_ignore_rw \
annotate_ignore_write \
annotate_publish_hg \
Added: trunk/drd/tests/annotate_hb_race.c
===================================================================
--- trunk/drd/tests/annotate_hb_race.c (rev 0)
+++ trunk/drd/tests/annotate_hb_race.c 2010-03-07 19:59:35 UTC (rev 11076)
@@ -0,0 +1,50 @@
+/*
+ * Test program with happens-before / happens-after annotations that triggers
+ * a data race. The data race will only be reported if happens-after
+ * annotations that occur in different threads are not totally ordered. Or:
+ * this is a test for the implementation of ordering annotations.
+ */
+
+
+#include <stdio.h>
+#include <pthread.h>
+#include "unified_annotations.h"
+
+
+static int s_i;
+
+
+static void* thread_func(void* arg)
+{
+ int i;
+
+ ANNOTATE_HAPPENS_AFTER(&s_i);
+ i = s_i;
+ ANNOTATE_HAPPENS_AFTER(&s_i);
+ *(int*)arg = i;
+ return NULL;
+}
+
+int main(int argc, char** argv)
+{
+ pthread_t tid[2];
+ int result[2];
+
+ ANNOTATE_HAPPENS_BEFORE(&s_i);
+ pthread_create(&tid[0], 0, thread_func, &result[0]);
+ pthread_create(&tid[1], 0, thread_func, &result[1]);
+ s_i = 1;
+
+ pthread_join(tid[0], NULL);
+ pthread_join(tid[1], NULL);
+
+ fprintf(stderr, "Done.\n");
+
+ return 0;
+}
+
+/*
+ * Local variables:
+ * c-basic-offset: 2
+ * End:
+ */
Added: trunk/drd/tests/annotate_hb_race.stderr.exp
===================================================================
--- trunk/drd/tests/annotate_hb_race.stderr.exp (rev 0)
+++ trunk/drd/tests/annotate_hb_race.stderr.exp 2010-03-07 19:59:35 UTC (rev 11076)
@@ -0,0 +1,9 @@
+
+Conflicting store by thread x at 0x........ size 4
+ at 0x........: main (annotate_hb_race.c:?)
+Location 0x........ is 0 bytes inside local var "s_i"
+declared at annotate_hb_race.c:14, in frame #? of thread x
+
+Done.
+
+ERROR SUMMARY: 1 errors from 1 contexts (suppressed: 0 from 0)
Added: trunk/drd/tests/annotate_hb_race.vgtest
===================================================================
--- trunk/drd/tests/annotate_hb_race.vgtest (rev 0)
+++ trunk/drd/tests/annotate_hb_race.vgtest 2010-03-07 19:59:35 UTC (rev 11076)
@@ -0,0 +1,4 @@
+prereq: test -e annotate_hb_race && ./supported_libpthread
+vgopts: --read-var-info=yes --check-stack-var=yes --show-confl-seg=no
+prog: annotate_hb_race
+stderr_filter: filter_stderr_and_thread_no
|
|
From: <sv...@va...> - 2010-03-07 18:39:41
|
Author: bart
Date: 2010-03-07 18:39:33 +0000 (Sun, 07 Mar 2010)
New Revision: 11075
Log:
Follow-up for r11073: added missing segment creation statement.
Modified:
trunk/drd/drd_hb.c
Modified: trunk/drd/drd_hb.c
===================================================================
--- trunk/drd/drd_hb.c 2010-03-07 12:21:56 UTC (rev 11074)
+++ trunk/drd/drd_hb.c 2010-03-07 18:39:33 UTC (rev 11075)
@@ -239,6 +239,8 @@
p->done = True;
+ DRD_(thread_new_segment)(tid);
+
/*
* Combine all vector clocks that were stored because of happens-before
* annotations with the vector clock of the current thread.
|