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
(13) |
2
(15) |
|
3
(16) |
4
(42) |
5
(9) |
6
(20) |
7
(22) |
8
(24) |
9
(12) |
|
10
(24) |
11
(11) |
12
(2) |
13
(13) |
14
(8) |
15
|
16
(16) |
|
17
(24) |
18
(36) |
19
(100) |
20
(94) |
21
(50) |
22
(39) |
23
(10) |
|
24
(14) |
25
(19) |
26
(2) |
27
(6) |
28
(17) |
29
(9) |
30
(8) |
|
31
(21) |
|
|
|
|
|
|
|
From: <sv...@va...> - 2009-05-23 19:09:31
|
Author: bart
Date: 2009-05-23 20:09:24 +0100 (Sat, 23 May 2009)
New Revision: 10125
Log:
More parameter tuning: changed default segment merging interval from 32 to 64.
Modified:
branches/DRDDEV/drd/drd_main.c
branches/DRDDEV/drd/drd_thread.c
branches/DRDDEV/drd/drd_thread.h
Modified: branches/DRDDEV/drd/drd_main.c
===================================================================
--- branches/DRDDEV/drd/drd_main.c 2009-05-23 18:58:58 UTC (rev 10124)
+++ branches/DRDDEV/drd/drd_main.c 2009-05-23 19:09:24 UTC (rev 10125)
@@ -190,7 +190,7 @@
" improve the accuracy of the so-called 'other segments' displayed\n"
" in race reports but can also trigger an out of memory error.\n"
" --segment-merging-interval=<n> Perform segment merging every time n new\n"
-" segments have been created. Default: 32.\n"
+" segments have been created. Default: %d.\n"
" --shared-threshold=<n> Print an error message if a reader lock\n"
" is held longer than the specified time (in milliseconds).\n"
" --show-confl-seg=yes|no Show conflicting segments in race reports [yes].\n"
@@ -209,7 +209,8 @@
" --trace-fork-join=yes|no Trace all thread fork/join activity [no].\n"
" --trace-mutex=yes|no Trace all mutex activity [no].\n"
" --trace-rwlock=yes|no Trace all reader-writer lock activity[no].\n"
-" --trace-semaphore=yes|no Trace all semaphore activity [no].\n"
+" --trace-semaphore=yes|no Trace all semaphore activity [no].\n",
+DRD_(thread_get_segment_merge_interval)()
);
VG_(replacement_malloc_print_usage)();
}
Modified: branches/DRDDEV/drd/drd_thread.c
===================================================================
--- branches/DRDDEV/drd/drd_thread.c 2009-05-23 18:58:58 UTC (rev 10124)
+++ branches/DRDDEV/drd/drd_thread.c 2009-05-23 19:09:24 UTC (rev 10125)
@@ -73,7 +73,7 @@
static Bool s_trace_fork_join = False;
static Bool s_segment_merging = True;
static Bool s_new_segments_since_last_merge;
-static int s_segment_merge_interval = 32;
+static int s_segment_merge_interval = 64;
/* Function definitions. */
@@ -112,6 +112,12 @@
s_segment_merging = m;
}
+/** Get the segment merging interval. */
+int DRD_(thread_get_segment_merge_interval)(void)
+{
+ return s_segment_merge_interval;
+}
+
/** Set the segment merging interval. */
void DRD_(thread_set_segment_merge_interval)(const int i)
{
Modified: branches/DRDDEV/drd/drd_thread.h
===================================================================
--- branches/DRDDEV/drd/drd_thread.h 2009-05-23 18:58:58 UTC (rev 10124)
+++ branches/DRDDEV/drd/drd_thread.h 2009-05-23 19:09:24 UTC (rev 10125)
@@ -116,6 +116,7 @@
Bool DRD_(thread_get_trace_fork_join)(void);
void DRD_(thread_set_trace_fork_join)(const Bool t);
void DRD_(thread_set_segment_merging)(const Bool m);
+int DRD_(thread_get_segment_merge_interval)(void);
void DRD_(thread_set_segment_merge_interval)(const int i);
DrdThreadId DRD_(VgThreadIdToDrdThreadId)(const ThreadId tid);
|
|
From: <sv...@va...> - 2009-05-23 18:59:08
|
Author: bart
Date: 2009-05-23 19:58:58 +0100 (Sat, 23 May 2009)
New Revision: 10124
Log:
Added DRD_(thread_update_cs_after_sync)().
Modified:
branches/DRDDEV/drd/drd_barrier.c
branches/DRDDEV/drd/drd_rwlock.c
branches/DRDDEV/drd/drd_thread.c
branches/DRDDEV/drd/drd_thread.h
Modified: branches/DRDDEV/drd/drd_barrier.c
===================================================================
--- branches/DRDDEV/drd/drd_barrier.c 2009-05-23 18:40:39 UTC (rev 10123)
+++ branches/DRDDEV/drd/drd_barrier.c 2009-05-23 18:58:58 UTC (rev 10124)
@@ -460,14 +460,22 @@
* Combine all vector clocks that were stored in the pre_barrier_wait
* wrapper with the vector clock of the current thread.
*/
- VG_(OSetGen_ResetIter)(p->oset);
- for ( ; (r = VG_(OSetGen_Next)(p->oset)) != 0; )
{
- if (r != q)
+ VectorClock old_vc;
+
+ DRD_(vc_copy)(&old_vc, &DRD_(g_threadinfo)[tid].last->vc);
+ VG_(OSetGen_ResetIter)(p->oset);
+ for ( ; (r = VG_(OSetGen_Next)(p->oset)) != 0; )
{
- tl_assert(r->sg[p->post_iteration]);
- DRD_(thread_combine_vc_sync)(tid, r->sg[p->post_iteration]);
+ if (r != q)
+ {
+ tl_assert(r->sg[p->post_iteration]);
+ DRD_(vc_combine)(&DRD_(g_threadinfo)[tid].last->vc,
+ &r->sg[p->post_iteration]->vc);
+ }
}
+ DRD_(thread_update_cs_after_sync)(tid, &old_vc);
+ DRD_(vc_cleanup)(&old_vc);
}
/* Create a new segment and store a pointer to that segment. */
Modified: branches/DRDDEV/drd/drd_rwlock.c
===================================================================
--- branches/DRDDEV/drd/drd_rwlock.c 2009-05-23 18:40:39 UTC (rev 10123)
+++ branches/DRDDEV/drd/drd_rwlock.c 2009-05-23 18:58:58 UTC (rev 10124)
@@ -168,15 +168,20 @@
const Bool readers_too)
{
struct rwlock_thread_info* q;
+ VectorClock old_vc;
+ DRD_(vc_copy)(&old_vc, &DRD_(g_threadinfo)[tid].last->vc);
VG_(OSetGen_ResetIter)(p->thread_info);
for ( ; (q = VG_(OSetGen_Next)(p->thread_info)) != 0; )
{
if (q->tid != tid && (readers_too || q->last_lock_was_writer_lock))
{
- DRD_(thread_combine_vc_sync)(tid, q->last_unlock_segment);
+ DRD_(vc_combine)(&DRD_(g_threadinfo)[tid].last->vc,
+ &q->last_unlock_segment->vc);
}
}
+ DRD_(thread_update_cs_after_sync)(tid, &old_vc);
+ DRD_(vc_cleanup)(&old_vc);
}
/** Initialize the rwlock_info data structure *p. */
Modified: branches/DRDDEV/drd/drd_thread.c
===================================================================
--- branches/DRDDEV/drd/drd_thread.c 2009-05-23 18:40:39 UTC (rev 10123)
+++ branches/DRDDEV/drd/drd_thread.c 2009-05-23 18:58:58 UTC (rev 10124)
@@ -713,7 +713,7 @@
* clock of all threads -- these segments can no longer be involved in a
* data race.
*/
-static void DRD_(thread_discard_ordered_segments)(void)
+static void thread_discard_ordered_segments(void)
{
unsigned i;
VectorClock thread_vc_min;
@@ -959,7 +959,7 @@
tl_assert(thread_conflict_set_up_to_date(DRD_(g_drd_running_tid)));
}
- DRD_(thread_discard_ordered_segments)();
+ thread_discard_ordered_segments();
if (s_segment_merging
&& ++s_new_segments_since_last_merge >= s_segment_merge_interval)
@@ -980,7 +980,7 @@
tl_assert(DRD_(g_threadinfo)[joinee].last);
DRD_(vc_combine)(&DRD_(g_threadinfo)[joiner].last->vc,
&DRD_(g_threadinfo)[joinee].last->vc);
- DRD_(thread_discard_ordered_segments)();
+ thread_discard_ordered_segments();
if (joiner == DRD_(g_drd_running_tid))
{
@@ -1010,14 +1010,8 @@
DRD_(vc_copy)(&old_vc, &DRD_(g_threadinfo)[tid].last->vc);
DRD_(vc_combine)(&DRD_(g_threadinfo)[tid].last->vc, vc);
- if (conflict_set_update_needed(tid, &old_vc,
- &DRD_(g_threadinfo)[tid].last->vc))
- {
- thread_compute_conflict_set(&DRD_(g_conflict_set), tid);
- s_conflict_set_combine_vc_count++;
- }
+ DRD_(thread_update_cs_after_sync)(tid, &old_vc);
DRD_(vc_cleanup)(&old_vc);
- DRD_(thread_discard_ordered_segments)();
}
else
{
@@ -1026,6 +1020,26 @@
}
/**
+ * Update the conflict set after the vector clock of thread tid has been updated
+ * from old_vc to DRD_(g_threadinfo)[tid].last->vc.
+ */
+void DRD_(thread_update_cs_after_sync)(DrdThreadId tid, VectorClock* old_vc)
+{
+ tl_assert(0 <= (int)tid && tid < DRD_N_THREADS
+ && tid != DRD_INVALID_THREADID);
+ tl_assert(old_vc);
+
+ thread_discard_ordered_segments();
+
+ if (conflict_set_update_needed(tid, old_vc,
+ &DRD_(g_threadinfo)[tid].last->vc))
+ {
+ thread_compute_conflict_set(&DRD_(g_conflict_set), tid);
+ s_conflict_set_combine_vc_count++;
+ }
+}
+
+/**
* Call this function whenever a thread is no longer using the memory
* [ a1, a2 [, e.g. because of a call to free() or a stack pointer
* increase.
Modified: branches/DRDDEV/drd/drd_thread.h
===================================================================
--- branches/DRDDEV/drd/drd_thread.h 2009-05-23 18:40:39 UTC (rev 10123)
+++ branches/DRDDEV/drd/drd_thread.h 2009-05-23 18:58:58 UTC (rev 10124)
@@ -150,6 +150,7 @@
void DRD_(thread_combine_vc_join)(const DrdThreadId joiner,
const DrdThreadId joinee);
void DRD_(thread_combine_vc_sync)(const DrdThreadId tid, const Segment* sg);
+void DRD_(thread_update_cs_after_sync)(DrdThreadId tid, VectorClock* old_vc);
void DRD_(thread_stop_using_mem)(const Addr a1, const Addr a2);
void DRD_(thread_start_recording)(const DrdThreadId tid);
|
|
From: <sv...@va...> - 2009-05-23 18:40:46
|
Author: bart
Date: 2009-05-23 19:40:39 +0100 (Sat, 23 May 2009)
New Revision: 10123
Log:
Renamed two functions.
Modified:
branches/DRDDEV/drd/drd_barrier.c
branches/DRDDEV/drd/drd_mutex.c
branches/DRDDEV/drd/drd_rwlock.c
branches/DRDDEV/drd/drd_semaphore.c
branches/DRDDEV/drd/drd_thread.c
branches/DRDDEV/drd/drd_thread.h
Modified: branches/DRDDEV/drd/drd_barrier.c
===================================================================
--- branches/DRDDEV/drd/drd_barrier.c 2009-05-23 17:48:54 UTC (rev 10122)
+++ branches/DRDDEV/drd/drd_barrier.c 2009-05-23 18:40:39 UTC (rev 10123)
@@ -466,7 +466,7 @@
if (r != q)
{
tl_assert(r->sg[p->post_iteration]);
- DRD_(thread_combine_vc2)(tid, r->sg[p->post_iteration]);
+ DRD_(thread_combine_vc_sync)(tid, r->sg[p->post_iteration]);
}
}
Modified: branches/DRDDEV/drd/drd_mutex.c
===================================================================
--- branches/DRDDEV/drd/drd_mutex.c 2009-05-23 17:48:54 UTC (rev 10122)
+++ branches/DRDDEV/drd/drd_mutex.c 2009-05-23 18:40:39 UTC (rev 10123)
@@ -308,7 +308,7 @@
if (last_owner != drd_tid && last_owner != DRD_INVALID_THREADID)
{
tl_assert(p->last_locked_segment);
- DRD_(thread_combine_vc2)(drd_tid, p->last_locked_segment);
+ DRD_(thread_combine_vc_sync)(drd_tid, p->last_locked_segment);
}
DRD_(thread_new_segment)(drd_tid);
s_mutex_segment_creation_count++;
Modified: branches/DRDDEV/drd/drd_rwlock.c
===================================================================
--- branches/DRDDEV/drd/drd_rwlock.c 2009-05-23 17:48:54 UTC (rev 10122)
+++ branches/DRDDEV/drd/drd_rwlock.c 2009-05-23 18:40:39 UTC (rev 10123)
@@ -174,7 +174,7 @@
{
if (q->tid != tid && (readers_too || q->last_lock_was_writer_lock))
{
- DRD_(thread_combine_vc2)(tid, q->last_unlock_segment);
+ DRD_(thread_combine_vc_sync)(tid, q->last_unlock_segment);
}
}
}
Modified: branches/DRDDEV/drd/drd_semaphore.c
===================================================================
--- branches/DRDDEV/drd/drd_semaphore.c 2009-05-23 17:48:54 UTC (rev 10122)
+++ branches/DRDDEV/drd/drd_semaphore.c 2009-05-23 18:40:39 UTC (rev 10123)
@@ -302,7 +302,7 @@
if (p->last_sem_post_tid != tid
&& p->last_sem_post_tid != DRD_INVALID_THREADID)
{
- DRD_(thread_combine_vc2)(tid, sg);
+ DRD_(thread_combine_vc_sync)(tid, sg);
}
DRD_(sg_put)(sg);
DRD_(thread_new_segment)(tid);
Modified: branches/DRDDEV/drd/drd_thread.c
===================================================================
--- branches/DRDDEV/drd/drd_thread.c 2009-05-23 17:48:54 UTC (rev 10122)
+++ branches/DRDDEV/drd/drd_thread.c 2009-05-23 18:40:39 UTC (rev 10123)
@@ -306,7 +306,7 @@
tl_assert(DRD_(IsValidDrdThreadId)(drd_joiner));
tl_assert(DRD_(IsValidDrdThreadId)(drd_joinee));
DRD_(thread_new_segment)(drd_joinee);
- DRD_(thread_combine_vc)(drd_joiner, drd_joinee);
+ DRD_(thread_combine_vc_join)(drd_joiner, drd_joinee);
DRD_(thread_new_segment)(drd_joiner);
if (s_trace_fork_join)
@@ -969,7 +969,7 @@
}
/** Call this function after thread 'joiner' joined thread 'joinee'. */
-void DRD_(thread_combine_vc)(DrdThreadId joiner, DrdThreadId joinee)
+void DRD_(thread_combine_vc_join)(DrdThreadId joiner, DrdThreadId joinee)
{
tl_assert(joiner != joinee);
tl_assert(0 <= (int)joiner && joiner < DRD_N_THREADS
@@ -989,10 +989,12 @@
}
/**
- * Call this function after thread 'tid' had to wait because of thread
- * synchronization until the memory accesses in the segment 'sg' finished.
+ * Update the vector clock of the last segment of thread tid with the
+ * the vector clock of segment sg. Call this function after thread tid had
+ * to wait because of thread synchronization until the memory accesses in the
+ * segment sg finished.
*/
-void DRD_(thread_combine_vc2)(DrdThreadId tid, const Segment* sg)
+void DRD_(thread_combine_vc_sync)(DrdThreadId tid, const Segment* sg)
{
const VectorClock* const vc = &sg->vc;
@@ -1005,6 +1007,7 @@
if (tid != sg->tid)
{
VectorClock old_vc;
+
DRD_(vc_copy)(&old_vc, &DRD_(g_threadinfo)[tid].last->vc);
DRD_(vc_combine)(&DRD_(g_threadinfo)[tid].last->vc, vc);
if (conflict_set_update_needed(tid, &old_vc,
Modified: branches/DRDDEV/drd/drd_thread.h
===================================================================
--- branches/DRDDEV/drd/drd_thread.h 2009-05-23 17:48:54 UTC (rev 10122)
+++ branches/DRDDEV/drd/drd_thread.h 2009-05-23 18:40:39 UTC (rev 10123)
@@ -147,9 +147,9 @@
void DRD_(thread_new_segment)(const DrdThreadId tid);
VectorClock* DRD_(thread_get_vc)(const DrdThreadId tid);
void DRD_(thread_get_latest_segment)(Segment** sg, const DrdThreadId tid);
-void DRD_(thread_combine_vc)(const DrdThreadId joiner,
- const DrdThreadId joinee);
-void DRD_(thread_combine_vc2)(const DrdThreadId tid, const Segment* sg);
+void DRD_(thread_combine_vc_join)(const DrdThreadId joiner,
+ const DrdThreadId joinee);
+void DRD_(thread_combine_vc_sync)(const DrdThreadId tid, const Segment* sg);
void DRD_(thread_stop_using_mem)(const Addr a1, const Addr a2);
void DRD_(thread_start_recording)(const DrdThreadId tid);
|
|
From: <sv...@va...> - 2009-05-23 17:49:00
|
Author: bart Date: 2009-05-23 18:48:54 +0100 (Sat, 23 May 2009) New Revision: 10122 Log: Restored the original value of ADDR_LSB_BITS. Modified: branches/DRDDEV/drd/drd_bitmap.h Modified: branches/DRDDEV/drd/drd_bitmap.h =================================================================== --- branches/DRDDEV/drd/drd_bitmap.h 2009-05-23 01:51:54 UTC (rev 10121) +++ branches/DRDDEV/drd/drd_bitmap.h 2009-05-23 17:48:54 UTC (rev 10122) @@ -66,7 +66,7 @@ /** Number of bits assigned to the least significant component of an address. */ -#define ADDR_LSB_BITS 14 +#define ADDR_LSB_BITS 12 /** Mask that has to be applied to an address of type Addr in order to * compute the least significant part of an address split, after having |
|
From: Tom H. <th...@cy...> - 2009-05-23 02:44:39
|
Nightly build on lloyd ( x86_64, Fedora 7 ) started at 2009-05-23 03:05:05 BST Results unchanged from 24 hours ago Checking out valgrind source tree ... done Configuring valgrind ... done Building valgrind ... done Running regression tests ... done Regression test results follow == 481 tests, 0 stderr failures, 0 stdout failures, 0 post failures == |
|
From: Tom H. <th...@cy...> - 2009-05-23 02:27:39
|
Nightly build on mg ( x86_64, Fedora 9 ) started at 2009-05-23 03:10:05 BST 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 == 487 tests, 0 stderr failures, 1 stdout failure, 0 post failures == none/tests/linux/mremap2 (stdout) |
|
From: <sv...@va...> - 2009-05-23 02:10:22
|
Author: njn
Date: 2009-05-23 02:51:39 +0100 (Sat, 23 May 2009)
New Revision: 10120
Log:
Trunk sync: sys_readlink layout.
Modified:
branches/DARWIN/coregrind/m_syswrap/syswrap-generic.c
Modified: branches/DARWIN/coregrind/m_syswrap/syswrap-generic.c
===================================================================
--- branches/DARWIN/coregrind/m_syswrap/syswrap-generic.c 2009-05-23 01:18:44 UTC (rev 10119)
+++ branches/DARWIN/coregrind/m_syswrap/syswrap-generic.c 2009-05-23 01:51:39 UTC (rev 10120)
@@ -3661,8 +3661,7 @@
PRE(sys_readlink)
{
- Bool done = False;
- Word saved = SYSNO;
+ Word saved = SYSNO;
PRINT("sys_readlink ( %#lx(%s), %#lx, %llu )", ARG1,(char*)ARG1,ARG2,(ULong)ARG3);
PRE_REG_READ3(long, "readlink",
@@ -3670,28 +3669,28 @@
PRE_MEM_RASCIIZ( "readlink(path)", ARG1 );
PRE_MEM_WRITE( "readlink(buf)", ARG2,ARG3 );
-#if HAVE_PROC
- /*
- * Handle the case where readlink is looking at /proc/self/exe or
- * /proc/<pid>/exe.
- */
{
+#if HAVE_PROC
+ /*
+ * Handle the case where readlink is looking at /proc/self/exe or
+ * /proc/<pid>/exe.
+ */
HChar name[25];
- VG_(sprintf)(name, "/proc/%d/exe", VG_(getpid)());
- if (ML_(safe_to_deref)((void*)ARG1, 1)
- && (VG_(strcmp)((Char *)ARG1, name) == 0
- || VG_(strcmp)((Char *)ARG1, "/proc/self/exe") == 0)) {
- VG_(sprintf)(name, "/proc/self/fd/%d", VG_(cl_exec_fd));
- SET_STATUS_from_SysRes( VG_(do_syscall3)(saved, (UWord)name,
- ARG2, ARG3));
- done = True;
- }
- }
+ Char* arg1s = (Char*) ARG1;
+ VG_(sprintf)(name, "/proc/%d/exe", VG_(getpid)());
+ if (ML_(safe_to_deref)(arg1s, 1) &&
+ (VG_STREQ(arg1s, name) || VG_STREQ(arg1s, "/proc/self/exe"))
+ )
+ {
+ VG_(sprintf)(name, "/proc/self/fd/%d", VG_(cl_exec_fd));
+ SET_STATUS_from_SysRes( VG_(do_syscall3)(saved, (UWord)name,
+ ARG2, ARG3));
+ } else
#endif
-
- if (!done) {
- /* Normal case */
- SET_STATUS_from_SysRes( VG_(do_syscall3)(saved, ARG1, ARG2, ARG3));
+ {
+ /* Normal case */
+ SET_STATUS_from_SysRes( VG_(do_syscall3)(saved, ARG1, ARG2, ARG3));
+ }
}
if (SUCCESS && RES > 0)
|
|
From: <sv...@va...> - 2009-05-23 02:10:22
|
Author: njn
Date: 2009-05-23 02:51:54 +0100 (Sat, 23 May 2009)
New Revision: 10121
Log:
DARWIN sync: sys_readlink layout.
Modified:
trunk/coregrind/m_syswrap/syswrap-generic.c
Modified: trunk/coregrind/m_syswrap/syswrap-generic.c
===================================================================
--- trunk/coregrind/m_syswrap/syswrap-generic.c 2009-05-23 01:51:39 UTC (rev 10120)
+++ trunk/coregrind/m_syswrap/syswrap-generic.c 2009-05-23 01:51:54 UTC (rev 10121)
@@ -3540,8 +3540,7 @@
PRE(sys_readlink)
{
- HChar name[25];
- Word saved = SYSNO;
+ Word saved = SYSNO;
PRINT("sys_readlink ( %#lx(%s), %#lx, %llu )", ARG1,(char*)ARG1,ARG2,(ULong)ARG3);
PRE_REG_READ3(long, "readlink",
@@ -3549,20 +3548,26 @@
PRE_MEM_RASCIIZ( "readlink(path)", ARG1 );
PRE_MEM_WRITE( "readlink(buf)", ARG2,ARG3 );
- /*
- * Handle the case where readlink is looking at /proc/self/exe or
- * /proc/<pid>/exe.
- */
- VG_(sprintf)(name, "/proc/%d/exe", VG_(getpid)());
- if (ML_(safe_to_deref)((void*)ARG1, 1)
- && (VG_(strcmp)((Char *)ARG1, name) == 0
- || VG_(strcmp)((Char *)ARG1, "/proc/self/exe") == 0)) {
- VG_(sprintf)(name, "/proc/self/fd/%d", VG_(cl_exec_fd));
- SET_STATUS_from_SysRes( VG_(do_syscall3)(saved, (UWord)name,
- ARG2, ARG3));
- } else {
- /* Normal case */
- SET_STATUS_from_SysRes( VG_(do_syscall3)(saved, ARG1, ARG2, ARG3));
+ {
+ /*
+ * Handle the case where readlink is looking at /proc/self/exe or
+ * /proc/<pid>/exe.
+ */
+ HChar name[25];
+ Char* arg1s = (Char*) ARG1;
+ VG_(sprintf)(name, "/proc/%d/exe", VG_(getpid)());
+ if (ML_(safe_to_deref)(arg1s, 1) &&
+ (VG_STREQ(arg1s, name) || VG_STREQ(arg1s, "/proc/self/exe"))
+ )
+ {
+ VG_(sprintf)(name, "/proc/self/fd/%d", VG_(cl_exec_fd));
+ SET_STATUS_from_SysRes( VG_(do_syscall3)(saved, (UWord)name,
+ ARG2, ARG3));
+ } else
+ {
+ /* Normal case */
+ SET_STATUS_from_SysRes( VG_(do_syscall3)(saved, ARG1, ARG2, ARG3));
+ }
}
if (SUCCESS && RES > 0)
|
|
From: <sv...@va...> - 2009-05-23 01:18:51
|
Author: njn
Date: 2009-05-23 02:18:44 +0100 (Sat, 23 May 2009)
New Revision: 10119
Log:
DARWIN sync: remove '.' from some field names for consistency, and factor
out some variables.
Modified:
trunk/coregrind/m_syswrap/syswrap-generic.c
Modified: trunk/coregrind/m_syswrap/syswrap-generic.c
===================================================================
--- trunk/coregrind/m_syswrap/syswrap-generic.c 2009-05-23 01:18:16 UTC (rev 10118)
+++ trunk/coregrind/m_syswrap/syswrap-generic.c 2009-05-23 01:18:44 UTC (rev 10119)
@@ -911,6 +911,9 @@
struct vki_sockaddr *sa, UInt salen )
{
Char *outmsg;
+ struct vki_sockaddr_un* sun = (struct vki_sockaddr_un *)sa;
+ struct vki_sockaddr_in* sin = (struct vki_sockaddr_in *)sa;
+ struct vki_sockaddr_in6* sin6 = (struct vki_sockaddr_in6 *)sa;
/* NULL/zero-length sockaddrs are legal */
if ( sa == NULL || salen == 0 ) return;
@@ -918,45 +921,36 @@
outmsg = VG_(arena_malloc) ( VG_AR_CORE, "di.syswrap.pmr_sockaddr.1",
VG_(strlen)( description ) + 30 );
- VG_(sprintf) ( outmsg, description, ".sa_family" );
+ VG_(sprintf) ( outmsg, description, "sa_family" );
PRE_MEM_READ( outmsg, (Addr) &sa->sa_family, sizeof(vki_sa_family_t));
switch (sa->sa_family) {
case VKI_AF_UNIX:
- VG_(sprintf) ( outmsg, description, ".sun_path" );
- PRE_MEM_RASCIIZ( outmsg,
- (Addr) ((struct vki_sockaddr_un *) sa)->sun_path);
+ VG_(sprintf) ( outmsg, description, "sun_path" );
+ PRE_MEM_RASCIIZ( outmsg, (Addr) sun->sun_path );
break;
case VKI_AF_INET:
- VG_(sprintf) ( outmsg, description, ".sin_port" );
- PRE_MEM_READ( outmsg,
- (Addr) &((struct vki_sockaddr_in *) sa)->sin_port,
- sizeof (((struct vki_sockaddr_in *) sa)->sin_port));
- VG_(sprintf) ( outmsg, description, ".sin_addr" );
- PRE_MEM_READ( outmsg,
- (Addr) &((struct vki_sockaddr_in *) sa)->sin_addr,
- sizeof (struct vki_in_addr));
+ VG_(sprintf) ( outmsg, description, "sin_port" );
+ PRE_MEM_READ( outmsg, (Addr) &sin->sin_port, sizeof (sin->sin_port) );
+ VG_(sprintf) ( outmsg, description, "sin_addr" );
+ PRE_MEM_READ( outmsg, (Addr) &sin->sin_addr, sizeof (sin->sin_addr) );
break;
case VKI_AF_INET6:
- VG_(sprintf) ( outmsg, description, ".sin6_port" );
+ VG_(sprintf) ( outmsg, description, "sin6_port" );
PRE_MEM_READ( outmsg,
- (Addr) &((struct vki_sockaddr_in6 *) sa)->sin6_port,
- sizeof (((struct vki_sockaddr_in6 *) sa)->sin6_port));
- VG_(sprintf) ( outmsg, description, ".sin6_flowinfo" );
+ (Addr) &sin6->sin6_port, sizeof (sin6->sin6_port) );
+ VG_(sprintf) ( outmsg, description, "sin6_flowinfo" );
PRE_MEM_READ( outmsg,
- (Addr) &((struct vki_sockaddr_in6 *) sa)->sin6_flowinfo,
- sizeof (__vki_u32));
- VG_(sprintf) ( outmsg, description, ".sin6_addr" );
+ (Addr) &sin6->sin6_flowinfo, sizeof (sin6->sin6_flowinfo) );
+ VG_(sprintf) ( outmsg, description, "sin6_addr" );
PRE_MEM_READ( outmsg,
- (Addr) &((struct vki_sockaddr_in6 *) sa)->sin6_addr,
- sizeof (struct vki_in6_addr));
- VG_(sprintf) ( outmsg, description, ".sin6_scope_id" );
+ (Addr) &sin6->sin6_addr, sizeof (sin6->sin6_addr) );
+ VG_(sprintf) ( outmsg, description, "sin6_scope_id" );
PRE_MEM_READ( outmsg,
- (Addr) &((struct vki_sockaddr_in6 *) sa)->sin6_scope_id,
- sizeof (__vki_u32));
+ (Addr) &sin6->sin6_scope_id, sizeof (sin6->sin6_scope_id) );
break;
default:
|
|
From: <sv...@va...> - 2009-05-23 01:18:28
|
Author: njn
Date: 2009-05-23 02:18:16 +0100 (Sat, 23 May 2009)
New Revision: 10118
Log:
Spacing wibbles.
Modified:
branches/DARWIN/coregrind/m_syswrap/syswrap-generic.c
Modified: branches/DARWIN/coregrind/m_syswrap/syswrap-generic.c
===================================================================
--- branches/DARWIN/coregrind/m_syswrap/syswrap-generic.c 2009-05-22 22:11:04 UTC (rev 10117)
+++ branches/DARWIN/coregrind/m_syswrap/syswrap-generic.c 2009-05-23 01:18:16 UTC (rev 10118)
@@ -919,9 +919,9 @@
struct vki_sockaddr *sa, UInt salen )
{
Char *outmsg;
- struct vki_sockaddr_un *sun = (struct vki_sockaddr_un *)sa;
- struct vki_sockaddr_in *sin = (struct vki_sockaddr_in *)sa;
- struct vki_sockaddr_in6 *sin6 = (struct vki_sockaddr_in6 *)sa;
+ struct vki_sockaddr_un* sun = (struct vki_sockaddr_un *)sa;
+ struct vki_sockaddr_in* sin = (struct vki_sockaddr_in *)sa;
+ struct vki_sockaddr_in6* sin6 = (struct vki_sockaddr_in6 *)sa;
/* NULL/zero-length sockaddrs are legal */
if ( sa == NULL || salen == 0 ) return;
|