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
(17) |
2
(14) |
3
(15) |
4
(30) |
5
(18) |
6
(12) |
7
(10) |
|
8
(11) |
9
(11) |
10
(14) |
11
(12) |
12
(12) |
13
(8) |
14
(5) |
|
15
(11) |
16
(19) |
17
(15) |
18
(15) |
19
(16) |
20
(9) |
21
(9) |
|
22
(12) |
23
(11) |
24
(10) |
25
(5) |
26
(11) |
27
(12) |
28
(20) |
|
29
(11) |
30
(21) |
|
|
|
|
|
|
From: Dirk M. <dm...@gm...> - 2008-06-30 22:24:01
|
On Monday 30 June 2008, sv...@va... wrote: > Author: bart > Date: 2008-06-30 09:42:58 +0100 (Mon, 30 Jun 2008) > New Revision: 8311 > > Log: > Added function VG_(ToXML)(). Hi, thanks for reviving the branch. this was actually an open question to Julian: is it guaranteed that the printf code is never used from multiple threads? otherwise the static buffer used here in the ToXML() function hurts. Greetings, Dirk |
|
From: <sv...@va...> - 2008-06-30 17:10:27
|
Author: bart
Date: 2008-06-30 18:10:29 +0100 (Mon, 30 Jun 2008)
New Revision: 8322
Log:
Split client requests into public and tool-internal.
Added:
trunk/exp-drd/drd.h
Modified:
trunk/exp-drd/Makefile.am
trunk/exp-drd/drd_clientreq.h
trunk/exp-drd/tests/fp_race.c
trunk/exp-drd/tests/omp_prime.c
trunk/exp-drd/tests/pth_cond_race.c
trunk/exp-drd/tests/pth_detached.c
trunk/exp-drd/tests/pth_detached_sem.c
trunk/exp-drd/tests/rwlock_race.c
trunk/exp-drd/tests/sem_as_mutex.c
trunk/exp-drd/tests/sigalrm.c
Modified: trunk/exp-drd/Makefile.am
===================================================================
--- trunk/exp-drd/Makefile.am 2008-06-30 13:15:33 UTC (rev 8321)
+++ trunk/exp-drd/Makefile.am 2008-06-30 17:10:29 UTC (rev 8322)
@@ -100,6 +100,10 @@
drd_semaphore.c \
drd_suppression.c
+drdincludedir = $(includedir)/valgrind
+
+drdinclude_HEADERS = drd.h
+
noinst_HEADERS = \
drd_barrier.h \
drd_bitmap.h \
Added: trunk/exp-drd/drd.h
===================================================================
--- trunk/exp-drd/drd.h (rev 0)
+++ trunk/exp-drd/drd.h 2008-06-30 17:10:29 UTC (rev 8322)
@@ -0,0 +1,131 @@
+
+/*
+ ----------------------------------------------------------------
+
+ Notice that the following BSD-style license applies to this one
+ file (drd.h) only. The rest of Valgrind is licensed under the
+ terms of the GNU General Public License, version 2, unless
+ otherwise indicated. See the COPYING file in the source
+ distribution for details.
+
+ ----------------------------------------------------------------
+
+ This file is part of drd, a Valgrind tool for verification of
+ multithreaded programs.
+
+ Copyright (C) 2006-2008 Bart Van Assche. All rights reserved.
+
+ Redistribution and use in source and binary forms, with or without
+ modification, are permitted provided that the following conditions
+ are met:
+
+ 1. Redistributions of source code must retain the above copyright
+ notice, this list of conditions and the following disclaimer.
+
+ 2. The origin of this software must not be misrepresented; you must
+ not claim that you wrote the original software. If you use this
+ software in a product, an acknowledgment in the product
+ documentation would be appreciated but is not required.
+
+ 3. Altered source versions must be plainly marked as such, and must
+ not be misrepresented as being the original software.
+
+ 4. The name of the author may not be used to endorse or promote
+ products derived from this software without specific prior written
+ permission.
+
+ THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS
+ OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
+ WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+ ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY
+ DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
+ DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE
+ GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+ INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
+ WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING
+ NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
+ SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+ ----------------------------------------------------------------
+
+ Notice that the above BSD-style license applies to this one file
+ (drd.h) only. The entire rest of Valgrind is licensed under
+ the terms of the GNU General Public License, version 2. See the
+ COPYING file in the source distribution for details.
+
+ ----------------------------------------------------------------
+*/
+
+#ifndef __VALGRIND_DRD_H
+#define __VALGRIND_DRD_H
+
+
+#include "valgrind.h"
+
+
+/* !! ABIWARNING !! ABIWARNING !! ABIWARNING !! ABIWARNING !!
+ This enum comprises an ABI exported by Valgrind to programs
+ which use client requests. DO NOT CHANGE THE ORDER OF THESE
+ ENTRIES, NOR DELETE ANY -- add new ones at the end.
+ */
+
+
+/** Tell DRD to suppress data race detection on the specified variable. */
+#define DRD_IGNORE_VAR(x) vg_drd_ignore_range(&(x), sizeof(x))
+
+/** Tell DRD to trace all memory accesses on the specified variable.
+ * until the memory that was allocated for the variable is freed.
+ */
+#define DRD_TRACE_VAR(x) vg_drd_trace_range(&(x), sizeof(x))
+
+
+enum
+{
+ /* Ask the core the thread ID assigned by Valgrind. */
+ VG_USERREQ__GET_THREAD_SELF = VG_USERREQ_TOOL_BASE('D','R'),
+ /* args: none. */
+
+ /* To tell the drd tool to suppress data race detection on the specified */
+ /* address range. */
+ VG_USERREQ__DRD_START_SUPPRESSION,
+ /* args: start address, size in bytes */
+ /* To tell the drd tool no longer to suppress data race detection on the */
+ /* specified address range. */
+ VG_USERREQ__DRD_FINISH_SUPPRESSION,
+ /* args: start address, size in bytes */
+
+ /* To ask the drd tool to trace all accesses to the specified range. */
+ VG_USERREQ__DRD_START_TRACE_ADDR,
+ /* args: Addr, SizeT. */
+ /* To ask the drd tool to stop tracing accesses to the specified range. */
+ VG_USERREQ__DRD_STOP_TRACE_ADDR,
+ /* args: Addr, SizeT. */
+};
+
+
+static __inline__
+int vg_get_drd_threadid(void)
+{
+ int res;
+ VALGRIND_DO_CLIENT_REQUEST(res, 0, VG_USERREQ__GET_THREAD_SELF, 0,0,0,0,0);
+ return res;
+}
+
+static __inline__
+void vg_drd_ignore_range(const void* const p, const int size)
+{
+ int res;
+ VALGRIND_DO_CLIENT_REQUEST(res, 0, VG_USERREQ__DRD_START_SUPPRESSION,
+ p, size, 0, 0, 0);
+}
+
+static __inline__
+void vg_drd_trace_range(const void* const p, const int size)
+{
+ int res;
+ VALGRIND_DO_CLIENT_REQUEST(res, 0, VG_USERREQ__DRD_START_TRACE_ADDR,
+ p, size, 0, 0, 0);
+}
+
+
+#endif /* __VALGRIND_DRD_H */
Modified: trunk/exp-drd/drd_clientreq.h
===================================================================
--- trunk/exp-drd/drd_clientreq.h 2008-06-30 13:15:33 UTC (rev 8321)
+++ trunk/exp-drd/drd_clientreq.h 2008-06-30 17:10:29 UTC (rev 8322)
@@ -2,39 +2,17 @@
#define __DRD_CLIENTREQ_H
-#include "valgrind.h" // VG_USERREQ_TOOL_BASE()
+#include "drd.h"
-#define DRD_IGNORE_VAR(x) { int res; VALGRIND_DO_CLIENT_REQUEST(res, 0, VG_USERREQ__DRD_START_SUPPRESSION, &(x), sizeof(x), 0, 0, 0); }
-#define DRD_TRACE_VAR(x) { int res; VALGRIND_DO_CLIENT_REQUEST(res, 0, VG_USERREQ__DRD_START_TRACE_ADDR, &(x), sizeof(x), 0, 0, 0); }
-
-
enum {
- /* Ask the core the thread ID assigned by Valgrind. */
- VG_USERREQ__GET_THREAD_SELF = VG_USERREQ_TOOL_BASE('D', 'R'),
- /* args: none. */
-
- /* To tell the drd tool to suppress data race detection on the specified */
- /* address range. */
- VG_USERREQ__DRD_START_SUPPRESSION,
- /* args: start address, size in bytes */
- /* To tell the drd tool no longer to suppress data race detection on the */
- /* specified address range. */
- VG_USERREQ__DRD_FINISH_SUPPRESSION,
- /* args: start address, size in bytes */
/* Ask drd to suppress data race reports on all currently allocated stack */
/* data of the current thread. */
- VG_USERREQ__DRD_SUPPRESS_CURRENT_STACK,
+ VG_USERREQ__DRD_SUPPRESS_CURRENT_STACK = VG_USERREQ_TOOL_BASE('D', 'r'),
/* args: none */
/* To ask the drd tool to start a new segment in the specified thread. */
VG_USERREQ__DRD_START_NEW_SEGMENT,
/* args: POSIX thread ID. */
- /* To ask the drd tool to trace all accesses to the specified range. */
- VG_USERREQ__DRD_START_TRACE_ADDR,
- /* args: Addr, SizeT. */
- /* To ask the drd tool to stop tracing accesses to the specified range. */
- VG_USERREQ__DRD_STOP_TRACE_ADDR,
- /* args: Addr, SizeT. */
/* Let the drd tool stop recording memory accesses in the calling thread. */
VG_USERREQ__DRD_STOP_RECORDING,
/* args: none. */
@@ -185,4 +163,5 @@
gomp_barrier = 2
} BarrierT;
+
#endif // __DRD_CLIENTREQ_H
Modified: trunk/exp-drd/tests/fp_race.c
===================================================================
--- trunk/exp-drd/tests/fp_race.c 2008-06-30 13:15:33 UTC (rev 8321)
+++ trunk/exp-drd/tests/fp_race.c 2008-06-30 17:10:29 UTC (rev 8322)
@@ -28,7 +28,7 @@
#include <stdio.h> // printf()
#include <pthread.h>
#include <unistd.h> // usleep()
-#include "../drd_clientreq.h"
+#include "../drd.h"
// Local functions declarations.
Modified: trunk/exp-drd/tests/omp_prime.c
===================================================================
--- trunk/exp-drd/tests/omp_prime.c 2008-06-30 13:15:33 UTC (rev 8321)
+++ trunk/exp-drd/tests/omp_prime.c 2008-06-30 17:10:29 UTC (rev 8322)
@@ -10,7 +10,7 @@
#include <stdio.h>
#include <stdlib.h>
#include <unistd.h> // getopt()
-#include "../drd_clientreq.h"
+#include "../drd.h"
static int is_prime(int* const pflag, int v)
Modified: trunk/exp-drd/tests/pth_cond_race.c
===================================================================
--- trunk/exp-drd/tests/pth_cond_race.c 2008-06-30 13:15:33 UTC (rev 8321)
+++ trunk/exp-drd/tests/pth_cond_race.c 2008-06-30 17:10:29 UTC (rev 8322)
@@ -6,7 +6,7 @@
#include <stdio.h> // printf()
#include <pthread.h>
#include <unistd.h> // usleep()
-#include "../drd_clientreq.h"
+#include "../drd.h"
// Local functions declarations.
Modified: trunk/exp-drd/tests/pth_detached.c
===================================================================
--- trunk/exp-drd/tests/pth_detached.c 2008-06-30 13:15:33 UTC (rev 8321)
+++ trunk/exp-drd/tests/pth_detached.c 2008-06-30 17:10:29 UTC (rev 8322)
@@ -8,7 +8,7 @@
#include <stdio.h>
#include <stdlib.h>
#include <unistd.h>
-#include "../drd_clientreq.h"
+#include "../drd.h"
static int s_finished_count;
Modified: trunk/exp-drd/tests/pth_detached_sem.c
===================================================================
--- trunk/exp-drd/tests/pth_detached_sem.c 2008-06-30 13:15:33 UTC (rev 8321)
+++ trunk/exp-drd/tests/pth_detached_sem.c 2008-06-30 17:10:29 UTC (rev 8322)
@@ -13,7 +13,7 @@
#include <stdio.h>
#include <stdlib.h>
#include <unistd.h>
-#include "../drd_clientreq.h"
+#include "../drd.h"
static sem_t s_sem;
Modified: trunk/exp-drd/tests/rwlock_race.c
===================================================================
--- trunk/exp-drd/tests/rwlock_race.c 2008-06-30 13:15:33 UTC (rev 8321)
+++ trunk/exp-drd/tests/rwlock_race.c 2008-06-30 17:10:29 UTC (rev 8322)
@@ -11,7 +11,7 @@
#include <pthread.h>
#include <stdio.h>
#include <unistd.h>
-#include "../drd_clientreq.h"
+#include "../drd.h"
static pthread_rwlock_t s_rwlock;
Modified: trunk/exp-drd/tests/sem_as_mutex.c
===================================================================
--- trunk/exp-drd/tests/sem_as_mutex.c 2008-06-30 13:15:33 UTC (rev 8321)
+++ trunk/exp-drd/tests/sem_as_mutex.c 2008-06-30 17:10:29 UTC (rev 8322)
@@ -29,7 +29,7 @@
#include <pthread.h>
#include <semaphore.h>
#include <unistd.h> // usleep()
-#include "../drd_clientreq.h"
+#include "../drd.h"
// Local functions declarations.
Modified: trunk/exp-drd/tests/sigalrm.c
===================================================================
--- trunk/exp-drd/tests/sigalrm.c 2008-06-30 13:15:33 UTC (rev 8321)
+++ trunk/exp-drd/tests/sigalrm.c 2008-06-30 17:10:29 UTC (rev 8322)
@@ -9,8 +9,9 @@
#include <time.h>
#include <unistd.h>
#include <asm/unistd.h>
-#include "../drd_clientreq.h"
+#include "../drd.h"
+
static int s_debug = 0;
@@ -23,13 +24,6 @@
#endif
}
-static int getvgtid()
-{
- int res;
- VALGRIND_DO_CLIENT_REQUEST(res, 0, VG_USERREQ__GET_THREAD_SELF, 0, 0, 0,0,0);
- return res;
-}
-
static void print_thread_id(const char* const label)
{
if (s_debug)
@@ -37,7 +31,7 @@
char msg[256];
snprintf(msg, sizeof(msg),
"%spid %d / kernel thread ID %d / Valgrind thread ID %d\n",
- label, getpid(), getktid(), getvgtid());
+ label, getpid(), getktid(), vg_get_drd_threadid());
write(STDOUT_FILENO, msg, strlen(msg));
}
}
@@ -67,7 +61,7 @@
if (argc > 1)
s_debug = 1;
- vgthreadid = getvgtid();
+ vgthreadid = vg_get_drd_threadid();
print_thread_id("main: ");
|
|
From: Bart V. A. <bar...@gm...> - 2008-06-30 15:22:34
|
On Mon, Jun 30, 2008 at 12:26 PM, Julian Seward <js...@ac...> wrote: > So I've added Imbe_SnoopedStoreBegin > and Imbe_SnoopedStoreEnd for that purpose instead. (r1857, r8316). If I understand the VEX modifications correctly, all stwcx instructions will be translated into regular stores. Is this safe ? Will Valgrind never schedule another thread between lwarx and stwcx instructions ? Bart. |
|
From: Bart V. A. <bar...@gm...> - 2008-06-30 13:49:49
|
On Mon, Jun 30, 2008 at 12:26 PM, Julian Seward <js...@ac...> wrote: > Well, I see that it would cause drd to not complain about stwcx > accesses, by causing it to ignore them: It is on purpose that drd "ignores" atomic stores: in order to detect data races on atomic variables, it is sufficient to detect races between loads and regular stores w.r.t. atomic variables. It is not necessary to record any information about atomic stores. Bart. |
|
From: <sv...@va...> - 2008-06-30 13:15:26
|
Author: bart
Date: 2008-06-30 14:15:33 +0100 (Mon, 30 Jun 2008)
New Revision: 8321
Log:
Fixes for CentOS 3.0.
Modified:
trunk/exp-drd/drd_main.c
trunk/exp-drd/tests/tc20_verifywrap2.stderr.exp-glibc2.3-b
Modified: trunk/exp-drd/drd_main.c
===================================================================
--- trunk/exp-drd/drd_main.c 2008-06-30 12:45:45 UTC (rev 8320)
+++ trunk/exp-drd/drd_main.c 2008-06-30 13:15:33 UTC (rev 8321)
@@ -1048,6 +1048,18 @@
switch (st->tag)
{
+ /* Note: the code for not instrumenting the code in .plt */
+ /* sections is only necessary on CentOS 3.0 x86 (kernel 2.4.21 */
+ /* + glibc 2.3.2 + NPTL 0.60 + binutils 2.14.90.0.4). */
+ /* This is because on this platform dynamic library symbols are */
+ /* relocated in another way than by later binutils versions. The */
+ /* linker e.g. does not generate .got.plt sections on CentOS 3.0. */
+ case Ist_IMark:
+ instrument = VG_(seginfo_sect_kind)(NULL, 0, st->Ist.IMark.addr)
+ != Vg_SectPLT;
+ addStmtToIRSB(bb, st);
+ break;
+
case Ist_MBE:
switch (st->Ist.MBE.event)
{
Modified: trunk/exp-drd/tests/tc20_verifywrap2.stderr.exp-glibc2.3-b
===================================================================
--- trunk/exp-drd/tests/tc20_verifywrap2.stderr.exp-glibc2.3-b 2008-06-30 12:45:45 UTC (rev 8320)
+++ trunk/exp-drd/tests/tc20_verifywrap2.stderr.exp-glibc2.3-b 2008-06-30 13:15:33 UTC (rev 8321)
@@ -107,6 +107,10 @@
[1/1] semaphore_init 0x........
[1/1] semaphore_init 0x........
+Semaphore reinitialization: semaphore 0x........
+ at 0x........: sem_init* (drd_pthread_intercepts.c:?)
+ by 0x........: main (tc20_verifywrap.c:231)
+
FIXME: can't figure out how to verify wrap of sem_destroy
[1/1] semaphore_pre_wait 0x........
@@ -135,4 +139,4 @@
[1/1] post_mutex_lock recursive mutex 0x........ rc 0 owner 0
[1/1] mutex_unlock recursive mutex 0x........ rc 1
-ERROR SUMMARY: 14 errors from 14 contexts (suppressed: 0 from 0)
+ERROR SUMMARY: 15 errors from 15 contexts (suppressed: 0 from 0)
|
|
From: <sv...@va...> - 2008-06-30 12:45:38
|
Author: bart
Date: 2008-06-30 13:45:45 +0100 (Mon, 30 Jun 2008)
New Revision: 8320
Log:
Updated expected output.
Modified:
trunk/exp-drd/tests/tc20_verifywrap.stderr.exp-glibc2.3
trunk/exp-drd/tests/tc20_verifywrap2.stderr.exp-glibc2.3
Modified: trunk/exp-drd/tests/tc20_verifywrap.stderr.exp-glibc2.3
===================================================================
--- trunk/exp-drd/tests/tc20_verifywrap.stderr.exp-glibc2.3 2008-06-30 11:13:35 UTC (rev 8319)
+++ trunk/exp-drd/tests/tc20_verifywrap.stderr.exp-glibc2.3 2008-06-30 12:45:45 UTC (rev 8320)
@@ -83,6 +83,10 @@
---------------- sem_* ----------------
+Semaphore reinitialization: semaphore 0x........
+ at 0x........: sem_init* (drd_pthread_intercepts.c:?)
+ by 0x........: main (tc20_verifywrap.c:231)
+
FIXME: can't figure out how to verify wrap of sem_destroy
@@ -102,4 +106,4 @@
Destroying locked mutex: mutex 0x........, recursion count 1, owner 1.
at 0x........: main (tc20_verifywrap.c:262)
-ERROR SUMMARY: 14 errors from 14 contexts (suppressed: 0 from 0)
+ERROR SUMMARY: 15 errors from 15 contexts (suppressed: 0 from 0)
Modified: trunk/exp-drd/tests/tc20_verifywrap2.stderr.exp-glibc2.3
===================================================================
--- trunk/exp-drd/tests/tc20_verifywrap2.stderr.exp-glibc2.3 2008-06-30 11:13:35 UTC (rev 8319)
+++ trunk/exp-drd/tests/tc20_verifywrap2.stderr.exp-glibc2.3 2008-06-30 12:45:45 UTC (rev 8320)
@@ -107,6 +107,10 @@
[1/1] semaphore_init 0x........
[1/1] semaphore_init 0x........
+Semaphore reinitialization: semaphore 0x........
+ at 0x........: sem_init* (drd_pthread_intercepts.c:?)
+ by 0x........: main (tc20_verifywrap.c:231)
+
FIXME: can't figure out how to verify wrap of sem_destroy
[1/1] semaphore_pre_wait 0x........
@@ -180,4 +184,4 @@
[1/1] post_mutex_lock recursive mutex 0x........ rc 0 owner 1
[1/1] mutex_unlock recursive mutex 0x........ rc 1
-ERROR SUMMARY: 14 errors from 14 contexts (suppressed: 0 from 0)
+ERROR SUMMARY: 15 errors from 15 contexts (suppressed: 0 from 0)
|
|
From: <sv...@va...> - 2008-06-30 11:13:28
|
Author: bart Date: 2008-06-30 12:13:35 +0100 (Mon, 30 Jun 2008) New Revision: 8319 Log: Fixed race condition which could make the test program hang (signal could be sent before pthread_cond_wait() started). Modified: trunk/exp-drd/tests/pth_inconsistent_cond_wait.c Modified: trunk/exp-drd/tests/pth_inconsistent_cond_wait.c =================================================================== --- trunk/exp-drd/tests/pth_inconsistent_cond_wait.c 2008-06-30 10:56:18 UTC (rev 8318) +++ trunk/exp-drd/tests/pth_inconsistent_cond_wait.c 2008-06-30 11:13:35 UTC (rev 8319) @@ -44,6 +44,10 @@ pthread_create(&tid1, 0, &thread1, 0); pthread_create(&tid2, 0, &thread2, 0); sem_wait(&s_sem); + pthread_mutex_lock(&s_mutex1); + pthread_mutex_lock(&s_mutex2); + pthread_mutex_unlock(&s_mutex2); + pthread_mutex_unlock(&s_mutex1); pthread_cond_signal(&s_cond); pthread_cond_signal(&s_cond); pthread_join(tid1, 0); |
|
From: <sv...@va...> - 2008-06-30 10:56:15
|
Author: bart
Date: 2008-06-30 11:56:18 +0100 (Mon, 30 Jun 2008)
New Revision: 8318
Log:
Since information about PowerPC-specific atomic instructions is now passed to tools, remove the warning about these instructions not being supported.
Modified:
trunk/exp-drd/drd_main.c
Modified: trunk/exp-drd/drd_main.c
===================================================================
--- trunk/exp-drd/drd_main.c 2008-06-30 10:50:33 UTC (rev 8317)
+++ trunk/exp-drd/drd_main.c 2008-06-30 10:56:18 UTC (rev 8318)
@@ -831,16 +831,11 @@
static
void drd_post_clo_init(void)
{
-# if defined(VGP_x86_linux) || defined(VGP_amd64_linux)
+# if defined(VGP_x86_linux) || defined(VGP_amd64_linux) \
+ || defined(VGP_ppc32_linux) || defined(VGP_ppc64_linux)
/* fine */
-# elif defined(VGP_ppc32_linux) || defined(VGP_ppc64_linux)
- VG_(printf)(
-"\nWARNING: support for PowerPC-specific atomic instructions like lwarx and\n"
-"stwcx is not yet complete. As a result, false positives will be reported on\n"
-"code that uses these instructions. This will happen e.g. when printf() is\n"
-"called from more than one thread.\n\n");
# else
- VG_(printf)("\nWARNING: DRD has only been tested on x86-linux and amd64-linux.\n\n");
+ VG_(printf)("\nWARNING: DRD has only been tested on Linux.\n\n");
# endif
if (s_drd_var_info)
|
|
From: <sv...@va...> - 2008-06-30 10:50:26
|
Author: bart Date: 2008-06-30 11:50:33 +0100 (Mon, 30 Jun 2008) New Revision: 8317 Log: Apparently converting a stack address into a symbolic name doesn't work for the hg05_race2 test program on PowerPC systems. Added additional expected output file. Added: trunk/exp-drd/tests/hg05_race2.stderr.exp-powerpc Added: trunk/exp-drd/tests/hg05_race2.stderr.exp-powerpc =================================================================== --- trunk/exp-drd/tests/hg05_race2.stderr.exp-powerpc (rev 0) +++ trunk/exp-drd/tests/hg05_race2.stderr.exp-powerpc 2008-06-30 10:50:33 UTC (rev 8317) @@ -0,0 +1,25 @@ + +Thread 2: +Conflicting load by thread 2/3 at 0x........ size 4 + at 0x........: th (hg05_race2.c:17) + by 0x........: vg_thread_wrapper (drd_pthread_intercepts.c:?) + by 0x........: (within libpthread-?.?.so) + by 0x........: clone (in /...libc...) +Allocation context: unknown. +Other segment start (thread 0/2) + (thread finished, call stack no longer available) +Other segment end (thread 0/2) + (thread finished, call stack no longer available) + +Conflicting store by thread 2/3 at 0x........ size 4 + at 0x........: th (hg05_race2.c:17) + by 0x........: vg_thread_wrapper (drd_pthread_intercepts.c:?) + by 0x........: (within libpthread-?.?.so) + by 0x........: clone (in /...libc...) +Allocation context: unknown. +Other segment start (thread 0/2) + (thread finished, call stack no longer available) +Other segment end (thread 0/2) + (thread finished, call stack no longer available) + +ERROR SUMMARY: 2 errors from 2 contexts (suppressed: 0 from 0) |
|
From: Julian S. <js...@ac...> - 2008-06-30 10:33:42
|
> What is your opinion about the patch below ? This patch allows
> Helgrind and DRD to recognize stwcx instructions as atomic: if stwcx
> performs a store, bus lock and bus unlock events are passed to
> Valgrind tools around the actual store.
> /* Success? Do the (32bit) store */
> + stmt( IRStmt_MBE(Imbe_BusLock) );
> storeBE( mkexpr(EA), mkSzNarrow32(ty, mkexpr(rS)) );
> + stmt( IRStmt_MBE(Imbe_BusUnlock) );
Well, I see that it would cause drd to not complain about stwcx
accesses, by causing it to ignore them:
case Ist_Store:
if (instrument && ! bus_locked)
{
instrument_store(bb, [...]
Problem is this really just uses Imbe_Bus{Lock,Unlock} as markers
around stores which you want to ignore. They are however intended
to state that an imaginary lock is held (on an x86 machine) for
the duration of a read-modify-write instruction, and I don't want to
re-use them for a different purpose. So I've added Imbe_SnoopedStoreBegin
and Imbe_SnoopedStoreEnd for that purpose instead. (r1857, r8316).
J
|
|
From: <sv...@va...> - 2008-06-30 10:32:46
|
Author: sewardj
Date: 2008-06-30 11:32:54 +0100 (Mon, 30 Jun 2008)
New Revision: 8316
Log:
Track vex r1857 (addition of Imbe_SnoopedStoreBegin and
Imbe_SnoopedStoreEnd).
Modified:
trunk/exp-drd/drd_main.c
trunk/helgrind/hg_main.c
Modified: trunk/exp-drd/drd_main.c
===================================================================
--- trunk/exp-drd/drd_main.c 2008-06-30 10:28:16 UTC (rev 8315)
+++ trunk/exp-drd/drd_main.c 2008-06-30 10:32:54 UTC (rev 8316)
@@ -1059,10 +1059,12 @@
case Imbe_Fence:
break; /* not interesting */
case Imbe_BusLock:
+ case Imbe_SnoopedStoreBegin:
tl_assert(! bus_locked);
bus_locked = True;
break;
case Imbe_BusUnlock:
+ case Imbe_SnoopedStoreEnd:
tl_assert(bus_locked);
bus_locked = False;
break;
Modified: trunk/helgrind/hg_main.c
===================================================================
--- trunk/helgrind/hg_main.c 2008-06-30 10:28:16 UTC (rev 8315)
+++ trunk/helgrind/hg_main.c 2008-06-30 10:32:54 UTC (rev 8316)
@@ -7349,6 +7349,11 @@
static void instrument_memory_bus_event ( IRSB* bbOut, IRMBusEvent event )
{
switch (event) {
+ case Imbe_SnoopedStoreBegin:
+ case Imbe_SnoopedStoreEnd:
+ /* These arise from ppc stwcx. insns. They should perhaps be
+ handled better. */
+ break;
case Imbe_Fence:
break; /* not interesting */
case Imbe_BusLock:
|
|
From: <sv...@va...> - 2008-06-30 10:31:44
|
Author: sewardj
Date: 2008-06-30 11:31:47 +0100 (Mon, 30 Jun 2008)
New Revision: 1857
Log:
Add Imbe_SnoopedStoreBegin and Imbe_SnoopedStoreEnd, to be used for
bracketing snooped stores; fix up compilation pipeline to accept
(ignore) them.
Modified:
trunk/priv/guest-ppc/toIR.c
trunk/priv/host-ppc/isel.c
trunk/priv/ir/irdefs.c
trunk/pub/libvex_ir.h
Modified: trunk/priv/guest-ppc/toIR.c
===================================================================
--- trunk/priv/guest-ppc/toIR.c 2008-06-04 11:41:02 UTC (rev 1856)
+++ trunk/priv/guest-ppc/toIR.c 2008-06-30 10:31:47 UTC (rev 1857)
@@ -4895,9 +4895,13 @@
If resaddr != lwarx_resaddr, CR0[EQ] is undefined, and
whether rS is stored is dependent on that value. */
- /* Success? Do the (32bit) store */
+ /* Success? Do the (32bit) store. Mark the store as
+ snooped, so that threading tools can handle it differently
+ if necessary. */
+ stmt( IRStmt_MBE(Imbe_SnoopedStoreBegin) );
storeBE( mkexpr(EA), mkSzNarrow32(ty, mkexpr(rS)) );
-
+ stmt( IRStmt_MBE(Imbe_SnoopedStoreEnd) );
+
// Set CR0[LT GT EQ S0] = 0b001 || XER[SO]
putCR321(0, mkU8(1<<1));
break;
Modified: trunk/priv/host-ppc/isel.c
===================================================================
--- trunk/priv/host-ppc/isel.c 2008-06-04 11:41:02 UTC (rev 1856)
+++ trunk/priv/host-ppc/isel.c 2008-06-30 10:31:47 UTC (rev 1857)
@@ -3947,6 +3947,8 @@
return;
case Imbe_BusLock:
case Imbe_BusUnlock:
+ case Imbe_SnoopedStoreBegin:
+ case Imbe_SnoopedStoreEnd:
return;
default:
break;
Modified: trunk/priv/ir/irdefs.c
===================================================================
--- trunk/priv/ir/irdefs.c 2008-06-04 11:41:02 UTC (rev 1856)
+++ trunk/priv/ir/irdefs.c 2008-06-30 10:31:47 UTC (rev 1857)
@@ -745,10 +745,12 @@
void ppIRMBusEvent ( IRMBusEvent event )
{
switch (event) {
- case Imbe_Fence: vex_printf("Fence"); break;
- case Imbe_BusLock: vex_printf("BusLock"); break;
- case Imbe_BusUnlock: vex_printf("BusUnlock"); break;
- default: vpanic("ppIRMBusEvent");
+ case Imbe_Fence: vex_printf("Fence"); break;
+ case Imbe_BusLock: vex_printf("BusLock"); break;
+ case Imbe_BusUnlock: vex_printf("BusUnlock"); break;
+ case Imbe_SnoopedStoreBegin: vex_printf("SnoopedStoreBegin"); break;
+ case Imbe_SnoopedStoreEnd: vex_printf("SnoopedStoreEnd"); break;
+ default: vpanic("ppIRMBusEvent");
}
}
@@ -2534,6 +2536,7 @@
case Ist_MBE:
switch (stmt->Ist.MBE.event) {
case Imbe_Fence: case Imbe_BusLock: case Imbe_BusUnlock:
+ case Imbe_SnoopedStoreBegin: case Imbe_SnoopedStoreEnd:
break;
default: sanityCheckFail(bb,stmt,"IRStmt.MBE.event: unknown");
break;
Modified: trunk/pub/libvex_ir.h
===================================================================
--- trunk/pub/libvex_ir.h 2008-06-04 11:41:02 UTC (rev 1856)
+++ trunk/pub/libvex_ir.h 2008-06-30 10:31:47 UTC (rev 1857)
@@ -1336,7 +1336,9 @@
enum {
Imbe_Fence=0x18000,
Imbe_BusLock,
- Imbe_BusUnlock
+ Imbe_BusUnlock,
+ Imbe_SnoopedStoreBegin,
+ Imbe_SnoopedStoreEnd
}
IRMBusEvent;
|
|
From: <sv...@va...> - 2008-06-30 10:28:21
|
Author: bart
Date: 2008-06-30 11:28:16 +0100 (Mon, 30 Jun 2008)
New Revision: 8315
Log:
Fixed ppc-specific format string mismatches.
Modified:
branches/FORMATCHECK/coregrind/m_sigframe/sigframe-ppc32-linux.c
branches/FORMATCHECK/coregrind/m_sigframe/sigframe-ppc64-linux.c
branches/FORMATCHECK/coregrind/m_stacktrace.c
branches/FORMATCHECK/coregrind/m_syswrap/syswrap-main.c
branches/FORMATCHECK/coregrind/m_syswrap/syswrap-ppc32-linux.c
branches/FORMATCHECK/coregrind/m_syswrap/syswrap-ppc64-linux.c
Modified: branches/FORMATCHECK/coregrind/m_sigframe/sigframe-ppc32-linux.c
===================================================================
--- branches/FORMATCHECK/coregrind/m_sigframe/sigframe-ppc32-linux.c 2008-06-30 08:57:23 UTC (rev 8314)
+++ branches/FORMATCHECK/coregrind/m_sigframe/sigframe-ppc32-linux.c 2008-06-30 10:28:16 UTC (rev 8315)
@@ -511,14 +511,14 @@
if (VG_(extend_stack)(addr, tst->client_stack_szB)) {
stackseg = VG_(am_find_nsegment)(addr);
if (0 && stackseg)
- VG_(printf)("frame=%p seg=%p-%p\n",
+ VG_(printf)("frame=%#lx seg=%#lx-%#lx\n",
addr, stackseg->start, stackseg->end);
}
if (stackseg == NULL || !stackseg->hasR || !stackseg->hasW) {
VG_(message)(
Vg_UserMsg,
- "Can't extend stack to %p during signal delivery for thread %d:",
+ "Can't extend stack to %#lx during signal delivery for thread %d:",
addr, tid);
if (stackseg == NULL)
VG_(message)(Vg_UserMsg, " no stack segment");
@@ -789,8 +789,8 @@
//.. caller to do. */
if (0)
- VG_(printf)("pushed signal frame; %R1 now = %p, "
- "next %%CIA = %p, status=%d\n",
+ VG_(printf)("pushed signal frame; %%R1 now = %#lx, "
+ "next %%CIA = %#x, status=%d\n",
sp, tst->arch.vex.guest_CIA, tst->status);
}
@@ -940,7 +940,7 @@
if (VG_(clo_trace_signals))
VG_(message)(Vg_DebugMsg,
- "vg_pop_signal_frame (thread %d): isRT=%d valid magic; EIP=%p",
+ "vg_pop_signal_frame (thread %d): isRT=%d valid magic; EIP=%#x",
tid, has_siginfo, tst->arch.vex.guest_CIA);
/* tell the tools */
Modified: branches/FORMATCHECK/coregrind/m_sigframe/sigframe-ppc64-linux.c
===================================================================
--- branches/FORMATCHECK/coregrind/m_sigframe/sigframe-ppc64-linux.c 2008-06-30 08:57:23 UTC (rev 8314)
+++ branches/FORMATCHECK/coregrind/m_sigframe/sigframe-ppc64-linux.c 2008-06-30 10:28:16 UTC (rev 8315)
@@ -141,14 +141,14 @@
if (VG_(extend_stack)(addr, tst->client_stack_szB)) {
stackseg = VG_(am_find_nsegment)(addr);
if (0 && stackseg)
- VG_(printf)("frame=%p seg=%p-%p\n",
+ VG_(printf)("frame=%#lx seg=%#lx-%#lx\n",
addr, stackseg->start, stackseg->end);
}
if (stackseg == NULL || !stackseg->hasR || !stackseg->hasW) {
VG_(message)(
Vg_UserMsg,
- "Can't extend stack to %p during signal delivery for thread %d:",
+ "Can't extend stack to %#lx during signal delivery for thread %d:",
addr, tid);
if (stackseg == NULL)
VG_(message)(Vg_UserMsg, " no stack segment");
@@ -307,8 +307,8 @@
priv->vex_shadow2 = tst->arch.vex_shadow2;
if (0)
- VG_(printf)("pushed signal frame; %R1 now = %p, "
- "next %%CIA = %p, status=%d\n",
+ VG_(printf)("pushed signal frame; %%R1 now = %#lx, "
+ "next %%CIA = %#llx, status=%d\n",
sp, tst->arch.vex.guest_CIA, tst->status);
}
@@ -375,7 +375,7 @@
if (VG_(clo_trace_signals))
VG_(message)(Vg_DebugMsg,
- "vg_pop_signal_frame (thread %d): isRT=%d valid magic; EIP=%p",
+ "vg_pop_signal_frame (thread %d): isRT=%d valid magic; EIP=%#llx",
tid, has_siginfo, tst->arch.vex.guest_CIA);
/* tell the tools */
Modified: branches/FORMATCHECK/coregrind/m_stacktrace.c
===================================================================
--- branches/FORMATCHECK/coregrind/m_stacktrace.c 2008-06-30 08:57:23 UTC (rev 8314)
+++ branches/FORMATCHECK/coregrind/m_stacktrace.c 2008-06-30 10:28:16 UTC (rev 8315)
@@ -407,7 +407,7 @@
if (fps) fps[i] = fp;
ips[i++] = ip;
if (debug)
- VG_(printf)(" ipsF[%d]=%#08x\n", i-1, ips[i-1]);
+ VG_(printf)(" ipsF[%d]=%#08lx\n", i-1, ips[i-1]);
continue;
}
Modified: branches/FORMATCHECK/coregrind/m_syswrap/syswrap-main.c
===================================================================
--- branches/FORMATCHECK/coregrind/m_syswrap/syswrap-main.c 2008-06-30 08:57:23 UTC (rev 8314)
+++ branches/FORMATCHECK/coregrind/m_syswrap/syswrap-main.c 2008-06-30 10:28:16 UTC (rev 8315)
@@ -1193,8 +1193,8 @@
if (p[0] != 0x44 || p[1] != 0x0 || p[2] != 0x0 || p[3] != 0x02)
VG_(message)(Vg_DebugMsg,
- "?! restarting over syscall at %#lx %02x %02x %02x %02x\n",
- arch->vex.guest_CIA, p[0], p[1], p[2], p[3]);
+ "?! restarting over syscall at %#llx %02x %02x %02x %02x\n",
+ arch->vex.guest_CIA + 0ULL, p[0], p[1], p[2], p[3]);
vg_assert(p[0] == 0x44 && p[1] == 0x0 && p[2] == 0x0 && p[3] == 0x2);
}
Modified: branches/FORMATCHECK/coregrind/m_syswrap/syswrap-ppc32-linux.c
===================================================================
--- branches/FORMATCHECK/coregrind/m_syswrap/syswrap-ppc32-linux.c 2008-06-30 08:57:23 UTC (rev 8314)
+++ branches/FORMATCHECK/coregrind/m_syswrap/syswrap-ppc32-linux.c 2008-06-30 10:28:16 UTC (rev 8315)
@@ -308,10 +308,10 @@
VG_(register_stack)(seg->start, ctst->client_stack_highest_word);
if (debug)
- VG_(printf)("\ntid %d: guessed client stack range %p-%p\n",
+ VG_(printf)("\ntid %d: guessed client stack range %#lx-%#lx\n",
ctid, seg->start, VG_PGROUNDUP(sp));
} else {
- VG_(message)(Vg_UserMsg, "!? New thread %d starts with R1(%p) unmapped\n",
+ VG_(message)(Vg_UserMsg, "!? New thread %d starts with R1(%#lx) unmapped\n",
ctid, sp);
ctst->client_stack_szB = 0;
}
@@ -324,7 +324,7 @@
if (flags & VKI_CLONE_SETTLS) {
if (debug)
- VG_(printf)("clone child has SETTLS: tls at %p\n", child_tls);
+ VG_(printf)("clone child has SETTLS: tls at %#lx\n", child_tls);
ctst->arch.vex.guest_GPR2 = child_tls;
}
@@ -417,7 +417,7 @@
# define ARG2_5 (((UWord*)ARG2)[5])
*flags |= SfMayBlock;
- PRINT("sys_socketcall ( %d, %p )",ARG1,ARG2);
+ PRINT("sys_socketcall ( %ld, %#lx )",ARG1,ARG2);
PRE_REG_READ2(long, "socketcall", int, call, unsigned long *, args);
switch (ARG1 /* request */) {
@@ -549,7 +549,7 @@
}
default:
- VG_(message)(Vg_DebugMsg,"Warning: unhandled socketcall 0x%x",ARG1);
+ VG_(message)(Vg_DebugMsg,"Warning: unhandled socketcall 0x%lx",ARG1);
SET_STATUS_Failure( VKI_EINVAL );
break;
}
@@ -652,7 +652,7 @@
break;
default:
- VG_(message)(Vg_DebugMsg,"FATAL: unhandled socketcall 0x%x",ARG1);
+ VG_(message)(Vg_DebugMsg,"FATAL: unhandled socketcall 0x%lx",ARG1);
VG_(core_panic)("... bye!\n");
break; /*NOTREACHED*/
}
@@ -668,7 +668,7 @@
{
SysRes r;
- PRINT("sys_mmap ( %p, %llu, %d, %d, %d, %d )",
+ PRINT("sys_mmap ( %#lx, %llu, %ld, %ld, %ld, %ld )",
ARG1, (ULong)ARG2, ARG3, ARG4, ARG5, ARG6 );
PRE_REG_READ6(long, "mmap",
unsigned long, start, unsigned long, length,
@@ -687,7 +687,7 @@
// Exactly like old_mmap() except:
// - the file offset is specified in 4K units rather than bytes,
// so that it can be used for files bigger than 2^32 bytes.
- PRINT("sys_mmap2 ( %p, %llu, %d, %d, %d, %d )",
+ PRINT("sys_mmap2 ( %#lx, %llu, %ld, %ld, %ld, %ld )",
ARG1, (ULong)ARG2, ARG3, ARG4, ARG5, ARG6 );
PRE_REG_READ6(long, "mmap2",
unsigned long, start, unsigned long, length,
@@ -705,7 +705,7 @@
// things, eventually, I think. --njn
PRE(sys_stat64)
{
- PRINT("sys_stat64 ( %p, %p )",ARG1,ARG2);
+ PRINT("sys_stat64 ( %#lx, %#lx )",ARG1,ARG2);
PRE_REG_READ2(long, "stat64", char *, file_name, struct stat64 *, buf);
PRE_MEM_RASCIIZ( "stat64(file_name)", ARG1 );
PRE_MEM_WRITE( "stat64(buf)", ARG2, sizeof(struct vki_stat64) );
@@ -718,7 +718,7 @@
PRE(sys_lstat64)
{
- PRINT("sys_lstat64 ( %p(%s), %p )",ARG1,ARG1,ARG2);
+ PRINT("sys_lstat64 ( %#lx(%s), %#lx )",ARG1,(char*)ARG1,ARG2);
PRE_REG_READ2(long, "lstat64", char *, file_name, struct stat64 *, buf);
PRE_MEM_RASCIIZ( "lstat64(file_name)", ARG1 );
PRE_MEM_WRITE( "lstat64(buf)", ARG2, sizeof(struct vki_stat64) );
@@ -734,7 +734,7 @@
PRE(sys_fstatat64)
{
- PRINT("sys_fstatat64 ( %d, %p(%s), %p )",ARG1,ARG2,ARG2,ARG3);
+ PRINT("sys_fstatat64 ( %ld, %#lx(%s), %#lx )",ARG1,ARG2,(char*)ARG2,ARG3);
PRE_REG_READ3(long, "fstatat64",
int, dfd, char *, file_name, struct stat64 *, buf);
PRE_MEM_RASCIIZ( "fstatat64(file_name)", ARG2 );
@@ -748,7 +748,7 @@
PRE(sys_fstat64)
{
- PRINT("sys_fstat64 ( %d, %p )",ARG1,ARG2);
+ PRINT("sys_fstat64 ( %ld, %#lx )",ARG1,ARG2);
PRE_REG_READ2(long, "fstat64", unsigned long, fd, struct stat64 *, buf);
PRE_MEM_WRITE( "fstat64(buf)", ARG2, sizeof(struct vki_stat64) );
}
@@ -767,7 +767,7 @@
PRE(sys_ipc)
{
- PRINT("sys_ipc ( %d, %d, %d, %d, %p, %d )", ARG1,ARG2,ARG3,ARG4,ARG5,ARG6);
+ PRINT("sys_ipc ( %ld, %ld, %ld, %ld, %#lx, %ld )", ARG1,ARG2,ARG3,ARG4,ARG5,ARG6);
// XXX: this is simplistic -- some args are not used in all circumstances.
PRE_REG_READ6(int, "ipc",
vki_uint, call, int, first, int, second, int, third,
@@ -839,7 +839,7 @@
ML_(generic_PRE_sys_shmctl)( tid, ARG2, ARG3, ARG5 );
break;
default:
- VG_(message)(Vg_DebugMsg, "FATAL: unhandled syscall(ipc) %d", ARG1 );
+ VG_(message)(Vg_DebugMsg, "FATAL: unhandled syscall(ipc) %ld", ARG1 );
VG_(core_panic)("... bye!\n");
break; /*NOTREACHED*/
}
@@ -904,7 +904,7 @@
break;
default:
VG_(message)(Vg_DebugMsg,
- "FATAL: unhandled syscall(ipc) %d",
+ "FATAL: unhandled syscall(ipc) %ld",
ARG1 );
VG_(core_panic)("... bye!\n");
break; /*NOTREACHED*/
@@ -951,7 +951,7 @@
{
UInt cloneflags;
- PRINT("sys_clone ( %x, %p, %p, %p, %p )",ARG1,ARG2,ARG3,ARG4,ARG5);
+ PRINT("sys_clone ( %lx, %#lx, %#lx, %#lx, %#lx )",ARG1,ARG2,ARG3,ARG4,ARG5);
PRE_REG_READ5(int, "clone",
unsigned long, flags,
void *, child_stack,
@@ -1011,7 +1011,7 @@
default:
/* should we just ENOSYS? */
- VG_(message)(Vg_UserMsg, "Unsupported clone() flags: 0x%x", ARG1);
+ VG_(message)(Vg_UserMsg, "Unsupported clone() flags: 0x%lx", ARG1);
VG_(message)(Vg_UserMsg, "");
VG_(message)(Vg_UserMsg, "The only supported clone() uses are:");
VG_(message)(Vg_UserMsg, " - via a threads library (LinuxThreads or NPTL)");
@@ -1380,7 +1380,7 @@
struct vki_sigaction new, old;
struct vki_sigaction *newp, *oldp;
- PRINT("sys_sigaction ( %d, %p, %p )", ARG1,ARG2,ARG3);
+ PRINT("sys_sigaction ( %ld, %#lx, %#lx )", ARG1,ARG2,ARG3);
PRE_REG_READ3(int, "sigaction",
int, signum, const struct old_sigaction *, act,
struct old_sigaction *, oldact);
@@ -1445,7 +1445,7 @@
that takes a pointer to the signal mask so supports more signals.
*/
*flags |= SfMayBlock;
- PRINT("sys_sigsuspend ( %d )", ARG1 );
+ PRINT("sys_sigsuspend ( %ld )", ARG1 );
PRE_REG_READ1(int, "sigsuspend", vki_old_sigset_t, mask);
}
Modified: branches/FORMATCHECK/coregrind/m_syswrap/syswrap-ppc64-linux.c
===================================================================
--- branches/FORMATCHECK/coregrind/m_syswrap/syswrap-ppc64-linux.c 2008-06-30 08:57:23 UTC (rev 8314)
+++ branches/FORMATCHECK/coregrind/m_syswrap/syswrap-ppc64-linux.c 2008-06-30 10:28:16 UTC (rev 8315)
@@ -336,10 +336,10 @@
VG_(register_stack)(seg->start, ctst->client_stack_highest_word);
if (debug)
- VG_(printf)("\ntid %d: guessed client stack range %p-%p\n",
+ VG_(printf)("\ntid %d: guessed client stack range %#lx-%#lx\n",
ctid, seg->start, VG_PGROUNDUP(sp));
} else {
- VG_(message)(Vg_UserMsg, "!? New thread %d starts with R1(%p) unmapped\n",
+ VG_(message)(Vg_UserMsg, "!? New thread %d starts with R1(%#lx) unmapped\n",
ctid, sp);
ctst->client_stack_szB = 0;
}
@@ -352,7 +352,7 @@
if (flags & VKI_CLONE_SETTLS) {
if (debug)
- VG_(printf)("clone child has SETTLS: tls at %p\n", child_tls);
+ VG_(printf)("clone child has SETTLS: tls at %#lx\n", child_tls);
ctst->arch.vex.guest_GPR13 = child_tls;
}
@@ -446,7 +446,7 @@
# define ARG2_5 (((UWord*)ARG2)[5])
*flags |= SfMayBlock;
- PRINT("sys_socketcall ( %d, %p )",ARG1,ARG2);
+ PRINT("sys_socketcall ( %ld, %#lx )",ARG1,ARG2);
PRE_REG_READ2(long, "socketcall", int, call, unsigned long *, args);
switch (ARG1 /* request */) {
@@ -578,7 +578,7 @@
}
default:
- VG_(message)(Vg_DebugMsg,"Warning: unhandled socketcall 0x%x",ARG1);
+ VG_(message)(Vg_DebugMsg,"Warning: unhandled socketcall 0x%lx",ARG1);
SET_STATUS_Failure( VKI_EINVAL );
break;
}
@@ -681,7 +681,7 @@
break;
default:
- VG_(message)(Vg_DebugMsg,"FATAL: unhandled socketcall 0x%x",ARG1);
+ VG_(message)(Vg_DebugMsg,"FATAL: unhandled socketcall 0x%lx",ARG1);
VG_(core_panic)("... bye!\n");
break; /*NOTREACHED*/
}
@@ -697,7 +697,7 @@
{
SysRes r;
- PRINT("sys_mmap ( %p, %llu, %d, %d, %d, %d )",
+ PRINT("sys_mmap ( %#lx, %llu, %ld, %ld, %ld, %ld )",
ARG1, (ULong)ARG2, ARG3, ARG4, ARG5, ARG6 );
PRE_REG_READ6(long, "mmap",
unsigned long, start, unsigned long, length,
@@ -782,7 +782,7 @@
PRE(sys_ipc)
{
- PRINT("sys_ipc ( %d, %d, %d, %d, %p, %d )", ARG1,ARG2,ARG3,ARG4,ARG5,ARG6);
+ PRINT("sys_ipc ( %ld, %ld, %ld, %ld, %#lx, %ld )", ARG1,ARG2,ARG3,ARG4,ARG5,ARG6);
// XXX: this is simplistic -- some args are not used in all circumstances.
PRE_REG_READ6(int, "ipc",
vki_uint, call, int, first, int, second, int, third,
@@ -854,7 +854,7 @@
ML_(generic_PRE_sys_shmctl)( tid, ARG2, ARG3, ARG5 );
break;
default:
- VG_(message)(Vg_DebugMsg, "FATAL: unhandled syscall(ipc) %d", ARG1 );
+ VG_(message)(Vg_DebugMsg, "FATAL: unhandled syscall(ipc) %ld", ARG1 );
VG_(core_panic)("... bye!\n");
break; /*NOTREACHED*/
}
@@ -919,7 +919,7 @@
break;
default:
VG_(message)(Vg_DebugMsg,
- "FATAL: unhandled syscall(ipc) %d",
+ "FATAL: unhandled syscall(ipc) %ld",
ARG1 );
VG_(core_panic)("... bye!\n");
break; /*NOTREACHED*/
@@ -930,7 +930,7 @@
{
UInt cloneflags;
- PRINT("sys_clone ( %x, %p, %p, %p, %p )",ARG1,ARG2,ARG3,ARG4,ARG5);
+ PRINT("sys_clone ( %lx, %#lx, %#lx, %#lx, %#lx )",ARG1,ARG2,ARG3,ARG4,ARG5);
PRE_REG_READ5(int, "clone",
unsigned long, flags,
void *, child_stack,
@@ -990,7 +990,7 @@
default:
/* should we just ENOSYS? */
- VG_(message)(Vg_UserMsg, "Unsupported clone() flags: 0x%x", ARG1);
+ VG_(message)(Vg_UserMsg, "Unsupported clone() flags: 0x%lx", ARG1);
VG_(message)(Vg_UserMsg, "");
VG_(message)(Vg_UserMsg, "The only supported clone() uses are:");
VG_(message)(Vg_UserMsg, " - via a threads library (LinuxThreads or NPTL)");
@@ -1013,7 +1013,7 @@
PRE(sys_fadvise64)
{
- PRINT("sys_fadvise64 ( %d, %lld, %llu, %d )", ARG1,ARG2,ARG3,ARG4);
+ PRINT("sys_fadvise64 ( %ld, %ld, %lu, %ld )", ARG1,ARG2,ARG3,ARG4);
PRE_REG_READ4(long, "fadvise64",
int, fd, vki_loff_t, offset, vki_size_t, len, int, advice);
}
|
Author: bart Date: 2008-06-30 09:57:23 +0100 (Mon, 30 Jun 2008) New Revision: 8314 Log: Fixed mismatches between format string and argument list. Modified: branches/FORMATCHECK/cachegrind/cg_main.c branches/FORMATCHECK/callgrind/bb.c branches/FORMATCHECK/callgrind/bbcc.c branches/FORMATCHECK/callgrind/callstack.c branches/FORMATCHECK/callgrind/context.c branches/FORMATCHECK/callgrind/debug.c branches/FORMATCHECK/callgrind/dump.c branches/FORMATCHECK/callgrind/fn.c branches/FORMATCHECK/callgrind/main.c branches/FORMATCHECK/callgrind/sim.c branches/FORMATCHECK/coregrind/m_debuginfo/d3basics.c branches/FORMATCHECK/coregrind/m_debuginfo/debuginfo.c branches/FORMATCHECK/coregrind/m_debuginfo/readdwarf.c branches/FORMATCHECK/coregrind/m_debuginfo/readdwarf3.c branches/FORMATCHECK/coregrind/m_debuginfo/readelf.c branches/FORMATCHECK/coregrind/m_debuginfo/storage.c branches/FORMATCHECK/coregrind/m_debuginfo/tytypes.c branches/FORMATCHECK/coregrind/m_errormgr.c branches/FORMATCHECK/coregrind/m_execontext.c branches/FORMATCHECK/coregrind/m_initimg/initimg-linux.c branches/FORMATCHECK/coregrind/m_main.c branches/FORMATCHECK/coregrind/m_mallocfree.c branches/FORMATCHECK/coregrind/m_scheduler/scheduler.c branches/FORMATCHECK/coregrind/m_sigframe/sigframe-amd64-linux.c branches/FORMATCHECK/coregrind/m_sigframe/sigframe-x86-linux.c branches/FORMATCHECK/coregrind/m_signals.c branches/FORMATCHECK/coregrind/m_stacks.c branches/FORMATCHECK/coregrind/m_stacktrace.c branches/FORMATCHECK/coregrind/m_syswrap/syswrap-amd64-linux.c branches/FORMATCHECK/coregrind/m_syswrap/syswrap-generic.c branches/FORMATCHECK/coregrind/m_syswrap/syswrap-linux.c branches/FORMATCHECK/coregrind/m_syswrap/syswrap-main.c branches/FORMATCHECK/coregrind/m_syswrap/syswrap-x86-linux.c branches/FORMATCHECK/coregrind/m_translate.c branches/FORMATCHECK/coregrind/m_transtab.c branches/FORMATCHECK/helgrind/hg_main.c branches/FORMATCHECK/helgrind/hg_wordset.c branches/FORMATCHECK/lackey/lk_main.c branches/FORMATCHECK/memcheck/mc_errors.c branches/FORMATCHECK/memcheck/mc_leakcheck.c branches/FORMATCHECK/memcheck/mc_main.c branches/FORMATCHECK/memcheck/mc_malloc_wrappers.c [... diff too large to include ...] |
|
From: <sv...@va...> - 2008-06-30 08:55:33
|
Author: bart
Date: 2008-06-30 09:55:35 +0100 (Mon, 30 Jun 2008)
New Revision: 8313
Log:
Fixed indentation.
Modified:
branches/FORMATCHECK/coregrind/m_debuglog.c
Modified: branches/FORMATCHECK/coregrind/m_debuglog.c
===================================================================
--- branches/FORMATCHECK/coregrind/m_debuglog.c 2008-06-30 08:50:07 UTC (rev 8312)
+++ branches/FORMATCHECK/coregrind/m_debuglog.c 2008-06-30 08:55:35 UTC (rev 8313)
@@ -886,22 +886,22 @@
static void append_to_xml_result_buf(const HChar ch, void* arg2)
{
- if (xml_result_buf_pos
- <= sizeof(xml_result_buf) / sizeof(xml_result_buf[0]) - 2)
- {
- xml_result_buf[xml_result_buf_pos++] = ch;
- }
+ if (xml_result_buf_pos
+ <= sizeof(xml_result_buf) / sizeof(xml_result_buf[0]) - 2)
+ {
+ xml_result_buf[xml_result_buf_pos++] = ch;
+ }
}
/* Convert a string such that it can be inserted into an XML output stream. */
extern HChar* VG_(ToXML)(const HChar* str)
{
- if (str == NULL)
- str = "(null)";
- xml_result_buf_pos = 0;
- myvprintf_str_XML_simplistic(append_to_xml_result_buf, NULL, str);
- xml_result_buf[xml_result_buf_pos] = 0;
- return xml_result_buf;
+ if (str == NULL)
+ str = "(null)";
+ xml_result_buf_pos = 0;
+ myvprintf_str_XML_simplistic(append_to_xml_result_buf, NULL, str);
+ xml_result_buf[xml_result_buf_pos] = 0;
+ return xml_result_buf;
}
/*--------------------------------------------------------------------*/
|
|
From: <sv...@va...> - 2008-06-30 08:50:03
|
Author: bart
Date: 2008-06-30 09:50:07 +0100 (Mon, 30 Jun 2008)
New Revision: 8312
Log:
Removed a cast and changed format specifier from %p into %#lx.
Modified:
branches/FORMATCHECK/exp-omega/o_main.c
Modified: branches/FORMATCHECK/exp-omega/o_main.c
===================================================================
--- branches/FORMATCHECK/exp-omega/o_main.c 2008-06-30 08:42:58 UTC (rev 8311)
+++ branches/FORMATCHECK/exp-omega/o_main.c 2008-06-30 08:50:07 UTC (rev 8312)
@@ -1632,7 +1632,7 @@
VG_(pp_ExeContext)(mb->leaked);
VG_(message)(Vg_UserMsg,
- " Block at %p allocated", (void*)(mb->hdr.key));
+ " Block at %#lx allocated", mb->hdr.key);
VG_(pp_ExeContext)(mb->where);
VG_(message)(Vg_UserMsg,"");
}
|
|
From: <sv...@va...> - 2008-06-30 08:42:51
|
Author: bart
Date: 2008-06-30 09:42:58 +0100 (Mon, 30 Jun 2008)
New Revision: 8311
Log:
Added function VG_(ToXML)().
Modified:
branches/FORMATCHECK/coregrind/m_debuglog.c
Modified: branches/FORMATCHECK/coregrind/m_debuglog.c
===================================================================
--- branches/FORMATCHECK/coregrind/m_debuglog.c 2008-06-30 08:41:59 UTC (rev 8310)
+++ branches/FORMATCHECK/coregrind/m_debuglog.c 2008-06-30 08:42:58 UTC (rev 8311)
@@ -49,6 +49,8 @@
#include "pub_core_basics.h" /* basic types */
#include "pub_core_vkiscnums.h" /* for syscall numbers */
#include "pub_core_debuglog.h" /* our own iface */
+#include "pub_core_libcassert.h" /* vg_assert() */
+#include "pub_tool_libcprint.h" /* VG_(ToXML)() */
#include "valgrind.h" /* for RUNNING_ON_VALGRIND */
/*------------------------------------------------------------*/
@@ -501,7 +503,7 @@
static
UInt myvprintf_str_XML_simplistic ( void(*send)(HChar,void*),
void* send_arg2,
- HChar* str )
+ const HChar* str )
{
UInt ret = 0;
Int i;
@@ -879,8 +881,29 @@
va_end(vargs);
}
+static HChar xml_result_buf[256];
+static int xml_result_buf_pos;
+static void append_to_xml_result_buf(const HChar ch, void* arg2)
+{
+ if (xml_result_buf_pos
+ <= sizeof(xml_result_buf) / sizeof(xml_result_buf[0]) - 2)
+ {
+ xml_result_buf[xml_result_buf_pos++] = ch;
+ }
+}
+/* Convert a string such that it can be inserted into an XML output stream. */
+extern HChar* VG_(ToXML)(const HChar* str)
+{
+ if (str == NULL)
+ str = "(null)";
+ xml_result_buf_pos = 0;
+ myvprintf_str_XML_simplistic(append_to_xml_result_buf, NULL, str);
+ xml_result_buf[xml_result_buf_pos] = 0;
+ return xml_result_buf;
+}
+
/*--------------------------------------------------------------------*/
/*--- end m_debuglog.c ---*/
/*--------------------------------------------------------------------*/
|
|
From: <sv...@va...> - 2008-06-30 08:41:53
|
Author: bart
Date: 2008-06-30 09:41:59 +0100 (Mon, 30 Jun 2008)
New Revision: 8310
Log:
Enabled format string checking globally.
Modified:
branches/FORMATCHECK/exp-drd/Makefile.am
branches/FORMATCHECK/include/pub_tool_libcprint.h
Modified: branches/FORMATCHECK/exp-drd/Makefile.am
===================================================================
--- branches/FORMATCHECK/exp-drd/Makefile.am 2008-06-29 08:53:47 UTC (rev 8309)
+++ branches/FORMATCHECK/exp-drd/Makefile.am 2008-06-30 08:41:59 UTC (rev 8310)
@@ -29,7 +29,7 @@
DRD_CFLAGS=@FLAG_W_EXTRA@ @FLAG_UNLIMITED_INLINE_UNIT_GROWTH@ \
-Wno-inline -Wno-unused-parameter \
- -O2 -DCHECK_FORMAT_STRINGS
+ -O2
AM_CFLAGS_X86_LINUX += $(DRD_CFLAGS)
AM_CFLAGS_AMD64_LINUX += $(DRD_CFLAGS)
Modified: branches/FORMATCHECK/include/pub_tool_libcprint.h
===================================================================
--- branches/FORMATCHECK/include/pub_tool_libcprint.h 2008-06-29 08:53:47 UTC (rev 8309)
+++ branches/FORMATCHECK/include/pub_tool_libcprint.h 2008-06-30 08:41:59 UTC (rev 8310)
@@ -32,14 +32,13 @@
#define __PUB_TOOL_LIBCPRINT_H
-/* Enable compile-time format string checking by gcc if the macro
- CHECK_FORMAT_STRINGS has been defined before this file has been included.
+/* Enable compile-time format string checking by gcc.
This feature is supported since at least gcc version 2.95.
For more information about the format attribute, see also
http://gcc.gnu.org/onlinedocs/gcc-4.3.0/gcc/Function-Attributes.html.
*/
-#if defined(__GNUC__) && defined(CHECK_FORMAT_STRINGS)
+#if defined(__GNUC__)
#define PRINTF_CHECK(x, y) __attribute__((format(__printf__, x, y)))
#else
#define PRINTF_CHECK(x, y)
@@ -89,6 +88,11 @@
extern UInt VG_(message) ( VgMsgKind kind, const HChar* format, ... ) PRINTF_CHECK(2, 3);
extern UInt VG_(vmessage) ( VgMsgKind kind, const HChar* format, va_list vargs ) PRINTF_CHECK(2, 0);
+
+/* Convert a string such that it can be inserted into an XML output stream. */
+extern HChar* VG_(ToXML)(const HChar* const str);
+
+
#endif // __PUB_TOOL_LIBCPRINT_H
/*--------------------------------------------------------------------*/
|
|
From: Tom H. <th...@cy...> - 2008-06-30 02:45:21
|
Nightly build on lloyd ( x86_64, Fedora 7 ) started at 2008-06-30 03:05:06 BST Results differ from 24 hours ago Checking out valgrind source tree ... done Configuring valgrind ... done Building valgrind ... done Running regression tests ... failed Regression test results follow == 435 tests, 5 stderr failures, 2 stdout failures, 0 post failures == memcheck/tests/file_locking (stderr) memcheck/tests/pointer-trace (stderr) memcheck/tests/vcpu_fnfns (stdout) memcheck/tests/x86/scalar (stderr) none/tests/mremap2 (stdout) helgrind/tests/tc20_verifywrap (stderr) helgrind/tests/tc22_exit_w_lock (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 == 434 tests, 5 stderr failures, 2 stdout failures, 0 post failures == memcheck/tests/file_locking (stderr) memcheck/tests/pointer-trace (stderr) memcheck/tests/vcpu_fnfns (stdout) memcheck/tests/x86/scalar (stderr) none/tests/mremap2 (stdout) helgrind/tests/tc20_verifywrap (stderr) helgrind/tests/tc22_exit_w_lock (stderr) ================================================= == Difference between 24 hours ago and now == ================================================= *** old.short Mon Jun 30 03:21:44 2008 --- new.short Mon Jun 30 03:45:27 2008 *************** *** 8,10 **** ! == 434 tests, 5 stderr failures, 2 stdout failures, 0 post failures == memcheck/tests/file_locking (stderr) --- 8,10 ---- ! == 435 tests, 5 stderr failures, 2 stdout failures, 0 post failures == memcheck/tests/file_locking (stderr) |
|
From: Tom H. <th...@cy...> - 2008-06-30 02:38:33
|
Nightly build on dellow ( x86_64, Fedora 8 ) started at 2008-06-30 03:10:06 BST Results differ from 24 hours ago Checking out valgrind source tree ... done Configuring valgrind ... done Building valgrind ... done Running regression tests ... failed Regression test results follow == 436 tests, 8 stderr failures, 3 stdout failures, 0 post failures == memcheck/tests/file_locking (stderr) memcheck/tests/linux-timerfd-syscall (stdout) memcheck/tests/pointer-trace (stderr) memcheck/tests/vcpu_fnfns (stdout) memcheck/tests/x86/scalar (stderr) none/tests/blockfault (stderr) none/tests/mremap2 (stdout) helgrind/tests/tc18_semabuse (stderr) helgrind/tests/tc20_verifywrap (stderr) helgrind/tests/tc21_pthonce (stderr) helgrind/tests/tc22_exit_w_lock (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 == 435 tests, 9 stderr failures, 3 stdout failures, 0 post failures == memcheck/tests/file_locking (stderr) memcheck/tests/linux-timerfd-syscall (stdout) memcheck/tests/pointer-trace (stderr) memcheck/tests/vcpu_fnfns (stdout) memcheck/tests/x86/scalar (stderr) none/tests/blockfault (stderr) none/tests/mremap2 (stdout) helgrind/tests/hg05_race2 (stderr) helgrind/tests/tc18_semabuse (stderr) helgrind/tests/tc20_verifywrap (stderr) helgrind/tests/tc21_pthonce (stderr) helgrind/tests/tc22_exit_w_lock (stderr) ================================================= == Difference between 24 hours ago and now == ================================================= *** old.short Mon Jun 30 03:24:27 2008 --- new.short Mon Jun 30 03:38:39 2008 *************** *** 8,10 **** ! == 435 tests, 9 stderr failures, 3 stdout failures, 0 post failures == memcheck/tests/file_locking (stderr) --- 8,10 ---- ! == 436 tests, 8 stderr failures, 3 stdout failures, 0 post failures == memcheck/tests/file_locking (stderr) *************** *** 16,18 **** none/tests/mremap2 (stdout) - helgrind/tests/hg05_race2 (stderr) helgrind/tests/tc18_semabuse (stderr) --- 16,17 ---- |
|
From: Tom H. <th...@cy...> - 2008-06-30 02:16:01
|
Nightly build on gill ( x86_64, Fedora Core 2 ) started at 2008-06-30 03:00:02 BST Results differ from 24 hours ago Checking out valgrind source tree ... done Configuring valgrind ... done Building valgrind ... done Running regression tests ... failed Regression test results follow == 441 tests, 33 stderr failures, 3 stdout failures, 0 post failures == memcheck/tests/file_locking (stderr) memcheck/tests/malloc_free_fill (stderr) memcheck/tests/origin5-bz2 (stderr) memcheck/tests/pointer-trace (stderr) memcheck/tests/stack_switch (stderr) memcheck/tests/varinfo6 (stderr) memcheck/tests/x86/scalar (stderr) memcheck/tests/x86/scalar_supp (stderr) none/tests/amd64/insn_ssse3 (stdout) none/tests/amd64/insn_ssse3 (stderr) none/tests/amd64/ssse3_misaligned (stderr) none/tests/blockfault (stderr) none/tests/fdleak_fcntl (stderr) none/tests/mremap2 (stdout) none/tests/x86/insn_ssse3 (stdout) none/tests/x86/insn_ssse3 (stderr) none/tests/x86/ssse3_misaligned (stderr) 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/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) exp-drd/tests/tc20_verifywrap (stderr) exp-drd/tests/tc20_verifywrap2 (stderr) ================================================= == Results from 24 hours ago == ================================================= Checking out valgrind source tree ... done Configuring valgrind ... done Building valgrind ... done Running regression tests ... failed Last 20 lines of verbose log follow echo if gcc -DHAVE_CONFIG_H -I. -I. -I../.. -I../.. -I../../include -I../../include -I../../VEX/pub -Wall -W -Wno-inline -Wno-unused-parameter -g -m64 -DVGA_amd64=1 -DVGO_linux=1 -DVGP_amd64_linux=1 -Wno-long-long -Wdeclaration-after-statement -MT pth_barrier_reinit.o -MD -MP -MF ".deps/pth_barrier_reinit.Tpo" -c -o pth_barrier_reinit.o pth_barrier_reinit.c; \ then mv -f ".deps/pth_barrier_reinit.Tpo" ".deps/pth_barrier_reinit.Po"; else rm -f ".deps/pth_barrier_reinit.Tpo"; exit 1; fi pth_barrier_reinit.c: In function `main': pth_barrier_reinit.c:5: error: `pthread_barrier_t' undeclared (first use in this function) pth_barrier_reinit.c:5: error: (Each undeclared identifier is reported only once pth_barrier_reinit.c:5: error: for each function it appears in.) pth_barrier_reinit.c:5: error: syntax error before "b" pth_barrier_reinit.c:6: warning: implicit declaration of function `pthread_barrier_init' pth_barrier_reinit.c:6: error: `b' undeclared (first use in this function) make[5]: *** [pth_barrier_reinit.o] Error 1 make[5]: Leaving directory `/tmp/vgtest/2008-06-30/valgrind/exp-drd/tests' make[4]: *** [check-am] Error 2 make[4]: Leaving directory `/tmp/vgtest/2008-06-30/valgrind/exp-drd/tests' make[3]: *** [check-recursive] Error 1 make[3]: Leaving directory `/tmp/vgtest/2008-06-30/valgrind/exp-drd/tests' make[2]: *** [check-recursive] Error 1 make[2]: Leaving directory `/tmp/vgtest/2008-06-30/valgrind/exp-drd' make[1]: *** [check-recursive] Error 1 make[1]: Leaving directory `/tmp/vgtest/2008-06-30/valgrind' make: *** [check] Error 2 ================================================= == Difference between 24 hours ago and now == ================================================= *** old.short Mon Jun 30 03:04:08 2008 --- new.short Mon Jun 30 03:16:04 2008 *************** *** 6,27 **** ! Last 20 lines of verbose log follow echo ! if gcc -DHAVE_CONFIG_H -I. -I. -I../.. -I../.. -I../../include -I../../include -I../../VEX/pub -Wall -W -Wno-inline -Wno-unused-parameter -g -m64 -DVGA_amd64=1 -DVGO_linux=1 -DVGP_amd64_linux=1 -Wno-long-long -Wdeclaration-after-statement -MT pth_barrier_reinit.o -MD -MP -MF ".deps/pth_barrier_reinit.Tpo" -c -o pth_barrier_reinit.o pth_barrier_reinit.c; \ ! then mv -f ".deps/pth_barrier_reinit.Tpo" ".deps/pth_barrier_reinit.Po"; else rm -f ".deps/pth_barrier_reinit.Tpo"; exit 1; fi ! pth_barrier_reinit.c: In function `main': ! pth_barrier_reinit.c:5: error: `pthread_barrier_t' undeclared (first use in this function) ! pth_barrier_reinit.c:5: error: (Each undeclared identifier is reported only once ! pth_barrier_reinit.c:5: error: for each function it appears in.) ! pth_barrier_reinit.c:5: error: syntax error before "b" ! pth_barrier_reinit.c:6: warning: implicit declaration of function `pthread_barrier_init' ! pth_barrier_reinit.c:6: error: `b' undeclared (first use in this function) ! make[5]: *** [pth_barrier_reinit.o] Error 1 ! make[5]: Leaving directory `/tmp/vgtest/2008-06-30/valgrind/exp-drd/tests' ! make[4]: *** [check-am] Error 2 ! make[4]: Leaving directory `/tmp/vgtest/2008-06-30/valgrind/exp-drd/tests' ! make[3]: *** [check-recursive] Error 1 ! make[3]: Leaving directory `/tmp/vgtest/2008-06-30/valgrind/exp-drd/tests' ! make[2]: *** [check-recursive] Error 1 ! make[2]: Leaving directory `/tmp/vgtest/2008-06-30/valgrind/exp-drd' ! make[1]: *** [check-recursive] Error 1 ! make[1]: Leaving directory `/tmp/vgtest/2008-06-30/valgrind' ! make: *** [check] Error 2 --- 6,46 ---- ! Regression test results follow ! ! == 441 tests, 33 stderr failures, 3 stdout failures, 0 post failures == ! memcheck/tests/file_locking (stderr) ! memcheck/tests/malloc_free_fill (stderr) ! memcheck/tests/origin5-bz2 (stderr) ! memcheck/tests/pointer-trace (stderr) ! memcheck/tests/stack_switch (stderr) ! memcheck/tests/varinfo6 (stderr) ! memcheck/tests/x86/scalar (stderr) ! memcheck/tests/x86/scalar_supp (stderr) ! none/tests/amd64/insn_ssse3 (stdout) ! none/tests/amd64/insn_ssse3 (stderr) ! none/tests/amd64/ssse3_misaligned (stderr) ! none/tests/blockfault (stderr) ! none/tests/fdleak_fcntl (stderr) ! none/tests/mremap2 (stdout) ! none/tests/x86/insn_ssse3 (stdout) ! none/tests/x86/insn_ssse3 (stderr) ! none/tests/x86/ssse3_misaligned (stderr) ! 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/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) ! exp-drd/tests/tc20_verifywrap (stderr) ! exp-drd/tests/tc20_verifywrap2 (stderr) ! |