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
(8) |
2
(8) |
3
(15) |
4
(14) |
5
(12) |
6
(40) |
7
(9) |
|
8
(5) |
9
(12) |
10
(9) |
11
(13) |
12
(7) |
13
(7) |
14
(19) |
|
15
(18) |
16
(13) |
17
(16) |
18
(8) |
19
(16) |
20
(16) |
21
(12) |
|
22
(21) |
23
(39) |
24
(27) |
25
(33) |
26
(41) |
27
(17) |
28
(15) |
|
From: <sv...@va...> - 2009-02-20 19:53:59
|
Author: bart Date: 2009-02-20 19:53:50 +0000 (Fri, 20 Feb 2009) New Revision: 9207 Log: Finished renaming of 'oset_test' into 'unit_oset'. Modified: trunk/memcheck/tests/unit_oset.vgtest Modified: trunk/memcheck/tests/unit_oset.vgtest =================================================================== --- trunk/memcheck/tests/unit_oset.vgtest 2009-02-20 19:00:18 UTC (rev 9206) +++ trunk/memcheck/tests/unit_oset.vgtest 2009-02-20 19:53:50 UTC (rev 9207) @@ -1,2 +1,2 @@ -prog: oset_test +prog: unit_oset vgopts: -q |
|
From: Stephen M.
|
>>>>> "P" == Pharaoh <pha...@gm...> writes: P> Hello list, P> I am trying to learn how Valgrind works, by going through the code P> and trying out test cases out of interest. The tool reports stack P> traces for errors with function name etc. How does Valgrind do it? P> I mean, I don't see libbfd being used anywhere neither any glibc P> apis is used to collect the stack info. Also, how are the addresses P> converted to symbol names? P> Any pointers will be helpful. The Valgrind core support for stack traces (as used by Memcheck, etc.) works in roughly the same way as something like GDB does. At the time it wants to record/print a stack trace, it walks up the linked frames on the stack to getting calling addresses. Then it tries to translate each address into a function name (using the executable's ELF symbol table) and potentially also a source file and line number (using DWARF or stabs debugging information). The Valgrind code that does this is custom written, in part because there have historically been various obstacles to linking external libraries with Valgrind, and I think also just that's the style the main developers prefer. To look at the code in the core that supports this, see: coregrind/m_debuginfo/* coregrind/m_stacktrace.c Most Valgrind tools don't use the strategy of recording at runtime when each function starts and finishes: though this would sometimes be useful if the stack gets corrupted or the information needed for a backtrace is missing, it's tricky to get working robustly in the face of things like longjmp() and tail calls. But some tools do track calls and returns, such as Callgrind and the Fjalar and Flowcheck tools that I and our group at MIT worked on. http://groups.csail.mit.edu/pag/fjalar/ http://people.csail.mit.edu/smcc/projects/secret-flow/ Hope this helps, -- Stephen |
|
From: Bart V. A. <bar...@gm...> - 2009-02-20 19:09:38
|
On Fri, Feb 20, 2009 at 7:54 PM, Pharaoh . <pha...@gm...> wrote: > > I am trying to learn how Valgrind works, by going through the code and > trying > out test cases out of interest. The tool reports stack traces for errors > with function > name etc. How does Valgrind do it? I mean, I don't see libbfd being used > anywhere > neither any glibc apis is used to collect the stack info. Also, how are the > addresses > converted to symbol names? Did you alread have a look at the papers listed on the following page: http://www.valgrind.org/docs/pubs.html ? Bart. |
|
From: Bart V. A. <bar...@gm...> - 2009-02-20 19:07:06
|
On Fri, Feb 20, 2009 at 12:00 AM, Nicholas Nethercote <n.n...@gm...> wrote: > It's true that the CFLAGS are different. However, the only difference > is that DRD uses different -W flags, so the executables are actually > identical. I actually think the fact that DRD uses different -W flags > for its tests compared to every other tool is actually a bad thing, > I'd like to get rid of that difference. There is a very good reason why I added -Wextra to the CFLAGS in drd/tests/Makefile.am and not in the other Makefile.am files. Just like any software, test programs can contain bugs. Flags like -Wextra help to catch these bugs as early as possible. I did not add this flag to other Makefile.am files because it would take a lot of work to get the rest of the source code in a state such that it compiles cleanly with -Wextra. Bart. |
|
From: <sv...@va...> - 2009-02-20 19:00:26
|
Author: bart
Date: 2009-02-20 19:00:18 +0000 (Fri, 20 Feb 2009)
New Revision: 9206
Log:
Moved drd/tests/pth_barrier.c, drd/tests/rwlock_race.c and
drd/tests/rwlock_test.c back to their original location.
Added:
trunk/drd/tests/pth_barrier.c
trunk/drd/tests/rwlock_race.c
trunk/drd/tests/rwlock_test.c
Removed:
trunk/helgrind/tests/pth_barrier.c
trunk/helgrind/tests/rwlock_race.c
trunk/helgrind/tests/rwlock_test.c
Modified:
trunk/drd/tests/Makefile.am
trunk/drd/tests/pth_barrier.vgtest
trunk/drd/tests/pth_barrier2.vgtest
trunk/drd/tests/pth_barrier3.vgtest
trunk/drd/tests/rwlock_race.vgtest
trunk/drd/tests/rwlock_test.vgtest
trunk/helgrind/tests/Makefile.am
trunk/helgrind/tests/pth_barrier1.vgtest
trunk/helgrind/tests/pth_barrier2.vgtest
trunk/helgrind/tests/pth_barrier3.vgtest
trunk/helgrind/tests/rwlock_race.vgtest
trunk/helgrind/tests/rwlock_test.vgtest
Modified: trunk/drd/tests/Makefile.am
===================================================================
--- trunk/drd/tests/Makefile.am 2009-02-20 06:37:52 UTC (rev 9205)
+++ trunk/drd/tests/Makefile.am 2009-02-20 19:00:18 UTC (rev 9206)
@@ -203,6 +203,8 @@
memory_allocation \
monitor_example \
new_delete \
+ rwlock_race \
+ rwlock_test \
pth_broadcast \
pth_cancel_locked \
pth_cond_race \
@@ -224,7 +226,7 @@
endif
if HAVE_PTHREAD_BARRIER
-check_PROGRAMS += matinv pth_barrier_reinit
+check_PROGRAMS += matinv pth_barrier pth_barrier_reinit
endif
if HAVE_PTHREAD_SPINLOCK
Copied: trunk/drd/tests/pth_barrier.c (from rev 9205, trunk/helgrind/tests/pth_barrier.c)
===================================================================
--- trunk/drd/tests/pth_barrier.c (rev 0)
+++ trunk/drd/tests/pth_barrier.c 2009-02-20 19:00:18 UTC (rev 9206)
@@ -0,0 +1,110 @@
+/* Test whether all data races are detected in a multithreaded program with
+ * barriers.
+ */
+
+
+#define _GNU_SOURCE
+
+/***********************/
+/* Include directives. */
+/***********************/
+
+#include <assert.h>
+#include <pthread.h>
+#include <stdio.h>
+#include <stdlib.h>
+
+
+/*********************/
+/* Type definitions. */
+/*********************/
+
+struct threadinfo
+{
+ pthread_barrier_t* b;
+ pthread_t tid;
+ int* array;
+ int iterations;
+};
+
+
+/********************/
+/* Local variables. */
+/********************/
+
+static int s_silent;
+
+
+/*************************/
+/* Function definitions. */
+/*************************/
+
+/** Single thread, which touches p->iterations elements of array p->array.
+ * Each modification of an element of p->array is a data race. */
+static void* threadfunc(struct threadinfo* p)
+{
+ int i;
+ int* const array = p->array;
+ pthread_barrier_t* const b = p->b;
+ if (! s_silent)
+ printf("thread %lx iteration 0\n", pthread_self());
+ pthread_barrier_wait(b);
+ for (i = 0; i < p->iterations; i++)
+ {
+ if (! s_silent)
+ printf("thread %lx iteration %d; writing to %p\n",
+ pthread_self(), i + 1, &array[i]);
+ array[i] = i;
+ pthread_barrier_wait(b);
+ }
+ return 0;
+}
+
+/** Actual test, consisting of nthread threads. */
+static void barriers_and_races(const int nthread, const int iterations)
+{
+ int i;
+ struct threadinfo* t;
+ pthread_barrier_t b;
+ int* array;
+
+ t = malloc(nthread * sizeof(struct threadinfo));
+ array = malloc(iterations * sizeof(array[0]));
+
+ if (! s_silent)
+ printf("&array[0] = %p\n", array);
+
+ pthread_barrier_init(&b, 0, nthread);
+
+ for (i = 0; i < nthread; i++)
+ {
+ t[i].b = &b;
+ t[i].array = array;
+ t[i].iterations = iterations;
+ pthread_create(&t[i].tid, 0, (void*(*)(void*))threadfunc, &t[i]);
+ }
+
+ for (i = 0; i < nthread; i++)
+ {
+ pthread_join(t[i].tid, 0);
+ }
+
+ pthread_barrier_destroy(&b);
+
+ free(array);
+ free(t);
+}
+
+int main(int argc, char** argv)
+{
+ int nthread;
+ int iterations;
+
+ nthread = (argc > 1) ? atoi(argv[1]) : 2;
+ iterations = (argc > 2) ? atoi(argv[2]) : 3;
+ s_silent = (argc > 3) ? atoi(argv[3]) : 0;
+
+ barriers_and_races(nthread, iterations);
+
+ return 0;
+}
Modified: trunk/drd/tests/pth_barrier.vgtest
===================================================================
--- trunk/drd/tests/pth_barrier.vgtest 2009-02-20 06:37:52 UTC (rev 9205)
+++ trunk/drd/tests/pth_barrier.vgtest 2009-02-20 19:00:18 UTC (rev 9206)
@@ -1,4 +1,4 @@
-prereq: test -e ../../helgrind/tests/pth_barrier && ./supported_libpthread
-prog: ../../helgrind/tests/pth_barrier
+prereq: test -e pth_barrier && ./supported_libpthread
+prog: pth_barrier
args: 2 1 1
stderr_filter: filter_error_summary
Modified: trunk/drd/tests/pth_barrier2.vgtest
===================================================================
--- trunk/drd/tests/pth_barrier2.vgtest 2009-02-20 06:37:52 UTC (rev 9205)
+++ trunk/drd/tests/pth_barrier2.vgtest 2009-02-20 19:00:18 UTC (rev 9206)
@@ -1,4 +1,4 @@
-prereq: test -e ../../helgrind/tests/pth_barrier && ./supported_libpthread
-prog: ../../helgrind/tests/pth_barrier
+prereq: test -e pth_barrier && ./supported_libpthread
+prog: pth_barrier
args: 2 32 1
stderr_filter: filter_error_summary
Modified: trunk/drd/tests/pth_barrier3.vgtest
===================================================================
--- trunk/drd/tests/pth_barrier3.vgtest 2009-02-20 06:37:52 UTC (rev 9205)
+++ trunk/drd/tests/pth_barrier3.vgtest 2009-02-20 19:00:18 UTC (rev 9206)
@@ -1,4 +1,4 @@
-prereq: test -e ../../helgrind/tests/pth_barrier && ./supported_libpthread
-prog: ../../helgrind/tests/pth_barrier
+prereq: test -e pth_barrier && ./supported_libpthread
+prog: pth_barrier
args: 32 1 1
stderr_filter: filter_error_summary
Copied: trunk/drd/tests/rwlock_race.c (from rev 9205, trunk/helgrind/tests/rwlock_race.c)
===================================================================
--- trunk/drd/tests/rwlock_race.c (rev 0)
+++ trunk/drd/tests/rwlock_race.c 2009-02-20 19:00:18 UTC (rev 9206)
@@ -0,0 +1,56 @@
+/** Cause a race inside code protected by a reader lock.
+ */
+
+
+/* Needed for older glibc's (2.3 and older, at least) who don't
+ otherwise "know" about pthread_rwlock_anything or about
+ PTHREAD_MUTEX_RECURSIVE (amongst things). */
+
+#define _GNU_SOURCE 1
+
+#include <pthread.h>
+#include <stdio.h>
+#include <unistd.h>
+
+
+
+static pthread_rwlock_t s_rwlock;
+static int s_racy;
+
+static void sleep_ms(const int ms)
+{
+ struct timespec delay = { ms / 1000, (ms % 1000) * 1000 * 1000 };
+ nanosleep(&delay, 0);
+}
+
+static void* thread_func(void* arg)
+{
+ pthread_rwlock_rdlock(&s_rwlock);
+ s_racy++;
+ pthread_rwlock_unlock(&s_rwlock);
+ sleep_ms(100);
+ return 0;
+}
+
+int main(int argc, char** argv)
+{
+ pthread_t thread1;
+ pthread_t thread2;
+
+#if 0
+ int res;
+ VALGRIND_DO_CLIENT_REQUEST(res, 0, VG_USERREQ__DRD_TRACE_ADDR,
+ &s_racy, 0, 0, 0, 0);
+#endif
+
+ pthread_rwlock_init(&s_rwlock, 0);
+ pthread_create(&thread1, 0, thread_func, 0);
+ pthread_create(&thread2, 0, thread_func, 0);
+ pthread_join(thread1, 0);
+ pthread_join(thread2, 0);
+ pthread_rwlock_destroy(&s_rwlock);
+
+ fprintf(stderr, "Result: %d\n", s_racy);
+
+ return 0;
+}
Modified: trunk/drd/tests/rwlock_race.vgtest
===================================================================
--- trunk/drd/tests/rwlock_race.vgtest 2009-02-20 06:37:52 UTC (rev 9205)
+++ trunk/drd/tests/rwlock_race.vgtest 2009-02-20 19:00:18 UTC (rev 9206)
@@ -1,3 +1,3 @@
prereq: ./supported_libpthread
vgopts: --var-info=yes
-prog: ../../helgrind/tests/rwlock_race
+prog: rwlock_race
Copied: trunk/drd/tests/rwlock_test.c (from rev 9205, trunk/helgrind/tests/rwlock_test.c)
===================================================================
--- trunk/drd/tests/rwlock_test.c (rev 0)
+++ trunk/drd/tests/rwlock_test.c 2009-02-20 19:00:18 UTC (rev 9206)
@@ -0,0 +1,52 @@
+/** Multithreaded test program that triggers various access patterns without
+ * triggering any race conditions.
+ */
+
+
+#define _GNU_SOURCE 1
+
+#include <pthread.h>
+#include <stdio.h>
+
+
+static pthread_rwlock_t s_rwlock;
+static int s_counter;
+
+static void* thread_func(void* arg)
+{
+ int i;
+ int sum = 0;
+
+ for (i = 0; i < 1000; i++)
+ {
+ pthread_rwlock_rdlock(&s_rwlock);
+ sum += s_counter;
+ pthread_rwlock_unlock(&s_rwlock);
+ pthread_rwlock_wrlock(&s_rwlock);
+ s_counter++;
+ pthread_rwlock_unlock(&s_rwlock);
+ }
+
+ return 0;
+}
+
+int main(int argc, char** argv)
+{
+ const int thread_count = 10;
+ pthread_t tid[thread_count];
+ int i;
+
+ for (i = 0; i < thread_count; i++)
+ {
+ pthread_create(&tid[i], 0, thread_func, 0);
+ }
+
+ for (i = 0; i < thread_count; i++)
+ {
+ pthread_join(tid[i], 0);
+ }
+
+ fprintf(stderr, "Finished.\n");
+
+ return 0;
+}
Modified: trunk/drd/tests/rwlock_test.vgtest
===================================================================
--- trunk/drd/tests/rwlock_test.vgtest 2009-02-20 06:37:52 UTC (rev 9205)
+++ trunk/drd/tests/rwlock_test.vgtest 2009-02-20 19:00:18 UTC (rev 9206)
@@ -1 +1 @@
-prog: ../../helgrind/tests/rwlock_test
+prog: rwlock_test
Modified: trunk/helgrind/tests/Makefile.am
===================================================================
--- trunk/helgrind/tests/Makefile.am 2009-02-20 06:37:52 UTC (rev 9205)
+++ trunk/helgrind/tests/Makefile.am 2009-02-20 19:00:18 UTC (rev 9206)
@@ -126,8 +126,6 @@
hg04_race \
hg05_race2 \
hg06_readshared \
- rwlock_race \
- rwlock_test \
tc01_simple_race \
tc02_simple_tls \
tc03_re_excl \
@@ -154,7 +152,7 @@
tc24_nonzero_sem
if HAVE_PTHREAD_BARRIER
-check_PROGRAMS += bar_bad bar_trivial pth_barrier
+check_PROGRAMS += bar_bad bar_trivial
endif
Deleted: trunk/helgrind/tests/pth_barrier.c
===================================================================
--- trunk/helgrind/tests/pth_barrier.c 2009-02-20 06:37:52 UTC (rev 9205)
+++ trunk/helgrind/tests/pth_barrier.c 2009-02-20 19:00:18 UTC (rev 9206)
@@ -1,110 +0,0 @@
-/* Test whether all data races are detected in a multithreaded program with
- * barriers.
- */
-
-
-#define _GNU_SOURCE
-
-/***********************/
-/* Include directives. */
-/***********************/
-
-#include <assert.h>
-#include <pthread.h>
-#include <stdio.h>
-#include <stdlib.h>
-
-
-/*********************/
-/* Type definitions. */
-/*********************/
-
-struct threadinfo
-{
- pthread_barrier_t* b;
- pthread_t tid;
- int* array;
- int iterations;
-};
-
-
-/********************/
-/* Local variables. */
-/********************/
-
-static int s_silent;
-
-
-/*************************/
-/* Function definitions. */
-/*************************/
-
-/** Single thread, which touches p->iterations elements of array p->array.
- * Each modification of an element of p->array is a data race. */
-static void* threadfunc(struct threadinfo* p)
-{
- int i;
- int* const array = p->array;
- pthread_barrier_t* const b = p->b;
- if (! s_silent)
- printf("thread %lx iteration 0\n", pthread_self());
- pthread_barrier_wait(b);
- for (i = 0; i < p->iterations; i++)
- {
- if (! s_silent)
- printf("thread %lx iteration %d; writing to %p\n",
- pthread_self(), i + 1, &array[i]);
- array[i] = i;
- pthread_barrier_wait(b);
- }
- return 0;
-}
-
-/** Actual test, consisting of nthread threads. */
-static void barriers_and_races(const int nthread, const int iterations)
-{
- int i;
- struct threadinfo* t;
- pthread_barrier_t b;
- int* array;
-
- t = malloc(nthread * sizeof(struct threadinfo));
- array = malloc(iterations * sizeof(array[0]));
-
- if (! s_silent)
- printf("&array[0] = %p\n", array);
-
- pthread_barrier_init(&b, 0, nthread);
-
- for (i = 0; i < nthread; i++)
- {
- t[i].b = &b;
- t[i].array = array;
- t[i].iterations = iterations;
- pthread_create(&t[i].tid, 0, (void*(*)(void*))threadfunc, &t[i]);
- }
-
- for (i = 0; i < nthread; i++)
- {
- pthread_join(t[i].tid, 0);
- }
-
- pthread_barrier_destroy(&b);
-
- free(array);
- free(t);
-}
-
-int main(int argc, char** argv)
-{
- int nthread;
- int iterations;
-
- nthread = (argc > 1) ? atoi(argv[1]) : 2;
- iterations = (argc > 2) ? atoi(argv[2]) : 3;
- s_silent = (argc > 3) ? atoi(argv[3]) : 0;
-
- barriers_and_races(nthread, iterations);
-
- return 0;
-}
Modified: trunk/helgrind/tests/pth_barrier1.vgtest
===================================================================
--- trunk/helgrind/tests/pth_barrier1.vgtest 2009-02-20 06:37:52 UTC (rev 9205)
+++ trunk/helgrind/tests/pth_barrier1.vgtest 2009-02-20 19:00:18 UTC (rev 9206)
@@ -1,4 +1,4 @@
prereq: test -e bar_trivial
-prog: pth_barrier
+prog: ../../drd/tests/pth_barrier
args: 2 1 1
vgopts: -q
Modified: trunk/helgrind/tests/pth_barrier2.vgtest
===================================================================
--- trunk/helgrind/tests/pth_barrier2.vgtest 2009-02-20 06:37:52 UTC (rev 9205)
+++ trunk/helgrind/tests/pth_barrier2.vgtest 2009-02-20 19:00:18 UTC (rev 9206)
@@ -1,4 +1,4 @@
prereq: test -e bar_trivial
-prog: pth_barrier
+prog: ../../drd/tests/pth_barrier
args: 2 32 1
vgopts: -q --cmp-race-err-addrs=yes
Modified: trunk/helgrind/tests/pth_barrier3.vgtest
===================================================================
--- trunk/helgrind/tests/pth_barrier3.vgtest 2009-02-20 06:37:52 UTC (rev 9205)
+++ trunk/helgrind/tests/pth_barrier3.vgtest 2009-02-20 19:00:18 UTC (rev 9206)
@@ -1,4 +1,4 @@
prereq: test -e bar_trivial
-prog: pth_barrier
+prog: ../../drd/tests/pth_barrier
args: 32 1 1
vgopts: -q
Deleted: trunk/helgrind/tests/rwlock_race.c
===================================================================
--- trunk/helgrind/tests/rwlock_race.c 2009-02-20 06:37:52 UTC (rev 9205)
+++ trunk/helgrind/tests/rwlock_race.c 2009-02-20 19:00:18 UTC (rev 9206)
@@ -1,56 +0,0 @@
-/** Cause a race inside code protected by a reader lock.
- */
-
-
-/* Needed for older glibc's (2.3 and older, at least) who don't
- otherwise "know" about pthread_rwlock_anything or about
- PTHREAD_MUTEX_RECURSIVE (amongst things). */
-
-#define _GNU_SOURCE 1
-
-#include <pthread.h>
-#include <stdio.h>
-#include <unistd.h>
-
-
-
-static pthread_rwlock_t s_rwlock;
-static int s_racy;
-
-static void sleep_ms(const int ms)
-{
- struct timespec delay = { ms / 1000, (ms % 1000) * 1000 * 1000 };
- nanosleep(&delay, 0);
-}
-
-static void* thread_func(void* arg)
-{
- pthread_rwlock_rdlock(&s_rwlock);
- s_racy++;
- pthread_rwlock_unlock(&s_rwlock);
- sleep_ms(100);
- return 0;
-}
-
-int main(int argc, char** argv)
-{
- pthread_t thread1;
- pthread_t thread2;
-
-#if 0
- int res;
- VALGRIND_DO_CLIENT_REQUEST(res, 0, VG_USERREQ__DRD_TRACE_ADDR,
- &s_racy, 0, 0, 0, 0);
-#endif
-
- pthread_rwlock_init(&s_rwlock, 0);
- pthread_create(&thread1, 0, thread_func, 0);
- pthread_create(&thread2, 0, thread_func, 0);
- pthread_join(thread1, 0);
- pthread_join(thread2, 0);
- pthread_rwlock_destroy(&s_rwlock);
-
- fprintf(stderr, "Result: %d\n", s_racy);
-
- return 0;
-}
Modified: trunk/helgrind/tests/rwlock_race.vgtest
===================================================================
--- trunk/helgrind/tests/rwlock_race.vgtest 2009-02-20 06:37:52 UTC (rev 9205)
+++ trunk/helgrind/tests/rwlock_race.vgtest 2009-02-20 19:00:18 UTC (rev 9206)
@@ -1,2 +1,2 @@
-prog: rwlock_race
+prog: ../../drd/tests/rwlock_race
vgopts: --read-var-info=yes
Deleted: trunk/helgrind/tests/rwlock_test.c
===================================================================
--- trunk/helgrind/tests/rwlock_test.c 2009-02-20 06:37:52 UTC (rev 9205)
+++ trunk/helgrind/tests/rwlock_test.c 2009-02-20 19:00:18 UTC (rev 9206)
@@ -1,52 +0,0 @@
-/** Multithreaded test program that triggers various access patterns without
- * triggering any race conditions.
- */
-
-
-#define _GNU_SOURCE 1
-
-#include <pthread.h>
-#include <stdio.h>
-
-
-static pthread_rwlock_t s_rwlock;
-static int s_counter;
-
-static void* thread_func(void* arg)
-{
- int i;
- int sum = 0;
-
- for (i = 0; i < 1000; i++)
- {
- pthread_rwlock_rdlock(&s_rwlock);
- sum += s_counter;
- pthread_rwlock_unlock(&s_rwlock);
- pthread_rwlock_wrlock(&s_rwlock);
- s_counter++;
- pthread_rwlock_unlock(&s_rwlock);
- }
-
- return 0;
-}
-
-int main(int argc, char** argv)
-{
- const int thread_count = 10;
- pthread_t tid[thread_count];
- int i;
-
- for (i = 0; i < thread_count; i++)
- {
- pthread_create(&tid[i], 0, thread_func, 0);
- }
-
- for (i = 0; i < thread_count; i++)
- {
- pthread_join(tid[i], 0);
- }
-
- fprintf(stderr, "Finished.\n");
-
- return 0;
-}
Modified: trunk/helgrind/tests/rwlock_test.vgtest
===================================================================
--- trunk/helgrind/tests/rwlock_test.vgtest 2009-02-20 06:37:52 UTC (rev 9205)
+++ trunk/helgrind/tests/rwlock_test.vgtest 2009-02-20 19:00:18 UTC (rev 9206)
@@ -1 +1 @@
-prog: rwlock_test
+prog: ../../drd/tests/rwlock_test
|
|
From: Pharaoh . <pha...@gm...> - 2009-02-20 18:54:46
|
Hello list, I am trying to learn how Valgrind works, by going through the code and trying out test cases out of interest. The tool reports stack traces for errors with function name etc. How does Valgrind do it? I mean, I don't see libbfd being used anywhere neither any glibc apis is used to collect the stack info. Also, how are the addresses converted to symbol names? Any pointers will be helpful. Regards, Pharaoh. |
|
From: Bart V. A. <bar...@gm...> - 2009-02-20 09:23:09
|
Nightly build on georgia-tech-cellbuzz-native ( cellbuzz, ppc64, Fedora 7, native ) started at 2009-02-20 02:56:06 EST Results differ from 24 hours ago Checking out valgrind source tree ... done Configuring valgrind ... done Building valgrind ... done Running regression tests ... done Regression test results follow == 394 tests, 151 stderr failures, 44 stdout failures, 0 post failures == drd/tests/atomic_var (stderr) drd/tests/circular_buffer (stderr) drd/tests/drd_bitmap_test (stdout) drd/tests/drd_bitmap_test (stderr) drd/tests/fp_race (stderr) drd/tests/fp_race2 (stderr) drd/tests/hg01_all_ok (stderr) drd/tests/hg02_deadlock (stderr) drd/tests/hg03_inherit (stderr) drd/tests/hg04_race (stderr) drd/tests/hg05_race2 (stderr) drd/tests/hg06_readshared (stderr) drd/tests/hold_lock_1 (stderr) drd/tests/hold_lock_2 (stderr) drd/tests/linuxthreads_det (stderr) drd/tests/memory_allocation (stderr) drd/tests/monitor_example (stderr) drd/tests/new_delete (stderr) drd/tests/pth_broadcast (stderr) drd/tests/pth_cancel_locked (stderr) drd/tests/pth_cond_race (stderr) drd/tests/pth_cond_race2 (stderr) drd/tests/pth_cond_race3 (stderr) drd/tests/pth_create_chain (stderr) drd/tests/pth_detached (stdout) drd/tests/pth_detached (stderr) drd/tests/pth_detached2 (stdout) drd/tests/pth_detached2 (stderr) drd/tests/pth_detached_sem (stdout) drd/tests/pth_detached_sem (stderr) drd/tests/pth_inconsistent_cond_wait (stderr) drd/tests/recursive_mutex (stdout) drd/tests/recursive_mutex (stderr) drd/tests/rwlock_race (stderr) drd/tests/rwlock_test (stderr) drd/tests/sem_as_mutex (stderr) drd/tests/sem_as_mutex2 (stderr) drd/tests/sigalrm (stderr) drd/tests/tc01_simple_race (stderr) drd/tests/tc02_simple_tls (stderr) drd/tests/tc03_re_excl (stderr) drd/tests/tc04_free_lock (stderr) drd/tests/tc05_simple_race (stderr) drd/tests/tc06_two_races (stderr) drd/tests/tc07_hbl1 (stdout) drd/tests/tc07_hbl1 (stderr) drd/tests/tc08_hbl2 (stdout) drd/tests/tc08_hbl2 (stderr) drd/tests/tc09_bad_unlock (stderr) drd/tests/tc10_rec_lock (stderr) drd/tests/tc11_XCHG (stdout) drd/tests/tc11_XCHG (stderr) drd/tests/tc12_rwl_trivial (stderr) drd/tests/tc13_laog1 (stderr) drd/tests/tc15_laog_lockdel (stderr) drd/tests/tc16_byterace (stderr) drd/tests/tc17_sembar (stderr) drd/tests/tc18_semabuse (stderr) drd/tests/tc19_shadowmem (stderr) drd/tests/tc20_verifywrap2 (stderr) drd/tests/tc21_pthonce (stdout) drd/tests/tc21_pthonce (stderr) drd/tests/tc22_exit_w_lock (stderr) drd/tests/tc23_bogus_condwait (stderr) drd/tests/tc24_nonzero_sem (stderr) drd/tests/trylock (stderr) exp-ptrcheck/tests/bad_percentify (stdout) exp-ptrcheck/tests/bad_percentify (stderr) exp-ptrcheck/tests/base (stderr) exp-ptrcheck/tests/ccc (stderr) exp-ptrcheck/tests/fp (stderr) exp-ptrcheck/tests/globalerr (stderr) exp-ptrcheck/tests/hackedbz2 (stdout) exp-ptrcheck/tests/hackedbz2 (stderr) exp-ptrcheck/tests/hp_bounds (stderr) exp-ptrcheck/tests/hp_dangle (stderr) exp-ptrcheck/tests/justify (stderr) exp-ptrcheck/tests/partial_bad (stderr) exp-ptrcheck/tests/partial_good (stderr) exp-ptrcheck/tests/preen_invars (stdout) exp-ptrcheck/tests/preen_invars (stderr) exp-ptrcheck/tests/pth_create (stderr) exp-ptrcheck/tests/pth_specific (stderr) exp-ptrcheck/tests/realloc (stderr) exp-ptrcheck/tests/stackerr (stderr) exp-ptrcheck/tests/strcpy (stderr) exp-ptrcheck/tests/supp (stderr) exp-ptrcheck/tests/tricky (stderr) exp-ptrcheck/tests/unaligned (stderr) exp-ptrcheck/tests/zero (stderr) 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/rwlock_race (stderr) helgrind/tests/rwlock_test (stderr) helgrind/tests/tc01_simple_race (stderr) helgrind/tests/tc02_simple_tls (stderr) helgrind/tests/tc03_re_excl (stderr) helgrind/tests/tc04_free_lock (stderr) helgrind/tests/tc05_simple_race (stderr) helgrind/tests/tc06_two_races (stderr) helgrind/tests/tc07_hbl1 (stdout) helgrind/tests/tc07_hbl1 (stderr) helgrind/tests/tc08_hbl2 (stdout) helgrind/tests/tc08_hbl2 (stderr) helgrind/tests/tc09_bad_unlock (stderr) helgrind/tests/tc10_rec_lock (stderr) helgrind/tests/tc11_XCHG (stdout) helgrind/tests/tc11_XCHG (stderr) helgrind/tests/tc12_rwl_trivial (stderr) helgrind/tests/tc13_laog1 (stderr) helgrind/tests/tc14_laog_dinphils (stderr) helgrind/tests/tc15_laog_lockdel (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 (stdout) helgrind/tests/tc21_pthonce (stderr) helgrind/tests/tc22_exit_w_lock (stderr) helgrind/tests/tc23_bogus_condwait (stderr) helgrind/tests/tc24_nonzero_sem (stderr) memcheck/tests/deep_templates (stdout) memcheck/tests/leak-cycle (stderr) memcheck/tests/leak-tree (stderr) memcheck/tests/origin5-bz2 (stderr) memcheck/tests/pointer-trace (stderr) memcheck/tests/unit_oset (stdout) memcheck/tests/unit_oset (stderr) memcheck/tests/varinfo1 (stderr) memcheck/tests/varinfo2 (stderr) memcheck/tests/varinfo3 (stderr) memcheck/tests/varinfo4 (stderr) memcheck/tests/varinfo5 (stderr) memcheck/tests/varinfo6 (stderr) memcheck/tests/wrap8 (stderr) memcheck/tests/zeropage (stdout) none/tests/faultstatus (stderr) none/tests/linux/mremap (stderr) none/tests/linux/mremap2 (stdout) none/tests/linux/mremap2 (stderr) none/tests/ppc32/bug129390-ppc32 (stdout) none/tests/ppc32/bug129390-ppc32 (stderr) none/tests/ppc32/bug139050-ppc32 (stdout) none/tests/ppc32/bug139050-ppc32 (stderr) none/tests/ppc32/jm-fp (stdout) none/tests/ppc32/jm-fp (stderr) none/tests/ppc32/jm-int (stdout) none/tests/ppc32/jm-int (stderr) none/tests/ppc32/jm-vmx (stdout) none/tests/ppc32/jm-vmx (stderr) none/tests/ppc32/ldstrev (stdout) none/tests/ppc32/ldstrev (stderr) none/tests/ppc32/lsw (stdout) none/tests/ppc32/lsw (stderr) none/tests/ppc32/mcrfs (stdout) none/tests/ppc32/mcrfs (stderr) none/tests/ppc32/mftocrf (stdout) none/tests/ppc32/mftocrf (stderr) none/tests/ppc32/round (stdout) none/tests/ppc32/round (stderr) none/tests/ppc32/test_fx (stdout) none/tests/ppc32/test_fx (stderr) none/tests/ppc32/test_gx (stdout) none/tests/ppc32/test_gx (stderr) none/tests/ppc32/testVMX (stdout) none/tests/ppc32/testVMX (stderr) none/tests/ppc32/tw (stdout) none/tests/ppc32/tw (stderr) none/tests/ppc32/twi (stdout) none/tests/ppc32/twi (stderr) none/tests/ppc32/xlc_dbl_u32 (stdout) none/tests/ppc32/xlc_dbl_u32 (stderr) none/tests/ppc64/jm-fp (stdout) none/tests/ppc64/jm-fp (stderr) none/tests/ppc64/jm-int (stdout) none/tests/ppc64/jm-int (stderr) none/tests/ppc64/jm-vmx (stdout) none/tests/ppc64/jm-vmx (stderr) none/tests/ppc64/lsw (stdout) none/tests/ppc64/lsw (stderr) none/tests/ppc64/round (stdout) none/tests/ppc64/round (stderr) none/tests/ppc64/std_reg_imm (stdout) none/tests/ppc64/std_reg_imm (stderr) none/tests/ppc64/tw_td (stdout) none/tests/ppc64/tw_td (stderr) none/tests/ppc64/twi_tdi (stdout) none/tests/ppc64/twi_tdi (stderr) none/tests/shell_valid2 (stderr) none/tests/shell_valid3 (stderr) ================================================= == Results from 24 hours ago == ================================================= Checking out valgrind source tree ... done Configuring valgrind ... done Building valgrind ... done Running regression tests ... done Regression test results follow == 407 tests, 39 stderr failures, 10 stdout failures, 1 post failure == exp-ptrcheck/tests/bad_percentify (stderr) exp-ptrcheck/tests/base (stderr) exp-ptrcheck/tests/ccc (stderr) exp-ptrcheck/tests/fp (stderr) exp-ptrcheck/tests/globalerr (stderr) exp-ptrcheck/tests/hackedbz2 (stderr) exp-ptrcheck/tests/hp_bounds (stderr) exp-ptrcheck/tests/hp_dangle (stderr) exp-ptrcheck/tests/justify (stderr) exp-ptrcheck/tests/partial_bad (stderr) exp-ptrcheck/tests/partial_good (stderr) exp-ptrcheck/tests/preen_invars (stderr) exp-ptrcheck/tests/pth_create (stderr) exp-ptrcheck/tests/pth_specific (stderr) exp-ptrcheck/tests/realloc (stderr) exp-ptrcheck/tests/stackerr (stderr) exp-ptrcheck/tests/strcpy (stderr) exp-ptrcheck/tests/supp (stderr) exp-ptrcheck/tests/tricky (stderr) exp-ptrcheck/tests/unaligned (stderr) exp-ptrcheck/tests/zero (stderr) helgrind/tests/hg05_race2 (stderr) helgrind/tests/tc18_semabuse (stderr) helgrind/tests/tc20_verifywrap (stderr) massif/tests/overloaded-new (post) memcheck/tests/deep_templates (stdout) memcheck/tests/leak-cycle (stderr) memcheck/tests/leak-tree (stderr) memcheck/tests/origin5-bz2 (stderr) memcheck/tests/pointer-trace (stderr) memcheck/tests/varinfo1 (stderr) memcheck/tests/varinfo2 (stderr) memcheck/tests/varinfo3 (stderr) memcheck/tests/varinfo4 (stderr) memcheck/tests/varinfo5 (stderr) memcheck/tests/varinfo6 (stderr) memcheck/tests/wrap8 (stderr) memcheck/tests/zeropage (stdout) none/tests/faultstatus (stderr) none/tests/linux/mremap (stderr) none/tests/linux/mremap2 (stdout) none/tests/ppc32/jm-fp (stdout) none/tests/ppc32/jm-vmx (stdout) none/tests/ppc32/round (stdout) none/tests/ppc32/test_gx (stdout) none/tests/ppc64/jm-fp (stdout) none/tests/ppc64/jm-vmx (stdout) none/tests/ppc64/round (stdout) none/tests/shell_valid2 (stderr) none/tests/shell_valid3 (stderr) ================================================= == Difference between 24 hours ago and now == ================================================= *** old.short 2009-02-20 03:41:46.000000000 -0500 --- new.short 2009-02-20 04:22:59.000000000 -0500 *************** *** 8,10 **** ! == 407 tests, 39 stderr failures, 10 stdout failures, 1 post failure == exp-ptrcheck/tests/bad_percentify (stderr) --- 8,77 ---- ! == 394 tests, 151 stderr failures, 44 stdout failures, 0 post failures == ! drd/tests/atomic_var (stderr) ! drd/tests/circular_buffer (stderr) ! drd/tests/drd_bitmap_test (stdout) ! drd/tests/drd_bitmap_test (stderr) ! drd/tests/fp_race (stderr) ! drd/tests/fp_race2 (stderr) ! drd/tests/hg01_all_ok (stderr) ! drd/tests/hg02_deadlock (stderr) ! drd/tests/hg03_inherit (stderr) ! drd/tests/hg04_race (stderr) ! drd/tests/hg05_race2 (stderr) ! drd/tests/hg06_readshared (stderr) ! drd/tests/hold_lock_1 (stderr) ! drd/tests/hold_lock_2 (stderr) ! drd/tests/linuxthreads_det (stderr) ! drd/tests/memory_allocation (stderr) ! drd/tests/monitor_example (stderr) ! drd/tests/new_delete (stderr) ! drd/tests/pth_broadcast (stderr) ! drd/tests/pth_cancel_locked (stderr) ! drd/tests/pth_cond_race (stderr) ! drd/tests/pth_cond_race2 (stderr) ! drd/tests/pth_cond_race3 (stderr) ! drd/tests/pth_create_chain (stderr) ! drd/tests/pth_detached (stdout) ! drd/tests/pth_detached (stderr) ! drd/tests/pth_detached2 (stdout) ! drd/tests/pth_detached2 (stderr) ! drd/tests/pth_detached_sem (stdout) ! drd/tests/pth_detached_sem (stderr) ! drd/tests/pth_inconsistent_cond_wait (stderr) ! drd/tests/recursive_mutex (stdout) ! drd/tests/recursive_mutex (stderr) ! drd/tests/rwlock_race (stderr) ! drd/tests/rwlock_test (stderr) ! drd/tests/sem_as_mutex (stderr) ! drd/tests/sem_as_mutex2 (stderr) ! drd/tests/sigalrm (stderr) ! drd/tests/tc01_simple_race (stderr) ! drd/tests/tc02_simple_tls (stderr) ! drd/tests/tc03_re_excl (stderr) ! drd/tests/tc04_free_lock (stderr) ! drd/tests/tc05_simple_race (stderr) ! drd/tests/tc06_two_races (stderr) ! drd/tests/tc07_hbl1 (stdout) ! drd/tests/tc07_hbl1 (stderr) ! drd/tests/tc08_hbl2 (stdout) ! drd/tests/tc08_hbl2 (stderr) ! drd/tests/tc09_bad_unlock (stderr) ! drd/tests/tc10_rec_lock (stderr) ! drd/tests/tc11_XCHG (stdout) ! drd/tests/tc11_XCHG (stderr) ! drd/tests/tc12_rwl_trivial (stderr) ! drd/tests/tc13_laog1 (stderr) ! drd/tests/tc15_laog_lockdel (stderr) ! drd/tests/tc16_byterace (stderr) ! drd/tests/tc17_sembar (stderr) ! drd/tests/tc18_semabuse (stderr) ! drd/tests/tc19_shadowmem (stderr) ! drd/tests/tc20_verifywrap2 (stderr) ! drd/tests/tc21_pthonce (stdout) ! drd/tests/tc21_pthonce (stderr) ! drd/tests/tc22_exit_w_lock (stderr) ! drd/tests/tc23_bogus_condwait (stderr) ! drd/tests/tc24_nonzero_sem (stderr) ! drd/tests/trylock (stderr) ! exp-ptrcheck/tests/bad_percentify (stdout) exp-ptrcheck/tests/bad_percentify (stderr) *************** *** 14,15 **** --- 81,83 ---- exp-ptrcheck/tests/globalerr (stderr) + exp-ptrcheck/tests/hackedbz2 (stdout) exp-ptrcheck/tests/hackedbz2 (stderr) *************** *** 20,21 **** --- 88,90 ---- exp-ptrcheck/tests/partial_good (stderr) + exp-ptrcheck/tests/preen_invars (stdout) exp-ptrcheck/tests/preen_invars (stderr) *************** *** 30,35 **** exp-ptrcheck/tests/zero (stderr) helgrind/tests/hg05_race2 (stderr) helgrind/tests/tc18_semabuse (stderr) helgrind/tests/tc20_verifywrap (stderr) ! massif/tests/overloaded-new (post) memcheck/tests/deep_templates (stdout) --- 99,136 ---- exp-ptrcheck/tests/zero (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/hg06_readshared (stderr) + helgrind/tests/rwlock_race (stderr) + helgrind/tests/rwlock_test (stderr) + helgrind/tests/tc01_simple_race (stderr) + helgrind/tests/tc02_simple_tls (stderr) + helgrind/tests/tc03_re_excl (stderr) + helgrind/tests/tc04_free_lock (stderr) + helgrind/tests/tc05_simple_race (stderr) + helgrind/tests/tc06_two_races (stderr) + helgrind/tests/tc07_hbl1 (stdout) + helgrind/tests/tc07_hbl1 (stderr) + helgrind/tests/tc08_hbl2 (stdout) + helgrind/tests/tc08_hbl2 (stderr) + helgrind/tests/tc09_bad_unlock (stderr) + helgrind/tests/tc10_rec_lock (stderr) + helgrind/tests/tc11_XCHG (stdout) + helgrind/tests/tc11_XCHG (stderr) + helgrind/tests/tc12_rwl_trivial (stderr) + helgrind/tests/tc13_laog1 (stderr) + helgrind/tests/tc14_laog_dinphils (stderr) + helgrind/tests/tc15_laog_lockdel (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 (stdout) ! helgrind/tests/tc21_pthonce (stderr) ! helgrind/tests/tc22_exit_w_lock (stderr) ! helgrind/tests/tc23_bogus_condwait (stderr) ! helgrind/tests/tc24_nonzero_sem (stderr) memcheck/tests/deep_templates (stdout) *************** *** 39,40 **** --- 140,143 ---- memcheck/tests/pointer-trace (stderr) + memcheck/tests/unit_oset (stdout) + memcheck/tests/unit_oset (stderr) memcheck/tests/varinfo1 (stderr) *************** *** 50,58 **** --- 153,203 ---- none/tests/linux/mremap2 (stdout) + none/tests/linux/mremap2 (stderr) + none/tests/ppc32/bug129390-ppc32 (stdout) + none/tests/ppc32/bug129390-ppc32 (stderr) + none/tests/ppc32/bug139050-ppc32 (stdout) + none/tests/ppc32/bug139050-ppc32 (stderr) none/tests/ppc32/jm-fp (stdout) + none/tests/ppc32/jm-fp (stderr) + none/tests/ppc32/jm-int (stdout) + none/tests/ppc32/jm-int (stderr) none/tests/ppc32/jm-vmx (stdout) + none/tests/ppc32/jm-vmx (stderr) + none/tests/ppc32/ldstrev (stdout) + none/tests/ppc32/ldstrev (stderr) + none/tests/ppc32/lsw (stdout) + none/tests/ppc32/lsw (stderr) + none/tests/ppc32/mcrfs (stdout) + none/tests/ppc32/mcrfs (stderr) + none/tests/ppc32/mftocrf (stdout) + none/tests/ppc32/mftocrf (stderr) none/tests/ppc32/round (stdout) + none/tests/ppc32/round (stderr) + none/tests/ppc32/test_fx (stdout) + none/tests/ppc32/test_fx (stderr) none/tests/ppc32/test_gx (stdout) + none/tests/ppc32/test_gx (stderr) + none/tests/ppc32/testVMX (stdout) + none/tests/ppc32/testVMX (stderr) + none/tests/ppc32/tw (stdout) + none/tests/ppc32/tw (stderr) + none/tests/ppc32/twi (stdout) + none/tests/ppc32/twi (stderr) + none/tests/ppc32/xlc_dbl_u32 (stdout) + none/tests/ppc32/xlc_dbl_u32 (stderr) none/tests/ppc64/jm-fp (stdout) + none/tests/ppc64/jm-fp (stderr) + none/tests/ppc64/jm-int (stdout) + none/tests/ppc64/jm-int (stderr) none/tests/ppc64/jm-vmx (stdout) + none/tests/ppc64/jm-vmx (stderr) + none/tests/ppc64/lsw (stdout) + none/tests/ppc64/lsw (stderr) none/tests/ppc64/round (stdout) + none/tests/ppc64/round (stderr) + none/tests/ppc64/std_reg_imm (stdout) + none/tests/ppc64/std_reg_imm (stderr) + none/tests/ppc64/tw_td (stdout) + none/tests/ppc64/tw_td (stderr) + none/tests/ppc64/twi_tdi (stdout) + none/tests/ppc64/twi_tdi (stderr) none/tests/shell_valid2 (stderr) |
|
From: Bart V. A. <bar...@gm...> - 2009-02-20 08:03:04
|
On Fri, Feb 20, 2009 at 8:36 AM, Nicholas Nethercote <n.n...@gm...> wrote: > But I don't want everything to be built twice > or the other simplifications I made to be rolled back. I didn't even start looking at the other changes. If I have any comments on the other changes I will post these to the valgrind-developers list first. I'm not so impolite to roll back changes without prior discussion. Bart. |
|
From: Bart V. A. <bar...@gm...> - 2009-02-20 07:45:52
|
Nightly build on georgia-tech-cellbuzz-native ( cellbuzz, ppc64, Fedora 9, native ) started at 2009-02-20 02:00:01 EST
Results differ from 24 hours ago
Checking out valgrind source tree ... done
Configuring valgrind ... done
Building valgrind ... done
Running regression tests ... done
Last 20 lines of verbose log follow echo
A valgrind/VEX/test_main.h
A valgrind/VEX/Makefile-icc
A valgrind/VEX/quote.txt
A valgrind/VEX/Makefile
A valgrind/VEX/LICENSE.README
U valgrind/VEX
Checked out external at revision 1883.
Checked out revision 9205.
Configuring valgrind ... cd valgrind && ./autogen.sh && ./configure --prefix=/home/bart/software/valgrind/nightly/Inst
Job ID = 1875.cell-user.cell.buzz
running: aclocal
./autogen.sh: line 6: aclocal: command not found
error: while running 'aclocal'
Building valgrind ... cd valgrind && make -j 2 && make -j 2 check && make install
Job ID = 1878.cell-user.cell.buzz
make: *** No targets specified and no makefile found. Stop.
Running regression tests ... cd valgrind && perl tests/vg_regtest --all
Job ID = 1880.cell-user.cell.buzz
Can't open perl script "tests/vg_regtest": No such file or directory
=================================================
== Results from 24 hours ago ==
=================================================
Checking out valgrind source tree ... done
Configuring valgrind ... done
Building valgrind ... done
Running regression tests ... done
Last 20 lines of verbose log follow echo
A valgrind/VEX/test_main.h
A valgrind/VEX/Makefile-icc
A valgrind/VEX/quote.txt
A valgrind/VEX/Makefile
A valgrind/VEX/LICENSE.README
U valgrind/VEX
Checked out external at revision 1883.
Checked out revision 9201.
Configuring valgrind ... cd valgrind && ./autogen.sh && ./configure --prefix=/home/bart/software/valgrind/nightly/Inst
Job ID = 1865.cell-user.cell.buzz
running: aclocal
./autogen.sh: line 6: aclocal: command not found
error: while running 'aclocal'
Building valgrind ... cd valgrind && make -j 2 && make -j 2 check && make install
Job ID = 1870.cell-user.cell.buzz
make: *** No targets specified and no makefile found. Stop.
Running regression tests ... cd valgrind && perl tests/vg_regtest --all
Job ID = 1871.cell-user.cell.buzz
Can't open perl script "tests/vg_regtest": No such file or directory
=================================================
== Difference between 24 hours ago and now ==
=================================================
*** old.short Fri Feb 20 02:22:57 2009
--- new.short Fri Feb 20 02:45:37 2009
***************
*** 15,19 ****
! Checked out revision 9201.
Configuring valgrind ... cd valgrind && ./autogen.sh && ./configure --prefix=/home/bart/software/valgrind/nightly/Inst
! Job ID = 1865.cell-user.cell.buzz
running: aclocal
--- 15,19 ----
! Checked out revision 9205.
Configuring valgrind ... cd valgrind && ./autogen.sh && ./configure --prefix=/home/bart/software/valgrind/nightly/Inst
! Job ID = 1875.cell-user.cell.buzz
running: aclocal
***************
*** 22,27 ****
Building valgrind ... cd valgrind && make -j 2 && make -j 2 check && make install
! Job ID = 1870.cell-user.cell.buzz
make: *** No targets specified and no makefile found. Stop.
Running regression tests ... cd valgrind && perl tests/vg_regtest --all
! Job ID = 1871.cell-user.cell.buzz
Can't open perl script "tests/vg_regtest": No such file or directory
--- 22,27 ----
Building valgrind ... cd valgrind && make -j 2 && make -j 2 check && make install
! Job ID = 1878.cell-user.cell.buzz
make: *** No targets specified and no makefile found. Stop.
Running regression tests ... cd valgrind && perl tests/vg_regtest --all
! Job ID = 1880.cell-user.cell.buzz
Can't open perl script "tests/vg_regtest": No such file or directory
|
|
From: Nicholas N. <n.n...@gm...> - 2009-02-20 07:36:35
|
On Fri, Feb 20, 2009 at 6:11 PM, Bart Van Assche <bar...@gm...> wrote: > On Fri, Feb 20, 2009 at 12:00 AM, Nicholas Nethercote > <n.n...@gm...> wrote: >> If you're still not happy with that, >> how's this for a compromise that I expect Julian won't mind: how >> about we move all the shared test source files from helgrind/tests/ >> into drd/tests/ ? > > Please move the tests that you moved away from drd/tests/ back to > drd/tests/. If you don't do this, I will do it. It appears your main concern is over the perceived authorship/ownership of the test files. So, fine, go ahead and move the source files back. But I don't want everything to be built twice or the other simplifications I made to be rolled back. Nick |
|
From: Bart V. A. <bar...@gm...> - 2009-02-20 07:11:13
|
On Fri, Feb 20, 2009 at 12:00 AM, Nicholas Nethercote <n.n...@gm...> wrote: > If you're still not happy with that, > how's this for a compromise that I expect Julian won't mind: how > about we move all the shared test source files from helgrind/tests/ > into drd/tests/ ? Please move the tests that you moved away from drd/tests/ back to drd/tests/. If you don't do this, I will do it. Bart. |
|
From: <sv...@va...> - 2009-02-20 06:37:58
|
Author: njn
Date: 2009-02-20 06:37:52 +0000 (Fri, 20 Feb 2009)
New Revision: 9205
Log:
Forgot to add this file in the last commit.
Added:
trunk/memcheck/tests/unit_libcbase.c
Added: trunk/memcheck/tests/unit_libcbase.c
===================================================================
--- trunk/memcheck/tests/unit_libcbase.c (rev 0)
+++ trunk/memcheck/tests/unit_libcbase.c 2009-02-20 06:37:52 UTC (rev 9205)
@@ -0,0 +1,239 @@
+// This module does unit testing of m_libcbase.
+
+#include <assert.h>
+#include <stdio.h>
+#include <stdlib.h>
+
+#include "coregrind/m_libcbase.c"
+
+
+void test_isXYZ(void)
+{
+ assert( VG_(isspace)(' ') );
+ assert( VG_(isspace)('\n') );
+ assert( VG_(isspace)('\t') );
+ assert( ! VG_(isspace)('3') );
+ assert( ! VG_(isspace)('x') );
+
+ assert( VG_(isdigit)('0') );
+ assert( VG_(isdigit)('1') );
+ assert( VG_(isdigit)('5') );
+ assert( VG_(isdigit)('9') );
+ assert( ! VG_(isdigit)('a') );
+ assert( ! VG_(isdigit)('!') );
+}
+
+void test_is_XYZ_digit()
+{
+ Long x;
+
+ assert( is_dec_digit('0', &x) && 0 == x );
+ assert( is_dec_digit('1', &x) && 1 == x );
+ assert( is_dec_digit('9', &x) && 9 == x );
+
+ assert( is_hex_digit('0', &x) && 0 == x );
+ assert( is_hex_digit('1', &x) && 1 == x );
+ assert( is_hex_digit('9', &x) && 9 == x );
+ assert( is_hex_digit('a', &x) && 10 == x );
+ assert( is_hex_digit('f', &x) && 15 == x );
+ assert( is_hex_digit('A', &x) && 10 == x );
+ assert( is_hex_digit('F', &x) && 15 == x );
+}
+
+void test_strtoll(void)
+{
+ // For VG_(strtoll*)()
+ typedef struct {
+ Char* str; // The string to convert.
+ Long res; // The result.
+ Char endptr_val; // The char one past the end of the converted text.
+ } StrtollInputs;
+
+ // VG_(strtoll10)()
+ {
+ StrtollInputs a[] = {
+ // If there's no number at the head of the string, return 0, and
+ // make 'endptr' point to the start of the string.
+ { str : "", res : 0, endptr_val : '\0' },
+ { str : " \n\t", res : 0, endptr_val : ' ' },
+ { str : "one", res : 0, endptr_val : 'o' },
+ { str : "\ntwo", res : 0, endptr_val : '\n' },
+
+ // Successful conversion. Leading whitespace is ignored. A single
+ // '-' or '+' is accepted.
+ { str : "0", res : 0, endptr_val : '\0' },
+ { str : "+0", res : 0, endptr_val : '\0' },
+ { str : "-0", res : 0, endptr_val : '\0' },
+ { str : "1", res : 1, endptr_val : '\0' },
+ { str : "+1", res : 1, endptr_val : '\0' },
+ { str : "-1", res : -1, endptr_val : '\0' },
+ { str : "12", res : 12, endptr_val : '\0' },
+ { str : "-567", res : -567, endptr_val : '\0' },
+ { str : "1234567", res : 1234567, endptr_val : '\0' },
+ { str : "007", res : 7, endptr_val : '\0' },
+ { str : " +42", res : 42, endptr_val : '\0' },
+ { str : "\n\t\r\v -56", res : -56, endptr_val : '\0' },
+ { str : "123xyz", res : 123, endptr_val : 'x' },
+ { str : " -123abc", res : -123, endptr_val : 'a' },
+
+ // Whitespace after the +/- is not allowed; conversion fails.
+ { str : "+ 1", res : 0, endptr_val : '+' },
+ { str : "-\n1", res : 0, endptr_val : '-' },
+ };
+
+ // Nb: We test the results against strtoll() as well.
+ int i;
+ for (i = 0; i < (sizeof(a) / sizeof(StrtollInputs)); i++) {
+ Char* endptr1;
+ char* endptr2;
+ Long res1 = VG_(strtoll10)(a[i].str, &endptr1);
+ long long res2 = strtoll (a[i].str, &endptr2, 10);
+ //printf("res1 = %lld, *endptr1 = '%c'\n", res1, *endptr1);
+ //printf("res2 = %lld, *endptr2 = '%c'\n", res2, *endptr2);
+ assert(a[i].res == res1 && a[i].endptr_val == *endptr1);
+ assert(res2 == res1 && *endptr2 == *endptr1);
+ }
+ }
+
+ // VG_(strtoll16)()
+ {
+ StrtollInputs a[] = {
+ // If there's no number at the head of the string, return 0, and
+ // make 'endptr' point to the start of the string.
+ { str : "", res : 0, endptr_val : '\0' },
+ { str : " \n\t", res : 0, endptr_val : ' ' },
+ { str : "one", res : 0, endptr_val : 'o' },
+ { str : "\ntwo", res : 0, endptr_val : '\n' },
+
+ // Successful conversion. Leading whitespace is ignored. A single
+ // '-' or '+' is accepted. "0X" and "0x" are also allowed at the
+ // front, but if no digits follow, just the "0" is converted.
+ { str : "0", res : 0, endptr_val : '\0' },
+ { str : "0x0", res : 0, endptr_val : '\0' },
+ { str : "0X0", res : 0, endptr_val : '\0' },
+ { str : "0x", res : 0, endptr_val : 'x' },
+ { str : "0Xg", res : 0, endptr_val : 'X' },
+ { str : "0", res : 0, endptr_val : '\0' },
+ { str : "+0", res : 0, endptr_val : '\0' },
+ { str : "-0", res : 0, endptr_val : '\0' },
+ { str : "1", res : 1, endptr_val : '\0' },
+ { str : "+1", res : 1, endptr_val : '\0' },
+ { str : "-1", res : -1, endptr_val : '\0' },
+ { str : "1a", res : 26, endptr_val : '\0' },
+ { str : "-5F7", res : -1527, endptr_val : '\0' },
+ { str : "0x1234567", res : 19088743, endptr_val : '\0' },
+ { str : "007", res : 7, endptr_val : '\0' },
+ { str : "0X00ABCD", res : 43981, endptr_val : '\0' },
+ { str : " +AbC", res : 2748, endptr_val : '\0' },
+ { str : " -0xAbC", res : -2748, endptr_val : '\0' },
+ { str : " -0xxx", res : 0, endptr_val : 'x' },
+ { str : "\n\t\r\v -56", res : -86, endptr_val : '\0' },
+ { str : "123xyz", res : 291, endptr_val : 'x' },
+ { str : " -123defghi", res : -1195503, endptr_val : 'g' },
+
+ // Whitespace after the +/- is not allowed; conversion fails.
+ { str : "+ 1", res : 0, endptr_val : '+' },
+ { str : "-\n0x1", res : 0, endptr_val : '-' },
+ };
+
+ // Nb: We test the results against strtoll() as well.
+ int i;
+ for (i = 0; i < (sizeof(a) / sizeof(StrtollInputs)); i++) {
+ Char* endptr1;
+ char* endptr2;
+ Long res1 = VG_(strtoll16)(a[i].str, &endptr1);
+ long long res2 = strtoll (a[i].str, &endptr2, 16);
+ //printf(" res1 = %lld, *endptr1 = '%c'\n", res1, *endptr1);
+ //printf(" res2 = %lld, *endptr2 = '%c'\n", res2, *endptr2);
+ assert(a[i].res == res1 && a[i].endptr_val == *endptr1);
+ assert(res2 == res1 && *endptr2 == *endptr1);
+ }
+ }
+ // VG_(strtod)()
+ {
+ StrtollInputs a[] = {
+ // If there's no number at the head of the string, return 0, and
+ // make 'endptr' point to the start of the string.
+ { str : "", res : 0, endptr_val : '\0' },
+ { str : " \n\t", res : 0, endptr_val : ' ' },
+ { str : "one", res : 0, endptr_val : 'o' },
+ { str : "\ntwo", res : 0, endptr_val : '\n' },
+
+ // Successful conversion. Leading whitespace is ignored. A single
+ // '-' or '+' is accepted. "0X" and "0x" are also allowed at the
+ // front, but if no digits follow, just the "0" is converted.
+ { str : "0", res : 0, endptr_val : '\0' },
+ { str : "0", res : 0, endptr_val : '\0' },
+ { str : "+0", res : 0, endptr_val : '\0' },
+ { str : "-0", res : 0, endptr_val : '\0' },
+ { str : "1", res : 1, endptr_val : '\0' },
+ { str : "+1", res : 1, endptr_val : '\0' },
+ { str : "-1", res : -1, endptr_val : '\0' },
+ { str : "1a", res : 26, endptr_val : '\0' },
+ { str : "-5F7", res : -1527, endptr_val : '\0' },
+ { str : "0x1234567", res : 19088743, endptr_val : '\0' },
+ { str : "007", res : 7, endptr_val : '\0' },
+ { str : "0X00ABCD", res : 43981, endptr_val : '\0' },
+ { str : " +AbC", res : 2748, endptr_val : '\0' },
+ { str : " -0xAbC", res : -2748, endptr_val : '\0' },
+ { str : " -0xxx", res : 0, endptr_val : 'x' },
+ { str : "\n\t\r\v -56", res : -86, endptr_val : '\0' },
+ { str : "123xyz", res : 291, endptr_val : 'x' },
+ { str : " -123defghi", res : -1195503, endptr_val : 'g' },
+
+ // Whitespace after the +/- is not allowed; conversion fails.
+ { str : "+ 1", res : 0, endptr_val : '+' },
+ { str : "-\n0x1", res : 0, endptr_val : '-' },
+ };
+
+ // Nb: We test the results against strtoll() as well.
+ int i;
+ for (i = 0; i < (sizeof(a) / sizeof(StrtollInputs)); i++) {
+ Char* endptr1;
+ char* endptr2;
+ Long res1 = VG_(strtoll16)(a[i].str, &endptr1);
+ long long res2 = strtoll (a[i].str, &endptr2, 16);
+ //printf(" res1 = %lld, *endptr1 = '%c'\n", res1, *endptr1);
+ //printf(" res2 = %lld, *endptr2 = '%c'\n", res2, *endptr2);
+ assert(a[i].res == res1 && a[i].endptr_val == *endptr1);
+ assert(res2 == res1 && *endptr2 == *endptr1);
+ }
+ }
+}
+
+int main(void)
+{
+ //--------------------------------------------------------------------
+ // Macros in pub_tool_libcbase.h
+ //--------------------------------------------------------------------
+ // XXX: todo
+
+ //--------------------------------------------------------------------
+ // Char functions
+ //--------------------------------------------------------------------
+ test_isXYZ();
+
+ //--------------------------------------------------------------------
+ // String-to-number functions
+ //--------------------------------------------------------------------
+ test_is_XYZ_digit();
+ test_strtoll();
+
+ //--------------------------------------------------------------------
+ // String functions
+ //--------------------------------------------------------------------
+ // XXX: todo
+
+ //--------------------------------------------------------------------
+ // Mem functions
+ //--------------------------------------------------------------------
+ // XXX: todo
+
+ //--------------------------------------------------------------------
+ // Miscellaneous functions
+ //--------------------------------------------------------------------
+ // XXX: todo
+
+ return 0;
+}
+
|
|
From: <sv...@va...> - 2009-02-20 06:10:51
|
Author: njn Date: 2009-02-20 06:10:44 +0000 (Fri, 20 Feb 2009) New Revision: 9204 Log: - Add 'unit_libcbase', the beginnings of a unit test module for m_libcbase. - Rename 'oset_test' as 'unit_oset' to make its meaning more clear. - Remove VG_(atoll36), VG_(strtoll8)() and VG_(strtoll36)(); they're not used and so untested, but easy to crib from similar functions if they need to be added again later. Added: trunk/memcheck/tests/unit_libcbase.stderr.exp trunk/memcheck/tests/unit_libcbase.vgtest trunk/memcheck/tests/unit_oset.c trunk/memcheck/tests/unit_oset.stderr.exp trunk/memcheck/tests/unit_oset.stdout.exp trunk/memcheck/tests/unit_oset.vgtest Removed: trunk/memcheck/tests/oset_test.c trunk/memcheck/tests/oset_test.stderr.exp trunk/memcheck/tests/oset_test.stdout.exp trunk/memcheck/tests/oset_test.vgtest Modified: trunk/coregrind/m_libcbase.c trunk/include/pub_tool_libcbase.h trunk/memcheck/tests/Makefile.am [... diff too large to include ...] |
|
From: Tom H. <th...@cy...> - 2009-02-20 03:47:57
|
Nightly build on vauxhall ( x86_64, Fedora 10 ) started at 2009-02-20 03:20:06 GMT 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 == 487 tests, 0 stderr failures, 0 stdout failures, 0 post failures == |
|
From: Tom H. <th...@cy...> - 2009-02-20 03:43:59
|
Nightly build on lloyd ( x86_64, Fedora 7 ) started at 2009-02-20 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 == 478 tests, 5 stderr failures, 0 stdout failures, 0 post failures == exp-ptrcheck/tests/ccc (stderr) exp-ptrcheck/tests/preen_invars (stderr) exp-ptrcheck/tests/pth_create (stderr) exp-ptrcheck/tests/pth_specific (stderr) helgrind/tests/tc20_verifywrap (stderr) |
|
From: Tom H. <th...@cy...> - 2009-02-20 03:31:57
|
Nightly build on mg ( x86_64, Fedora 9 ) started at 2009-02-20 03:10:03 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 == 484 tests, 5 stderr failures, 2 stdout failures, 0 post failures == exp-ptrcheck/tests/ccc (stderr) exp-ptrcheck/tests/preen_invars (stderr) exp-ptrcheck/tests/pth_create (stderr) exp-ptrcheck/tests/pth_specific (stderr) helgrind/tests/hg05_race2 (stderr) memcheck/tests/linux/timerfd-syscall (stdout) none/tests/linux/mremap2 (stdout) ================================================= == 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 == 484 tests, 4 stderr failures, 2 stdout failures, 0 post failures == exp-ptrcheck/tests/ccc (stderr) exp-ptrcheck/tests/preen_invars (stderr) exp-ptrcheck/tests/pth_create (stderr) exp-ptrcheck/tests/pth_specific (stderr) memcheck/tests/linux/timerfd-syscall (stdout) none/tests/linux/mremap2 (stdout) ================================================= == Difference between 24 hours ago and now == ================================================= *** old.short Fri Feb 20 03:20:52 2009 --- new.short Fri Feb 20 03:31:47 2009 *************** *** 8,10 **** ! == 484 tests, 4 stderr failures, 2 stdout failures, 0 post failures == exp-ptrcheck/tests/ccc (stderr) --- 8,10 ---- ! == 484 tests, 5 stderr failures, 2 stdout failures, 0 post failures == exp-ptrcheck/tests/ccc (stderr) *************** *** 13,14 **** --- 13,15 ---- exp-ptrcheck/tests/pth_specific (stderr) + helgrind/tests/hg05_race2 (stderr) memcheck/tests/linux/timerfd-syscall (stdout) |