noinst_SCRIPTS = filter_stderr
EXTRA_DIST = $(noinst_SCRIPTS) \
- true.stderr.exp true.vgtest
+ allok.stderr.exp allok.vgtest \
+ deadlock.stderr.exp deadlock.vgtest \
+ inherit.stderr.exp inherit.vgtest \
+ race.stderr.exp race.vgtest \
+ race2.stderr.exp race2.vgtest \
+ readshared.stderr.exp readshared.vgtest
+
+check_PROGRAMS = \
+ allok deadlock inherit race race2 readshared
+
+allok_SOURCES = allok.c
+deadlock_SOURCES = deadlock.c
+inherit_SOURCES = inherit.c
+race_SOURCES = race.c
+race2_SOURCES = race2.c
+readshared_SOURCES = readshared.c
+
+# force -gstabs, because we don't print symaddr for DWARF yet
+AM_CFLAGS = $(WERROR) -Winline -Wall -Wshadow -gstabs
+LDADD = -lpthread
--- /dev/null
+prog: allok
+vgopts: --optimise=no
--- /dev/null
+
+Thread 3:
+Mutex 0x........(m1) locked in inconsistent order
+ at 0x........: __pthread_mutex_lock (vg_libpthread.c:945)
+ by 0x........: t2 (deadlock.c:20)
+ by 0x........: thread_wrapper (vg_libpthread.c:661)
+ by 0x........: do__quit (vg_scheduler.c:1791)
+ while holding locks 0x........(m2)
+ 0x........(m2) last locked at
+ at 0x........: __pthread_mutex_lock (vg_libpthread.c:945)
+ by 0x........: t2 (deadlock.c:19)
+ by 0x........: thread_wrapper (vg_libpthread.c:661)
+ by 0x........: do__quit (vg_scheduler.c:1791)
+ while depending on locks 0x........(m1)
+
--- /dev/null
+prog: deadlock
+vgopts: --optimise=no
dir=`dirname $0`
$dir/../../tests/filter_stderr_basic |
+$dir/../../tests/filter_addresses |
# Output looks like...
#
--- /dev/null
+prog: inherit
+vgopts: --optimise=no
--- /dev/null
+
+Thread 3:
+Possible data race writing variable at 0x........ (shared)
+ at 0x........: th (race.c:10)
+ by 0x........: thread_wrapper (vg_libpthread.c:661)
+ by 0x........: do__quit (vg_scheduler.c:1791)
+ Address 0x........ is in BSS section of /home/jeremy/cvs/valgrind/helgrind/tests/race
+ Previous state: shared RO, no locks
+
--- /dev/null
+prog: race
+vgopts: --optimise=no
--- /dev/null
+
+Thread 3:
+Possible data race writing variable at 0x........
+ at 0x........: th (race2.c:17)
+ by 0x........: thread_wrapper (vg_libpthread.c:661)
+ by 0x........: do__quit (vg_scheduler.c:1791)
+ Address 0x........ == &(f->poot[5].plop[11]) at race2.c:17
+ Previous state: shared RO, no locks
+
--- /dev/null
+prog: race2
+vgopts: --optimise=no
--- /dev/null
+prog: readshared
+vgopts: --optimise=no
+++ /dev/null
-prog: ../../tests/true