You can subscribe to this list here.
| 2002 |
Jan
|
Feb
|
Mar
|
Apr
|
May
|
Jun
|
Jul
|
Aug
|
Sep
(1) |
Oct
(122) |
Nov
(152) |
Dec
(69) |
|---|---|---|---|---|---|---|---|---|---|---|---|---|
| 2003 |
Jan
(6) |
Feb
(25) |
Mar
(73) |
Apr
(82) |
May
(24) |
Jun
(25) |
Jul
(10) |
Aug
(11) |
Sep
(10) |
Oct
(54) |
Nov
(203) |
Dec
(182) |
| 2004 |
Jan
(307) |
Feb
(305) |
Mar
(430) |
Apr
(312) |
May
(187) |
Jun
(342) |
Jul
(487) |
Aug
(637) |
Sep
(336) |
Oct
(373) |
Nov
(441) |
Dec
(210) |
| 2005 |
Jan
(385) |
Feb
(480) |
Mar
(636) |
Apr
(544) |
May
(679) |
Jun
(625) |
Jul
(810) |
Aug
(838) |
Sep
(634) |
Oct
(521) |
Nov
(965) |
Dec
(543) |
| 2006 |
Jan
(494) |
Feb
(431) |
Mar
(546) |
Apr
(411) |
May
(406) |
Jun
(322) |
Jul
(256) |
Aug
(401) |
Sep
(345) |
Oct
(542) |
Nov
(308) |
Dec
(481) |
| 2007 |
Jan
(427) |
Feb
(326) |
Mar
(367) |
Apr
(255) |
May
(244) |
Jun
(204) |
Jul
(223) |
Aug
(231) |
Sep
(354) |
Oct
(374) |
Nov
(497) |
Dec
(362) |
| 2008 |
Jan
(322) |
Feb
(482) |
Mar
(658) |
Apr
(422) |
May
(476) |
Jun
(396) |
Jul
(455) |
Aug
(267) |
Sep
(280) |
Oct
(253) |
Nov
(232) |
Dec
(304) |
| 2009 |
Jan
(486) |
Feb
(470) |
Mar
(458) |
Apr
(423) |
May
(696) |
Jun
(461) |
Jul
(551) |
Aug
(575) |
Sep
(134) |
Oct
(110) |
Nov
(157) |
Dec
(102) |
| 2010 |
Jan
(226) |
Feb
(86) |
Mar
(147) |
Apr
(117) |
May
(107) |
Jun
(203) |
Jul
(193) |
Aug
(238) |
Sep
(300) |
Oct
(246) |
Nov
(23) |
Dec
(75) |
| 2011 |
Jan
(133) |
Feb
(195) |
Mar
(315) |
Apr
(200) |
May
(267) |
Jun
(293) |
Jul
(353) |
Aug
(237) |
Sep
(278) |
Oct
(611) |
Nov
(274) |
Dec
(260) |
| 2012 |
Jan
(303) |
Feb
(391) |
Mar
(417) |
Apr
(441) |
May
(488) |
Jun
(655) |
Jul
(590) |
Aug
(610) |
Sep
(526) |
Oct
(478) |
Nov
(359) |
Dec
(372) |
| 2013 |
Jan
(467) |
Feb
(226) |
Mar
(391) |
Apr
(281) |
May
(299) |
Jun
(252) |
Jul
(311) |
Aug
(352) |
Sep
(481) |
Oct
(571) |
Nov
(222) |
Dec
(231) |
| 2014 |
Jan
(185) |
Feb
(329) |
Mar
(245) |
Apr
(238) |
May
(281) |
Jun
(399) |
Jul
(382) |
Aug
(500) |
Sep
(579) |
Oct
(435) |
Nov
(487) |
Dec
(256) |
| 2015 |
Jan
(338) |
Feb
(357) |
Mar
(330) |
Apr
(294) |
May
(191) |
Jun
(108) |
Jul
(142) |
Aug
(261) |
Sep
(190) |
Oct
(54) |
Nov
(83) |
Dec
(22) |
| 2016 |
Jan
(49) |
Feb
(89) |
Mar
(33) |
Apr
(50) |
May
(27) |
Jun
(34) |
Jul
(53) |
Aug
(53) |
Sep
(98) |
Oct
(206) |
Nov
(93) |
Dec
(53) |
| 2017 |
Jan
(65) |
Feb
(82) |
Mar
(102) |
Apr
(86) |
May
(187) |
Jun
(67) |
Jul
(23) |
Aug
(93) |
Sep
(65) |
Oct
(45) |
Nov
(35) |
Dec
(17) |
| 2018 |
Jan
(26) |
Feb
(35) |
Mar
(38) |
Apr
(32) |
May
(8) |
Jun
(43) |
Jul
(27) |
Aug
(30) |
Sep
(43) |
Oct
(42) |
Nov
(38) |
Dec
(67) |
| 2019 |
Jan
(32) |
Feb
(37) |
Mar
(53) |
Apr
(64) |
May
(49) |
Jun
(18) |
Jul
(14) |
Aug
(53) |
Sep
(25) |
Oct
(30) |
Nov
(49) |
Dec
(31) |
| 2020 |
Jan
(87) |
Feb
(45) |
Mar
(37) |
Apr
(51) |
May
(99) |
Jun
(36) |
Jul
(11) |
Aug
(14) |
Sep
(20) |
Oct
(24) |
Nov
(40) |
Dec
(23) |
| 2021 |
Jan
(14) |
Feb
(53) |
Mar
(85) |
Apr
(15) |
May
(19) |
Jun
(3) |
Jul
(14) |
Aug
(1) |
Sep
(57) |
Oct
(73) |
Nov
(56) |
Dec
(22) |
| 2022 |
Jan
(3) |
Feb
(22) |
Mar
(6) |
Apr
(55) |
May
(46) |
Jun
(39) |
Jul
(15) |
Aug
(9) |
Sep
(11) |
Oct
(34) |
Nov
(20) |
Dec
(36) |
| 2023 |
Jan
(79) |
Feb
(41) |
Mar
(99) |
Apr
(169) |
May
(48) |
Jun
(16) |
Jul
(16) |
Aug
(57) |
Sep
(19) |
Oct
|
Nov
|
Dec
|
| S | M | T | W | T | F | S |
|---|---|---|---|---|---|---|
|
|
|
|
|
1
(20) |
2
(19) |
3
(7) |
|
4
(13) |
5
(24) |
6
(9) |
7
(12) |
8
(8) |
9
(34) |
10
(28) |
|
11
(20) |
12
(23) |
13
(12) |
14
(10) |
15
(15) |
16
(24) |
17
(26) |
|
18
(17) |
19
(14) |
20
(14) |
21
(8) |
22
(12) |
23
(22) |
24
(10) |
|
25
(21) |
26
(21) |
27
(18) |
28
(8) |
29
(13) |
30
(15) |
|
|
From: Nicholas N. <nj...@cs...> - 2007-11-29 21:36:45
|
On Thu, 29 Nov 2007, Sinha Amit-A16474 wrote: > Hi , > I am trying to understand the helgrind code. > can you please guide me through it or if there is some document > then can you please forward. Helgrind was recently rewritten. You should look at the version in the SVN repository trunk. See http://www.valgrind.org/downloads/repository.html for how. The manual has lots of detail about Helgrind's working. Try "make html-docs" from the docs/ directory to build it as HTML pages, which end up in docs/html/. Nick |
|
From: Bart V. A. <bar...@gm...> - 2007-11-29 20:55:18
|
Hello,
One of the Valgrind core features drd depends on for operating
correctly is the ability to recognize .got.plt sections. (This is
necessary to suppress data race reports on these sections.) It seems
like these sections are recognized correctly on AMD64, but not on
i386: when I insert the statement below in drd_instrument(), the drd
tool does not halt on this assert statement, although every
dynamically linked executable has a .got.plt section.
tl_assert(VG_(seginfo_sect_kind)(st->Ist.IMark.addr) != Vg_SectPLT);
Can anyone give me some advice where to start looking for the cause of
this phenomenon ?
More details:
$ uname -a
Linux ... 2.6.16.53-0.8-default #1 Fri Aug 31 13:07:27 UTC 2007 i686
i686 i386 GNU/Linux
$ VALGRIND_LIB=$PWD/.in_place coregrind/valgrind --tool=exp-drd
exp-drd/tests/fp_race -m
(false positives are reported on the .got.plt sections, while no data
races should be reported)
$ objdump -x exp-drd/tests/fp_race | grep plt
9 .rel.plt 00000060 08048464 08048464 00000464 2**2
11 .plt 000000d0 080484dc 080484dc 000004dc 2**2
21 .got.plt 0000003c 08049c0c 08049c0c 00000c0c 2**2
08048464 l d .rel.plt 00000000 .rel.plt
080484dc l d .plt 00000000 .plt
08049c0c l d .got.plt 00000000 .got.plt
08049c0c l O .got.plt 00000000 .hidden
_GLOBAL_OFFSET_TABLE_
--
Regards,
Bart Van Assche.
|
|
From: <sv...@va...> - 2007-11-29 13:04:00
|
Author: sewardj
Date: 2007-11-29 13:04:03 +0000 (Thu, 29 Nov 2007)
New Revision: 7251
Log:
So much for C's "type system" (ha ha). Correct version of r7250.
Modified:
trunk/helgrind/hg_main.c
Modified: trunk/helgrind/hg_main.c
===================================================================
--- trunk/helgrind/hg_main.c 2007-11-29 12:53:25 UTC (rev 7250)
+++ trunk/helgrind/hg_main.c 2007-11-29 13:04:03 UTC (rev 7251)
@@ -6241,7 +6241,7 @@
HG_(deleteBag)( lk->heldBy );
lk->heldBy = NULL;
lk->heldW = False;
- lk->acquired_at = False;
+ lk->acquired_at = NULL;
}
tl_assert( !lk->heldBy );
tl_assert( is_sane_LockN(lk) );
|
|
From: Julian S. <js...@ac...> - 2007-11-29 12:54:55
|
On Thursday 29 November 2007 11:58, Konstantin Serebryany wrote: > I've found a small bug in helgrind: Fixed (r7250). Thanks for that. J |
|
From: <sv...@va...> - 2007-11-29 12:53:24
|
Author: sewardj
Date: 2007-11-29 12:53:25 +0000 (Thu, 29 Nov 2007)
New Revision: 7250
Log:
Don't assert when destroying a locked rwlock.
Modified:
trunk/helgrind/hg_main.c
Modified: trunk/helgrind/hg_main.c
===================================================================
--- trunk/helgrind/hg_main.c 2007-11-29 03:08:32 UTC (rev 7249)
+++ trunk/helgrind/hg_main.c 2007-11-29 12:53:25 UTC (rev 7250)
@@ -312,8 +312,9 @@
/* EXPOSITION */
/* Place where lock first came to the attention of Helgrind. */
ExeContext* appeared_at;
- /* Place where the lock most recently made an unlocked->locked
- transition. */
+ /* If the lock is held, place where the lock most recently made
+ an unlocked->locked transition. Must be sync'd with .heldBy:
+ either both NULL or both non-NULL. */
ExeContext* acquired_at;
/* USEFUL-STATIC */
Addr guestaddr; /* Guest address of lock */
@@ -6240,6 +6241,7 @@
HG_(deleteBag)( lk->heldBy );
lk->heldBy = NULL;
lk->heldW = False;
+ lk->acquired_at = False;
}
tl_assert( !lk->heldBy );
tl_assert( is_sane_LockN(lk) );
|
|
From: Konstantin S. <kon...@gm...> - 2007-11-29 10:58:00
|
Hi,
I've found a small bug in helgrind:
$ cat tests/rwlock_bug.c
#define _GNU_SOURCE 1
#include <stdio.h>
#include <pthread.h>
#include <assert.h>
int main ( void )
{
pthread_rwlock_t rwl;
pthread_rwlock_init( &rwl, NULL );
pthread_rwlock_wrlock( &rwl );
// no unlock!
pthread_rwlock_destroy( &rwl );
return 0;
}
$ gcc -g tests/rwlock_bug.c -lpthread
$ ../Inst/bin/valgrind --tool=helgrind ./a.out
==13027== Thread #1: pthread_rwlock_destroy of a locked mutex
==13027== at 0x47A8A76: pthread_rwlock_destroy (hg_intercepts.c:778)
DIR:/home/kcc/valgrind/helgrind
==13027== by 0x8048474: main (rwlock_bug.c:11)
DIR:/home/kcc/valgrind/helgrind/tests
Helgrind: hg_main.c:6272 (evh__HG_PTHREAD_RWLOCK_DESTROY_PRE): Assertion
'is_sane_LockN(lk)' failed.
==13027== at 0x3801C206: report_and_quit (m_libcassert.c:140)
DIR:/home/kcc/valgrind/coregrind
==13027== by 0x3801C06A: vgPlain_assert_fail (m_libcassert.c:200)
DIR:/home/kcc/valgrind/coregrind
==13027== by 0x38014D86: evh__HG_PTHREAD_RWLOCK_DESTROY_PRE
(hg_main.c:6272) DIR:/home/kcc/valgrind/helgrind
==13027== by 0x38016A98: hg_handle_client_request (hg_main.c:7627)
DIR:/home/kcc/valgrind/helgrind
==13027== by 0x38036D03: do_client_request (scheduler.c:1380)
DIR:/home/kcc/valgrind/coregrind/m_scheduler
==13027== by 0x38037D5D: vgPlain_scheduler (scheduler.c:979)
DIR:/home/kcc/valgrind/coregrind/m_scheduler
==13027== by 0x3803AD03: run_a_thread_NORETURN (syswrap-linux.c:87)
DIR:/home/kcc/valgrind/coregrind/m_syswrap
The fix is probably to put lk->acquired_at = NULL; somewhere in
evh__HG_PTHREAD_RWLOCK_DESTROY_PRE.
Thanks,
--kcc
|
|
From: Tom H. <th...@cy...> - 2007-11-29 03:56:09
|
Nightly build on alvis ( i686, Red Hat 7.3 ) started at 2007-11-29 03:15: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 == 319 tests, 60 stderr failures, 1 stdout failure, 28 post failures == memcheck/tests/addressable (stderr) memcheck/tests/badjump (stderr) memcheck/tests/describe-block (stderr) memcheck/tests/erringfds (stderr) memcheck/tests/leak-0 (stderr) memcheck/tests/leak-cycle (stderr) memcheck/tests/leak-pool-0 (stderr) memcheck/tests/leak-pool-1 (stderr) memcheck/tests/leak-pool-2 (stderr) memcheck/tests/leak-pool-3 (stderr) memcheck/tests/leak-pool-4 (stderr) memcheck/tests/leak-pool-5 (stderr) memcheck/tests/leak-regroot (stderr) memcheck/tests/leak-tree (stderr) memcheck/tests/long_namespace_xml (stderr) memcheck/tests/match-overrun (stderr) memcheck/tests/noisy_child (stderr) memcheck/tests/partial_load_dflt (stderr) memcheck/tests/partial_load_ok (stderr) memcheck/tests/partiallydefinedeq (stderr) memcheck/tests/pointer-trace (stderr) memcheck/tests/sigkill (stderr) memcheck/tests/stack_changes (stderr) memcheck/tests/x86/bug152022 (stderr) memcheck/tests/x86/scalar (stderr) memcheck/tests/x86/scalar_supp (stderr) memcheck/tests/x86/xor-undef-x86 (stderr) memcheck/tests/xml1 (stderr) massif/tests/alloc-fns-A (post) massif/tests/alloc-fns-B (post) massif/tests/basic (post) massif/tests/basic2 (post) massif/tests/big-alloc (post) massif/tests/culling1 (stderr) massif/tests/culling2 (stderr) massif/tests/custom_alloc (post) massif/tests/deep-A (post) massif/tests/deep-B (stderr) massif/tests/deep-B (post) massif/tests/deep-C (stderr) massif/tests/deep-C (post) massif/tests/deep-D (post) massif/tests/ignoring (post) massif/tests/insig (post) massif/tests/long-time (post) massif/tests/new-cpp (post) massif/tests/null (post) massif/tests/one (post) massif/tests/overloaded-new (post) massif/tests/peak (post) massif/tests/peak2 (stderr) massif/tests/peak2 (post) massif/tests/realloc (stderr) massif/tests/realloc (post) massif/tests/thresholds_0_0 (post) massif/tests/thresholds_0_10 (post) massif/tests/thresholds_10_0 (post) massif/tests/thresholds_10_10 (post) massif/tests/thresholds_5_0 (post) massif/tests/thresholds_5_10 (post) massif/tests/zero1 (post) massif/tests/zero2 (post) none/tests/mremap (stderr) none/tests/mremap2 (stdout) helgrind/tests/hg01_all_ok (stderr) helgrind/tests/hg02_deadlock (stderr) helgrind/tests/hg03_inherit (stderr) helgrind/tests/hg04_race (stderr) helgrind/tests/hg05_race2 (stderr) helgrind/tests/hg06_readshared (stderr) helgrind/tests/tc01_simple_race (stderr) helgrind/tests/tc02_simple_tls (stderr) helgrind/tests/tc03_re_excl (stderr) helgrind/tests/tc05_simple_race (stderr) helgrind/tests/tc06_two_races (stderr) helgrind/tests/tc07_hbl1 (stderr) helgrind/tests/tc08_hbl2 (stderr) helgrind/tests/tc09_bad_unlock (stderr) helgrind/tests/tc11_XCHG (stderr) helgrind/tests/tc12_rwl_trivial (stderr) helgrind/tests/tc14_laog_dinphils (stderr) helgrind/tests/tc16_byterace (stderr) helgrind/tests/tc17_sembar (stderr) helgrind/tests/tc18_semabuse (stderr) helgrind/tests/tc19_shadowmem (stderr) helgrind/tests/tc20_verifywrap (stderr) helgrind/tests/tc21_pthonce (stderr) helgrind/tests/tc22_exit_w_lock (stderr) helgrind/tests/tc23_bogus_condwait (stderr) |
|
From: Tom H. <th...@cy...> - 2007-11-29 03:31:07
|
Nightly build on lloyd ( x86_64, Fedora 7 ) started at 2007-11-29 03:05:07 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 == 353 tests, 6 stderr failures, 2 stdout failures, 0 post failures == memcheck/tests/pointer-trace (stderr) memcheck/tests/vcpu_fnfns (stdout) memcheck/tests/x86/scalar (stderr) memcheck/tests/xml1 (stderr) none/tests/mremap (stderr) none/tests/mremap2 (stdout) helgrind/tests/tc20_verifywrap (stderr) helgrind/tests/tc22_exit_w_lock (stderr) |
|
From: Tom H. <th...@cy...> - 2007-11-29 03:26:04
|
Nightly build on dellow ( x86_64, Fedora 8 ) started at 2007-11-29 03:10:04 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 == 353 tests, 9 stderr failures, 4 stdout failures, 0 post failures == memcheck/tests/pointer-trace (stderr) memcheck/tests/vcpu_fnfns (stdout) memcheck/tests/x86/scalar (stderr) memcheck/tests/xml1 (stderr) none/tests/mremap (stderr) none/tests/mremap2 (stdout) none/tests/pth_cvsimple (stdout) none/tests/pth_detached (stdout) helgrind/tests/tc17_sembar (stderr) helgrind/tests/tc18_semabuse (stderr) helgrind/tests/tc20_verifywrap (stderr) helgrind/tests/tc22_exit_w_lock (stderr) helgrind/tests/tc23_bogus_condwait (stderr) ================================================= == Results from 24 hours ago == ================================================= Checking out valgrind source tree ... done Configuring valgrind ... done Building valgrind ... done Running regression tests ... failed Regression test results follow == 353 tests, 9 stderr failures, 2 stdout failures, 0 post failures == memcheck/tests/pointer-trace (stderr) memcheck/tests/vcpu_fnfns (stdout) memcheck/tests/x86/scalar (stderr) memcheck/tests/xml1 (stderr) none/tests/mremap (stderr) none/tests/mremap2 (stdout) helgrind/tests/tc17_sembar (stderr) helgrind/tests/tc18_semabuse (stderr) helgrind/tests/tc20_verifywrap (stderr) helgrind/tests/tc22_exit_w_lock (stderr) helgrind/tests/tc23_bogus_condwait (stderr) ================================================= == Difference between 24 hours ago and now == ================================================= *** old.short Thu Nov 29 03:18:11 2007 --- new.short Thu Nov 29 03:26:06 2007 *************** *** 8,10 **** ! == 353 tests, 9 stderr failures, 2 stdout failures, 0 post failures == memcheck/tests/pointer-trace (stderr) --- 8,10 ---- ! == 353 tests, 9 stderr failures, 4 stdout failures, 0 post failures == memcheck/tests/pointer-trace (stderr) *************** *** 15,16 **** --- 15,18 ---- none/tests/mremap2 (stdout) + none/tests/pth_cvsimple (stdout) + none/tests/pth_detached (stdout) helgrind/tests/tc17_sembar (stderr) |
|
From: Tom H. <th...@cy...> - 2007-11-29 03:13:34
|
Nightly build on gill ( x86_64, Fedora Core 2 ) started at 2007-11-29 03:00:03 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 == 355 tests, 24 stderr failures, 1 stdout failure, 0 post failures == memcheck/tests/pointer-trace (stderr) memcheck/tests/stack_switch (stderr) memcheck/tests/x86/scalar (stderr) memcheck/tests/x86/scalar_supp (stderr) none/tests/fdleak_fcntl (stderr) none/tests/mremap (stderr) none/tests/mremap2 (stdout) helgrind/tests/hg01_all_ok (stderr) helgrind/tests/hg02_deadlock (stderr) helgrind/tests/hg03_inherit (stderr) helgrind/tests/hg04_race (stderr) helgrind/tests/hg05_race2 (stderr) helgrind/tests/tc01_simple_race (stderr) helgrind/tests/tc05_simple_race (stderr) helgrind/tests/tc06_two_races (stderr) helgrind/tests/tc09_bad_unlock (stderr) helgrind/tests/tc14_laog_dinphils (stderr) helgrind/tests/tc16_byterace (stderr) helgrind/tests/tc17_sembar (stderr) helgrind/tests/tc18_semabuse (stderr) helgrind/tests/tc19_shadowmem (stderr) helgrind/tests/tc20_verifywrap (stderr) helgrind/tests/tc21_pthonce (stderr) helgrind/tests/tc22_exit_w_lock (stderr) helgrind/tests/tc23_bogus_condwait (stderr) |
|
From: <sv...@va...> - 2007-11-29 03:08:33
|
Author: sewardj
Date: 2007-11-29 03:08:32 +0000 (Thu, 29 Nov 2007)
New Revision: 7249
Log:
Changes to make Memcheck work sanely on recent incarnations of AIX 5.3:
* add a few more syscall wrappers, and fix a couple of buggy ones
* intercept strcmp et al in a few more libraries
Modified:
trunk/coregrind/m_syswrap/priv_syswrap-aix5.h
trunk/coregrind/m_syswrap/syswrap-aix5.c
trunk/coregrind/m_syswrap/syswrap-ppc32-aix5.c
trunk/coregrind/m_syswrap/syswrap-ppc64-aix5.c
trunk/memcheck/mc_replace_strmem.c
Modified: trunk/coregrind/m_syswrap/priv_syswrap-aix5.h
===================================================================
--- trunk/coregrind/m_syswrap/priv_syswrap-aix5.h 2007-11-29 03:06:25 UTC (rev 7248)
+++ trunk/coregrind/m_syswrap/priv_syswrap-aix5.h 2007-11-29 03:08:32 UTC (rev 7249)
@@ -71,7 +71,6 @@
DECL_TEMPLATE(aix5, sys___libc_sbrk);
DECL_TEMPLATE(aix5, sys___msleep);
-DECL_TEMPLATE(aix5, sys__clock_gettime);
DECL_TEMPLATE(aix5, sys__clock_settime);
DECL_TEMPLATE(aix5, sys__exit);
DECL_TEMPLATE(aix5, sys__fp_fpscrx_sc);
@@ -104,6 +103,7 @@
DECL_TEMPLATE(aix5, sys_connext);
DECL_TEMPLATE(aix5, sys_execve);
DECL_TEMPLATE(aix5, sys_finfo);
+DECL_TEMPLATE(aix5, sys_fstatfs);
DECL_TEMPLATE(aix5, sys_fstatx);
DECL_TEMPLATE(aix5, sys_fsync);
DECL_TEMPLATE(aix5, sys_getdirent);
@@ -131,6 +131,7 @@
DECL_TEMPLATE(aix5, sys_kread);
DECL_TEMPLATE(aix5, sys_kreadv);
DECL_TEMPLATE(aix5, sys_kthread_ctl);
+DECL_TEMPLATE(aix5, sys_ktruncate);
DECL_TEMPLATE(aix5, sys_kwaitpid);
DECL_TEMPLATE(aix5, sys_kwrite);
DECL_TEMPLATE(aix5, sys_kwritev);
@@ -141,6 +142,7 @@
DECL_TEMPLATE(aix5, sys_mkdir);
DECL_TEMPLATE(aix5, sys_mmap);
DECL_TEMPLATE(aix5, sys_mprotect);
+DECL_TEMPLATE(aix5, sys_mntctl);
DECL_TEMPLATE(aix5, sys_munmap);
DECL_TEMPLATE(aix5, sys_naccept);
DECL_TEMPLATE(aix5, sys_ngetpeername);
Modified: trunk/coregrind/m_syswrap/syswrap-aix5.c
===================================================================
--- trunk/coregrind/m_syswrap/syswrap-aix5.c 2007-11-29 03:06:25 UTC (rev 7248)
+++ trunk/coregrind/m_syswrap/syswrap-aix5.c 2007-11-29 03:08:32 UTC (rev 7249)
@@ -479,12 +479,6 @@
/* __unload is handled in the platform-specific files. */
-PRE(sys__clock_gettime)
-{
- PRINT("_clock_gettime (UNDOCUMENTED) ( %d, %p )", ARG1, ARG2);
- PRE_REG_READ2(int, "_clock_gettime", int, arg1, int, arg2);
-}
-
PRE(sys__clock_settime)
{
PRINT("_clock_settime (UNDOCUMENTED) ( %d, %p )", ARG1, ARG2);
@@ -1069,6 +1063,17 @@
POST_MEM_WRITE( ARG3, ARG4 );
}
+PRE(sys_fstatfs)
+{
+ PRINT("sys_fstatfs ( %ld, %p )", ARG1, ARG2);
+ PRE_REG_READ2(UWord, "fstatfs", UWord, fd, struct statfs *, buf);
+ PRE_MEM_WRITE( "fstatfs(buf)", ARG2, sizeof(struct statfs) );
+}
+POST(sys_fstatfs)
+{
+ POST_MEM_WRITE( ARG2, sizeof(struct statfs) );
+}
+
PRE(sys_fstatx)
{
PRINT("fstatx ( %ld, %p, %ld, %ld )", ARG1, ARG2, ARG3, ARG4 );
@@ -1599,6 +1604,13 @@
PRINT("kthread_ctl (BOGUS HANDLER)");
}
+PRE(sys_ktruncate)
+{
+ PRINT("ktruncate( %p(%s), %lx, %lx )", ARG1,ARG1, ARG2, ARG3 );
+ PRE_REG_READ3(int, "ktruncate", char*, path, long, arg2, long, arg3 );
+ PRE_MEM_RASCIIZ( "ktruncate(path)", ARG1 );
+}
+
PRE(sys_kwaitpid)
{
/* Note: args 1 and 2 (status, pid) opposite way round
@@ -1702,6 +1714,27 @@
VG_(discard_translations)( addr, len, "POST(sys_mmap)" );
}
+PRE(sys_mntctl)
+{
+ PRINT("mntctl ( %ld, %ld, %p )", ARG1, ARG2, ARG3 );
+ PRE_REG_READ3(long, "mntctl", long, command, long, size, char*, buffer);
+ PRE_MEM_WRITE( "mntctl(buffer)", ARG3, ARG2 );
+}
+POST(sys_mntctl)
+{
+ vg_assert(SUCCESS);
+ if (RES == 0) {
+ /* Buffer too small. First word is the real required size. */
+ POST_MEM_WRITE( ARG3, sizeof(Word) );
+ } else {
+ /* RES is the number of struct vmount's written to the buf. But
+ these are variable length and to find the end would require
+ inspecting each in turn. So be simple and just mark the
+ entire buffer as defined. */
+ POST_MEM_WRITE( ARG3, ARG2 );
+ }
+}
+
PRE(sys_mprotect)
{
PRINT("mprotect (BOGUS HANDLER)( %p, %ld, %p )", ARG1, ARG2, ARG3);
Modified: trunk/coregrind/m_syswrap/syswrap-ppc32-aix5.c
===================================================================
--- trunk/coregrind/m_syswrap/syswrap-ppc32-aix5.c 2007-11-29 03:06:25 UTC (rev 7248)
+++ trunk/coregrind/m_syswrap/syswrap-ppc32-aix5.c 2007-11-29 03:08:32 UTC (rev 7249)
@@ -340,6 +340,7 @@
DECL_TEMPLATE(ppc32_aix5, sys___loadx);
DECL_TEMPLATE(ppc32_aix5, sys___unload);
+DECL_TEMPLATE(ppc32_aix5, sys__clock_gettime);
DECL_TEMPLATE(ppc32_aix5, sys_thread_setmymask_fast);
DECL_TEMPLATE(ppc32_aix5, sys_thread_setstate);
DECL_TEMPLATE(ppc32_aix5, sys_FAKE_SIGRETURN);
@@ -452,6 +453,20 @@
ML_(aix5_rescan_procmap_after_load_or_unload)();
}
+PRE(sys__clock_gettime)
+{
+ /* Seems like ARG3 points at a destination buffer? */
+ /* _clock_gettime (UNDOCUMENTED) ( 0, 0xA, 0x2FF21808 ) */
+ PRINT("_clock_gettime (UNDOCUMENTED) ( %d, %p, %p )", ARG1, ARG2, ARG3 );
+ PRE_REG_READ3(int, "_clock_gettime", int, arg1, int, arg2, void*, arg3);
+ PRE_MEM_WRITE( "_clock_gettime(dst)", ARG3, sizeof(struct timespec) );
+}
+POST(sys__clock_gettime)
+{
+ vg_assert(SUCCESS);
+ POST_MEM_WRITE( ARG3, sizeof(struct timespec) );
+}
+
PRE(sys_thread_setmymask_fast)
{
/* args: a 64-bit signal mask in ARG1/2.*/
@@ -730,7 +745,7 @@
PLAXY(__NR_AIX5___loadx, sys___loadx),
AIXX_(__NR_AIX5___msleep, sys___msleep),
PLAXY(__NR_AIX5___unload, sys___unload),
- AIXX_(__NR_AIX5__clock_gettime, sys__clock_gettime),
+ PLAXY(__NR_AIX5__clock_gettime, sys__clock_gettime),
AIXX_(__NR_AIX5__clock_settime, sys__clock_settime),
AIXX_(__NR_AIX5__exit, sys__exit),
AIXX_(__NR_AIX5__fp_fpscrx_sc, sys__fp_fpscrx_sc),
@@ -763,6 +778,7 @@
AIXX_(__NR_AIX5_connext, sys_connext),
AIXX_(__NR_AIX5_execve, sys_execve),
AIXXY(__NR_AIX5_finfo, sys_finfo),
+ AIXXY(__NR_AIX5_fstatfs, sys_fstatfs),
AIXXY(__NR_AIX5_fstatx, sys_fstatx),
AIXX_(__NR_AIX5_fsync, sys_fsync),
AIXXY(__NR_AIX5_getdirent, sys_getdirent),
@@ -790,6 +806,7 @@
AIXXY(__NR_AIX5_kread, sys_kread),
AIXXY(__NR_AIX5_kreadv, sys_kreadv),
AIXX_(__NR_AIX5_kthread_ctl, sys_kthread_ctl),
+ AIXX_(__NR_AIX5_ktruncate, sys_ktruncate),
AIXXY(__NR_AIX5_kwaitpid, sys_kwaitpid),
AIXX_(__NR_AIX5_kwrite, sys_kwrite),
AIXX_(__NR_AIX5_kwritev, sys_kwritev),
@@ -799,6 +816,7 @@
AIXX_(__NR_AIX5_lseek, sys_lseek),
AIXX_(__NR_AIX5_mkdir, sys_mkdir),
AIXXY(__NR_AIX5_mmap, sys_mmap),
+ AIXXY(__NR_AIX5_mntctl, sys_mntctl),
AIXXY(__NR_AIX5_mprotect, sys_mprotect),
AIXXY(__NR_AIX5_munmap, sys_munmap),
AIXXY(__NR_AIX5_naccept, sys_naccept),
Modified: trunk/coregrind/m_syswrap/syswrap-ppc64-aix5.c
===================================================================
--- trunk/coregrind/m_syswrap/syswrap-ppc64-aix5.c 2007-11-29 03:06:25 UTC (rev 7248)
+++ trunk/coregrind/m_syswrap/syswrap-ppc64-aix5.c 2007-11-29 03:08:32 UTC (rev 7249)
@@ -338,6 +338,7 @@
#define PRE(name) DEFN_PRE_TEMPLATE(ppc64_aix5, name)
#define POST(name) DEFN_POST_TEMPLATE(ppc64_aix5, name)
+DECL_TEMPLATE(ppc64_aix5, sys__clock_gettime);
DECL_TEMPLATE(ppc64_aix5, sys__fp_fpscrx64_);
DECL_TEMPLATE(ppc64_aix5, sys_kload);
DECL_TEMPLATE(ppc64_aix5, sys_kunload64);
@@ -345,6 +346,20 @@
DECL_TEMPLATE(ppc64_aix5, sys_FAKE_SIGRETURN);
+PRE(sys__clock_gettime)
+{
+ /* Seems like ARG2 points at a destination buffer? */
+ /* _clock_gettime (UNDOCUMENTED) ( 0, 0xA, 0x2FF21808 ) */
+ PRINT("_clock_gettime (UNDOCUMENTED) ( %d, %p, %p )", ARG1, ARG2, ARG3 );
+ PRE_REG_READ3(int, "_clock_gettime", int, arg1, int, arg2, void*, arg3);
+ PRE_MEM_WRITE( "_clock_gettime(dst)", ARG2, sizeof(struct timespec) );
+}
+POST(sys__clock_gettime)
+{
+ vg_assert(SUCCESS);
+ POST_MEM_WRITE( ARG2, sizeof(struct timespec) );
+}
+
PRE(sys__fp_fpscrx64_)
{
PRINT("_fp_fpscrx64_ (BOGUS HANDLER)");
@@ -638,6 +653,7 @@
= {
AIXXY(__NR_AIX5___libc_sbrk, sys___libc_sbrk),
AIXX_(__NR_AIX5___msleep, sys___msleep),
+ PLAXY(__NR_AIX5__clock_gettime, sys__clock_gettime),
AIXX_(__NR_AIX5__exit, sys__exit),
PLAX_(__NR_AIX5__fp_fpscrx64_, sys__fp_fpscrx64_),
AIXX_(__NR_AIX5__getpid, sys__getpid),
@@ -660,6 +676,8 @@
AIXX_(__NR_AIX5_close, sys_close),
AIXX_(__NR_AIX5_connext, sys_connext),
AIXX_(__NR_AIX5_execve, sys_execve),
+ AIXXY(__NR_AIX5_finfo, sys_finfo),
+ AIXXY(__NR_AIX5_fstatfs, sys_fstatfs),
AIXXY(__NR_AIX5_fstatx, sys_fstatx),
AIXXY(__NR_AIX5_getdirent, sys_getdirent),
AIXXY(__NR_AIX5_getdirent64, sys_getdirent64),
@@ -683,6 +701,7 @@
AIXXY(__NR_AIX5_kread, sys_kread),
AIXXY(__NR_AIX5_kreadv, sys_kreadv),
AIXX_(__NR_AIX5_kthread_ctl, sys_kthread_ctl),
+ AIXX_(__NR_AIX5_ktruncate, sys_ktruncate),
PLAXY(__NR_AIX5_kunload64, sys_kunload64),
AIXXY(__NR_AIX5_kwaitpid, sys_kwaitpid),
AIXX_(__NR_AIX5_kwrite, sys_kwrite),
@@ -690,6 +709,7 @@
AIXX_(__NR_AIX5_lseek, sys_lseek),
AIXX_(__NR_AIX5_mkdir, sys_mkdir),
AIXXY(__NR_AIX5_mmap, sys_mmap),
+ AIXXY(__NR_AIX5_mntctl, sys_mntctl),
AIXXY(__NR_AIX5_mprotect, sys_mprotect),
AIXXY(__NR_AIX5_munmap, sys_munmap),
AIXXY(__NR_AIX5_ngetpeername, sys_ngetpeername),
Modified: trunk/memcheck/mc_replace_strmem.c
===================================================================
--- trunk/memcheck/mc_replace_strmem.c 2007-11-29 03:06:25 UTC (rev 7248)
+++ trunk/memcheck/mc_replace_strmem.c 2007-11-29 03:08:32 UTC (rev 7249)
@@ -819,6 +819,9 @@
Str5FNs(libgdkZdso) /* libgdk.so */
Str5FNs(libcursesZdaZLshr42ZdoZR) /* libcurses.a(shr42.o) */
Str5FNs(libqtZda) /* libqt.a */
+Str5FNs(ZaZLlibglibZhZaZdsoZaZR) /* *(libglib-*.so*) */
+Str5FNs(ZaZLlibfontconfigZdsoZaZR) /* *(libfontconfig.so*) */
+Str5FNs(libQtZaa) /* libQt*.a */
#endif
#if defined(VGP_ppc64_aix5)
Str5FNs(NONE) /* in main exe */
@@ -832,6 +835,9 @@
Str5FNs(libCZdaZLshrcoreZu64ZdoZR) /* libC.a(shrcore_64.o) */
Str5FNs(libmpiZurZdaZLmpci64ZurZdoZR) /* libmpi_r.a(mpci64_r.o) */
Str5FNs(libqtZda) /* libqt.a */
+Str5FNs(ZaZLlibglibZhZaZdsoZaZR) /* *(libglib-*.so*) */
+Str5FNs(ZaZLlibfontconfigZdsoZaZR) /* *(libfontconfig.so*) */
+Str5FNs(libQtZaa) /* libQt*.a */
#endif
|
|
From: <sv...@va...> - 2007-11-29 03:07:24
|
Author: sewardj
Date: 2007-11-29 03:06:25 +0000 (Thu, 29 Nov 2007)
New Revision: 7248
Log:
Don't be confused by archive (.a) files which contain both a 32-bit
and a 64-bit version of the same object (with the same name). Prior
to this, it would sometimes attempt to read debug info from the wrong
version of the object, complain that the magic number wasn't right,
and so end up reading nothing at all for that object.
Modified:
trunk/coregrind/m_debuginfo/readxcoff.c
Modified: trunk/coregrind/m_debuginfo/readxcoff.c
===================================================================
--- trunk/coregrind/m_debuginfo/readxcoff.c 2007-11-28 01:55:29 UTC (rev 7247)
+++ trunk/coregrind/m_debuginfo/readxcoff.c 2007-11-29 03:06:25 UTC (rev 7248)
@@ -1708,7 +1708,7 @@
# endif
if (n_oimage < sizeof(FILHDR))
- BAD("readxcoff.c: XCOFF object file header is implausibly small");
+ BAD("readxcoff.c: XCOFF object file header is implausibly small (2)");
FILHDR* t_filehdr = (FILHDR*)cursor;
cursor += sizeof(FILHDR);
@@ -2233,7 +2233,7 @@
peer at the archive's fixed header. */
if (n_image < sizeof(FL_HDR)) {
- ML_(symerr)("XCOFF archive to small for fixed header");
+ ML_(symerr)("XCOFF archive too small for fixed header");
goto done;
}
@@ -2269,7 +2269,7 @@
/* should be: backquote newline */
if (mt_hdr->_ar_name.ar_name[0] != 0x60 /* backquote */
|| mt_hdr->_ar_name.ar_name[1] != 0x0A /* \n */) {
- ML_(symerr)("XCOFF archive member table header is invalid");
+ ML_(symerr)("XCOFF archive member table header is invalid");
goto done;
}
@@ -2304,61 +2304,89 @@
i, (Int)ascii_to_ULong(data + 20 + 20*i, 20));
}
- UInt objoff = 0; /* none of the archive members can have zero
- offset, since the fixed header is at the
- start of the file. */
+ UChar* p = data + 20 + 20*nmembers;
- UChar* p = data + 20 + 20*nmembers;
for (i = 0; i < nmembers; i++) {
- if (0 == VG_(strcmp)(p, o_name)) {
- objoff = ascii_to_ULong(data + 20 + 20*i, 20);
- if (SHOW && SHOW_AR_DETAILS)
- VG_(printf)("got offset = %u\n", objoff);
- }
- while (*p) {
- if (SHOW && SHOW_AR_DETAILS)
- VG_(printf)("%c", *p);
- p++;
- }
+
+ if (0 != VG_(strcmp)(p, o_name))
+ goto move_on;
+
+ UInt objoff = ascii_to_ULong(data + 20 + 20*i, 20);
+
if (SHOW && SHOW_AR_DETAILS)
- VG_(printf)("\n");
- p++;
- }
+ VG_(printf)("got offset = %u\n", objoff);
- vg_assert(ok == False);
+ vg_assert(ok == False);
- if (objoff == 0) {
- ML_(symerr)("can't find object in XCOFF archive file");
- goto done;
- }
+ /* Sanity check the selected member */
+ UChar* o_hdrC = image + objoff;
+ if (o_hdrC + sizeof(AR_HDR) >= image + n_image) {
+ ML_(symerr)("XCOFF archive member header exceeds image");
+ goto done;
+ }
+ AR_HDR* o_hdr = (AR_HDR*)o_hdrC;
+ UWord o_size = (UWord)ascii_to_ULong(&o_hdr->ar_size, 20);
+ UChar* o_data = o_hdrC + sizeof(AR_HDR)
+ + (UWord)ascii_to_ULong(&o_hdr->ar_namlen,4);
- /* Sanity check the selected member */
- UChar* o_hdrC = image + objoff;
- if (o_hdrC + sizeof(AR_HDR) >= image + n_image) {
- ML_(symerr)("XCOFF archive member header exceeds image");
- goto done;
- }
- AR_HDR* o_hdr = (AR_HDR*)o_hdrC;
- UWord o_size = (UWord)ascii_to_ULong(&o_hdr->ar_size, 20);
- UChar* o_data = o_hdrC + sizeof(AR_HDR)
- + (UWord)ascii_to_ULong(&o_hdr->ar_namlen,4);
+ /* ALIGN */
+ if ( ((UWord)o_data) & 1 ) o_data++;
- /* ALIGN */
- if ( ((UWord)o_data) & 1 ) o_data++;
+ if (SHOW)
+ VG_(printf)("member data = %p, size = %ld\n", o_data, o_size);
- if (SHOW)
- VG_(printf)("member data = %p, size = %ld\n", o_data, o_size);
+ if (!(o_data >= image && o_data + o_size <= image + n_image)) {
+ ML_(symerr)("XCOFF archive member exceeds image");
+ goto done;
+ }
- if (o_data >= image && o_data + o_size <= image + n_image) {
+ if (o_size < sizeof(FILHDR)) {
+ ML_(symerr)("XCOFF object file header is implausibly small (1)");
+ goto done;
+ }
+
+ /* It's the right name, but need to also check the magic
+ number, since some archives contain both a 32-bit and
+ 64-bit version of the same object. */
+ FILHDR* t_filhdr = (FILHDR*)o_data;
+# if defined(VGP_ppc32_aix5)
+ if (t_filhdr->f_magic == 0x01F7 /* XCOFF64 */) {
+ if (0)
+ VG_(printf)("Skipping 64-bit archive on 32-bit platform\n");
+ goto move_on;
+ }
+# elif defined(VGP_ppc64_aix5)
+ if (t_filhdr->f_magic == 0x01DF /* XCOFF32 */) {
+ if (0)
+ VG_(printf)("Skipping 32-bit archive on 64-bit platform\n");
+ goto move_on;
+ }
+# endif
+
if (SHOW && SHOW_AR_DETAILS)
VG_(printf)("\nimage: %p-%p object: %p-%p\n\n",
image, image+n_image-1, o_data, o_data+o_size-1);
ok = read_xcoff_mapped_object( si, o_data, o_size,
data_avma, data_alen );
- } else {
- ML_(symerr)("XCOFF archive member exceeds image");
+ goto done;
+
+ vg_assert(0);
+ /* NOTREACHED */
+
+ move_on:
+ while (*p) {
+ if (SHOW && SHOW_AR_DETAILS)
+ VG_(printf)("%c", *p);
+ p++;
+ }
+ if (SHOW && SHOW_AR_DETAILS)
+ VG_(printf)("\n");
+ p++;
}
+ vg_assert(i == nmembers);
+ ML_(symerr)("can't find object in XCOFF archive file");
+
done:
if (image) {
VG_(am_munmap_valgrind)( (Addr)image, n_image );
|
|
From: <js...@ac...> - 2007-11-29 01:11:39
|
Nightly build on g5 ( SuSE 10.1, ppc970 ) started at 2007-11-29 02:00:01 CET 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 == 286 tests, 25 stderr failures, 2 stdout failures, 0 post failures == memcheck/tests/deep_templates (stdout) memcheck/tests/leak-cycle (stderr) memcheck/tests/leak-tree (stderr) memcheck/tests/pointer-trace (stderr) none/tests/faultstatus (stderr) none/tests/fdleak_cmsg (stderr) none/tests/mremap (stderr) none/tests/mremap2 (stdout) helgrind/tests/hg02_deadlock (stderr) helgrind/tests/hg03_inherit (stderr) helgrind/tests/hg04_race (stderr) helgrind/tests/hg05_race2 (stderr) helgrind/tests/tc01_simple_race (stderr) helgrind/tests/tc05_simple_race (stderr) helgrind/tests/tc06_two_races (stderr) helgrind/tests/tc07_hbl1 (stderr) helgrind/tests/tc08_hbl2 (stderr) helgrind/tests/tc09_bad_unlock (stderr) helgrind/tests/tc11_XCHG (stderr) helgrind/tests/tc14_laog_dinphils (stderr) helgrind/tests/tc16_byterace (stderr) helgrind/tests/tc17_sembar (stderr) helgrind/tests/tc19_shadowmem (stderr) helgrind/tests/tc20_verifywrap (stderr) helgrind/tests/tc21_pthonce (stderr) helgrind/tests/tc22_exit_w_lock (stderr) helgrind/tests/tc23_bogus_condwait (stderr) ================================================= == Results from 24 hours ago == ================================================= Checking out valgrind source tree ... failed Last 20 lines of verbose log follow echo Checking out valgrind source tree ... svn co svn://svn.valgrind.org/valgrind/trunk -r {2007-11-28T02:00:01} valgrind svn: Unknown hostname 'svn.valgrind.org' ================================================= == Difference between 24 hours ago and now == ================================================= *** old.short Thu Nov 29 02:00:48 2007 --- new.short Thu Nov 29 02:11:40 2007 *************** *** 1,7 **** ! Checking out valgrind source tree ... failed ! Last 20 lines of verbose log follow echo - Checking out valgrind source tree ... svn co svn://svn.valgrind.org/valgrind/trunk -r {2007-11-28T02:00:01} valgrind - svn: Unknown hostname 'svn.valgrind.org' --- 1,37 ---- ! Checking out valgrind source tree ... done ! Configuring valgrind ... done ! Building valgrind ... done ! Running regression tests ... failed ! Regression test results follow ! ! == 286 tests, 25 stderr failures, 2 stdout failures, 0 post failures == ! memcheck/tests/deep_templates (stdout) ! memcheck/tests/leak-cycle (stderr) ! memcheck/tests/leak-tree (stderr) ! memcheck/tests/pointer-trace (stderr) ! none/tests/faultstatus (stderr) ! none/tests/fdleak_cmsg (stderr) ! none/tests/mremap (stderr) ! none/tests/mremap2 (stdout) ! helgrind/tests/hg02_deadlock (stderr) ! helgrind/tests/hg03_inherit (stderr) ! helgrind/tests/hg04_race (stderr) ! helgrind/tests/hg05_race2 (stderr) ! helgrind/tests/tc01_simple_race (stderr) ! helgrind/tests/tc05_simple_race (stderr) ! helgrind/tests/tc06_two_races (stderr) ! helgrind/tests/tc07_hbl1 (stderr) ! helgrind/tests/tc08_hbl2 (stderr) ! helgrind/tests/tc09_bad_unlock (stderr) ! helgrind/tests/tc11_XCHG (stderr) ! helgrind/tests/tc14_laog_dinphils (stderr) ! helgrind/tests/tc16_byterace (stderr) ! helgrind/tests/tc17_sembar (stderr) ! helgrind/tests/tc19_shadowmem (stderr) ! helgrind/tests/tc20_verifywrap (stderr) ! helgrind/tests/tc21_pthonce (stderr) ! helgrind/tests/tc22_exit_w_lock (stderr) ! helgrind/tests/tc23_bogus_condwait (stderr) |