summaryrefslogtreecommitdiff
path: root/helgrind/tests/.svn/text-base
diff options
context:
space:
mode:
Diffstat (limited to 'helgrind/tests/.svn/text-base')
-rw-r--r--helgrind/tests/.svn/text-base/Makefile.am.svn-base108
-rw-r--r--helgrind/tests/.svn/text-base/bar_bad.c.svn-base89
-rw-r--r--helgrind/tests/.svn/text-base/bar_bad.stderr.exp.svn-base45
-rw-r--r--helgrind/tests/.svn/text-base/bar_bad.stdout.exp.svn-base0
-rw-r--r--helgrind/tests/.svn/text-base/bar_bad.vgtest.svn-base3
-rw-r--r--helgrind/tests/.svn/text-base/bar_trivial.c.svn-base57
-rw-r--r--helgrind/tests/.svn/text-base/bar_trivial.stderr.exp.svn-base0
-rw-r--r--helgrind/tests/.svn/text-base/bar_trivial.stdout.exp.svn-base1
-rw-r--r--helgrind/tests/.svn/text-base/bar_trivial.vgtest.svn-base3
-rw-r--r--helgrind/tests/.svn/text-base/filter_stderr.svn-base60
-rw-r--r--helgrind/tests/.svn/text-base/hg01_all_ok.c.svn-base32
-rw-r--r--helgrind/tests/.svn/text-base/hg01_all_ok.stderr.exp.svn-base3
-rw-r--r--helgrind/tests/.svn/text-base/hg01_all_ok.stdout.exp.svn-base0
-rw-r--r--helgrind/tests/.svn/text-base/hg01_all_ok.vgtest.svn-base1
-rw-r--r--helgrind/tests/.svn/text-base/hg02_deadlock.c.svn-base43
-rw-r--r--helgrind/tests/.svn/text-base/hg02_deadlock.stderr.exp.svn-base23
-rw-r--r--helgrind/tests/.svn/text-base/hg02_deadlock.stdout.exp.svn-base0
-rw-r--r--helgrind/tests/.svn/text-base/hg02_deadlock.vgtest.svn-base1
-rw-r--r--helgrind/tests/.svn/text-base/hg03_inherit.c.svn-base67
-rw-r--r--helgrind/tests/.svn/text-base/hg03_inherit.stderr.exp.svn-base27
-rw-r--r--helgrind/tests/.svn/text-base/hg03_inherit.stdout.exp.svn-base0
-rw-r--r--helgrind/tests/.svn/text-base/hg03_inherit.vgtest.svn-base2
-rw-r--r--helgrind/tests/.svn/text-base/hg04_race.c.svn-base27
-rw-r--r--helgrind/tests/.svn/text-base/hg04_race.stderr.exp.svn-base34
-rw-r--r--helgrind/tests/.svn/text-base/hg04_race.stdout.exp.svn-base0
-rw-r--r--helgrind/tests/.svn/text-base/hg04_race.vgtest.svn-base2
-rw-r--r--helgrind/tests/.svn/text-base/hg05_race2.c.svn-base35
-rw-r--r--helgrind/tests/.svn/text-base/hg05_race2.stderr.exp.svn-base34
-rw-r--r--helgrind/tests/.svn/text-base/hg05_race2.stdout.exp.svn-base0
-rw-r--r--helgrind/tests/.svn/text-base/hg05_race2.vgtest.svn-base2
-rw-r--r--helgrind/tests/.svn/text-base/hg06_readshared.c.svn-base33
-rw-r--r--helgrind/tests/.svn/text-base/hg06_readshared.stderr.exp.svn-base3
-rw-r--r--helgrind/tests/.svn/text-base/hg06_readshared.stdout.exp.svn-base0
-rw-r--r--helgrind/tests/.svn/text-base/hg06_readshared.vgtest.svn-base1
-rw-r--r--helgrind/tests/.svn/text-base/pth_barrier1.stderr.exp.svn-base20
-rw-r--r--helgrind/tests/.svn/text-base/pth_barrier1.stdout.exp.svn-base0
-rw-r--r--helgrind/tests/.svn/text-base/pth_barrier1.vgtest.svn-base4
-rw-r--r--helgrind/tests/.svn/text-base/pth_barrier2.stderr.exp.svn-base299
-rw-r--r--helgrind/tests/.svn/text-base/pth_barrier2.stdout.exp.svn-base0
-rw-r--r--helgrind/tests/.svn/text-base/pth_barrier2.vgtest.svn-base4
-rw-r--r--helgrind/tests/.svn/text-base/pth_barrier3.stderr.exp.svn-base20
-rw-r--r--helgrind/tests/.svn/text-base/pth_barrier3.stdout.exp.svn-base0
-rw-r--r--helgrind/tests/.svn/text-base/pth_barrier3.vgtest.svn-base4
-rw-r--r--helgrind/tests/.svn/text-base/rwlock_race.stderr.exp.svn-base24
-rw-r--r--helgrind/tests/.svn/text-base/rwlock_race.stdout.exp.svn-base0
-rw-r--r--helgrind/tests/.svn/text-base/rwlock_race.vgtest.svn-base2
-rw-r--r--helgrind/tests/.svn/text-base/rwlock_test.stderr.exp.svn-base4
-rw-r--r--helgrind/tests/.svn/text-base/rwlock_test.stdout.exp.svn-base0
-rw-r--r--helgrind/tests/.svn/text-base/rwlock_test.vgtest.svn-base1
-rw-r--r--helgrind/tests/.svn/text-base/tc01_simple_race.c.svn-base36
-rw-r--r--helgrind/tests/.svn/text-base/tc01_simple_race.stderr.exp.svn-base27
-rw-r--r--helgrind/tests/.svn/text-base/tc01_simple_race.stdout.exp.svn-base0
-rw-r--r--helgrind/tests/.svn/text-base/tc01_simple_race.vgtest.svn-base2
-rw-r--r--helgrind/tests/.svn/text-base/tc02_simple_tls.c.svn-base39
-rw-r--r--helgrind/tests/.svn/text-base/tc02_simple_tls.stderr.exp.svn-base3
-rw-r--r--helgrind/tests/.svn/text-base/tc02_simple_tls.stdout.exp.svn-base0
-rw-r--r--helgrind/tests/.svn/text-base/tc02_simple_tls.vgtest.svn-base1
-rw-r--r--helgrind/tests/.svn/text-base/tc03_re_excl.c.svn-base44
-rw-r--r--helgrind/tests/.svn/text-base/tc03_re_excl.stderr.exp.svn-base3
-rw-r--r--helgrind/tests/.svn/text-base/tc03_re_excl.stdout.exp.svn-base0
-rw-r--r--helgrind/tests/.svn/text-base/tc03_re_excl.vgtest.svn-base1
-rw-r--r--helgrind/tests/.svn/text-base/tc04_free_lock.c.svn-base50
-rw-r--r--helgrind/tests/.svn/text-base/tc04_free_lock.stderr.exp.svn-base7
-rw-r--r--helgrind/tests/.svn/text-base/tc04_free_lock.stdout.exp.svn-base0
-rw-r--r--helgrind/tests/.svn/text-base/tc04_free_lock.vgtest.svn-base1
-rw-r--r--helgrind/tests/.svn/text-base/tc05_simple_race.c.svn-base44
-rw-r--r--helgrind/tests/.svn/text-base/tc05_simple_race.stderr.exp.svn-base27
-rw-r--r--helgrind/tests/.svn/text-base/tc05_simple_race.stdout.exp.svn-base0
-rw-r--r--helgrind/tests/.svn/text-base/tc05_simple_race.vgtest.svn-base2
-rw-r--r--helgrind/tests/.svn/text-base/tc06_two_races.c.svn-base43
-rw-r--r--helgrind/tests/.svn/text-base/tc06_two_races.stderr.exp.svn-base45
-rw-r--r--helgrind/tests/.svn/text-base/tc06_two_races.stdout.exp.svn-base0
-rw-r--r--helgrind/tests/.svn/text-base/tc06_two_races.vgtest.svn-base2
-rw-r--r--helgrind/tests/.svn/text-base/tc07_hbl1.c.svn-base77
-rw-r--r--helgrind/tests/.svn/text-base/tc07_hbl1.stderr.exp.svn-base3
-rw-r--r--helgrind/tests/.svn/text-base/tc07_hbl1.stdout.exp.svn-base1
-rw-r--r--helgrind/tests/.svn/text-base/tc07_hbl1.vgtest.svn-base1
-rw-r--r--helgrind/tests/.svn/text-base/tc08_hbl2.c.svn-base117
-rw-r--r--helgrind/tests/.svn/text-base/tc08_hbl2.stderr.exp.svn-base3
-rw-r--r--helgrind/tests/.svn/text-base/tc08_hbl2.stdout.exp.svn-base3
-rw-r--r--helgrind/tests/.svn/text-base/tc08_hbl2.vgtest.svn-base1
-rw-r--r--helgrind/tests/.svn/text-base/tc09_bad_unlock.c.svn-base52
-rw-r--r--helgrind/tests/.svn/text-base/tc09_bad_unlock.stderr.exp-glibc23-amd64.svn-base80
-rw-r--r--helgrind/tests/.svn/text-base/tc09_bad_unlock.stderr.exp-glibc25-amd64.svn-base90
-rw-r--r--helgrind/tests/.svn/text-base/tc09_bad_unlock.stderr.exp-glibc25-x86.svn-base92
-rw-r--r--helgrind/tests/.svn/text-base/tc09_bad_unlock.stdout.exp.svn-base0
-rw-r--r--helgrind/tests/.svn/text-base/tc09_bad_unlock.vgtest.svn-base1
-rw-r--r--helgrind/tests/.svn/text-base/tc10_rec_lock.c.svn-base49
-rw-r--r--helgrind/tests/.svn/text-base/tc10_rec_lock.stderr.exp.svn-base26
-rw-r--r--helgrind/tests/.svn/text-base/tc10_rec_lock.stdout.exp.svn-base0
-rw-r--r--helgrind/tests/.svn/text-base/tc10_rec_lock.vgtest.svn-base1
-rw-r--r--helgrind/tests/.svn/text-base/tc11_XCHG.c.svn-base112
-rw-r--r--helgrind/tests/.svn/text-base/tc11_XCHG.stderr.exp.svn-base3
-rw-r--r--helgrind/tests/.svn/text-base/tc11_XCHG.stdout.exp.svn-base1
-rw-r--r--helgrind/tests/.svn/text-base/tc11_XCHG.vgtest.svn-base1
-rw-r--r--helgrind/tests/.svn/text-base/tc12_rwl_trivial.c.svn-base34
-rw-r--r--helgrind/tests/.svn/text-base/tc12_rwl_trivial.stderr.exp.svn-base11
-rw-r--r--helgrind/tests/.svn/text-base/tc12_rwl_trivial.stdout.exp.svn-base0
-rw-r--r--helgrind/tests/.svn/text-base/tc12_rwl_trivial.vgtest.svn-base1
-rw-r--r--helgrind/tests/.svn/text-base/tc13_laog1.c.svn-base33
-rw-r--r--helgrind/tests/.svn/text-base/tc13_laog1.stderr.exp.svn-base14
-rw-r--r--helgrind/tests/.svn/text-base/tc13_laog1.stdout.exp.svn-base0
-rw-r--r--helgrind/tests/.svn/text-base/tc13_laog1.vgtest.svn-base1
-rw-r--r--helgrind/tests/.svn/text-base/tc14_laog_dinphils.c.svn-base42
-rw-r--r--helgrind/tests/.svn/text-base/tc14_laog_dinphils.stderr.exp.svn-base13
-rw-r--r--helgrind/tests/.svn/text-base/tc14_laog_dinphils.stdout.exp.svn-base0
-rw-r--r--helgrind/tests/.svn/text-base/tc14_laog_dinphils.vgtest.svn-base1
-rw-r--r--helgrind/tests/.svn/text-base/tc15_laog_lockdel.c.svn-base77
-rw-r--r--helgrind/tests/.svn/text-base/tc15_laog_lockdel.stderr.exp.svn-base19
-rw-r--r--helgrind/tests/.svn/text-base/tc15_laog_lockdel.stdout.exp.svn-base0
-rw-r--r--helgrind/tests/.svn/text-base/tc15_laog_lockdel.vgtest.svn-base1
-rw-r--r--helgrind/tests/.svn/text-base/tc16_byterace.c.svn-base42
-rw-r--r--helgrind/tests/.svn/text-base/tc16_byterace.stderr.exp.svn-base27
-rw-r--r--helgrind/tests/.svn/text-base/tc16_byterace.stdout.exp.svn-base0
-rw-r--r--helgrind/tests/.svn/text-base/tc16_byterace.vgtest.svn-base2
-rw-r--r--helgrind/tests/.svn/text-base/tc17_sembar.c.svn-base213
-rw-r--r--helgrind/tests/.svn/text-base/tc17_sembar.stderr.exp.svn-base5
-rw-r--r--helgrind/tests/.svn/text-base/tc17_sembar.stdout.exp.svn-base0
-rw-r--r--helgrind/tests/.svn/text-base/tc17_sembar.vgtest.svn-base1
-rw-r--r--helgrind/tests/.svn/text-base/tc18_semabuse.c.svn-base57
-rw-r--r--helgrind/tests/.svn/text-base/tc18_semabuse.stderr.exp-glibc25-amd64.svn-base14
-rw-r--r--helgrind/tests/.svn/text-base/tc18_semabuse.stderr.exp-glibc28-amd64.svn-base20
-rw-r--r--helgrind/tests/.svn/text-base/tc18_semabuse.stdout.exp.svn-base0
-rw-r--r--helgrind/tests/.svn/text-base/tc18_semabuse.vgtest.svn-base1
-rw-r--r--helgrind/tests/.svn/text-base/tc19_shadowmem.c.svn-base2291
-rw-r--r--helgrind/tests/.svn/text-base/tc19_shadowmem.stderr.exp.svn-base15304
-rw-r--r--helgrind/tests/.svn/text-base/tc19_shadowmem.stdout.exp.svn-base0
-rw-r--r--helgrind/tests/.svn/text-base/tc19_shadowmem.vgtest.svn-base2
-rw-r--r--helgrind/tests/.svn/text-base/tc20_verifywrap.c.svn-base270
-rw-r--r--helgrind/tests/.svn/text-base/tc20_verifywrap.stderr.exp-glibc25-amd64.svn-base154
-rw-r--r--helgrind/tests/.svn/text-base/tc20_verifywrap.stderr.exp-glibc27-amd64.svn-base160
-rw-r--r--helgrind/tests/.svn/text-base/tc20_verifywrap.stdout.exp.svn-base0
-rw-r--r--helgrind/tests/.svn/text-base/tc20_verifywrap.vgtest.svn-base2
-rw-r--r--helgrind/tests/.svn/text-base/tc21_pthonce.c.svn-base96
-rw-r--r--helgrind/tests/.svn/text-base/tc21_pthonce.stderr.exp.svn-base34
-rw-r--r--helgrind/tests/.svn/text-base/tc21_pthonce.stdout.exp.svn-base4
-rw-r--r--helgrind/tests/.svn/text-base/tc21_pthonce.vgtest.svn-base2
-rw-r--r--helgrind/tests/.svn/text-base/tc22_exit_w_lock.c.svn-base50
-rw-r--r--helgrind/tests/.svn/text-base/tc22_exit_w_lock.stderr.exp.svn-base23
-rw-r--r--helgrind/tests/.svn/text-base/tc22_exit_w_lock.stdout.exp.svn-base0
-rw-r--r--helgrind/tests/.svn/text-base/tc22_exit_w_lock.vgtest.svn-base1
-rw-r--r--helgrind/tests/.svn/text-base/tc23_bogus_condwait.c.svn-base86
-rw-r--r--helgrind/tests/.svn/text-base/tc23_bogus_condwait.stderr.exp.svn-base20
-rw-r--r--helgrind/tests/.svn/text-base/tc23_bogus_condwait.stdout.exp.svn-base0
-rw-r--r--helgrind/tests/.svn/text-base/tc23_bogus_condwait.vgtest.svn-base1
-rw-r--r--helgrind/tests/.svn/text-base/tc24_nonzero_sem.c.svn-base41
-rw-r--r--helgrind/tests/.svn/text-base/tc24_nonzero_sem.stderr.exp.svn-base3
-rw-r--r--helgrind/tests/.svn/text-base/tc24_nonzero_sem.stdout.exp.svn-base0
-rw-r--r--helgrind/tests/.svn/text-base/tc24_nonzero_sem.vgtest.svn-base2
149 files changed, 21384 insertions, 0 deletions
diff --git a/helgrind/tests/.svn/text-base/Makefile.am.svn-base b/helgrind/tests/.svn/text-base/Makefile.am.svn-base
new file mode 100644
index 0000000..f52072f
--- /dev/null
+++ b/helgrind/tests/.svn/text-base/Makefile.am.svn-base
@@ -0,0 +1,108 @@
+
+include $(top_srcdir)/Makefile.tool-tests.am
+
+noinst_SCRIPTS = filter_stderr
+
+EXTRA_DIST = $(noinst_SCRIPTS) \
+ bar_bad.vgtest bar_bad.stdout.exp bar_bad.stderr.exp \
+ bar_trivial.vgtest bar_trivial.stdout.exp bar_trivial.stderr.exp \
+ hg01_all_ok.vgtest hg01_all_ok.stdout.exp hg01_all_ok.stderr.exp \
+ hg02_deadlock.vgtest hg02_deadlock.stdout.exp hg02_deadlock.stderr.exp \
+ hg03_inherit.vgtest hg03_inherit.stdout.exp hg03_inherit.stderr.exp \
+ hg04_race.vgtest hg04_race.stdout.exp hg04_race.stderr.exp \
+ hg05_race2.vgtest hg05_race2.stdout.exp hg05_race2.stderr.exp \
+ hg06_readshared.vgtest hg06_readshared.stdout.exp \
+ hg06_readshared.stderr.exp \
+ pth_barrier1.vgtest pth_barrier1.stdout.exp pth_barrier1.stderr.exp \
+ pth_barrier2.vgtest pth_barrier2.stdout.exp pth_barrier2.stderr.exp \
+ pth_barrier3.vgtest pth_barrier3.stdout.exp pth_barrier3.stderr.exp \
+ rwlock_race.vgtest rwlock_race.stdout.exp rwlock_race.stderr.exp \
+ rwlock_test.vgtest rwlock_test.stdout.exp rwlock_test.stderr.exp \
+ tc01_simple_race.vgtest tc01_simple_race.stdout.exp \
+ tc01_simple_race.stderr.exp \
+ tc02_simple_tls.vgtest tc02_simple_tls.stdout.exp \
+ tc02_simple_tls.stderr.exp \
+ tc03_re_excl.vgtest tc03_re_excl.stdout.exp \
+ tc03_re_excl.stderr.exp \
+ tc04_free_lock.vgtest tc04_free_lock.stdout.exp \
+ tc04_free_lock.stderr.exp \
+ tc05_simple_race.vgtest tc05_simple_race.stdout.exp \
+ tc05_simple_race.stderr.exp \
+ tc06_two_races.vgtest tc06_two_races.stdout.exp \
+ tc06_two_races.stderr.exp \
+ tc07_hbl1.vgtest tc07_hbl1.stdout.exp tc07_hbl1.stderr.exp \
+ tc08_hbl2.vgtest tc08_hbl2.stdout.exp tc08_hbl2.stderr.exp \
+ tc09_bad_unlock.vgtest tc09_bad_unlock.stdout.exp \
+ tc09_bad_unlock.stderr.exp-glibc23-amd64 \
+ tc09_bad_unlock.stderr.exp-glibc25-amd64 \
+ tc09_bad_unlock.stderr.exp-glibc25-x86 \
+ tc10_rec_lock.vgtest tc10_rec_lock.stdout.exp tc10_rec_lock.stderr.exp \
+ tc11_XCHG.vgtest tc11_XCHG.stdout.exp tc11_XCHG.stderr.exp \
+ tc12_rwl_trivial.vgtest tc12_rwl_trivial.stdout.exp \
+ tc12_rwl_trivial.stderr.exp \
+ tc13_laog1.vgtest tc13_laog1.stdout.exp tc13_laog1.stderr.exp \
+ tc14_laog_dinphils.vgtest tc14_laog_dinphils.stdout.exp \
+ tc14_laog_dinphils.stderr.exp \
+ tc15_laog_lockdel.vgtest tc15_laog_lockdel.stdout.exp \
+ tc15_laog_lockdel.stderr.exp \
+ tc16_byterace.vgtest tc16_byterace.stdout.exp \
+ tc16_byterace.stderr.exp \
+ tc17_sembar.vgtest tc17_sembar.stdout.exp \
+ tc17_sembar.stderr.exp \
+ tc18_semabuse.vgtest tc18_semabuse.stdout.exp \
+ tc18_semabuse.stderr.exp-glibc25-amd64 \
+ tc18_semabuse.stderr.exp-glibc28-amd64 \
+ tc19_shadowmem.vgtest tc19_shadowmem.stdout.exp \
+ tc19_shadowmem.stderr.exp \
+ tc20_verifywrap.vgtest tc20_verifywrap.stdout.exp \
+ tc20_verifywrap.stderr.exp-glibc25-amd64 \
+ tc20_verifywrap.stderr.exp-glibc27-amd64 \
+ tc21_pthonce.vgtest tc21_pthonce.stdout.exp tc21_pthonce.stderr.exp \
+ tc22_exit_w_lock.vgtest tc22_exit_w_lock.stdout.exp \
+ tc22_exit_w_lock.stderr.exp \
+ tc23_bogus_condwait.vgtest tc23_bogus_condwait.stdout.exp \
+ tc23_bogus_condwait.stderr.exp \
+ tc24_nonzero_sem.vgtest tc24_nonzero_sem.stdout.exp \
+ tc24_nonzero_sem.stderr.exp
+
+check_PROGRAMS = \
+ hg01_all_ok \
+ hg02_deadlock \
+ hg03_inherit \
+ hg04_race \
+ hg05_race2 \
+ hg06_readshared \
+ tc01_simple_race \
+ tc02_simple_tls \
+ tc03_re_excl \
+ tc04_free_lock \
+ tc05_simple_race \
+ tc06_two_races \
+ tc07_hbl1 \
+ tc08_hbl2 \
+ tc09_bad_unlock \
+ tc10_rec_lock \
+ tc11_XCHG \
+ tc12_rwl_trivial \
+ tc13_laog1 \
+ tc14_laog_dinphils \
+ tc15_laog_lockdel \
+ tc16_byterace \
+ tc17_sembar \
+ tc18_semabuse \
+ tc19_shadowmem \
+ tc20_verifywrap \
+ tc21_pthonce \
+ tc22_exit_w_lock \
+ tc23_bogus_condwait \
+ tc24_nonzero_sem
+
+if HAVE_PTHREAD_BARRIER
+check_PROGRAMS += bar_bad bar_trivial
+endif
+
+AM_CFLAGS += $(AM_FLAG_M3264_PRI)
+AM_CXXFLAGS += $(AM_FLAG_M3264_PRI)
+
+LDADD = -lpthread
+
diff --git a/helgrind/tests/.svn/text-base/bar_bad.c.svn-base b/helgrind/tests/.svn/text-base/bar_bad.c.svn-base
new file mode 100644
index 0000000..dd6079c
--- /dev/null
+++ b/helgrind/tests/.svn/text-base/bar_bad.c.svn-base
@@ -0,0 +1,89 @@
+
+/* This program checks that Helgrind reports the five degenerate
+ uses of the barrier functions shown. */
+#define _GNU_SOURCE
+#include <pthread.h>
+#include <stdio.h>
+#include <stdlib.h>
+#include <assert.h>
+#include <unistd.h>
+#include <string.h>
+
+void* child1 ( void* arg )
+{
+ pthread_barrier_wait( (pthread_barrier_t*)arg );
+ return NULL;
+}
+
+int main ( void )
+{
+ pthread_barrier_t *bar1, *bar2, *bar3, *bar4, *bar5;
+ pthread_t thr1, thr2;
+ int r;
+
+ /* possibly set up a watchdog timer thread here. */
+
+
+
+
+
+
+
+
+
+
+
+ /* initialise a barrier with a zero count */
+ fprintf(stderr, "\ninitialise a barrier with zero count\n");
+ bar1 = malloc(sizeof(pthread_barrier_t));
+ pthread_barrier_init(bar1, NULL, 0);
+
+ /* initialise a barrier twice */
+ fprintf(stderr, "\ninitialise a barrier twice\n");
+ bar2 = malloc(sizeof(pthread_barrier_t));
+ pthread_barrier_init(bar2, NULL, 1);
+ pthread_barrier_init(bar2, NULL, 1);
+
+ /* initialise a barrier which has threads waiting on it.
+ This isn't too simple. */
+ fprintf(stderr, "\ninitialise a barrier which has threads waiting on it\n");
+ bar3 = malloc(sizeof(pthread_barrier_t));
+ pthread_barrier_init(bar3, NULL, 2);
+ /* create a thread, whose only purpose is to block on the barrier */
+ pthread_create(&thr1, NULL, child1, (void*)bar3);
+ /* guarantee that it gets there first */
+ sleep(1);
+ /* and now reinitialise */
+ pthread_barrier_init(bar3, NULL, 3);
+
+ /* destroy a barrier that has threads waiting at it */
+ fprintf(stderr, "\ndestroy a barrier that has waiting threads\n");
+ /* once again, create a thread, whose only purpose is to block. */
+ bar4 = malloc(sizeof(pthread_barrier_t));
+ pthread_barrier_init(bar4, NULL, 2);
+ /* create a thread, whose only purpose is to block on the barrier */
+ pthread_create(&thr2, NULL, child1, (void*)bar4);
+ /* guarantee that it gets there first */
+ sleep(1);
+ /* and now destroy */
+ pthread_barrier_destroy(bar4);
+
+ /* destroy a barrier that was never initialised. This is a bit
+ tricky, in that we have to fill the barrier with bytes which
+ ensure that the pthread_barrier_destroy call doesn't hang for
+ some reason. Zero-fill seems to work ok on amd64-linux (glibc
+ 2.8). */
+ fprintf(stderr, "\ndestroy a barrier that was never initialised\n");
+ bar5 = malloc(sizeof(pthread_barrier_t));
+ assert(bar5);
+ memset(bar5, 0, sizeof(*bar5));
+ pthread_barrier_destroy(bar5);
+
+ /* now we need to clean up the mess .. */
+ r= pthread_cancel(thr1); assert(!r);
+ r= pthread_cancel(thr2); assert(!r);
+
+ free(bar1); free(bar2); free(bar3); free(bar4); free(bar5);
+
+ return 0;
+}
diff --git a/helgrind/tests/.svn/text-base/bar_bad.stderr.exp.svn-base b/helgrind/tests/.svn/text-base/bar_bad.stderr.exp.svn-base
new file mode 100644
index 0000000..7fa1270
--- /dev/null
+++ b/helgrind/tests/.svn/text-base/bar_bad.stderr.exp.svn-base
@@ -0,0 +1,45 @@
+
+initialise a barrier with zero count
+Thread #x is the program's root thread
+
+Thread #x: pthread_barrier_init: 'count' argument is zero
+ at 0x........: pthread_barrier_init (hg_intercepts.c:...)
+ by 0x........: main (bar_bad.c:39)
+
+Thread #x's call to pthread_barrier_init failed
+ with error code 22 (EINVAL: Invalid argument)
+ at 0x........: pthread_barrier_init (hg_intercepts.c:...)
+ by 0x........: main (bar_bad.c:39)
+
+initialise a barrier twice
+
+Thread #x: pthread_barrier_init: barrier is already initialised
+ at 0x........: pthread_barrier_init (hg_intercepts.c:...)
+ by 0x........: main (bar_bad.c:45)
+
+initialise a barrier which has threads waiting on it
+
+Thread #x: pthread_barrier_init: barrier is already initialised
+ at 0x........: pthread_barrier_init (hg_intercepts.c:...)
+ by 0x........: main (bar_bad.c:57)
+
+Thread #x: pthread_barrier_init: threads are waiting at barrier
+ at 0x........: pthread_barrier_init (hg_intercepts.c:...)
+ by 0x........: main (bar_bad.c:57)
+
+destroy a barrier that has waiting threads
+
+Thread #x: pthread_barrier_destroy: threads are waiting at barrier
+ at 0x........: pthread_barrier_destroy (hg_intercepts.c:...)
+ by 0x........: main (bar_bad.c:69)
+
+Thread #x's call to pthread_barrier_destroy failed
+ with error code 16 (EBUSY: Device or resource busy)
+ at 0x........: pthread_barrier_destroy (hg_intercepts.c:...)
+ by 0x........: main (bar_bad.c:69)
+
+destroy a barrier that was never initialised
+
+Thread #x: pthread_barrier_destroy: barrier was never initialised
+ at 0x........: pthread_barrier_destroy (hg_intercepts.c:...)
+ by 0x........: main (bar_bad.c:80)
diff --git a/helgrind/tests/.svn/text-base/bar_bad.stdout.exp.svn-base b/helgrind/tests/.svn/text-base/bar_bad.stdout.exp.svn-base
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/helgrind/tests/.svn/text-base/bar_bad.stdout.exp.svn-base
diff --git a/helgrind/tests/.svn/text-base/bar_bad.vgtest.svn-base b/helgrind/tests/.svn/text-base/bar_bad.vgtest.svn-base
new file mode 100644
index 0000000..fe946f5
--- /dev/null
+++ b/helgrind/tests/.svn/text-base/bar_bad.vgtest.svn-base
@@ -0,0 +1,3 @@
+prereq: test -e bar_bad
+prog: bar_bad
+vgopts: -q
diff --git a/helgrind/tests/.svn/text-base/bar_trivial.c.svn-base b/helgrind/tests/.svn/text-base/bar_trivial.c.svn-base
new file mode 100644
index 0000000..8c221ae
--- /dev/null
+++ b/helgrind/tests/.svn/text-base/bar_trivial.c.svn-base
@@ -0,0 +1,57 @@
+
+/* This is the most trivial test I could think of that involves
+ barriers. If H fails to notice the pthread_barrier_wait call then
+ it will report a race. Correct behaviour is not to report a race
+ (there isn't one.) */
+#define _GNU_SOURCE
+#include <pthread.h>
+#include <stdio.h>
+#include <stdlib.h>
+#include <assert.h>
+#include <unistd.h>
+
+int x = 0;
+
+pthread_barrier_t bar;
+
+void* child_fn ( void* arg )
+{
+ long r, n = (long)arg;
+
+ if (n == 1) x++;
+
+ r = pthread_barrier_wait(&bar);
+ assert(r == 0 || r == PTHREAD_BARRIER_SERIAL_THREAD);
+
+ if (n == 0) x++;
+
+ sleep(1); /* ensure both threads get to this point before
+ either exits. */
+ return NULL;
+}
+
+#define NTHR 2
+
+int main ( void )
+{
+ long i, r;
+ pthread_t thr[NTHR];
+
+ r = pthread_barrier_init(&bar, NULL, NTHR);
+ assert(!r);
+
+ for (i = 0; i < NTHR; i++) {
+ r = pthread_create(&thr[i], NULL, child_fn, (void*)i);
+ assert(!r);
+ }
+
+ for (i = 0; i < NTHR; i++) {
+ r = pthread_join(thr[i], NULL);
+ assert(!r);
+ }
+
+ r = pthread_barrier_destroy(&bar); assert(!r);
+
+ printf("x = %d\n", x);
+ return 0;
+}
diff --git a/helgrind/tests/.svn/text-base/bar_trivial.stderr.exp.svn-base b/helgrind/tests/.svn/text-base/bar_trivial.stderr.exp.svn-base
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/helgrind/tests/.svn/text-base/bar_trivial.stderr.exp.svn-base
diff --git a/helgrind/tests/.svn/text-base/bar_trivial.stdout.exp.svn-base b/helgrind/tests/.svn/text-base/bar_trivial.stdout.exp.svn-base
new file mode 100644
index 0000000..407de30
--- /dev/null
+++ b/helgrind/tests/.svn/text-base/bar_trivial.stdout.exp.svn-base
@@ -0,0 +1 @@
+x = 2
diff --git a/helgrind/tests/.svn/text-base/bar_trivial.vgtest.svn-base b/helgrind/tests/.svn/text-base/bar_trivial.vgtest.svn-base
new file mode 100644
index 0000000..40f2776
--- /dev/null
+++ b/helgrind/tests/.svn/text-base/bar_trivial.vgtest.svn-base
@@ -0,0 +1,3 @@
+prereq: test -e bar_trivial
+prog: bar_trivial
+vgopts: -q
diff --git a/helgrind/tests/.svn/text-base/filter_stderr.svn-base b/helgrind/tests/.svn/text-base/filter_stderr.svn-base
new file mode 100644
index 0000000..5b71068
--- /dev/null
+++ b/helgrind/tests/.svn/text-base/filter_stderr.svn-base
@@ -0,0 +1,60 @@
+#! /bin/sh
+
+dir=`dirname $0`
+
+$dir/../../tests/filter_stderr_basic |
+
+# Anonymise addresses
+$dir/../../tests/filter_addresses |
+
+# Remove "Helgrind, ..." line and the following copyright line.
+sed "/^Helgrind, a thread error detector/ , /./ d" |
+
+# Anonymise line numbers in hg_intercepts.c
+sed "s/hg_intercepts.c:[0-9]\+/hg_intercepts.c:.../g" |
+
+# Change (eg) "/lib64/libpthread-2.5.so" into "/...libpthread..."
+sed \
+ -e "s/(in \/.*libpthread.*)$/(in \/...libpthread...)/" \
+ -e "s/(within \/.*libpthread.*)$/(within \/...libpthread...)/" |
+
+# Tidy up in cases where glibc (+ libdl + libpthread + ld) have
+# been built with debugging information, hence source locs are present
+sed \
+ -e "s/(createthread.c:[0-9]*)/(in \/...libpthread...)/g" \
+ -e "s/(clone.S:[0-9]*)/(in \/...libc...)/g" \
+ -e "s/start_thread (pthread_create.c:[0-9]*)$/start_thread (in \/...libpthread...)/g" |
+
+# Merge sem_wait and sem_wait@*, as either could be used. Likewise for
+# sem_post.
+sed \
+ -e "s/sem_wait@\*/sem_wait/" \
+ -e "s/sem_post@\*/sem_post/" |
+
+# get rid of the numbers in bits of text "Thread #n", "thread #n",
+# "Thread n" and "thread n",
+# as these make some tests more scheduling sensitive -- those where
+# there are multiple threads which play interchangeable roles.
+sed \
+ -e "s/hread #[0-9][0-9]*/hread #x/g" \
+ -e "s/hread [0-9][0-9]*/hread x/g" |
+
+# Likewise for frame numbers, which depend on compilation.
+sed -e "s/frame #[0-9][0-9]*/frame #x/g" | \
+
+# "Thread #x was created" stack traces are unreliable once you get above
+# "pthread_create@* (hg_intercepts.c:...)" -- they can contan
+# "pthread_create@GLIBC_", "do_clone", "clone", etc. So we cut all the
+# "at"/"by" lines above "pthread_create@*".
+perl -p -0 -e 's/(Thread #. was created\n)( (at|by)[^\n]*\n)*( by 0x........: pthread_create@\* \(hg_intercepts.c:...\)\n)/$1 ...\n$4/gs' |
+
+# Anything below "mythread_wrapper" in stack traces is unreliable,
+# containing libc and libpthread stuff like start_thread, clone, etc. So we
+# remove all the "by" lines below "mythread_wrapper".
+perl -p -0 -e 's/( by 0x........: mythread_wrapper \(hg_intercepts.c:...\)\n)( by[^\n]*\n)*/$1 ...\n/gs' |
+
+# Entire trace in a "Exiting thread still holds <N> lock(s)" is unreliable,
+# containing libc stuff like _Exit(), exit(), etc. So we remove all the
+# "at"/"by" lines below the message.
+perl -p -0 -e 's/(Thread #.: Exiting thread still holds [0-9]+ locks?\n)( (at|by)[^\n]*\n)*/$1 ...\n/gs'
+
diff --git a/helgrind/tests/.svn/text-base/hg01_all_ok.c.svn-base b/helgrind/tests/.svn/text-base/hg01_all_ok.c.svn-base
new file mode 100644
index 0000000..144ce60
--- /dev/null
+++ b/helgrind/tests/.svn/text-base/hg01_all_ok.c.svn-base
@@ -0,0 +1,32 @@
+/* All OK */
+
+#include <pthread.h>
+
+static pthread_mutex_t mx = PTHREAD_MUTEX_INITIALIZER;
+
+static int shared;
+
+static void *th(void *v)
+{
+ pthread_mutex_lock(&mx);
+ shared++;
+ pthread_mutex_unlock(&mx);
+
+ return 0;
+}
+
+int main()
+{
+ pthread_t a, b;
+
+ pthread_mutex_lock(&mx);
+ pthread_mutex_unlock(&mx);
+
+ pthread_create(&a, NULL, th, NULL);
+ pthread_create(&b, NULL, th, NULL);
+
+ pthread_join(a, NULL);
+ pthread_join(b, NULL);
+
+ return 0;
+}
diff --git a/helgrind/tests/.svn/text-base/hg01_all_ok.stderr.exp.svn-base b/helgrind/tests/.svn/text-base/hg01_all_ok.stderr.exp.svn-base
new file mode 100644
index 0000000..d18786f
--- /dev/null
+++ b/helgrind/tests/.svn/text-base/hg01_all_ok.stderr.exp.svn-base
@@ -0,0 +1,3 @@
+
+
+ERROR SUMMARY: 0 errors from 0 contexts (suppressed: 0 from 0)
diff --git a/helgrind/tests/.svn/text-base/hg01_all_ok.stdout.exp.svn-base b/helgrind/tests/.svn/text-base/hg01_all_ok.stdout.exp.svn-base
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/helgrind/tests/.svn/text-base/hg01_all_ok.stdout.exp.svn-base
diff --git a/helgrind/tests/.svn/text-base/hg01_all_ok.vgtest.svn-base b/helgrind/tests/.svn/text-base/hg01_all_ok.vgtest.svn-base
new file mode 100644
index 0000000..9524976
--- /dev/null
+++ b/helgrind/tests/.svn/text-base/hg01_all_ok.vgtest.svn-base
@@ -0,0 +1 @@
+prog: hg01_all_ok
diff --git a/helgrind/tests/.svn/text-base/hg02_deadlock.c.svn-base b/helgrind/tests/.svn/text-base/hg02_deadlock.c.svn-base
new file mode 100644
index 0000000..1142f5c
--- /dev/null
+++ b/helgrind/tests/.svn/text-base/hg02_deadlock.c.svn-base
@@ -0,0 +1,43 @@
+/* Simple possible deadlock */
+#include <pthread.h>
+
+static pthread_mutex_t m1 = PTHREAD_MUTEX_INITIALIZER;
+static pthread_mutex_t m2 = PTHREAD_MUTEX_INITIALIZER;
+
+static void *t1(void *v)
+{
+ pthread_mutex_lock(&m1);
+ pthread_mutex_lock(&m2);
+ pthread_mutex_unlock(&m1);
+ pthread_mutex_unlock(&m2);
+
+ return 0;
+}
+
+static void *t2(void *v)
+{
+ pthread_mutex_lock(&m2);
+ pthread_mutex_lock(&m1);
+ pthread_mutex_unlock(&m1);
+ pthread_mutex_unlock(&m2);
+
+ return 0;
+}
+
+int main()
+{
+ pthread_t a, b;
+
+ /* prevent spurious messages from the dynamic linker */
+ pthread_mutex_lock(&m1);
+ pthread_mutex_unlock(&m1);
+
+ pthread_create(&a, NULL, t1, NULL);
+ pthread_create(&b, NULL, t2, NULL);
+
+ pthread_join(a, NULL);
+ pthread_join(b, NULL);
+
+ return 0;
+}
+
diff --git a/helgrind/tests/.svn/text-base/hg02_deadlock.stderr.exp.svn-base b/helgrind/tests/.svn/text-base/hg02_deadlock.stderr.exp.svn-base
new file mode 100644
index 0000000..cec8d41
--- /dev/null
+++ b/helgrind/tests/.svn/text-base/hg02_deadlock.stderr.exp.svn-base
@@ -0,0 +1,23 @@
+
+Thread #x was created
+ ...
+ by 0x........: pthread_create@* (hg_intercepts.c:...)
+ by 0x........: main (hg02_deadlock.c:36)
+
+Thread #x: lock order "0x........ before 0x........" violated
+ at 0x........: pthread_mutex_lock (hg_intercepts.c:...)
+ by 0x........: t2 (hg02_deadlock.c:20)
+ by 0x........: mythread_wrapper (hg_intercepts.c:...)
+ ...
+ Required order was established by acquisition of lock at 0x........
+ at 0x........: pthread_mutex_lock (hg_intercepts.c:...)
+ by 0x........: t1 (hg02_deadlock.c:9)
+ by 0x........: mythread_wrapper (hg_intercepts.c:...)
+ ...
+ followed by a later acquisition of lock at 0x........
+ at 0x........: pthread_mutex_lock (hg_intercepts.c:...)
+ by 0x........: t1 (hg02_deadlock.c:10)
+ by 0x........: mythread_wrapper (hg_intercepts.c:...)
+ ...
+
+ERROR SUMMARY: 1 errors from 1 contexts (suppressed: 0 from 0)
diff --git a/helgrind/tests/.svn/text-base/hg02_deadlock.stdout.exp.svn-base b/helgrind/tests/.svn/text-base/hg02_deadlock.stdout.exp.svn-base
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/helgrind/tests/.svn/text-base/hg02_deadlock.stdout.exp.svn-base
diff --git a/helgrind/tests/.svn/text-base/hg02_deadlock.vgtest.svn-base b/helgrind/tests/.svn/text-base/hg02_deadlock.vgtest.svn-base
new file mode 100644
index 0000000..ff0deb7
--- /dev/null
+++ b/helgrind/tests/.svn/text-base/hg02_deadlock.vgtest.svn-base
@@ -0,0 +1 @@
+prog: hg02_deadlock
diff --git a/helgrind/tests/.svn/text-base/hg03_inherit.c.svn-base b/helgrind/tests/.svn/text-base/hg03_inherit.c.svn-base
new file mode 100644
index 0000000..7c429f8
--- /dev/null
+++ b/helgrind/tests/.svn/text-base/hg03_inherit.c.svn-base
@@ -0,0 +1,67 @@
+
+/* I don't think this is a very good test .. all this
+ sleepery is highly confusing. */
+
+/* test child thread inheriting data */
+
+#include <stdio.h>
+#include <pthread.h>
+#include <unistd.h>
+
+static volatile int shared[2];
+
+static void *t1(void *v)
+{
+ volatile int *ip = (int *)v;
+ if (0) printf("ta W\n");
+ *ip += 44;
+ *ip *= 2;
+ sleep(1);
+ return 0;
+}
+
+static void *t2(void *v)
+{
+ volatile int *ip = (int *)v;
+ sleep(2);
+ if (0) printf("tb W\n");
+ *ip += 88;
+ *ip *= 3;
+ sleep(1);
+ return 0;
+}
+
+int main(void)
+{
+ pthread_t a, b;
+ volatile int ret = 0;
+
+ sleep(0);
+
+ shared[0] = 22;
+ shared[1] = 77;
+
+ pthread_create(&a, NULL, t1, (void *)&shared[0]);
+ // a steals shared[0] from root thread, so is excl(a)
+ pthread_create(&b, NULL, t2, (void *)&shared[1]);
+ // b steals shared[1] from root thread, so is excl(b)
+
+ pthread_join(a, NULL);
+ // b's stuff (shared[1]) still belongs to b, so is excl(b)
+
+ // ret is excl(root), and shared[0] is re-acquired as excl(root)
+ // since a joined to root
+ if (0) printf("r R1\n");
+ ret += shared[0]; /* no error - a is finished */
+
+ // but shared[1] is excl(b); hence we're reading excl(b)
+ // without a lock and without a dependency edge
+ if (0) printf("r R2\n");
+ ret += shared[1]; /* expect error - b has not finished,
+ so we can't touch shared[1] yet */
+
+ pthread_join(b, NULL);
+
+
+ return ret;
+}
diff --git a/helgrind/tests/.svn/text-base/hg03_inherit.stderr.exp.svn-base b/helgrind/tests/.svn/text-base/hg03_inherit.stderr.exp.svn-base
new file mode 100644
index 0000000..feed364
--- /dev/null
+++ b/helgrind/tests/.svn/text-base/hg03_inherit.stderr.exp.svn-base
@@ -0,0 +1,27 @@
+
+Thread #x was created
+ ...
+ by 0x........: pthread_create@* (hg_intercepts.c:...)
+ by 0x........: main (hg03_inherit.c:46)
+
+Thread #x is the program's root thread
+
+Possible data race during write of size 4 at 0x........ by thread #x
+ at 0x........: t2 (hg03_inherit.c:28)
+ by 0x........: mythread_wrapper (hg_intercepts.c:...)
+ ...
+ This conflicts with a previous read of size 4 by thread #x
+ at 0x........: main (hg03_inherit.c:60)
+ Location 0x........ is 0 bytes inside shared[1],
+ declared at hg03_inherit.c:11, in frame #x of thread x
+
+Possible data race during write of size 4 at 0x........ by thread #x
+ at 0x........: t2 (hg03_inherit.c:29)
+ by 0x........: mythread_wrapper (hg_intercepts.c:...)
+ ...
+ This conflicts with a previous read of size 4 by thread #x
+ at 0x........: main (hg03_inherit.c:60)
+ Location 0x........ is 0 bytes inside shared[1],
+ declared at hg03_inherit.c:11, in frame #x of thread x
+
+ERROR SUMMARY: 2 errors from 2 contexts (suppressed: 0 from 0)
diff --git a/helgrind/tests/.svn/text-base/hg03_inherit.stdout.exp.svn-base b/helgrind/tests/.svn/text-base/hg03_inherit.stdout.exp.svn-base
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/helgrind/tests/.svn/text-base/hg03_inherit.stdout.exp.svn-base
diff --git a/helgrind/tests/.svn/text-base/hg03_inherit.vgtest.svn-base b/helgrind/tests/.svn/text-base/hg03_inherit.vgtest.svn-base
new file mode 100644
index 0000000..548a489
--- /dev/null
+++ b/helgrind/tests/.svn/text-base/hg03_inherit.vgtest.svn-base
@@ -0,0 +1,2 @@
+prog: hg03_inherit
+vgopts: --read-var-info=yes
diff --git a/helgrind/tests/.svn/text-base/hg04_race.c.svn-base b/helgrind/tests/.svn/text-base/hg04_race.c.svn-base
new file mode 100644
index 0000000..111195b
--- /dev/null
+++ b/helgrind/tests/.svn/text-base/hg04_race.c.svn-base
@@ -0,0 +1,27 @@
+/* A simple race */
+
+#include <pthread.h>
+#include <unistd.h>
+
+static int shared;
+
+static void *th(void *v)
+{
+ shared++;
+
+ return 0;
+}
+
+int main()
+{
+ pthread_t a, b;
+
+ pthread_create(&a, NULL, th, NULL);
+ sleep(1); /* force ordering */
+ pthread_create(&b, NULL, th, NULL);
+
+ pthread_join(a, NULL);
+ pthread_join(b, NULL);
+
+ return 0;
+}
diff --git a/helgrind/tests/.svn/text-base/hg04_race.stderr.exp.svn-base b/helgrind/tests/.svn/text-base/hg04_race.stderr.exp.svn-base
new file mode 100644
index 0000000..9996006
--- /dev/null
+++ b/helgrind/tests/.svn/text-base/hg04_race.stderr.exp.svn-base
@@ -0,0 +1,34 @@
+
+Thread #x was created
+ ...
+ by 0x........: pthread_create@* (hg_intercepts.c:...)
+ by 0x........: main (hg04_race.c:21)
+
+Thread #x was created
+ ...
+ by 0x........: pthread_create@* (hg_intercepts.c:...)
+ by 0x........: main (hg04_race.c:19)
+
+Possible data race during read of size 4 at 0x........ by thread #x
+ at 0x........: th (hg04_race.c:10)
+ by 0x........: mythread_wrapper (hg_intercepts.c:...)
+ ...
+ This conflicts with a previous write of size 4 by thread #x
+ at 0x........: th (hg04_race.c:10)
+ by 0x........: mythread_wrapper (hg_intercepts.c:...)
+ ...
+ Location 0x........ is 0 bytes inside local var "shared"
+ declared at hg04_race.c:6, in frame #x of thread x
+
+Possible data race during write of size 4 at 0x........ by thread #x
+ at 0x........: th (hg04_race.c:10)
+ by 0x........: mythread_wrapper (hg_intercepts.c:...)
+ ...
+ This conflicts with a previous write of size 4 by thread #x
+ at 0x........: th (hg04_race.c:10)
+ by 0x........: mythread_wrapper (hg_intercepts.c:...)
+ ...
+ Location 0x........ is 0 bytes inside local var "shared"
+ declared at hg04_race.c:6, in frame #x of thread x
+
+ERROR SUMMARY: 2 errors from 2 contexts (suppressed: 0 from 0)
diff --git a/helgrind/tests/.svn/text-base/hg04_race.stdout.exp.svn-base b/helgrind/tests/.svn/text-base/hg04_race.stdout.exp.svn-base
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/helgrind/tests/.svn/text-base/hg04_race.stdout.exp.svn-base
diff --git a/helgrind/tests/.svn/text-base/hg04_race.vgtest.svn-base b/helgrind/tests/.svn/text-base/hg04_race.vgtest.svn-base
new file mode 100644
index 0000000..42ee396
--- /dev/null
+++ b/helgrind/tests/.svn/text-base/hg04_race.vgtest.svn-base
@@ -0,0 +1,2 @@
+prog: hg04_race
+vgopts: --read-var-info=yes
diff --git a/helgrind/tests/.svn/text-base/hg05_race2.c.svn-base b/helgrind/tests/.svn/text-base/hg05_race2.c.svn-base
new file mode 100644
index 0000000..de01f2c
--- /dev/null
+++ b/helgrind/tests/.svn/text-base/hg05_race2.c.svn-base
@@ -0,0 +1,35 @@
+/* A simple race - test symaddr */
+
+#include <pthread.h>
+#include <unistd.h>
+
+struct foo {
+ struct bar {
+ int plop[22];
+ char biff;
+ } poot[11];
+};
+
+static void *th(void *v)
+{
+ struct foo *f = (struct foo *)v;
+
+ f->poot[5].plop[11]++;
+
+ return 0;
+}
+
+int main()
+{
+ struct foo foo;
+ pthread_t a, b;
+
+ pthread_create(&a, NULL, th, &foo);
+ sleep(1); /* force ordering */
+ pthread_create(&b, NULL, th, &foo);
+
+ pthread_join(a, NULL);
+ pthread_join(b, NULL);
+
+ return 0;
+}
diff --git a/helgrind/tests/.svn/text-base/hg05_race2.stderr.exp.svn-base b/helgrind/tests/.svn/text-base/hg05_race2.stderr.exp.svn-base
new file mode 100644
index 0000000..067a194
--- /dev/null
+++ b/helgrind/tests/.svn/text-base/hg05_race2.stderr.exp.svn-base
@@ -0,0 +1,34 @@
+
+Thread #x was created
+ ...
+ by 0x........: pthread_create@* (hg_intercepts.c:...)
+ by 0x........: main (hg05_race2.c:29)
+
+Thread #x was created
+ ...
+ by 0x........: pthread_create@* (hg_intercepts.c:...)
+ by 0x........: main (hg05_race2.c:27)
+
+Possible data race during read of size 4 at 0x........ by thread #x
+ at 0x........: th (hg05_race2.c:17)
+ by 0x........: mythread_wrapper (hg_intercepts.c:...)
+ ...
+ This conflicts with a previous write of size 4 by thread #x
+ at 0x........: th (hg05_race2.c:17)
+ by 0x........: mythread_wrapper (hg_intercepts.c:...)
+ ...
+ Location 0x........ is 0 bytes inside foo.poot[5].plop[11],
+ declared at hg05_race2.c:24, in frame #x of thread x
+
+Possible data race during write of size 4 at 0x........ by thread #x
+ at 0x........: th (hg05_race2.c:17)
+ by 0x........: mythread_wrapper (hg_intercepts.c:...)
+ ...
+ This conflicts with a previous write of size 4 by thread #x
+ at 0x........: th (hg05_race2.c:17)
+ by 0x........: mythread_wrapper (hg_intercepts.c:...)
+ ...
+ Location 0x........ is 0 bytes inside foo.poot[5].plop[11],
+ declared at hg05_race2.c:24, in frame #x of thread x
+
+ERROR SUMMARY: 2 errors from 2 contexts (suppressed: 0 from 0)
diff --git a/helgrind/tests/.svn/text-base/hg05_race2.stdout.exp.svn-base b/helgrind/tests/.svn/text-base/hg05_race2.stdout.exp.svn-base
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/helgrind/tests/.svn/text-base/hg05_race2.stdout.exp.svn-base
diff --git a/helgrind/tests/.svn/text-base/hg05_race2.vgtest.svn-base b/helgrind/tests/.svn/text-base/hg05_race2.vgtest.svn-base
new file mode 100644
index 0000000..250a6eb
--- /dev/null
+++ b/helgrind/tests/.svn/text-base/hg05_race2.vgtest.svn-base
@@ -0,0 +1,2 @@
+prog: hg05_race2
+vgopts: --read-var-info=yes
diff --git a/helgrind/tests/.svn/text-base/hg06_readshared.c.svn-base b/helgrind/tests/.svn/text-base/hg06_readshared.c.svn-base
new file mode 100644
index 0000000..3904b44
--- /dev/null
+++ b/helgrind/tests/.svn/text-base/hg06_readshared.c.svn-base
@@ -0,0 +1,33 @@
+/* All OK - test allowed read sharing */
+
+#include <pthread.h>
+#include <assert.h>
+
+static int shared;
+
+static void *t1(void *v)
+{
+ return (void *)(long)(shared + 44);
+}
+
+static void *t2(void *v)
+{
+ return (void *)(long)(shared + 55);
+}
+
+int main()
+{
+ pthread_t a, b;
+
+ shared = 22;
+
+ pthread_create(&a, NULL, t1, NULL);
+ pthread_create(&b, NULL, t2, NULL);
+
+ pthread_join(a, NULL);
+ pthread_join(b, NULL);
+
+ assert(shared == 22);
+
+ return 0;
+}
diff --git a/helgrind/tests/.svn/text-base/hg06_readshared.stderr.exp.svn-base b/helgrind/tests/.svn/text-base/hg06_readshared.stderr.exp.svn-base
new file mode 100644
index 0000000..d18786f
--- /dev/null
+++ b/helgrind/tests/.svn/text-base/hg06_readshared.stderr.exp.svn-base
@@ -0,0 +1,3 @@
+
+
+ERROR SUMMARY: 0 errors from 0 contexts (suppressed: 0 from 0)
diff --git a/helgrind/tests/.svn/text-base/hg06_readshared.stdout.exp.svn-base b/helgrind/tests/.svn/text-base/hg06_readshared.stdout.exp.svn-base
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/helgrind/tests/.svn/text-base/hg06_readshared.stdout.exp.svn-base
diff --git a/helgrind/tests/.svn/text-base/hg06_readshared.vgtest.svn-base b/helgrind/tests/.svn/text-base/hg06_readshared.vgtest.svn-base
new file mode 100644
index 0000000..c5accee
--- /dev/null
+++ b/helgrind/tests/.svn/text-base/hg06_readshared.vgtest.svn-base
@@ -0,0 +1 @@
+prog: hg06_readshared
diff --git a/helgrind/tests/.svn/text-base/pth_barrier1.stderr.exp.svn-base b/helgrind/tests/.svn/text-base/pth_barrier1.stderr.exp.svn-base
new file mode 100644
index 0000000..6df3a23
--- /dev/null
+++ b/helgrind/tests/.svn/text-base/pth_barrier1.stderr.exp.svn-base
@@ -0,0 +1,20 @@
+Thread #x was created
+ ...
+ by 0x........: pthread_create@* (hg_intercepts.c:...)
+ by 0x........: barriers_and_races (pth_barrier.c:84)
+ by 0x........: main (pth_barrier.c:107)
+
+Thread #x was created
+ ...
+ by 0x........: pthread_create@* (hg_intercepts.c:...)
+ by 0x........: barriers_and_races (pth_barrier.c:84)
+ by 0x........: main (pth_barrier.c:107)
+
+Possible data race during write of size 4 at 0x........ by thread #x
+ at 0x........: threadfunc (pth_barrier.c:57)
+ by 0x........: mythread_wrapper (hg_intercepts.c:...)
+ ...
+ This conflicts with a previous write of size 4 by thread #x
+ at 0x........: threadfunc (pth_barrier.c:57)
+ by 0x........: mythread_wrapper (hg_intercepts.c:...)
+ ...
diff --git a/helgrind/tests/.svn/text-base/pth_barrier1.stdout.exp.svn-base b/helgrind/tests/.svn/text-base/pth_barrier1.stdout.exp.svn-base
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/helgrind/tests/.svn/text-base/pth_barrier1.stdout.exp.svn-base
diff --git a/helgrind/tests/.svn/text-base/pth_barrier1.vgtest.svn-base b/helgrind/tests/.svn/text-base/pth_barrier1.vgtest.svn-base
new file mode 100644
index 0000000..7b0d62f
--- /dev/null
+++ b/helgrind/tests/.svn/text-base/pth_barrier1.vgtest.svn-base
@@ -0,0 +1,4 @@
+prereq: test -e bar_trivial
+prog: ../../drd/tests/pth_barrier
+args: 2 1 1
+vgopts: -q
diff --git a/helgrind/tests/.svn/text-base/pth_barrier2.stderr.exp.svn-base b/helgrind/tests/.svn/text-base/pth_barrier2.stderr.exp.svn-base
new file mode 100644
index 0000000..84a2a0a
--- /dev/null
+++ b/helgrind/tests/.svn/text-base/pth_barrier2.stderr.exp.svn-base
@@ -0,0 +1,299 @@
+Thread #x was created
+ ...
+ by 0x........: pthread_create@* (hg_intercepts.c:...)
+ by 0x........: barriers_and_races (pth_barrier.c:84)
+ by 0x........: main (pth_barrier.c:107)
+
+Thread #x was created
+ ...
+ by 0x........: pthread_create@* (hg_intercepts.c:...)
+ by 0x........: barriers_and_races (pth_barrier.c:84)
+ by 0x........: main (pth_barrier.c:107)
+
+Possible data race during write of size 4 at 0x........ by thread #x
+ at 0x........: threadfunc (pth_barrier.c:57)
+ by 0x........: mythread_wrapper (hg_intercepts.c:...)
+ ...
+ This conflicts with a previous write of size 4 by thread #x
+ at 0x........: threadfunc (pth_barrier.c:57)
+ by 0x........: mythread_wrapper (hg_intercepts.c:...)
+ ...
+
+Possible data race during write of size 4 at 0x........ by thread #x
+ at 0x........: threadfunc (pth_barrier.c:57)
+ by 0x........: mythread_wrapper (hg_intercepts.c:...)
+ ...
+ This conflicts with a previous write of size 4 by thread #x
+ at 0x........: threadfunc (pth_barrier.c:57)
+ by 0x........: mythread_wrapper (hg_intercepts.c:...)
+ ...
+
+Possible data race during write of size 4 at 0x........ by thread #x
+ at 0x........: threadfunc (pth_barrier.c:57)
+ by 0x........: mythread_wrapper (hg_intercepts.c:...)
+ ...
+ This conflicts with a previous write of size 4 by thread #x
+ at 0x........: threadfunc (pth_barrier.c:57)
+ by 0x........: mythread_wrapper (hg_intercepts.c:...)
+ ...
+
+Possible data race during write of size 4 at 0x........ by thread #x
+ at 0x........: threadfunc (pth_barrier.c:57)
+ by 0x........: mythread_wrapper (hg_intercepts.c:...)
+ ...
+ This conflicts with a previous write of size 4 by thread #x
+ at 0x........: threadfunc (pth_barrier.c:57)
+ by 0x........: mythread_wrapper (hg_intercepts.c:...)
+ ...
+
+Possible data race during write of size 4 at 0x........ by thread #x
+ at 0x........: threadfunc (pth_barrier.c:57)
+ by 0x........: mythread_wrapper (hg_intercepts.c:...)
+ ...
+ This conflicts with a previous write of size 4 by thread #x
+ at 0x........: threadfunc (pth_barrier.c:57)
+ by 0x........: mythread_wrapper (hg_intercepts.c:...)
+ ...
+
+Possible data race during write of size 4 at 0x........ by thread #x
+ at 0x........: threadfunc (pth_barrier.c:57)
+ by 0x........: mythread_wrapper (hg_intercepts.c:...)
+ ...
+ This conflicts with a previous write of size 4 by thread #x
+ at 0x........: threadfunc (pth_barrier.c:57)
+ by 0x........: mythread_wrapper (hg_intercepts.c:...)
+ ...
+
+Possible data race during write of size 4 at 0x........ by thread #x
+ at 0x........: threadfunc (pth_barrier.c:57)
+ by 0x........: mythread_wrapper (hg_intercepts.c:...)
+ ...
+ This conflicts with a previous write of size 4 by thread #x
+ at 0x........: threadfunc (pth_barrier.c:57)
+ by 0x........: mythread_wrapper (hg_intercepts.c:...)
+ ...
+
+Possible data race during write of size 4 at 0x........ by thread #x
+ at 0x........: threadfunc (pth_barrier.c:57)
+ by 0x........: mythread_wrapper (hg_intercepts.c:...)
+ ...
+ This conflicts with a previous write of size 4 by thread #x
+ at 0x........: threadfunc (pth_barrier.c:57)
+ by 0x........: mythread_wrapper (hg_intercepts.c:...)
+ ...
+
+Possible data race during write of size 4 at 0x........ by thread #x
+ at 0x........: threadfunc (pth_barrier.c:57)
+ by 0x........: mythread_wrapper (hg_intercepts.c:...)
+ ...
+ This conflicts with a previous write of size 4 by thread #x
+ at 0x........: threadfunc (pth_barrier.c:57)
+ by 0x........: mythread_wrapper (hg_intercepts.c:...)
+ ...
+
+Possible data race during write of size 4 at 0x........ by thread #x
+ at 0x........: threadfunc (pth_barrier.c:57)
+ by 0x........: mythread_wrapper (hg_intercepts.c:...)
+ ...
+ This conflicts with a previous write of size 4 by thread #x
+ at 0x........: threadfunc (pth_barrier.c:57)
+ by 0x........: mythread_wrapper (hg_intercepts.c:...)
+ ...
+
+Possible data race during write of size 4 at 0x........ by thread #x
+ at 0x........: threadfunc (pth_barrier.c:57)
+ by 0x........: mythread_wrapper (hg_intercepts.c:...)
+ ...
+ This conflicts with a previous write of size 4 by thread #x
+ at 0x........: threadfunc (pth_barrier.c:57)
+ by 0x........: mythread_wrapper (hg_intercepts.c:...)
+ ...
+
+Possible data race during write of size 4 at 0x........ by thread #x
+ at 0x........: threadfunc (pth_barrier.c:57)
+ by 0x........: mythread_wrapper (hg_intercepts.c:...)
+ ...
+ This conflicts with a previous write of size 4 by thread #x
+ at 0x........: threadfunc (pth_barrier.c:57)
+ by 0x........: mythread_wrapper (hg_intercepts.c:...)
+ ...
+
+Possible data race during write of size 4 at 0x........ by thread #x
+ at 0x........: threadfunc (pth_barrier.c:57)
+ by 0x........: mythread_wrapper (hg_intercepts.c:...)
+ ...
+ This conflicts with a previous write of size 4 by thread #x
+ at 0x........: threadfunc (pth_barrier.c:57)
+ by 0x........: mythread_wrapper (hg_intercepts.c:...)
+ ...
+
+Possible data race during write of size 4 at 0x........ by thread #x
+ at 0x........: threadfunc (pth_barrier.c:57)
+ by 0x........: mythread_wrapper (hg_intercepts.c:...)
+ ...
+ This conflicts with a previous write of size 4 by thread #x
+ at 0x........: threadfunc (pth_barrier.c:57)
+ by 0x........: mythread_wrapper (hg_intercepts.c:...)
+ ...
+
+Possible data race during write of size 4 at 0x........ by thread #x
+ at 0x........: threadfunc (pth_barrier.c:57)
+ by 0x........: mythread_wrapper (hg_intercepts.c:...)
+ ...
+ This conflicts with a previous write of size 4 by thread #x
+ at 0x........: threadfunc (pth_barrier.c:57)
+ by 0x........: mythread_wrapper (hg_intercepts.c:...)
+ ...
+
+Possible data race during write of size 4 at 0x........ by thread #x
+ at 0x........: threadfunc (pth_barrier.c:57)
+ by 0x........: mythread_wrapper (hg_intercepts.c:...)
+ ...
+ This conflicts with a previous write of size 4 by thread #x
+ at 0x........: threadfunc (pth_barrier.c:57)
+ by 0x........: mythread_wrapper (hg_intercepts.c:...)
+ ...
+
+Possible data race during write of size 4 at 0x........ by thread #x
+ at 0x........: threadfunc (pth_barrier.c:57)
+ by 0x........: mythread_wrapper (hg_intercepts.c:...)
+ ...
+ This conflicts with a previous write of size 4 by thread #x
+ at 0x........: threadfunc (pth_barrier.c:57)
+ by 0x........: mythread_wrapper (hg_intercepts.c:...)
+ ...
+
+Possible data race during write of size 4 at 0x........ by thread #x
+ at 0x........: threadfunc (pth_barrier.c:57)
+ by 0x........: mythread_wrapper (hg_intercepts.c:...)
+ ...
+ This conflicts with a previous write of size 4 by thread #x
+ at 0x........: threadfunc (pth_barrier.c:57)
+ by 0x........: mythread_wrapper (hg_intercepts.c:...)
+ ...
+
+Possible data race during write of size 4 at 0x........ by thread #x
+ at 0x........: threadfunc (pth_barrier.c:57)
+ by 0x........: mythread_wrapper (hg_intercepts.c:...)
+ ...
+ This conflicts with a previous write of size 4 by thread #x
+ at 0x........: threadfunc (pth_barrier.c:57)
+ by 0x........: mythread_wrapper (hg_intercepts.c:...)
+ ...
+
+Possible data race during write of size 4 at 0x........ by thread #x
+ at 0x........: threadfunc (pth_barrier.c:57)
+ by 0x........: mythread_wrapper (hg_intercepts.c:...)
+ ...
+ This conflicts with a previous write of size 4 by thread #x
+ at 0x........: threadfunc (pth_barrier.c:57)
+ by 0x........: mythread_wrapper (hg_intercepts.c:...)
+ ...
+
+Possible data race during write of size 4 at 0x........ by thread #x
+ at 0x........: threadfunc (pth_barrier.c:57)
+ by 0x........: mythread_wrapper (hg_intercepts.c:...)
+ ...
+ This conflicts with a previous write of size 4 by thread #x
+ at 0x........: threadfunc (pth_barrier.c:57)
+ by 0x........: mythread_wrapper (hg_intercepts.c:...)
+ ...
+
+Possible data race during write of size 4 at 0x........ by thread #x
+ at 0x........: threadfunc (pth_barrier.c:57)
+ by 0x........: mythread_wrapper (hg_intercepts.c:...)
+ ...
+ This conflicts with a previous write of size 4 by thread #x
+ at 0x........: threadfunc (pth_barrier.c:57)
+ by 0x........: mythread_wrapper (hg_intercepts.c:...)
+ ...
+
+Possible data race during write of size 4 at 0x........ by thread #x
+ at 0x........: threadfunc (pth_barrier.c:57)
+ by 0x........: mythread_wrapper (hg_intercepts.c:...)
+ ...
+ This conflicts with a previous write of size 4 by thread #x
+ at 0x........: threadfunc (pth_barrier.c:57)
+ by 0x........: mythread_wrapper (hg_intercepts.c:...)
+ ...
+
+Possible data race during write of size 4 at 0x........ by thread #x
+ at 0x........: threadfunc (pth_barrier.c:57)
+ by 0x........: mythread_wrapper (hg_intercepts.c:...)
+ ...
+ This conflicts with a previous write of size 4 by thread #x
+ at 0x........: threadfunc (pth_barrier.c:57)
+ by 0x........: mythread_wrapper (hg_intercepts.c:...)
+ ...
+
+Possible data race during write of size 4 at 0x........ by thread #x
+ at 0x........: threadfunc (pth_barrier.c:57)
+ by 0x........: mythread_wrapper (hg_intercepts.c:...)
+ ...
+ This conflicts with a previous write of size 4 by thread #x
+ at 0x........: threadfunc (pth_barrier.c:57)
+ by 0x........: mythread_wrapper (hg_intercepts.c:...)
+ ...
+
+Possible data race during write of size 4 at 0x........ by thread #x
+ at 0x........: threadfunc (pth_barrier.c:57)
+ by 0x........: mythread_wrapper (hg_intercepts.c:...)
+ ...
+ This conflicts with a previous write of size 4 by thread #x
+ at 0x........: threadfunc (pth_barrier.c:57)
+ by 0x........: mythread_wrapper (hg_intercepts.c:...)
+ ...
+
+Possible data race during write of size 4 at 0x........ by thread #x
+ at 0x........: threadfunc (pth_barrier.c:57)
+ by 0x........: mythread_wrapper (hg_intercepts.c:...)
+ ...
+ This conflicts with a previous write of size 4 by thread #x
+ at 0x........: threadfunc (pth_barrier.c:57)
+ by 0x........: mythread_wrapper (hg_intercepts.c:...)
+ ...
+
+Possible data race during write of size 4 at 0x........ by thread #x
+ at 0x........: threadfunc (pth_barrier.c:57)
+ by 0x........: mythread_wrapper (hg_intercepts.c:...)
+ ...
+ This conflicts with a previous write of size 4 by thread #x
+ at 0x........: threadfunc (pth_barrier.c:57)
+ by 0x........: mythread_wrapper (hg_intercepts.c:...)
+ ...
+
+Possible data race during write of size 4 at 0x........ by thread #x
+ at 0x........: threadfunc (pth_barrier.c:57)
+ by 0x........: mythread_wrapper (hg_intercepts.c:...)
+ ...
+ This conflicts with a previous write of size 4 by thread #x
+ at 0x........: threadfunc (pth_barrier.c:57)
+ by 0x........: mythread_wrapper (hg_intercepts.c:...)
+ ...
+
+Possible data race during write of size 4 at 0x........ by thread #x
+ at 0x........: threadfunc (pth_barrier.c:57)
+ by 0x........: mythread_wrapper (hg_intercepts.c:...)
+ ...
+ This conflicts with a previous write of size 4 by thread #x
+ at 0x........: threadfunc (pth_barrier.c:57)
+ by 0x........: mythread_wrapper (hg_intercepts.c:...)
+ ...
+
+Possible data race during write of size 4 at 0x........ by thread #x
+ at 0x........: threadfunc (pth_barrier.c:57)
+ by 0x........: mythread_wrapper (hg_intercepts.c:...)
+ ...
+ This conflicts with a previous write of size 4 by thread #x
+ at 0x........: threadfunc (pth_barrier.c:57)
+ by 0x........: mythread_wrapper (hg_intercepts.c:...)
+ ...
+
+Possible data race during write of size 4 at 0x........ by thread #x
+ at 0x........: threadfunc (pth_barrier.c:57)
+ by 0x........: mythread_wrapper (hg_intercepts.c:...)
+ ...
+ This conflicts with a previous write of size 4 by thread #x
+ at 0x........: threadfunc (pth_barrier.c:57)
+ by 0x........: mythread_wrapper (hg_intercepts.c:...)
+ ...
diff --git a/helgrind/tests/.svn/text-base/pth_barrier2.stdout.exp.svn-base b/helgrind/tests/.svn/text-base/pth_barrier2.stdout.exp.svn-base
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/helgrind/tests/.svn/text-base/pth_barrier2.stdout.exp.svn-base
diff --git a/helgrind/tests/.svn/text-base/pth_barrier2.vgtest.svn-base b/helgrind/tests/.svn/text-base/pth_barrier2.vgtest.svn-base
new file mode 100644
index 0000000..13036b3
--- /dev/null
+++ b/helgrind/tests/.svn/text-base/pth_barrier2.vgtest.svn-base
@@ -0,0 +1,4 @@
+prereq: test -e bar_trivial
+prog: ../../drd/tests/pth_barrier
+args: 2 32 1
+vgopts: -q --cmp-race-err-addrs=yes
diff --git a/helgrind/tests/.svn/text-base/pth_barrier3.stderr.exp.svn-base b/helgrind/tests/.svn/text-base/pth_barrier3.stderr.exp.svn-base
new file mode 100644
index 0000000..6df3a23
--- /dev/null
+++ b/helgrind/tests/.svn/text-base/pth_barrier3.stderr.exp.svn-base
@@ -0,0 +1,20 @@
+Thread #x was created
+ ...
+ by 0x........: pthread_create@* (hg_intercepts.c:...)
+ by 0x........: barriers_and_races (pth_barrier.c:84)
+ by 0x........: main (pth_barrier.c:107)
+
+Thread #x was created
+ ...
+ by 0x........: pthread_create@* (hg_intercepts.c:...)
+ by 0x........: barriers_and_races (pth_barrier.c:84)
+ by 0x........: main (pth_barrier.c:107)
+
+Possible data race during write of size 4 at 0x........ by thread #x
+ at 0x........: threadfunc (pth_barrier.c:57)
+ by 0x........: mythread_wrapper (hg_intercepts.c:...)
+ ...
+ This conflicts with a previous write of size 4 by thread #x
+ at 0x........: threadfunc (pth_barrier.c:57)
+ by 0x........: mythread_wrapper (hg_intercepts.c:...)
+ ...
diff --git a/helgrind/tests/.svn/text-base/pth_barrier3.stdout.exp.svn-base b/helgrind/tests/.svn/text-base/pth_barrier3.stdout.exp.svn-base
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/helgrind/tests/.svn/text-base/pth_barrier3.stdout.exp.svn-base
diff --git a/helgrind/tests/.svn/text-base/pth_barrier3.vgtest.svn-base b/helgrind/tests/.svn/text-base/pth_barrier3.vgtest.svn-base
new file mode 100644
index 0000000..06ab6c3
--- /dev/null
+++ b/helgrind/tests/.svn/text-base/pth_barrier3.vgtest.svn-base
@@ -0,0 +1,4 @@
+prereq: test -e bar_trivial
+prog: ../../drd/tests/pth_barrier
+args: 32 1 1
+vgopts: -q
diff --git a/helgrind/tests/.svn/text-base/rwlock_race.stderr.exp.svn-base b/helgrind/tests/.svn/text-base/rwlock_race.stderr.exp.svn-base
new file mode 100644
index 0000000..e62847e
--- /dev/null
+++ b/helgrind/tests/.svn/text-base/rwlock_race.stderr.exp.svn-base
@@ -0,0 +1,24 @@
+
+Thread #x was created
+ ...
+ by 0x........: pthread_create@* (hg_intercepts.c:...)
+ by 0x........: main (rwlock_race.c:48)
+
+Thread #x was created
+ ...
+ by 0x........: pthread_create@* (hg_intercepts.c:...)
+ by 0x........: main (rwlock_race.c:47)
+
+Possible data race during write of size 4 at 0x........ by thread #x
+ at 0x........: thread_func (rwlock_race.c:29)
+ by 0x........: mythread_wrapper (hg_intercepts.c:...)
+ ...
+ This conflicts with a previous write of size 4 by thread #x
+ at 0x........: thread_func (rwlock_race.c:29)
+ by 0x........: mythread_wrapper (hg_intercepts.c:...)
+ ...
+ Location 0x........ is 0 bytes inside local var "s_racy"
+ declared at rwlock_race.c:18, in frame #x of thread x
+Result: 2
+
+ERROR SUMMARY: 1 errors from 1 contexts (suppressed: 0 from 0)
diff --git a/helgrind/tests/.svn/text-base/rwlock_race.stdout.exp.svn-base b/helgrind/tests/.svn/text-base/rwlock_race.stdout.exp.svn-base
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/helgrind/tests/.svn/text-base/rwlock_race.stdout.exp.svn-base
diff --git a/helgrind/tests/.svn/text-base/rwlock_race.vgtest.svn-base b/helgrind/tests/.svn/text-base/rwlock_race.vgtest.svn-base
new file mode 100644
index 0000000..00b462f
--- /dev/null
+++ b/helgrind/tests/.svn/text-base/rwlock_race.vgtest.svn-base
@@ -0,0 +1,2 @@
+prog: ../../drd/tests/rwlock_race
+vgopts: --read-var-info=yes
diff --git a/helgrind/tests/.svn/text-base/rwlock_test.stderr.exp.svn-base b/helgrind/tests/.svn/text-base/rwlock_test.stderr.exp.svn-base
new file mode 100644
index 0000000..a7089bb
--- /dev/null
+++ b/helgrind/tests/.svn/text-base/rwlock_test.stderr.exp.svn-base
@@ -0,0 +1,4 @@
+
+Finished.
+
+ERROR SUMMARY: 0 errors from 0 contexts (suppressed: 0 from 0)
diff --git a/helgrind/tests/.svn/text-base/rwlock_test.stdout.exp.svn-base b/helgrind/tests/.svn/text-base/rwlock_test.stdout.exp.svn-base
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/helgrind/tests/.svn/text-base/rwlock_test.stdout.exp.svn-base
diff --git a/helgrind/tests/.svn/text-base/rwlock_test.vgtest.svn-base b/helgrind/tests/.svn/text-base/rwlock_test.vgtest.svn-base
new file mode 100644
index 0000000..4257fc9
--- /dev/null
+++ b/helgrind/tests/.svn/text-base/rwlock_test.vgtest.svn-base
@@ -0,0 +1 @@
+prog: ../../drd/tests/rwlock_test
diff --git a/helgrind/tests/.svn/text-base/tc01_simple_race.c.svn-base b/helgrind/tests/.svn/text-base/tc01_simple_race.c.svn-base
new file mode 100644
index 0000000..abf37b5
--- /dev/null
+++ b/helgrind/tests/.svn/text-base/tc01_simple_race.c.svn-base
@@ -0,0 +1,36 @@
+
+#include <pthread.h>
+#include <stdio.h>
+#include <stdlib.h>
+
+/* Simple test program, has a race. Parent and child both modify x
+ with no locking. */
+
+int x = 0;
+
+void* child_fn ( void* arg )
+{
+ /* Unprotected relative to parent */
+ x++;
+ return NULL;
+}
+
+int main ( void )
+{
+ pthread_t child;
+
+ if (pthread_create(&child, NULL, child_fn, NULL)) {
+ perror("pthread_create");
+ exit(1);
+ }
+
+ /* Unprotected relative to child */
+ x++;
+
+ if (pthread_join(child, NULL)) {
+ perror("pthread join");
+ exit(1);
+ }
+
+ return 0;
+}
diff --git a/helgrind/tests/.svn/text-base/tc01_simple_race.stderr.exp.svn-base b/helgrind/tests/.svn/text-base/tc01_simple_race.stderr.exp.svn-base
new file mode 100644
index 0000000..1fc04fe
--- /dev/null
+++ b/helgrind/tests/.svn/text-base/tc01_simple_race.stderr.exp.svn-base
@@ -0,0 +1,27 @@
+
+Thread #x is the program's root thread
+
+Thread #x was created
+ ...
+ by 0x........: pthread_create@* (hg_intercepts.c:...)
+ by 0x........: main (tc01_simple_race.c:22)
+
+Possible data race during read of size 4 at 0x........ by thread #x
+ at 0x........: main (tc01_simple_race.c:28)
+ This conflicts with a previous write of size 4 by thread #x
+ at 0x........: child_fn (tc01_simple_race.c:14)
+ by 0x........: mythread_wrapper (hg_intercepts.c:...)
+ ...
+ Location 0x........ is 0 bytes inside global var "x"
+ declared at tc01_simple_race.c:9
+
+Possible data race during write of size 4 at 0x........ by thread #x
+ at 0x........: main (tc01_simple_race.c:28)
+ This conflicts with a previous write of size 4 by thread #x
+ at 0x........: child_fn (tc01_simple_race.c:14)
+ by 0x........: mythread_wrapper (hg_intercepts.c:...)
+ ...
+ Location 0x........ is 0 bytes inside global var "x"
+ declared at tc01_simple_race.c:9
+
+ERROR SUMMARY: 2 errors from 2 contexts (suppressed: 0 from 0)
diff --git a/helgrind/tests/.svn/text-base/tc01_simple_race.stdout.exp.svn-base b/helgrind/tests/.svn/text-base/tc01_simple_race.stdout.exp.svn-base
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/helgrind/tests/.svn/text-base/tc01_simple_race.stdout.exp.svn-base
diff --git a/helgrind/tests/.svn/text-base/tc01_simple_race.vgtest.svn-base b/helgrind/tests/.svn/text-base/tc01_simple_race.vgtest.svn-base
new file mode 100644
index 0000000..be686ab
--- /dev/null
+++ b/helgrind/tests/.svn/text-base/tc01_simple_race.vgtest.svn-base
@@ -0,0 +1,2 @@
+prog: tc01_simple_race
+vgopts: --read-var-info=yes
diff --git a/helgrind/tests/.svn/text-base/tc02_simple_tls.c.svn-base b/helgrind/tests/.svn/text-base/tc02_simple_tls.c.svn-base
new file mode 100644
index 0000000..a23b14c
--- /dev/null
+++ b/helgrind/tests/.svn/text-base/tc02_simple_tls.c.svn-base
@@ -0,0 +1,39 @@
+
+#include <pthread.h>
+#include <stdio.h>
+#include <stdlib.h>
+
+/* Simple test program, no race: parent only modified x after child
+ has modified it and then joined with the parent. Tests simple
+ thread lifetime segment handling. */
+
+int x = 0;
+
+void* child_fn ( void* arg )
+{
+ /* Unprotected relative to parent, but in child's segment only */
+ x++;
+ return NULL;
+}
+
+int main ( void )
+{
+ pthread_t child;
+
+ x++; /* happens in parent's segment */
+
+ if (pthread_create(&child, NULL, child_fn, NULL)) {
+ perror("pthread_create");
+ exit(1);
+ }
+
+ if (pthread_join(child, NULL)) {
+ perror("pthread join");
+ exit(1);
+ }
+
+ /* Now back in parent's segment */
+ x++;
+
+ return 0;
+}
diff --git a/helgrind/tests/.svn/text-base/tc02_simple_tls.stderr.exp.svn-base b/helgrind/tests/.svn/text-base/tc02_simple_tls.stderr.exp.svn-base
new file mode 100644
index 0000000..d18786f
--- /dev/null
+++ b/helgrind/tests/.svn/text-base/tc02_simple_tls.stderr.exp.svn-base
@@ -0,0 +1,3 @@
+
+
+ERROR SUMMARY: 0 errors from 0 contexts (suppressed: 0 from 0)
diff --git a/helgrind/tests/.svn/text-base/tc02_simple_tls.stdout.exp.svn-base b/helgrind/tests/.svn/text-base/tc02_simple_tls.stdout.exp.svn-base
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/helgrind/tests/.svn/text-base/tc02_simple_tls.stdout.exp.svn-base
diff --git a/helgrind/tests/.svn/text-base/tc02_simple_tls.vgtest.svn-base b/helgrind/tests/.svn/text-base/tc02_simple_tls.vgtest.svn-base
new file mode 100644
index 0000000..57db35c
--- /dev/null
+++ b/helgrind/tests/.svn/text-base/tc02_simple_tls.vgtest.svn-base
@@ -0,0 +1 @@
+prog: tc02_simple_tls
diff --git a/helgrind/tests/.svn/text-base/tc03_re_excl.c.svn-base b/helgrind/tests/.svn/text-base/tc03_re_excl.c.svn-base
new file mode 100644
index 0000000..4f3ce51
--- /dev/null
+++ b/helgrind/tests/.svn/text-base/tc03_re_excl.c.svn-base
@@ -0,0 +1,44 @@
+
+#include <pthread.h>
+#include <stdio.h>
+#include <stdlib.h>
+
+/* Simple test program, no race: parent only modifies x after child
+ has modified it and then joined with the parent. Tests simple
+ thread lifetime segment handling. */
+
+/* A simple function to "use" a value, so that gcc can't
+ possibly optimise it into nothing. */
+static void use ( int x ) {
+ __asm__ __volatile__( "nop" : : "r"(x) : "cc","memory" );
+}
+
+static void* worker_thread ( void* argV )
+{
+ int* arg = (int*)argV;
+ use(arg[5]); /* read access */
+ return NULL;
+}
+
+int main ( void )
+{
+ pthread_t thread_id;
+ volatile int* x = malloc(10 * sizeof(int));
+ x[5] = 1;
+ /* x[5] is Excl(parent) */
+
+ pthread_create(&thread_id, 0, worker_thread, (void*)x);
+
+ use(x[5]); /* read access */
+
+ /* Just before the threads join, x[5] is ShR (read by both parent
+ and child) */
+ pthread_join(thread_id, 0);
+ /* x[5] is Excl(parent), because only parent and child accessed it
+ and child has merged to parent. So now it's ok for parent to
+ access it without locking. */
+
+ x[5] = 0; /* write access */
+
+ return x[5];
+}
diff --git a/helgrind/tests/.svn/text-base/tc03_re_excl.stderr.exp.svn-base b/helgrind/tests/.svn/text-base/tc03_re_excl.stderr.exp.svn-base
new file mode 100644
index 0000000..d18786f
--- /dev/null
+++ b/helgrind/tests/.svn/text-base/tc03_re_excl.stderr.exp.svn-base
@@ -0,0 +1,3 @@
+
+
+ERROR SUMMARY: 0 errors from 0 contexts (suppressed: 0 from 0)
diff --git a/helgrind/tests/.svn/text-base/tc03_re_excl.stdout.exp.svn-base b/helgrind/tests/.svn/text-base/tc03_re_excl.stdout.exp.svn-base
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/helgrind/tests/.svn/text-base/tc03_re_excl.stdout.exp.svn-base
diff --git a/helgrind/tests/.svn/text-base/tc03_re_excl.vgtest.svn-base b/helgrind/tests/.svn/text-base/tc03_re_excl.vgtest.svn-base
new file mode 100644
index 0000000..e12924a
--- /dev/null
+++ b/helgrind/tests/.svn/text-base/tc03_re_excl.vgtest.svn-base
@@ -0,0 +1 @@
+prog: tc03_re_excl
diff --git a/helgrind/tests/.svn/text-base/tc04_free_lock.c.svn-base b/helgrind/tests/.svn/text-base/tc04_free_lock.c.svn-base
new file mode 100644
index 0000000..c1ffa25
--- /dev/null
+++ b/helgrind/tests/.svn/text-base/tc04_free_lock.c.svn-base
@@ -0,0 +1,50 @@
+
+#include <pthread.h>
+#include <stdio.h>
+#include <stdlib.h>
+#include <assert.h>
+
+/* Delete memory that has a held lock and see what happens. */
+
+typedef struct { int stuff[2000];
+ pthread_mutex_t lock; int morestuff[2000]; } XX;
+
+void bar ( void );
+void foo ( void );
+
+int main ( void )
+{
+ XX* xx = malloc(sizeof(XX));
+ assert(xx);
+
+ pthread_mutex_init( &xx->lock, NULL );
+
+ pthread_mutex_lock( &xx->lock );
+
+ free(xx);
+
+ bar();
+ foo();
+ bar();
+
+ return 0;
+}
+
+/* Try the same, on the stack */
+void bar ( void )
+{
+ pthread_mutex_t mx = PTHREAD_MUTEX_INITIALIZER;
+ // pthread_mutex_init( &mx, NULL );
+ pthread_mutex_lock( &mx );
+ /* now just abandon mx */
+}
+
+/* and again ... */
+void foo ( void )
+{
+ pthread_mutex_t mx;
+ pthread_mutex_init( &mx, NULL );
+ pthread_mutex_lock( &mx );
+ /* now just abandon mx */
+}
+
diff --git a/helgrind/tests/.svn/text-base/tc04_free_lock.stderr.exp.svn-base b/helgrind/tests/.svn/text-base/tc04_free_lock.stderr.exp.svn-base
new file mode 100644
index 0000000..11a0329
--- /dev/null
+++ b/helgrind/tests/.svn/text-base/tc04_free_lock.stderr.exp.svn-base
@@ -0,0 +1,7 @@
+
+Thread #x is the program's root thread
+
+Thread #x: Exiting thread still holds 2 locks
+ ...
+
+ERROR SUMMARY: 1 errors from 1 contexts (suppressed: 0 from 0)
diff --git a/helgrind/tests/.svn/text-base/tc04_free_lock.stdout.exp.svn-base b/helgrind/tests/.svn/text-base/tc04_free_lock.stdout.exp.svn-base
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/helgrind/tests/.svn/text-base/tc04_free_lock.stdout.exp.svn-base
diff --git a/helgrind/tests/.svn/text-base/tc04_free_lock.vgtest.svn-base b/helgrind/tests/.svn/text-base/tc04_free_lock.vgtest.svn-base
new file mode 100644
index 0000000..27d28bf
--- /dev/null
+++ b/helgrind/tests/.svn/text-base/tc04_free_lock.vgtest.svn-base
@@ -0,0 +1 @@
+prog: tc04_free_lock
diff --git a/helgrind/tests/.svn/text-base/tc05_simple_race.c.svn-base b/helgrind/tests/.svn/text-base/tc05_simple_race.c.svn-base
new file mode 100644
index 0000000..287c12c
--- /dev/null
+++ b/helgrind/tests/.svn/text-base/tc05_simple_race.c.svn-base
@@ -0,0 +1,44 @@
+
+#include <pthread.h>
+#include <stdio.h>
+#include <stdlib.h>
+
+/* Simple test program, has a race. Parent and child both modify y
+ with no locking. This is the program shown in Fig 2 of the
+ original Eraser paper by Savage et al. */
+
+int y = 0, v = 0;
+pthread_mutex_t mu = PTHREAD_MUTEX_INITIALIZER;
+
+void* child_fn ( void* arg )
+{
+ /* "Thread 2" in the paper */
+ pthread_mutex_lock( &mu );
+ v = v + 1;
+ pthread_mutex_unlock( &mu );
+ y = y + 1;
+ return NULL;
+}
+
+int main ( void )
+{
+ pthread_t child;
+
+ if (pthread_create(&child, NULL, child_fn, NULL)) {
+ perror("pthread_create");
+ exit(1);
+ }
+
+ /* "Thread 1" in the paper */
+ y = y + 1;
+ pthread_mutex_lock( &mu );
+ v = v + 1;
+ pthread_mutex_unlock( &mu );
+
+ if (pthread_join(child, NULL)) {
+ perror("pthread join");
+ exit(1);
+ }
+
+ return 0;
+}
diff --git a/helgrind/tests/.svn/text-base/tc05_simple_race.stderr.exp.svn-base b/helgrind/tests/.svn/text-base/tc05_simple_race.stderr.exp.svn-base
new file mode 100644
index 0000000..f90f6b2
--- /dev/null
+++ b/helgrind/tests/.svn/text-base/tc05_simple_race.stderr.exp.svn-base
@@ -0,0 +1,27 @@
+
+Thread #x is the program's root thread
+
+Thread #x was created
+ ...
+ by 0x........: pthread_create@* (hg_intercepts.c:...)
+ by 0x........: main (tc05_simple_race.c:27)
+
+Possible data race during read of size 4 at 0x........ by thread #x
+ at 0x........: main (tc05_simple_race.c:33)
+ This conflicts with a previous write of size 4 by thread #x
+ at 0x........: child_fn (tc05_simple_race.c:19)
+ by 0x........: mythread_wrapper (hg_intercepts.c:...)
+ ...
+ Location 0x........ is 0 bytes inside global var "y"
+ declared at tc05_simple_race.c:10
+
+Possible data race during write of size 4 at 0x........ by thread #x
+ at 0x........: main (tc05_simple_race.c:33)
+ This conflicts with a previous write of size 4 by thread #x
+ at 0x........: child_fn (tc05_simple_race.c:19)
+ by 0x........: mythread_wrapper (hg_intercepts.c:...)
+ ...
+ Location 0x........ is 0 bytes inside global var "y"
+ declared at tc05_simple_race.c:10
+
+ERROR SUMMARY: 2 errors from 2 contexts (suppressed: 0 from 0)
diff --git a/helgrind/tests/.svn/text-base/tc05_simple_race.stdout.exp.svn-base b/helgrind/tests/.svn/text-base/tc05_simple_race.stdout.exp.svn-base
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/helgrind/tests/.svn/text-base/tc05_simple_race.stdout.exp.svn-base
diff --git a/helgrind/tests/.svn/text-base/tc05_simple_race.vgtest.svn-base b/helgrind/tests/.svn/text-base/tc05_simple_race.vgtest.svn-base
new file mode 100644
index 0000000..0d6800a
--- /dev/null
+++ b/helgrind/tests/.svn/text-base/tc05_simple_race.vgtest.svn-base
@@ -0,0 +1,2 @@
+prog: tc05_simple_race
+vgopts: --read-var-info=yes
diff --git a/helgrind/tests/.svn/text-base/tc06_two_races.c.svn-base b/helgrind/tests/.svn/text-base/tc06_two_races.c.svn-base
new file mode 100644
index 0000000..4eaf9dd
--- /dev/null
+++ b/helgrind/tests/.svn/text-base/tc06_two_races.c.svn-base
@@ -0,0 +1,43 @@
+
+#include <pthread.h>
+#include <stdio.h>
+#include <stdlib.h>
+
+/* Simple test program, has two races. A happens-before detector can only
+ ever detect one of them, though. XXX: apparently not so; Drd and H 3.4 detect both. */
+
+int unprot1 = 0, unprot2 = 0, prot = 0;
+pthread_mutex_t mu = PTHREAD_MUTEX_INITIALIZER;
+
+void* child_fn ( void* arg )
+{
+ unprot1 ++;
+ pthread_mutex_lock( &mu );
+ prot ++;
+ pthread_mutex_unlock( &mu );
+ unprot2 ++;
+ return NULL;
+}
+
+int main ( void )
+{
+ pthread_t child;
+
+ if (pthread_create(&child, NULL, child_fn, NULL)) {
+ perror("pthread_create");
+ exit(1);
+ }
+
+ unprot1 ++;
+ pthread_mutex_lock( &mu );
+ prot ++;
+ pthread_mutex_unlock( &mu );
+ unprot2 ++;
+
+ if (pthread_join(child, NULL)) {
+ perror("pthread join");
+ exit(1);
+ }
+
+ return 0;
+}
diff --git a/helgrind/tests/.svn/text-base/tc06_two_races.stderr.exp.svn-base b/helgrind/tests/.svn/text-base/tc06_two_races.stderr.exp.svn-base
new file mode 100644
index 0000000..c49d364
--- /dev/null
+++ b/helgrind/tests/.svn/text-base/tc06_two_races.stderr.exp.svn-base
@@ -0,0 +1,45 @@
+
+Thread #x is the program's root thread
+
+Thread #x was created
+ ...
+ by 0x........: pthread_create@* (hg_intercepts.c:...)
+ by 0x........: main (tc06_two_races.c:26)
+
+Possible data race during read of size 4 at 0x........ by thread #x
+ at 0x........: main (tc06_two_races.c:31)
+ This conflicts with a previous write of size 4 by thread #x
+ at 0x........: child_fn (tc06_two_races.c:14)
+ by 0x........: mythread_wrapper (hg_intercepts.c:...)
+ ...
+ Location 0x........ is 0 bytes inside global var "unprot1"
+ declared at tc06_two_races.c:9
+
+Possible data race during write of size 4 at 0x........ by thread #x
+ at 0x........: main (tc06_two_races.c:31)
+ This conflicts with a previous write of size 4 by thread #x
+ at 0x........: child_fn (tc06_two_races.c:14)
+ by 0x........: mythread_wrapper (hg_intercepts.c:...)
+ ...
+ Location 0x........ is 0 bytes inside global var "unprot1"
+ declared at tc06_two_races.c:9
+
+Possible data race during read of size 4 at 0x........ by thread #x
+ at 0x........: main (tc06_two_races.c:35)
+ This conflicts with a previous write of size 4 by thread #x
+ at 0x........: child_fn (tc06_two_races.c:18)
+ by 0x........: mythread_wrapper (hg_intercepts.c:...)
+ ...
+ Location 0x........ is 0 bytes inside global var "unprot2"
+ declared at tc06_two_races.c:9
+
+Possible data race during write of size 4 at 0x........ by thread #x
+ at 0x........: main (tc06_two_races.c:35)
+ This conflicts with a previous write of size 4 by thread #x
+ at 0x........: child_fn (tc06_two_races.c:18)
+ by 0x........: mythread_wrapper (hg_intercepts.c:...)
+ ...
+ Location 0x........ is 0 bytes inside global var "unprot2"
+ declared at tc06_two_races.c:9
+
+ERROR SUMMARY: 4 errors from 4 contexts (suppressed: 0 from 0)
diff --git a/helgrind/tests/.svn/text-base/tc06_two_races.stdout.exp.svn-base b/helgrind/tests/.svn/text-base/tc06_two_races.stdout.exp.svn-base
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/helgrind/tests/.svn/text-base/tc06_two_races.stdout.exp.svn-base
diff --git a/helgrind/tests/.svn/text-base/tc06_two_races.vgtest.svn-base b/helgrind/tests/.svn/text-base/tc06_two_races.vgtest.svn-base
new file mode 100644
index 0000000..28f9bdf
--- /dev/null
+++ b/helgrind/tests/.svn/text-base/tc06_two_races.vgtest.svn-base
@@ -0,0 +1,2 @@
+prog: tc06_two_races
+vgopts: --read-var-info=yes
diff --git a/helgrind/tests/.svn/text-base/tc07_hbl1.c.svn-base b/helgrind/tests/.svn/text-base/tc07_hbl1.c.svn-base
new file mode 100644
index 0000000..12253aa
--- /dev/null
+++ b/helgrind/tests/.svn/text-base/tc07_hbl1.c.svn-base
@@ -0,0 +1,77 @@
+
+#include <pthread.h>
+#include <stdio.h>
+#include <stdlib.h>
+
+/* Simple test program, no race. Parent and child both modify x and
+ use the hardware bus lock. */
+
+#undef PLAT_x86_linux
+#undef PLAT_amd64_linux
+#undef PLAT_ppc32_linux
+#undef PLAT_ppc64_linux
+#undef PLAT_ppc32_aix5
+#undef PLAT_ppc64_aix5
+
+#if !defined(_AIX) && defined(__i386__)
+# define PLAT_x86_linux 1
+#elif !defined(_AIX) && defined(__x86_64__)
+# define PLAT_amd64_linux 1
+#elif !defined(_AIX) && defined(__powerpc__) && !defined(__powerpc64__)
+# define PLAT_ppc32_linux 1
+#elif !defined(_AIX) && defined(__powerpc__) && defined(__powerpc64__)
+# define PLAT_ppc64_linux 1
+#elif defined(_AIX) && defined(__64BIT__)
+# define PLAT_ppc64_aix5 1
+#elif defined(_AIX) && !defined(__64BIT__)
+# define PLAT_ppc32_aix5 1
+#endif
+
+#if defined(PLAT_amd64_linux) || defined(PLAT_x86_linux)
+# define INC(_lval,_lqual) \
+ __asm__ __volatile__ ( \
+ "lock ; incl (%0)" : /*out*/ : /*in*/"r"(&(_lval)) : "memory", "cc" )
+#elif defined(PLAT_ppc32_linux) || defined(PLAT_ppc64_linux) \
+ || defined(PLAT_ppc32_aix5) || defined(PLAT_ppc64_aix5)
+# define INC(_lval,_lqual) \
+ __asm__ __volatile__( \
+ "L1xyzzy1" _lqual ":\n" \
+ " lwarx 15,0,%0\n" \
+ " addi 15,15,1\n" \
+ " stwcx. 15,0,%0\n" \
+ " bne- L1xyzzy1" _lqual \
+ : /*out*/ : /*in*/ "b"(&(_lval)) \
+ : /*trash*/ "r15", "cr0", "memory" \
+ )
+#else
+# error "Fix Me for this platform"
+#endif
+
+
+int x = 0;
+
+void* child_fn ( void* arg )
+{
+ INC(x, "childfn");
+ return NULL;
+}
+
+int main ( void )
+{
+ pthread_t child;
+
+ if (pthread_create(&child, NULL, child_fn, NULL)) {
+ perror("pthread_create");
+ exit(1);
+ }
+
+ INC(x, "main");
+
+ if (pthread_join(child, NULL)) {
+ perror("pthread join");
+ exit(1);
+ }
+
+ printf("x = %d\n", x);
+ return 0;
+}
diff --git a/helgrind/tests/.svn/text-base/tc07_hbl1.stderr.exp.svn-base b/helgrind/tests/.svn/text-base/tc07_hbl1.stderr.exp.svn-base
new file mode 100644
index 0000000..d18786f
--- /dev/null
+++ b/helgrind/tests/.svn/text-base/tc07_hbl1.stderr.exp.svn-base
@@ -0,0 +1,3 @@
+
+
+ERROR SUMMARY: 0 errors from 0 contexts (suppressed: 0 from 0)
diff --git a/helgrind/tests/.svn/text-base/tc07_hbl1.stdout.exp.svn-base b/helgrind/tests/.svn/text-base/tc07_hbl1.stdout.exp.svn-base
new file mode 100644
index 0000000..407de30
--- /dev/null
+++ b/helgrind/tests/.svn/text-base/tc07_hbl1.stdout.exp.svn-base
@@ -0,0 +1 @@
+x = 2
diff --git a/helgrind/tests/.svn/text-base/tc07_hbl1.vgtest.svn-base b/helgrind/tests/.svn/text-base/tc07_hbl1.vgtest.svn-base
new file mode 100644
index 0000000..71c463f
--- /dev/null
+++ b/helgrind/tests/.svn/text-base/tc07_hbl1.vgtest.svn-base
@@ -0,0 +1 @@
+prog: tc07_hbl1
diff --git a/helgrind/tests/.svn/text-base/tc08_hbl2.c.svn-base b/helgrind/tests/.svn/text-base/tc08_hbl2.c.svn-base
new file mode 100644
index 0000000..d67435a
--- /dev/null
+++ b/helgrind/tests/.svn/text-base/tc08_hbl2.c.svn-base
@@ -0,0 +1,117 @@
+
+/* FIXME: this is basically a bad test as it is scheduling-
+ sensitive. Sometimes the output is:
+
+ child: new value 6
+ child: new value 10
+ done, x = 10
+
+ and sometimes
+
+ child: new value 10
+ done, x = 10
+*/
+
+#include <pthread.h>
+#include <stdio.h>
+#include <stdlib.h>
+#include <unistd.h>
+
+/* Simple test program, no race. Parent writes atomically to a counter
+ whilst child reads it. When counter reaches a prearranged value,
+ child joins back to parent. Parent (writer) uses hardware bus lock;
+ child is only reading and so does not need to use a bus lock. */
+
+
+#undef PLAT_x86_linux
+#undef PLAT_amd64_linux
+#undef PLAT_ppc32_linux
+#undef PLAT_ppc64_linux
+#undef PLAT_ppc32_aix5
+#undef PLAT_ppc64_aix5
+
+#if !defined(_AIX) && defined(__i386__)
+# define PLAT_x86_linux 1
+#elif !defined(_AIX) && defined(__x86_64__)
+# define PLAT_amd64_linux 1
+#elif !defined(_AIX) && defined(__powerpc__) && !defined(__powerpc64__)
+# define PLAT_ppc32_linux 1
+#elif !defined(_AIX) && defined(__powerpc__) && defined(__powerpc64__)
+# define PLAT_ppc64_linux 1
+#elif defined(_AIX) && defined(__64BIT__)
+# define PLAT_ppc64_aix5 1
+#elif defined(_AIX) && !defined(__64BIT__)
+# define PLAT_ppc32_aix5 1
+#endif
+
+#if defined(PLAT_amd64_linux) || defined(PLAT_x86_linux)
+# define INC(_lval,_lqual) \
+ __asm__ __volatile__ ( \
+ "lock ; incl (%0)" : /*out*/ : /*in*/"r"(&(_lval)) : "memory", "cc" )
+#elif defined(PLAT_ppc32_linux) || defined(PLAT_ppc64_linux) \
+ || defined(PLAT_ppc32_aix5) || defined(PLAT_ppc64_aix5)
+# define INC(_lval,_lqual) \
+ __asm__ __volatile__( \
+ "L1xyzzy1" _lqual ":\n" \
+ " lwarx 15,0,%0\n" \
+ " addi 15,15,1\n" \
+ " stwcx. 15,0,%0\n" \
+ " bne- L1xyzzy1" _lqual \
+ : /*out*/ : /*in*/ "b"(&(_lval)) \
+ : /*trash*/ "r15", "cr0", "memory" \
+ )
+#else
+# error "Fix Me for this platform"
+#endif
+
+
+
+#define LIMIT 10
+
+volatile int x = 0;
+
+void* child_fn ( void* arg )
+{
+ int q = 0;
+ int oldx = 0;
+ int ctr = 0;
+ while (1) {
+ q = (x >= LIMIT);
+ if (x != oldx) {
+ oldx = x;
+ printf("child: new value %d\n", oldx);
+ fflush(stdout);
+ }
+ if (q) break;
+ /* Make sure the parent doesn't starve. Seems to be a problem
+ on very slow machines. */
+ ctr++;
+ if (ctr == 2000000) sleep(1);
+ }
+ return NULL;
+}
+
+int main ( void )
+{
+ pthread_t child;
+ int i;
+
+ if (pthread_create(&child, NULL, child_fn, NULL)) {
+ perror("pthread_create");
+ exit(1);
+ }
+
+ for (i = 0; i < LIMIT; i++) {
+ INC(x, "main");
+ if (i == 5) sleep(1); /* make sure child doesn't starve */
+ }
+
+ if (pthread_join(child, NULL)) {
+ perror("pthread join");
+ exit(1);
+ }
+
+ printf("done, x = %d\n", x);
+
+ return 0;
+}
diff --git a/helgrind/tests/.svn/text-base/tc08_hbl2.stderr.exp.svn-base b/helgrind/tests/.svn/text-base/tc08_hbl2.stderr.exp.svn-base
new file mode 100644
index 0000000..d18786f
--- /dev/null
+++ b/helgrind/tests/.svn/text-base/tc08_hbl2.stderr.exp.svn-base
@@ -0,0 +1,3 @@
+
+
+ERROR SUMMARY: 0 errors from 0 contexts (suppressed: 0 from 0)
diff --git a/helgrind/tests/.svn/text-base/tc08_hbl2.stdout.exp.svn-base b/helgrind/tests/.svn/text-base/tc08_hbl2.stdout.exp.svn-base
new file mode 100644
index 0000000..ce39ad5
--- /dev/null
+++ b/helgrind/tests/.svn/text-base/tc08_hbl2.stdout.exp.svn-base
@@ -0,0 +1,3 @@
+child: new value 6
+child: new value 10
+done, x = 10
diff --git a/helgrind/tests/.svn/text-base/tc08_hbl2.vgtest.svn-base b/helgrind/tests/.svn/text-base/tc08_hbl2.vgtest.svn-base
new file mode 100644
index 0000000..6d0a2cb
--- /dev/null
+++ b/helgrind/tests/.svn/text-base/tc08_hbl2.vgtest.svn-base
@@ -0,0 +1 @@
+prog: tc08_hbl2
diff --git a/helgrind/tests/.svn/text-base/tc09_bad_unlock.c.svn-base b/helgrind/tests/.svn/text-base/tc09_bad_unlock.c.svn-base
new file mode 100644
index 0000000..238ce9b
--- /dev/null
+++ b/helgrind/tests/.svn/text-base/tc09_bad_unlock.c.svn-base
@@ -0,0 +1,52 @@
+
+/* Check that an error is reported for various kinds of bogus
+ pthread_mutex_unlock calls. */
+
+#include <pthread.h>
+#include <stdio.h>
+#include <stdlib.h>
+
+void* child_fn ( void* arg )
+{
+ pthread_mutex_unlock( (pthread_mutex_t*)arg ); /* ERROR */
+ return NULL;
+}
+
+void nearly_main ( void )
+{
+ pthread_t child;
+ pthread_mutex_t mx1, mx2;
+ int bogus[100], i;
+ /* fill bogus with values which will cause glibc's pth_mx_unlock to fail */
+ for (i = 0; i < 100; i++) bogus[i] = 0xFFFFFFFF;
+ /* Unlocking a lock that is already unlocked */
+ pthread_mutex_init( &mx1, NULL );
+ pthread_mutex_lock( &mx1 );
+ pthread_mutex_unlock( &mx1 );
+
+ pthread_mutex_unlock( &mx1 ); /* ERROR */
+
+ /* Unlocking a lock that is held by a different thread */
+
+ pthread_mutex_init( &mx2, NULL );
+ pthread_mutex_lock( &mx2 );
+ // start child and get it to unlock this lock
+
+ pthread_create( &child, NULL, child_fn, (void*)&mx2 );
+ /* child runs and attempts to unlock our lock. Error
+ is reported in child_fn. */
+ pthread_join(child, NULL );
+
+ /* Unlocking a totally bogus lock. */
+ pthread_mutex_unlock( (pthread_mutex_t*) &bogus[50] ); /* ERROR */
+
+ /* Now we get a freeing-locked-lock error, since the stack
+ frame is removed whilst mx2 is still locked. */
+}
+
+int main ( void )
+{
+ nearly_main(); fprintf(stderr, "---------------------\n" );
+ nearly_main();
+ return 0;
+}
diff --git a/helgrind/tests/.svn/text-base/tc09_bad_unlock.stderr.exp-glibc23-amd64.svn-base b/helgrind/tests/.svn/text-base/tc09_bad_unlock.stderr.exp-glibc23-amd64.svn-base
new file mode 100644
index 0000000..d78d98a
--- /dev/null
+++ b/helgrind/tests/.svn/text-base/tc09_bad_unlock.stderr.exp-glibc23-amd64.svn-base
@@ -0,0 +1,80 @@
+
+Thread #x is the program's root thread
+
+Thread #x unlocked a not-locked lock at 0x........
+ at 0x........: pthread_mutex_unlock (hg_intercepts.c:...)
+ by 0x........: nearly_main (tc09_bad_unlock.c:27)
+ by 0x........: main (tc09_bad_unlock.c:49)
+ Lock at 0x........ was first observed
+ at 0x........: pthread_mutex_init (hg_intercepts.c:...)
+ by 0x........: nearly_main (tc09_bad_unlock.c:23)
+ by 0x........: main (tc09_bad_unlock.c:49)
+
+Thread #x was created
+ ...
+ by 0x........: pthread_create@* (hg_intercepts.c:...)
+ by 0x........: nearly_main (tc09_bad_unlock.c:35)
+ by 0x........: main (tc09_bad_unlock.c:49)
+
+Thread #x unlocked lock at 0x........ currently held by thread #x
+ at 0x........: pthread_mutex_unlock (hg_intercepts.c:...)
+ by 0x........: child_fn (tc09_bad_unlock.c:11)
+ by 0x........: mythread_wrapper (hg_intercepts.c:...)
+ ...
+ Lock at 0x........ was first observed
+ at 0x........: pthread_mutex_init (hg_intercepts.c:...)
+ by 0x........: nearly_main (tc09_bad_unlock.c:31)
+ by 0x........: main (tc09_bad_unlock.c:49)
+
+Thread #x unlocked an invalid lock at 0x........
+ at 0x........: pthread_mutex_unlock (hg_intercepts.c:...)
+ by 0x........: nearly_main (tc09_bad_unlock.c:41)
+ by 0x........: main (tc09_bad_unlock.c:49)
+
+Thread #x deallocated location 0x........ containing a locked lock
+ at 0x........: nearly_main (tc09_bad_unlock.c:45)
+ by 0x........: main (tc09_bad_unlock.c:49)
+ Lock at 0x........ was first observed
+ at 0x........: pthread_mutex_init (hg_intercepts.c:...)
+ by 0x........: nearly_main (tc09_bad_unlock.c:31)
+ by 0x........: main (tc09_bad_unlock.c:49)
+
+Thread #x unlocked a not-locked lock at 0x........
+ at 0x........: pthread_mutex_unlock (hg_intercepts.c:...)
+ by 0x........: nearly_main (tc09_bad_unlock.c:27)
+ by 0x........: main (tc09_bad_unlock.c:50)
+ Lock at 0x........ was first observed
+ at 0x........: pthread_mutex_init (hg_intercepts.c:...)
+ by 0x........: nearly_main (tc09_bad_unlock.c:23)
+ by 0x........: main (tc09_bad_unlock.c:50)
+
+Thread #x was created
+ ...
+ by 0x........: pthread_create@* (hg_intercepts.c:...)
+ by 0x........: nearly_main (tc09_bad_unlock.c:35)
+ by 0x........: main (tc09_bad_unlock.c:50)
+
+Thread #x unlocked lock at 0x........ currently held by thread #x
+ at 0x........: pthread_mutex_unlock (hg_intercepts.c:...)
+ by 0x........: child_fn (tc09_bad_unlock.c:11)
+ by 0x........: mythread_wrapper (hg_intercepts.c:...)
+ ...
+ Lock at 0x........ was first observed
+ at 0x........: pthread_mutex_init (hg_intercepts.c:...)
+ by 0x........: nearly_main (tc09_bad_unlock.c:31)
+ by 0x........: main (tc09_bad_unlock.c:50)
+
+Thread #x unlocked an invalid lock at 0x........
+ at 0x........: pthread_mutex_unlock (hg_intercepts.c:...)
+ by 0x........: nearly_main (tc09_bad_unlock.c:41)
+ by 0x........: main (tc09_bad_unlock.c:50)
+
+Thread #x deallocated location 0x........ containing a locked lock
+ at 0x........: nearly_main (tc09_bad_unlock.c:45)
+ by 0x........: main (tc09_bad_unlock.c:50)
+ Lock at 0x........ was first observed
+ at 0x........: pthread_mutex_init (hg_intercepts.c:...)
+ by 0x........: nearly_main (tc09_bad_unlock.c:31)
+ by 0x........: main (tc09_bad_unlock.c:50)
+
+ERROR SUMMARY: 8 errors from 8 contexts (suppressed: 0 from 0)
diff --git a/helgrind/tests/.svn/text-base/tc09_bad_unlock.stderr.exp-glibc25-amd64.svn-base b/helgrind/tests/.svn/text-base/tc09_bad_unlock.stderr.exp-glibc25-amd64.svn-base
new file mode 100644
index 0000000..51ff990
--- /dev/null
+++ b/helgrind/tests/.svn/text-base/tc09_bad_unlock.stderr.exp-glibc25-amd64.svn-base
@@ -0,0 +1,90 @@
+
+Thread #x is the program's root thread
+
+Thread #x unlocked a not-locked lock at 0x........
+ at 0x........: pthread_mutex_unlock (hg_intercepts.c:...)
+ by 0x........: nearly_main (tc09_bad_unlock.c:27)
+ by 0x........: main (tc09_bad_unlock.c:49)
+ Lock at 0x........ was first observed
+ at 0x........: pthread_mutex_init (hg_intercepts.c:...)
+ by 0x........: nearly_main (tc09_bad_unlock.c:23)
+ by 0x........: main (tc09_bad_unlock.c:49)
+
+Thread #x was created
+ ...
+ by 0x........: pthread_create@* (hg_intercepts.c:...)
+ by 0x........: nearly_main (tc09_bad_unlock.c:35)
+ by 0x........: main (tc09_bad_unlock.c:49)
+
+Thread #x unlocked lock at 0x........ currently held by thread #x
+ at 0x........: pthread_mutex_unlock (hg_intercepts.c:...)
+ by 0x........: child_fn (tc09_bad_unlock.c:11)
+ by 0x........: mythread_wrapper (hg_intercepts.c:...)
+ ...
+ Lock at 0x........ was first observed
+ at 0x........: pthread_mutex_init (hg_intercepts.c:...)
+ by 0x........: nearly_main (tc09_bad_unlock.c:31)
+ by 0x........: main (tc09_bad_unlock.c:49)
+
+Thread #x unlocked an invalid lock at 0x........
+ at 0x........: pthread_mutex_unlock (hg_intercepts.c:...)
+ by 0x........: nearly_main (tc09_bad_unlock.c:41)
+ by 0x........: main (tc09_bad_unlock.c:49)
+
+Thread #x's call to pthread_mutex_unlock failed
+ with error code 22 (EINVAL: Invalid argument)
+ at 0x........: pthread_mutex_unlock (hg_intercepts.c:...)
+ by 0x........: nearly_main (tc09_bad_unlock.c:41)
+ by 0x........: main (tc09_bad_unlock.c:49)
+---------------------
+
+Thread #x unlocked a not-locked lock at 0x........
+ at 0x........: pthread_mutex_unlock (hg_intercepts.c:...)
+ by 0x........: nearly_main (tc09_bad_unlock.c:27)
+ by 0x........: main (tc09_bad_unlock.c:50)
+ Lock at 0x........ was first observed
+ at 0x........: pthread_mutex_init (hg_intercepts.c:...)
+ by 0x........: nearly_main (tc09_bad_unlock.c:23)
+ by 0x........: main (tc09_bad_unlock.c:49)
+
+Thread #x: Attempt to re-lock a non-recursive lock I already hold
+ at 0x........: pthread_mutex_lock (hg_intercepts.c:...)
+ by 0x........: nearly_main (tc09_bad_unlock.c:32)
+ by 0x........: main (tc09_bad_unlock.c:50)
+
+Thread #x: Bug in libpthread: recursive write lock granted on mutex/wrlock which does not support recursion
+ at 0x........: pthread_mutex_lock (hg_intercepts.c:...)
+ by 0x........: nearly_main (tc09_bad_unlock.c:32)
+ by 0x........: main (tc09_bad_unlock.c:50)
+
+Thread #x was created
+ ...
+ by 0x........: pthread_create@* (hg_intercepts.c:...)
+ by 0x........: nearly_main (tc09_bad_unlock.c:35)
+ by 0x........: main (tc09_bad_unlock.c:50)
+
+Thread #x unlocked lock at 0x........ currently held by thread #x
+ at 0x........: pthread_mutex_unlock (hg_intercepts.c:...)
+ by 0x........: child_fn (tc09_bad_unlock.c:11)
+ by 0x........: mythread_wrapper (hg_intercepts.c:...)
+ ...
+ Lock at 0x........ was first observed
+ at 0x........: pthread_mutex_init (hg_intercepts.c:...)
+ by 0x........: nearly_main (tc09_bad_unlock.c:31)
+ by 0x........: main (tc09_bad_unlock.c:49)
+
+Thread #x unlocked an invalid lock at 0x........
+ at 0x........: pthread_mutex_unlock (hg_intercepts.c:...)
+ by 0x........: nearly_main (tc09_bad_unlock.c:41)
+ by 0x........: main (tc09_bad_unlock.c:50)
+
+Thread #x's call to pthread_mutex_unlock failed
+ with error code 22 (EINVAL: Invalid argument)
+ at 0x........: pthread_mutex_unlock (hg_intercepts.c:...)
+ by 0x........: nearly_main (tc09_bad_unlock.c:41)
+ by 0x........: main (tc09_bad_unlock.c:50)
+
+Thread #x: Exiting thread still holds 1 lock
+ ...
+
+ERROR SUMMARY: 11 errors from 11 contexts (suppressed: 0 from 0)
diff --git a/helgrind/tests/.svn/text-base/tc09_bad_unlock.stderr.exp-glibc25-x86.svn-base b/helgrind/tests/.svn/text-base/tc09_bad_unlock.stderr.exp-glibc25-x86.svn-base
new file mode 100644
index 0000000..1e53aa6
--- /dev/null
+++ b/helgrind/tests/.svn/text-base/tc09_bad_unlock.stderr.exp-glibc25-x86.svn-base
@@ -0,0 +1,92 @@
+
+Thread #x is the program's root thread
+
+Thread #x unlocked a not-locked lock at 0x........
+ at 0x........: pthread_mutex_unlock (hg_intercepts.c:...)
+ by 0x........: nearly_main (tc09_bad_unlock.c:27)
+ by 0x........: main (tc09_bad_unlock.c:49)
+ Lock at 0x........ was first observed
+ at 0x........: pthread_mutex_init (hg_intercepts.c:...)
+ by 0x........: nearly_main (tc09_bad_unlock.c:23)
+ by 0x........: main (tc09_bad_unlock.c:49)
+
+Thread #x was created
+ ...
+ by 0x........: pthread_create@* (hg_intercepts.c:...)
+ by 0x........: nearly_main (tc09_bad_unlock.c:35)
+ by 0x........: main (tc09_bad_unlock.c:49)
+
+Thread #x unlocked lock at 0x........ currently held by thread #x
+ at 0x........: pthread_mutex_unlock (hg_intercepts.c:...)
+ by 0x........: child_fn (tc09_bad_unlock.c:11)
+ by 0x........: mythread_wrapper (hg_intercepts.c:...)
+ ...
+ Lock at 0x........ was first observed
+ at 0x........: pthread_mutex_init (hg_intercepts.c:...)
+ by 0x........: nearly_main (tc09_bad_unlock.c:31)
+ by 0x........: main (tc09_bad_unlock.c:49)
+
+Thread #x unlocked an invalid lock at 0x........
+ at 0x........: pthread_mutex_unlock (hg_intercepts.c:...)
+ by 0x........: nearly_main (tc09_bad_unlock.c:41)
+ by 0x........: main (tc09_bad_unlock.c:49)
+
+Thread #x's call to pthread_mutex_unlock failed
+ with error code 22 (EINVAL: Invalid argument)
+ at 0x........: pthread_mutex_unlock (hg_intercepts.c:...)
+ by 0x........: nearly_main (tc09_bad_unlock.c:41)
+ by 0x........: main (tc09_bad_unlock.c:49)
+
+Thread #x deallocated location 0x........ containing a locked lock
+ at 0x........: nearly_main (tc09_bad_unlock.c:45)
+ by 0x........: main (tc09_bad_unlock.c:49)
+ Lock at 0x........ was first observed
+ at 0x........: pthread_mutex_init (hg_intercepts.c:...)
+ by 0x........: nearly_main (tc09_bad_unlock.c:31)
+ by 0x........: main (tc09_bad_unlock.c:49)
+
+Thread #x unlocked a not-locked lock at 0x........
+ at 0x........: pthread_mutex_unlock (hg_intercepts.c:...)
+ by 0x........: nearly_main (tc09_bad_unlock.c:27)
+ by 0x........: main (tc09_bad_unlock.c:50)
+ Lock at 0x........ was first observed
+ at 0x........: pthread_mutex_init (hg_intercepts.c:...)
+ by 0x........: nearly_main (tc09_bad_unlock.c:23)
+ by 0x........: main (tc09_bad_unlock.c:50)
+
+Thread #x was created
+ ...
+ by 0x........: pthread_create@* (hg_intercepts.c:...)
+ by 0x........: nearly_main (tc09_bad_unlock.c:35)
+ by 0x........: main (tc09_bad_unlock.c:50)
+
+Thread #x unlocked lock at 0x........ currently held by thread #x
+ at 0x........: pthread_mutex_unlock (hg_intercepts.c:...)
+ by 0x........: child_fn (tc09_bad_unlock.c:11)
+ by 0x........: mythread_wrapper (hg_intercepts.c:...)
+ ...
+ Lock at 0x........ was first observed
+ at 0x........: pthread_mutex_init (hg_intercepts.c:...)
+ by 0x........: nearly_main (tc09_bad_unlock.c:31)
+ by 0x........: main (tc09_bad_unlock.c:50)
+
+Thread #x unlocked an invalid lock at 0x........
+ at 0x........: pthread_mutex_unlock (hg_intercepts.c:...)
+ by 0x........: nearly_main (tc09_bad_unlock.c:41)
+ by 0x........: main (tc09_bad_unlock.c:50)
+
+Thread #x's call to pthread_mutex_unlock failed
+ with error code 22 (EINVAL: Invalid argument)
+ at 0x........: pthread_mutex_unlock (hg_intercepts.c:...)
+ by 0x........: nearly_main (tc09_bad_unlock.c:41)
+ by 0x........: main (tc09_bad_unlock.c:50)
+
+Thread #x deallocated location 0x........ containing a locked lock
+ at 0x........: nearly_main (tc09_bad_unlock.c:45)
+ by 0x........: main (tc09_bad_unlock.c:50)
+ Lock at 0x........ was first observed
+ at 0x........: pthread_mutex_init (hg_intercepts.c:...)
+ by 0x........: nearly_main (tc09_bad_unlock.c:31)
+ by 0x........: main (tc09_bad_unlock.c:50)
+
+ERROR SUMMARY: 10 errors from 10 contexts (suppressed: 0 from 0)
diff --git a/helgrind/tests/.svn/text-base/tc09_bad_unlock.stdout.exp.svn-base b/helgrind/tests/.svn/text-base/tc09_bad_unlock.stdout.exp.svn-base
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/helgrind/tests/.svn/text-base/tc09_bad_unlock.stdout.exp.svn-base
diff --git a/helgrind/tests/.svn/text-base/tc09_bad_unlock.vgtest.svn-base b/helgrind/tests/.svn/text-base/tc09_bad_unlock.vgtest.svn-base
new file mode 100644
index 0000000..d09a702
--- /dev/null
+++ b/helgrind/tests/.svn/text-base/tc09_bad_unlock.vgtest.svn-base
@@ -0,0 +1 @@
+prog: tc09_bad_unlock
diff --git a/helgrind/tests/.svn/text-base/tc10_rec_lock.c.svn-base b/helgrind/tests/.svn/text-base/tc10_rec_lock.c.svn-base
new file mode 100644
index 0000000..648305c
--- /dev/null
+++ b/helgrind/tests/.svn/text-base/tc10_rec_lock.c.svn-base
@@ -0,0 +1,49 @@
+
+/* Do simple things with a recursive mutex. */
+
+/* Needed for older glibcs (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 <stdio.h>
+#include <stdlib.h>
+#include <assert.h>
+#include <pthread.h>
+
+void nearly_main ( void )
+{
+ pthread_mutex_t mx1;
+ pthread_mutexattr_t attr;
+ int r;
+
+ r = pthread_mutexattr_init( &attr );
+ assert(r==0);
+ r = pthread_mutexattr_settype( &attr, PTHREAD_MUTEX_RECURSIVE );
+ assert(r==0);
+ r = pthread_mutex_init( &mx1, &attr );
+ assert(r==0);
+
+ fprintf(stderr, "before lock #1\n");
+ r = pthread_mutex_lock( &mx1 ); assert(r == 0);
+ fprintf(stderr, "before lock #2\n");
+ r = pthread_mutex_lock( &mx1 ); assert(r == 0);
+ fprintf(stderr, "before lock #3\n");
+ r = pthread_mutex_lock( &mx1 ); assert(r == 0);
+
+ fprintf(stderr, "before unlock #1\n");
+ r = pthread_mutex_unlock( &mx1 ); assert(r == 0);
+ fprintf(stderr, "before unlock #2\n");
+ r = pthread_mutex_unlock( &mx1 ); assert(r == 0);
+ fprintf(stderr, "before unlock #3\n");
+ r = pthread_mutex_unlock( &mx1 ); assert(r == 0);
+
+ fprintf(stderr, "before unlock #4\n");
+ r = pthread_mutex_unlock( &mx1 ); /* FAILS: assert(r == 0); */
+}
+
+int main ( void )
+{
+ nearly_main();
+ return 0;
+}
diff --git a/helgrind/tests/.svn/text-base/tc10_rec_lock.stderr.exp.svn-base b/helgrind/tests/.svn/text-base/tc10_rec_lock.stderr.exp.svn-base
new file mode 100644
index 0000000..7e65ba7
--- /dev/null
+++ b/helgrind/tests/.svn/text-base/tc10_rec_lock.stderr.exp.svn-base
@@ -0,0 +1,26 @@
+
+before lock #1
+before lock #2
+before lock #3
+before unlock #1
+before unlock #2
+before unlock #3
+before unlock #4
+Thread #x is the program's root thread
+
+Thread #x unlocked a not-locked lock at 0x........
+ at 0x........: pthread_mutex_unlock (hg_intercepts.c:...)
+ by 0x........: nearly_main (tc10_rec_lock.c:42)
+ by 0x........: main (tc10_rec_lock.c:47)
+ Lock at 0x........ was first observed
+ at 0x........: pthread_mutex_init (hg_intercepts.c:...)
+ by 0x........: nearly_main (tc10_rec_lock.c:24)
+ by 0x........: main (tc10_rec_lock.c:47)
+
+Thread #x's call to pthread_mutex_unlock failed
+ with error code 1 (EPERM: Operation not permitted)
+ at 0x........: pthread_mutex_unlock (hg_intercepts.c:...)
+ by 0x........: nearly_main (tc10_rec_lock.c:42)
+ by 0x........: main (tc10_rec_lock.c:47)
+
+ERROR SUMMARY: 2 errors from 2 contexts (suppressed: 0 from 0)
diff --git a/helgrind/tests/.svn/text-base/tc10_rec_lock.stdout.exp.svn-base b/helgrind/tests/.svn/text-base/tc10_rec_lock.stdout.exp.svn-base
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/helgrind/tests/.svn/text-base/tc10_rec_lock.stdout.exp.svn-base
diff --git a/helgrind/tests/.svn/text-base/tc10_rec_lock.vgtest.svn-base b/helgrind/tests/.svn/text-base/tc10_rec_lock.vgtest.svn-base
new file mode 100644
index 0000000..bfd0f89
--- /dev/null
+++ b/helgrind/tests/.svn/text-base/tc10_rec_lock.vgtest.svn-base
@@ -0,0 +1 @@
+prog: tc10_rec_lock
diff --git a/helgrind/tests/.svn/text-base/tc11_XCHG.c.svn-base b/helgrind/tests/.svn/text-base/tc11_XCHG.c.svn-base
new file mode 100644
index 0000000..22c6baf
--- /dev/null
+++ b/helgrind/tests/.svn/text-base/tc11_XCHG.c.svn-base
@@ -0,0 +1,112 @@
+
+#include "config.h"
+#include <pthread.h>
+#include <stdio.h>
+#include <stdlib.h>
+#include <assert.h>
+
+/* Simple test program, no race. Parent and child both modify x and
+ use the hardware bus lock (implicitly, since XCHG r,m on x86/amd64
+ does not require an explicit LOCK prefix.). */
+
+#undef PLAT_x86_linux
+#undef PLAT_amd64_linux
+#undef PLAT_ppc32_linux
+#undef PLAT_ppc64_linux
+#undef PLAT_ppc32_aix5
+#undef PLAT_ppc64_aix5
+
+#if !defined(_AIX) && defined(__i386__)
+# define PLAT_x86_linux 1
+#elif !defined(_AIX) && defined(__x86_64__)
+# define PLAT_amd64_linux 1
+#elif !defined(_AIX) && defined(__powerpc__) && !defined(__powerpc64__)
+# define PLAT_ppc32_linux 1
+#elif !defined(_AIX) && defined(__powerpc__) && defined(__powerpc64__)
+# define PLAT_ppc64_linux 1
+#elif defined(_AIX) && defined(__64BIT__)
+# define PLAT_ppc64_aix5 1
+#elif defined(_AIX) && !defined(__64BIT__)
+# define PLAT_ppc32_aix5 1
+#endif
+
+
+#if defined(PLAT_amd64_linux) || defined(PLAT_x86_linux)
+# define XCHG_M_R(_addr,_lval) \
+ __asm__ __volatile__( \
+ "xchgl %0, %1" \
+ : /*out*/ "+r"(_lval) \
+ : /*in*/ "m"(_addr) \
+ : "memory", "cc" \
+ )
+# define XCHG_M_R_with_redundant_LOCK(_addr,_lval) \
+ __asm__ __volatile__( \
+ "lock xchgl %0, %1" \
+ : /*out*/ "+r"(_lval) \
+ : /*in*/ "m"(_addr) \
+ : "memory", "cc" \
+ )
+
+#elif defined(PLAT_ppc32_linux) || defined(PLAT_ppc64_linux) \
+ || defined(PLAT_ppc32_aix5) || defined(PLAT_ppc64_aix5)
+# if defined(HAVE_BUILTIN_ATOMIC)
+# define XCHG_M_R(_addr,_lval) \
+ do { \
+ int tmp; \
+ while ((tmp = *(int*)(& _addr)), \
+ ! __sync_bool_compare_and_swap((int*)&_addr, tmp, _lval)) \
+ ; \
+ _lval = tmp; \
+ } while (0)
+# else
+# warning "XCHG_M_R() implementation is missing. Either" \
+ "provide one or use a newer gcc version."
+# define XCHG_M_R(_addr,_lval) \
+ do { int tmp = *(int*)(& _addr); \
+ *(int*)(& _addr) = (_lval); \
+ _lval = tmp; \
+ } while (0)
+# endif
+# define XCHG_M_R_with_redundant_LOCK(_addr,_lval) \
+ XCHG_M_R(_addr,_lval)
+
+#else
+# error "Unsupported architecture"
+
+#endif
+
+int x = 0;
+
+void* child_fn ( void* arg )
+{
+ int v = 12345;
+ XCHG_M_R_with_redundant_LOCK(x, v);
+ assert(v == 0 || v == 6789);
+ return NULL;
+}
+
+int main ( void )
+{
+ int v = 6789;
+ pthread_t child;
+
+ if (pthread_create(&child, NULL, child_fn, NULL)) {
+ perror("pthread_create");
+ exit(1);
+ }
+
+ XCHG_M_R(x, v);
+ assert(v == 0 || v == 12345);
+
+ if (pthread_join(child, NULL)) {
+ perror("pthread join");
+ exit(1);
+ }
+
+ if (v == 0 || v == 12345)
+ printf("success\n");
+ else
+ printf("failure\n");
+
+ return v;
+}
diff --git a/helgrind/tests/.svn/text-base/tc11_XCHG.stderr.exp.svn-base b/helgrind/tests/.svn/text-base/tc11_XCHG.stderr.exp.svn-base
new file mode 100644
index 0000000..d18786f
--- /dev/null
+++ b/helgrind/tests/.svn/text-base/tc11_XCHG.stderr.exp.svn-base
@@ -0,0 +1,3 @@
+
+
+ERROR SUMMARY: 0 errors from 0 contexts (suppressed: 0 from 0)
diff --git a/helgrind/tests/.svn/text-base/tc11_XCHG.stdout.exp.svn-base b/helgrind/tests/.svn/text-base/tc11_XCHG.stdout.exp.svn-base
new file mode 100644
index 0000000..2e9ba47
--- /dev/null
+++ b/helgrind/tests/.svn/text-base/tc11_XCHG.stdout.exp.svn-base
@@ -0,0 +1 @@
+success
diff --git a/helgrind/tests/.svn/text-base/tc11_XCHG.vgtest.svn-base b/helgrind/tests/.svn/text-base/tc11_XCHG.vgtest.svn-base
new file mode 100644
index 0000000..342199b
--- /dev/null
+++ b/helgrind/tests/.svn/text-base/tc11_XCHG.vgtest.svn-base
@@ -0,0 +1 @@
+prog: tc11_XCHG
diff --git a/helgrind/tests/.svn/text-base/tc12_rwl_trivial.c.svn-base b/helgrind/tests/.svn/text-base/tc12_rwl_trivial.c.svn-base
new file mode 100644
index 0000000..9dc8e84
--- /dev/null
+++ b/helgrind/tests/.svn/text-base/tc12_rwl_trivial.c.svn-base
@@ -0,0 +1,34 @@
+
+/* Needed for older glibcs (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 <stdio.h>
+#include <pthread.h>
+#include <assert.h>
+
+/* Do trivial stuff with a reader-writer lock. */
+
+int main ( void )
+{
+ int r;
+ pthread_rwlock_t rwl;
+
+ r = pthread_rwlock_init( &rwl, NULL ); assert(r == 0);
+
+ r = pthread_rwlock_wrlock( &rwl ); assert(r == 0);
+ r = pthread_rwlock_unlock( &rwl ); assert(r == 0);
+
+ r = pthread_rwlock_rdlock( &rwl ); assert(r == 0);
+ r = pthread_rwlock_rdlock( &rwl ); assert(r == 0);
+ r = pthread_rwlock_unlock( &rwl ); assert(r == 0);
+ r = pthread_rwlock_unlock( &rwl ); assert(r == 0);
+
+ /* this should fail - lock is unowned now */
+ r = pthread_rwlock_unlock( &rwl ); assert(r == 0);
+
+ r = pthread_rwlock_destroy( &rwl ); assert(r == 0);
+
+ return 0;
+}
diff --git a/helgrind/tests/.svn/text-base/tc12_rwl_trivial.stderr.exp.svn-base b/helgrind/tests/.svn/text-base/tc12_rwl_trivial.stderr.exp.svn-base
new file mode 100644
index 0000000..5d4f383
--- /dev/null
+++ b/helgrind/tests/.svn/text-base/tc12_rwl_trivial.stderr.exp.svn-base
@@ -0,0 +1,11 @@
+
+Thread #x is the program's root thread
+
+Thread #x unlocked a not-locked lock at 0x........
+ at 0x........: pthread_rwlock_unlock (hg_intercepts.c:...)
+ by 0x........: main (tc12_rwl_trivial.c:29)
+ Lock at 0x........ was first observed
+ at 0x........: pthread_rwlock_init (hg_intercepts.c:...)
+ by 0x........: main (tc12_rwl_trivial.c:18)
+
+ERROR SUMMARY: 1 errors from 1 contexts (suppressed: 0 from 0)
diff --git a/helgrind/tests/.svn/text-base/tc12_rwl_trivial.stdout.exp.svn-base b/helgrind/tests/.svn/text-base/tc12_rwl_trivial.stdout.exp.svn-base
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/helgrind/tests/.svn/text-base/tc12_rwl_trivial.stdout.exp.svn-base
diff --git a/helgrind/tests/.svn/text-base/tc12_rwl_trivial.vgtest.svn-base b/helgrind/tests/.svn/text-base/tc12_rwl_trivial.vgtest.svn-base
new file mode 100644
index 0000000..fdcd644
--- /dev/null
+++ b/helgrind/tests/.svn/text-base/tc12_rwl_trivial.vgtest.svn-base
@@ -0,0 +1 @@
+prog: tc12_rwl_trivial
diff --git a/helgrind/tests/.svn/text-base/tc13_laog1.c.svn-base b/helgrind/tests/.svn/text-base/tc13_laog1.c.svn-base
new file mode 100644
index 0000000..e42ca98
--- /dev/null
+++ b/helgrind/tests/.svn/text-base/tc13_laog1.c.svn-base
@@ -0,0 +1,33 @@
+
+#include <pthread.h>
+#include <stdio.h>
+#include <stdlib.h>
+#include <assert.h>
+
+/* The simplest possible test that triggers a lock order acquisition
+ error. */
+
+int main ( void )
+{
+ int r;
+ pthread_mutex_t mx1, mx2;
+ r = pthread_mutex_init( &mx1, NULL ); assert(r==0);
+ r = pthread_mutex_init( &mx2, NULL ); assert(r==0);
+
+ r = pthread_mutex_lock( &mx1 ); assert(r==0);
+ r = pthread_mutex_lock( &mx2 ); assert(r==0);
+
+ r = pthread_mutex_unlock( &mx1 ); assert(r==0);
+ r = pthread_mutex_unlock( &mx2 ); assert(r==0);
+
+ r = pthread_mutex_lock( &mx2 ); assert(r==0); /* error */
+ r = pthread_mutex_lock( &mx1 ); assert(r==0);
+
+ r = pthread_mutex_unlock( &mx1 ); assert(r==0);
+ r = pthread_mutex_unlock( &mx2 ); assert(r==0);
+
+ r = pthread_mutex_destroy( &mx1 );
+ r = pthread_mutex_destroy( &mx2 );
+
+ return 0;
+}
diff --git a/helgrind/tests/.svn/text-base/tc13_laog1.stderr.exp.svn-base b/helgrind/tests/.svn/text-base/tc13_laog1.stderr.exp.svn-base
new file mode 100644
index 0000000..643aef9
--- /dev/null
+++ b/helgrind/tests/.svn/text-base/tc13_laog1.stderr.exp.svn-base
@@ -0,0 +1,14 @@
+
+Thread #x is the program's root thread
+
+Thread #x: lock order "0x........ before 0x........" violated
+ at 0x........: pthread_mutex_lock (hg_intercepts.c:...)
+ by 0x........: main (tc13_laog1.c:24)
+ Required order was established by acquisition of lock at 0x........
+ at 0x........: pthread_mutex_lock (hg_intercepts.c:...)
+ by 0x........: main (tc13_laog1.c:17)
+ followed by a later acquisition of lock at 0x........
+ at 0x........: pthread_mutex_lock (hg_intercepts.c:...)
+ by 0x........: main (tc13_laog1.c:18)
+
+ERROR SUMMARY: 1 errors from 1 contexts (suppressed: 0 from 0)
diff --git a/helgrind/tests/.svn/text-base/tc13_laog1.stdout.exp.svn-base b/helgrind/tests/.svn/text-base/tc13_laog1.stdout.exp.svn-base
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/helgrind/tests/.svn/text-base/tc13_laog1.stdout.exp.svn-base
diff --git a/helgrind/tests/.svn/text-base/tc13_laog1.vgtest.svn-base b/helgrind/tests/.svn/text-base/tc13_laog1.vgtest.svn-base
new file mode 100644
index 0000000..9fa71cd
--- /dev/null
+++ b/helgrind/tests/.svn/text-base/tc13_laog1.vgtest.svn-base
@@ -0,0 +1 @@
+prog: tc13_laog1
diff --git a/helgrind/tests/.svn/text-base/tc14_laog_dinphils.c.svn-base b/helgrind/tests/.svn/text-base/tc14_laog_dinphils.c.svn-base
new file mode 100644
index 0000000..c5af8c1
--- /dev/null
+++ b/helgrind/tests/.svn/text-base/tc14_laog_dinphils.c.svn-base
@@ -0,0 +1,42 @@
+
+#include <pthread.h>
+#include <stdlib.h>
+#include <unistd.h>
+
+/* Naive dining philosophers with inconsistent lock acquisition
+ ordering. */
+
+static pthread_t phil[5];
+static pthread_mutex_t chop[5];
+
+void* dine ( void* arg )
+{
+ int i;
+ long left = (long)arg;
+ long right = (left + 1) % 5;
+ for (i = 0; i < 1000/*arbitrary*/; i++) {
+ pthread_mutex_lock(&chop[left]);
+ pthread_mutex_lock(&chop[right]);
+ /* eating */
+ pthread_mutex_unlock(&chop[left]);
+ pthread_mutex_unlock(&chop[right]);
+ }
+ return NULL;
+}
+
+int main ( void )
+{
+ long i;
+ for (i = 0; i < 5; i++)
+ pthread_mutex_init( &chop[i], NULL);
+
+ for (i = 0; i < 5; i++)
+ pthread_create(&phil[i], NULL, dine, (void*)i );
+
+ sleep(1);
+
+ for (i = 0; i < 5; i++)
+ pthread_join(phil[i], NULL);
+
+ return 0;
+}
diff --git a/helgrind/tests/.svn/text-base/tc14_laog_dinphils.stderr.exp.svn-base b/helgrind/tests/.svn/text-base/tc14_laog_dinphils.stderr.exp.svn-base
new file mode 100644
index 0000000..f2e710f
--- /dev/null
+++ b/helgrind/tests/.svn/text-base/tc14_laog_dinphils.stderr.exp.svn-base
@@ -0,0 +1,13 @@
+
+Thread #x was created
+ ...
+ by 0x........: pthread_create@* (hg_intercepts.c:...)
+ by 0x........: main (tc14_laog_dinphils.c:34)
+
+Thread #x: lock order "0x........ before 0x........" violated
+ at 0x........: pthread_mutex_lock (hg_intercepts.c:...)
+ by 0x........: dine (tc14_laog_dinphils.c:19)
+ by 0x........: mythread_wrapper (hg_intercepts.c:...)
+ ...
+
+ERROR SUMMARY: 1000 errors from 1 contexts (suppressed: 0 from 0)
diff --git a/helgrind/tests/.svn/text-base/tc14_laog_dinphils.stdout.exp.svn-base b/helgrind/tests/.svn/text-base/tc14_laog_dinphils.stdout.exp.svn-base
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/helgrind/tests/.svn/text-base/tc14_laog_dinphils.stdout.exp.svn-base
diff --git a/helgrind/tests/.svn/text-base/tc14_laog_dinphils.vgtest.svn-base b/helgrind/tests/.svn/text-base/tc14_laog_dinphils.vgtest.svn-base
new file mode 100644
index 0000000..5871b73
--- /dev/null
+++ b/helgrind/tests/.svn/text-base/tc14_laog_dinphils.vgtest.svn-base
@@ -0,0 +1 @@
+prog: tc14_laog_dinphils
diff --git a/helgrind/tests/.svn/text-base/tc15_laog_lockdel.c.svn-base b/helgrind/tests/.svn/text-base/tc15_laog_lockdel.c.svn-base
new file mode 100644
index 0000000..68668b1
--- /dev/null
+++ b/helgrind/tests/.svn/text-base/tc15_laog_lockdel.c.svn-base
@@ -0,0 +1,77 @@
+
+#include <pthread.h>
+#include <stdio.h>
+#include <stdlib.h>
+#include <assert.h>
+
+/* Test that locks, having entered the lock acquisition tracking
+ machinery, are forgotten by it when the client does
+ pthread_{mutex,rwlock}_destroy. 2008-Nov-10: see comments below. */
+
+int main ( void )
+{
+ int r;
+ pthread_mutex_t *mx1, *mx2;
+
+ mx1 = malloc(sizeof(pthread_mutex_t));
+ mx2 = malloc(sizeof(pthread_mutex_t));
+
+ assert(mx1);
+ assert(mx2);
+
+ r = pthread_mutex_init( mx1, NULL ); assert(r==0);
+ r = pthread_mutex_init( mx2, NULL ); assert(r==0);
+
+ /* Establish order 1 -> 2 */
+ fprintf(stderr, "Establish order 1 -> 2\n");
+ r = pthread_mutex_lock( mx1 ); assert(r==0);
+ r = pthread_mutex_lock( mx2 ); assert(r==0);
+
+ r = pthread_mutex_unlock( mx1 ); assert(r==0);
+ r = pthread_mutex_unlock( mx2 ); assert(r==0);
+
+ /* Try order 2 -> 1. This gives an error. */
+ fprintf(stderr, "Try order 2 -> 1. This gives an error.\n");
+ r = pthread_mutex_lock( mx2 ); assert(r==0); /* error */
+ r = pthread_mutex_lock( mx1 ); assert(r==0);
+
+ r = pthread_mutex_unlock( mx1 ); assert(r==0);
+ r = pthread_mutex_unlock( mx2 ); assert(r==0);
+
+ /* De-initialise 2 and re-initialise it. This gives it a new
+ identity, so a second locking sequence 2 -> 1 should now be OK. */
+ fprintf(stderr,
+ "Free 2 and re-allocate it. This gives it a new identity,\n");
+ fprintf(stderr, "so a second locking sequence 2 -> 1 should now be OK.\n");
+ pthread_mutex_destroy( mx2 );
+
+
+
+ r = pthread_mutex_init( mx2, NULL ); assert(r==0);
+
+ r = pthread_mutex_lock( mx2 ); assert(r==0);
+ r = pthread_mutex_lock( mx1 ); assert(r==0); /* no error */
+
+ r = pthread_mutex_unlock( mx1 ); assert(r==0);
+ r = pthread_mutex_unlock( mx2 ); assert(r==0);
+
+ /* done */
+
+ fprintf(stderr, "done\n");
+ r = pthread_mutex_destroy( mx1 );
+ r = pthread_mutex_destroy( mx2 );
+
+ free( mx1 );
+ free( mx2 );
+
+ return 0;
+}
+
+/* 2008-Nov-10: I believe this test is flawed and requires further
+ investigation. I don't think it really tests what it claims to
+ test. In particular, it still gives the right results if
+ "pthread_mutex_destroy( mx2 );" at line 46 is commented out. In
+ other words, laog somehow forgets about mx2 so that 2->1 lock
+ sequence at lines 52/3 does not produce a complaint, EVEN WHEN the
+ preceding "pthread_mutex_destroy( mx2 );" is not observed. I don't
+ know why this is, but it seems highly suspicious to me. */
diff --git a/helgrind/tests/.svn/text-base/tc15_laog_lockdel.stderr.exp.svn-base b/helgrind/tests/.svn/text-base/tc15_laog_lockdel.stderr.exp.svn-base
new file mode 100644
index 0000000..cf7fce9
--- /dev/null
+++ b/helgrind/tests/.svn/text-base/tc15_laog_lockdel.stderr.exp.svn-base
@@ -0,0 +1,19 @@
+
+Establish order 1 -> 2
+Try order 2 -> 1. This gives an error.
+Thread #x is the program's root thread
+
+Thread #x: lock order "0x........ before 0x........" violated
+ at 0x........: pthread_mutex_lock (hg_intercepts.c:...)
+ by 0x........: main (tc15_laog_lockdel.c:36)
+ Required order was established by acquisition of lock at 0x........
+ at 0x........: pthread_mutex_lock (hg_intercepts.c:...)
+ by 0x........: main (tc15_laog_lockdel.c:27)
+ followed by a later acquisition of lock at 0x........
+ at 0x........: pthread_mutex_lock (hg_intercepts.c:...)
+ by 0x........: main (tc15_laog_lockdel.c:28)
+Free 2 and re-allocate it. This gives it a new identity,
+so a second locking sequence 2 -> 1 should now be OK.
+done
+
+ERROR SUMMARY: 1 errors from 1 contexts (suppressed: 0 from 0)
diff --git a/helgrind/tests/.svn/text-base/tc15_laog_lockdel.stdout.exp.svn-base b/helgrind/tests/.svn/text-base/tc15_laog_lockdel.stdout.exp.svn-base
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/helgrind/tests/.svn/text-base/tc15_laog_lockdel.stdout.exp.svn-base
diff --git a/helgrind/tests/.svn/text-base/tc15_laog_lockdel.vgtest.svn-base b/helgrind/tests/.svn/text-base/tc15_laog_lockdel.vgtest.svn-base
new file mode 100644
index 0000000..bd7a2ec
--- /dev/null
+++ b/helgrind/tests/.svn/text-base/tc15_laog_lockdel.vgtest.svn-base
@@ -0,0 +1 @@
+prog: tc15_laog_lockdel
diff --git a/helgrind/tests/.svn/text-base/tc16_byterace.c.svn-base b/helgrind/tests/.svn/text-base/tc16_byterace.c.svn-base
new file mode 100644
index 0000000..70a9101
--- /dev/null
+++ b/helgrind/tests/.svn/text-base/tc16_byterace.c.svn-base
@@ -0,0 +1,42 @@
+#include <pthread.h>
+#include <stdio.h>
+#include <stdlib.h>
+
+/* Simple demonstration of lockset tracking at byte granularity. */
+
+char bytes[10];
+
+void* child_fn ( void* arg )
+{
+ int i;
+ for (i = 0; i < 5; i++)
+ bytes[2*i + 0] ++; /* child accesses: 0 2 4 6 8 */
+ return NULL;
+}
+
+int main ( void )
+{
+ int i;
+ pthread_t child;
+
+ if (pthread_create(&child, NULL, child_fn, NULL)) {
+ perror("pthread_create");
+ exit(1);
+ }
+
+ /* Unprotected relative to child, but harmless, since different
+ bytes accessed */
+ for (i = 0; i < 5; i++)
+ bytes[2*i + 1] ++; /* accesses: 1 3 5 7 9 */
+
+ /* Unprotected relative to child, but harmful; same bytes */
+ for (i = 0; i < 3; i++)
+ bytes[3*i + 1] ++; /* accesses: 1 4(race!) 7 */
+
+ if (pthread_join(child, NULL)) {
+ perror("pthread join");
+ exit(1);
+ }
+
+ return 0;
+}
diff --git a/helgrind/tests/.svn/text-base/tc16_byterace.stderr.exp.svn-base b/helgrind/tests/.svn/text-base/tc16_byterace.stderr.exp.svn-base
new file mode 100644
index 0000000..95d0011
--- /dev/null
+++ b/helgrind/tests/.svn/text-base/tc16_byterace.stderr.exp.svn-base
@@ -0,0 +1,27 @@
+
+Thread #x is the program's root thread
+
+Thread #x was created
+ ...
+ by 0x........: pthread_create@* (hg_intercepts.c:...)
+ by 0x........: main (tc16_byterace.c:22)
+
+Possible data race during read of size 1 at 0x........ by thread #x
+ at 0x........: main (tc16_byterace.c:34)
+ This conflicts with a previous write of size 1 by thread #x
+ at 0x........: child_fn (tc16_byterace.c:13)
+ by 0x........: mythread_wrapper (hg_intercepts.c:...)
+ ...
+ Location 0x........ is 0 bytes inside bytes[4],
+ a global variable declared at tc16_byterace.c:7
+
+Possible data race during write of size 1 at 0x........ by thread #x
+ at 0x........: main (tc16_byterace.c:34)
+ This conflicts with a previous write of size 1 by thread #x
+ at 0x........: child_fn (tc16_byterace.c:13)
+ by 0x........: mythread_wrapper (hg_intercepts.c:...)
+ ...
+ Location 0x........ is 0 bytes inside bytes[4],
+ a global variable declared at tc16_byterace.c:7
+
+ERROR SUMMARY: 2 errors from 2 contexts (suppressed: 0 from 0)
diff --git a/helgrind/tests/.svn/text-base/tc16_byterace.stdout.exp.svn-base b/helgrind/tests/.svn/text-base/tc16_byterace.stdout.exp.svn-base
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/helgrind/tests/.svn/text-base/tc16_byterace.stdout.exp.svn-base
diff --git a/helgrind/tests/.svn/text-base/tc16_byterace.vgtest.svn-base b/helgrind/tests/.svn/text-base/tc16_byterace.vgtest.svn-base
new file mode 100644
index 0000000..0b424a4
--- /dev/null
+++ b/helgrind/tests/.svn/text-base/tc16_byterace.vgtest.svn-base
@@ -0,0 +1,2 @@
+prog: tc16_byterace
+vgopts: --read-var-info=yes
diff --git a/helgrind/tests/.svn/text-base/tc17_sembar.c.svn-base b/helgrind/tests/.svn/text-base/tc17_sembar.c.svn-base
new file mode 100644
index 0000000..cc91f5e
--- /dev/null
+++ b/helgrind/tests/.svn/text-base/tc17_sembar.c.svn-base
@@ -0,0 +1,213 @@
+
+#include <stdio.h>
+#include <stdlib.h>
+#include <assert.h>
+#include <pthread.h>
+#include <semaphore.h>
+
+/* This is really a test of semaphore handling
+ (sem_{init,destroy,post,wait}). Using semaphores a barrier
+ function is created. Helgrind-3.3 (p.k.a Thrcheck) does understand
+ the barrier semantics implied by the barrier, as pieced together
+ from happens-before relationships obtained from the component
+ semaphores. However, it does falsely report one race. Ah well.
+ Helgrind-3.4 is pure h-b and so reports no races (yay!). */
+
+/* This code is derived from
+ gcc-4.3-20071012/libgomp/config/posix/bar.c, which is
+
+ Copyright (C) 2005 Free Software Foundation, Inc.
+ Contributed by Richard Henderson <rth@redhat.com>.
+
+ and available under version 2.1 or later of the GNU Lesser General
+ Public License.
+
+ Relative to the libgomp sources, the gomp_barrier_t type here has
+ an extra semaphore field, xxx. This is not functionally useful,
+ but it is used to create enough extra inter-thread dependencies
+ that the barrier-like behaviour of gomp_barrier_t is evident to
+ Thrcheck. There is no other purpose for the .xxx field. */
+
+typedef struct
+{
+ pthread_mutex_t mutex1;
+ pthread_mutex_t mutex2;
+ sem_t sem1;
+ sem_t sem2;
+ unsigned total;
+ unsigned arrived;
+ sem_t xxx;
+} gomp_barrier_t;
+
+typedef long bool;
+
+void
+gomp_barrier_init (gomp_barrier_t *bar, unsigned count)
+{
+ pthread_mutex_init (&bar->mutex1, NULL);
+ pthread_mutex_init (&bar->mutex2, NULL);
+ sem_init (&bar->sem1, 0, 0);
+ sem_init (&bar->sem2, 0, 0);
+ sem_init (&bar->xxx, 0, 0);
+ bar->total = count;
+ bar->arrived = 0;
+}
+
+void
+gomp_barrier_destroy (gomp_barrier_t *bar)
+{
+ /* Before destroying, make sure all threads have left the barrier. */
+ pthread_mutex_lock (&bar->mutex1);
+ pthread_mutex_unlock (&bar->mutex1);
+
+ pthread_mutex_destroy (&bar->mutex1);
+ pthread_mutex_destroy (&bar->mutex2);
+ sem_destroy (&bar->sem1);
+ sem_destroy (&bar->sem2);
+ sem_destroy(&bar->xxx);
+}
+
+void
+gomp_barrier_reinit (gomp_barrier_t *bar, unsigned count)
+{
+ pthread_mutex_lock (&bar->mutex1);
+ bar->total = count;
+ pthread_mutex_unlock (&bar->mutex1);
+}
+
+void
+gomp_barrier_wait (gomp_barrier_t *bar)
+{
+ unsigned int n;
+ pthread_mutex_lock (&bar->mutex1);
+
+ ++bar->arrived;
+
+ if (bar->arrived == bar->total)
+ {
+ bar->arrived--;
+ n = bar->arrived;
+ if (n > 0)
+ {
+ { unsigned int i;
+ for (i = 0; i < n; i++)
+ sem_wait(&bar->xxx); // acquire an obvious dependency from
+ // all other threads arriving at the barrier
+ }
+ // 1 up n times, 2 down once
+ // now let all the other threads past the barrier, giving them
+ // an obvious dependency with this thread.
+ do
+ sem_post (&bar->sem1); // 1 up
+ while (--n != 0);
+ // and wait till the last thread has left
+ sem_wait (&bar->sem2); // 2 down
+ }
+ pthread_mutex_unlock (&bar->mutex1);
+ /* «Résultats professionnels!» First we made this thread have an
+ obvious (Thrcheck-visible) dependency on all other threads
+ calling gomp_barrier_wait. Then, we released them all again,
+ so they all have a (visible) dependency on this thread.
+ Transitively, the result is that all threads leaving the
+ barrier have a a Thrcheck-visible dependency on all threads
+ arriving at the barrier. As required. */
+ }
+ else
+ {
+ pthread_mutex_unlock (&bar->mutex1);
+ sem_post(&bar->xxx);
+ // first N-1 threads wind up waiting here
+ sem_wait (&bar->sem1); // 1 down
+
+ pthread_mutex_lock (&bar->mutex2);
+ n = --bar->arrived; /* XXX see below */
+ pthread_mutex_unlock (&bar->mutex2);
+
+ if (n == 0)
+ sem_post (&bar->sem2); // 2 up
+ }
+}
+
+
+/* re XXX, thrcheck reports a race at this point. It doesn't
+ understand that bar->arrived is protected by mutex1 whilst threads
+ are arriving at the barrier and by mutex2 whilst they are leaving,
+ but not consistently by either of them. Oh well. */
+
+static gomp_barrier_t bar;
+
+/* What's with the volatile here? It stops gcc compiling
+ "if (myid == 4) { unprotected = 99; }" and
+ "if (myid == 3) { unprotected = 88; }" into a conditional
+ load followed by a store. The cmov/store sequence reads and
+ writes memory in all threads and cause Thrcheck to (correctly)
+ report a race, the underlying cause of which is that gcc is
+ generating non threadsafe code.
+
+ (The lack of) thread safe code generation by gcc is currently a
+ hot topic. See the following discussions:
+ http://gcc.gnu.org/ml/gcc/2007-10/msg00266.html
+ http://lkml.org/lkml/2007/10/24/673
+ and this is interesting background:
+ www.hpl.hp.com/techreports/2004/HPL-2004-209.pdf
+*/
+static volatile long unprotected = 0;
+
+void* child ( void* argV )
+{
+ long myid = (long)argV;
+ // assert(myid >= 2 && myid <= 5);
+
+ /* First, we all wait to get to this point. */
+ gomp_barrier_wait( &bar );
+
+ /* Now, thread #4 writes to 'unprotected' and so becomes its
+ owner. */
+ if (myid == 4) {
+ unprotected = 99;
+ }
+
+ /* Now we all wait again. */
+ gomp_barrier_wait( &bar );
+
+ /* This time, thread #3 writes to 'unprotected'. If all goes well,
+ Thrcheck sees the dependency through the barrier back to thread
+ #4 before it, and so thread #3 becomes the exclusive owner of
+ 'unprotected'. */
+ if (myid == 3) {
+ unprotected = 88;
+ }
+
+ /* And just to be on the safe side ... */
+ gomp_barrier_wait( &bar );
+ return NULL;
+}
+
+
+int main (int argc, char *argv[])
+{
+ long i; int res;
+ pthread_t thr[4];
+ fprintf(stderr, "starting\n");
+
+ gomp_barrier_init( &bar, 4 );
+
+ for (i = 0; i < 4; i++) {
+ res = pthread_create( &thr[i], NULL, child, (void*)(i+2) );
+ assert(!res);
+ }
+
+ for (i = 0; i < 4; i++) {
+ res = pthread_join( thr[i], NULL );
+ assert(!res);
+ }
+
+ gomp_barrier_destroy( &bar );
+
+ /* And finally here, the root thread can get exclusive ownership
+ back from thread #4, because #4 has exited by this point and so
+ we have a dependency edge back to the write it did. */
+ fprintf(stderr, "done, result is %ld, should be 88\n", unprotected);
+
+ return 0;
+}
diff --git a/helgrind/tests/.svn/text-base/tc17_sembar.stderr.exp.svn-base b/helgrind/tests/.svn/text-base/tc17_sembar.stderr.exp.svn-base
new file mode 100644
index 0000000..b3f318e
--- /dev/null
+++ b/helgrind/tests/.svn/text-base/tc17_sembar.stderr.exp.svn-base
@@ -0,0 +1,5 @@
+
+starting
+done, result is 88, should be 88
+
+ERROR SUMMARY: 0 errors from 0 contexts (suppressed: 0 from 0)
diff --git a/helgrind/tests/.svn/text-base/tc17_sembar.stdout.exp.svn-base b/helgrind/tests/.svn/text-base/tc17_sembar.stdout.exp.svn-base
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/helgrind/tests/.svn/text-base/tc17_sembar.stdout.exp.svn-base
diff --git a/helgrind/tests/.svn/text-base/tc17_sembar.vgtest.svn-base b/helgrind/tests/.svn/text-base/tc17_sembar.vgtest.svn-base
new file mode 100644
index 0000000..643ed8a
--- /dev/null
+++ b/helgrind/tests/.svn/text-base/tc17_sembar.vgtest.svn-base
@@ -0,0 +1 @@
+prog: tc17_sembar
diff --git a/helgrind/tests/.svn/text-base/tc18_semabuse.c.svn-base b/helgrind/tests/.svn/text-base/tc18_semabuse.c.svn-base
new file mode 100644
index 0000000..40c068b
--- /dev/null
+++ b/helgrind/tests/.svn/text-base/tc18_semabuse.c.svn-base
@@ -0,0 +1,57 @@
+
+/* Do stupid things with semaphores, and check that Thrcheck doesn't
+ fall over and does report errors appropriately. If nothing else
+ this just checks that the relevant functions are getting
+ intercepted. */
+
+/* This is pretty lame, because making the sem_ functions fail is
+ difficult. Not sure it's really worth having. */
+#include <unistd.h>
+#include <stdio.h>
+#include <stdlib.h>
+#include <assert.h>
+#include <pthread.h>
+#include <semaphore.h>
+#include <string.h>
+void start_watchdog ( void );
+int main ( void )
+{
+ int r;
+ sem_t s1;
+ start_watchdog();
+ /* Do sem_init with huge initial count */
+ r= sem_init(&s1, 0, ~0);
+
+ /* initialise properly */
+ r= sem_init(&s1, 0, 0);
+
+ /* in glibc, sem_destroy is a no-op; making it fail is
+ impossible. */
+
+ /* Do 'wait' on a bogus semaphore. This should fail, but on glibc
+ it succeeds. */
+ memset(&s1, 0x55, sizeof(s1));
+ r= sem_wait(&s1); /* assert(r != 0); */
+
+ /* this only fails with glibc 2.7 and later. */
+ r= sem_post(&s1);
+
+ sem_destroy(&s1);
+
+ return 0;
+}
+
+void* watchdog ( void* v )
+{
+ sleep(10);
+ fprintf(stderr, "watchdog timer expired - not a good sign\n");
+ exit(0);
+}
+
+void start_watchdog ( void )
+{
+ pthread_t t;
+ int r;
+ r= pthread_create(&t, NULL, watchdog, NULL);
+ assert(!r);
+}
diff --git a/helgrind/tests/.svn/text-base/tc18_semabuse.stderr.exp-glibc25-amd64.svn-base b/helgrind/tests/.svn/text-base/tc18_semabuse.stderr.exp-glibc25-amd64.svn-base
new file mode 100644
index 0000000..c2077ed
--- /dev/null
+++ b/helgrind/tests/.svn/text-base/tc18_semabuse.stderr.exp-glibc25-amd64.svn-base
@@ -0,0 +1,14 @@
+
+Thread #x is the program's root thread
+
+Thread #x's call to sem_init failed
+ with error code 22 (EINVAL: Invalid argument)
+ at 0x........: sem_init@* (hg_intercepts.c:...)
+ by 0x........: main (tc18_semabuse.c:23)
+
+Thread #x: Bug in libpthread: sem_wait succeeded on semaphore without prior sem_post
+ at 0x........: sem_wait_WRK (hg_intercepts.c:...)
+ by 0x........: sem_wait (hg_intercepts.c:...)
+ by 0x........: main (tc18_semabuse.c:34)
+
+ERROR SUMMARY: 2 errors from 2 contexts (suppressed: 0 from 0)
diff --git a/helgrind/tests/.svn/text-base/tc18_semabuse.stderr.exp-glibc28-amd64.svn-base b/helgrind/tests/.svn/text-base/tc18_semabuse.stderr.exp-glibc28-amd64.svn-base
new file mode 100644
index 0000000..ac8baaa
--- /dev/null
+++ b/helgrind/tests/.svn/text-base/tc18_semabuse.stderr.exp-glibc28-amd64.svn-base
@@ -0,0 +1,20 @@
+
+Thread #x is the program's root thread
+
+Thread #x's call to sem_init failed
+ with error code 22 (EINVAL: Invalid argument)
+ at 0x........: sem_init@* (hg_intercepts.c:...)
+ by 0x........: main (tc18_semabuse.c:23)
+
+Thread #x: Bug in libpthread: sem_wait succeeded on semaphore without prior sem_post
+ at 0x........: sem_wait_WRK (hg_intercepts.c:...)
+ by 0x........: sem_wait (hg_intercepts.c:...)
+ by 0x........: main (tc18_semabuse.c:34)
+
+Thread #x's call to sem_post failed
+ with error code 22 (EINVAL: Invalid argument)
+ at 0x........: sem_post_WRK (hg_intercepts.c:...)
+ by 0x........: sem_post (hg_intercepts.c:...)
+ by 0x........: main (tc18_semabuse.c:37)
+
+ERROR SUMMARY: 3 errors from 3 contexts (suppressed: 0 from 0)
diff --git a/helgrind/tests/.svn/text-base/tc18_semabuse.stdout.exp.svn-base b/helgrind/tests/.svn/text-base/tc18_semabuse.stdout.exp.svn-base
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/helgrind/tests/.svn/text-base/tc18_semabuse.stdout.exp.svn-base
diff --git a/helgrind/tests/.svn/text-base/tc18_semabuse.vgtest.svn-base b/helgrind/tests/.svn/text-base/tc18_semabuse.vgtest.svn-base
new file mode 100644
index 0000000..fe4d22b
--- /dev/null
+++ b/helgrind/tests/.svn/text-base/tc18_semabuse.vgtest.svn-base
@@ -0,0 +1 @@
+prog: tc18_semabuse
diff --git a/helgrind/tests/.svn/text-base/tc19_shadowmem.c.svn-base b/helgrind/tests/.svn/text-base/tc19_shadowmem.c.svn-base
new file mode 100644
index 0000000..ec05061
--- /dev/null
+++ b/helgrind/tests/.svn/text-base/tc19_shadowmem.c.svn-base
@@ -0,0 +1,2291 @@
+
+#include <pthread.h>
+#include <assert.h>
+#include <stdlib.h>
+#include <stdio.h>
+
+#include "helgrind/helgrind.h"
+
+typedef
+ struct {
+ void* (*child)(void*);
+ char* arr;
+ int firstoff;
+ int lastoff;
+ int skipoff;
+ }
+ Info;
+
+pthread_mutex_t mx;
+
+void* child8 ( void* infoV )
+{
+ int r, i, firstoff, lastoff, skipoff;
+ char* arr;
+ Info* info = (Info*)infoV;
+ firstoff = info->firstoff;
+ lastoff = info->lastoff;
+ skipoff = info->skipoff;
+ arr = info->arr;
+ assert( sizeof(char) == 1 );
+ assert( info->child == &child8 );
+ { char* ptr = (char*)&arr[skipoff];
+ *ptr = 0; }
+ for (i = firstoff; i <= lastoff; i += 1) {
+ char* ptr = (char*)&arr[i];
+ if (i != skipoff) {
+ r= pthread_mutex_lock( &mx ); assert(!r);
+ *ptr = 0;
+ r= pthread_mutex_unlock( &mx ); assert(!r);
+ }
+ }
+ return NULL;
+}
+
+void* child16 ( void* infoV )
+{
+ int r, i, firstoff, lastoff, skipoff;
+ char* arr;
+ Info* info = (Info*)infoV;
+ firstoff = info->firstoff;
+ lastoff = info->lastoff;
+ skipoff = info->skipoff;
+ arr = info->arr;
+ assert( sizeof(short) == 2 );
+ assert( info->child == &child16 );
+ { short* ptr = (short*)&arr[skipoff];
+ *ptr = 0; }
+ for (i = firstoff; i <= lastoff; i += 2) {
+ short* ptr = (short*)&arr[i];
+ if (i != skipoff) {
+ r= pthread_mutex_lock( &mx ); assert(!r);
+ *ptr = 0;
+ r= pthread_mutex_unlock( &mx ); assert(!r);
+ }
+ }
+ return NULL;
+}
+
+void* child32 ( void* infoV )
+{
+ int r, i, firstoff, lastoff, skipoff;
+ char* arr;
+ Info* info = (Info*)infoV;
+ firstoff = info->firstoff;
+ lastoff = info->lastoff;
+ skipoff = info->skipoff;
+ arr = info->arr;
+ assert( sizeof(int) == 4 );
+ assert( info->child == &child32 );
+ { int* ptr = (int*)&arr[skipoff];
+ *ptr = 0; }
+ for (i = firstoff; i <= lastoff; i += 4) {
+ int* ptr = (int*)&arr[i];
+ if (i != skipoff) {
+ r= pthread_mutex_lock( &mx ); assert(!r);
+ *ptr = 0;
+ r= pthread_mutex_unlock( &mx ); assert(!r);
+ }
+ }
+ return NULL;
+}
+
+void* child64 ( void* infoV )
+{
+ int r, i, firstoff, lastoff, skipoff;
+ char* arr;
+ Info* info = (Info*)infoV;
+ firstoff = info->firstoff;
+ lastoff = info->lastoff;
+ skipoff = info->skipoff;
+ arr = info->arr;
+ assert( sizeof(double) == 8 );
+ assert( info->child == &child64 );
+ { double* ptr = (double*)&arr[skipoff];
+ *ptr = 0.0; }
+ for (i = firstoff; i <= lastoff; i += 8) {
+ double* ptr = (double*)&arr[i];
+ if (i != skipoff) {
+ r= pthread_mutex_lock( &mx ); assert(!r);
+ *ptr = 0.0;
+ r= pthread_mutex_unlock( &mx ); assert(!r);
+ }
+ }
+ return NULL;
+}
+
+
+void* steer ( void* infoV );
+
+#define MAXXX 100 /* re 100: should cover at least 2 cycles
+of length 1 << N_LINE_BITS */
+/* This is all a bit subtle. First, after every inner loop over the
+ data, we have to VALGRIND_TC_CLEAN_MEMORY it to get it back to a
+ decent starting state. Because info.arr is 8-aligned (is asserted
+ for), the address range painter will paint at top level granularity
+ (8-byte), which means we are guaranteed to see any errors from the
+ next iteration at the maximum granularity that their alignment
+ allows.
+
+ Also, the pthread_joins cause the shadow mem cache to be flushed
+ each iteration. Given that all trees are pulled up to 64-bit by
+ the abovementioned VALGRIND_TC_CLEAN_MEMORY, I think this
+ irrelevant.
+*/
+
+int main ( void )
+{
+ pthread_t t1, t2;
+ Info info;
+ int off;
+
+ pthread_mutex_init( &mx, NULL );
+
+ info.arr = malloc(MAXXX);
+ assert(info.arr);
+
+ /* ensure array is 8-aligned. this is important, as per comment
+ above. */
+ assert(0 == (7 & (unsigned long)info.arr));
+
+#if 1
+ /* Test 8 bit granularity */
+
+ fprintf(stderr, "\n");
+ fprintf(stderr,
+ "===========================================================\n");
+ fprintf(stderr,
+ "=== 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 ===\n");
+ fprintf(stderr,
+ "===========================================================\n");
+ fprintf(stderr, "\n");
+ for (off = 0; off < MAXXX-1; off++) {
+
+ info.firstoff = off & 0;
+ info.lastoff = MAXXX - 1;
+ info.skipoff = off;
+ info.child = child8;
+
+ fprintf(stderr, "---------- char gran, %d .. %d, skip %d ----------\n",
+ info.firstoff, info.lastoff, info.skipoff );
+
+ pthread_create( &t1, NULL, steer, (void*)&info );
+ pthread_create( &t2, NULL, steer, (void*)&info );
+
+ pthread_join( t1, NULL );
+ pthread_join( t2, NULL );
+
+ VALGRIND_HG_CLEAN_MEMORY(&info.arr[0], MAXXX);
+
+ }
+#endif
+#if 1
+ /* Test 16 bit granularity */
+
+ fprintf(stderr, "\n");
+ fprintf(stderr,
+ "==========================================================\n");
+ fprintf(stderr,
+ "=== 16 16 16 16 16 16 16 16 16 16 16 16 16 16 16 16 16 ===\n");
+ fprintf(stderr,
+ "==========================================================\n");
+ fprintf(stderr, "\n");
+ for (off = 0; off < MAXXX-2; off++) {
+
+ info.firstoff = off & 1;
+ info.lastoff = MAXXX - 2;
+ info.skipoff = off;
+ info.child = child16;
+
+ fprintf(stderr, "---------- short gran, %d .. %d, skip %d ----------\n",
+ info.firstoff, info.lastoff, info.skipoff );
+
+ pthread_create( &t1, NULL, steer, (void*)&info );
+ pthread_create( &t2, NULL, steer, (void*)&info );
+
+ pthread_join( t1, NULL );
+ pthread_join( t2, NULL );
+
+ VALGRIND_HG_CLEAN_MEMORY(&info.arr[0], MAXXX);
+
+ }
+#endif
+#if 1
+ /* Test 32 bit granularity */
+
+ fprintf(stderr, "\n");
+ fprintf(stderr,
+ "==========================================================\n");
+ fprintf(stderr,
+ "=== 32 32 32 32 32 32 32 32 32 32 32 32 32 32 32 32 32 ===\n");
+ fprintf(stderr,
+ "==========================================================\n");
+ fprintf(stderr, "\n");
+ for (off = 0; off < MAXXX-4; off++) {
+
+ info.firstoff = off & 3;
+ info.lastoff = MAXXX - 4;
+ info.skipoff = off;
+ info.child = child32;
+
+ fprintf(stderr, "---------- int gran, %d .. %d, skip %d ----------\n",
+ info.firstoff, info.lastoff, info.skipoff );
+
+ pthread_create( &t1, NULL, steer, (void*)&info );
+ pthread_create( &t2, NULL, steer, (void*)&info );
+
+ pthread_join( t1, NULL );
+ pthread_join( t2, NULL );
+
+ VALGRIND_HG_CLEAN_MEMORY(&info.arr[0], MAXXX);
+
+ }
+#endif
+#if 1
+ /* Test 64 bit granularity */
+
+ fprintf(stderr, "\n");
+ fprintf(stderr,
+ "==========================================================\n");
+ fprintf(stderr,
+ "=== 64 64 64 64 64 64 64 64 64 64 64 64 64 64 64 64 64 ===\n");
+ fprintf(stderr,
+ "==========================================================\n");
+ fprintf(stderr, "\n");
+ for (off = 0; off < MAXXX-8; off++) {
+
+ info.firstoff = off & 7;
+ info.lastoff = MAXXX - 8;
+ info.skipoff = off;
+ info.child = child64;
+
+ fprintf(stderr, "---------- double gran, %d .. %d, skip %d ----------\n",
+ info.firstoff, info.lastoff, info.skipoff );
+
+ pthread_create( &t1, NULL, steer, (void*)&info );
+ pthread_create( &t2, NULL, steer, (void*)&info );
+
+ pthread_join( t1, NULL );
+ pthread_join( t2, NULL );
+
+ VALGRIND_HG_CLEAN_MEMORY(&info.arr[0], MAXXX);
+
+ }
+#endif
+ free(info.arr);
+
+ return 0;
+}
+
+void* steer ( void* infoV )
+{
+ Info* info = (Info*)infoV;
+ int wot = info->skipoff;
+ void*(*fn)(void*) = info->child;
+ if (wot >= 500) goto halfway;
+
+ __asm__ __volatile__("");
+ if (wot == 0) return fn(info);
+ __asm__ __volatile__("");
+ if (wot == 1) return fn(info);
+ __asm__ __volatile__("");
+ if (wot == 2) return fn(info);
+ __asm__ __volatile__("");
+ if (wot == 3) return fn(info);
+ __asm__ __volatile__("");
+ if (wot == 4) return fn(info);
+ __asm__ __volatile__("");
+ if (wot == 5) return fn(info);
+ __asm__ __volatile__("");
+ if (wot == 6) return fn(info);
+ __asm__ __volatile__("");
+ if (wot == 7) return fn(info);
+ __asm__ __volatile__("");
+ if (wot == 8) return fn(info);
+ __asm__ __volatile__("");
+ if (wot == 9) return fn(info);
+ __asm__ __volatile__("");
+ if (wot == 10) return fn(info);
+ __asm__ __volatile__("");
+ if (wot == 11) return fn(info);
+ __asm__ __volatile__("");
+ if (wot == 12) return fn(info);
+ __asm__ __volatile__("");
+ if (wot == 13) return fn(info);
+ __asm__ __volatile__("");
+ if (wot == 14) return fn(info);
+ __asm__ __volatile__("");
+ if (wot == 15) return fn(info);
+ __asm__ __volatile__("");
+ if (wot == 16) return fn(info);
+ __asm__ __volatile__("");
+ if (wot == 17) return fn(info);
+ __asm__ __volatile__("");
+ if (wot == 18) return fn(info);
+ __asm__ __volatile__("");
+ if (wot == 19) return fn(info);
+ __asm__ __volatile__("");
+ if (wot == 20) return fn(info);
+ __asm__ __volatile__("");
+ if (wot == 21) return fn(info);
+ __asm__ __volatile__("");
+ if (wot == 22) return fn(info);
+ __asm__ __volatile__("");
+ if (wot == 23) return fn(info);
+ __asm__ __volatile__("");
+ if (wot == 24) return fn(info);
+ __asm__ __volatile__("");
+ if (wot == 25) return fn(info);
+ __asm__ __volatile__("");
+ if (wot == 26) return fn(info);
+ __asm__ __volatile__("");
+ if (wot == 27) return fn(info);
+ __asm__ __volatile__("");
+ if (wot == 28) return fn(info);
+ __asm__ __volatile__("");
+ if (wot == 29) return fn(info);
+ __asm__ __volatile__("");
+ if (wot == 30) return fn(info);
+ __asm__ __volatile__("");
+ if (wot == 31) return fn(info);
+ __asm__ __volatile__("");
+ if (wot == 32) return fn(info);
+ __asm__ __volatile__("");
+ if (wot == 33) return fn(info);
+ __asm__ __volatile__("");
+ if (wot == 34) return fn(info);
+ __asm__ __volatile__("");
+ if (wot == 35) return fn(info);
+ __asm__ __volatile__("");
+ if (wot == 36) return fn(info);
+ __asm__ __volatile__("");
+ if (wot == 37) return fn(info);
+ __asm__ __volatile__("");
+ if (wot == 38) return fn(info);
+ __asm__ __volatile__("");
+ if (wot == 39) return fn(info);
+ __asm__ __volatile__("");
+ if (wot == 40) return fn(info);
+ __asm__ __volatile__("");
+ if (wot == 41) return fn(info);
+ __asm__ __volatile__("");
+ if (wot == 42) return fn(info);
+ __asm__ __volatile__("");
+ if (wot == 43) return fn(info);
+ __asm__ __volatile__("");
+ if (wot == 44) return fn(info);
+ __asm__ __volatile__("");
+ if (wot == 45) return fn(info);
+ __asm__ __volatile__("");
+ if (wot == 46) return fn(info);
+ __asm__ __volatile__("");
+ if (wot == 47) return fn(info);
+ __asm__ __volatile__("");
+ if (wot == 48) return fn(info);
+ __asm__ __volatile__("");
+ if (wot == 49) return fn(info);
+ __asm__ __volatile__("");
+ if (wot == 50) return fn(info);
+ __asm__ __volatile__("");
+ if (wot == 51) return fn(info);
+ __asm__ __volatile__("");
+ if (wot == 52) return fn(info);
+ __asm__ __volatile__("");
+ if (wot == 53) return fn(info);
+ __asm__ __volatile__("");
+ if (wot == 54) return fn(info);
+ __asm__ __volatile__("");
+ if (wot == 55) return fn(info);
+ __asm__ __volatile__("");
+ if (wot == 56) return fn(info);
+ __asm__ __volatile__("");
+ if (wot == 57) return fn(info);
+ __asm__ __volatile__("");
+ if (wot == 58) return fn(info);
+ __asm__ __volatile__("");
+ if (wot == 59) return fn(info);
+ __asm__ __volatile__("");
+ if (wot == 60) return fn(info);
+ __asm__ __volatile__("");
+ if (wot == 61) return fn(info);
+ __asm__ __volatile__("");
+ if (wot == 62) return fn(info);
+ __asm__ __volatile__("");
+ if (wot == 63) return fn(info);
+ __asm__ __volatile__("");
+ if (wot == 64) return fn(info);
+ __asm__ __volatile__("");
+ if (wot == 65) return fn(info);
+ __asm__ __volatile__("");
+ if (wot == 66) return fn(info);
+ __asm__ __volatile__("");
+ if (wot == 67) return fn(info);
+ __asm__ __volatile__("");
+ if (wot == 68) return fn(info);
+ __asm__ __volatile__("");
+ if (wot == 69) return fn(info);
+ __asm__ __volatile__("");
+ if (wot == 70) return fn(info);
+ __asm__ __volatile__("");
+ if (wot == 71) return fn(info);
+ __asm__ __volatile__("");
+ if (wot == 72) return fn(info);
+ __asm__ __volatile__("");
+ if (wot == 73) return fn(info);
+ __asm__ __volatile__("");
+ if (wot == 74) return fn(info);
+ __asm__ __volatile__("");
+ if (wot == 75) return fn(info);
+ __asm__ __volatile__("");
+ if (wot == 76) return fn(info);
+ __asm__ __volatile__("");
+ if (wot == 77) return fn(info);
+ __asm__ __volatile__("");
+ if (wot == 78) return fn(info);
+ __asm__ __volatile__("");
+ if (wot == 79) return fn(info);
+ __asm__ __volatile__("");
+ if (wot == 80) return fn(info);
+ __asm__ __volatile__("");
+ if (wot == 81) return fn(info);
+ __asm__ __volatile__("");
+ if (wot == 82) return fn(info);
+ __asm__ __volatile__("");
+ if (wot == 83) return fn(info);
+ __asm__ __volatile__("");
+ if (wot == 84) return fn(info);
+ __asm__ __volatile__("");
+ if (wot == 85) return fn(info);
+ __asm__ __volatile__("");
+ if (wot == 86) return fn(info);
+ __asm__ __volatile__("");
+ if (wot == 87) return fn(info);
+ __asm__ __volatile__("");
+ if (wot == 88) return fn(info);
+ __asm__ __volatile__("");
+ if (wot == 89) return fn(info);
+ __asm__ __volatile__("");
+ if (wot == 90) return fn(info);
+ __asm__ __volatile__("");
+ if (wot == 91) return fn(info);
+ __asm__ __volatile__("");
+ if (wot == 92) return fn(info);
+ __asm__ __volatile__("");
+ if (wot == 93) return fn(info);
+ __asm__ __volatile__("");
+ if (wot == 94) return fn(info);
+ __asm__ __volatile__("");
+ if (wot == 95) return fn(info);
+ __asm__ __volatile__("");
+ if (wot == 96) return fn(info);
+ __asm__ __volatile__("");
+ if (wot == 97) return fn(info);
+ __asm__ __volatile__("");
+ if (wot == 98) return fn(info);
+ __asm__ __volatile__("");
+ if (wot == 99) return fn(info);
+ __asm__ __volatile__("");
+ if (wot == 100) return fn(info);
+ __asm__ __volatile__("");
+ if (wot == 101) return fn(info);
+ __asm__ __volatile__("");
+ if (wot == 102) return fn(info);
+ __asm__ __volatile__("");
+ if (wot == 103) return fn(info);
+ __asm__ __volatile__("");
+ if (wot == 104) return fn(info);
+ __asm__ __volatile__("");
+ if (wot == 105) return fn(info);
+ __asm__ __volatile__("");
+ if (wot == 106) return fn(info);
+ __asm__ __volatile__("");
+ if (wot == 107) return fn(info);
+ __asm__ __volatile__("");
+ if (wot == 108) return fn(info);
+ __asm__ __volatile__("");
+ if (wot == 109) return fn(info);
+ __asm__ __volatile__("");
+ if (wot == 110) return fn(info);
+ __asm__ __volatile__("");
+ if (wot == 111) return fn(info);
+ __asm__ __volatile__("");
+ if (wot == 112) return fn(info);
+ __asm__ __volatile__("");
+ if (wot == 113) return fn(info);
+ __asm__ __volatile__("");
+ if (wot == 114) return fn(info);
+ __asm__ __volatile__("");
+ if (wot == 115) return fn(info);
+ __asm__ __volatile__("");
+ if (wot == 116) return fn(info);
+ __asm__ __volatile__("");
+ if (wot == 117) return fn(info);
+ __asm__ __volatile__("");
+ if (wot == 118) return fn(info);
+ __asm__ __volatile__("");
+ if (wot == 119) return fn(info);
+ __asm__ __volatile__("");
+ if (wot == 120) return fn(info);
+ __asm__ __volatile__("");
+ if (wot == 121) return fn(info);
+ __asm__ __volatile__("");
+ if (wot == 122) return fn(info);
+ __asm__ __volatile__("");
+ if (wot == 123) return fn(info);
+ __asm__ __volatile__("");
+ if (wot == 124) return fn(info);
+ __asm__ __volatile__("");
+ if (wot == 125) return fn(info);
+ __asm__ __volatile__("");
+ if (wot == 126) return fn(info);
+ __asm__ __volatile__("");
+ if (wot == 127) return fn(info);
+ __asm__ __volatile__("");
+ if (wot == 128) return fn(info);
+ __asm__ __volatile__("");
+ if (wot == 129) return fn(info);
+ __asm__ __volatile__("");
+ if (wot == 130) return fn(info);
+ __asm__ __volatile__("");
+ if (wot == 131) return fn(info);
+ __asm__ __volatile__("");
+ if (wot == 132) return fn(info);
+ __asm__ __volatile__("");
+ if (wot == 133) return fn(info);
+ __asm__ __volatile__("");
+ if (wot == 134) return fn(info);
+ __asm__ __volatile__("");
+ if (wot == 135) return fn(info);
+ __asm__ __volatile__("");
+ if (wot == 136) return fn(info);
+ __asm__ __volatile__("");
+ if (wot == 137) return fn(info);
+ __asm__ __volatile__("");
+ if (wot == 138) return fn(info);
+ __asm__ __volatile__("");
+ if (wot == 139) return fn(info);
+ __asm__ __volatile__("");
+ if (wot == 140) return fn(info);
+ __asm__ __volatile__("");
+ if (wot == 141) return fn(info);
+ __asm__ __volatile__("");
+ if (wot == 142) return fn(info);
+ __asm__ __volatile__("");
+ if (wot == 143) return fn(info);
+ __asm__ __volatile__("");
+ if (wot == 144) return fn(info);
+ __asm__ __volatile__("");
+ if (wot == 145) return fn(info);
+ __asm__ __volatile__("");
+ if (wot == 146) return fn(info);
+ __asm__ __volatile__("");
+ if (wot == 147) return fn(info);
+ __asm__ __volatile__("");
+ if (wot == 148) return fn(info);
+ __asm__ __volatile__("");
+ if (wot == 149) return fn(info);
+ __asm__ __volatile__("");
+ if (wot == 150) return fn(info);
+ __asm__ __volatile__("");
+ if (wot == 151) return fn(info);
+ __asm__ __volatile__("");
+ if (wot == 152) return fn(info);
+ __asm__ __volatile__("");
+ if (wot == 153) return fn(info);
+ __asm__ __volatile__("");
+ if (wot == 154) return fn(info);
+ __asm__ __volatile__("");
+ if (wot == 155) return fn(info);
+ __asm__ __volatile__("");
+ if (wot == 156) return fn(info);
+ __asm__ __volatile__("");
+ if (wot == 157) return fn(info);
+ __asm__ __volatile__("");
+ if (wot == 158) return fn(info);
+ __asm__ __volatile__("");
+ if (wot == 159) return fn(info);
+ __asm__ __volatile__("");
+ if (wot == 160) return fn(info);
+ __asm__ __volatile__("");
+ if (wot == 161) return fn(info);
+ __asm__ __volatile__("");
+ if (wot == 162) return fn(info);
+ __asm__ __volatile__("");
+ if (wot == 163) return fn(info);
+ __asm__ __volatile__("");
+ if (wot == 164) return fn(info);
+ __asm__ __volatile__("");
+ if (wot == 165) return fn(info);
+ __asm__ __volatile__("");
+ if (wot == 166) return fn(info);
+ __asm__ __volatile__("");
+ if (wot == 167) return fn(info);
+ __asm__ __volatile__("");
+ if (wot == 168) return fn(info);
+ __asm__ __volatile__("");
+ if (wot == 169) return fn(info);
+ __asm__ __volatile__("");
+ if (wot == 170) return fn(info);
+ __asm__ __volatile__("");
+ if (wot == 171) return fn(info);
+ __asm__ __volatile__("");
+ if (wot == 172) return fn(info);
+ __asm__ __volatile__("");
+ if (wot == 173) return fn(info);
+ __asm__ __volatile__("");
+ if (wot == 174) return fn(info);
+ __asm__ __volatile__("");
+ if (wot == 175) return fn(info);
+ __asm__ __volatile__("");
+ if (wot == 176) return fn(info);
+ __asm__ __volatile__("");
+ if (wot == 177) return fn(info);
+ __asm__ __volatile__("");
+ if (wot == 178) return fn(info);
+ __asm__ __volatile__("");
+ if (wot == 179) return fn(info);
+ __asm__ __volatile__("");
+ if (wot == 180) return fn(info);
+ __asm__ __volatile__("");
+ if (wot == 181) return fn(info);
+ __asm__ __volatile__("");
+ if (wot == 182) return fn(info);
+ __asm__ __volatile__("");
+ if (wot == 183) return fn(info);
+ __asm__ __volatile__("");
+ if (wot == 184) return fn(info);
+ __asm__ __volatile__("");
+ if (wot == 185) return fn(info);
+ __asm__ __volatile__("");
+ if (wot == 186) return fn(info);
+ __asm__ __volatile__("");
+ if (wot == 187) return fn(info);
+ __asm__ __volatile__("");
+ if (wot == 188) return fn(info);
+ __asm__ __volatile__("");
+ if (wot == 189) return fn(info);
+ __asm__ __volatile__("");
+ if (wot == 190) return fn(info);
+ __asm__ __volatile__("");
+ if (wot == 191) return fn(info);
+ __asm__ __volatile__("");
+ if (wot == 192) return fn(info);
+ __asm__ __volatile__("");
+ if (wot == 193) return fn(info);
+ __asm__ __volatile__("");
+ if (wot == 194) return fn(info);
+ __asm__ __volatile__("");
+ if (wot == 195) return fn(info);
+ __asm__ __volatile__("");
+ if (wot == 196) return fn(info);
+ __asm__ __volatile__("");
+ if (wot == 197) return fn(info);
+ __asm__ __volatile__("");
+ if (wot == 198) return fn(info);
+ __asm__ __volatile__("");
+ if (wot == 199) return fn(info);
+ __asm__ __volatile__("");
+ if (wot == 200) return fn(info);
+ __asm__ __volatile__("");
+ if (wot == 201) return fn(info);
+ __asm__ __volatile__("");
+ if (wot == 202) return fn(info);
+ __asm__ __volatile__("");
+ if (wot == 203) return fn(info);
+ __asm__ __volatile__("");
+ if (wot == 204) return fn(info);
+ __asm__ __volatile__("");
+ if (wot == 205) return fn(info);
+ __asm__ __volatile__("");
+ if (wot == 206) return fn(info);
+ __asm__ __volatile__("");
+ if (wot == 207) return fn(info);
+ __asm__ __volatile__("");
+ if (wot == 208) return fn(info);
+ __asm__ __volatile__("");
+ if (wot == 209) return fn(info);
+ __asm__ __volatile__("");
+ if (wot == 210) return fn(info);
+ __asm__ __volatile__("");
+ if (wot == 211) return fn(info);
+ __asm__ __volatile__("");
+ if (wot == 212) return fn(info);
+ __asm__ __volatile__("");
+ if (wot == 213) return fn(info);
+ __asm__ __volatile__("");
+ if (wot == 214) return fn(info);
+ __asm__ __volatile__("");
+ if (wot == 215) return fn(info);
+ __asm__ __volatile__("");
+ if (wot == 216) return fn(info);
+ __asm__ __volatile__("");
+ if (wot == 217) return fn(info);
+ __asm__ __volatile__("");
+ if (wot == 218) return fn(info);
+ __asm__ __volatile__("");
+ if (wot == 219) return fn(info);
+ __asm__ __volatile__("");
+ if (wot == 220) return fn(info);
+ __asm__ __volatile__("");
+ if (wot == 221) return fn(info);
+ __asm__ __volatile__("");
+ if (wot == 222) return fn(info);
+ __asm__ __volatile__("");
+ if (wot == 223) return fn(info);
+ __asm__ __volatile__("");
+ if (wot == 224) return fn(info);
+ __asm__ __volatile__("");
+ if (wot == 225) return fn(info);
+ __asm__ __volatile__("");
+ if (wot == 226) return fn(info);
+ __asm__ __volatile__("");
+ if (wot == 227) return fn(info);
+ __asm__ __volatile__("");
+ if (wot == 228) return fn(info);
+ __asm__ __volatile__("");
+ if (wot == 229) return fn(info);
+ __asm__ __volatile__("");
+ if (wot == 230) return fn(info);
+ __asm__ __volatile__("");
+ if (wot == 231) return fn(info);
+ __asm__ __volatile__("");
+ if (wot == 232) return fn(info);
+ __asm__ __volatile__("");
+ if (wot == 233) return fn(info);
+ __asm__ __volatile__("");
+ if (wot == 234) return fn(info);
+ __asm__ __volatile__("");
+ if (wot == 235) return fn(info);
+ __asm__ __volatile__("");
+ if (wot == 236) return fn(info);
+ __asm__ __volatile__("");
+ if (wot == 237) return fn(info);
+ __asm__ __volatile__("");
+ if (wot == 238) return fn(info);
+ __asm__ __volatile__("");
+ if (wot == 239) return fn(info);
+ __asm__ __volatile__("");
+ if (wot == 240) return fn(info);
+ __asm__ __volatile__("");
+ if (wot == 241) return fn(info);
+ __asm__ __volatile__("");
+ if (wot == 242) return fn(info);
+ __asm__ __volatile__("");
+ if (wot == 243) return fn(info);
+ __asm__ __volatile__("");
+ if (wot == 244) return fn(info);
+ __asm__ __volatile__("");
+ if (wot == 245) return fn(info);
+ __asm__ __volatile__("");
+ if (wot == 246) return fn(info);
+ __asm__ __volatile__("");
+ if (wot == 247) return fn(info);
+ __asm__ __volatile__("");
+ if (wot == 248) return fn(info);
+ __asm__ __volatile__("");
+ if (wot == 249) return fn(info);
+ __asm__ __volatile__("");
+ if (wot == 250) return fn(info);
+ __asm__ __volatile__("");
+ if (wot == 251) return fn(info);
+ __asm__ __volatile__("");
+ if (wot == 252) return fn(info);
+ __asm__ __volatile__("");
+ if (wot == 253) return fn(info);
+ __asm__ __volatile__("");
+ if (wot == 254) return fn(info);
+ __asm__ __volatile__("");
+ if (wot == 255) return fn(info);
+ __asm__ __volatile__("");
+ if (wot == 256) return fn(info);
+ __asm__ __volatile__("");
+ if (wot == 257) return fn(info);
+ __asm__ __volatile__("");
+ if (wot == 258) return fn(info);
+ __asm__ __volatile__("");
+ if (wot == 259) return fn(info);
+ __asm__ __volatile__("");
+ if (wot == 260) return fn(info);
+ __asm__ __volatile__("");
+ if (wot == 261) return fn(info);
+ __asm__ __volatile__("");
+ if (wot == 262) return fn(info);
+ __asm__ __volatile__("");
+ if (wot == 263) return fn(info);
+ __asm__ __volatile__("");
+ if (wot == 264) return fn(info);
+ __asm__ __volatile__("");
+ if (wot == 265) return fn(info);
+ __asm__ __volatile__("");
+ if (wot == 266) return fn(info);
+ __asm__ __volatile__("");
+ if (wot == 267) return fn(info);
+ __asm__ __volatile__("");
+ if (wot == 268) return fn(info);
+ __asm__ __volatile__("");
+ if (wot == 269) return fn(info);
+ __asm__ __volatile__("");
+ if (wot == 270) return fn(info);
+ __asm__ __volatile__("");
+ if (wot == 271) return fn(info);
+ __asm__ __volatile__("");
+ if (wot == 272) return fn(info);
+ __asm__ __volatile__("");
+ if (wot == 273) return fn(info);
+ __asm__ __volatile__("");
+ if (wot == 274) return fn(info);
+ __asm__ __volatile__("");
+ if (wot == 275) return fn(info);
+ __asm__ __volatile__("");
+ if (wot == 276) return fn(info);
+ __asm__ __volatile__("");
+ if (wot == 277) return fn(info);
+ __asm__ __volatile__("");
+ if (wot == 278) return fn(info);
+ __asm__ __volatile__("");
+ if (wot == 279) return fn(info);
+ __asm__ __volatile__("");
+ if (wot == 280) return fn(info);
+ __asm__ __volatile__("");
+ if (wot == 281) return fn(info);
+ __asm__ __volatile__("");
+ if (wot == 282) return fn(info);
+ __asm__ __volatile__("");
+ if (wot == 283) return fn(info);
+ __asm__ __volatile__("");
+ if (wot == 284) return fn(info);
+ __asm__ __volatile__("");
+ if (wot == 285) return fn(info);
+ __asm__ __volatile__("");
+ if (wot == 286) return fn(info);
+ __asm__ __volatile__("");
+ if (wot == 287) return fn(info);
+ __asm__ __volatile__("");
+ if (wot == 288) return fn(info);
+ __asm__ __volatile__("");
+ if (wot == 289) return fn(info);
+ __asm__ __volatile__("");
+ if (wot == 290) return fn(info);
+ __asm__ __volatile__("");
+ if (wot == 291) return fn(info);
+ __asm__ __volatile__("");
+ if (wot == 292) return fn(info);
+ __asm__ __volatile__("");
+ if (wot == 293) return fn(info);
+ __asm__ __volatile__("");
+ if (wot == 294) return fn(info);
+ __asm__ __volatile__("");
+ if (wot == 295) return fn(info);
+ __asm__ __volatile__("");
+ if (wot == 296) return fn(info);
+ __asm__ __volatile__("");
+ if (wot == 297) return fn(info);
+ __asm__ __volatile__("");
+ if (wot == 298) return fn(info);
+ __asm__ __volatile__("");
+ if (wot == 299) return fn(info);
+ __asm__ __volatile__("");
+ if (wot == 300) return fn(info);
+ __asm__ __volatile__("");
+ if (wot == 301) return fn(info);
+ __asm__ __volatile__("");
+ if (wot == 302) return fn(info);
+ __asm__ __volatile__("");
+ if (wot == 303) return fn(info);
+ __asm__ __volatile__("");
+ if (wot == 304) return fn(info);
+ __asm__ __volatile__("");
+ if (wot == 305) return fn(info);
+ __asm__ __volatile__("");
+ if (wot == 306) return fn(info);
+ __asm__ __volatile__("");
+ if (wot == 307) return fn(info);
+ __asm__ __volatile__("");
+ if (wot == 308) return fn(info);
+ __asm__ __volatile__("");
+ if (wot == 309) return fn(info);
+ __asm__ __volatile__("");
+ if (wot == 310) return fn(info);
+ __asm__ __volatile__("");
+ if (wot == 311) return fn(info);
+ __asm__ __volatile__("");
+ if (wot == 312) return fn(info);
+ __asm__ __volatile__("");
+ if (wot == 313) return fn(info);
+ __asm__ __volatile__("");
+ if (wot == 314) return fn(info);
+ __asm__ __volatile__("");
+ if (wot == 315) return fn(info);
+ __asm__ __volatile__("");
+ if (wot == 316) return fn(info);
+ __asm__ __volatile__("");
+ if (wot == 317) return fn(info);
+ __asm__ __volatile__("");
+ if (wot == 318) return fn(info);
+ __asm__ __volatile__("");
+ if (wot == 319) return fn(info);
+ __asm__ __volatile__("");
+ if (wot == 320) return fn(info);
+ __asm__ __volatile__("");
+ if (wot == 321) return fn(info);
+ __asm__ __volatile__("");
+ if (wot == 322) return fn(info);
+ __asm__ __volatile__("");
+ if (wot == 323) return fn(info);
+ __asm__ __volatile__("");
+ if (wot == 324) return fn(info);
+ __asm__ __volatile__("");
+ if (wot == 325) return fn(info);
+ __asm__ __volatile__("");
+ if (wot == 326) return fn(info);
+ __asm__ __volatile__("");
+ if (wot == 327) return fn(info);
+ __asm__ __volatile__("");
+ if (wot == 328) return fn(info);
+ __asm__ __volatile__("");
+ if (wot == 329) return fn(info);
+ __asm__ __volatile__("");
+ if (wot == 330) return fn(info);
+ __asm__ __volatile__("");
+ if (wot == 331) return fn(info);
+ __asm__ __volatile__("");
+ if (wot == 332) return fn(info);
+ __asm__ __volatile__("");
+ if (wot == 333) return fn(info);
+ __asm__ __volatile__("");
+ if (wot == 334) return fn(info);
+ __asm__ __volatile__("");
+ if (wot == 335) return fn(info);
+ __asm__ __volatile__("");
+ if (wot == 336) return fn(info);
+ __asm__ __volatile__("");
+ if (wot == 337) return fn(info);
+ __asm__ __volatile__("");
+ if (wot == 338) return fn(info);
+ __asm__ __volatile__("");
+ if (wot == 339) return fn(info);
+ __asm__ __volatile__("");
+ if (wot == 340) return fn(info);
+ __asm__ __volatile__("");
+ if (wot == 341) return fn(info);
+ __asm__ __volatile__("");
+ if (wot == 342) return fn(info);
+ __asm__ __volatile__("");
+ if (wot == 343) return fn(info);
+ __asm__ __volatile__("");
+ if (wot == 344) return fn(info);
+ __asm__ __volatile__("");
+ if (wot == 345) return fn(info);
+ __asm__ __volatile__("");
+ if (wot == 346) return fn(info);
+ __asm__ __volatile__("");
+ if (wot == 347) return fn(info);
+ __asm__ __volatile__("");
+ if (wot == 348) return fn(info);
+ __asm__ __volatile__("");
+ if (wot == 349) return fn(info);
+ __asm__ __volatile__("");
+ if (wot == 350) return fn(info);
+ __asm__ __volatile__("");
+ if (wot == 351) return fn(info);
+ __asm__ __volatile__("");
+ if (wot == 352) return fn(info);
+ __asm__ __volatile__("");
+ if (wot == 353) return fn(info);
+ __asm__ __volatile__("");
+ if (wot == 354) return fn(info);
+ __asm__ __volatile__("");
+ if (wot == 355) return fn(info);
+ __asm__ __volatile__("");
+ if (wot == 356) return fn(info);
+ __asm__ __volatile__("");
+ if (wot == 357) return fn(info);
+ __asm__ __volatile__("");
+ if (wot == 358) return fn(info);
+ __asm__ __volatile__("");
+ if (wot == 359) return fn(info);
+ __asm__ __volatile__("");
+ if (wot == 360) return fn(info);
+ __asm__ __volatile__("");
+ if (wot == 361) return fn(info);
+ __asm__ __volatile__("");
+ if (wot == 362) return fn(info);
+ __asm__ __volatile__("");
+ if (wot == 363) return fn(info);
+ __asm__ __volatile__("");
+ if (wot == 364) return fn(info);
+ __asm__ __volatile__("");
+ if (wot == 365) return fn(info);
+ __asm__ __volatile__("");
+ if (wot == 366) return fn(info);
+ __asm__ __volatile__("");
+ if (wot == 367) return fn(info);
+ __asm__ __volatile__("");
+ if (wot == 368) return fn(info);
+ __asm__ __volatile__("");
+ if (wot == 369) return fn(info);
+ __asm__ __volatile__("");
+ if (wot == 370) return fn(info);
+ __asm__ __volatile__("");
+ if (wot == 371) return fn(info);
+ __asm__ __volatile__("");
+ if (wot == 372) return fn(info);
+ __asm__ __volatile__("");
+ if (wot == 373) return fn(info);
+ __asm__ __volatile__("");
+ if (wot == 374) return fn(info);
+ __asm__ __volatile__("");
+ if (wot == 375) return fn(info);
+ __asm__ __volatile__("");
+ if (wot == 376) return fn(info);
+ __asm__ __volatile__("");
+ if (wot == 377) return fn(info);
+ __asm__ __volatile__("");
+ if (wot == 378) return fn(info);
+ __asm__ __volatile__("");
+ if (wot == 379) return fn(info);
+ __asm__ __volatile__("");
+ if (wot == 380) return fn(info);
+ __asm__ __volatile__("");
+ if (wot == 381) return fn(info);
+ __asm__ __volatile__("");
+ if (wot == 382) return fn(info);
+ __asm__ __volatile__("");
+ if (wot == 383) return fn(info);
+ __asm__ __volatile__("");
+ if (wot == 384) return fn(info);
+ __asm__ __volatile__("");
+ if (wot == 385) return fn(info);
+ __asm__ __volatile__("");
+ if (wot == 386) return fn(info);
+ __asm__ __volatile__("");
+ if (wot == 387) return fn(info);
+ __asm__ __volatile__("");
+ if (wot == 388) return fn(info);
+ __asm__ __volatile__("");
+ if (wot == 389) return fn(info);
+ __asm__ __volatile__("");
+ if (wot == 390) return fn(info);
+ __asm__ __volatile__("");
+ if (wot == 391) return fn(info);
+ __asm__ __volatile__("");
+ if (wot == 392) return fn(info);
+ __asm__ __volatile__("");
+ if (wot == 393) return fn(info);
+ __asm__ __volatile__("");
+ if (wot == 394) return fn(info);
+ __asm__ __volatile__("");
+ if (wot == 395) return fn(info);
+ __asm__ __volatile__("");
+ if (wot == 396) return fn(info);
+ __asm__ __volatile__("");
+ if (wot == 397) return fn(info);
+ __asm__ __volatile__("");
+ if (wot == 398) return fn(info);
+ __asm__ __volatile__("");
+ if (wot == 399) return fn(info);
+ __asm__ __volatile__("");
+ if (wot == 400) return fn(info);
+ __asm__ __volatile__("");
+ if (wot == 401) return fn(info);
+ __asm__ __volatile__("");
+ if (wot == 402) return fn(info);
+ __asm__ __volatile__("");
+ if (wot == 403) return fn(info);
+ __asm__ __volatile__("");
+ if (wot == 404) return fn(info);
+ __asm__ __volatile__("");
+ if (wot == 405) return fn(info);
+ __asm__ __volatile__("");
+ if (wot == 406) return fn(info);
+ __asm__ __volatile__("");
+ if (wot == 407) return fn(info);
+ __asm__ __volatile__("");
+ if (wot == 408) return fn(info);
+ __asm__ __volatile__("");
+ if (wot == 409) return fn(info);
+ __asm__ __volatile__("");
+ if (wot == 410) return fn(info);
+ __asm__ __volatile__("");
+ if (wot == 411) return fn(info);
+ __asm__ __volatile__("");
+ if (wot == 412) return fn(info);
+ __asm__ __volatile__("");
+ if (wot == 413) return fn(info);
+ __asm__ __volatile__("");
+ if (wot == 414) return fn(info);
+ __asm__ __volatile__("");
+ if (wot == 415) return fn(info);
+ __asm__ __volatile__("");
+ if (wot == 416) return fn(info);
+ __asm__ __volatile__("");
+ if (wot == 417) return fn(info);
+ __asm__ __volatile__("");
+ if (wot == 418) return fn(info);
+ __asm__ __volatile__("");
+ if (wot == 419) return fn(info);
+ __asm__ __volatile__("");
+ if (wot == 420) return fn(info);
+ __asm__ __volatile__("");
+ if (wot == 421) return fn(info);
+ __asm__ __volatile__("");
+ if (wot == 422) return fn(info);
+ __asm__ __volatile__("");
+ if (wot == 423) return fn(info);
+ __asm__ __volatile__("");
+ if (wot == 424) return fn(info);
+ __asm__ __volatile__("");
+ if (wot == 425) return fn(info);
+ __asm__ __volatile__("");
+ if (wot == 426) return fn(info);
+ __asm__ __volatile__("");
+ if (wot == 427) return fn(info);
+ __asm__ __volatile__("");
+ if (wot == 428) return fn(info);
+ __asm__ __volatile__("");
+ if (wot == 429) return fn(info);
+ __asm__ __volatile__("");
+ if (wot == 430) return fn(info);
+ __asm__ __volatile__("");
+ if (wot == 431) return fn(info);
+ __asm__ __volatile__("");
+ if (wot == 432) return fn(info);
+ __asm__ __volatile__("");
+ if (wot == 433) return fn(info);
+ __asm__ __volatile__("");
+ if (wot == 434) return fn(info);
+ __asm__ __volatile__("");
+ if (wot == 435) return fn(info);
+ __asm__ __volatile__("");
+ if (wot == 436) return fn(info);
+ __asm__ __volatile__("");
+ if (wot == 437) return fn(info);
+ __asm__ __volatile__("");
+ if (wot == 438) return fn(info);
+ __asm__ __volatile__("");
+ if (wot == 439) return fn(info);
+ __asm__ __volatile__("");
+ if (wot == 440) return fn(info);
+ __asm__ __volatile__("");
+ if (wot == 441) return fn(info);
+ __asm__ __volatile__("");
+ if (wot == 442) return fn(info);
+ __asm__ __volatile__("");
+ if (wot == 443) return fn(info);
+ __asm__ __volatile__("");
+ if (wot == 444) return fn(info);
+ __asm__ __volatile__("");
+ if (wot == 445) return fn(info);
+ __asm__ __volatile__("");
+ if (wot == 446) return fn(info);
+ __asm__ __volatile__("");
+ if (wot == 447) return fn(info);
+ __asm__ __volatile__("");
+ if (wot == 448) return fn(info);
+ __asm__ __volatile__("");
+ if (wot == 449) return fn(info);
+ __asm__ __volatile__("");
+ if (wot == 450) return fn(info);
+ __asm__ __volatile__("");
+ if (wot == 451) return fn(info);
+ __asm__ __volatile__("");
+ if (wot == 452) return fn(info);
+ __asm__ __volatile__("");
+ if (wot == 453) return fn(info);
+ __asm__ __volatile__("");
+ if (wot == 454) return fn(info);
+ __asm__ __volatile__("");
+ if (wot == 455) return fn(info);
+ __asm__ __volatile__("");
+ if (wot == 456) return fn(info);
+ __asm__ __volatile__("");
+ if (wot == 457) return fn(info);
+ __asm__ __volatile__("");
+ if (wot == 458) return fn(info);
+ __asm__ __volatile__("");
+ if (wot == 459) return fn(info);
+ __asm__ __volatile__("");
+ if (wot == 460) return fn(info);
+ __asm__ __volatile__("");
+ if (wot == 461) return fn(info);
+ __asm__ __volatile__("");
+ if (wot == 462) return fn(info);
+ __asm__ __volatile__("");
+ if (wot == 463) return fn(info);
+ __asm__ __volatile__("");
+ if (wot == 464) return fn(info);
+ __asm__ __volatile__("");
+ if (wot == 465) return fn(info);
+ __asm__ __volatile__("");
+ if (wot == 466) return fn(info);
+ __asm__ __volatile__("");
+ if (wot == 467) return fn(info);
+ __asm__ __volatile__("");
+ if (wot == 468) return fn(info);
+ __asm__ __volatile__("");
+ if (wot == 469) return fn(info);
+ __asm__ __volatile__("");
+ if (wot == 470) return fn(info);
+ __asm__ __volatile__("");
+ if (wot == 471) return fn(info);
+ __asm__ __volatile__("");
+ if (wot == 472) return fn(info);
+ __asm__ __volatile__("");
+ if (wot == 473) return fn(info);
+ __asm__ __volatile__("");
+ if (wot == 474) return fn(info);
+ __asm__ __volatile__("");
+ if (wot == 475) return fn(info);
+ __asm__ __volatile__("");
+ if (wot == 476) return fn(info);
+ __asm__ __volatile__("");
+ if (wot == 477) return fn(info);
+ __asm__ __volatile__("");
+ if (wot == 478) return fn(info);
+ __asm__ __volatile__("");
+ if (wot == 479) return fn(info);
+ __asm__ __volatile__("");
+ if (wot == 480) return fn(info);
+ __asm__ __volatile__("");
+ if (wot == 481) return fn(info);
+ __asm__ __volatile__("");
+ if (wot == 482) return fn(info);
+ __asm__ __volatile__("");
+ if (wot == 483) return fn(info);
+ __asm__ __volatile__("");
+ if (wot == 484) return fn(info);
+ __asm__ __volatile__("");
+ if (wot == 485) return fn(info);
+ __asm__ __volatile__("");
+ if (wot == 486) return fn(info);
+ __asm__ __volatile__("");
+ if (wot == 487) return fn(info);
+ __asm__ __volatile__("");
+ if (wot == 488) return fn(info);
+ __asm__ __volatile__("");
+ if (wot == 489) return fn(info);
+ __asm__ __volatile__("");
+ if (wot == 490) return fn(info);
+ __asm__ __volatile__("");
+ if (wot == 491) return fn(info);
+ __asm__ __volatile__("");
+ if (wot == 492) return fn(info);
+ __asm__ __volatile__("");
+ if (wot == 493) return fn(info);
+ __asm__ __volatile__("");
+ if (wot == 494) return fn(info);
+ __asm__ __volatile__("");
+ if (wot == 495) return fn(info);
+ __asm__ __volatile__("");
+ if (wot == 496) return fn(info);
+ __asm__ __volatile__("");
+ if (wot == 497) return fn(info);
+ __asm__ __volatile__("");
+ if (wot == 498) return fn(info);
+ __asm__ __volatile__("");
+ if (wot == 499) return fn(info);
+ __asm__ __volatile__("");
+ halfway:
+ if (wot == 500) return fn(info);
+ __asm__ __volatile__("");
+ if (wot == 501) return fn(info);
+ __asm__ __volatile__("");
+ if (wot == 502) return fn(info);
+ __asm__ __volatile__("");
+ if (wot == 503) return fn(info);
+ __asm__ __volatile__("");
+ if (wot == 504) return fn(info);
+ __asm__ __volatile__("");
+ if (wot == 505) return fn(info);
+ __asm__ __volatile__("");
+ if (wot == 506) return fn(info);
+ __asm__ __volatile__("");
+ if (wot == 507) return fn(info);
+ __asm__ __volatile__("");
+ if (wot == 508) return fn(info);
+ __asm__ __volatile__("");
+ if (wot == 509) return fn(info);
+ __asm__ __volatile__("");
+ if (wot == 510) return fn(info);
+ __asm__ __volatile__("");
+ if (wot == 511) return fn(info);
+ __asm__ __volatile__("");
+ if (wot == 512) return fn(info);
+ __asm__ __volatile__("");
+ if (wot == 513) return fn(info);
+ __asm__ __volatile__("");
+ if (wot == 514) return fn(info);
+ __asm__ __volatile__("");
+ if (wot == 515) return fn(info);
+ __asm__ __volatile__("");
+ if (wot == 516) return fn(info);
+ __asm__ __volatile__("");
+ if (wot == 517) return fn(info);
+ __asm__ __volatile__("");
+ if (wot == 518) return fn(info);
+ __asm__ __volatile__("");
+ if (wot == 519) return fn(info);
+ __asm__ __volatile__("");
+ if (wot == 520) return fn(info);
+ __asm__ __volatile__("");
+ if (wot == 521) return fn(info);
+ __asm__ __volatile__("");
+ if (wot == 522) return fn(info);
+ __asm__ __volatile__("");
+ if (wot == 523) return fn(info);
+ __asm__ __volatile__("");
+ if (wot == 524) return fn(info);
+ __asm__ __volatile__("");
+ if (wot == 525) return fn(info);
+ __asm__ __volatile__("");
+ if (wot == 526) return fn(info);
+ __asm__ __volatile__("");
+ if (wot == 527) return fn(info);
+ __asm__ __volatile__("");
+ if (wot == 528) return fn(info);
+ __asm__ __volatile__("");
+ if (wot == 529) return fn(info);
+ __asm__ __volatile__("");
+ if (wot == 530) return fn(info);
+ __asm__ __volatile__("");
+ if (wot == 531) return fn(info);
+ __asm__ __volatile__("");
+ if (wot == 532) return fn(info);
+ __asm__ __volatile__("");
+ if (wot == 533) return fn(info);
+ __asm__ __volatile__("");
+ if (wot == 534) return fn(info);
+ __asm__ __volatile__("");
+ if (wot == 535) return fn(info);
+ __asm__ __volatile__("");
+ if (wot == 536) return fn(info);
+ __asm__ __volatile__("");
+ if (wot == 537) return fn(info);
+ __asm__ __volatile__("");
+ if (wot == 538) return fn(info);
+ __asm__ __volatile__("");
+ if (wot == 539) return fn(info);
+ __asm__ __volatile__("");
+ if (wot == 540) return fn(info);
+ __asm__ __volatile__("");
+ if (wot == 541) return fn(info);
+ __asm__ __volatile__("");
+ if (wot == 542) return fn(info);
+ __asm__ __volatile__("");
+ if (wot == 543) return fn(info);
+ __asm__ __volatile__("");
+ if (wot == 544) return fn(info);
+ __asm__ __volatile__("");
+ if (wot == 545) return fn(info);
+ __asm__ __volatile__("");
+ if (wot == 546) return fn(info);
+ __asm__ __volatile__("");
+ if (wot == 547) return fn(info);
+ __asm__ __volatile__("");
+ if (wot == 548) return fn(info);
+ __asm__ __volatile__("");
+ if (wot == 549) return fn(info);
+ __asm__ __volatile__("");
+ if (wot == 550) return fn(info);
+ __asm__ __volatile__("");
+ if (wot == 551) return fn(info);
+ __asm__ __volatile__("");
+ if (wot == 552) return fn(info);
+ __asm__ __volatile__("");
+ if (wot == 553) return fn(info);
+ __asm__ __volatile__("");
+ if (wot == 554) return fn(info);
+ __asm__ __volatile__("");
+ if (wot == 555) return fn(info);
+ __asm__ __volatile__("");
+ if (wot == 556) return fn(info);
+ __asm__ __volatile__("");
+ if (wot == 557) return fn(info);
+ __asm__ __volatile__("");
+ if (wot == 558) return fn(info);
+ __asm__ __volatile__("");
+ if (wot == 559) return fn(info);
+ __asm__ __volatile__("");
+ if (wot == 560) return fn(info);
+ __asm__ __volatile__("");
+ if (wot == 561) return fn(info);
+ __asm__ __volatile__("");
+ if (wot == 562) return fn(info);
+ __asm__ __volatile__("");
+ if (wot == 563) return fn(info);
+ __asm__ __volatile__("");
+ if (wot == 564) return fn(info);
+ __asm__ __volatile__("");
+ if (wot == 565) return fn(info);
+ __asm__ __volatile__("");
+ if (wot == 566) return fn(info);
+ __asm__ __volatile__("");
+ if (wot == 567) return fn(info);
+ __asm__ __volatile__("");
+ if (wot == 568) return fn(info);
+ __asm__ __volatile__("");
+ if (wot == 569) return fn(info);
+ __asm__ __volatile__("");
+ if (wot == 570) return fn(info);
+ __asm__ __volatile__("");
+ if (wot == 571) return fn(info);
+ __asm__ __volatile__("");
+ if (wot == 572) return fn(info);
+ __asm__ __volatile__("");
+ if (wot == 573) return fn(info);
+ __asm__ __volatile__("");
+ if (wot == 574) return fn(info);
+ __asm__ __volatile__("");
+ if (wot == 575) return fn(info);
+ __asm__ __volatile__("");
+ if (wot == 576) return fn(info);
+ __asm__ __volatile__("");
+ if (wot == 577) return fn(info);
+ __asm__ __volatile__("");
+ if (wot == 578) return fn(info);
+ __asm__ __volatile__("");
+ if (wot == 579) return fn(info);
+ __asm__ __volatile__("");
+ if (wot == 580) return fn(info);
+ __asm__ __volatile__("");
+ if (wot == 581) return fn(info);
+ __asm__ __volatile__("");
+ if (wot == 582) return fn(info);
+ __asm__ __volatile__("");
+ if (wot == 583) return fn(info);
+ __asm__ __volatile__("");
+ if (wot == 584) return fn(info);
+ __asm__ __volatile__("");
+ if (wot == 585) return fn(info);
+ __asm__ __volatile__("");
+ if (wot == 586) return fn(info);
+ __asm__ __volatile__("");
+ if (wot == 587) return fn(info);
+ __asm__ __volatile__("");
+ if (wot == 588) return fn(info);
+ __asm__ __volatile__("");
+ if (wot == 589) return fn(info);
+ __asm__ __volatile__("");
+ if (wot == 590) return fn(info);
+ __asm__ __volatile__("");
+ if (wot == 591) return fn(info);
+ __asm__ __volatile__("");
+ if (wot == 592) return fn(info);
+ __asm__ __volatile__("");
+ if (wot == 593) return fn(info);
+ __asm__ __volatile__("");
+ if (wot == 594) return fn(info);
+ __asm__ __volatile__("");
+ if (wot == 595) return fn(info);
+ __asm__ __volatile__("");
+ if (wot == 596) return fn(info);
+ __asm__ __volatile__("");
+ if (wot == 597) return fn(info);
+ __asm__ __volatile__("");
+ if (wot == 598) return fn(info);
+ __asm__ __volatile__("");
+ if (wot == 599) return fn(info);
+ __asm__ __volatile__("");
+ if (wot == 600) return fn(info);
+ __asm__ __volatile__("");
+ if (wot == 601) return fn(info);
+ __asm__ __volatile__("");
+ if (wot == 602) return fn(info);
+ __asm__ __volatile__("");
+ if (wot == 603) return fn(info);
+ __asm__ __volatile__("");
+ if (wot == 604) return fn(info);
+ __asm__ __volatile__("");
+ if (wot == 605) return fn(info);
+ __asm__ __volatile__("");
+ if (wot == 606) return fn(info);
+ __asm__ __volatile__("");
+ if (wot == 607) return fn(info);
+ __asm__ __volatile__("");
+ if (wot == 608) return fn(info);
+ __asm__ __volatile__("");
+ if (wot == 609) return fn(info);
+ __asm__ __volatile__("");
+ if (wot == 610) return fn(info);
+ __asm__ __volatile__("");
+ if (wot == 611) return fn(info);
+ __asm__ __volatile__("");
+ if (wot == 612) return fn(info);
+ __asm__ __volatile__("");
+ if (wot == 613) return fn(info);
+ __asm__ __volatile__("");
+ if (wot == 614) return fn(info);
+ __asm__ __volatile__("");
+ if (wot == 615) return fn(info);
+ __asm__ __volatile__("");
+ if (wot == 616) return fn(info);
+ __asm__ __volatile__("");
+ if (wot == 617) return fn(info);
+ __asm__ __volatile__("");
+ if (wot == 618) return fn(info);
+ __asm__ __volatile__("");
+ if (wot == 619) return fn(info);
+ __asm__ __volatile__("");
+ if (wot == 620) return fn(info);
+ __asm__ __volatile__("");
+ if (wot == 621) return fn(info);
+ __asm__ __volatile__("");
+ if (wot == 622) return fn(info);
+ __asm__ __volatile__("");
+ if (wot == 623) return fn(info);
+ __asm__ __volatile__("");
+ if (wot == 624) return fn(info);
+ __asm__ __volatile__("");
+ if (wot == 625) return fn(info);
+ __asm__ __volatile__("");
+ if (wot == 626) return fn(info);
+ __asm__ __volatile__("");
+ if (wot == 627) return fn(info);
+ __asm__ __volatile__("");
+ if (wot == 628) return fn(info);
+ __asm__ __volatile__("");
+ if (wot == 629) return fn(info);
+ __asm__ __volatile__("");
+ if (wot == 630) return fn(info);
+ __asm__ __volatile__("");
+ if (wot == 631) return fn(info);
+ __asm__ __volatile__("");
+ if (wot == 632) return fn(info);
+ __asm__ __volatile__("");
+ if (wot == 633) return fn(info);
+ __asm__ __volatile__("");
+ if (wot == 634) return fn(info);
+ __asm__ __volatile__("");
+ if (wot == 635) return fn(info);
+ __asm__ __volatile__("");
+ if (wot == 636) return fn(info);
+ __asm__ __volatile__("");
+ if (wot == 637) return fn(info);
+ __asm__ __volatile__("");
+ if (wot == 638) return fn(info);
+ __asm__ __volatile__("");
+ if (wot == 639) return fn(info);
+ __asm__ __volatile__("");
+ if (wot == 640) return fn(info);
+ __asm__ __volatile__("");
+ if (wot == 641) return fn(info);
+ __asm__ __volatile__("");
+ if (wot == 642) return fn(info);
+ __asm__ __volatile__("");
+ if (wot == 643) return fn(info);
+ __asm__ __volatile__("");
+ if (wot == 644) return fn(info);
+ __asm__ __volatile__("");
+ if (wot == 645) return fn(info);
+ __asm__ __volatile__("");
+ if (wot == 646) return fn(info);
+ __asm__ __volatile__("");
+ if (wot == 647) return fn(info);
+ __asm__ __volatile__("");
+ if (wot == 648) return fn(info);
+ __asm__ __volatile__("");
+ if (wot == 649) return fn(info);
+ __asm__ __volatile__("");
+ if (wot == 650) return fn(info);
+ __asm__ __volatile__("");
+ if (wot == 651) return fn(info);
+ __asm__ __volatile__("");
+ if (wot == 652) return fn(info);
+ __asm__ __volatile__("");
+ if (wot == 653) return fn(info);
+ __asm__ __volatile__("");
+ if (wot == 654) return fn(info);
+ __asm__ __volatile__("");
+ if (wot == 655) return fn(info);
+ __asm__ __volatile__("");
+ if (wot == 656) return fn(info);
+ __asm__ __volatile__("");
+ if (wot == 657) return fn(info);
+ __asm__ __volatile__("");
+ if (wot == 658) return fn(info);
+ __asm__ __volatile__("");
+ if (wot == 659) return fn(info);
+ __asm__ __volatile__("");
+ if (wot == 660) return fn(info);
+ __asm__ __volatile__("");
+ if (wot == 661) return fn(info);
+ __asm__ __volatile__("");
+ if (wot == 662) return fn(info);
+ __asm__ __volatile__("");
+ if (wot == 663) return fn(info);
+ __asm__ __volatile__("");
+ if (wot == 664) return fn(info);
+ __asm__ __volatile__("");
+ if (wot == 665) return fn(info);
+ __asm__ __volatile__("");
+ if (wot == 666) return fn(info);
+ __asm__ __volatile__("");
+ if (wot == 667) return fn(info);
+ __asm__ __volatile__("");
+ if (wot == 668) return fn(info);
+ __asm__ __volatile__("");
+ if (wot == 669) return fn(info);
+ __asm__ __volatile__("");
+ if (wot == 670) return fn(info);
+ __asm__ __volatile__("");
+ if (wot == 671) return fn(info);
+ __asm__ __volatile__("");
+ if (wot == 672) return fn(info);
+ __asm__ __volatile__("");
+ if (wot == 673) return fn(info);
+ __asm__ __volatile__("");
+ if (wot == 674) return fn(info);
+ __asm__ __volatile__("");
+ if (wot == 675) return fn(info);
+ __asm__ __volatile__("");
+ if (wot == 676) return fn(info);
+ __asm__ __volatile__("");
+ if (wot == 677) return fn(info);
+ __asm__ __volatile__("");
+ if (wot == 678) return fn(info);
+ __asm__ __volatile__("");
+ if (wot == 679) return fn(info);
+ __asm__ __volatile__("");
+ if (wot == 680) return fn(info);
+ __asm__ __volatile__("");
+ if (wot == 681) return fn(info);
+ __asm__ __volatile__("");
+ if (wot == 682) return fn(info);
+ __asm__ __volatile__("");
+ if (wot == 683) return fn(info);
+ __asm__ __volatile__("");
+ if (wot == 684) return fn(info);
+ __asm__ __volatile__("");
+ if (wot == 685) return fn(info);
+ __asm__ __volatile__("");
+ if (wot == 686) return fn(info);
+ __asm__ __volatile__("");
+ if (wot == 687) return fn(info);
+ __asm__ __volatile__("");
+ if (wot == 688) return fn(info);
+ __asm__ __volatile__("");
+ if (wot == 689) return fn(info);
+ __asm__ __volatile__("");
+ if (wot == 690) return fn(info);
+ __asm__ __volatile__("");
+ if (wot == 691) return fn(info);
+ __asm__ __volatile__("");
+ if (wot == 692) return fn(info);
+ __asm__ __volatile__("");
+ if (wot == 693) return fn(info);
+ __asm__ __volatile__("");
+ if (wot == 694) return fn(info);
+ __asm__ __volatile__("");
+ if (wot == 695) return fn(info);
+ __asm__ __volatile__("");
+ if (wot == 696) return fn(info);
+ __asm__ __volatile__("");
+ if (wot == 697) return fn(info);
+ __asm__ __volatile__("");
+ if (wot == 698) return fn(info);
+ __asm__ __volatile__("");
+ if (wot == 699) return fn(info);
+ __asm__ __volatile__("");
+ if (wot == 700) return fn(info);
+ __asm__ __volatile__("");
+ if (wot == 701) return fn(info);
+ __asm__ __volatile__("");
+ if (wot == 702) return fn(info);
+ __asm__ __volatile__("");
+ if (wot == 703) return fn(info);
+ __asm__ __volatile__("");
+ if (wot == 704) return fn(info);
+ __asm__ __volatile__("");
+ if (wot == 705) return fn(info);
+ __asm__ __volatile__("");
+ if (wot == 706) return fn(info);
+ __asm__ __volatile__("");
+ if (wot == 707) return fn(info);
+ __asm__ __volatile__("");
+ if (wot == 708) return fn(info);
+ __asm__ __volatile__("");
+ if (wot == 709) return fn(info);
+ __asm__ __volatile__("");
+ if (wot == 710) return fn(info);
+ __asm__ __volatile__("");
+ if (wot == 711) return fn(info);
+ __asm__ __volatile__("");
+ if (wot == 712) return fn(info);
+ __asm__ __volatile__("");
+ if (wot == 713) return fn(info);
+ __asm__ __volatile__("");
+ if (wot == 714) return fn(info);
+ __asm__ __volatile__("");
+ if (wot == 715) return fn(info);
+ __asm__ __volatile__("");
+ if (wot == 716) return fn(info);
+ __asm__ __volatile__("");
+ if (wot == 717) return fn(info);
+ __asm__ __volatile__("");
+ if (wot == 718) return fn(info);
+ __asm__ __volatile__("");
+ if (wot == 719) return fn(info);
+ __asm__ __volatile__("");
+ if (wot == 720) return fn(info);
+ __asm__ __volatile__("");
+ if (wot == 721) return fn(info);
+ __asm__ __volatile__("");
+ if (wot == 722) return fn(info);
+ __asm__ __volatile__("");
+ if (wot == 723) return fn(info);
+ __asm__ __volatile__("");
+ if (wot == 724) return fn(info);
+ __asm__ __volatile__("");
+ if (wot == 725) return fn(info);
+ __asm__ __volatile__("");
+ if (wot == 726) return fn(info);
+ __asm__ __volatile__("");
+ if (wot == 727) return fn(info);
+ __asm__ __volatile__("");
+ if (wot == 728) return fn(info);
+ __asm__ __volatile__("");
+ if (wot == 729) return fn(info);
+ __asm__ __volatile__("");
+ if (wot == 730) return fn(info);
+ __asm__ __volatile__("");
+ if (wot == 731) return fn(info);
+ __asm__ __volatile__("");
+ if (wot == 732) return fn(info);
+ __asm__ __volatile__("");
+ if (wot == 733) return fn(info);
+ __asm__ __volatile__("");
+ if (wot == 734) return fn(info);
+ __asm__ __volatile__("");
+ if (wot == 735) return fn(info);
+ __asm__ __volatile__("");
+ if (wot == 736) return fn(info);
+ __asm__ __volatile__("");
+ if (wot == 737) return fn(info);
+ __asm__ __volatile__("");
+ if (wot == 738) return fn(info);
+ __asm__ __volatile__("");
+ if (wot == 739) return fn(info);
+ __asm__ __volatile__("");
+ if (wot == 740) return fn(info);
+ __asm__ __volatile__("");
+ if (wot == 741) return fn(info);
+ __asm__ __volatile__("");
+ if (wot == 742) return fn(info);
+ __asm__ __volatile__("");
+ if (wot == 743) return fn(info);
+ __asm__ __volatile__("");
+ if (wot == 744) return fn(info);
+ __asm__ __volatile__("");
+ if (wot == 745) return fn(info);
+ __asm__ __volatile__("");
+ if (wot == 746) return fn(info);
+ __asm__ __volatile__("");
+ if (wot == 747) return fn(info);
+ __asm__ __volatile__("");
+ if (wot == 748) return fn(info);
+ __asm__ __volatile__("");
+ if (wot == 749) return fn(info);
+ __asm__ __volatile__("");
+ if (wot == 750) return fn(info);
+ __asm__ __volatile__("");
+ if (wot == 751) return fn(info);
+ __asm__ __volatile__("");
+ if (wot == 752) return fn(info);
+ __asm__ __volatile__("");
+ if (wot == 753) return fn(info);
+ __asm__ __volatile__("");
+ if (wot == 754) return fn(info);
+ __asm__ __volatile__("");
+ if (wot == 755) return fn(info);
+ __asm__ __volatile__("");
+ if (wot == 756) return fn(info);
+ __asm__ __volatile__("");
+ if (wot == 757) return fn(info);
+ __asm__ __volatile__("");
+ if (wot == 758) return fn(info);
+ __asm__ __volatile__("");
+ if (wot == 759) return fn(info);
+ __asm__ __volatile__("");
+ if (wot == 760) return fn(info);
+ __asm__ __volatile__("");
+ if (wot == 761) return fn(info);
+ __asm__ __volatile__("");
+ if (wot == 762) return fn(info);
+ __asm__ __volatile__("");
+ if (wot == 763) return fn(info);
+ __asm__ __volatile__("");
+ if (wot == 764) return fn(info);
+ __asm__ __volatile__("");
+ if (wot == 765) return fn(info);
+ __asm__ __volatile__("");
+ if (wot == 766) return fn(info);
+ __asm__ __volatile__("");
+ if (wot == 767) return fn(info);
+ __asm__ __volatile__("");
+ if (wot == 768) return fn(info);
+ __asm__ __volatile__("");
+ if (wot == 769) return fn(info);
+ __asm__ __volatile__("");
+ if (wot == 770) return fn(info);
+ __asm__ __volatile__("");
+ if (wot == 771) return fn(info);
+ __asm__ __volatile__("");
+ if (wot == 772) return fn(info);
+ __asm__ __volatile__("");
+ if (wot == 773) return fn(info);
+ __asm__ __volatile__("");
+ if (wot == 774) return fn(info);
+ __asm__ __volatile__("");
+ if (wot == 775) return fn(info);
+ __asm__ __volatile__("");
+ if (wot == 776) return fn(info);
+ __asm__ __volatile__("");
+ if (wot == 777) return fn(info);
+ __asm__ __volatile__("");
+ if (wot == 778) return fn(info);
+ __asm__ __volatile__("");
+ if (wot == 779) return fn(info);
+ __asm__ __volatile__("");
+ if (wot == 780) return fn(info);
+ __asm__ __volatile__("");
+ if (wot == 781) return fn(info);
+ __asm__ __volatile__("");
+ if (wot == 782) return fn(info);
+ __asm__ __volatile__("");
+ if (wot == 783) return fn(info);
+ __asm__ __volatile__("");
+ if (wot == 784) return fn(info);
+ __asm__ __volatile__("");
+ if (wot == 785) return fn(info);
+ __asm__ __volatile__("");
+ if (wot == 786) return fn(info);
+ __asm__ __volatile__("");
+ if (wot == 787) return fn(info);
+ __asm__ __volatile__("");
+ if (wot == 788) return fn(info);
+ __asm__ __volatile__("");
+ if (wot == 789) return fn(info);
+ __asm__ __volatile__("");
+ if (wot == 790) return fn(info);
+ __asm__ __volatile__("");
+ if (wot == 791) return fn(info);
+ __asm__ __volatile__("");
+ if (wot == 792) return fn(info);
+ __asm__ __volatile__("");
+ if (wot == 793) return fn(info);
+ __asm__ __volatile__("");
+ if (wot == 794) return fn(info);
+ __asm__ __volatile__("");
+ if (wot == 795) return fn(info);
+ __asm__ __volatile__("");
+ if (wot == 796) return fn(info);
+ __asm__ __volatile__("");
+ if (wot == 797) return fn(info);
+ __asm__ __volatile__("");
+ if (wot == 798) return fn(info);
+ __asm__ __volatile__("");
+ if (wot == 799) return fn(info);
+ __asm__ __volatile__("");
+ if (wot == 800) return fn(info);
+ __asm__ __volatile__("");
+ if (wot == 801) return fn(info);
+ __asm__ __volatile__("");
+ if (wot == 802) return fn(info);
+ __asm__ __volatile__("");
+ if (wot == 803) return fn(info);
+ __asm__ __volatile__("");
+ if (wot == 804) return fn(info);
+ __asm__ __volatile__("");
+ if (wot == 805) return fn(info);
+ __asm__ __volatile__("");
+ if (wot == 806) return fn(info);
+ __asm__ __volatile__("");
+ if (wot == 807) return fn(info);
+ __asm__ __volatile__("");
+ if (wot == 808) return fn(info);
+ __asm__ __volatile__("");
+ if (wot == 809) return fn(info);
+ __asm__ __volatile__("");
+ if (wot == 810) return fn(info);
+ __asm__ __volatile__("");
+ if (wot == 811) return fn(info);
+ __asm__ __volatile__("");
+ if (wot == 812) return fn(info);
+ __asm__ __volatile__("");
+ if (wot == 813) return fn(info);
+ __asm__ __volatile__("");
+ if (wot == 814) return fn(info);
+ __asm__ __volatile__("");
+ if (wot == 815) return fn(info);
+ __asm__ __volatile__("");
+ if (wot == 816) return fn(info);
+ __asm__ __volatile__("");
+ if (wot == 817) return fn(info);
+ __asm__ __volatile__("");
+ if (wot == 818) return fn(info);
+ __asm__ __volatile__("");
+ if (wot == 819) return fn(info);
+ __asm__ __volatile__("");
+ if (wot == 820) return fn(info);
+ __asm__ __volatile__("");
+ if (wot == 821) return fn(info);
+ __asm__ __volatile__("");
+ if (wot == 822) return fn(info);
+ __asm__ __volatile__("");
+ if (wot == 823) return fn(info);
+ __asm__ __volatile__("");
+ if (wot == 824) return fn(info);
+ __asm__ __volatile__("");
+ if (wot == 825) return fn(info);
+ __asm__ __volatile__("");
+ if (wot == 826) return fn(info);
+ __asm__ __volatile__("");
+ if (wot == 827) return fn(info);
+ __asm__ __volatile__("");
+ if (wot == 828) return fn(info);
+ __asm__ __volatile__("");
+ if (wot == 829) return fn(info);
+ __asm__ __volatile__("");
+ if (wot == 830) return fn(info);
+ __asm__ __volatile__("");
+ if (wot == 831) return fn(info);
+ __asm__ __volatile__("");
+ if (wot == 832) return fn(info);
+ __asm__ __volatile__("");
+ if (wot == 833) return fn(info);
+ __asm__ __volatile__("");
+ if (wot == 834) return fn(info);
+ __asm__ __volatile__("");
+ if (wot == 835) return fn(info);
+ __asm__ __volatile__("");
+ if (wot == 836) return fn(info);
+ __asm__ __volatile__("");
+ if (wot == 837) return fn(info);
+ __asm__ __volatile__("");
+ if (wot == 838) return fn(info);
+ __asm__ __volatile__("");
+ if (wot == 839) return fn(info);
+ __asm__ __volatile__("");
+ if (wot == 840) return fn(info);
+ __asm__ __volatile__("");
+ if (wot == 841) return fn(info);
+ __asm__ __volatile__("");
+ if (wot == 842) return fn(info);
+ __asm__ __volatile__("");
+ if (wot == 843) return fn(info);
+ __asm__ __volatile__("");
+ if (wot == 844) return fn(info);
+ __asm__ __volatile__("");
+ if (wot == 845) return fn(info);
+ __asm__ __volatile__("");
+ if (wot == 846) return fn(info);
+ __asm__ __volatile__("");
+ if (wot == 847) return fn(info);
+ __asm__ __volatile__("");
+ if (wot == 848) return fn(info);
+ __asm__ __volatile__("");
+ if (wot == 849) return fn(info);
+ __asm__ __volatile__("");
+ if (wot == 850) return fn(info);
+ __asm__ __volatile__("");
+ if (wot == 851) return fn(info);
+ __asm__ __volatile__("");
+ if (wot == 852) return fn(info);
+ __asm__ __volatile__("");
+ if (wot == 853) return fn(info);
+ __asm__ __volatile__("");
+ if (wot == 854) return fn(info);
+ __asm__ __volatile__("");
+ if (wot == 855) return fn(info);
+ __asm__ __volatile__("");
+ if (wot == 856) return fn(info);
+ __asm__ __volatile__("");
+ if (wot == 857) return fn(info);
+ __asm__ __volatile__("");
+ if (wot == 858) return fn(info);
+ __asm__ __volatile__("");
+ if (wot == 859) return fn(info);
+ __asm__ __volatile__("");
+ if (wot == 860) return fn(info);
+ __asm__ __volatile__("");
+ if (wot == 861) return fn(info);
+ __asm__ __volatile__("");
+ if (wot == 862) return fn(info);
+ __asm__ __volatile__("");
+ if (wot == 863) return fn(info);
+ __asm__ __volatile__("");
+ if (wot == 864) return fn(info);
+ __asm__ __volatile__("");
+ if (wot == 865) return fn(info);
+ __asm__ __volatile__("");
+ if (wot == 866) return fn(info);
+ __asm__ __volatile__("");
+ if (wot == 867) return fn(info);
+ __asm__ __volatile__("");
+ if (wot == 868) return fn(info);
+ __asm__ __volatile__("");
+ if (wot == 869) return fn(info);
+ __asm__ __volatile__("");
+ if (wot == 870) return fn(info);
+ __asm__ __volatile__("");
+ if (wot == 871) return fn(info);
+ __asm__ __volatile__("");
+ if (wot == 872) return fn(info);
+ __asm__ __volatile__("");
+ if (wot == 873) return fn(info);
+ __asm__ __volatile__("");
+ if (wot == 874) return fn(info);
+ __asm__ __volatile__("");
+ if (wot == 875) return fn(info);
+ __asm__ __volatile__("");
+ if (wot == 876) return fn(info);
+ __asm__ __volatile__("");
+ if (wot == 877) return fn(info);
+ __asm__ __volatile__("");
+ if (wot == 878) return fn(info);
+ __asm__ __volatile__("");
+ if (wot == 879) return fn(info);
+ __asm__ __volatile__("");
+ if (wot == 880) return fn(info);
+ __asm__ __volatile__("");
+ if (wot == 881) return fn(info);
+ __asm__ __volatile__("");
+ if (wot == 882) return fn(info);
+ __asm__ __volatile__("");
+ if (wot == 883) return fn(info);
+ __asm__ __volatile__("");
+ if (wot == 884) return fn(info);
+ __asm__ __volatile__("");
+ if (wot == 885) return fn(info);
+ __asm__ __volatile__("");
+ if (wot == 886) return fn(info);
+ __asm__ __volatile__("");
+ if (wot == 887) return fn(info);
+ __asm__ __volatile__("");
+ if (wot == 888) return fn(info);
+ __asm__ __volatile__("");
+ if (wot == 889) return fn(info);
+ __asm__ __volatile__("");
+ if (wot == 890) return fn(info);
+ __asm__ __volatile__("");
+ if (wot == 891) return fn(info);
+ __asm__ __volatile__("");
+ if (wot == 892) return fn(info);
+ __asm__ __volatile__("");
+ if (wot == 893) return fn(info);
+ __asm__ __volatile__("");
+ if (wot == 894) return fn(info);
+ __asm__ __volatile__("");
+ if (wot == 895) return fn(info);
+ __asm__ __volatile__("");
+ if (wot == 896) return fn(info);
+ __asm__ __volatile__("");
+ if (wot == 897) return fn(info);
+ __asm__ __volatile__("");
+ if (wot == 898) return fn(info);
+ __asm__ __volatile__("");
+ if (wot == 899) return fn(info);
+ __asm__ __volatile__("");
+ if (wot == 900) return fn(info);
+ __asm__ __volatile__("");
+ if (wot == 901) return fn(info);
+ __asm__ __volatile__("");
+ if (wot == 902) return fn(info);
+ __asm__ __volatile__("");
+ if (wot == 903) return fn(info);
+ __asm__ __volatile__("");
+ if (wot == 904) return fn(info);
+ __asm__ __volatile__("");
+ if (wot == 905) return fn(info);
+ __asm__ __volatile__("");
+ if (wot == 906) return fn(info);
+ __asm__ __volatile__("");
+ if (wot == 907) return fn(info);
+ __asm__ __volatile__("");
+ if (wot == 908) return fn(info);
+ __asm__ __volatile__("");
+ if (wot == 909) return fn(info);
+ __asm__ __volatile__("");
+ if (wot == 910) return fn(info);
+ __asm__ __volatile__("");
+ if (wot == 911) return fn(info);
+ __asm__ __volatile__("");
+ if (wot == 912) return fn(info);
+ __asm__ __volatile__("");
+ if (wot == 913) return fn(info);
+ __asm__ __volatile__("");
+ if (wot == 914) return fn(info);
+ __asm__ __volatile__("");
+ if (wot == 915) return fn(info);
+ __asm__ __volatile__("");
+ if (wot == 916) return fn(info);
+ __asm__ __volatile__("");
+ if (wot == 917) return fn(info);
+ __asm__ __volatile__("");
+ if (wot == 918) return fn(info);
+ __asm__ __volatile__("");
+ if (wot == 919) return fn(info);
+ __asm__ __volatile__("");
+ if (wot == 920) return fn(info);
+ __asm__ __volatile__("");
+ if (wot == 921) return fn(info);
+ __asm__ __volatile__("");
+ if (wot == 922) return fn(info);
+ __asm__ __volatile__("");
+ if (wot == 923) return fn(info);
+ __asm__ __volatile__("");
+ if (wot == 924) return fn(info);
+ __asm__ __volatile__("");
+ if (wot == 925) return fn(info);
+ __asm__ __volatile__("");
+ if (wot == 926) return fn(info);
+ __asm__ __volatile__("");
+ if (wot == 927) return fn(info);
+ __asm__ __volatile__("");
+ if (wot == 928) return fn(info);
+ __asm__ __volatile__("");
+ if (wot == 929) return fn(info);
+ __asm__ __volatile__("");
+ if (wot == 930) return fn(info);
+ __asm__ __volatile__("");
+ if (wot == 931) return fn(info);
+ __asm__ __volatile__("");
+ if (wot == 932) return fn(info);
+ __asm__ __volatile__("");
+ if (wot == 933) return fn(info);
+ __asm__ __volatile__("");
+ if (wot == 934) return fn(info);
+ __asm__ __volatile__("");
+ if (wot == 935) return fn(info);
+ __asm__ __volatile__("");
+ if (wot == 936) return fn(info);
+ __asm__ __volatile__("");
+ if (wot == 937) return fn(info);
+ __asm__ __volatile__("");
+ if (wot == 938) return fn(info);
+ __asm__ __volatile__("");
+ if (wot == 939) return fn(info);
+ __asm__ __volatile__("");
+ if (wot == 940) return fn(info);
+ __asm__ __volatile__("");
+ if (wot == 941) return fn(info);
+ __asm__ __volatile__("");
+ if (wot == 942) return fn(info);
+ __asm__ __volatile__("");
+ if (wot == 943) return fn(info);
+ __asm__ __volatile__("");
+ if (wot == 944) return fn(info);
+ __asm__ __volatile__("");
+ if (wot == 945) return fn(info);
+ __asm__ __volatile__("");
+ if (wot == 946) return fn(info);
+ __asm__ __volatile__("");
+ if (wot == 947) return fn(info);
+ __asm__ __volatile__("");
+ if (wot == 948) return fn(info);
+ __asm__ __volatile__("");
+ if (wot == 949) return fn(info);
+ __asm__ __volatile__("");
+ if (wot == 950) return fn(info);
+ __asm__ __volatile__("");
+ if (wot == 951) return fn(info);
+ __asm__ __volatile__("");
+ if (wot == 952) return fn(info);
+ __asm__ __volatile__("");
+ if (wot == 953) return fn(info);
+ __asm__ __volatile__("");
+ if (wot == 954) return fn(info);
+ __asm__ __volatile__("");
+ if (wot == 955) return fn(info);
+ __asm__ __volatile__("");
+ if (wot == 956) return fn(info);
+ __asm__ __volatile__("");
+ if (wot == 957) return fn(info);
+ __asm__ __volatile__("");
+ if (wot == 958) return fn(info);
+ __asm__ __volatile__("");
+ if (wot == 959) return fn(info);
+ __asm__ __volatile__("");
+ if (wot == 960) return fn(info);
+ __asm__ __volatile__("");
+ if (wot == 961) return fn(info);
+ __asm__ __volatile__("");
+ if (wot == 962) return fn(info);
+ __asm__ __volatile__("");
+ if (wot == 963) return fn(info);
+ __asm__ __volatile__("");
+ if (wot == 964) return fn(info);
+ __asm__ __volatile__("");
+ if (wot == 965) return fn(info);
+ __asm__ __volatile__("");
+ if (wot == 966) return fn(info);
+ __asm__ __volatile__("");
+ if (wot == 967) return fn(info);
+ __asm__ __volatile__("");
+ if (wot == 968) return fn(info);
+ __asm__ __volatile__("");
+ if (wot == 969) return fn(info);
+ __asm__ __volatile__("");
+ if (wot == 970) return fn(info);
+ __asm__ __volatile__("");
+ if (wot == 971) return fn(info);
+ __asm__ __volatile__("");
+ if (wot == 972) return fn(info);
+ __asm__ __volatile__("");
+ if (wot == 973) return fn(info);
+ __asm__ __volatile__("");
+ if (wot == 974) return fn(info);
+ __asm__ __volatile__("");
+ if (wot == 975) return fn(info);
+ __asm__ __volatile__("");
+ if (wot == 976) return fn(info);
+ __asm__ __volatile__("");
+ if (wot == 977) return fn(info);
+ __asm__ __volatile__("");
+ if (wot == 978) return fn(info);
+ __asm__ __volatile__("");
+ if (wot == 979) return fn(info);
+ __asm__ __volatile__("");
+ if (wot == 980) return fn(info);
+ __asm__ __volatile__("");
+ if (wot == 981) return fn(info);
+ __asm__ __volatile__("");
+ if (wot == 982) return fn(info);
+ __asm__ __volatile__("");
+ if (wot == 983) return fn(info);
+ __asm__ __volatile__("");
+ if (wot == 984) return fn(info);
+ __asm__ __volatile__("");
+ if (wot == 985) return fn(info);
+ __asm__ __volatile__("");
+ if (wot == 986) return fn(info);
+ __asm__ __volatile__("");
+ if (wot == 987) return fn(info);
+ __asm__ __volatile__("");
+ if (wot == 988) return fn(info);
+ __asm__ __volatile__("");
+ if (wot == 989) return fn(info);
+ __asm__ __volatile__("");
+ if (wot == 990) return fn(info);
+ __asm__ __volatile__("");
+ if (wot == 991) return fn(info);
+ __asm__ __volatile__("");
+ if (wot == 992) return fn(info);
+ __asm__ __volatile__("");
+ if (wot == 993) return fn(info);
+ __asm__ __volatile__("");
+ if (wot == 994) return fn(info);
+ __asm__ __volatile__("");
+ if (wot == 995) return fn(info);
+ __asm__ __volatile__("");
+ if (wot == 996) return fn(info);
+ __asm__ __volatile__("");
+ if (wot == 997) return fn(info);
+ __asm__ __volatile__("");
+ if (wot == 998) return fn(info);
+ __asm__ __volatile__("");
+ if (wot == 999) return fn(info);
+ __asm__ __volatile__("");
+ assert(0);
+ return 0; /* keep gcc happy on AIX */
+}
diff --git a/helgrind/tests/.svn/text-base/tc19_shadowmem.stderr.exp.svn-base b/helgrind/tests/.svn/text-base/tc19_shadowmem.stderr.exp.svn-base
new file mode 100644
index 0000000..1e580d2
--- /dev/null
+++ b/helgrind/tests/.svn/text-base/tc19_shadowmem.stderr.exp.svn-base
@@ -0,0 +1,15304 @@
+
+
+===========================================================
+=== 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 ===
+===========================================================
+
+---------- char gran, 0 .. 99, skip 0 ----------
+Thread #x was created
+ ...
+ by 0x........: pthread_create@* (hg_intercepts.c:...)
+ by 0x........: main (tc19_shadowmem.c:173)
+
+Thread #x was created
+ ...
+ by 0x........: pthread_create@* (hg_intercepts.c:...)
+ by 0x........: main (tc19_shadowmem.c:172)
+
+Possible data race during write of size 1 at 0x........ by thread #x
+ at 0x........: child8 (tc19_shadowmem.c:33)
+ by 0x........: steer (tc19_shadowmem.c:288)
+ by 0x........: mythread_wrapper (hg_intercepts.c:...)
+ ...
+ This conflicts with a previous write of size 1 by thread #x
+ at 0x........: child8 (tc19_shadowmem.c:33)
+ by 0x........: steer (tc19_shadowmem.c:288)
+ by 0x........: mythread_wrapper (hg_intercepts.c:...)
+ ...
+---------- char gran, 0 .. 99, skip 1 ----------
+
+Thread #x was created
+ ...
+ by 0x........: pthread_create@* (hg_intercepts.c:...)
+ by 0x........: main (tc19_shadowmem.c:173)
+
+Thread #x was created
+ ...
+ by 0x........: pthread_create@* (hg_intercepts.c:...)
+ by 0x........: main (tc19_shadowmem.c:172)
+
+Possible data race during write of size 1 at 0x........ by thread #x
+ at 0x........: child8 (tc19_shadowmem.c:33)
+ by 0x........: steer (tc19_shadowmem.c:290)
+ by 0x........: mythread_wrapper (hg_intercepts.c:...)
+ ...
+ This conflicts with a previous write of size 1 by thread #x
+ at 0x........: child8 (tc19_shadowmem.c:33)
+ by 0x........: steer (tc19_shadowmem.c:290)
+ by 0x........: mythread_wrapper (hg_intercepts.c:...)
+ ...
+---------- char gran, 0 .. 99, skip 2 ----------
+
+Thread #x was created
+ ...
+ by 0x........: pthread_create@* (hg_intercepts.c:...)
+ by 0x........: main (tc19_shadowmem.c:173)
+
+Thread #x was created
+ ...
+ by 0x........: pthread_create@* (hg_intercepts.c:...)
+ by 0x........: main (tc19_shadowmem.c:172)
+
+Possible data race during write of size 1 at 0x........ by thread #x
+ at 0x........: child8 (tc19_shadowmem.c:33)
+ by 0x........: steer (tc19_shadowmem.c:292)
+ by 0x........: mythread_wrapper (hg_intercepts.c:...)
+ ...
+ This conflicts with a previous write of size 1 by thread #x
+ at 0x........: child8 (tc19_shadowmem.c:33)
+ by 0x........: steer (tc19_shadowmem.c:292)
+ by 0x........: mythread_wrapper (hg_intercepts.c:...)
+ ...
+---------- char gran, 0 .. 99, skip 3 ----------
+
+Thread #x was created
+ ...
+ by 0x........: pthread_create@* (hg_intercepts.c:...)
+ by 0x........: main (tc19_shadowmem.c:173)
+
+Thread #x was created
+ ...
+ by 0x........: pthread_create@* (hg_intercepts.c:...)
+ by 0x........: main (tc19_shadowmem.c:172)
+
+Possible data race during write of size 1 at 0x........ by thread #x
+ at 0x........: child8 (tc19_shadowmem.c:33)
+ by 0x........: steer (tc19_shadowmem.c:294)
+ by 0x........: mythread_wrapper (hg_intercepts.c:...)
+ ...
+ This conflicts with a previous write of size 1 by thread #x
+ at 0x........: child8 (tc19_shadowmem.c:33)
+ by 0x........: steer (tc19_shadowmem.c:294)
+ by 0x........: mythread_wrapper (hg_intercepts.c:...)
+ ...
+---------- char gran, 0 .. 99, skip 4 ----------
+
+Thread #x was created
+ ...
+ by 0x........: pthread_create@* (hg_intercepts.c:...)
+ by 0x........: main (tc19_shadowmem.c:173)
+
+Thread #x was created
+ ...
+ by 0x........: pthread_create@* (hg_intercepts.c:...)
+ by 0x........: main (tc19_shadowmem.c:172)
+
+Possible data race during write of size 1 at 0x........ by thread #x
+ at 0x........: child8 (tc19_shadowmem.c:33)
+ by 0x........: steer (tc19_shadowmem.c:296)
+ by 0x........: mythread_wrapper (hg_intercepts.c:...)
+ ...
+ This conflicts with a previous write of size 1 by thread #x
+ at 0x........: child8 (tc19_shadowmem.c:33)
+ by 0x........: steer (tc19_shadowmem.c:296)
+ by 0x........: mythread_wrapper (hg_intercepts.c:...)
+ ...
+---------- char gran, 0 .. 99, skip 5 ----------
+
+Thread #x was created
+ ...
+ by 0x........: pthread_create@* (hg_intercepts.c:...)
+ by 0x........: main (tc19_shadowmem.c:173)
+
+Thread #x was created
+ ...
+ by 0x........: pthread_create@* (hg_intercepts.c:...)
+ by 0x........: main (tc19_shadowmem.c:172)
+
+Possible data race during write of size 1 at 0x........ by thread #x
+ at 0x........: child8 (tc19_shadowmem.c:33)
+ by 0x........: steer (tc19_shadowmem.c:298)
+ by 0x........: mythread_wrapper (hg_intercepts.c:...)
+ ...
+ This conflicts with a previous write of size 1 by thread #x
+ at 0x........: child8 (tc19_shadowmem.c:33)
+ by 0x........: steer (tc19_shadowmem.c:298)
+ by 0x........: mythread_wrapper (hg_intercepts.c:...)
+ ...
+---------- char gran, 0 .. 99, skip 6 ----------
+
+Thread #x was created
+ ...
+ by 0x........: pthread_create@* (hg_intercepts.c:...)
+ by 0x........: main (tc19_shadowmem.c:173)
+
+Thread #x was created
+ ...
+ by 0x........: pthread_create@* (hg_intercepts.c:...)
+ by 0x........: main (tc19_shadowmem.c:172)
+
+Possible data race during write of size 1 at 0x........ by thread #x
+ at 0x........: child8 (tc19_shadowmem.c:33)
+ by 0x........: steer (tc19_shadowmem.c:300)
+ by 0x........: mythread_wrapper (hg_intercepts.c:...)
+ ...
+ This conflicts with a previous write of size 1 by thread #x
+ at 0x........: child8 (tc19_shadowmem.c:33)
+ by 0x........: steer (tc19_shadowmem.c:300)
+ by 0x........: mythread_wrapper (hg_intercepts.c:...)
+ ...
+---------- char gran, 0 .. 99, skip 7 ----------
+
+Thread #x was created
+ ...
+ by 0x........: pthread_create@* (hg_intercepts.c:...)
+ by 0x........: main (tc19_shadowmem.c:173)
+
+Thread #x was created
+ ...
+ by 0x........: pthread_create@* (hg_intercepts.c:...)
+ by 0x........: main (tc19_shadowmem.c:172)
+
+Possible data race during write of size 1 at 0x........ by thread #x
+ at 0x........: child8 (tc19_shadowmem.c:33)
+ by 0x........: steer (tc19_shadowmem.c:302)
+ by 0x........: mythread_wrapper (hg_intercepts.c:...)
+ ...
+ This conflicts with a previous write of size 1 by thread #x
+ at 0x........: child8 (tc19_shadowmem.c:33)
+ by 0x........: steer (tc19_shadowmem.c:302)
+ by 0x........: mythread_wrapper (hg_intercepts.c:...)
+ ...
+---------- char gran, 0 .. 99, skip 8 ----------
+
+Thread #x was created
+ ...
+ by 0x........: pthread_create@* (hg_intercepts.c:...)
+ by 0x........: main (tc19_shadowmem.c:173)
+
+Thread #x was created
+ ...
+ by 0x........: pthread_create@* (hg_intercepts.c:...)
+ by 0x........: main (tc19_shadowmem.c:172)
+
+Possible data race during write of size 1 at 0x........ by thread #x
+ at 0x........: child8 (tc19_shadowmem.c:33)
+ by 0x........: steer (tc19_shadowmem.c:304)
+ by 0x........: mythread_wrapper (hg_intercepts.c:...)
+ ...
+ This conflicts with a previous write of size 1 by thread #x
+ at 0x........: child8 (tc19_shadowmem.c:33)
+ by 0x........: steer (tc19_shadowmem.c:304)
+ by 0x........: mythread_wrapper (hg_intercepts.c:...)
+ ...
+---------- char gran, 0 .. 99, skip 9 ----------
+
+Thread #x was created
+ ...
+ by 0x........: pthread_create@* (hg_intercepts.c:...)
+ by 0x........: main (tc19_shadowmem.c:173)
+
+Thread #x was created
+ ...
+ by 0x........: pthread_create@* (hg_intercepts.c:...)
+ by 0x........: main (tc19_shadowmem.c:172)
+
+Possible data race during write of size 1 at 0x........ by thread #x
+ at 0x........: child8 (tc19_shadowmem.c:33)
+ by 0x........: steer (tc19_shadowmem.c:306)
+ by 0x........: mythread_wrapper (hg_intercepts.c:...)
+ ...
+ This conflicts with a previous write of size 1 by thread #x
+ at 0x........: child8 (tc19_shadowmem.c:33)
+ by 0x........: steer (tc19_shadowmem.c:306)
+ by 0x........: mythread_wrapper (hg_intercepts.c:...)
+ ...
+---------- char gran, 0 .. 99, skip 10 ----------
+
+Thread #x was created
+ ...
+ by 0x........: pthread_create@* (hg_intercepts.c:...)
+ by 0x........: main (tc19_shadowmem.c:173)
+
+Thread #x was created
+ ...
+ by 0x........: pthread_create@* (hg_intercepts.c:...)
+ by 0x........: main (tc19_shadowmem.c:172)
+
+Possible data race during write of size 1 at 0x........ by thread #x
+ at 0x........: child8 (tc19_shadowmem.c:33)
+ by 0x........: steer (tc19_shadowmem.c:308)
+ by 0x........: mythread_wrapper (hg_intercepts.c:...)
+ ...
+ This conflicts with a previous write of size 1 by thread #x
+ at 0x........: child8 (tc19_shadowmem.c:33)
+ by 0x........: steer (tc19_shadowmem.c:308)
+ by 0x........: mythread_wrapper (hg_intercepts.c:...)
+ ...
+---------- char gran, 0 .. 99, skip 11 ----------
+
+Thread #x was created
+ ...
+ by 0x........: pthread_create@* (hg_intercepts.c:...)
+ by 0x........: main (tc19_shadowmem.c:173)
+
+Thread #x was created
+ ...
+ by 0x........: pthread_create@* (hg_intercepts.c:...)
+ by 0x........: main (tc19_shadowmem.c:172)
+
+Possible data race during write of size 1 at 0x........ by thread #x
+ at 0x........: child8 (tc19_shadowmem.c:33)
+ by 0x........: steer (tc19_shadowmem.c:310)
+ by 0x........: mythread_wrapper (hg_intercepts.c:...)
+ ...
+ This conflicts with a previous write of size 1 by thread #x
+ at 0x........: child8 (tc19_shadowmem.c:33)
+ by 0x........: steer (tc19_shadowmem.c:310)
+ by 0x........: mythread_wrapper (hg_intercepts.c:...)
+ ...
+---------- char gran, 0 .. 99, skip 12 ----------
+
+Thread #x was created
+ ...
+ by 0x........: pthread_create@* (hg_intercepts.c:...)
+ by 0x........: main (tc19_shadowmem.c:173)
+
+Thread #x was created
+ ...
+ by 0x........: pthread_create@* (hg_intercepts.c:...)
+ by 0x........: main (tc19_shadowmem.c:172)
+
+Possible data race during write of size 1 at 0x........ by thread #x
+ at 0x........: child8 (tc19_shadowmem.c:33)
+ by 0x........: steer (tc19_shadowmem.c:312)
+ by 0x........: mythread_wrapper (hg_intercepts.c:...)
+ ...
+ This conflicts with a previous write of size 1 by thread #x
+ at 0x........: child8 (tc19_shadowmem.c:33)
+ by 0x........: steer (tc19_shadowmem.c:312)
+ by 0x........: mythread_wrapper (hg_intercepts.c:...)
+ ...
+---------- char gran, 0 .. 99, skip 13 ----------
+
+Thread #x was created
+ ...
+ by 0x........: pthread_create@* (hg_intercepts.c:...)
+ by 0x........: main (tc19_shadowmem.c:173)
+
+Thread #x was created
+ ...
+ by 0x........: pthread_create@* (hg_intercepts.c:...)
+ by 0x........: main (tc19_shadowmem.c:172)
+
+Possible data race during write of size 1 at 0x........ by thread #x
+ at 0x........: child8 (tc19_shadowmem.c:33)
+ by 0x........: steer (tc19_shadowmem.c:314)
+ by 0x........: mythread_wrapper (hg_intercepts.c:...)
+ ...
+ This conflicts with a previous write of size 1 by thread #x
+ at 0x........: child8 (tc19_shadowmem.c:33)
+ by 0x........: steer (tc19_shadowmem.c:314)
+ by 0x........: mythread_wrapper (hg_intercepts.c:...)
+ ...
+---------- char gran, 0 .. 99, skip 14 ----------
+
+Thread #x was created
+ ...
+ by 0x........: pthread_create@* (hg_intercepts.c:...)
+ by 0x........: main (tc19_shadowmem.c:173)
+
+Thread #x was created
+ ...
+ by 0x........: pthread_create@* (hg_intercepts.c:...)
+ by 0x........: main (tc19_shadowmem.c:172)
+
+Possible data race during write of size 1 at 0x........ by thread #x
+ at 0x........: child8 (tc19_shadowmem.c:33)
+ by 0x........: steer (tc19_shadowmem.c:316)
+ by 0x........: mythread_wrapper (hg_intercepts.c:...)
+ ...
+ This conflicts with a previous write of size 1 by thread #x
+ at 0x........: child8 (tc19_shadowmem.c:33)
+ by 0x........: steer (tc19_shadowmem.c:316)
+ by 0x........: mythread_wrapper (hg_intercepts.c:...)
+ ...
+---------- char gran, 0 .. 99, skip 15 ----------
+
+Thread #x was created
+ ...
+ by 0x........: pthread_create@* (hg_intercepts.c:...)
+ by 0x........: main (tc19_shadowmem.c:173)
+
+Thread #x was created
+ ...
+ by 0x........: pthread_create@* (hg_intercepts.c:...)
+ by 0x........: main (tc19_shadowmem.c:172)
+
+Possible data race during write of size 1 at 0x........ by thread #x
+ at 0x........: child8 (tc19_shadowmem.c:33)
+ by 0x........: steer (tc19_shadowmem.c:318)
+ by 0x........: mythread_wrapper (hg_intercepts.c:...)
+ ...
+ This conflicts with a previous write of size 1 by thread #x
+ at 0x........: child8 (tc19_shadowmem.c:33)
+ by 0x........: steer (tc19_shadowmem.c:318)
+ by 0x........: mythread_wrapper (hg_intercepts.c:...)
+ ...
+---------- char gran, 0 .. 99, skip 16 ----------
+
+Thread #x was created
+ ...
+ by 0x........: pthread_create@* (hg_intercepts.c:...)
+ by 0x........: main (tc19_shadowmem.c:173)
+
+Thread #x was created
+ ...
+ by 0x........: pthread_create@* (hg_intercepts.c:...)
+ by 0x........: main (tc19_shadowmem.c:172)
+
+Possible data race during write of size 1 at 0x........ by thread #x
+ at 0x........: child8 (tc19_shadowmem.c:33)
+ by 0x........: steer (tc19_shadowmem.c:320)
+ by 0x........: mythread_wrapper (hg_intercepts.c:...)
+ ...
+ This conflicts with a previous write of size 1 by thread #x
+ at 0x........: child8 (tc19_shadowmem.c:33)
+ by 0x........: steer (tc19_shadowmem.c:320)
+ by 0x........: mythread_wrapper (hg_intercepts.c:...)
+ ...
+---------- char gran, 0 .. 99, skip 17 ----------
+
+Thread #x was created
+ ...
+ by 0x........: pthread_create@* (hg_intercepts.c:...)
+ by 0x........: main (tc19_shadowmem.c:173)
+
+Thread #x was created
+ ...
+ by 0x........: pthread_create@* (hg_intercepts.c:...)
+ by 0x........: main (tc19_shadowmem.c:172)
+
+Possible data race during write of size 1 at 0x........ by thread #x
+ at 0x........: child8 (tc19_shadowmem.c:33)
+ by 0x........: steer (tc19_shadowmem.c:322)
+ by 0x........: mythread_wrapper (hg_intercepts.c:...)
+ ...
+ This conflicts with a previous write of size 1 by thread #x
+ at 0x........: child8 (tc19_shadowmem.c:33)
+ by 0x........: steer (tc19_shadowmem.c:322)
+ by 0x........: mythread_wrapper (hg_intercepts.c:...)
+ ...
+---------- char gran, 0 .. 99, skip 18 ----------
+
+Thread #x was created
+ ...
+ by 0x........: pthread_create@* (hg_intercepts.c:...)
+ by 0x........: main (tc19_shadowmem.c:173)
+
+Thread #x was created
+ ...
+ by 0x........: pthread_create@* (hg_intercepts.c:...)
+ by 0x........: main (tc19_shadowmem.c:172)
+
+Possible data race during write of size 1 at 0x........ by thread #x
+ at 0x........: child8 (tc19_shadowmem.c:33)
+ by 0x........: steer (tc19_shadowmem.c:324)
+ by 0x........: mythread_wrapper (hg_intercepts.c:...)
+ ...
+ This conflicts with a previous write of size 1 by thread #x
+ at 0x........: child8 (tc19_shadowmem.c:33)
+ by 0x........: steer (tc19_shadowmem.c:324)
+ by 0x........: mythread_wrapper (hg_intercepts.c:...)
+ ...
+---------- char gran, 0 .. 99, skip 19 ----------
+
+Thread #x was created
+ ...
+ by 0x........: pthread_create@* (hg_intercepts.c:...)
+ by 0x........: main (tc19_shadowmem.c:173)
+
+Thread #x was created
+ ...
+ by 0x........: pthread_create@* (hg_intercepts.c:...)
+ by 0x........: main (tc19_shadowmem.c:172)
+
+Possible data race during write of size 1 at 0x........ by thread #x
+ at 0x........: child8 (tc19_shadowmem.c:33)
+ by 0x........: steer (tc19_shadowmem.c:326)
+ by 0x........: mythread_wrapper (hg_intercepts.c:...)
+ ...
+ This conflicts with a previous write of size 1 by thread #x
+ at 0x........: child8 (tc19_shadowmem.c:33)
+ by 0x........: steer (tc19_shadowmem.c:326)
+ by 0x........: mythread_wrapper (hg_intercepts.c:...)
+ ...
+---------- char gran, 0 .. 99, skip 20 ----------
+
+Thread #x was created
+ ...
+ by 0x........: pthread_create@* (hg_intercepts.c:...)
+ by 0x........: main (tc19_shadowmem.c:173)
+
+Thread #x was created
+ ...
+ by 0x........: pthread_create@* (hg_intercepts.c:...)
+ by 0x........: main (tc19_shadowmem.c:172)
+
+Possible data race during write of size 1 at 0x........ by thread #x
+ at 0x........: child8 (tc19_shadowmem.c:33)
+ by 0x........: steer (tc19_shadowmem.c:328)
+ by 0x........: mythread_wrapper (hg_intercepts.c:...)
+ ...
+ This conflicts with a previous write of size 1 by thread #x
+ at 0x........: child8 (tc19_shadowmem.c:33)
+ by 0x........: steer (tc19_shadowmem.c:328)
+ by 0x........: mythread_wrapper (hg_intercepts.c:...)
+ ...
+---------- char gran, 0 .. 99, skip 21 ----------
+
+Thread #x was created
+ ...
+ by 0x........: pthread_create@* (hg_intercepts.c:...)
+ by 0x........: main (tc19_shadowmem.c:173)
+
+Thread #x was created
+ ...
+ by 0x........: pthread_create@* (hg_intercepts.c:...)
+ by 0x........: main (tc19_shadowmem.c:172)
+
+Possible data race during write of size 1 at 0x........ by thread #x
+ at 0x........: child8 (tc19_shadowmem.c:33)
+ by 0x........: steer (tc19_shadowmem.c:330)
+ by 0x........: mythread_wrapper (hg_intercepts.c:...)
+ ...
+ This conflicts with a previous write of size 1 by thread #x
+ at 0x........: child8 (tc19_shadowmem.c:33)
+ by 0x........: steer (tc19_shadowmem.c:330)
+ by 0x........: mythread_wrapper (hg_intercepts.c:...)
+ ...
+---------- char gran, 0 .. 99, skip 22 ----------
+
+Thread #x was created
+ ...
+ by 0x........: pthread_create@* (hg_intercepts.c:...)
+ by 0x........: main (tc19_shadowmem.c:173)
+
+Thread #x was created
+ ...
+ by 0x........: pthread_create@* (hg_intercepts.c:...)
+ by 0x........: main (tc19_shadowmem.c:172)
+
+Possible data race during write of size 1 at 0x........ by thread #x
+ at 0x........: child8 (tc19_shadowmem.c:33)
+ by 0x........: steer (tc19_shadowmem.c:332)
+ by 0x........: mythread_wrapper (hg_intercepts.c:...)
+ ...
+ This conflicts with a previous write of size 1 by thread #x
+ at 0x........: child8 (tc19_shadowmem.c:33)
+ by 0x........: steer (tc19_shadowmem.c:332)
+ by 0x........: mythread_wrapper (hg_intercepts.c:...)
+ ...
+---------- char gran, 0 .. 99, skip 23 ----------
+
+Thread #x was created
+ ...
+ by 0x........: pthread_create@* (hg_intercepts.c:...)
+ by 0x........: main (tc19_shadowmem.c:173)
+
+Thread #x was created
+ ...
+ by 0x........: pthread_create@* (hg_intercepts.c:...)
+ by 0x........: main (tc19_shadowmem.c:172)
+
+Possible data race during write of size 1 at 0x........ by thread #x
+ at 0x........: child8 (tc19_shadowmem.c:33)
+ by 0x........: steer (tc19_shadowmem.c:334)
+ by 0x........: mythread_wrapper (hg_intercepts.c:...)
+ ...
+ This conflicts with a previous write of size 1 by thread #x
+ at 0x........: child8 (tc19_shadowmem.c:33)
+ by 0x........: steer (tc19_shadowmem.c:334)
+ by 0x........: mythread_wrapper (hg_intercepts.c:...)
+ ...
+---------- char gran, 0 .. 99, skip 24 ----------
+
+Thread #x was created
+ ...
+ by 0x........: pthread_create@* (hg_intercepts.c:...)
+ by 0x........: main (tc19_shadowmem.c:173)
+
+Thread #x was created
+ ...
+ by 0x........: pthread_create@* (hg_intercepts.c:...)
+ by 0x........: main (tc19_shadowmem.c:172)
+
+Possible data race during write of size 1 at 0x........ by thread #x
+ at 0x........: child8 (tc19_shadowmem.c:33)
+ by 0x........: steer (tc19_shadowmem.c:336)
+ by 0x........: mythread_wrapper (hg_intercepts.c:...)
+ ...
+ This conflicts with a previous write of size 1 by thread #x
+ at 0x........: child8 (tc19_shadowmem.c:33)
+ by 0x........: steer (tc19_shadowmem.c:336)
+ by 0x........: mythread_wrapper (hg_intercepts.c:...)
+ ...
+---------- char gran, 0 .. 99, skip 25 ----------
+
+Thread #x was created
+ ...
+ by 0x........: pthread_create@* (hg_intercepts.c:...)
+ by 0x........: main (tc19_shadowmem.c:173)
+
+Thread #x was created
+ ...
+ by 0x........: pthread_create@* (hg_intercepts.c:...)
+ by 0x........: main (tc19_shadowmem.c:172)
+
+Possible data race during write of size 1 at 0x........ by thread #x
+ at 0x........: child8 (tc19_shadowmem.c:33)
+ by 0x........: steer (tc19_shadowmem.c:338)
+ by 0x........: mythread_wrapper (hg_intercepts.c:...)
+ ...
+ This conflicts with a previous write of size 1 by thread #x
+ at 0x........: child8 (tc19_shadowmem.c:33)
+ by 0x........: steer (tc19_shadowmem.c:338)
+ by 0x........: mythread_wrapper (hg_intercepts.c:...)
+ ...
+---------- char gran, 0 .. 99, skip 26 ----------
+
+Thread #x was created
+ ...
+ by 0x........: pthread_create@* (hg_intercepts.c:...)
+ by 0x........: main (tc19_shadowmem.c:173)
+
+Thread #x was created
+ ...
+ by 0x........: pthread_create@* (hg_intercepts.c:...)
+ by 0x........: main (tc19_shadowmem.c:172)
+
+Possible data race during write of size 1 at 0x........ by thread #x
+ at 0x........: child8 (tc19_shadowmem.c:33)
+ by 0x........: steer (tc19_shadowmem.c:340)
+ by 0x........: mythread_wrapper (hg_intercepts.c:...)
+ ...
+ This conflicts with a previous write of size 1 by thread #x
+ at 0x........: child8 (tc19_shadowmem.c:33)
+ by 0x........: steer (tc19_shadowmem.c:340)
+ by 0x........: mythread_wrapper (hg_intercepts.c:...)
+ ...
+---------- char gran, 0 .. 99, skip 27 ----------
+
+Thread #x was created
+ ...
+ by 0x........: pthread_create@* (hg_intercepts.c:...)
+ by 0x........: main (tc19_shadowmem.c:173)
+
+Thread #x was created
+ ...
+ by 0x........: pthread_create@* (hg_intercepts.c:...)
+ by 0x........: main (tc19_shadowmem.c:172)
+
+Possible data race during write of size 1 at 0x........ by thread #x
+ at 0x........: child8 (tc19_shadowmem.c:33)
+ by 0x........: steer (tc19_shadowmem.c:342)
+ by 0x........: mythread_wrapper (hg_intercepts.c:...)
+ ...
+ This conflicts with a previous write of size 1 by thread #x
+ at 0x........: child8 (tc19_shadowmem.c:33)
+ by 0x........: steer (tc19_shadowmem.c:342)
+ by 0x........: mythread_wrapper (hg_intercepts.c:...)
+ ...
+---------- char gran, 0 .. 99, skip 28 ----------
+
+Thread #x was created
+ ...
+ by 0x........: pthread_create@* (hg_intercepts.c:...)
+ by 0x........: main (tc19_shadowmem.c:173)
+
+Thread #x was created
+ ...
+ by 0x........: pthread_create@* (hg_intercepts.c:...)
+ by 0x........: main (tc19_shadowmem.c:172)
+
+Possible data race during write of size 1 at 0x........ by thread #x
+ at 0x........: child8 (tc19_shadowmem.c:33)
+ by 0x........: steer (tc19_shadowmem.c:344)
+ by 0x........: mythread_wrapper (hg_intercepts.c:...)
+ ...
+ This conflicts with a previous write of size 1 by thread #x
+ at 0x........: child8 (tc19_shadowmem.c:33)
+ by 0x........: steer (tc19_shadowmem.c:344)
+ by 0x........: mythread_wrapper (hg_intercepts.c:...)
+ ...
+---------- char gran, 0 .. 99, skip 29 ----------
+
+Thread #x was created
+ ...
+ by 0x........: pthread_create@* (hg_intercepts.c:...)
+ by 0x........: main (tc19_shadowmem.c:173)
+
+Thread #x was created
+ ...
+ by 0x........: pthread_create@* (hg_intercepts.c:...)
+ by 0x........: main (tc19_shadowmem.c:172)
+
+Possible data race during write of size 1 at 0x........ by thread #x
+ at 0x........: child8 (tc19_shadowmem.c:33)
+ by 0x........: steer (tc19_shadowmem.c:346)
+ by 0x........: mythread_wrapper (hg_intercepts.c:...)
+ ...
+ This conflicts with a previous write of size 1 by thread #x
+ at 0x........: child8 (tc19_shadowmem.c:33)
+ by 0x........: steer (tc19_shadowmem.c:346)
+ by 0x........: mythread_wrapper (hg_intercepts.c:...)
+ ...
+---------- char gran, 0 .. 99, skip 30 ----------
+
+Thread #x was created
+ ...
+ by 0x........: pthread_create@* (hg_intercepts.c:...)
+ by 0x........: main (tc19_shadowmem.c:173)
+
+Thread #x was created
+ ...
+ by 0x........: pthread_create@* (hg_intercepts.c:...)
+ by 0x........: main (tc19_shadowmem.c:172)
+
+Possible data race during write of size 1 at 0x........ by thread #x
+ at 0x........: child8 (tc19_shadowmem.c:33)
+ by 0x........: steer (tc19_shadowmem.c:348)
+ by 0x........: mythread_wrapper (hg_intercepts.c:...)
+ ...
+ This conflicts with a previous write of size 1 by thread #x
+ at 0x........: child8 (tc19_shadowmem.c:33)
+ by 0x........: steer (tc19_shadowmem.c:348)
+ by 0x........: mythread_wrapper (hg_intercepts.c:...)
+ ...
+---------- char gran, 0 .. 99, skip 31 ----------
+
+Thread #x was created
+ ...
+ by 0x........: pthread_create@* (hg_intercepts.c:...)
+ by 0x........: main (tc19_shadowmem.c:173)
+
+Thread #x was created
+ ...
+ by 0x........: pthread_create@* (hg_intercepts.c:...)
+ by 0x........: main (tc19_shadowmem.c:172)
+
+Possible data race during write of size 1 at 0x........ by thread #x
+ at 0x........: child8 (tc19_shadowmem.c:33)
+ by 0x........: steer (tc19_shadowmem.c:350)
+ by 0x........: mythread_wrapper (hg_intercepts.c:...)
+ ...
+ This conflicts with a previous write of size 1 by thread #x
+ at 0x........: child8 (tc19_shadowmem.c:33)
+ by 0x........: steer (tc19_shadowmem.c:350)
+ by 0x........: mythread_wrapper (hg_intercepts.c:...)
+ ...
+---------- char gran, 0 .. 99, skip 32 ----------
+
+Thread #x was created
+ ...
+ by 0x........: pthread_create@* (hg_intercepts.c:...)
+ by 0x........: main (tc19_shadowmem.c:173)
+
+Thread #x was created
+ ...
+ by 0x........: pthread_create@* (hg_intercepts.c:...)
+ by 0x........: main (tc19_shadowmem.c:172)
+
+Possible data race during write of size 1 at 0x........ by thread #x
+ at 0x........: child8 (tc19_shadowmem.c:33)
+ by 0x........: steer (tc19_shadowmem.c:352)
+ by 0x........: mythread_wrapper (hg_intercepts.c:...)
+ ...
+ This conflicts with a previous write of size 1 by thread #x
+ at 0x........: child8 (tc19_shadowmem.c:33)
+ by 0x........: steer (tc19_shadowmem.c:352)
+ by 0x........: mythread_wrapper (hg_intercepts.c:...)
+ ...
+---------- char gran, 0 .. 99, skip 33 ----------
+
+Thread #x was created
+ ...
+ by 0x........: pthread_create@* (hg_intercepts.c:...)
+ by 0x........: main (tc19_shadowmem.c:173)
+
+Thread #x was created
+ ...
+ by 0x........: pthread_create@* (hg_intercepts.c:...)
+ by 0x........: main (tc19_shadowmem.c:172)
+
+Possible data race during write of size 1 at 0x........ by thread #x
+ at 0x........: child8 (tc19_shadowmem.c:33)
+ by 0x........: steer (tc19_shadowmem.c:354)
+ by 0x........: mythread_wrapper (hg_intercepts.c:...)
+ ...
+ This conflicts with a previous write of size 1 by thread #x
+ at 0x........: child8 (tc19_shadowmem.c:33)
+ by 0x........: steer (tc19_shadowmem.c:354)
+ by 0x........: mythread_wrapper (hg_intercepts.c:...)
+ ...
+---------- char gran, 0 .. 99, skip 34 ----------
+
+Thread #x was created
+ ...
+ by 0x........: pthread_create@* (hg_intercepts.c:...)
+ by 0x........: main (tc19_shadowmem.c:173)
+
+Thread #x was created
+ ...
+ by 0x........: pthread_create@* (hg_intercepts.c:...)
+ by 0x........: main (tc19_shadowmem.c:172)
+
+Possible data race during write of size 1 at 0x........ by thread #x
+ at 0x........: child8 (tc19_shadowmem.c:33)
+ by 0x........: steer (tc19_shadowmem.c:356)
+ by 0x........: mythread_wrapper (hg_intercepts.c:...)
+ ...
+ This conflicts with a previous write of size 1 by thread #x
+ at 0x........: child8 (tc19_shadowmem.c:33)
+ by 0x........: steer (tc19_shadowmem.c:356)
+ by 0x........: mythread_wrapper (hg_intercepts.c:...)
+ ...
+---------- char gran, 0 .. 99, skip 35 ----------
+
+Thread #x was created
+ ...
+ by 0x........: pthread_create@* (hg_intercepts.c:...)
+ by 0x........: main (tc19_shadowmem.c:173)
+
+Thread #x was created
+ ...
+ by 0x........: pthread_create@* (hg_intercepts.c:...)
+ by 0x........: main (tc19_shadowmem.c:172)
+
+Possible data race during write of size 1 at 0x........ by thread #x
+ at 0x........: child8 (tc19_shadowmem.c:33)
+ by 0x........: steer (tc19_shadowmem.c:358)
+ by 0x........: mythread_wrapper (hg_intercepts.c:...)
+ ...
+ This conflicts with a previous write of size 1 by thread #x
+ at 0x........: child8 (tc19_shadowmem.c:33)
+ by 0x........: steer (tc19_shadowmem.c:358)
+ by 0x........: mythread_wrapper (hg_intercepts.c:...)
+ ...
+---------- char gran, 0 .. 99, skip 36 ----------
+
+Thread #x was created
+ ...
+ by 0x........: pthread_create@* (hg_intercepts.c:...)
+ by 0x........: main (tc19_shadowmem.c:173)
+
+Thread #x was created
+ ...
+ by 0x........: pthread_create@* (hg_intercepts.c:...)
+ by 0x........: main (tc19_shadowmem.c:172)
+
+Possible data race during write of size 1 at 0x........ by thread #x
+ at 0x........: child8 (tc19_shadowmem.c:33)
+ by 0x........: steer (tc19_shadowmem.c:360)
+ by 0x........: mythread_wrapper (hg_intercepts.c:...)
+ ...
+ This conflicts with a previous write of size 1 by thread #x
+ at 0x........: child8 (tc19_shadowmem.c:33)
+ by 0x........: steer (tc19_shadowmem.c:360)
+ by 0x........: mythread_wrapper (hg_intercepts.c:...)
+ ...
+---------- char gran, 0 .. 99, skip 37 ----------
+
+Thread #x was created
+ ...
+ by 0x........: pthread_create@* (hg_intercepts.c:...)
+ by 0x........: main (tc19_shadowmem.c:173)
+
+Thread #x was created
+ ...
+ by 0x........: pthread_create@* (hg_intercepts.c:...)
+ by 0x........: main (tc19_shadowmem.c:172)
+
+Possible data race during write of size 1 at 0x........ by thread #x
+ at 0x........: child8 (tc19_shadowmem.c:33)
+ by 0x........: steer (tc19_shadowmem.c:362)
+ by 0x........: mythread_wrapper (hg_intercepts.c:...)
+ ...
+ This conflicts with a previous write of size 1 by thread #x
+ at 0x........: child8 (tc19_shadowmem.c:33)
+ by 0x........: steer (tc19_shadowmem.c:362)
+ by 0x........: mythread_wrapper (hg_intercepts.c:...)
+ ...
+---------- char gran, 0 .. 99, skip 38 ----------
+
+Thread #x was created
+ ...
+ by 0x........: pthread_create@* (hg_intercepts.c:...)
+ by 0x........: main (tc19_shadowmem.c:173)
+
+Thread #x was created
+ ...
+ by 0x........: pthread_create@* (hg_intercepts.c:...)
+ by 0x........: main (tc19_shadowmem.c:172)
+
+Possible data race during write of size 1 at 0x........ by thread #x
+ at 0x........: child8 (tc19_shadowmem.c:33)
+ by 0x........: steer (tc19_shadowmem.c:364)
+ by 0x........: mythread_wrapper (hg_intercepts.c:...)
+ ...
+ This conflicts with a previous write of size 1 by thread #x
+ at 0x........: child8 (tc19_shadowmem.c:33)
+ by 0x........: steer (tc19_shadowmem.c:364)
+ by 0x........: mythread_wrapper (hg_intercepts.c:...)
+ ...
+---------- char gran, 0 .. 99, skip 39 ----------
+
+Thread #x was created
+ ...
+ by 0x........: pthread_create@* (hg_intercepts.c:...)
+ by 0x........: main (tc19_shadowmem.c:173)
+
+Thread #x was created
+ ...
+ by 0x........: pthread_create@* (hg_intercepts.c:...)
+ by 0x........: main (tc19_shadowmem.c:172)
+
+Possible data race during write of size 1 at 0x........ by thread #x
+ at 0x........: child8 (tc19_shadowmem.c:33)
+ by 0x........: steer (tc19_shadowmem.c:366)
+ by 0x........: mythread_wrapper (hg_intercepts.c:...)
+ ...
+ This conflicts with a previous write of size 1 by thread #x
+ at 0x........: child8 (tc19_shadowmem.c:33)
+ by 0x........: steer (tc19_shadowmem.c:366)
+ by 0x........: mythread_wrapper (hg_intercepts.c:...)
+ ...
+---------- char gran, 0 .. 99, skip 40 ----------
+
+Thread #x was created
+ ...
+ by 0x........: pthread_create@* (hg_intercepts.c:...)
+ by 0x........: main (tc19_shadowmem.c:173)
+
+Thread #x was created
+ ...
+ by 0x........: pthread_create@* (hg_intercepts.c:...)
+ by 0x........: main (tc19_shadowmem.c:172)
+
+Possible data race during write of size 1 at 0x........ by thread #x
+ at 0x........: child8 (tc19_shadowmem.c:33)
+ by 0x........: steer (tc19_shadowmem.c:368)
+ by 0x........: mythread_wrapper (hg_intercepts.c:...)
+ ...
+ This conflicts with a previous write of size 1 by thread #x
+ at 0x........: child8 (tc19_shadowmem.c:33)
+ by 0x........: steer (tc19_shadowmem.c:368)
+ by 0x........: mythread_wrapper (hg_intercepts.c:...)
+ ...
+---------- char gran, 0 .. 99, skip 41 ----------
+
+Thread #x was created
+ ...
+ by 0x........: pthread_create@* (hg_intercepts.c:...)
+ by 0x........: main (tc19_shadowmem.c:173)
+
+Thread #x was created
+ ...
+ by 0x........: pthread_create@* (hg_intercepts.c:...)
+ by 0x........: main (tc19_shadowmem.c:172)
+
+Possible data race during write of size 1 at 0x........ by thread #x
+ at 0x........: child8 (tc19_shadowmem.c:33)
+ by 0x........: steer (tc19_shadowmem.c:370)
+ by 0x........: mythread_wrapper (hg_intercepts.c:...)
+ ...
+ This conflicts with a previous write of size 1 by thread #x
+ at 0x........: child8 (tc19_shadowmem.c:33)
+ by 0x........: steer (tc19_shadowmem.c:370)
+ by 0x........: mythread_wrapper (hg_intercepts.c:...)
+ ...
+---------- char gran, 0 .. 99, skip 42 ----------
+
+Thread #x was created
+ ...
+ by 0x........: pthread_create@* (hg_intercepts.c:...)
+ by 0x........: main (tc19_shadowmem.c:173)
+
+Thread #x was created
+ ...
+ by 0x........: pthread_create@* (hg_intercepts.c:...)
+ by 0x........: main (tc19_shadowmem.c:172)
+
+Possible data race during write of size 1 at 0x........ by thread #x
+ at 0x........: child8 (tc19_shadowmem.c:33)
+ by 0x........: steer (tc19_shadowmem.c:372)
+ by 0x........: mythread_wrapper (hg_intercepts.c:...)
+ ...
+ This conflicts with a previous write of size 1 by thread #x
+ at 0x........: child8 (tc19_shadowmem.c:33)
+ by 0x........: steer (tc19_shadowmem.c:372)
+ by 0x........: mythread_wrapper (hg_intercepts.c:...)
+ ...
+---------- char gran, 0 .. 99, skip 43 ----------
+
+Thread #x was created
+ ...
+ by 0x........: pthread_create@* (hg_intercepts.c:...)
+ by 0x........: main (tc19_shadowmem.c:173)
+
+Thread #x was created
+ ...
+ by 0x........: pthread_create@* (hg_intercepts.c:...)
+ by 0x........: main (tc19_shadowmem.c:172)
+
+Possible data race during write of size 1 at 0x........ by thread #x
+ at 0x........: child8 (tc19_shadowmem.c:33)
+ by 0x........: steer (tc19_shadowmem.c:374)
+ by 0x........: mythread_wrapper (hg_intercepts.c:...)
+ ...
+ This conflicts with a previous write of size 1 by thread #x
+ at 0x........: child8 (tc19_shadowmem.c:33)
+ by 0x........: steer (tc19_shadowmem.c:374)
+ by 0x........: mythread_wrapper (hg_intercepts.c:...)
+ ...
+---------- char gran, 0 .. 99, skip 44 ----------
+
+Thread #x was created
+ ...
+ by 0x........: pthread_create@* (hg_intercepts.c:...)
+ by 0x........: main (tc19_shadowmem.c:173)
+
+Thread #x was created
+ ...
+ by 0x........: pthread_create@* (hg_intercepts.c:...)
+ by 0x........: main (tc19_shadowmem.c:172)
+
+Possible data race during write of size 1 at 0x........ by thread #x
+ at 0x........: child8 (tc19_shadowmem.c:33)
+ by 0x........: steer (tc19_shadowmem.c:376)
+ by 0x........: mythread_wrapper (hg_intercepts.c:...)
+ ...
+ This conflicts with a previous write of size 1 by thread #x
+ at 0x........: child8 (tc19_shadowmem.c:33)
+ by 0x........: steer (tc19_shadowmem.c:376)
+ by 0x........: mythread_wrapper (hg_intercepts.c:...)
+ ...
+---------- char gran, 0 .. 99, skip 45 ----------
+
+Thread #x was created
+ ...
+ by 0x........: pthread_create@* (hg_intercepts.c:...)
+ by 0x........: main (tc19_shadowmem.c:173)
+
+Thread #x was created
+ ...
+ by 0x........: pthread_create@* (hg_intercepts.c:...)
+ by 0x........: main (tc19_shadowmem.c:172)
+
+Possible data race during write of size 1 at 0x........ by thread #x
+ at 0x........: child8 (tc19_shadowmem.c:33)
+ by 0x........: steer (tc19_shadowmem.c:378)
+ by 0x........: mythread_wrapper (hg_intercepts.c:...)
+ ...
+ This conflicts with a previous write of size 1 by thread #x
+ at 0x........: child8 (tc19_shadowmem.c:33)
+ by 0x........: steer (tc19_shadowmem.c:378)
+ by 0x........: mythread_wrapper (hg_intercepts.c:...)
+ ...
+---------- char gran, 0 .. 99, skip 46 ----------
+
+Thread #x was created
+ ...
+ by 0x........: pthread_create@* (hg_intercepts.c:...)
+ by 0x........: main (tc19_shadowmem.c:173)
+
+Thread #x was created
+ ...
+ by 0x........: pthread_create@* (hg_intercepts.c:...)
+ by 0x........: main (tc19_shadowmem.c:172)
+
+Possible data race during write of size 1 at 0x........ by thread #x
+ at 0x........: child8 (tc19_shadowmem.c:33)
+ by 0x........: steer (tc19_shadowmem.c:380)
+ by 0x........: mythread_wrapper (hg_intercepts.c:...)
+ ...
+ This conflicts with a previous write of size 1 by thread #x
+ at 0x........: child8 (tc19_shadowmem.c:33)
+ by 0x........: steer (tc19_shadowmem.c:380)
+ by 0x........: mythread_wrapper (hg_intercepts.c:...)
+ ...
+---------- char gran, 0 .. 99, skip 47 ----------
+
+Thread #x was created
+ ...
+ by 0x........: pthread_create@* (hg_intercepts.c:...)
+ by 0x........: main (tc19_shadowmem.c:173)
+
+Thread #x was created
+ ...
+ by 0x........: pthread_create@* (hg_intercepts.c:...)
+ by 0x........: main (tc19_shadowmem.c:172)
+
+Possible data race during write of size 1 at 0x........ by thread #x
+ at 0x........: child8 (tc19_shadowmem.c:33)
+ by 0x........: steer (tc19_shadowmem.c:382)
+ by 0x........: mythread_wrapper (hg_intercepts.c:...)
+ ...
+ This conflicts with a previous write of size 1 by thread #x
+ at 0x........: child8 (tc19_shadowmem.c:33)
+ by 0x........: steer (tc19_shadowmem.c:382)
+ by 0x........: mythread_wrapper (hg_intercepts.c:...)
+ ...
+---------- char gran, 0 .. 99, skip 48 ----------
+
+Thread #x was created
+ ...
+ by 0x........: pthread_create@* (hg_intercepts.c:...)
+ by 0x........: main (tc19_shadowmem.c:173)
+
+Thread #x was created
+ ...
+ by 0x........: pthread_create@* (hg_intercepts.c:...)
+ by 0x........: main (tc19_shadowmem.c:172)
+
+Possible data race during write of size 1 at 0x........ by thread #x
+ at 0x........: child8 (tc19_shadowmem.c:33)
+ by 0x........: steer (tc19_shadowmem.c:384)
+ by 0x........: mythread_wrapper (hg_intercepts.c:...)
+ ...
+ This conflicts with a previous write of size 1 by thread #x
+ at 0x........: child8 (tc19_shadowmem.c:33)
+ by 0x........: steer (tc19_shadowmem.c:384)
+ by 0x........: mythread_wrapper (hg_intercepts.c:...)
+ ...
+---------- char gran, 0 .. 99, skip 49 ----------
+
+Thread #x was created
+ ...
+ by 0x........: pthread_create@* (hg_intercepts.c:...)
+ by 0x........: main (tc19_shadowmem.c:173)
+
+Thread #x was created
+ ...
+ by 0x........: pthread_create@* (hg_intercepts.c:...)
+ by 0x........: main (tc19_shadowmem.c:172)
+
+Possible data race during write of size 1 at 0x........ by thread #x
+ at 0x........: child8 (tc19_shadowmem.c:33)
+ by 0x........: steer (tc19_shadowmem.c:386)
+ by 0x........: mythread_wrapper (hg_intercepts.c:...)
+ ...
+ This conflicts with a previous write of size 1 by thread #x
+ at 0x........: child8 (tc19_shadowmem.c:33)
+ by 0x........: steer (tc19_shadowmem.c:386)
+ by 0x........: mythread_wrapper (hg_intercepts.c:...)
+ ...
+---------- char gran, 0 .. 99, skip 50 ----------
+
+Thread #x was created
+ ...
+ by 0x........: pthread_create@* (hg_intercepts.c:...)
+ by 0x........: main (tc19_shadowmem.c:173)
+
+Thread #x was created
+ ...
+ by 0x........: pthread_create@* (hg_intercepts.c:...)
+ by 0x........: main (tc19_shadowmem.c:172)
+
+Possible data race during write of size 1 at 0x........ by thread #x
+ at 0x........: child8 (tc19_shadowmem.c:33)
+ by 0x........: steer (tc19_shadowmem.c:388)
+ by 0x........: mythread_wrapper (hg_intercepts.c:...)
+ ...
+ This conflicts with a previous write of size 1 by thread #x
+ at 0x........: child8 (tc19_shadowmem.c:33)
+ by 0x........: steer (tc19_shadowmem.c:388)
+ by 0x........: mythread_wrapper (hg_intercepts.c:...)
+ ...
+---------- char gran, 0 .. 99, skip 51 ----------
+
+Thread #x was created
+ ...
+ by 0x........: pthread_create@* (hg_intercepts.c:...)
+ by 0x........: main (tc19_shadowmem.c:173)
+
+Thread #x was created
+ ...
+ by 0x........: pthread_create@* (hg_intercepts.c:...)
+ by 0x........: main (tc19_shadowmem.c:172)
+
+Possible data race during write of size 1 at 0x........ by thread #x
+ at 0x........: child8 (tc19_shadowmem.c:33)
+ by 0x........: steer (tc19_shadowmem.c:390)
+ by 0x........: mythread_wrapper (hg_intercepts.c:...)
+ ...
+ This conflicts with a previous write of size 1 by thread #x
+ at 0x........: child8 (tc19_shadowmem.c:33)
+ by 0x........: steer (tc19_shadowmem.c:390)
+ by 0x........: mythread_wrapper (hg_intercepts.c:...)
+ ...
+---------- char gran, 0 .. 99, skip 52 ----------
+
+Thread #x was created
+ ...
+ by 0x........: pthread_create@* (hg_intercepts.c:...)
+ by 0x........: main (tc19_shadowmem.c:173)
+
+Thread #x was created
+ ...
+ by 0x........: pthread_create@* (hg_intercepts.c:...)
+ by 0x........: main (tc19_shadowmem.c:172)
+
+Possible data race during write of size 1 at 0x........ by thread #x
+ at 0x........: child8 (tc19_shadowmem.c:33)
+ by 0x........: steer (tc19_shadowmem.c:392)
+ by 0x........: mythread_wrapper (hg_intercepts.c:...)
+ ...
+ This conflicts with a previous write of size 1 by thread #x
+ at 0x........: child8 (tc19_shadowmem.c:33)
+ by 0x........: steer (tc19_shadowmem.c:392)
+ by 0x........: mythread_wrapper (hg_intercepts.c:...)
+ ...
+---------- char gran, 0 .. 99, skip 53 ----------
+
+Thread #x was created
+ ...
+ by 0x........: pthread_create@* (hg_intercepts.c:...)
+ by 0x........: main (tc19_shadowmem.c:173)
+
+Thread #x was created
+ ...
+ by 0x........: pthread_create@* (hg_intercepts.c:...)
+ by 0x........: main (tc19_shadowmem.c:172)
+
+Possible data race during write of size 1 at 0x........ by thread #x
+ at 0x........: child8 (tc19_shadowmem.c:33)
+ by 0x........: steer (tc19_shadowmem.c:394)
+ by 0x........: mythread_wrapper (hg_intercepts.c:...)
+ ...
+ This conflicts with a previous write of size 1 by thread #x
+ at 0x........: child8 (tc19_shadowmem.c:33)
+ by 0x........: steer (tc19_shadowmem.c:394)
+ by 0x........: mythread_wrapper (hg_intercepts.c:...)
+ ...
+---------- char gran, 0 .. 99, skip 54 ----------
+
+Thread #x was created
+ ...
+ by 0x........: pthread_create@* (hg_intercepts.c:...)
+ by 0x........: main (tc19_shadowmem.c:173)
+
+Thread #x was created
+ ...
+ by 0x........: pthread_create@* (hg_intercepts.c:...)
+ by 0x........: main (tc19_shadowmem.c:172)
+
+Possible data race during write of size 1 at 0x........ by thread #x
+ at 0x........: child8 (tc19_shadowmem.c:33)
+ by 0x........: steer (tc19_shadowmem.c:396)
+ by 0x........: mythread_wrapper (hg_intercepts.c:...)
+ ...
+ This conflicts with a previous write of size 1 by thread #x
+ at 0x........: child8 (tc19_shadowmem.c:33)
+ by 0x........: steer (tc19_shadowmem.c:396)
+ by 0x........: mythread_wrapper (hg_intercepts.c:...)
+ ...
+---------- char gran, 0 .. 99, skip 55 ----------
+
+Thread #x was created
+ ...
+ by 0x........: pthread_create@* (hg_intercepts.c:...)
+ by 0x........: main (tc19_shadowmem.c:173)
+
+Thread #x was created
+ ...
+ by 0x........: pthread_create@* (hg_intercepts.c:...)
+ by 0x........: main (tc19_shadowmem.c:172)
+
+Possible data race during write of size 1 at 0x........ by thread #x
+ at 0x........: child8 (tc19_shadowmem.c:33)
+ by 0x........: steer (tc19_shadowmem.c:398)
+ by 0x........: mythread_wrapper (hg_intercepts.c:...)
+ ...
+ This conflicts with a previous write of size 1 by thread #x
+ at 0x........: child8 (tc19_shadowmem.c:33)
+ by 0x........: steer (tc19_shadowmem.c:398)
+ by 0x........: mythread_wrapper (hg_intercepts.c:...)
+ ...
+---------- char gran, 0 .. 99, skip 56 ----------
+
+Thread #x was created
+ ...
+ by 0x........: pthread_create@* (hg_intercepts.c:...)
+ by 0x........: main (tc19_shadowmem.c:173)
+
+Thread #x was created
+ ...
+ by 0x........: pthread_create@* (hg_intercepts.c:...)
+ by 0x........: main (tc19_shadowmem.c:172)
+
+Possible data race during write of size 1 at 0x........ by thread #x
+ at 0x........: child8 (tc19_shadowmem.c:33)
+ by 0x........: steer (tc19_shadowmem.c:400)
+ by 0x........: mythread_wrapper (hg_intercepts.c:...)
+ ...
+ This conflicts with a previous write of size 1 by thread #x
+ at 0x........: child8 (tc19_shadowmem.c:33)
+ by 0x........: steer (tc19_shadowmem.c:400)
+ by 0x........: mythread_wrapper (hg_intercepts.c:...)
+ ...
+---------- char gran, 0 .. 99, skip 57 ----------
+
+Thread #x was created
+ ...
+ by 0x........: pthread_create@* (hg_intercepts.c:...)
+ by 0x........: main (tc19_shadowmem.c:173)
+
+Thread #x was created
+ ...
+ by 0x........: pthread_create@* (hg_intercepts.c:...)
+ by 0x........: main (tc19_shadowmem.c:172)
+
+Possible data race during write of size 1 at 0x........ by thread #x
+ at 0x........: child8 (tc19_shadowmem.c:33)
+ by 0x........: steer (tc19_shadowmem.c:402)
+ by 0x........: mythread_wrapper (hg_intercepts.c:...)
+ ...
+ This conflicts with a previous write of size 1 by thread #x
+ at 0x........: child8 (tc19_shadowmem.c:33)
+ by 0x........: steer (tc19_shadowmem.c:402)
+ by 0x........: mythread_wrapper (hg_intercepts.c:...)
+ ...
+---------- char gran, 0 .. 99, skip 58 ----------
+
+Thread #x was created
+ ...
+ by 0x........: pthread_create@* (hg_intercepts.c:...)
+ by 0x........: main (tc19_shadowmem.c:173)
+
+Thread #x was created
+ ...
+ by 0x........: pthread_create@* (hg_intercepts.c:...)
+ by 0x........: main (tc19_shadowmem.c:172)
+
+Possible data race during write of size 1 at 0x........ by thread #x
+ at 0x........: child8 (tc19_shadowmem.c:33)
+ by 0x........: steer (tc19_shadowmem.c:404)
+ by 0x........: mythread_wrapper (hg_intercepts.c:...)
+ ...
+ This conflicts with a previous write of size 1 by thread #x
+ at 0x........: child8 (tc19_shadowmem.c:33)
+ by 0x........: steer (tc19_shadowmem.c:404)
+ by 0x........: mythread_wrapper (hg_intercepts.c:...)
+ ...
+---------- char gran, 0 .. 99, skip 59 ----------
+
+Thread #x was created
+ ...
+ by 0x........: pthread_create@* (hg_intercepts.c:...)
+ by 0x........: main (tc19_shadowmem.c:173)
+
+Thread #x was created
+ ...
+ by 0x........: pthread_create@* (hg_intercepts.c:...)
+ by 0x........: main (tc19_shadowmem.c:172)
+
+Possible data race during write of size 1 at 0x........ by thread #x
+ at 0x........: child8 (tc19_shadowmem.c:33)
+ by 0x........: steer (tc19_shadowmem.c:406)
+ by 0x........: mythread_wrapper (hg_intercepts.c:...)
+ ...
+ This conflicts with a previous write of size 1 by thread #x
+ at 0x........: child8 (tc19_shadowmem.c:33)
+ by 0x........: steer (tc19_shadowmem.c:406)
+ by 0x........: mythread_wrapper (hg_intercepts.c:...)
+ ...
+---------- char gran, 0 .. 99, skip 60 ----------
+
+Thread #x was created
+ ...
+ by 0x........: pthread_create@* (hg_intercepts.c:...)
+ by 0x........: main (tc19_shadowmem.c:173)
+
+Thread #x was created
+ ...
+ by 0x........: pthread_create@* (hg_intercepts.c:...)
+ by 0x........: main (tc19_shadowmem.c:172)
+
+Possible data race during write of size 1 at 0x........ by thread #x
+ at 0x........: child8 (tc19_shadowmem.c:33)
+ by 0x........: steer (tc19_shadowmem.c:408)
+ by 0x........: mythread_wrapper (hg_intercepts.c:...)
+ ...
+ This conflicts with a previous write of size 1 by thread #x
+ at 0x........: child8 (tc19_shadowmem.c:33)
+ by 0x........: steer (tc19_shadowmem.c:408)
+ by 0x........: mythread_wrapper (hg_intercepts.c:...)
+ ...
+---------- char gran, 0 .. 99, skip 61 ----------
+
+Thread #x was created
+ ...
+ by 0x........: pthread_create@* (hg_intercepts.c:...)
+ by 0x........: main (tc19_shadowmem.c:173)
+
+Thread #x was created
+ ...
+ by 0x........: pthread_create@* (hg_intercepts.c:...)
+ by 0x........: main (tc19_shadowmem.c:172)
+
+Possible data race during write of size 1 at 0x........ by thread #x
+ at 0x........: child8 (tc19_shadowmem.c:33)
+ by 0x........: steer (tc19_shadowmem.c:410)
+ by 0x........: mythread_wrapper (hg_intercepts.c:...)
+ ...
+ This conflicts with a previous write of size 1 by thread #x
+ at 0x........: child8 (tc19_shadowmem.c:33)
+ by 0x........: steer (tc19_shadowmem.c:410)
+ by 0x........: mythread_wrapper (hg_intercepts.c:...)
+ ...
+---------- char gran, 0 .. 99, skip 62 ----------
+
+Thread #x was created
+ ...
+ by 0x........: pthread_create@* (hg_intercepts.c:...)
+ by 0x........: main (tc19_shadowmem.c:173)
+
+Thread #x was created
+ ...
+ by 0x........: pthread_create@* (hg_intercepts.c:...)
+ by 0x........: main (tc19_shadowmem.c:172)
+
+Possible data race during write of size 1 at 0x........ by thread #x
+ at 0x........: child8 (tc19_shadowmem.c:33)
+ by 0x........: steer (tc19_shadowmem.c:412)
+ by 0x........: mythread_wrapper (hg_intercepts.c:...)
+ ...
+ This conflicts with a previous write of size 1 by thread #x
+ at 0x........: child8 (tc19_shadowmem.c:33)
+ by 0x........: steer (tc19_shadowmem.c:412)
+ by 0x........: mythread_wrapper (hg_intercepts.c:...)
+ ...
+---------- char gran, 0 .. 99, skip 63 ----------
+
+Thread #x was created
+ ...
+ by 0x........: pthread_create@* (hg_intercepts.c:...)
+ by 0x........: main (tc19_shadowmem.c:173)
+
+Thread #x was created
+ ...
+ by 0x........: pthread_create@* (hg_intercepts.c:...)
+ by 0x........: main (tc19_shadowmem.c:172)
+
+Possible data race during write of size 1 at 0x........ by thread #x
+ at 0x........: child8 (tc19_shadowmem.c:33)
+ by 0x........: steer (tc19_shadowmem.c:414)
+ by 0x........: mythread_wrapper (hg_intercepts.c:...)
+ ...
+ This conflicts with a previous write of size 1 by thread #x
+ at 0x........: child8 (tc19_shadowmem.c:33)
+ by 0x........: steer (tc19_shadowmem.c:414)
+ by 0x........: mythread_wrapper (hg_intercepts.c:...)
+ ...
+---------- char gran, 0 .. 99, skip 64 ----------
+
+Thread #x was created
+ ...
+ by 0x........: pthread_create@* (hg_intercepts.c:...)
+ by 0x........: main (tc19_shadowmem.c:173)
+
+Thread #x was created
+ ...
+ by 0x........: pthread_create@* (hg_intercepts.c:...)
+ by 0x........: main (tc19_shadowmem.c:172)
+
+Possible data race during write of size 1 at 0x........ by thread #x
+ at 0x........: child8 (tc19_shadowmem.c:33)
+ by 0x........: steer (tc19_shadowmem.c:416)
+ by 0x........: mythread_wrapper (hg_intercepts.c:...)
+ ...
+ This conflicts with a previous write of size 1 by thread #x
+ at 0x........: child8 (tc19_shadowmem.c:33)
+ by 0x........: steer (tc19_shadowmem.c:416)
+ by 0x........: mythread_wrapper (hg_intercepts.c:...)
+ ...
+---------- char gran, 0 .. 99, skip 65 ----------
+
+Thread #x was created
+ ...
+ by 0x........: pthread_create@* (hg_intercepts.c:...)
+ by 0x........: main (tc19_shadowmem.c:173)
+
+Thread #x was created
+ ...
+ by 0x........: pthread_create@* (hg_intercepts.c:...)
+ by 0x........: main (tc19_shadowmem.c:172)
+
+Possible data race during write of size 1 at 0x........ by thread #x
+ at 0x........: child8 (tc19_shadowmem.c:33)
+ by 0x........: steer (tc19_shadowmem.c:418)
+ by 0x........: mythread_wrapper (hg_intercepts.c:...)
+ ...
+ This conflicts with a previous write of size 1 by thread #x
+ at 0x........: child8 (tc19_shadowmem.c:33)
+ by 0x........: steer (tc19_shadowmem.c:418)
+ by 0x........: mythread_wrapper (hg_intercepts.c:...)
+ ...
+---------- char gran, 0 .. 99, skip 66 ----------
+
+Thread #x was created
+ ...
+ by 0x........: pthread_create@* (hg_intercepts.c:...)
+ by 0x........: main (tc19_shadowmem.c:173)
+
+Thread #x was created
+ ...
+ by 0x........: pthread_create@* (hg_intercepts.c:...)
+ by 0x........: main (tc19_shadowmem.c:172)
+
+Possible data race during write of size 1 at 0x........ by thread #x
+ at 0x........: child8 (tc19_shadowmem.c:33)
+ by 0x........: steer (tc19_shadowmem.c:420)
+ by 0x........: mythread_wrapper (hg_intercepts.c:...)
+ ...
+ This conflicts with a previous write of size 1 by thread #x
+ at 0x........: child8 (tc19_shadowmem.c:33)
+ by 0x........: steer (tc19_shadowmem.c:420)
+ by 0x........: mythread_wrapper (hg_intercepts.c:...)
+ ...
+---------- char gran, 0 .. 99, skip 67 ----------
+
+Thread #x was created
+ ...
+ by 0x........: pthread_create@* (hg_intercepts.c:...)
+ by 0x........: main (tc19_shadowmem.c:173)
+
+Thread #x was created
+ ...
+ by 0x........: pthread_create@* (hg_intercepts.c:...)
+ by 0x........: main (tc19_shadowmem.c:172)
+
+Possible data race during write of size 1 at 0x........ by thread #x
+ at 0x........: child8 (tc19_shadowmem.c:33)
+ by 0x........: steer (tc19_shadowmem.c:422)
+ by 0x........: mythread_wrapper (hg_intercepts.c:...)
+ ...
+ This conflicts with a previous write of size 1 by thread #x
+ at 0x........: child8 (tc19_shadowmem.c:33)
+ by 0x........: steer (tc19_shadowmem.c:422)
+ by 0x........: mythread_wrapper (hg_intercepts.c:...)
+ ...
+---------- char gran, 0 .. 99, skip 68 ----------
+
+Thread #x was created
+ ...
+ by 0x........: pthread_create@* (hg_intercepts.c:...)
+ by 0x........: main (tc19_shadowmem.c:173)
+
+Thread #x was created
+ ...
+ by 0x........: pthread_create@* (hg_intercepts.c:...)
+ by 0x........: main (tc19_shadowmem.c:172)
+
+Possible data race during write of size 1 at 0x........ by thread #x
+ at 0x........: child8 (tc19_shadowmem.c:33)
+ by 0x........: steer (tc19_shadowmem.c:424)
+ by 0x........: mythread_wrapper (hg_intercepts.c:...)
+ ...
+ This conflicts with a previous write of size 1 by thread #x
+ at 0x........: child8 (tc19_shadowmem.c:33)
+ by 0x........: steer (tc19_shadowmem.c:424)
+ by 0x........: mythread_wrapper (hg_intercepts.c:...)
+ ...
+---------- char gran, 0 .. 99, skip 69 ----------
+
+Thread #x was created
+ ...
+ by 0x........: pthread_create@* (hg_intercepts.c:...)
+ by 0x........: main (tc19_shadowmem.c:173)
+
+Thread #x was created
+ ...
+ by 0x........: pthread_create@* (hg_intercepts.c:...)
+ by 0x........: main (tc19_shadowmem.c:172)
+
+Possible data race during write of size 1 at 0x........ by thread #x
+ at 0x........: child8 (tc19_shadowmem.c:33)
+ by 0x........: steer (tc19_shadowmem.c:426)
+ by 0x........: mythread_wrapper (hg_intercepts.c:...)
+ ...
+ This conflicts with a previous write of size 1 by thread #x
+ at 0x........: child8 (tc19_shadowmem.c:33)
+ by 0x........: steer (tc19_shadowmem.c:426)
+ by 0x........: mythread_wrapper (hg_intercepts.c:...)
+ ...
+---------- char gran, 0 .. 99, skip 70 ----------
+
+Thread #x was created
+ ...
+ by 0x........: pthread_create@* (hg_intercepts.c:...)
+ by 0x........: main (tc19_shadowmem.c:173)
+
+Thread #x was created
+ ...
+ by 0x........: pthread_create@* (hg_intercepts.c:...)
+ by 0x........: main (tc19_shadowmem.c:172)
+
+Possible data race during write of size 1 at 0x........ by thread #x
+ at 0x........: child8 (tc19_shadowmem.c:33)
+ by 0x........: steer (tc19_shadowmem.c:428)
+ by 0x........: mythread_wrapper (hg_intercepts.c:...)
+ ...
+ This conflicts with a previous write of size 1 by thread #x
+ at 0x........: child8 (tc19_shadowmem.c:33)
+ by 0x........: steer (tc19_shadowmem.c:428)
+ by 0x........: mythread_wrapper (hg_intercepts.c:...)
+ ...
+---------- char gran, 0 .. 99, skip 71 ----------
+
+Thread #x was created
+ ...
+ by 0x........: pthread_create@* (hg_intercepts.c:...)
+ by 0x........: main (tc19_shadowmem.c:173)
+
+Thread #x was created
+ ...
+ by 0x........: pthread_create@* (hg_intercepts.c:...)
+ by 0x........: main (tc19_shadowmem.c:172)
+
+Possible data race during write of size 1 at 0x........ by thread #x
+ at 0x........: child8 (tc19_shadowmem.c:33)
+ by 0x........: steer (tc19_shadowmem.c:430)
+ by 0x........: mythread_wrapper (hg_intercepts.c:...)
+ ...
+ This conflicts with a previous write of size 1 by thread #x
+ at 0x........: child8 (tc19_shadowmem.c:33)
+ by 0x........: steer (tc19_shadowmem.c:430)
+ by 0x........: mythread_wrapper (hg_intercepts.c:...)
+ ...
+---------- char gran, 0 .. 99, skip 72 ----------
+
+Thread #x was created
+ ...
+ by 0x........: pthread_create@* (hg_intercepts.c:...)
+ by 0x........: main (tc19_shadowmem.c:173)
+
+Thread #x was created
+ ...
+ by 0x........: pthread_create@* (hg_intercepts.c:...)
+ by 0x........: main (tc19_shadowmem.c:172)
+
+Possible data race during write of size 1 at 0x........ by thread #x
+ at 0x........: child8 (tc19_shadowmem.c:33)
+ by 0x........: steer (tc19_shadowmem.c:432)
+ by 0x........: mythread_wrapper (hg_intercepts.c:...)
+ ...
+ This conflicts with a previous write of size 1 by thread #x
+ at 0x........: child8 (tc19_shadowmem.c:33)
+ by 0x........: steer (tc19_shadowmem.c:432)
+ by 0x........: mythread_wrapper (hg_intercepts.c:...)
+ ...
+---------- char gran, 0 .. 99, skip 73 ----------
+
+Thread #x was created
+ ...
+ by 0x........: pthread_create@* (hg_intercepts.c:...)
+ by 0x........: main (tc19_shadowmem.c:173)
+
+Thread #x was created
+ ...
+ by 0x........: pthread_create@* (hg_intercepts.c:...)
+ by 0x........: main (tc19_shadowmem.c:172)
+
+Possible data race during write of size 1 at 0x........ by thread #x
+ at 0x........: child8 (tc19_shadowmem.c:33)
+ by 0x........: steer (tc19_shadowmem.c:434)
+ by 0x........: mythread_wrapper (hg_intercepts.c:...)
+ ...
+ This conflicts with a previous write of size 1 by thread #x
+ at 0x........: child8 (tc19_shadowmem.c:33)
+ by 0x........: steer (tc19_shadowmem.c:434)
+ by 0x........: mythread_wrapper (hg_intercepts.c:...)
+ ...
+---------- char gran, 0 .. 99, skip 74 ----------
+
+Thread #x was created
+ ...
+ by 0x........: pthread_create@* (hg_intercepts.c:...)
+ by 0x........: main (tc19_shadowmem.c:173)
+
+Thread #x was created
+ ...
+ by 0x........: pthread_create@* (hg_intercepts.c:...)
+ by 0x........: main (tc19_shadowmem.c:172)
+
+Possible data race during write of size 1 at 0x........ by thread #x
+ at 0x........: child8 (tc19_shadowmem.c:33)
+ by 0x........: steer (tc19_shadowmem.c:436)
+ by 0x........: mythread_wrapper (hg_intercepts.c:...)
+ ...
+ This conflicts with a previous write of size 1 by thread #x
+ at 0x........: child8 (tc19_shadowmem.c:33)
+ by 0x........: steer (tc19_shadowmem.c:436)
+ by 0x........: mythread_wrapper (hg_intercepts.c:...)
+ ...
+---------- char gran, 0 .. 99, skip 75 ----------
+
+Thread #x was created
+ ...
+ by 0x........: pthread_create@* (hg_intercepts.c:...)
+ by 0x........: main (tc19_shadowmem.c:173)
+
+Thread #x was created
+ ...
+ by 0x........: pthread_create@* (hg_intercepts.c:...)
+ by 0x........: main (tc19_shadowmem.c:172)
+
+Possible data race during write of size 1 at 0x........ by thread #x
+ at 0x........: child8 (tc19_shadowmem.c:33)
+ by 0x........: steer (tc19_shadowmem.c:438)
+ by 0x........: mythread_wrapper (hg_intercepts.c:...)
+ ...
+ This conflicts with a previous write of size 1 by thread #x
+ at 0x........: child8 (tc19_shadowmem.c:33)
+ by 0x........: steer (tc19_shadowmem.c:438)
+ by 0x........: mythread_wrapper (hg_intercepts.c:...)
+ ...
+---------- char gran, 0 .. 99, skip 76 ----------
+
+Thread #x was created
+ ...
+ by 0x........: pthread_create@* (hg_intercepts.c:...)
+ by 0x........: main (tc19_shadowmem.c:173)
+
+Thread #x was created
+ ...
+ by 0x........: pthread_create@* (hg_intercepts.c:...)
+ by 0x........: main (tc19_shadowmem.c:172)
+
+Possible data race during write of size 1 at 0x........ by thread #x
+ at 0x........: child8 (tc19_shadowmem.c:33)
+ by 0x........: steer (tc19_shadowmem.c:440)
+ by 0x........: mythread_wrapper (hg_intercepts.c:...)
+ ...
+ This conflicts with a previous write of size 1 by thread #x
+ at 0x........: child8 (tc19_shadowmem.c:33)
+ by 0x........: steer (tc19_shadowmem.c:440)
+ by 0x........: mythread_wrapper (hg_intercepts.c:...)
+ ...
+---------- char gran, 0 .. 99, skip 77 ----------
+
+Thread #x was created
+ ...
+ by 0x........: pthread_create@* (hg_intercepts.c:...)
+ by 0x........: main (tc19_shadowmem.c:173)
+
+Thread #x was created
+ ...
+ by 0x........: pthread_create@* (hg_intercepts.c:...)
+ by 0x........: main (tc19_shadowmem.c:172)
+
+Possible data race during write of size 1 at 0x........ by thread #x
+ at 0x........: child8 (tc19_shadowmem.c:33)
+ by 0x........: steer (tc19_shadowmem.c:442)
+ by 0x........: mythread_wrapper (hg_intercepts.c:...)
+ ...
+ This conflicts with a previous write of size 1 by thread #x
+ at 0x........: child8 (tc19_shadowmem.c:33)
+ by 0x........: steer (tc19_shadowmem.c:442)
+ by 0x........: mythread_wrapper (hg_intercepts.c:...)
+ ...
+---------- char gran, 0 .. 99, skip 78 ----------
+
+Thread #x was created
+ ...
+ by 0x........: pthread_create@* (hg_intercepts.c:...)
+ by 0x........: main (tc19_shadowmem.c:173)
+
+Thread #x was created
+ ...
+ by 0x........: pthread_create@* (hg_intercepts.c:...)
+ by 0x........: main (tc19_shadowmem.c:172)
+
+Possible data race during write of size 1 at 0x........ by thread #x
+ at 0x........: child8 (tc19_shadowmem.c:33)
+ by 0x........: steer (tc19_shadowmem.c:444)
+ by 0x........: mythread_wrapper (hg_intercepts.c:...)
+ ...
+ This conflicts with a previous write of size 1 by thread #x
+ at 0x........: child8 (tc19_shadowmem.c:33)
+ by 0x........: steer (tc19_shadowmem.c:444)
+ by 0x........: mythread_wrapper (hg_intercepts.c:...)
+ ...
+---------- char gran, 0 .. 99, skip 79 ----------
+
+Thread #x was created
+ ...
+ by 0x........: pthread_create@* (hg_intercepts.c:...)
+ by 0x........: main (tc19_shadowmem.c:173)
+
+Thread #x was created
+ ...
+ by 0x........: pthread_create@* (hg_intercepts.c:...)
+ by 0x........: main (tc19_shadowmem.c:172)
+
+Possible data race during write of size 1 at 0x........ by thread #x
+ at 0x........: child8 (tc19_shadowmem.c:33)
+ by 0x........: steer (tc19_shadowmem.c:446)
+ by 0x........: mythread_wrapper (hg_intercepts.c:...)
+ ...
+ This conflicts with a previous write of size 1 by thread #x
+ at 0x........: child8 (tc19_shadowmem.c:33)
+ by 0x........: steer (tc19_shadowmem.c:446)
+ by 0x........: mythread_wrapper (hg_intercepts.c:...)
+ ...
+---------- char gran, 0 .. 99, skip 80 ----------
+
+Thread #x was created
+ ...
+ by 0x........: pthread_create@* (hg_intercepts.c:...)
+ by 0x........: main (tc19_shadowmem.c:173)
+
+Thread #x was created
+ ...
+ by 0x........: pthread_create@* (hg_intercepts.c:...)
+ by 0x........: main (tc19_shadowmem.c:172)
+
+Possible data race during write of size 1 at 0x........ by thread #x
+ at 0x........: child8 (tc19_shadowmem.c:33)
+ by 0x........: steer (tc19_shadowmem.c:448)
+ by 0x........: mythread_wrapper (hg_intercepts.c:...)
+ ...
+ This conflicts with a previous write of size 1 by thread #x
+ at 0x........: child8 (tc19_shadowmem.c:33)
+ by 0x........: steer (tc19_shadowmem.c:448)
+ by 0x........: mythread_wrapper (hg_intercepts.c:...)
+ ...
+---------- char gran, 0 .. 99, skip 81 ----------
+
+Thread #x was created
+ ...
+ by 0x........: pthread_create@* (hg_intercepts.c:...)
+ by 0x........: main (tc19_shadowmem.c:173)
+
+Thread #x was created
+ ...
+ by 0x........: pthread_create@* (hg_intercepts.c:...)
+ by 0x........: main (tc19_shadowmem.c:172)
+
+Possible data race during write of size 1 at 0x........ by thread #x
+ at 0x........: child8 (tc19_shadowmem.c:33)
+ by 0x........: steer (tc19_shadowmem.c:450)
+ by 0x........: mythread_wrapper (hg_intercepts.c:...)
+ ...
+ This conflicts with a previous write of size 1 by thread #x
+ at 0x........: child8 (tc19_shadowmem.c:33)
+ by 0x........: steer (tc19_shadowmem.c:450)
+ by 0x........: mythread_wrapper (hg_intercepts.c:...)
+ ...
+---------- char gran, 0 .. 99, skip 82 ----------
+
+Thread #x was created
+ ...
+ by 0x........: pthread_create@* (hg_intercepts.c:...)
+ by 0x........: main (tc19_shadowmem.c:173)
+
+Thread #x was created
+ ...
+ by 0x........: pthread_create@* (hg_intercepts.c:...)
+ by 0x........: main (tc19_shadowmem.c:172)
+
+Possible data race during write of size 1 at 0x........ by thread #x
+ at 0x........: child8 (tc19_shadowmem.c:33)
+ by 0x........: steer (tc19_shadowmem.c:452)
+ by 0x........: mythread_wrapper (hg_intercepts.c:...)
+ ...
+ This conflicts with a previous write of size 1 by thread #x
+ at 0x........: child8 (tc19_shadowmem.c:33)
+ by 0x........: steer (tc19_shadowmem.c:452)
+ by 0x........: mythread_wrapper (hg_intercepts.c:...)
+ ...
+---------- char gran, 0 .. 99, skip 83 ----------
+
+Thread #x was created
+ ...
+ by 0x........: pthread_create@* (hg_intercepts.c:...)
+ by 0x........: main (tc19_shadowmem.c:173)
+
+Thread #x was created
+ ...
+ by 0x........: pthread_create@* (hg_intercepts.c:...)
+ by 0x........: main (tc19_shadowmem.c:172)
+
+Possible data race during write of size 1 at 0x........ by thread #x
+ at 0x........: child8 (tc19_shadowmem.c:33)
+ by 0x........: steer (tc19_shadowmem.c:454)
+ by 0x........: mythread_wrapper (hg_intercepts.c:...)
+ ...
+ This conflicts with a previous write of size 1 by thread #x
+ at 0x........: child8 (tc19_shadowmem.c:33)
+ by 0x........: steer (tc19_shadowmem.c:454)
+ by 0x........: mythread_wrapper (hg_intercepts.c:...)
+ ...
+---------- char gran, 0 .. 99, skip 84 ----------
+
+Thread #x was created
+ ...
+ by 0x........: pthread_create@* (hg_intercepts.c:...)
+ by 0x........: main (tc19_shadowmem.c:173)
+
+Thread #x was created
+ ...
+ by 0x........: pthread_create@* (hg_intercepts.c:...)
+ by 0x........: main (tc19_shadowmem.c:172)
+
+Possible data race during write of size 1 at 0x........ by thread #x
+ at 0x........: child8 (tc19_shadowmem.c:33)
+ by 0x........: steer (tc19_shadowmem.c:456)
+ by 0x........: mythread_wrapper (hg_intercepts.c:...)
+ ...
+ This conflicts with a previous write of size 1 by thread #x
+ at 0x........: child8 (tc19_shadowmem.c:33)
+ by 0x........: steer (tc19_shadowmem.c:456)
+ by 0x........: mythread_wrapper (hg_intercepts.c:...)
+ ...
+---------- char gran, 0 .. 99, skip 85 ----------
+
+Thread #x was created
+ ...
+ by 0x........: pthread_create@* (hg_intercepts.c:...)
+ by 0x........: main (tc19_shadowmem.c:173)
+
+Thread #x was created
+ ...
+ by 0x........: pthread_create@* (hg_intercepts.c:...)
+ by 0x........: main (tc19_shadowmem.c:172)
+
+Possible data race during write of size 1 at 0x........ by thread #x
+ at 0x........: child8 (tc19_shadowmem.c:33)
+ by 0x........: steer (tc19_shadowmem.c:458)
+ by 0x........: mythread_wrapper (hg_intercepts.c:...)
+ ...
+ This conflicts with a previous write of size 1 by thread #x
+ at 0x........: child8 (tc19_shadowmem.c:33)
+ by 0x........: steer (tc19_shadowmem.c:458)
+ by 0x........: mythread_wrapper (hg_intercepts.c:...)
+ ...
+---------- char gran, 0 .. 99, skip 86 ----------
+
+Thread #x was created
+ ...
+ by 0x........: pthread_create@* (hg_intercepts.c:...)
+ by 0x........: main (tc19_shadowmem.c:173)
+
+Thread #x was created
+ ...
+ by 0x........: pthread_create@* (hg_intercepts.c:...)
+ by 0x........: main (tc19_shadowmem.c:172)
+
+Possible data race during write of size 1 at 0x........ by thread #x
+ at 0x........: child8 (tc19_shadowmem.c:33)
+ by 0x........: steer (tc19_shadowmem.c:460)
+ by 0x........: mythread_wrapper (hg_intercepts.c:...)
+ ...
+ This conflicts with a previous write of size 1 by thread #x
+ at 0x........: child8 (tc19_shadowmem.c:33)
+ by 0x........: steer (tc19_shadowmem.c:460)
+ by 0x........: mythread_wrapper (hg_intercepts.c:...)
+ ...
+---------- char gran, 0 .. 99, skip 87 ----------
+
+Thread #x was created
+ ...
+ by 0x........: pthread_create@* (hg_intercepts.c:...)
+ by 0x........: main (tc19_shadowmem.c:173)
+
+Thread #x was created
+ ...
+ by 0x........: pthread_create@* (hg_intercepts.c:...)
+ by 0x........: main (tc19_shadowmem.c:172)
+
+Possible data race during write of size 1 at 0x........ by thread #x
+ at 0x........: child8 (tc19_shadowmem.c:33)
+ by 0x........: steer (tc19_shadowmem.c:462)
+ by 0x........: mythread_wrapper (hg_intercepts.c:...)
+ ...
+ This conflicts with a previous write of size 1 by thread #x
+ at 0x........: child8 (tc19_shadowmem.c:33)
+ by 0x........: steer (tc19_shadowmem.c:462)
+ by 0x........: mythread_wrapper (hg_intercepts.c:...)
+ ...
+---------- char gran, 0 .. 99, skip 88 ----------
+
+Thread #x was created
+ ...
+ by 0x........: pthread_create@* (hg_intercepts.c:...)
+ by 0x........: main (tc19_shadowmem.c:173)
+
+Thread #x was created
+ ...
+ by 0x........: pthread_create@* (hg_intercepts.c:...)
+ by 0x........: main (tc19_shadowmem.c:172)
+
+Possible data race during write of size 1 at 0x........ by thread #x
+ at 0x........: child8 (tc19_shadowmem.c:33)
+ by 0x........: steer (tc19_shadowmem.c:464)
+ by 0x........: mythread_wrapper (hg_intercepts.c:...)
+ ...
+ This conflicts with a previous write of size 1 by thread #x
+ at 0x........: child8 (tc19_shadowmem.c:33)
+ by 0x........: steer (tc19_shadowmem.c:464)
+ by 0x........: mythread_wrapper (hg_intercepts.c:...)
+ ...
+---------- char gran, 0 .. 99, skip 89 ----------
+
+Thread #x was created
+ ...
+ by 0x........: pthread_create@* (hg_intercepts.c:...)
+ by 0x........: main (tc19_shadowmem.c:173)
+
+Thread #x was created
+ ...
+ by 0x........: pthread_create@* (hg_intercepts.c:...)
+ by 0x........: main (tc19_shadowmem.c:172)
+
+Possible data race during write of size 1 at 0x........ by thread #x
+ at 0x........: child8 (tc19_shadowmem.c:33)
+ by 0x........: steer (tc19_shadowmem.c:466)
+ by 0x........: mythread_wrapper (hg_intercepts.c:...)
+ ...
+ This conflicts with a previous write of size 1 by thread #x
+ at 0x........: child8 (tc19_shadowmem.c:33)
+ by 0x........: steer (tc19_shadowmem.c:466)
+ by 0x........: mythread_wrapper (hg_intercepts.c:...)
+ ...
+---------- char gran, 0 .. 99, skip 90 ----------
+
+Thread #x was created
+ ...
+ by 0x........: pthread_create@* (hg_intercepts.c:...)
+ by 0x........: main (tc19_shadowmem.c:173)
+
+Thread #x was created
+ ...
+ by 0x........: pthread_create@* (hg_intercepts.c:...)
+ by 0x........: main (tc19_shadowmem.c:172)
+
+Possible data race during write of size 1 at 0x........ by thread #x
+ at 0x........: child8 (tc19_shadowmem.c:33)
+ by 0x........: steer (tc19_shadowmem.c:468)
+ by 0x........: mythread_wrapper (hg_intercepts.c:...)
+ ...
+ This conflicts with a previous write of size 1 by thread #x
+ at 0x........: child8 (tc19_shadowmem.c:33)
+ by 0x........: steer (tc19_shadowmem.c:468)
+ by 0x........: mythread_wrapper (hg_intercepts.c:...)
+ ...
+---------- char gran, 0 .. 99, skip 91 ----------
+
+Thread #x was created
+ ...
+ by 0x........: pthread_create@* (hg_intercepts.c:...)
+ by 0x........: main (tc19_shadowmem.c:173)
+
+Thread #x was created
+ ...
+ by 0x........: pthread_create@* (hg_intercepts.c:...)
+ by 0x........: main (tc19_shadowmem.c:172)
+
+Possible data race during write of size 1 at 0x........ by thread #x
+ at 0x........: child8 (tc19_shadowmem.c:33)
+ by 0x........: steer (tc19_shadowmem.c:470)
+ by 0x........: mythread_wrapper (hg_intercepts.c:...)
+ ...
+ This conflicts with a previous write of size 1 by thread #x
+ at 0x........: child8 (tc19_shadowmem.c:33)
+ by 0x........: steer (tc19_shadowmem.c:470)
+ by 0x........: mythread_wrapper (hg_intercepts.c:...)
+ ...
+---------- char gran, 0 .. 99, skip 92 ----------
+
+Thread #x was created
+ ...
+ by 0x........: pthread_create@* (hg_intercepts.c:...)
+ by 0x........: main (tc19_shadowmem.c:173)
+
+Thread #x was created
+ ...
+ by 0x........: pthread_create@* (hg_intercepts.c:...)
+ by 0x........: main (tc19_shadowmem.c:172)
+
+Possible data race during write of size 1 at 0x........ by thread #x
+ at 0x........: child8 (tc19_shadowmem.c:33)
+ by 0x........: steer (tc19_shadowmem.c:472)
+ by 0x........: mythread_wrapper (hg_intercepts.c:...)
+ ...
+ This conflicts with a previous write of size 1 by thread #x
+ at 0x........: child8 (tc19_shadowmem.c:33)
+ by 0x........: steer (tc19_shadowmem.c:472)
+ by 0x........: mythread_wrapper (hg_intercepts.c:...)
+ ...
+---------- char gran, 0 .. 99, skip 93 ----------
+
+Thread #x was created
+ ...
+ by 0x........: pthread_create@* (hg_intercepts.c:...)
+ by 0x........: main (tc19_shadowmem.c:173)
+
+Thread #x was created
+ ...
+ by 0x........: pthread_create@* (hg_intercepts.c:...)
+ by 0x........: main (tc19_shadowmem.c:172)
+
+Possible data race during write of size 1 at 0x........ by thread #x
+ at 0x........: child8 (tc19_shadowmem.c:33)
+ by 0x........: steer (tc19_shadowmem.c:474)
+ by 0x........: mythread_wrapper (hg_intercepts.c:...)
+ ...
+ This conflicts with a previous write of size 1 by thread #x
+ at 0x........: child8 (tc19_shadowmem.c:33)
+ by 0x........: steer (tc19_shadowmem.c:474)
+ by 0x........: mythread_wrapper (hg_intercepts.c:...)
+ ...
+---------- char gran, 0 .. 99, skip 94 ----------
+
+Thread #x was created
+ ...
+ by 0x........: pthread_create@* (hg_intercepts.c:...)
+ by 0x........: main (tc19_shadowmem.c:173)
+
+Thread #x was created
+ ...
+ by 0x........: pthread_create@* (hg_intercepts.c:...)
+ by 0x........: main (tc19_shadowmem.c:172)
+
+Possible data race during write of size 1 at 0x........ by thread #x
+ at 0x........: child8 (tc19_shadowmem.c:33)
+ by 0x........: steer (tc19_shadowmem.c:476)
+ by 0x........: mythread_wrapper (hg_intercepts.c:...)
+ ...
+ This conflicts with a previous write of size 1 by thread #x
+ at 0x........: child8 (tc19_shadowmem.c:33)
+ by 0x........: steer (tc19_shadowmem.c:476)
+ by 0x........: mythread_wrapper (hg_intercepts.c:...)
+ ...
+---------- char gran, 0 .. 99, skip 95 ----------
+
+Thread #x was created
+ ...
+ by 0x........: pthread_create@* (hg_intercepts.c:...)
+ by 0x........: main (tc19_shadowmem.c:173)
+
+Thread #x was created
+ ...
+ by 0x........: pthread_create@* (hg_intercepts.c:...)
+ by 0x........: main (tc19_shadowmem.c:172)
+
+Possible data race during write of size 1 at 0x........ by thread #x
+ at 0x........: child8 (tc19_shadowmem.c:33)
+ by 0x........: steer (tc19_shadowmem.c:478)
+ by 0x........: mythread_wrapper (hg_intercepts.c:...)
+ ...
+ This conflicts with a previous write of size 1 by thread #x
+ at 0x........: child8 (tc19_shadowmem.c:33)
+ by 0x........: steer (tc19_shadowmem.c:478)
+ by 0x........: mythread_wrapper (hg_intercepts.c:...)
+ ...
+---------- char gran, 0 .. 99, skip 96 ----------
+
+Thread #x was created
+ ...
+ by 0x........: pthread_create@* (hg_intercepts.c:...)
+ by 0x........: main (tc19_shadowmem.c:173)
+
+Thread #x was created
+ ...
+ by 0x........: pthread_create@* (hg_intercepts.c:...)
+ by 0x........: main (tc19_shadowmem.c:172)
+
+Possible data race during write of size 1 at 0x........ by thread #x
+ at 0x........: child8 (tc19_shadowmem.c:33)
+ by 0x........: steer (tc19_shadowmem.c:480)
+ by 0x........: mythread_wrapper (hg_intercepts.c:...)
+ ...
+ This conflicts with a previous write of size 1 by thread #x
+ at 0x........: child8 (tc19_shadowmem.c:33)
+ by 0x........: steer (tc19_shadowmem.c:480)
+ by 0x........: mythread_wrapper (hg_intercepts.c:...)
+ ...
+---------- char gran, 0 .. 99, skip 97 ----------
+
+Thread #x was created
+ ...
+ by 0x........: pthread_create@* (hg_intercepts.c:...)
+ by 0x........: main (tc19_shadowmem.c:173)
+
+Thread #x was created
+ ...
+ by 0x........: pthread_create@* (hg_intercepts.c:...)
+ by 0x........: main (tc19_shadowmem.c:172)
+
+Possible data race during write of size 1 at 0x........ by thread #x
+ at 0x........: child8 (tc19_shadowmem.c:33)
+ by 0x........: steer (tc19_shadowmem.c:482)
+ by 0x........: mythread_wrapper (hg_intercepts.c:...)
+ ...
+ This conflicts with a previous write of size 1 by thread #x
+ at 0x........: child8 (tc19_shadowmem.c:33)
+ by 0x........: steer (tc19_shadowmem.c:482)
+ by 0x........: mythread_wrapper (hg_intercepts.c:...)
+ ...
+---------- char gran, 0 .. 99, skip 98 ----------
+
+Thread #x was created
+ ...
+ by 0x........: pthread_create@* (hg_intercepts.c:...)
+ by 0x........: main (tc19_shadowmem.c:173)
+
+Thread #x was created
+ ...
+ by 0x........: pthread_create@* (hg_intercepts.c:...)
+ by 0x........: main (tc19_shadowmem.c:172)
+
+Possible data race during write of size 1 at 0x........ by thread #x
+ at 0x........: child8 (tc19_shadowmem.c:33)
+ by 0x........: steer (tc19_shadowmem.c:484)
+ by 0x........: mythread_wrapper (hg_intercepts.c:...)
+ ...
+ This conflicts with a previous write of size 1 by thread #x
+ at 0x........: child8 (tc19_shadowmem.c:33)
+ by 0x........: steer (tc19_shadowmem.c:484)
+ by 0x........: mythread_wrapper (hg_intercepts.c:...)
+ ...
+
+==========================================================
+=== 16 16 16 16 16 16 16 16 16 16 16 16 16 16 16 16 16 ===
+==========================================================
+
+---------- short gran, 0 .. 98, skip 0 ----------
+
+Thread #x was created
+ ...
+ by 0x........: pthread_create@* (hg_intercepts.c:...)
+ by 0x........: main (tc19_shadowmem.c:204)
+
+Thread #x was created
+ ...
+ by 0x........: pthread_create@* (hg_intercepts.c:...)
+ by 0x........: main (tc19_shadowmem.c:203)
+
+Possible data race during write of size 2 at 0x........ by thread #x
+ at 0x........: child16 (tc19_shadowmem.c:57)
+ by 0x........: steer (tc19_shadowmem.c:288)
+ by 0x........: mythread_wrapper (hg_intercepts.c:...)
+ ...
+ This conflicts with a previous write of size 2 by thread #x
+ at 0x........: child16 (tc19_shadowmem.c:57)
+ by 0x........: steer (tc19_shadowmem.c:288)
+ by 0x........: mythread_wrapper (hg_intercepts.c:...)
+ ...
+
+More than 100 errors detected. Subsequent errors
+will still be recorded, but in less detail than before.
+---------- short gran, 1 .. 98, skip 1 ----------
+
+Thread #x was created
+ ...
+ by 0x........: pthread_create@* (hg_intercepts.c:...)
+ by 0x........: main (tc19_shadowmem.c:204)
+
+Thread #x was created
+ ...
+ by 0x........: pthread_create@* (hg_intercepts.c:...)
+ by 0x........: main (tc19_shadowmem.c:203)
+
+Possible data race during write of size 1 at 0x........ by thread #x
+ at 0x........: child16 (tc19_shadowmem.c:57)
+ by 0x........: steer (tc19_shadowmem.c:290)
+ by 0x........: mythread_wrapper (hg_intercepts.c:...)
+ ...
+ This conflicts with a previous write of size 1 by thread #x
+ at 0x........: child16 (tc19_shadowmem.c:57)
+ by 0x........: steer (tc19_shadowmem.c:290)
+ by 0x........: mythread_wrapper (hg_intercepts.c:...)
+ ...
+
+Possible data race during write of size 1 at 0x........ by thread #x
+ at 0x........: child16 (tc19_shadowmem.c:57)
+ by 0x........: steer (tc19_shadowmem.c:290)
+ by 0x........: mythread_wrapper (hg_intercepts.c:...)
+ ...
+ This conflicts with a previous write of size 1 by thread #x
+ at 0x........: child16 (tc19_shadowmem.c:57)
+ by 0x........: steer (tc19_shadowmem.c:290)
+ by 0x........: mythread_wrapper (hg_intercepts.c:...)
+ ...
+---------- short gran, 0 .. 98, skip 2 ----------
+
+Thread #x was created
+ ...
+ by 0x........: pthread_create@* (hg_intercepts.c:...)
+ by 0x........: main (tc19_shadowmem.c:204)
+
+Thread #x was created
+ ...
+ by 0x........: pthread_create@* (hg_intercepts.c:...)
+ by 0x........: main (tc19_shadowmem.c:203)
+
+Possible data race during write of size 2 at 0x........ by thread #x
+ at 0x........: child16 (tc19_shadowmem.c:57)
+ by 0x........: steer (tc19_shadowmem.c:292)
+ by 0x........: mythread_wrapper (hg_intercepts.c:...)
+ ...
+ This conflicts with a previous write of size 2 by thread #x
+ at 0x........: child16 (tc19_shadowmem.c:57)
+ by 0x........: steer (tc19_shadowmem.c:292)
+ by 0x........: mythread_wrapper (hg_intercepts.c:...)
+ ...
+---------- short gran, 1 .. 98, skip 3 ----------
+
+Thread #x was created
+ ...
+ by 0x........: pthread_create@* (hg_intercepts.c:...)
+ by 0x........: main (tc19_shadowmem.c:204)
+
+Thread #x was created
+ ...
+ by 0x........: pthread_create@* (hg_intercepts.c:...)
+ by 0x........: main (tc19_shadowmem.c:203)
+
+Possible data race during write of size 1 at 0x........ by thread #x
+ at 0x........: child16 (tc19_shadowmem.c:57)
+ by 0x........: steer (tc19_shadowmem.c:294)
+ by 0x........: mythread_wrapper (hg_intercepts.c:...)
+ ...
+ This conflicts with a previous write of size 1 by thread #x
+ at 0x........: child16 (tc19_shadowmem.c:57)
+ by 0x........: steer (tc19_shadowmem.c:294)
+ by 0x........: mythread_wrapper (hg_intercepts.c:...)
+ ...
+
+Possible data race during write of size 1 at 0x........ by thread #x
+ at 0x........: child16 (tc19_shadowmem.c:57)
+ by 0x........: steer (tc19_shadowmem.c:294)
+ by 0x........: mythread_wrapper (hg_intercepts.c:...)
+ ...
+ This conflicts with a previous write of size 1 by thread #x
+ at 0x........: child16 (tc19_shadowmem.c:57)
+ by 0x........: steer (tc19_shadowmem.c:294)
+ by 0x........: mythread_wrapper (hg_intercepts.c:...)
+ ...
+---------- short gran, 0 .. 98, skip 4 ----------
+
+Thread #x was created
+ ...
+ by 0x........: pthread_create@* (hg_intercepts.c:...)
+ by 0x........: main (tc19_shadowmem.c:204)
+
+Thread #x was created
+ ...
+ by 0x........: pthread_create@* (hg_intercepts.c:...)
+ by 0x........: main (tc19_shadowmem.c:203)
+
+Possible data race during write of size 2 at 0x........ by thread #x
+ at 0x........: child16 (tc19_shadowmem.c:57)
+ by 0x........: steer (tc19_shadowmem.c:296)
+ by 0x........: mythread_wrapper (hg_intercepts.c:...)
+ ...
+ This conflicts with a previous write of size 2 by thread #x
+ at 0x........: child16 (tc19_shadowmem.c:57)
+ by 0x........: steer (tc19_shadowmem.c:296)
+ by 0x........: mythread_wrapper (hg_intercepts.c:...)
+ ...
+---------- short gran, 1 .. 98, skip 5 ----------
+
+Thread #x was created
+ ...
+ by 0x........: pthread_create@* (hg_intercepts.c:...)
+ by 0x........: main (tc19_shadowmem.c:204)
+
+Thread #x was created
+ ...
+ by 0x........: pthread_create@* (hg_intercepts.c:...)
+ by 0x........: main (tc19_shadowmem.c:203)
+
+Possible data race during write of size 1 at 0x........ by thread #x
+ at 0x........: child16 (tc19_shadowmem.c:57)
+ by 0x........: steer (tc19_shadowmem.c:298)
+ by 0x........: mythread_wrapper (hg_intercepts.c:...)
+ ...
+ This conflicts with a previous write of size 1 by thread #x
+ at 0x........: child16 (tc19_shadowmem.c:57)
+ by 0x........: steer (tc19_shadowmem.c:298)
+ by 0x........: mythread_wrapper (hg_intercepts.c:...)
+ ...
+
+Possible data race during write of size 1 at 0x........ by thread #x
+ at 0x........: child16 (tc19_shadowmem.c:57)
+ by 0x........: steer (tc19_shadowmem.c:298)
+ by 0x........: mythread_wrapper (hg_intercepts.c:...)
+ ...
+ This conflicts with a previous write of size 1 by thread #x
+ at 0x........: child16 (tc19_shadowmem.c:57)
+ by 0x........: steer (tc19_shadowmem.c:298)
+ by 0x........: mythread_wrapper (hg_intercepts.c:...)
+ ...
+---------- short gran, 0 .. 98, skip 6 ----------
+
+Thread #x was created
+ ...
+ by 0x........: pthread_create@* (hg_intercepts.c:...)
+ by 0x........: main (tc19_shadowmem.c:204)
+
+Thread #x was created
+ ...
+ by 0x........: pthread_create@* (hg_intercepts.c:...)
+ by 0x........: main (tc19_shadowmem.c:203)
+
+Possible data race during write of size 2 at 0x........ by thread #x
+ at 0x........: child16 (tc19_shadowmem.c:57)
+ by 0x........: steer (tc19_shadowmem.c:300)
+ by 0x........: mythread_wrapper (hg_intercepts.c:...)
+ ...
+ This conflicts with a previous write of size 2 by thread #x
+ at 0x........: child16 (tc19_shadowmem.c:57)
+ by 0x........: steer (tc19_shadowmem.c:300)
+ by 0x........: mythread_wrapper (hg_intercepts.c:...)
+ ...
+---------- short gran, 1 .. 98, skip 7 ----------
+
+Thread #x was created
+ ...
+ by 0x........: pthread_create@* (hg_intercepts.c:...)
+ by 0x........: main (tc19_shadowmem.c:204)
+
+Thread #x was created
+ ...
+ by 0x........: pthread_create@* (hg_intercepts.c:...)
+ by 0x........: main (tc19_shadowmem.c:203)
+
+Possible data race during write of size 1 at 0x........ by thread #x
+ at 0x........: child16 (tc19_shadowmem.c:57)
+ by 0x........: steer (tc19_shadowmem.c:302)
+ by 0x........: mythread_wrapper (hg_intercepts.c:...)
+ ...
+ This conflicts with a previous write of size 1 by thread #x
+ at 0x........: child16 (tc19_shadowmem.c:57)
+ by 0x........: steer (tc19_shadowmem.c:302)
+ by 0x........: mythread_wrapper (hg_intercepts.c:...)
+ ...
+
+Possible data race during write of size 1 at 0x........ by thread #x
+ at 0x........: child16 (tc19_shadowmem.c:57)
+ by 0x........: steer (tc19_shadowmem.c:302)
+ by 0x........: mythread_wrapper (hg_intercepts.c:...)
+ ...
+ This conflicts with a previous write of size 1 by thread #x
+ at 0x........: child16 (tc19_shadowmem.c:57)
+ by 0x........: steer (tc19_shadowmem.c:302)
+ by 0x........: mythread_wrapper (hg_intercepts.c:...)
+ ...
+---------- short gran, 0 .. 98, skip 8 ----------
+
+Thread #x was created
+ ...
+ by 0x........: pthread_create@* (hg_intercepts.c:...)
+ by 0x........: main (tc19_shadowmem.c:204)
+
+Thread #x was created
+ ...
+ by 0x........: pthread_create@* (hg_intercepts.c:...)
+ by 0x........: main (tc19_shadowmem.c:203)
+
+Possible data race during write of size 2 at 0x........ by thread #x
+ at 0x........: child16 (tc19_shadowmem.c:57)
+ by 0x........: steer (tc19_shadowmem.c:304)
+ by 0x........: mythread_wrapper (hg_intercepts.c:...)
+ ...
+ This conflicts with a previous write of size 2 by thread #x
+ at 0x........: child16 (tc19_shadowmem.c:57)
+ by 0x........: steer (tc19_shadowmem.c:304)
+ by 0x........: mythread_wrapper (hg_intercepts.c:...)
+ ...
+---------- short gran, 1 .. 98, skip 9 ----------
+
+Thread #x was created
+ ...
+ by 0x........: pthread_create@* (hg_intercepts.c:...)
+ by 0x........: main (tc19_shadowmem.c:204)
+
+Thread #x was created
+ ...
+ by 0x........: pthread_create@* (hg_intercepts.c:...)
+ by 0x........: main (tc19_shadowmem.c:203)
+
+Possible data race during write of size 1 at 0x........ by thread #x
+ at 0x........: child16 (tc19_shadowmem.c:57)
+ by 0x........: steer (tc19_shadowmem.c:306)
+ by 0x........: mythread_wrapper (hg_intercepts.c:...)
+ ...
+ This conflicts with a previous write of size 1 by thread #x
+ at 0x........: child16 (tc19_shadowmem.c:57)
+ by 0x........: steer (tc19_shadowmem.c:306)
+ by 0x........: mythread_wrapper (hg_intercepts.c:...)
+ ...
+
+Possible data race during write of size 1 at 0x........ by thread #x
+ at 0x........: child16 (tc19_shadowmem.c:57)
+ by 0x........: steer (tc19_shadowmem.c:306)
+ by 0x........: mythread_wrapper (hg_intercepts.c:...)
+ ...
+ This conflicts with a previous write of size 1 by thread #x
+ at 0x........: child16 (tc19_shadowmem.c:57)
+ by 0x........: steer (tc19_shadowmem.c:306)
+ by 0x........: mythread_wrapper (hg_intercepts.c:...)
+ ...
+---------- short gran, 0 .. 98, skip 10 ----------
+
+Thread #x was created
+ ...
+ by 0x........: pthread_create@* (hg_intercepts.c:...)
+ by 0x........: main (tc19_shadowmem.c:204)
+
+Thread #x was created
+ ...
+ by 0x........: pthread_create@* (hg_intercepts.c:...)
+ by 0x........: main (tc19_shadowmem.c:203)
+
+Possible data race during write of size 2 at 0x........ by thread #x
+ at 0x........: child16 (tc19_shadowmem.c:57)
+ by 0x........: steer (tc19_shadowmem.c:308)
+ by 0x........: mythread_wrapper (hg_intercepts.c:...)
+ ...
+ This conflicts with a previous write of size 2 by thread #x
+ at 0x........: child16 (tc19_shadowmem.c:57)
+ by 0x........: steer (tc19_shadowmem.c:308)
+ by 0x........: mythread_wrapper (hg_intercepts.c:...)
+ ...
+---------- short gran, 1 .. 98, skip 11 ----------
+
+Thread #x was created
+ ...
+ by 0x........: pthread_create@* (hg_intercepts.c:...)
+ by 0x........: main (tc19_shadowmem.c:204)
+
+Thread #x was created
+ ...
+ by 0x........: pthread_create@* (hg_intercepts.c:...)
+ by 0x........: main (tc19_shadowmem.c:203)
+
+Possible data race during write of size 1 at 0x........ by thread #x
+ at 0x........: child16 (tc19_shadowmem.c:57)
+ by 0x........: steer (tc19_shadowmem.c:310)
+ by 0x........: mythread_wrapper (hg_intercepts.c:...)
+ ...
+ This conflicts with a previous write of size 1 by thread #x
+ at 0x........: child16 (tc19_shadowmem.c:57)
+ by 0x........: steer (tc19_shadowmem.c:310)
+ by 0x........: mythread_wrapper (hg_intercepts.c:...)
+ ...
+
+Possible data race during write of size 1 at 0x........ by thread #x
+ at 0x........: child16 (tc19_shadowmem.c:57)
+ by 0x........: steer (tc19_shadowmem.c:310)
+ by 0x........: mythread_wrapper (hg_intercepts.c:...)
+ ...
+ This conflicts with a previous write of size 1 by thread #x
+ at 0x........: child16 (tc19_shadowmem.c:57)
+ by 0x........: steer (tc19_shadowmem.c:310)
+ by 0x........: mythread_wrapper (hg_intercepts.c:...)
+ ...
+---------- short gran, 0 .. 98, skip 12 ----------
+
+Thread #x was created
+ ...
+ by 0x........: pthread_create@* (hg_intercepts.c:...)
+ by 0x........: main (tc19_shadowmem.c:204)
+
+Thread #x was created
+ ...
+ by 0x........: pthread_create@* (hg_intercepts.c:...)
+ by 0x........: main (tc19_shadowmem.c:203)
+
+Possible data race during write of size 2 at 0x........ by thread #x
+ at 0x........: child16 (tc19_shadowmem.c:57)
+ by 0x........: steer (tc19_shadowmem.c:312)
+ by 0x........: mythread_wrapper (hg_intercepts.c:...)
+ ...
+ This conflicts with a previous write of size 2 by thread #x
+ at 0x........: child16 (tc19_shadowmem.c:57)
+ by 0x........: steer (tc19_shadowmem.c:312)
+ by 0x........: mythread_wrapper (hg_intercepts.c:...)
+ ...
+---------- short gran, 1 .. 98, skip 13 ----------
+
+Thread #x was created
+ ...
+ by 0x........: pthread_create@* (hg_intercepts.c:...)
+ by 0x........: main (tc19_shadowmem.c:204)
+
+Thread #x was created
+ ...
+ by 0x........: pthread_create@* (hg_intercepts.c:...)
+ by 0x........: main (tc19_shadowmem.c:203)
+
+Possible data race during write of size 1 at 0x........ by thread #x
+ at 0x........: child16 (tc19_shadowmem.c:57)
+ by 0x........: steer (tc19_shadowmem.c:314)
+ by 0x........: mythread_wrapper (hg_intercepts.c:...)
+ ...
+ This conflicts with a previous write of size 1 by thread #x
+ at 0x........: child16 (tc19_shadowmem.c:57)
+ by 0x........: steer (tc19_shadowmem.c:314)
+ by 0x........: mythread_wrapper (hg_intercepts.c:...)
+ ...
+
+Possible data race during write of size 1 at 0x........ by thread #x
+ at 0x........: child16 (tc19_shadowmem.c:57)
+ by 0x........: steer (tc19_shadowmem.c:314)
+ by 0x........: mythread_wrapper (hg_intercepts.c:...)
+ ...
+ This conflicts with a previous write of size 1 by thread #x
+ at 0x........: child16 (tc19_shadowmem.c:57)
+ by 0x........: steer (tc19_shadowmem.c:314)
+ by 0x........: mythread_wrapper (hg_intercepts.c:...)
+ ...
+---------- short gran, 0 .. 98, skip 14 ----------
+
+Thread #x was created
+ ...
+ by 0x........: pthread_create@* (hg_intercepts.c:...)
+ by 0x........: main (tc19_shadowmem.c:204)
+
+Thread #x was created
+ ...
+ by 0x........: pthread_create@* (hg_intercepts.c:...)
+ by 0x........: main (tc19_shadowmem.c:203)
+
+Possible data race during write of size 2 at 0x........ by thread #x
+ at 0x........: child16 (tc19_shadowmem.c:57)
+ by 0x........: steer (tc19_shadowmem.c:316)
+ by 0x........: mythread_wrapper (hg_intercepts.c:...)
+ ...
+ This conflicts with a previous write of size 2 by thread #x
+ at 0x........: child16 (tc19_shadowmem.c:57)
+ by 0x........: steer (tc19_shadowmem.c:316)
+ by 0x........: mythread_wrapper (hg_intercepts.c:...)
+ ...
+---------- short gran, 1 .. 98, skip 15 ----------
+
+Thread #x was created
+ ...
+ by 0x........: pthread_create@* (hg_intercepts.c:...)
+ by 0x........: main (tc19_shadowmem.c:204)
+
+Thread #x was created
+ ...
+ by 0x........: pthread_create@* (hg_intercepts.c:...)
+ by 0x........: main (tc19_shadowmem.c:203)
+
+Possible data race during write of size 1 at 0x........ by thread #x
+ at 0x........: child16 (tc19_shadowmem.c:57)
+ by 0x........: steer (tc19_shadowmem.c:318)
+ by 0x........: mythread_wrapper (hg_intercepts.c:...)
+ ...
+ This conflicts with a previous write of size 1 by thread #x
+ at 0x........: child16 (tc19_shadowmem.c:57)
+ by 0x........: steer (tc19_shadowmem.c:318)
+ by 0x........: mythread_wrapper (hg_intercepts.c:...)
+ ...
+
+Possible data race during write of size 1 at 0x........ by thread #x
+ at 0x........: child16 (tc19_shadowmem.c:57)
+ by 0x........: steer (tc19_shadowmem.c:318)
+ by 0x........: mythread_wrapper (hg_intercepts.c:...)
+ ...
+ This conflicts with a previous write of size 1 by thread #x
+ at 0x........: child16 (tc19_shadowmem.c:57)
+ by 0x........: steer (tc19_shadowmem.c:318)
+ by 0x........: mythread_wrapper (hg_intercepts.c:...)
+ ...
+---------- short gran, 0 .. 98, skip 16 ----------
+
+Thread #x was created
+ ...
+ by 0x........: pthread_create@* (hg_intercepts.c:...)
+ by 0x........: main (tc19_shadowmem.c:204)
+
+Thread #x was created
+ ...
+ by 0x........: pthread_create@* (hg_intercepts.c:...)
+ by 0x........: main (tc19_shadowmem.c:203)
+
+Possible data race during write of size 2 at 0x........ by thread #x
+ at 0x........: child16 (tc19_shadowmem.c:57)
+ by 0x........: steer (tc19_shadowmem.c:320)
+ by 0x........: mythread_wrapper (hg_intercepts.c:...)
+ ...
+ This conflicts with a previous write of size 2 by thread #x
+ at 0x........: child16 (tc19_shadowmem.c:57)
+ by 0x........: steer (tc19_shadowmem.c:320)
+ by 0x........: mythread_wrapper (hg_intercepts.c:...)
+ ...
+---------- short gran, 1 .. 98, skip 17 ----------
+
+Thread #x was created
+ ...
+ by 0x........: pthread_create@* (hg_intercepts.c:...)
+ by 0x........: main (tc19_shadowmem.c:204)
+
+Thread #x was created
+ ...
+ by 0x........: pthread_create@* (hg_intercepts.c:...)
+ by 0x........: main (tc19_shadowmem.c:203)
+
+Possible data race during write of size 1 at 0x........ by thread #x
+ at 0x........: child16 (tc19_shadowmem.c:57)
+ by 0x........: steer (tc19_shadowmem.c:322)
+ by 0x........: mythread_wrapper (hg_intercepts.c:...)
+ ...
+ This conflicts with a previous write of size 1 by thread #x
+ at 0x........: child16 (tc19_shadowmem.c:57)
+ by 0x........: steer (tc19_shadowmem.c:322)
+ by 0x........: mythread_wrapper (hg_intercepts.c:...)
+ ...
+
+Possible data race during write of size 1 at 0x........ by thread #x
+ at 0x........: child16 (tc19_shadowmem.c:57)
+ by 0x........: steer (tc19_shadowmem.c:322)
+ by 0x........: mythread_wrapper (hg_intercepts.c:...)
+ ...
+ This conflicts with a previous write of size 1 by thread #x
+ at 0x........: child16 (tc19_shadowmem.c:57)
+ by 0x........: steer (tc19_shadowmem.c:322)
+ by 0x........: mythread_wrapper (hg_intercepts.c:...)
+ ...
+---------- short gran, 0 .. 98, skip 18 ----------
+
+Thread #x was created
+ ...
+ by 0x........: pthread_create@* (hg_intercepts.c:...)
+ by 0x........: main (tc19_shadowmem.c:204)
+
+Thread #x was created
+ ...
+ by 0x........: pthread_create@* (hg_intercepts.c:...)
+ by 0x........: main (tc19_shadowmem.c:203)
+
+Possible data race during write of size 2 at 0x........ by thread #x
+ at 0x........: child16 (tc19_shadowmem.c:57)
+ by 0x........: steer (tc19_shadowmem.c:324)
+ by 0x........: mythread_wrapper (hg_intercepts.c:...)
+ ...
+ This conflicts with a previous write of size 2 by thread #x
+ at 0x........: child16 (tc19_shadowmem.c:57)
+ by 0x........: steer (tc19_shadowmem.c:324)
+ by 0x........: mythread_wrapper (hg_intercepts.c:...)
+ ...
+---------- short gran, 1 .. 98, skip 19 ----------
+
+Thread #x was created
+ ...
+ by 0x........: pthread_create@* (hg_intercepts.c:...)
+ by 0x........: main (tc19_shadowmem.c:204)
+
+Thread #x was created
+ ...
+ by 0x........: pthread_create@* (hg_intercepts.c:...)
+ by 0x........: main (tc19_shadowmem.c:203)
+
+Possible data race during write of size 1 at 0x........ by thread #x
+ at 0x........: child16 (tc19_shadowmem.c:57)
+ by 0x........: steer (tc19_shadowmem.c:326)
+ by 0x........: mythread_wrapper (hg_intercepts.c:...)
+ ...
+ This conflicts with a previous write of size 1 by thread #x
+ at 0x........: child16 (tc19_shadowmem.c:57)
+ by 0x........: steer (tc19_shadowmem.c:326)
+ by 0x........: mythread_wrapper (hg_intercepts.c:...)
+ ...
+
+Possible data race during write of size 1 at 0x........ by thread #x
+ at 0x........: child16 (tc19_shadowmem.c:57)
+ by 0x........: steer (tc19_shadowmem.c:326)
+ by 0x........: mythread_wrapper (hg_intercepts.c:...)
+ ...
+ This conflicts with a previous write of size 1 by thread #x
+ at 0x........: child16 (tc19_shadowmem.c:57)
+ by 0x........: steer (tc19_shadowmem.c:326)
+ by 0x........: mythread_wrapper (hg_intercepts.c:...)
+ ...
+---------- short gran, 0 .. 98, skip 20 ----------
+
+Thread #x was created
+ ...
+ by 0x........: pthread_create@* (hg_intercepts.c:...)
+ by 0x........: main (tc19_shadowmem.c:204)
+
+Thread #x was created
+ ...
+ by 0x........: pthread_create@* (hg_intercepts.c:...)
+ by 0x........: main (tc19_shadowmem.c:203)
+
+Possible data race during write of size 2 at 0x........ by thread #x
+ at 0x........: child16 (tc19_shadowmem.c:57)
+ by 0x........: steer (tc19_shadowmem.c:328)
+ by 0x........: mythread_wrapper (hg_intercepts.c:...)
+ ...
+ This conflicts with a previous write of size 2 by thread #x
+ at 0x........: child16 (tc19_shadowmem.c:57)
+ by 0x........: steer (tc19_shadowmem.c:328)
+ by 0x........: mythread_wrapper (hg_intercepts.c:...)
+ ...
+---------- short gran, 1 .. 98, skip 21 ----------
+
+Thread #x was created
+ ...
+ by 0x........: pthread_create@* (hg_intercepts.c:...)
+ by 0x........: main (tc19_shadowmem.c:204)
+
+Thread #x was created
+ ...
+ by 0x........: pthread_create@* (hg_intercepts.c:...)
+ by 0x........: main (tc19_shadowmem.c:203)
+
+Possible data race during write of size 1 at 0x........ by thread #x
+ at 0x........: child16 (tc19_shadowmem.c:57)
+ by 0x........: steer (tc19_shadowmem.c:330)
+ by 0x........: mythread_wrapper (hg_intercepts.c:...)
+ ...
+ This conflicts with a previous write of size 1 by thread #x
+ at 0x........: child16 (tc19_shadowmem.c:57)
+ by 0x........: steer (tc19_shadowmem.c:330)
+ by 0x........: mythread_wrapper (hg_intercepts.c:...)
+ ...
+
+Possible data race during write of size 1 at 0x........ by thread #x
+ at 0x........: child16 (tc19_shadowmem.c:57)
+ by 0x........: steer (tc19_shadowmem.c:330)
+ by 0x........: mythread_wrapper (hg_intercepts.c:...)
+ ...
+ This conflicts with a previous write of size 1 by thread #x
+ at 0x........: child16 (tc19_shadowmem.c:57)
+ by 0x........: steer (tc19_shadowmem.c:330)
+ by 0x........: mythread_wrapper (hg_intercepts.c:...)
+ ...
+---------- short gran, 0 .. 98, skip 22 ----------
+
+Thread #x was created
+ ...
+ by 0x........: pthread_create@* (hg_intercepts.c:...)
+ by 0x........: main (tc19_shadowmem.c:204)
+
+Thread #x was created
+ ...
+ by 0x........: pthread_create@* (hg_intercepts.c:...)
+ by 0x........: main (tc19_shadowmem.c:203)
+
+Possible data race during write of size 2 at 0x........ by thread #x
+ at 0x........: child16 (tc19_shadowmem.c:57)
+ by 0x........: steer (tc19_shadowmem.c:332)
+ by 0x........: mythread_wrapper (hg_intercepts.c:...)
+ ...
+ This conflicts with a previous write of size 2 by thread #x
+ at 0x........: child16 (tc19_shadowmem.c:57)
+ by 0x........: steer (tc19_shadowmem.c:332)
+ by 0x........: mythread_wrapper (hg_intercepts.c:...)
+ ...
+---------- short gran, 1 .. 98, skip 23 ----------
+
+Thread #x was created
+ ...
+ by 0x........: pthread_create@* (hg_intercepts.c:...)
+ by 0x........: main (tc19_shadowmem.c:204)
+
+Thread #x was created
+ ...
+ by 0x........: pthread_create@* (hg_intercepts.c:...)
+ by 0x........: main (tc19_shadowmem.c:203)
+
+Possible data race during write of size 1 at 0x........ by thread #x
+ at 0x........: child16 (tc19_shadowmem.c:57)
+ by 0x........: steer (tc19_shadowmem.c:334)
+ by 0x........: mythread_wrapper (hg_intercepts.c:...)
+ ...
+ This conflicts with a previous write of size 1 by thread #x
+ at 0x........: child16 (tc19_shadowmem.c:57)
+ by 0x........: steer (tc19_shadowmem.c:334)
+ by 0x........: mythread_wrapper (hg_intercepts.c:...)
+ ...
+
+Possible data race during write of size 1 at 0x........ by thread #x
+ at 0x........: child16 (tc19_shadowmem.c:57)
+ by 0x........: steer (tc19_shadowmem.c:334)
+ by 0x........: mythread_wrapper (hg_intercepts.c:...)
+ ...
+ This conflicts with a previous write of size 1 by thread #x
+ at 0x........: child16 (tc19_shadowmem.c:57)
+ by 0x........: steer (tc19_shadowmem.c:334)
+ by 0x........: mythread_wrapper (hg_intercepts.c:...)
+ ...
+---------- short gran, 0 .. 98, skip 24 ----------
+
+Thread #x was created
+ ...
+ by 0x........: pthread_create@* (hg_intercepts.c:...)
+ by 0x........: main (tc19_shadowmem.c:204)
+
+Thread #x was created
+ ...
+ by 0x........: pthread_create@* (hg_intercepts.c:...)
+ by 0x........: main (tc19_shadowmem.c:203)
+
+Possible data race during write of size 2 at 0x........ by thread #x
+ at 0x........: child16 (tc19_shadowmem.c:57)
+ by 0x........: steer (tc19_shadowmem.c:336)
+ by 0x........: mythread_wrapper (hg_intercepts.c:...)
+ ...
+ This conflicts with a previous write of size 2 by thread #x
+ at 0x........: child16 (tc19_shadowmem.c:57)
+ by 0x........: steer (tc19_shadowmem.c:336)
+ by 0x........: mythread_wrapper (hg_intercepts.c:...)
+ ...
+---------- short gran, 1 .. 98, skip 25 ----------
+
+Thread #x was created
+ ...
+ by 0x........: pthread_create@* (hg_intercepts.c:...)
+ by 0x........: main (tc19_shadowmem.c:204)
+
+Thread #x was created
+ ...
+ by 0x........: pthread_create@* (hg_intercepts.c:...)
+ by 0x........: main (tc19_shadowmem.c:203)
+
+Possible data race during write of size 1 at 0x........ by thread #x
+ at 0x........: child16 (tc19_shadowmem.c:57)
+ by 0x........: steer (tc19_shadowmem.c:338)
+ by 0x........: mythread_wrapper (hg_intercepts.c:...)
+ ...
+ This conflicts with a previous write of size 1 by thread #x
+ at 0x........: child16 (tc19_shadowmem.c:57)
+ by 0x........: steer (tc19_shadowmem.c:338)
+ by 0x........: mythread_wrapper (hg_intercepts.c:...)
+ ...
+
+Possible data race during write of size 1 at 0x........ by thread #x
+ at 0x........: child16 (tc19_shadowmem.c:57)
+ by 0x........: steer (tc19_shadowmem.c:338)
+ by 0x........: mythread_wrapper (hg_intercepts.c:...)
+ ...
+ This conflicts with a previous write of size 1 by thread #x
+ at 0x........: child16 (tc19_shadowmem.c:57)
+ by 0x........: steer (tc19_shadowmem.c:338)
+ by 0x........: mythread_wrapper (hg_intercepts.c:...)
+ ...
+---------- short gran, 0 .. 98, skip 26 ----------
+
+Thread #x was created
+ ...
+ by 0x........: pthread_create@* (hg_intercepts.c:...)
+ by 0x........: main (tc19_shadowmem.c:204)
+
+Thread #x was created
+ ...
+ by 0x........: pthread_create@* (hg_intercepts.c:...)
+ by 0x........: main (tc19_shadowmem.c:203)
+
+Possible data race during write of size 2 at 0x........ by thread #x
+ at 0x........: child16 (tc19_shadowmem.c:57)
+ by 0x........: steer (tc19_shadowmem.c:340)
+ by 0x........: mythread_wrapper (hg_intercepts.c:...)
+ ...
+ This conflicts with a previous write of size 2 by thread #x
+ at 0x........: child16 (tc19_shadowmem.c:57)
+ by 0x........: steer (tc19_shadowmem.c:340)
+ by 0x........: mythread_wrapper (hg_intercepts.c:...)
+ ...
+---------- short gran, 1 .. 98, skip 27 ----------
+
+Thread #x was created
+ ...
+ by 0x........: pthread_create@* (hg_intercepts.c:...)
+ by 0x........: main (tc19_shadowmem.c:204)
+
+Thread #x was created
+ ...
+ by 0x........: pthread_create@* (hg_intercepts.c:...)
+ by 0x........: main (tc19_shadowmem.c:203)
+
+Possible data race during write of size 1 at 0x........ by thread #x
+ at 0x........: child16 (tc19_shadowmem.c:57)
+ by 0x........: steer (tc19_shadowmem.c:342)
+ by 0x........: mythread_wrapper (hg_intercepts.c:...)
+ ...
+ This conflicts with a previous write of size 1 by thread #x
+ at 0x........: child16 (tc19_shadowmem.c:57)
+ by 0x........: steer (tc19_shadowmem.c:342)
+ by 0x........: mythread_wrapper (hg_intercepts.c:...)
+ ...
+
+Possible data race during write of size 1 at 0x........ by thread #x
+ at 0x........: child16 (tc19_shadowmem.c:57)
+ by 0x........: steer (tc19_shadowmem.c:342)
+ by 0x........: mythread_wrapper (hg_intercepts.c:...)
+ ...
+ This conflicts with a previous write of size 1 by thread #x
+ at 0x........: child16 (tc19_shadowmem.c:57)
+ by 0x........: steer (tc19_shadowmem.c:342)
+ by 0x........: mythread_wrapper (hg_intercepts.c:...)
+ ...
+---------- short gran, 0 .. 98, skip 28 ----------
+
+Thread #x was created
+ ...
+ by 0x........: pthread_create@* (hg_intercepts.c:...)
+ by 0x........: main (tc19_shadowmem.c:204)
+
+Thread #x was created
+ ...
+ by 0x........: pthread_create@* (hg_intercepts.c:...)
+ by 0x........: main (tc19_shadowmem.c:203)
+
+Possible data race during write of size 2 at 0x........ by thread #x
+ at 0x........: child16 (tc19_shadowmem.c:57)
+ by 0x........: steer (tc19_shadowmem.c:344)
+ by 0x........: mythread_wrapper (hg_intercepts.c:...)
+ ...
+ This conflicts with a previous write of size 2 by thread #x
+ at 0x........: child16 (tc19_shadowmem.c:57)
+ by 0x........: steer (tc19_shadowmem.c:344)
+ by 0x........: mythread_wrapper (hg_intercepts.c:...)
+ ...
+---------- short gran, 1 .. 98, skip 29 ----------
+
+Thread #x was created
+ ...
+ by 0x........: pthread_create@* (hg_intercepts.c:...)
+ by 0x........: main (tc19_shadowmem.c:204)
+
+Thread #x was created
+ ...
+ by 0x........: pthread_create@* (hg_intercepts.c:...)
+ by 0x........: main (tc19_shadowmem.c:203)
+
+Possible data race during write of size 1 at 0x........ by thread #x
+ at 0x........: child16 (tc19_shadowmem.c:57)
+ by 0x........: steer (tc19_shadowmem.c:346)
+ by 0x........: mythread_wrapper (hg_intercepts.c:...)
+ ...
+ This conflicts with a previous write of size 1 by thread #x
+ at 0x........: child16 (tc19_shadowmem.c:57)
+ by 0x........: steer (tc19_shadowmem.c:346)
+ by 0x........: mythread_wrapper (hg_intercepts.c:...)
+ ...
+
+Possible data race during write of size 1 at 0x........ by thread #x
+ at 0x........: child16 (tc19_shadowmem.c:57)
+ by 0x........: steer (tc19_shadowmem.c:346)
+ by 0x........: mythread_wrapper (hg_intercepts.c:...)
+ ...
+ This conflicts with a previous write of size 1 by thread #x
+ at 0x........: child16 (tc19_shadowmem.c:57)
+ by 0x........: steer (tc19_shadowmem.c:346)
+ by 0x........: mythread_wrapper (hg_intercepts.c:...)
+ ...
+---------- short gran, 0 .. 98, skip 30 ----------
+
+Thread #x was created
+ ...
+ by 0x........: pthread_create@* (hg_intercepts.c:...)
+ by 0x........: main (tc19_shadowmem.c:204)
+
+Thread #x was created
+ ...
+ by 0x........: pthread_create@* (hg_intercepts.c:...)
+ by 0x........: main (tc19_shadowmem.c:203)
+
+Possible data race during write of size 2 at 0x........ by thread #x
+ at 0x........: child16 (tc19_shadowmem.c:57)
+ by 0x........: steer (tc19_shadowmem.c:348)
+ by 0x........: mythread_wrapper (hg_intercepts.c:...)
+ ...
+ This conflicts with a previous write of size 2 by thread #x
+ at 0x........: child16 (tc19_shadowmem.c:57)
+ by 0x........: steer (tc19_shadowmem.c:348)
+ by 0x........: mythread_wrapper (hg_intercepts.c:...)
+ ...
+---------- short gran, 1 .. 98, skip 31 ----------
+
+Thread #x was created
+ ...
+ by 0x........: pthread_create@* (hg_intercepts.c:...)
+ by 0x........: main (tc19_shadowmem.c:204)
+
+Thread #x was created
+ ...
+ by 0x........: pthread_create@* (hg_intercepts.c:...)
+ by 0x........: main (tc19_shadowmem.c:203)
+
+Possible data race during write of size 1 at 0x........ by thread #x
+ at 0x........: child16 (tc19_shadowmem.c:57)
+ by 0x........: steer (tc19_shadowmem.c:350)
+ by 0x........: mythread_wrapper (hg_intercepts.c:...)
+ ...
+ This conflicts with a previous write of size 1 by thread #x
+ at 0x........: child16 (tc19_shadowmem.c:57)
+ by 0x........: steer (tc19_shadowmem.c:350)
+ by 0x........: mythread_wrapper (hg_intercepts.c:...)
+ ...
+
+Possible data race during write of size 1 at 0x........ by thread #x
+ at 0x........: child16 (tc19_shadowmem.c:57)
+ by 0x........: steer (tc19_shadowmem.c:350)
+ by 0x........: mythread_wrapper (hg_intercepts.c:...)
+ ...
+ This conflicts with a previous write of size 1 by thread #x
+ at 0x........: child16 (tc19_shadowmem.c:57)
+ by 0x........: steer (tc19_shadowmem.c:350)
+ by 0x........: mythread_wrapper (hg_intercepts.c:...)
+ ...
+---------- short gran, 0 .. 98, skip 32 ----------
+
+Thread #x was created
+ ...
+ by 0x........: pthread_create@* (hg_intercepts.c:...)
+ by 0x........: main (tc19_shadowmem.c:204)
+
+Thread #x was created
+ ...
+ by 0x........: pthread_create@* (hg_intercepts.c:...)
+ by 0x........: main (tc19_shadowmem.c:203)
+
+Possible data race during write of size 2 at 0x........ by thread #x
+ at 0x........: child16 (tc19_shadowmem.c:57)
+ by 0x........: steer (tc19_shadowmem.c:352)
+ by 0x........: mythread_wrapper (hg_intercepts.c:...)
+ ...
+ This conflicts with a previous write of size 2 by thread #x
+ at 0x........: child16 (tc19_shadowmem.c:57)
+ by 0x........: steer (tc19_shadowmem.c:352)
+ by 0x........: mythread_wrapper (hg_intercepts.c:...)
+ ...
+---------- short gran, 1 .. 98, skip 33 ----------
+
+Thread #x was created
+ ...
+ by 0x........: pthread_create@* (hg_intercepts.c:...)
+ by 0x........: main (tc19_shadowmem.c:204)
+
+Thread #x was created
+ ...
+ by 0x........: pthread_create@* (hg_intercepts.c:...)
+ by 0x........: main (tc19_shadowmem.c:203)
+
+Possible data race during write of size 1 at 0x........ by thread #x
+ at 0x........: child16 (tc19_shadowmem.c:57)
+ by 0x........: steer (tc19_shadowmem.c:354)
+ by 0x........: mythread_wrapper (hg_intercepts.c:...)
+ ...
+ This conflicts with a previous write of size 1 by thread #x
+ at 0x........: child16 (tc19_shadowmem.c:57)
+ by 0x........: steer (tc19_shadowmem.c:354)
+ by 0x........: mythread_wrapper (hg_intercepts.c:...)
+ ...
+
+Possible data race during write of size 1 at 0x........ by thread #x
+ at 0x........: child16 (tc19_shadowmem.c:57)
+ by 0x........: steer (tc19_shadowmem.c:354)
+ by 0x........: mythread_wrapper (hg_intercepts.c:...)
+ ...
+ This conflicts with a previous write of size 1 by thread #x
+ at 0x........: child16 (tc19_shadowmem.c:57)
+ by 0x........: steer (tc19_shadowmem.c:354)
+ by 0x........: mythread_wrapper (hg_intercepts.c:...)
+ ...
+---------- short gran, 0 .. 98, skip 34 ----------
+
+Thread #x was created
+ ...
+ by 0x........: pthread_create@* (hg_intercepts.c:...)
+ by 0x........: main (tc19_shadowmem.c:204)
+
+Thread #x was created
+ ...
+ by 0x........: pthread_create@* (hg_intercepts.c:...)
+ by 0x........: main (tc19_shadowmem.c:203)
+
+Possible data race during write of size 2 at 0x........ by thread #x
+ at 0x........: child16 (tc19_shadowmem.c:57)
+ by 0x........: steer (tc19_shadowmem.c:356)
+ by 0x........: mythread_wrapper (hg_intercepts.c:...)
+ ...
+ This conflicts with a previous write of size 2 by thread #x
+ at 0x........: child16 (tc19_shadowmem.c:57)
+ by 0x........: steer (tc19_shadowmem.c:356)
+ by 0x........: mythread_wrapper (hg_intercepts.c:...)
+ ...
+---------- short gran, 1 .. 98, skip 35 ----------
+
+Thread #x was created
+ ...
+ by 0x........: pthread_create@* (hg_intercepts.c:...)
+ by 0x........: main (tc19_shadowmem.c:204)
+
+Thread #x was created
+ ...
+ by 0x........: pthread_create@* (hg_intercepts.c:...)
+ by 0x........: main (tc19_shadowmem.c:203)
+
+Possible data race during write of size 1 at 0x........ by thread #x
+ at 0x........: child16 (tc19_shadowmem.c:57)
+ by 0x........: steer (tc19_shadowmem.c:358)
+ by 0x........: mythread_wrapper (hg_intercepts.c:...)
+ ...
+ This conflicts with a previous write of size 1 by thread #x
+ at 0x........: child16 (tc19_shadowmem.c:57)
+ by 0x........: steer (tc19_shadowmem.c:358)
+ by 0x........: mythread_wrapper (hg_intercepts.c:...)
+ ...
+
+Possible data race during write of size 1 at 0x........ by thread #x
+ at 0x........: child16 (tc19_shadowmem.c:57)
+ by 0x........: steer (tc19_shadowmem.c:358)
+ by 0x........: mythread_wrapper (hg_intercepts.c:...)
+ ...
+ This conflicts with a previous write of size 1 by thread #x
+ at 0x........: child16 (tc19_shadowmem.c:57)
+ by 0x........: steer (tc19_shadowmem.c:358)
+ by 0x........: mythread_wrapper (hg_intercepts.c:...)
+ ...
+---------- short gran, 0 .. 98, skip 36 ----------
+
+Thread #x was created
+ ...
+ by 0x........: pthread_create@* (hg_intercepts.c:...)
+ by 0x........: main (tc19_shadowmem.c:204)
+
+Thread #x was created
+ ...
+ by 0x........: pthread_create@* (hg_intercepts.c:...)
+ by 0x........: main (tc19_shadowmem.c:203)
+
+Possible data race during write of size 2 at 0x........ by thread #x
+ at 0x........: child16 (tc19_shadowmem.c:57)
+ by 0x........: steer (tc19_shadowmem.c:360)
+ by 0x........: mythread_wrapper (hg_intercepts.c:...)
+ ...
+ This conflicts with a previous write of size 2 by thread #x
+ at 0x........: child16 (tc19_shadowmem.c:57)
+ by 0x........: steer (tc19_shadowmem.c:360)
+ by 0x........: mythread_wrapper (hg_intercepts.c:...)
+ ...
+---------- short gran, 1 .. 98, skip 37 ----------
+
+Thread #x was created
+ ...
+ by 0x........: pthread_create@* (hg_intercepts.c:...)
+ by 0x........: main (tc19_shadowmem.c:204)
+
+Thread #x was created
+ ...
+ by 0x........: pthread_create@* (hg_intercepts.c:...)
+ by 0x........: main (tc19_shadowmem.c:203)
+
+Possible data race during write of size 1 at 0x........ by thread #x
+ at 0x........: child16 (tc19_shadowmem.c:57)
+ by 0x........: steer (tc19_shadowmem.c:362)
+ by 0x........: mythread_wrapper (hg_intercepts.c:...)
+ ...
+ This conflicts with a previous write of size 1 by thread #x
+ at 0x........: child16 (tc19_shadowmem.c:57)
+ by 0x........: steer (tc19_shadowmem.c:362)
+ by 0x........: mythread_wrapper (hg_intercepts.c:...)
+ ...
+
+Possible data race during write of size 1 at 0x........ by thread #x
+ at 0x........: child16 (tc19_shadowmem.c:57)
+ by 0x........: steer (tc19_shadowmem.c:362)
+ by 0x........: mythread_wrapper (hg_intercepts.c:...)
+ ...
+ This conflicts with a previous write of size 1 by thread #x
+ at 0x........: child16 (tc19_shadowmem.c:57)
+ by 0x........: steer (tc19_shadowmem.c:362)
+ by 0x........: mythread_wrapper (hg_intercepts.c:...)
+ ...
+---------- short gran, 0 .. 98, skip 38 ----------
+
+Thread #x was created
+ ...
+ by 0x........: pthread_create@* (hg_intercepts.c:...)
+ by 0x........: main (tc19_shadowmem.c:204)
+
+Thread #x was created
+ ...
+ by 0x........: pthread_create@* (hg_intercepts.c:...)
+ by 0x........: main (tc19_shadowmem.c:203)
+
+Possible data race during write of size 2 at 0x........ by thread #x
+ at 0x........: child16 (tc19_shadowmem.c:57)
+ by 0x........: steer (tc19_shadowmem.c:364)
+ by 0x........: mythread_wrapper (hg_intercepts.c:...)
+ ...
+ This conflicts with a previous write of size 2 by thread #x
+ at 0x........: child16 (tc19_shadowmem.c:57)
+ by 0x........: steer (tc19_shadowmem.c:364)
+ by 0x........: mythread_wrapper (hg_intercepts.c:...)
+ ...
+---------- short gran, 1 .. 98, skip 39 ----------
+
+Thread #x was created
+ ...
+ by 0x........: pthread_create@* (hg_intercepts.c:...)
+ by 0x........: main (tc19_shadowmem.c:204)
+
+Thread #x was created
+ ...
+ by 0x........: pthread_create@* (hg_intercepts.c:...)
+ by 0x........: main (tc19_shadowmem.c:203)
+
+Possible data race during write of size 1 at 0x........ by thread #x
+ at 0x........: child16 (tc19_shadowmem.c:57)
+ by 0x........: steer (tc19_shadowmem.c:366)
+ by 0x........: mythread_wrapper (hg_intercepts.c:...)
+ ...
+ This conflicts with a previous write of size 1 by thread #x
+ at 0x........: child16 (tc19_shadowmem.c:57)
+ by 0x........: steer (tc19_shadowmem.c:366)
+ by 0x........: mythread_wrapper (hg_intercepts.c:...)
+ ...
+
+Possible data race during write of size 1 at 0x........ by thread #x
+ at 0x........: child16 (tc19_shadowmem.c:57)
+ by 0x........: steer (tc19_shadowmem.c:366)
+ by 0x........: mythread_wrapper (hg_intercepts.c:...)
+ ...
+ This conflicts with a previous write of size 1 by thread #x
+ at 0x........: child16 (tc19_shadowmem.c:57)
+ by 0x........: steer (tc19_shadowmem.c:366)
+ by 0x........: mythread_wrapper (hg_intercepts.c:...)
+ ...
+---------- short gran, 0 .. 98, skip 40 ----------
+
+Thread #x was created
+ ...
+ by 0x........: pthread_create@* (hg_intercepts.c:...)
+ by 0x........: main (tc19_shadowmem.c:204)
+
+Thread #x was created
+ ...
+ by 0x........: pthread_create@* (hg_intercepts.c:...)
+ by 0x........: main (tc19_shadowmem.c:203)
+
+Possible data race during write of size 2 at 0x........ by thread #x
+ at 0x........: child16 (tc19_shadowmem.c:57)
+ by 0x........: steer (tc19_shadowmem.c:368)
+ by 0x........: mythread_wrapper (hg_intercepts.c:...)
+ ...
+ This conflicts with a previous write of size 2 by thread #x
+ at 0x........: child16 (tc19_shadowmem.c:57)
+ by 0x........: steer (tc19_shadowmem.c:368)
+ by 0x........: mythread_wrapper (hg_intercepts.c:...)
+ ...
+---------- short gran, 1 .. 98, skip 41 ----------
+
+Thread #x was created
+ ...
+ by 0x........: pthread_create@* (hg_intercepts.c:...)
+ by 0x........: main (tc19_shadowmem.c:204)
+
+Thread #x was created
+ ...
+ by 0x........: pthread_create@* (hg_intercepts.c:...)
+ by 0x........: main (tc19_shadowmem.c:203)
+
+Possible data race during write of size 1 at 0x........ by thread #x
+ at 0x........: child16 (tc19_shadowmem.c:57)
+ by 0x........: steer (tc19_shadowmem.c:370)
+ by 0x........: mythread_wrapper (hg_intercepts.c:...)
+ ...
+ This conflicts with a previous write of size 1 by thread #x
+ at 0x........: child16 (tc19_shadowmem.c:57)
+ by 0x........: steer (tc19_shadowmem.c:370)
+ by 0x........: mythread_wrapper (hg_intercepts.c:...)
+ ...
+
+Possible data race during write of size 1 at 0x........ by thread #x
+ at 0x........: child16 (tc19_shadowmem.c:57)
+ by 0x........: steer (tc19_shadowmem.c:370)
+ by 0x........: mythread_wrapper (hg_intercepts.c:...)
+ ...
+ This conflicts with a previous write of size 1 by thread #x
+ at 0x........: child16 (tc19_shadowmem.c:57)
+ by 0x........: steer (tc19_shadowmem.c:370)
+ by 0x........: mythread_wrapper (hg_intercepts.c:...)
+ ...
+---------- short gran, 0 .. 98, skip 42 ----------
+
+Thread #x was created
+ ...
+ by 0x........: pthread_create@* (hg_intercepts.c:...)
+ by 0x........: main (tc19_shadowmem.c:204)
+
+Thread #x was created
+ ...
+ by 0x........: pthread_create@* (hg_intercepts.c:...)
+ by 0x........: main (tc19_shadowmem.c:203)
+
+Possible data race during write of size 2 at 0x........ by thread #x
+ at 0x........: child16 (tc19_shadowmem.c:57)
+ by 0x........: steer (tc19_shadowmem.c:372)
+ by 0x........: mythread_wrapper (hg_intercepts.c:...)
+ ...
+ This conflicts with a previous write of size 2 by thread #x
+ at 0x........: child16 (tc19_shadowmem.c:57)
+ by 0x........: steer (tc19_shadowmem.c:372)
+ by 0x........: mythread_wrapper (hg_intercepts.c:...)
+ ...
+---------- short gran, 1 .. 98, skip 43 ----------
+
+Thread #x was created
+ ...
+ by 0x........: pthread_create@* (hg_intercepts.c:...)
+ by 0x........: main (tc19_shadowmem.c:204)
+
+Thread #x was created
+ ...
+ by 0x........: pthread_create@* (hg_intercepts.c:...)
+ by 0x........: main (tc19_shadowmem.c:203)
+
+Possible data race during write of size 1 at 0x........ by thread #x
+ at 0x........: child16 (tc19_shadowmem.c:57)
+ by 0x........: steer (tc19_shadowmem.c:374)
+ by 0x........: mythread_wrapper (hg_intercepts.c:...)
+ ...
+ This conflicts with a previous write of size 1 by thread #x
+ at 0x........: child16 (tc19_shadowmem.c:57)
+ by 0x........: steer (tc19_shadowmem.c:374)
+ by 0x........: mythread_wrapper (hg_intercepts.c:...)
+ ...
+
+Possible data race during write of size 1 at 0x........ by thread #x
+ at 0x........: child16 (tc19_shadowmem.c:57)
+ by 0x........: steer (tc19_shadowmem.c:374)
+ by 0x........: mythread_wrapper (hg_intercepts.c:...)
+ ...
+ This conflicts with a previous write of size 1 by thread #x
+ at 0x........: child16 (tc19_shadowmem.c:57)
+ by 0x........: steer (tc19_shadowmem.c:374)
+ by 0x........: mythread_wrapper (hg_intercepts.c:...)
+ ...
+---------- short gran, 0 .. 98, skip 44 ----------
+
+Thread #x was created
+ ...
+ by 0x........: pthread_create@* (hg_intercepts.c:...)
+ by 0x........: main (tc19_shadowmem.c:204)
+
+Thread #x was created
+ ...
+ by 0x........: pthread_create@* (hg_intercepts.c:...)
+ by 0x........: main (tc19_shadowmem.c:203)
+
+Possible data race during write of size 2 at 0x........ by thread #x
+ at 0x........: child16 (tc19_shadowmem.c:57)
+ by 0x........: steer (tc19_shadowmem.c:376)
+ by 0x........: mythread_wrapper (hg_intercepts.c:...)
+ ...
+ This conflicts with a previous write of size 2 by thread #x
+ at 0x........: child16 (tc19_shadowmem.c:57)
+ by 0x........: steer (tc19_shadowmem.c:376)
+ by 0x........: mythread_wrapper (hg_intercepts.c:...)
+ ...
+---------- short gran, 1 .. 98, skip 45 ----------
+
+Thread #x was created
+ ...
+ by 0x........: pthread_create@* (hg_intercepts.c:...)
+ by 0x........: main (tc19_shadowmem.c:204)
+
+Thread #x was created
+ ...
+ by 0x........: pthread_create@* (hg_intercepts.c:...)
+ by 0x........: main (tc19_shadowmem.c:203)
+
+Possible data race during write of size 1 at 0x........ by thread #x
+ at 0x........: child16 (tc19_shadowmem.c:57)
+ by 0x........: steer (tc19_shadowmem.c:378)
+ by 0x........: mythread_wrapper (hg_intercepts.c:...)
+ ...
+ This conflicts with a previous write of size 1 by thread #x
+ at 0x........: child16 (tc19_shadowmem.c:57)
+ by 0x........: steer (tc19_shadowmem.c:378)
+ by 0x........: mythread_wrapper (hg_intercepts.c:...)
+ ...
+
+Possible data race during write of size 1 at 0x........ by thread #x
+ at 0x........: child16 (tc19_shadowmem.c:57)
+ by 0x........: steer (tc19_shadowmem.c:378)
+ by 0x........: mythread_wrapper (hg_intercepts.c:...)
+ ...
+ This conflicts with a previous write of size 1 by thread #x
+ at 0x........: child16 (tc19_shadowmem.c:57)
+ by 0x........: steer (tc19_shadowmem.c:378)
+ by 0x........: mythread_wrapper (hg_intercepts.c:...)
+ ...
+---------- short gran, 0 .. 98, skip 46 ----------
+
+Thread #x was created
+ ...
+ by 0x........: pthread_create@* (hg_intercepts.c:...)
+ by 0x........: main (tc19_shadowmem.c:204)
+
+Thread #x was created
+ ...
+ by 0x........: pthread_create@* (hg_intercepts.c:...)
+ by 0x........: main (tc19_shadowmem.c:203)
+
+Possible data race during write of size 2 at 0x........ by thread #x
+ at 0x........: child16 (tc19_shadowmem.c:57)
+ by 0x........: steer (tc19_shadowmem.c:380)
+ by 0x........: mythread_wrapper (hg_intercepts.c:...)
+ ...
+ This conflicts with a previous write of size 2 by thread #x
+ at 0x........: child16 (tc19_shadowmem.c:57)
+ by 0x........: steer (tc19_shadowmem.c:380)
+ by 0x........: mythread_wrapper (hg_intercepts.c:...)
+ ...
+---------- short gran, 1 .. 98, skip 47 ----------
+
+Thread #x was created
+ ...
+ by 0x........: pthread_create@* (hg_intercepts.c:...)
+ by 0x........: main (tc19_shadowmem.c:204)
+
+Thread #x was created
+ ...
+ by 0x........: pthread_create@* (hg_intercepts.c:...)
+ by 0x........: main (tc19_shadowmem.c:203)
+
+Possible data race during write of size 1 at 0x........ by thread #x
+ at 0x........: child16 (tc19_shadowmem.c:57)
+ by 0x........: steer (tc19_shadowmem.c:382)
+ by 0x........: mythread_wrapper (hg_intercepts.c:...)
+ ...
+ This conflicts with a previous write of size 1 by thread #x
+ at 0x........: child16 (tc19_shadowmem.c:57)
+ by 0x........: steer (tc19_shadowmem.c:382)
+ by 0x........: mythread_wrapper (hg_intercepts.c:...)
+ ...
+
+Possible data race during write of size 1 at 0x........ by thread #x
+ at 0x........: child16 (tc19_shadowmem.c:57)
+ by 0x........: steer (tc19_shadowmem.c:382)
+ by 0x........: mythread_wrapper (hg_intercepts.c:...)
+ ...
+ This conflicts with a previous write of size 1 by thread #x
+ at 0x........: child16 (tc19_shadowmem.c:57)
+ by 0x........: steer (tc19_shadowmem.c:382)
+ by 0x........: mythread_wrapper (hg_intercepts.c:...)
+ ...
+---------- short gran, 0 .. 98, skip 48 ----------
+
+Thread #x was created
+ ...
+ by 0x........: pthread_create@* (hg_intercepts.c:...)
+ by 0x........: main (tc19_shadowmem.c:204)
+
+Thread #x was created
+ ...
+ by 0x........: pthread_create@* (hg_intercepts.c:...)
+ by 0x........: main (tc19_shadowmem.c:203)
+
+Possible data race during write of size 2 at 0x........ by thread #x
+ at 0x........: child16 (tc19_shadowmem.c:57)
+ by 0x........: steer (tc19_shadowmem.c:384)
+ by 0x........: mythread_wrapper (hg_intercepts.c:...)
+ ...
+ This conflicts with a previous write of size 2 by thread #x
+ at 0x........: child16 (tc19_shadowmem.c:57)
+ by 0x........: steer (tc19_shadowmem.c:384)
+ by 0x........: mythread_wrapper (hg_intercepts.c:...)
+ ...
+---------- short gran, 1 .. 98, skip 49 ----------
+
+Thread #x was created
+ ...
+ by 0x........: pthread_create@* (hg_intercepts.c:...)
+ by 0x........: main (tc19_shadowmem.c:204)
+
+Thread #x was created
+ ...
+ by 0x........: pthread_create@* (hg_intercepts.c:...)
+ by 0x........: main (tc19_shadowmem.c:203)
+
+Possible data race during write of size 1 at 0x........ by thread #x
+ at 0x........: child16 (tc19_shadowmem.c:57)
+ by 0x........: steer (tc19_shadowmem.c:386)
+ by 0x........: mythread_wrapper (hg_intercepts.c:...)
+ ...
+ This conflicts with a previous write of size 1 by thread #x
+ at 0x........: child16 (tc19_shadowmem.c:57)
+ by 0x........: steer (tc19_shadowmem.c:386)
+ by 0x........: mythread_wrapper (hg_intercepts.c:...)
+ ...
+
+Possible data race during write of size 1 at 0x........ by thread #x
+ at 0x........: child16 (tc19_shadowmem.c:57)
+ by 0x........: steer (tc19_shadowmem.c:386)
+ by 0x........: mythread_wrapper (hg_intercepts.c:...)
+ ...
+ This conflicts with a previous write of size 1 by thread #x
+ at 0x........: child16 (tc19_shadowmem.c:57)
+ by 0x........: steer (tc19_shadowmem.c:386)
+ by 0x........: mythread_wrapper (hg_intercepts.c:...)
+ ...
+---------- short gran, 0 .. 98, skip 50 ----------
+
+Thread #x was created
+ ...
+ by 0x........: pthread_create@* (hg_intercepts.c:...)
+ by 0x........: main (tc19_shadowmem.c:204)
+
+Thread #x was created
+ ...
+ by 0x........: pthread_create@* (hg_intercepts.c:...)
+ by 0x........: main (tc19_shadowmem.c:203)
+
+Possible data race during write of size 2 at 0x........ by thread #x
+ at 0x........: child16 (tc19_shadowmem.c:57)
+ by 0x........: steer (tc19_shadowmem.c:388)
+ by 0x........: mythread_wrapper (hg_intercepts.c:...)
+ ...
+ This conflicts with a previous write of size 2 by thread #x
+ at 0x........: child16 (tc19_shadowmem.c:57)
+ by 0x........: steer (tc19_shadowmem.c:388)
+ by 0x........: mythread_wrapper (hg_intercepts.c:...)
+ ...
+---------- short gran, 1 .. 98, skip 51 ----------
+
+Thread #x was created
+ ...
+ by 0x........: pthread_create@* (hg_intercepts.c:...)
+ by 0x........: main (tc19_shadowmem.c:204)
+
+Thread #x was created
+ ...
+ by 0x........: pthread_create@* (hg_intercepts.c:...)
+ by 0x........: main (tc19_shadowmem.c:203)
+
+Possible data race during write of size 1 at 0x........ by thread #x
+ at 0x........: child16 (tc19_shadowmem.c:57)
+ by 0x........: steer (tc19_shadowmem.c:390)
+ by 0x........: mythread_wrapper (hg_intercepts.c:...)
+ ...
+ This conflicts with a previous write of size 1 by thread #x
+ at 0x........: child16 (tc19_shadowmem.c:57)
+ by 0x........: steer (tc19_shadowmem.c:390)
+ by 0x........: mythread_wrapper (hg_intercepts.c:...)
+ ...
+
+Possible data race during write of size 1 at 0x........ by thread #x
+ at 0x........: child16 (tc19_shadowmem.c:57)
+ by 0x........: steer (tc19_shadowmem.c:390)
+ by 0x........: mythread_wrapper (hg_intercepts.c:...)
+ ...
+ This conflicts with a previous write of size 1 by thread #x
+ at 0x........: child16 (tc19_shadowmem.c:57)
+ by 0x........: steer (tc19_shadowmem.c:390)
+ by 0x........: mythread_wrapper (hg_intercepts.c:...)
+ ...
+---------- short gran, 0 .. 98, skip 52 ----------
+
+Thread #x was created
+ ...
+ by 0x........: pthread_create@* (hg_intercepts.c:...)
+ by 0x........: main (tc19_shadowmem.c:204)
+
+Thread #x was created
+ ...
+ by 0x........: pthread_create@* (hg_intercepts.c:...)
+ by 0x........: main (tc19_shadowmem.c:203)
+
+Possible data race during write of size 2 at 0x........ by thread #x
+ at 0x........: child16 (tc19_shadowmem.c:57)
+ by 0x........: steer (tc19_shadowmem.c:392)
+ by 0x........: mythread_wrapper (hg_intercepts.c:...)
+ ...
+ This conflicts with a previous write of size 2 by thread #x
+ at 0x........: child16 (tc19_shadowmem.c:57)
+ by 0x........: steer (tc19_shadowmem.c:392)
+ by 0x........: mythread_wrapper (hg_intercepts.c:...)
+ ...
+---------- short gran, 1 .. 98, skip 53 ----------
+
+Thread #x was created
+ ...
+ by 0x........: pthread_create@* (hg_intercepts.c:...)
+ by 0x........: main (tc19_shadowmem.c:204)
+
+Thread #x was created
+ ...
+ by 0x........: pthread_create@* (hg_intercepts.c:...)
+ by 0x........: main (tc19_shadowmem.c:203)
+
+Possible data race during write of size 1 at 0x........ by thread #x
+ at 0x........: child16 (tc19_shadowmem.c:57)
+ by 0x........: steer (tc19_shadowmem.c:394)
+ by 0x........: mythread_wrapper (hg_intercepts.c:...)
+ ...
+ This conflicts with a previous write of size 1 by thread #x
+ at 0x........: child16 (tc19_shadowmem.c:57)
+ by 0x........: steer (tc19_shadowmem.c:394)
+ by 0x........: mythread_wrapper (hg_intercepts.c:...)
+ ...
+
+Possible data race during write of size 1 at 0x........ by thread #x
+ at 0x........: child16 (tc19_shadowmem.c:57)
+ by 0x........: steer (tc19_shadowmem.c:394)
+ by 0x........: mythread_wrapper (hg_intercepts.c:...)
+ ...
+ This conflicts with a previous write of size 1 by thread #x
+ at 0x........: child16 (tc19_shadowmem.c:57)
+ by 0x........: steer (tc19_shadowmem.c:394)
+ by 0x........: mythread_wrapper (hg_intercepts.c:...)
+ ...
+---------- short gran, 0 .. 98, skip 54 ----------
+
+Thread #x was created
+ ...
+ by 0x........: pthread_create@* (hg_intercepts.c:...)
+ by 0x........: main (tc19_shadowmem.c:204)
+
+Thread #x was created
+ ...
+ by 0x........: pthread_create@* (hg_intercepts.c:...)
+ by 0x........: main (tc19_shadowmem.c:203)
+
+Possible data race during write of size 2 at 0x........ by thread #x
+ at 0x........: child16 (tc19_shadowmem.c:57)
+ by 0x........: steer (tc19_shadowmem.c:396)
+ by 0x........: mythread_wrapper (hg_intercepts.c:...)
+ ...
+ This conflicts with a previous write of size 2 by thread #x
+ at 0x........: child16 (tc19_shadowmem.c:57)
+ by 0x........: steer (tc19_shadowmem.c:396)
+ by 0x........: mythread_wrapper (hg_intercepts.c:...)
+ ...
+---------- short gran, 1 .. 98, skip 55 ----------
+
+Thread #x was created
+ ...
+ by 0x........: pthread_create@* (hg_intercepts.c:...)
+ by 0x........: main (tc19_shadowmem.c:204)
+
+Thread #x was created
+ ...
+ by 0x........: pthread_create@* (hg_intercepts.c:...)
+ by 0x........: main (tc19_shadowmem.c:203)
+
+Possible data race during write of size 1 at 0x........ by thread #x
+ at 0x........: child16 (tc19_shadowmem.c:57)
+ by 0x........: steer (tc19_shadowmem.c:398)
+ by 0x........: mythread_wrapper (hg_intercepts.c:...)
+ ...
+ This conflicts with a previous write of size 1 by thread #x
+ at 0x........: child16 (tc19_shadowmem.c:57)
+ by 0x........: steer (tc19_shadowmem.c:398)
+ by 0x........: mythread_wrapper (hg_intercepts.c:...)
+ ...
+
+Possible data race during write of size 1 at 0x........ by thread #x
+ at 0x........: child16 (tc19_shadowmem.c:57)
+ by 0x........: steer (tc19_shadowmem.c:398)
+ by 0x........: mythread_wrapper (hg_intercepts.c:...)
+ ...
+ This conflicts with a previous write of size 1 by thread #x
+ at 0x........: child16 (tc19_shadowmem.c:57)
+ by 0x........: steer (tc19_shadowmem.c:398)
+ by 0x........: mythread_wrapper (hg_intercepts.c:...)
+ ...
+---------- short gran, 0 .. 98, skip 56 ----------
+
+Thread #x was created
+ ...
+ by 0x........: pthread_create@* (hg_intercepts.c:...)
+ by 0x........: main (tc19_shadowmem.c:204)
+
+Thread #x was created
+ ...
+ by 0x........: pthread_create@* (hg_intercepts.c:...)
+ by 0x........: main (tc19_shadowmem.c:203)
+
+Possible data race during write of size 2 at 0x........ by thread #x
+ at 0x........: child16 (tc19_shadowmem.c:57)
+ by 0x........: steer (tc19_shadowmem.c:400)
+ by 0x........: mythread_wrapper (hg_intercepts.c:...)
+ ...
+ This conflicts with a previous write of size 2 by thread #x
+ at 0x........: child16 (tc19_shadowmem.c:57)
+ by 0x........: steer (tc19_shadowmem.c:400)
+ by 0x........: mythread_wrapper (hg_intercepts.c:...)
+ ...
+---------- short gran, 1 .. 98, skip 57 ----------
+
+Thread #x was created
+ ...
+ by 0x........: pthread_create@* (hg_intercepts.c:...)
+ by 0x........: main (tc19_shadowmem.c:204)
+
+Thread #x was created
+ ...
+ by 0x........: pthread_create@* (hg_intercepts.c:...)
+ by 0x........: main (tc19_shadowmem.c:203)
+
+Possible data race during write of size 1 at 0x........ by thread #x
+ at 0x........: child16 (tc19_shadowmem.c:57)
+ by 0x........: steer (tc19_shadowmem.c:402)
+ by 0x........: mythread_wrapper (hg_intercepts.c:...)
+ ...
+ This conflicts with a previous write of size 1 by thread #x
+ at 0x........: child16 (tc19_shadowmem.c:57)
+ by 0x........: steer (tc19_shadowmem.c:402)
+ by 0x........: mythread_wrapper (hg_intercepts.c:...)
+ ...
+
+Possible data race during write of size 1 at 0x........ by thread #x
+ at 0x........: child16 (tc19_shadowmem.c:57)
+ by 0x........: steer (tc19_shadowmem.c:402)
+ by 0x........: mythread_wrapper (hg_intercepts.c:...)
+ ...
+ This conflicts with a previous write of size 1 by thread #x
+ at 0x........: child16 (tc19_shadowmem.c:57)
+ by 0x........: steer (tc19_shadowmem.c:402)
+ by 0x........: mythread_wrapper (hg_intercepts.c:...)
+ ...
+---------- short gran, 0 .. 98, skip 58 ----------
+
+Thread #x was created
+ ...
+ by 0x........: pthread_create@* (hg_intercepts.c:...)
+ by 0x........: main (tc19_shadowmem.c:204)
+
+Thread #x was created
+ ...
+ by 0x........: pthread_create@* (hg_intercepts.c:...)
+ by 0x........: main (tc19_shadowmem.c:203)
+
+Possible data race during write of size 2 at 0x........ by thread #x
+ at 0x........: child16 (tc19_shadowmem.c:57)
+ by 0x........: steer (tc19_shadowmem.c:404)
+ by 0x........: mythread_wrapper (hg_intercepts.c:...)
+ ...
+ This conflicts with a previous write of size 2 by thread #x
+ at 0x........: child16 (tc19_shadowmem.c:57)
+ by 0x........: steer (tc19_shadowmem.c:404)
+ by 0x........: mythread_wrapper (hg_intercepts.c:...)
+ ...
+---------- short gran, 1 .. 98, skip 59 ----------
+
+Thread #x was created
+ ...
+ by 0x........: pthread_create@* (hg_intercepts.c:...)
+ by 0x........: main (tc19_shadowmem.c:204)
+
+Thread #x was created
+ ...
+ by 0x........: pthread_create@* (hg_intercepts.c:...)
+ by 0x........: main (tc19_shadowmem.c:203)
+
+Possible data race during write of size 1 at 0x........ by thread #x
+ at 0x........: child16 (tc19_shadowmem.c:57)
+ by 0x........: steer (tc19_shadowmem.c:406)
+ by 0x........: mythread_wrapper (hg_intercepts.c:...)
+ ...
+ This conflicts with a previous write of size 1 by thread #x
+ at 0x........: child16 (tc19_shadowmem.c:57)
+ by 0x........: steer (tc19_shadowmem.c:406)
+ by 0x........: mythread_wrapper (hg_intercepts.c:...)
+ ...
+
+Possible data race during write of size 1 at 0x........ by thread #x
+ at 0x........: child16 (tc19_shadowmem.c:57)
+ by 0x........: steer (tc19_shadowmem.c:406)
+ by 0x........: mythread_wrapper (hg_intercepts.c:...)
+ ...
+ This conflicts with a previous write of size 1 by thread #x
+ at 0x........: child16 (tc19_shadowmem.c:57)
+ by 0x........: steer (tc19_shadowmem.c:406)
+ by 0x........: mythread_wrapper (hg_intercepts.c:...)
+ ...
+---------- short gran, 0 .. 98, skip 60 ----------
+
+Thread #x was created
+ ...
+ by 0x........: pthread_create@* (hg_intercepts.c:...)
+ by 0x........: main (tc19_shadowmem.c:204)
+
+Thread #x was created
+ ...
+ by 0x........: pthread_create@* (hg_intercepts.c:...)
+ by 0x........: main (tc19_shadowmem.c:203)
+
+Possible data race during write of size 2 at 0x........ by thread #x
+ at 0x........: child16 (tc19_shadowmem.c:57)
+ by 0x........: steer (tc19_shadowmem.c:408)
+ by 0x........: mythread_wrapper (hg_intercepts.c:...)
+ ...
+ This conflicts with a previous write of size 2 by thread #x
+ at 0x........: child16 (tc19_shadowmem.c:57)
+ by 0x........: steer (tc19_shadowmem.c:408)
+ by 0x........: mythread_wrapper (hg_intercepts.c:...)
+ ...
+---------- short gran, 1 .. 98, skip 61 ----------
+
+Thread #x was created
+ ...
+ by 0x........: pthread_create@* (hg_intercepts.c:...)
+ by 0x........: main (tc19_shadowmem.c:204)
+
+Thread #x was created
+ ...
+ by 0x........: pthread_create@* (hg_intercepts.c:...)
+ by 0x........: main (tc19_shadowmem.c:203)
+
+Possible data race during write of size 1 at 0x........ by thread #x
+ at 0x........: child16 (tc19_shadowmem.c:57)
+ by 0x........: steer (tc19_shadowmem.c:410)
+ by 0x........: mythread_wrapper (hg_intercepts.c:...)
+ ...
+ This conflicts with a previous write of size 1 by thread #x
+ at 0x........: child16 (tc19_shadowmem.c:57)
+ by 0x........: steer (tc19_shadowmem.c:410)
+ by 0x........: mythread_wrapper (hg_intercepts.c:...)
+ ...
+
+Possible data race during write of size 1 at 0x........ by thread #x
+ at 0x........: child16 (tc19_shadowmem.c:57)
+ by 0x........: steer (tc19_shadowmem.c:410)
+ by 0x........: mythread_wrapper (hg_intercepts.c:...)
+ ...
+ This conflicts with a previous write of size 1 by thread #x
+ at 0x........: child16 (tc19_shadowmem.c:57)
+ by 0x........: steer (tc19_shadowmem.c:410)
+ by 0x........: mythread_wrapper (hg_intercepts.c:...)
+ ...
+---------- short gran, 0 .. 98, skip 62 ----------
+
+Thread #x was created
+ ...
+ by 0x........: pthread_create@* (hg_intercepts.c:...)
+ by 0x........: main (tc19_shadowmem.c:204)
+
+Thread #x was created
+ ...
+ by 0x........: pthread_create@* (hg_intercepts.c:...)
+ by 0x........: main (tc19_shadowmem.c:203)
+
+Possible data race during write of size 2 at 0x........ by thread #x
+ at 0x........: child16 (tc19_shadowmem.c:57)
+ by 0x........: steer (tc19_shadowmem.c:412)
+ by 0x........: mythread_wrapper (hg_intercepts.c:...)
+ ...
+ This conflicts with a previous write of size 2 by thread #x
+ at 0x........: child16 (tc19_shadowmem.c:57)
+ by 0x........: steer (tc19_shadowmem.c:412)
+ by 0x........: mythread_wrapper (hg_intercepts.c:...)
+ ...
+---------- short gran, 1 .. 98, skip 63 ----------
+
+Thread #x was created
+ ...
+ by 0x........: pthread_create@* (hg_intercepts.c:...)
+ by 0x........: main (tc19_shadowmem.c:204)
+
+Thread #x was created
+ ...
+ by 0x........: pthread_create@* (hg_intercepts.c:...)
+ by 0x........: main (tc19_shadowmem.c:203)
+
+Possible data race during write of size 1 at 0x........ by thread #x
+ at 0x........: child16 (tc19_shadowmem.c:57)
+ by 0x........: steer (tc19_shadowmem.c:414)
+ by 0x........: mythread_wrapper (hg_intercepts.c:...)
+ ...
+ This conflicts with a previous write of size 1 by thread #x
+ at 0x........: child16 (tc19_shadowmem.c:57)
+ by 0x........: steer (tc19_shadowmem.c:414)
+ by 0x........: mythread_wrapper (hg_intercepts.c:...)
+ ...
+
+Possible data race during write of size 1 at 0x........ by thread #x
+ at 0x........: child16 (tc19_shadowmem.c:57)
+ by 0x........: steer (tc19_shadowmem.c:414)
+ by 0x........: mythread_wrapper (hg_intercepts.c:...)
+ ...
+ This conflicts with a previous write of size 1 by thread #x
+ at 0x........: child16 (tc19_shadowmem.c:57)
+ by 0x........: steer (tc19_shadowmem.c:414)
+ by 0x........: mythread_wrapper (hg_intercepts.c:...)
+ ...
+---------- short gran, 0 .. 98, skip 64 ----------
+
+Thread #x was created
+ ...
+ by 0x........: pthread_create@* (hg_intercepts.c:...)
+ by 0x........: main (tc19_shadowmem.c:204)
+
+Thread #x was created
+ ...
+ by 0x........: pthread_create@* (hg_intercepts.c:...)
+ by 0x........: main (tc19_shadowmem.c:203)
+
+Possible data race during write of size 2 at 0x........ by thread #x
+ at 0x........: child16 (tc19_shadowmem.c:57)
+ by 0x........: steer (tc19_shadowmem.c:416)
+ by 0x........: mythread_wrapper (hg_intercepts.c:...)
+ ...
+ This conflicts with a previous write of size 2 by thread #x
+ at 0x........: child16 (tc19_shadowmem.c:57)
+ by 0x........: steer (tc19_shadowmem.c:416)
+ by 0x........: mythread_wrapper (hg_intercepts.c:...)
+ ...
+---------- short gran, 1 .. 98, skip 65 ----------
+
+Thread #x was created
+ ...
+ by 0x........: pthread_create@* (hg_intercepts.c:...)
+ by 0x........: main (tc19_shadowmem.c:204)
+
+Thread #x was created
+ ...
+ by 0x........: pthread_create@* (hg_intercepts.c:...)
+ by 0x........: main (tc19_shadowmem.c:203)
+
+Possible data race during write of size 1 at 0x........ by thread #x
+ at 0x........: child16 (tc19_shadowmem.c:57)
+ by 0x........: steer (tc19_shadowmem.c:418)
+ by 0x........: mythread_wrapper (hg_intercepts.c:...)
+ ...
+ This conflicts with a previous write of size 1 by thread #x
+ at 0x........: child16 (tc19_shadowmem.c:57)
+ by 0x........: steer (tc19_shadowmem.c:418)
+ by 0x........: mythread_wrapper (hg_intercepts.c:...)
+ ...
+
+Possible data race during write of size 1 at 0x........ by thread #x
+ at 0x........: child16 (tc19_shadowmem.c:57)
+ by 0x........: steer (tc19_shadowmem.c:418)
+ by 0x........: mythread_wrapper (hg_intercepts.c:...)
+ ...
+ This conflicts with a previous write of size 1 by thread #x
+ at 0x........: child16 (tc19_shadowmem.c:57)
+ by 0x........: steer (tc19_shadowmem.c:418)
+ by 0x........: mythread_wrapper (hg_intercepts.c:...)
+ ...
+---------- short gran, 0 .. 98, skip 66 ----------
+
+Thread #x was created
+ ...
+ by 0x........: pthread_create@* (hg_intercepts.c:...)
+ by 0x........: main (tc19_shadowmem.c:204)
+
+Thread #x was created
+ ...
+ by 0x........: pthread_create@* (hg_intercepts.c:...)
+ by 0x........: main (tc19_shadowmem.c:203)
+
+Possible data race during write of size 2 at 0x........ by thread #x
+ at 0x........: child16 (tc19_shadowmem.c:57)
+ by 0x........: steer (tc19_shadowmem.c:420)
+ by 0x........: mythread_wrapper (hg_intercepts.c:...)
+ ...
+ This conflicts with a previous write of size 2 by thread #x
+ at 0x........: child16 (tc19_shadowmem.c:57)
+ by 0x........: steer (tc19_shadowmem.c:420)
+ by 0x........: mythread_wrapper (hg_intercepts.c:...)
+ ...
+---------- short gran, 1 .. 98, skip 67 ----------
+
+Thread #x was created
+ ...
+ by 0x........: pthread_create@* (hg_intercepts.c:...)
+ by 0x........: main (tc19_shadowmem.c:204)
+
+Thread #x was created
+ ...
+ by 0x........: pthread_create@* (hg_intercepts.c:...)
+ by 0x........: main (tc19_shadowmem.c:203)
+
+Possible data race during write of size 1 at 0x........ by thread #x
+ at 0x........: child16 (tc19_shadowmem.c:57)
+ by 0x........: steer (tc19_shadowmem.c:422)
+ by 0x........: mythread_wrapper (hg_intercepts.c:...)
+ ...
+ This conflicts with a previous write of size 1 by thread #x
+ at 0x........: child16 (tc19_shadowmem.c:57)
+ by 0x........: steer (tc19_shadowmem.c:422)
+ by 0x........: mythread_wrapper (hg_intercepts.c:...)
+ ...
+
+Possible data race during write of size 1 at 0x........ by thread #x
+ at 0x........: child16 (tc19_shadowmem.c:57)
+ by 0x........: steer (tc19_shadowmem.c:422)
+ by 0x........: mythread_wrapper (hg_intercepts.c:...)
+ ...
+ This conflicts with a previous write of size 1 by thread #x
+ at 0x........: child16 (tc19_shadowmem.c:57)
+ by 0x........: steer (tc19_shadowmem.c:422)
+ by 0x........: mythread_wrapper (hg_intercepts.c:...)
+ ...
+---------- short gran, 0 .. 98, skip 68 ----------
+
+Thread #x was created
+ ...
+ by 0x........: pthread_create@* (hg_intercepts.c:...)
+ by 0x........: main (tc19_shadowmem.c:204)
+
+Thread #x was created
+ ...
+ by 0x........: pthread_create@* (hg_intercepts.c:...)
+ by 0x........: main (tc19_shadowmem.c:203)
+
+Possible data race during write of size 2 at 0x........ by thread #x
+ at 0x........: child16 (tc19_shadowmem.c:57)
+ by 0x........: steer (tc19_shadowmem.c:424)
+ by 0x........: mythread_wrapper (hg_intercepts.c:...)
+ ...
+ This conflicts with a previous write of size 2 by thread #x
+ at 0x........: child16 (tc19_shadowmem.c:57)
+ by 0x........: steer (tc19_shadowmem.c:424)
+ by 0x........: mythread_wrapper (hg_intercepts.c:...)
+ ...
+---------- short gran, 1 .. 98, skip 69 ----------
+
+Thread #x was created
+ ...
+ by 0x........: pthread_create@* (hg_intercepts.c:...)
+ by 0x........: main (tc19_shadowmem.c:204)
+
+Thread #x was created
+ ...
+ by 0x........: pthread_create@* (hg_intercepts.c:...)
+ by 0x........: main (tc19_shadowmem.c:203)
+
+Possible data race during write of size 1 at 0x........ by thread #x
+ at 0x........: child16 (tc19_shadowmem.c:57)
+ by 0x........: steer (tc19_shadowmem.c:426)
+ by 0x........: mythread_wrapper (hg_intercepts.c:...)
+ ...
+ This conflicts with a previous write of size 1 by thread #x
+ at 0x........: child16 (tc19_shadowmem.c:57)
+ by 0x........: steer (tc19_shadowmem.c:426)
+ by 0x........: mythread_wrapper (hg_intercepts.c:...)
+ ...
+
+Possible data race during write of size 1 at 0x........ by thread #x
+ at 0x........: child16 (tc19_shadowmem.c:57)
+ by 0x........: steer (tc19_shadowmem.c:426)
+ by 0x........: mythread_wrapper (hg_intercepts.c:...)
+ ...
+ This conflicts with a previous write of size 1 by thread #x
+ at 0x........: child16 (tc19_shadowmem.c:57)
+ by 0x........: steer (tc19_shadowmem.c:426)
+ by 0x........: mythread_wrapper (hg_intercepts.c:...)
+ ...
+---------- short gran, 0 .. 98, skip 70 ----------
+
+Thread #x was created
+ ...
+ by 0x........: pthread_create@* (hg_intercepts.c:...)
+ by 0x........: main (tc19_shadowmem.c:204)
+
+Thread #x was created
+ ...
+ by 0x........: pthread_create@* (hg_intercepts.c:...)
+ by 0x........: main (tc19_shadowmem.c:203)
+
+Possible data race during write of size 2 at 0x........ by thread #x
+ at 0x........: child16 (tc19_shadowmem.c:57)
+ by 0x........: steer (tc19_shadowmem.c:428)
+ by 0x........: mythread_wrapper (hg_intercepts.c:...)
+ ...
+ This conflicts with a previous write of size 2 by thread #x
+ at 0x........: child16 (tc19_shadowmem.c:57)
+ by 0x........: steer (tc19_shadowmem.c:428)
+ by 0x........: mythread_wrapper (hg_intercepts.c:...)
+ ...
+---------- short gran, 1 .. 98, skip 71 ----------
+
+Thread #x was created
+ ...
+ by 0x........: pthread_create@* (hg_intercepts.c:...)
+ by 0x........: main (tc19_shadowmem.c:204)
+
+Thread #x was created
+ ...
+ by 0x........: pthread_create@* (hg_intercepts.c:...)
+ by 0x........: main (tc19_shadowmem.c:203)
+
+Possible data race during write of size 1 at 0x........ by thread #x
+ at 0x........: child16 (tc19_shadowmem.c:57)
+ by 0x........: steer (tc19_shadowmem.c:430)
+ by 0x........: mythread_wrapper (hg_intercepts.c:...)
+ ...
+ This conflicts with a previous write of size 1 by thread #x
+ at 0x........: child16 (tc19_shadowmem.c:57)
+ by 0x........: steer (tc19_shadowmem.c:430)
+ by 0x........: mythread_wrapper (hg_intercepts.c:...)
+ ...
+
+Possible data race during write of size 1 at 0x........ by thread #x
+ at 0x........: child16 (tc19_shadowmem.c:57)
+ by 0x........: steer (tc19_shadowmem.c:430)
+ by 0x........: mythread_wrapper (hg_intercepts.c:...)
+ ...
+ This conflicts with a previous write of size 1 by thread #x
+ at 0x........: child16 (tc19_shadowmem.c:57)
+ by 0x........: steer (tc19_shadowmem.c:430)
+ by 0x........: mythread_wrapper (hg_intercepts.c:...)
+ ...
+---------- short gran, 0 .. 98, skip 72 ----------
+
+Thread #x was created
+ ...
+ by 0x........: pthread_create@* (hg_intercepts.c:...)
+ by 0x........: main (tc19_shadowmem.c:204)
+
+Thread #x was created
+ ...
+ by 0x........: pthread_create@* (hg_intercepts.c:...)
+ by 0x........: main (tc19_shadowmem.c:203)
+
+Possible data race during write of size 2 at 0x........ by thread #x
+ at 0x........: child16 (tc19_shadowmem.c:57)
+ by 0x........: steer (tc19_shadowmem.c:432)
+ by 0x........: mythread_wrapper (hg_intercepts.c:...)
+ ...
+ This conflicts with a previous write of size 2 by thread #x
+ at 0x........: child16 (tc19_shadowmem.c:57)
+ by 0x........: steer (tc19_shadowmem.c:432)
+ by 0x........: mythread_wrapper (hg_intercepts.c:...)
+ ...
+---------- short gran, 1 .. 98, skip 73 ----------
+
+Thread #x was created
+ ...
+ by 0x........: pthread_create@* (hg_intercepts.c:...)
+ by 0x........: main (tc19_shadowmem.c:204)
+
+Thread #x was created
+ ...
+ by 0x........: pthread_create@* (hg_intercepts.c:...)
+ by 0x........: main (tc19_shadowmem.c:203)
+
+Possible data race during write of size 1 at 0x........ by thread #x
+ at 0x........: child16 (tc19_shadowmem.c:57)
+ by 0x........: steer (tc19_shadowmem.c:434)
+ by 0x........: mythread_wrapper (hg_intercepts.c:...)
+ ...
+ This conflicts with a previous write of size 1 by thread #x
+ at 0x........: child16 (tc19_shadowmem.c:57)
+ by 0x........: steer (tc19_shadowmem.c:434)
+ by 0x........: mythread_wrapper (hg_intercepts.c:...)
+ ...
+
+Possible data race during write of size 1 at 0x........ by thread #x
+ at 0x........: child16 (tc19_shadowmem.c:57)
+ by 0x........: steer (tc19_shadowmem.c:434)
+ by 0x........: mythread_wrapper (hg_intercepts.c:...)
+ ...
+ This conflicts with a previous write of size 1 by thread #x
+ at 0x........: child16 (tc19_shadowmem.c:57)
+ by 0x........: steer (tc19_shadowmem.c:434)
+ by 0x........: mythread_wrapper (hg_intercepts.c:...)
+ ...
+---------- short gran, 0 .. 98, skip 74 ----------
+
+Thread #x was created
+ ...
+ by 0x........: pthread_create@* (hg_intercepts.c:...)
+ by 0x........: main (tc19_shadowmem.c:204)
+
+Thread #x was created
+ ...
+ by 0x........: pthread_create@* (hg_intercepts.c:...)
+ by 0x........: main (tc19_shadowmem.c:203)
+
+Possible data race during write of size 2 at 0x........ by thread #x
+ at 0x........: child16 (tc19_shadowmem.c:57)
+ by 0x........: steer (tc19_shadowmem.c:436)
+ by 0x........: mythread_wrapper (hg_intercepts.c:...)
+ ...
+ This conflicts with a previous write of size 2 by thread #x
+ at 0x........: child16 (tc19_shadowmem.c:57)
+ by 0x........: steer (tc19_shadowmem.c:436)
+ by 0x........: mythread_wrapper (hg_intercepts.c:...)
+ ...
+---------- short gran, 1 .. 98, skip 75 ----------
+
+Thread #x was created
+ ...
+ by 0x........: pthread_create@* (hg_intercepts.c:...)
+ by 0x........: main (tc19_shadowmem.c:204)
+
+Thread #x was created
+ ...
+ by 0x........: pthread_create@* (hg_intercepts.c:...)
+ by 0x........: main (tc19_shadowmem.c:203)
+
+Possible data race during write of size 1 at 0x........ by thread #x
+ at 0x........: child16 (tc19_shadowmem.c:57)
+ by 0x........: steer (tc19_shadowmem.c:438)
+ by 0x........: mythread_wrapper (hg_intercepts.c:...)
+ ...
+ This conflicts with a previous write of size 1 by thread #x
+ at 0x........: child16 (tc19_shadowmem.c:57)
+ by 0x........: steer (tc19_shadowmem.c:438)
+ by 0x........: mythread_wrapper (hg_intercepts.c:...)
+ ...
+
+Possible data race during write of size 1 at 0x........ by thread #x
+ at 0x........: child16 (tc19_shadowmem.c:57)
+ by 0x........: steer (tc19_shadowmem.c:438)
+ by 0x........: mythread_wrapper (hg_intercepts.c:...)
+ ...
+ This conflicts with a previous write of size 1 by thread #x
+ at 0x........: child16 (tc19_shadowmem.c:57)
+ by 0x........: steer (tc19_shadowmem.c:438)
+ by 0x........: mythread_wrapper (hg_intercepts.c:...)
+ ...
+---------- short gran, 0 .. 98, skip 76 ----------
+
+Thread #x was created
+ ...
+ by 0x........: pthread_create@* (hg_intercepts.c:...)
+ by 0x........: main (tc19_shadowmem.c:204)
+
+Thread #x was created
+ ...
+ by 0x........: pthread_create@* (hg_intercepts.c:...)
+ by 0x........: main (tc19_shadowmem.c:203)
+
+Possible data race during write of size 2 at 0x........ by thread #x
+ at 0x........: child16 (tc19_shadowmem.c:57)
+ by 0x........: steer (tc19_shadowmem.c:440)
+ by 0x........: mythread_wrapper (hg_intercepts.c:...)
+ ...
+ This conflicts with a previous write of size 2 by thread #x
+ at 0x........: child16 (tc19_shadowmem.c:57)
+ by 0x........: steer (tc19_shadowmem.c:440)
+ by 0x........: mythread_wrapper (hg_intercepts.c:...)
+ ...
+---------- short gran, 1 .. 98, skip 77 ----------
+
+Thread #x was created
+ ...
+ by 0x........: pthread_create@* (hg_intercepts.c:...)
+ by 0x........: main (tc19_shadowmem.c:204)
+
+Thread #x was created
+ ...
+ by 0x........: pthread_create@* (hg_intercepts.c:...)
+ by 0x........: main (tc19_shadowmem.c:203)
+
+Possible data race during write of size 1 at 0x........ by thread #x
+ at 0x........: child16 (tc19_shadowmem.c:57)
+ by 0x........: steer (tc19_shadowmem.c:442)
+ by 0x........: mythread_wrapper (hg_intercepts.c:...)
+ ...
+ This conflicts with a previous write of size 1 by thread #x
+ at 0x........: child16 (tc19_shadowmem.c:57)
+ by 0x........: steer (tc19_shadowmem.c:442)
+ by 0x........: mythread_wrapper (hg_intercepts.c:...)
+ ...
+
+Possible data race during write of size 1 at 0x........ by thread #x
+ at 0x........: child16 (tc19_shadowmem.c:57)
+ by 0x........: steer (tc19_shadowmem.c:442)
+ by 0x........: mythread_wrapper (hg_intercepts.c:...)
+ ...
+ This conflicts with a previous write of size 1 by thread #x
+ at 0x........: child16 (tc19_shadowmem.c:57)
+ by 0x........: steer (tc19_shadowmem.c:442)
+ by 0x........: mythread_wrapper (hg_intercepts.c:...)
+ ...
+---------- short gran, 0 .. 98, skip 78 ----------
+
+Thread #x was created
+ ...
+ by 0x........: pthread_create@* (hg_intercepts.c:...)
+ by 0x........: main (tc19_shadowmem.c:204)
+
+Thread #x was created
+ ...
+ by 0x........: pthread_create@* (hg_intercepts.c:...)
+ by 0x........: main (tc19_shadowmem.c:203)
+
+Possible data race during write of size 2 at 0x........ by thread #x
+ at 0x........: child16 (tc19_shadowmem.c:57)
+ by 0x........: steer (tc19_shadowmem.c:444)
+ by 0x........: mythread_wrapper (hg_intercepts.c:...)
+ ...
+ This conflicts with a previous write of size 2 by thread #x
+ at 0x........: child16 (tc19_shadowmem.c:57)
+ by 0x........: steer (tc19_shadowmem.c:444)
+ by 0x........: mythread_wrapper (hg_intercepts.c:...)
+ ...
+---------- short gran, 1 .. 98, skip 79 ----------
+
+Thread #x was created
+ ...
+ by 0x........: pthread_create@* (hg_intercepts.c:...)
+ by 0x........: main (tc19_shadowmem.c:204)
+
+Thread #x was created
+ ...
+ by 0x........: pthread_create@* (hg_intercepts.c:...)
+ by 0x........: main (tc19_shadowmem.c:203)
+
+Possible data race during write of size 1 at 0x........ by thread #x
+ at 0x........: child16 (tc19_shadowmem.c:57)
+ by 0x........: steer (tc19_shadowmem.c:446)
+ by 0x........: mythread_wrapper (hg_intercepts.c:...)
+ ...
+ This conflicts with a previous write of size 1 by thread #x
+ at 0x........: child16 (tc19_shadowmem.c:57)
+ by 0x........: steer (tc19_shadowmem.c:446)
+ by 0x........: mythread_wrapper (hg_intercepts.c:...)
+ ...
+
+Possible data race during write of size 1 at 0x........ by thread #x
+ at 0x........: child16 (tc19_shadowmem.c:57)
+ by 0x........: steer (tc19_shadowmem.c:446)
+ by 0x........: mythread_wrapper (hg_intercepts.c:...)
+ ...
+ This conflicts with a previous write of size 1 by thread #x
+ at 0x........: child16 (tc19_shadowmem.c:57)
+ by 0x........: steer (tc19_shadowmem.c:446)
+ by 0x........: mythread_wrapper (hg_intercepts.c:...)
+ ...
+---------- short gran, 0 .. 98, skip 80 ----------
+
+Thread #x was created
+ ...
+ by 0x........: pthread_create@* (hg_intercepts.c:...)
+ by 0x........: main (tc19_shadowmem.c:204)
+
+Thread #x was created
+ ...
+ by 0x........: pthread_create@* (hg_intercepts.c:...)
+ by 0x........: main (tc19_shadowmem.c:203)
+
+Possible data race during write of size 2 at 0x........ by thread #x
+ at 0x........: child16 (tc19_shadowmem.c:57)
+ by 0x........: steer (tc19_shadowmem.c:448)
+ by 0x........: mythread_wrapper (hg_intercepts.c:...)
+ ...
+ This conflicts with a previous write of size 2 by thread #x
+ at 0x........: child16 (tc19_shadowmem.c:57)
+ by 0x........: steer (tc19_shadowmem.c:448)
+ by 0x........: mythread_wrapper (hg_intercepts.c:...)
+ ...
+---------- short gran, 1 .. 98, skip 81 ----------
+
+Thread #x was created
+ ...
+ by 0x........: pthread_create@* (hg_intercepts.c:...)
+ by 0x........: main (tc19_shadowmem.c:204)
+
+Thread #x was created
+ ...
+ by 0x........: pthread_create@* (hg_intercepts.c:...)
+ by 0x........: main (tc19_shadowmem.c:203)
+
+Possible data race during write of size 1 at 0x........ by thread #x
+ at 0x........: child16 (tc19_shadowmem.c:57)
+ by 0x........: steer (tc19_shadowmem.c:450)
+ by 0x........: mythread_wrapper (hg_intercepts.c:...)
+ ...
+ This conflicts with a previous write of size 1 by thread #x
+ at 0x........: child16 (tc19_shadowmem.c:57)
+ by 0x........: steer (tc19_shadowmem.c:450)
+ by 0x........: mythread_wrapper (hg_intercepts.c:...)
+ ...
+
+Possible data race during write of size 1 at 0x........ by thread #x
+ at 0x........: child16 (tc19_shadowmem.c:57)
+ by 0x........: steer (tc19_shadowmem.c:450)
+ by 0x........: mythread_wrapper (hg_intercepts.c:...)
+ ...
+ This conflicts with a previous write of size 1 by thread #x
+ at 0x........: child16 (tc19_shadowmem.c:57)
+ by 0x........: steer (tc19_shadowmem.c:450)
+ by 0x........: mythread_wrapper (hg_intercepts.c:...)
+ ...
+---------- short gran, 0 .. 98, skip 82 ----------
+
+Thread #x was created
+ ...
+ by 0x........: pthread_create@* (hg_intercepts.c:...)
+ by 0x........: main (tc19_shadowmem.c:204)
+
+Thread #x was created
+ ...
+ by 0x........: pthread_create@* (hg_intercepts.c:...)
+ by 0x........: main (tc19_shadowmem.c:203)
+
+Possible data race during write of size 2 at 0x........ by thread #x
+ at 0x........: child16 (tc19_shadowmem.c:57)
+ by 0x........: steer (tc19_shadowmem.c:452)
+ by 0x........: mythread_wrapper (hg_intercepts.c:...)
+ ...
+ This conflicts with a previous write of size 2 by thread #x
+ at 0x........: child16 (tc19_shadowmem.c:57)
+ by 0x........: steer (tc19_shadowmem.c:452)
+ by 0x........: mythread_wrapper (hg_intercepts.c:...)
+ ...
+---------- short gran, 1 .. 98, skip 83 ----------
+
+Thread #x was created
+ ...
+ by 0x........: pthread_create@* (hg_intercepts.c:...)
+ by 0x........: main (tc19_shadowmem.c:204)
+
+Thread #x was created
+ ...
+ by 0x........: pthread_create@* (hg_intercepts.c:...)
+ by 0x........: main (tc19_shadowmem.c:203)
+
+Possible data race during write of size 1 at 0x........ by thread #x
+ at 0x........: child16 (tc19_shadowmem.c:57)
+ by 0x........: steer (tc19_shadowmem.c:454)
+ by 0x........: mythread_wrapper (hg_intercepts.c:...)
+ ...
+ This conflicts with a previous write of size 1 by thread #x
+ at 0x........: child16 (tc19_shadowmem.c:57)
+ by 0x........: steer (tc19_shadowmem.c:454)
+ by 0x........: mythread_wrapper (hg_intercepts.c:...)
+ ...
+
+Possible data race during write of size 1 at 0x........ by thread #x
+ at 0x........: child16 (tc19_shadowmem.c:57)
+ by 0x........: steer (tc19_shadowmem.c:454)
+ by 0x........: mythread_wrapper (hg_intercepts.c:...)
+ ...
+ This conflicts with a previous write of size 1 by thread #x
+ at 0x........: child16 (tc19_shadowmem.c:57)
+ by 0x........: steer (tc19_shadowmem.c:454)
+ by 0x........: mythread_wrapper (hg_intercepts.c:...)
+ ...
+---------- short gran, 0 .. 98, skip 84 ----------
+
+Thread #x was created
+ ...
+ by 0x........: pthread_create@* (hg_intercepts.c:...)
+ by 0x........: main (tc19_shadowmem.c:204)
+
+Thread #x was created
+ ...
+ by 0x........: pthread_create@* (hg_intercepts.c:...)
+ by 0x........: main (tc19_shadowmem.c:203)
+
+Possible data race during write of size 2 at 0x........ by thread #x
+ at 0x........: child16 (tc19_shadowmem.c:57)
+ by 0x........: steer (tc19_shadowmem.c:456)
+ by 0x........: mythread_wrapper (hg_intercepts.c:...)
+ ...
+ This conflicts with a previous write of size 2 by thread #x
+ at 0x........: child16 (tc19_shadowmem.c:57)
+ by 0x........: steer (tc19_shadowmem.c:456)
+ by 0x........: mythread_wrapper (hg_intercepts.c:...)
+ ...
+---------- short gran, 1 .. 98, skip 85 ----------
+
+Thread #x was created
+ ...
+ by 0x........: pthread_create@* (hg_intercepts.c:...)
+ by 0x........: main (tc19_shadowmem.c:204)
+
+Thread #x was created
+ ...
+ by 0x........: pthread_create@* (hg_intercepts.c:...)
+ by 0x........: main (tc19_shadowmem.c:203)
+
+Possible data race during write of size 1 at 0x........ by thread #x
+ at 0x........: child16 (tc19_shadowmem.c:57)
+ by 0x........: steer (tc19_shadowmem.c:458)
+ by 0x........: mythread_wrapper (hg_intercepts.c:...)
+ ...
+ This conflicts with a previous write of size 1 by thread #x
+ at 0x........: child16 (tc19_shadowmem.c:57)
+ by 0x........: steer (tc19_shadowmem.c:458)
+ by 0x........: mythread_wrapper (hg_intercepts.c:...)
+ ...
+
+Possible data race during write of size 1 at 0x........ by thread #x
+ at 0x........: child16 (tc19_shadowmem.c:57)
+ by 0x........: steer (tc19_shadowmem.c:458)
+ by 0x........: mythread_wrapper (hg_intercepts.c:...)
+ ...
+ This conflicts with a previous write of size 1 by thread #x
+ at 0x........: child16 (tc19_shadowmem.c:57)
+ by 0x........: steer (tc19_shadowmem.c:458)
+ by 0x........: mythread_wrapper (hg_intercepts.c:...)
+ ...
+---------- short gran, 0 .. 98, skip 86 ----------
+
+Thread #x was created
+ ...
+ by 0x........: pthread_create@* (hg_intercepts.c:...)
+ by 0x........: main (tc19_shadowmem.c:204)
+
+Thread #x was created
+ ...
+ by 0x........: pthread_create@* (hg_intercepts.c:...)
+ by 0x........: main (tc19_shadowmem.c:203)
+
+Possible data race during write of size 2 at 0x........ by thread #x
+ at 0x........: child16 (tc19_shadowmem.c:57)
+ by 0x........: steer (tc19_shadowmem.c:460)
+ by 0x........: mythread_wrapper (hg_intercepts.c:...)
+ ...
+ This conflicts with a previous write of size 2 by thread #x
+ at 0x........: child16 (tc19_shadowmem.c:57)
+ by 0x........: steer (tc19_shadowmem.c:460)
+ by 0x........: mythread_wrapper (hg_intercepts.c:...)
+ ...
+---------- short gran, 1 .. 98, skip 87 ----------
+
+Thread #x was created
+ ...
+ by 0x........: pthread_create@* (hg_intercepts.c:...)
+ by 0x........: main (tc19_shadowmem.c:204)
+
+Thread #x was created
+ ...
+ by 0x........: pthread_create@* (hg_intercepts.c:...)
+ by 0x........: main (tc19_shadowmem.c:203)
+
+Possible data race during write of size 1 at 0x........ by thread #x
+ at 0x........: child16 (tc19_shadowmem.c:57)
+ by 0x........: steer (tc19_shadowmem.c:462)
+ by 0x........: mythread_wrapper (hg_intercepts.c:...)
+ ...
+ This conflicts with a previous write of size 1 by thread #x
+ at 0x........: child16 (tc19_shadowmem.c:57)
+ by 0x........: steer (tc19_shadowmem.c:462)
+ by 0x........: mythread_wrapper (hg_intercepts.c:...)
+ ...
+
+Possible data race during write of size 1 at 0x........ by thread #x
+ at 0x........: child16 (tc19_shadowmem.c:57)
+ by 0x........: steer (tc19_shadowmem.c:462)
+ by 0x........: mythread_wrapper (hg_intercepts.c:...)
+ ...
+ This conflicts with a previous write of size 1 by thread #x
+ at 0x........: child16 (tc19_shadowmem.c:57)
+ by 0x........: steer (tc19_shadowmem.c:462)
+ by 0x........: mythread_wrapper (hg_intercepts.c:...)
+ ...
+---------- short gran, 0 .. 98, skip 88 ----------
+
+Thread #x was created
+ ...
+ by 0x........: pthread_create@* (hg_intercepts.c:...)
+ by 0x........: main (tc19_shadowmem.c:204)
+
+Thread #x was created
+ ...
+ by 0x........: pthread_create@* (hg_intercepts.c:...)
+ by 0x........: main (tc19_shadowmem.c:203)
+
+Possible data race during write of size 2 at 0x........ by thread #x
+ at 0x........: child16 (tc19_shadowmem.c:57)
+ by 0x........: steer (tc19_shadowmem.c:464)
+ by 0x........: mythread_wrapper (hg_intercepts.c:...)
+ ...
+ This conflicts with a previous write of size 2 by thread #x
+ at 0x........: child16 (tc19_shadowmem.c:57)
+ by 0x........: steer (tc19_shadowmem.c:464)
+ by 0x........: mythread_wrapper (hg_intercepts.c:...)
+ ...
+---------- short gran, 1 .. 98, skip 89 ----------
+
+Thread #x was created
+ ...
+ by 0x........: pthread_create@* (hg_intercepts.c:...)
+ by 0x........: main (tc19_shadowmem.c:204)
+
+Thread #x was created
+ ...
+ by 0x........: pthread_create@* (hg_intercepts.c:...)
+ by 0x........: main (tc19_shadowmem.c:203)
+
+Possible data race during write of size 1 at 0x........ by thread #x
+ at 0x........: child16 (tc19_shadowmem.c:57)
+ by 0x........: steer (tc19_shadowmem.c:466)
+ by 0x........: mythread_wrapper (hg_intercepts.c:...)
+ ...
+ This conflicts with a previous write of size 1 by thread #x
+ at 0x........: child16 (tc19_shadowmem.c:57)
+ by 0x........: steer (tc19_shadowmem.c:466)
+ by 0x........: mythread_wrapper (hg_intercepts.c:...)
+ ...
+
+Possible data race during write of size 1 at 0x........ by thread #x
+ at 0x........: child16 (tc19_shadowmem.c:57)
+ by 0x........: steer (tc19_shadowmem.c:466)
+ by 0x........: mythread_wrapper (hg_intercepts.c:...)
+ ...
+ This conflicts with a previous write of size 1 by thread #x
+ at 0x........: child16 (tc19_shadowmem.c:57)
+ by 0x........: steer (tc19_shadowmem.c:466)
+ by 0x........: mythread_wrapper (hg_intercepts.c:...)
+ ...
+---------- short gran, 0 .. 98, skip 90 ----------
+
+Thread #x was created
+ ...
+ by 0x........: pthread_create@* (hg_intercepts.c:...)
+ by 0x........: main (tc19_shadowmem.c:204)
+
+Thread #x was created
+ ...
+ by 0x........: pthread_create@* (hg_intercepts.c:...)
+ by 0x........: main (tc19_shadowmem.c:203)
+
+Possible data race during write of size 2 at 0x........ by thread #x
+ at 0x........: child16 (tc19_shadowmem.c:57)
+ by 0x........: steer (tc19_shadowmem.c:468)
+ by 0x........: mythread_wrapper (hg_intercepts.c:...)
+ ...
+ This conflicts with a previous write of size 2 by thread #x
+ at 0x........: child16 (tc19_shadowmem.c:57)
+ by 0x........: steer (tc19_shadowmem.c:468)
+ by 0x........: mythread_wrapper (hg_intercepts.c:...)
+ ...
+---------- short gran, 1 .. 98, skip 91 ----------
+
+Thread #x was created
+ ...
+ by 0x........: pthread_create@* (hg_intercepts.c:...)
+ by 0x........: main (tc19_shadowmem.c:204)
+
+Thread #x was created
+ ...
+ by 0x........: pthread_create@* (hg_intercepts.c:...)
+ by 0x........: main (tc19_shadowmem.c:203)
+
+Possible data race during write of size 1 at 0x........ by thread #x
+ at 0x........: child16 (tc19_shadowmem.c:57)
+ by 0x........: steer (tc19_shadowmem.c:470)
+ by 0x........: mythread_wrapper (hg_intercepts.c:...)
+ ...
+ This conflicts with a previous write of size 1 by thread #x
+ at 0x........: child16 (tc19_shadowmem.c:57)
+ by 0x........: steer (tc19_shadowmem.c:470)
+ by 0x........: mythread_wrapper (hg_intercepts.c:...)
+ ...
+
+Possible data race during write of size 1 at 0x........ by thread #x
+ at 0x........: child16 (tc19_shadowmem.c:57)
+ by 0x........: steer (tc19_shadowmem.c:470)
+ by 0x........: mythread_wrapper (hg_intercepts.c:...)
+ ...
+ This conflicts with a previous write of size 1 by thread #x
+ at 0x........: child16 (tc19_shadowmem.c:57)
+ by 0x........: steer (tc19_shadowmem.c:470)
+ by 0x........: mythread_wrapper (hg_intercepts.c:...)
+ ...
+---------- short gran, 0 .. 98, skip 92 ----------
+
+Thread #x was created
+ ...
+ by 0x........: pthread_create@* (hg_intercepts.c:...)
+ by 0x........: main (tc19_shadowmem.c:204)
+
+Thread #x was created
+ ...
+ by 0x........: pthread_create@* (hg_intercepts.c:...)
+ by 0x........: main (tc19_shadowmem.c:203)
+
+Possible data race during write of size 2 at 0x........ by thread #x
+ at 0x........: child16 (tc19_shadowmem.c:57)
+ by 0x........: steer (tc19_shadowmem.c:472)
+ by 0x........: mythread_wrapper (hg_intercepts.c:...)
+ ...
+ This conflicts with a previous write of size 2 by thread #x
+ at 0x........: child16 (tc19_shadowmem.c:57)
+ by 0x........: steer (tc19_shadowmem.c:472)
+ by 0x........: mythread_wrapper (hg_intercepts.c:...)
+ ...
+---------- short gran, 1 .. 98, skip 93 ----------
+
+Thread #x was created
+ ...
+ by 0x........: pthread_create@* (hg_intercepts.c:...)
+ by 0x........: main (tc19_shadowmem.c:204)
+
+Thread #x was created
+ ...
+ by 0x........: pthread_create@* (hg_intercepts.c:...)
+ by 0x........: main (tc19_shadowmem.c:203)
+
+Possible data race during write of size 1 at 0x........ by thread #x
+ at 0x........: child16 (tc19_shadowmem.c:57)
+ by 0x........: steer (tc19_shadowmem.c:474)
+ by 0x........: mythread_wrapper (hg_intercepts.c:...)
+ ...
+ This conflicts with a previous write of size 1 by thread #x
+ at 0x........: child16 (tc19_shadowmem.c:57)
+ by 0x........: steer (tc19_shadowmem.c:474)
+ by 0x........: mythread_wrapper (hg_intercepts.c:...)
+ ...
+
+Possible data race during write of size 1 at 0x........ by thread #x
+ at 0x........: child16 (tc19_shadowmem.c:57)
+ by 0x........: steer (tc19_shadowmem.c:474)
+ by 0x........: mythread_wrapper (hg_intercepts.c:...)
+ ...
+ This conflicts with a previous write of size 1 by thread #x
+ at 0x........: child16 (tc19_shadowmem.c:57)
+ by 0x........: steer (tc19_shadowmem.c:474)
+ by 0x........: mythread_wrapper (hg_intercepts.c:...)
+ ...
+---------- short gran, 0 .. 98, skip 94 ----------
+
+Thread #x was created
+ ...
+ by 0x........: pthread_create@* (hg_intercepts.c:...)
+ by 0x........: main (tc19_shadowmem.c:204)
+
+Thread #x was created
+ ...
+ by 0x........: pthread_create@* (hg_intercepts.c:...)
+ by 0x........: main (tc19_shadowmem.c:203)
+
+Possible data race during write of size 2 at 0x........ by thread #x
+ at 0x........: child16 (tc19_shadowmem.c:57)
+ by 0x........: steer (tc19_shadowmem.c:476)
+ by 0x........: mythread_wrapper (hg_intercepts.c:...)
+ ...
+ This conflicts with a previous write of size 2 by thread #x
+ at 0x........: child16 (tc19_shadowmem.c:57)
+ by 0x........: steer (tc19_shadowmem.c:476)
+ by 0x........: mythread_wrapper (hg_intercepts.c:...)
+ ...
+---------- short gran, 1 .. 98, skip 95 ----------
+
+Thread #x was created
+ ...
+ by 0x........: pthread_create@* (hg_intercepts.c:...)
+ by 0x........: main (tc19_shadowmem.c:204)
+
+Thread #x was created
+ ...
+ by 0x........: pthread_create@* (hg_intercepts.c:...)
+ by 0x........: main (tc19_shadowmem.c:203)
+
+Possible data race during write of size 1 at 0x........ by thread #x
+ at 0x........: child16 (tc19_shadowmem.c:57)
+ by 0x........: steer (tc19_shadowmem.c:478)
+ by 0x........: mythread_wrapper (hg_intercepts.c:...)
+ ...
+ This conflicts with a previous write of size 1 by thread #x
+ at 0x........: child16 (tc19_shadowmem.c:57)
+ by 0x........: steer (tc19_shadowmem.c:478)
+ by 0x........: mythread_wrapper (hg_intercepts.c:...)
+ ...
+
+Possible data race during write of size 1 at 0x........ by thread #x
+ at 0x........: child16 (tc19_shadowmem.c:57)
+ by 0x........: steer (tc19_shadowmem.c:478)
+ by 0x........: mythread_wrapper (hg_intercepts.c:...)
+ ...
+ This conflicts with a previous write of size 1 by thread #x
+ at 0x........: child16 (tc19_shadowmem.c:57)
+ by 0x........: steer (tc19_shadowmem.c:478)
+ by 0x........: mythread_wrapper (hg_intercepts.c:...)
+ ...
+---------- short gran, 0 .. 98, skip 96 ----------
+
+Thread #x was created
+ ...
+ by 0x........: pthread_create@* (hg_intercepts.c:...)
+ by 0x........: main (tc19_shadowmem.c:204)
+
+Thread #x was created
+ ...
+ by 0x........: pthread_create@* (hg_intercepts.c:...)
+ by 0x........: main (tc19_shadowmem.c:203)
+
+Possible data race during write of size 2 at 0x........ by thread #x
+ at 0x........: child16 (tc19_shadowmem.c:57)
+ by 0x........: steer (tc19_shadowmem.c:480)
+ by 0x........: mythread_wrapper (hg_intercepts.c:...)
+ ...
+ This conflicts with a previous write of size 2 by thread #x
+ at 0x........: child16 (tc19_shadowmem.c:57)
+ by 0x........: steer (tc19_shadowmem.c:480)
+ by 0x........: mythread_wrapper (hg_intercepts.c:...)
+ ...
+---------- short gran, 1 .. 98, skip 97 ----------
+
+Thread #x was created
+ ...
+ by 0x........: pthread_create@* (hg_intercepts.c:...)
+ by 0x........: main (tc19_shadowmem.c:204)
+
+Thread #x was created
+ ...
+ by 0x........: pthread_create@* (hg_intercepts.c:...)
+ by 0x........: main (tc19_shadowmem.c:203)
+
+Possible data race during write of size 1 at 0x........ by thread #x
+ at 0x........: child16 (tc19_shadowmem.c:57)
+ by 0x........: steer (tc19_shadowmem.c:482)
+ by 0x........: mythread_wrapper (hg_intercepts.c:...)
+ ...
+ This conflicts with a previous write of size 1 by thread #x
+ at 0x........: child16 (tc19_shadowmem.c:57)
+ by 0x........: steer (tc19_shadowmem.c:482)
+ by 0x........: mythread_wrapper (hg_intercepts.c:...)
+ ...
+
+Possible data race during write of size 1 at 0x........ by thread #x
+ at 0x........: child16 (tc19_shadowmem.c:57)
+ by 0x........: steer (tc19_shadowmem.c:482)
+ by 0x........: mythread_wrapper (hg_intercepts.c:...)
+ ...
+ This conflicts with a previous write of size 1 by thread #x
+ at 0x........: child16 (tc19_shadowmem.c:57)
+ by 0x........: steer (tc19_shadowmem.c:482)
+ by 0x........: mythread_wrapper (hg_intercepts.c:...)
+ ...
+
+==========================================================
+=== 32 32 32 32 32 32 32 32 32 32 32 32 32 32 32 32 32 ===
+==========================================================
+
+---------- int gran, 0 .. 96, skip 0 ----------
+
+Thread #x was created
+ ...
+ by 0x........: pthread_create@* (hg_intercepts.c:...)
+ by 0x........: main (tc19_shadowmem.c:235)
+
+Thread #x was created
+ ...
+ by 0x........: pthread_create@* (hg_intercepts.c:...)
+ by 0x........: main (tc19_shadowmem.c:234)
+
+Possible data race during write of size 4 at 0x........ by thread #x
+ at 0x........: child32 (tc19_shadowmem.c:81)
+ by 0x........: steer (tc19_shadowmem.c:288)
+ by 0x........: mythread_wrapper (hg_intercepts.c:...)
+ ...
+ This conflicts with a previous write of size 4 by thread #x
+ at 0x........: child32 (tc19_shadowmem.c:81)
+ by 0x........: steer (tc19_shadowmem.c:288)
+ by 0x........: mythread_wrapper (hg_intercepts.c:...)
+ ...
+---------- int gran, 1 .. 96, skip 1 ----------
+
+Thread #x was created
+ ...
+ by 0x........: pthread_create@* (hg_intercepts.c:...)
+ by 0x........: main (tc19_shadowmem.c:235)
+
+Thread #x was created
+ ...
+ by 0x........: pthread_create@* (hg_intercepts.c:...)
+ by 0x........: main (tc19_shadowmem.c:234)
+
+Possible data race during write of size 1 at 0x........ by thread #x
+ at 0x........: child32 (tc19_shadowmem.c:81)
+ by 0x........: steer (tc19_shadowmem.c:290)
+ by 0x........: mythread_wrapper (hg_intercepts.c:...)
+ ...
+ This conflicts with a previous write of size 1 by thread #x
+ at 0x........: child32 (tc19_shadowmem.c:81)
+ by 0x........: steer (tc19_shadowmem.c:290)
+ by 0x........: mythread_wrapper (hg_intercepts.c:...)
+ ...
+
+Possible data race during write of size 1 at 0x........ by thread #x
+ at 0x........: child32 (tc19_shadowmem.c:81)
+ by 0x........: steer (tc19_shadowmem.c:290)
+ by 0x........: mythread_wrapper (hg_intercepts.c:...)
+ ...
+ This conflicts with a previous write of size 1 by thread #x
+ at 0x........: child32 (tc19_shadowmem.c:81)
+ by 0x........: steer (tc19_shadowmem.c:290)
+ by 0x........: mythread_wrapper (hg_intercepts.c:...)
+ ...
+
+Possible data race during write of size 1 at 0x........ by thread #x
+ at 0x........: child32 (tc19_shadowmem.c:81)
+ by 0x........: steer (tc19_shadowmem.c:290)
+ by 0x........: mythread_wrapper (hg_intercepts.c:...)
+ ...
+ This conflicts with a previous write of size 1 by thread #x
+ at 0x........: child32 (tc19_shadowmem.c:81)
+ by 0x........: steer (tc19_shadowmem.c:290)
+ by 0x........: mythread_wrapper (hg_intercepts.c:...)
+ ...
+
+Possible data race during write of size 1 at 0x........ by thread #x
+ at 0x........: child32 (tc19_shadowmem.c:81)
+ by 0x........: steer (tc19_shadowmem.c:290)
+ by 0x........: mythread_wrapper (hg_intercepts.c:...)
+ ...
+ This conflicts with a previous write of size 1 by thread #x
+ at 0x........: child32 (tc19_shadowmem.c:81)
+ by 0x........: steer (tc19_shadowmem.c:290)
+ by 0x........: mythread_wrapper (hg_intercepts.c:...)
+ ...
+---------- int gran, 2 .. 96, skip 2 ----------
+
+Thread #x was created
+ ...
+ by 0x........: pthread_create@* (hg_intercepts.c:...)
+ by 0x........: main (tc19_shadowmem.c:235)
+
+Thread #x was created
+ ...
+ by 0x........: pthread_create@* (hg_intercepts.c:...)
+ by 0x........: main (tc19_shadowmem.c:234)
+
+Possible data race during write of size 2 at 0x........ by thread #x
+ at 0x........: child32 (tc19_shadowmem.c:81)
+ by 0x........: steer (tc19_shadowmem.c:292)
+ by 0x........: mythread_wrapper (hg_intercepts.c:...)
+ ...
+ This conflicts with a previous write of size 2 by thread #x
+ at 0x........: child32 (tc19_shadowmem.c:81)
+ by 0x........: steer (tc19_shadowmem.c:292)
+ by 0x........: mythread_wrapper (hg_intercepts.c:...)
+ ...
+
+Possible data race during write of size 2 at 0x........ by thread #x
+ at 0x........: child32 (tc19_shadowmem.c:81)
+ by 0x........: steer (tc19_shadowmem.c:292)
+ by 0x........: mythread_wrapper (hg_intercepts.c:...)
+ ...
+ This conflicts with a previous write of size 2 by thread #x
+ at 0x........: child32 (tc19_shadowmem.c:81)
+ by 0x........: steer (tc19_shadowmem.c:292)
+ by 0x........: mythread_wrapper (hg_intercepts.c:...)
+ ...
+---------- int gran, 3 .. 96, skip 3 ----------
+
+Thread #x was created
+ ...
+ by 0x........: pthread_create@* (hg_intercepts.c:...)
+ by 0x........: main (tc19_shadowmem.c:235)
+
+Thread #x was created
+ ...
+ by 0x........: pthread_create@* (hg_intercepts.c:...)
+ by 0x........: main (tc19_shadowmem.c:234)
+
+Possible data race during write of size 1 at 0x........ by thread #x
+ at 0x........: child32 (tc19_shadowmem.c:81)
+ by 0x........: steer (tc19_shadowmem.c:294)
+ by 0x........: mythread_wrapper (hg_intercepts.c:...)
+ ...
+ This conflicts with a previous write of size 1 by thread #x
+ at 0x........: child32 (tc19_shadowmem.c:81)
+ by 0x........: steer (tc19_shadowmem.c:294)
+ by 0x........: mythread_wrapper (hg_intercepts.c:...)
+ ...
+
+Possible data race during write of size 1 at 0x........ by thread #x
+ at 0x........: child32 (tc19_shadowmem.c:81)
+ by 0x........: steer (tc19_shadowmem.c:294)
+ by 0x........: mythread_wrapper (hg_intercepts.c:...)
+ ...
+ This conflicts with a previous write of size 1 by thread #x
+ at 0x........: child32 (tc19_shadowmem.c:81)
+ by 0x........: steer (tc19_shadowmem.c:294)
+ by 0x........: mythread_wrapper (hg_intercepts.c:...)
+ ...
+
+Possible data race during write of size 1 at 0x........ by thread #x
+ at 0x........: child32 (tc19_shadowmem.c:81)
+ by 0x........: steer (tc19_shadowmem.c:294)
+ by 0x........: mythread_wrapper (hg_intercepts.c:...)
+ ...
+ This conflicts with a previous write of size 1 by thread #x
+ at 0x........: child32 (tc19_shadowmem.c:81)
+ by 0x........: steer (tc19_shadowmem.c:294)
+ by 0x........: mythread_wrapper (hg_intercepts.c:...)
+ ...
+
+Possible data race during write of size 1 at 0x........ by thread #x
+ at 0x........: child32 (tc19_shadowmem.c:81)
+ by 0x........: steer (tc19_shadowmem.c:294)
+ by 0x........: mythread_wrapper (hg_intercepts.c:...)
+ ...
+ This conflicts with a previous write of size 1 by thread #x
+ at 0x........: child32 (tc19_shadowmem.c:81)
+ by 0x........: steer (tc19_shadowmem.c:294)
+ by 0x........: mythread_wrapper (hg_intercepts.c:...)
+ ...
+---------- int gran, 0 .. 96, skip 4 ----------
+
+Thread #x was created
+ ...
+ by 0x........: pthread_create@* (hg_intercepts.c:...)
+ by 0x........: main (tc19_shadowmem.c:235)
+
+Thread #x was created
+ ...
+ by 0x........: pthread_create@* (hg_intercepts.c:...)
+ by 0x........: main (tc19_shadowmem.c:234)
+
+Possible data race during write of size 4 at 0x........ by thread #x
+ at 0x........: child32 (tc19_shadowmem.c:81)
+ by 0x........: steer (tc19_shadowmem.c:296)
+ by 0x........: mythread_wrapper (hg_intercepts.c:...)
+ ...
+ This conflicts with a previous write of size 4 by thread #x
+ at 0x........: child32 (tc19_shadowmem.c:81)
+ by 0x........: steer (tc19_shadowmem.c:296)
+ by 0x........: mythread_wrapper (hg_intercepts.c:...)
+ ...
+---------- int gran, 1 .. 96, skip 5 ----------
+
+Thread #x was created
+ ...
+ by 0x........: pthread_create@* (hg_intercepts.c:...)
+ by 0x........: main (tc19_shadowmem.c:235)
+
+Thread #x was created
+ ...
+ by 0x........: pthread_create@* (hg_intercepts.c:...)
+ by 0x........: main (tc19_shadowmem.c:234)
+
+Possible data race during write of size 1 at 0x........ by thread #x
+ at 0x........: child32 (tc19_shadowmem.c:81)
+ by 0x........: steer (tc19_shadowmem.c:298)
+ by 0x........: mythread_wrapper (hg_intercepts.c:...)
+ ...
+ This conflicts with a previous write of size 1 by thread #x
+ at 0x........: child32 (tc19_shadowmem.c:81)
+ by 0x........: steer (tc19_shadowmem.c:298)
+ by 0x........: mythread_wrapper (hg_intercepts.c:...)
+ ...
+
+Possible data race during write of size 1 at 0x........ by thread #x
+ at 0x........: child32 (tc19_shadowmem.c:81)
+ by 0x........: steer (tc19_shadowmem.c:298)
+ by 0x........: mythread_wrapper (hg_intercepts.c:...)
+ ...
+ This conflicts with a previous write of size 1 by thread #x
+ at 0x........: child32 (tc19_shadowmem.c:81)
+ by 0x........: steer (tc19_shadowmem.c:298)
+ by 0x........: mythread_wrapper (hg_intercepts.c:...)
+ ...
+
+Possible data race during write of size 1 at 0x........ by thread #x
+ at 0x........: child32 (tc19_shadowmem.c:81)
+ by 0x........: steer (tc19_shadowmem.c:298)
+ by 0x........: mythread_wrapper (hg_intercepts.c:...)
+ ...
+ This conflicts with a previous write of size 1 by thread #x
+ at 0x........: child32 (tc19_shadowmem.c:81)
+ by 0x........: steer (tc19_shadowmem.c:298)
+ by 0x........: mythread_wrapper (hg_intercepts.c:...)
+ ...
+
+Possible data race during write of size 1 at 0x........ by thread #x
+ at 0x........: child32 (tc19_shadowmem.c:81)
+ by 0x........: steer (tc19_shadowmem.c:298)
+ by 0x........: mythread_wrapper (hg_intercepts.c:...)
+ ...
+ This conflicts with a previous write of size 1 by thread #x
+ at 0x........: child32 (tc19_shadowmem.c:81)
+ by 0x........: steer (tc19_shadowmem.c:298)
+ by 0x........: mythread_wrapper (hg_intercepts.c:...)
+ ...
+---------- int gran, 2 .. 96, skip 6 ----------
+
+Thread #x was created
+ ...
+ by 0x........: pthread_create@* (hg_intercepts.c:...)
+ by 0x........: main (tc19_shadowmem.c:235)
+
+Thread #x was created
+ ...
+ by 0x........: pthread_create@* (hg_intercepts.c:...)
+ by 0x........: main (tc19_shadowmem.c:234)
+
+Possible data race during write of size 2 at 0x........ by thread #x
+ at 0x........: child32 (tc19_shadowmem.c:81)
+ by 0x........: steer (tc19_shadowmem.c:300)
+ by 0x........: mythread_wrapper (hg_intercepts.c:...)
+ ...
+ This conflicts with a previous write of size 2 by thread #x
+ at 0x........: child32 (tc19_shadowmem.c:81)
+ by 0x........: steer (tc19_shadowmem.c:300)
+ by 0x........: mythread_wrapper (hg_intercepts.c:...)
+ ...
+
+Possible data race during write of size 2 at 0x........ by thread #x
+ at 0x........: child32 (tc19_shadowmem.c:81)
+ by 0x........: steer (tc19_shadowmem.c:300)
+ by 0x........: mythread_wrapper (hg_intercepts.c:...)
+ ...
+ This conflicts with a previous write of size 2 by thread #x
+ at 0x........: child32 (tc19_shadowmem.c:81)
+ by 0x........: steer (tc19_shadowmem.c:300)
+ by 0x........: mythread_wrapper (hg_intercepts.c:...)
+ ...
+---------- int gran, 3 .. 96, skip 7 ----------
+
+Thread #x was created
+ ...
+ by 0x........: pthread_create@* (hg_intercepts.c:...)
+ by 0x........: main (tc19_shadowmem.c:235)
+
+Thread #x was created
+ ...
+ by 0x........: pthread_create@* (hg_intercepts.c:...)
+ by 0x........: main (tc19_shadowmem.c:234)
+
+Possible data race during write of size 1 at 0x........ by thread #x
+ at 0x........: child32 (tc19_shadowmem.c:81)
+ by 0x........: steer (tc19_shadowmem.c:302)
+ by 0x........: mythread_wrapper (hg_intercepts.c:...)
+ ...
+ This conflicts with a previous write of size 1 by thread #x
+ at 0x........: child32 (tc19_shadowmem.c:81)
+ by 0x........: steer (tc19_shadowmem.c:302)
+ by 0x........: mythread_wrapper (hg_intercepts.c:...)
+ ...
+
+Possible data race during write of size 1 at 0x........ by thread #x
+ at 0x........: child32 (tc19_shadowmem.c:81)
+ by 0x........: steer (tc19_shadowmem.c:302)
+ by 0x........: mythread_wrapper (hg_intercepts.c:...)
+ ...
+ This conflicts with a previous write of size 1 by thread #x
+ at 0x........: child32 (tc19_shadowmem.c:81)
+ by 0x........: steer (tc19_shadowmem.c:302)
+ by 0x........: mythread_wrapper (hg_intercepts.c:...)
+ ...
+
+Possible data race during write of size 1 at 0x........ by thread #x
+ at 0x........: child32 (tc19_shadowmem.c:81)
+ by 0x........: steer (tc19_shadowmem.c:302)
+ by 0x........: mythread_wrapper (hg_intercepts.c:...)
+ ...
+ This conflicts with a previous write of size 1 by thread #x
+ at 0x........: child32 (tc19_shadowmem.c:81)
+ by 0x........: steer (tc19_shadowmem.c:302)
+ by 0x........: mythread_wrapper (hg_intercepts.c:...)
+ ...
+
+Possible data race during write of size 1 at 0x........ by thread #x
+ at 0x........: child32 (tc19_shadowmem.c:81)
+ by 0x........: steer (tc19_shadowmem.c:302)
+ by 0x........: mythread_wrapper (hg_intercepts.c:...)
+ ...
+ This conflicts with a previous write of size 1 by thread #x
+ at 0x........: child32 (tc19_shadowmem.c:81)
+ by 0x........: steer (tc19_shadowmem.c:302)
+ by 0x........: mythread_wrapper (hg_intercepts.c:...)
+ ...
+---------- int gran, 0 .. 96, skip 8 ----------
+
+Thread #x was created
+ ...
+ by 0x........: pthread_create@* (hg_intercepts.c:...)
+ by 0x........: main (tc19_shadowmem.c:235)
+
+Thread #x was created
+ ...
+ by 0x........: pthread_create@* (hg_intercepts.c:...)
+ by 0x........: main (tc19_shadowmem.c:234)
+
+Possible data race during write of size 4 at 0x........ by thread #x
+ at 0x........: child32 (tc19_shadowmem.c:81)
+ by 0x........: steer (tc19_shadowmem.c:304)
+ by 0x........: mythread_wrapper (hg_intercepts.c:...)
+ ...
+ This conflicts with a previous write of size 4 by thread #x
+ at 0x........: child32 (tc19_shadowmem.c:81)
+ by 0x........: steer (tc19_shadowmem.c:304)
+ by 0x........: mythread_wrapper (hg_intercepts.c:...)
+ ...
+---------- int gran, 1 .. 96, skip 9 ----------
+
+Thread #x was created
+ ...
+ by 0x........: pthread_create@* (hg_intercepts.c:...)
+ by 0x........: main (tc19_shadowmem.c:235)
+
+Thread #x was created
+ ...
+ by 0x........: pthread_create@* (hg_intercepts.c:...)
+ by 0x........: main (tc19_shadowmem.c:234)
+
+Possible data race during write of size 1 at 0x........ by thread #x
+ at 0x........: child32 (tc19_shadowmem.c:81)
+ by 0x........: steer (tc19_shadowmem.c:306)
+ by 0x........: mythread_wrapper (hg_intercepts.c:...)
+ ...
+ This conflicts with a previous write of size 1 by thread #x
+ at 0x........: child32 (tc19_shadowmem.c:81)
+ by 0x........: steer (tc19_shadowmem.c:306)
+ by 0x........: mythread_wrapper (hg_intercepts.c:...)
+ ...
+
+Possible data race during write of size 1 at 0x........ by thread #x
+ at 0x........: child32 (tc19_shadowmem.c:81)
+ by 0x........: steer (tc19_shadowmem.c:306)
+ by 0x........: mythread_wrapper (hg_intercepts.c:...)
+ ...
+ This conflicts with a previous write of size 1 by thread #x
+ at 0x........: child32 (tc19_shadowmem.c:81)
+ by 0x........: steer (tc19_shadowmem.c:306)
+ by 0x........: mythread_wrapper (hg_intercepts.c:...)
+ ...
+
+Possible data race during write of size 1 at 0x........ by thread #x
+ at 0x........: child32 (tc19_shadowmem.c:81)
+ by 0x........: steer (tc19_shadowmem.c:306)
+ by 0x........: mythread_wrapper (hg_intercepts.c:...)
+ ...
+ This conflicts with a previous write of size 1 by thread #x
+ at 0x........: child32 (tc19_shadowmem.c:81)
+ by 0x........: steer (tc19_shadowmem.c:306)
+ by 0x........: mythread_wrapper (hg_intercepts.c:...)
+ ...
+
+Possible data race during write of size 1 at 0x........ by thread #x
+ at 0x........: child32 (tc19_shadowmem.c:81)
+ by 0x........: steer (tc19_shadowmem.c:306)
+ by 0x........: mythread_wrapper (hg_intercepts.c:...)
+ ...
+ This conflicts with a previous write of size 1 by thread #x
+ at 0x........: child32 (tc19_shadowmem.c:81)
+ by 0x........: steer (tc19_shadowmem.c:306)
+ by 0x........: mythread_wrapper (hg_intercepts.c:...)
+ ...
+---------- int gran, 2 .. 96, skip 10 ----------
+
+Thread #x was created
+ ...
+ by 0x........: pthread_create@* (hg_intercepts.c:...)
+ by 0x........: main (tc19_shadowmem.c:235)
+
+Thread #x was created
+ ...
+ by 0x........: pthread_create@* (hg_intercepts.c:...)
+ by 0x........: main (tc19_shadowmem.c:234)
+
+Possible data race during write of size 2 at 0x........ by thread #x
+ at 0x........: child32 (tc19_shadowmem.c:81)
+ by 0x........: steer (tc19_shadowmem.c:308)
+ by 0x........: mythread_wrapper (hg_intercepts.c:...)
+ ...
+ This conflicts with a previous write of size 2 by thread #x
+ at 0x........: child32 (tc19_shadowmem.c:81)
+ by 0x........: steer (tc19_shadowmem.c:308)
+ by 0x........: mythread_wrapper (hg_intercepts.c:...)
+ ...
+
+Possible data race during write of size 2 at 0x........ by thread #x
+ at 0x........: child32 (tc19_shadowmem.c:81)
+ by 0x........: steer (tc19_shadowmem.c:308)
+ by 0x........: mythread_wrapper (hg_intercepts.c:...)
+ ...
+ This conflicts with a previous write of size 2 by thread #x
+ at 0x........: child32 (tc19_shadowmem.c:81)
+ by 0x........: steer (tc19_shadowmem.c:308)
+ by 0x........: mythread_wrapper (hg_intercepts.c:...)
+ ...
+---------- int gran, 3 .. 96, skip 11 ----------
+
+Thread #x was created
+ ...
+ by 0x........: pthread_create@* (hg_intercepts.c:...)
+ by 0x........: main (tc19_shadowmem.c:235)
+
+Thread #x was created
+ ...
+ by 0x........: pthread_create@* (hg_intercepts.c:...)
+ by 0x........: main (tc19_shadowmem.c:234)
+
+Possible data race during write of size 1 at 0x........ by thread #x
+ at 0x........: child32 (tc19_shadowmem.c:81)
+ by 0x........: steer (tc19_shadowmem.c:310)
+ by 0x........: mythread_wrapper (hg_intercepts.c:...)
+ ...
+ This conflicts with a previous write of size 1 by thread #x
+ at 0x........: child32 (tc19_shadowmem.c:81)
+ by 0x........: steer (tc19_shadowmem.c:310)
+ by 0x........: mythread_wrapper (hg_intercepts.c:...)
+ ...
+
+Possible data race during write of size 1 at 0x........ by thread #x
+ at 0x........: child32 (tc19_shadowmem.c:81)
+ by 0x........: steer (tc19_shadowmem.c:310)
+ by 0x........: mythread_wrapper (hg_intercepts.c:...)
+ ...
+ This conflicts with a previous write of size 1 by thread #x
+ at 0x........: child32 (tc19_shadowmem.c:81)
+ by 0x........: steer (tc19_shadowmem.c:310)
+ by 0x........: mythread_wrapper (hg_intercepts.c:...)
+ ...
+
+Possible data race during write of size 1 at 0x........ by thread #x
+ at 0x........: child32 (tc19_shadowmem.c:81)
+ by 0x........: steer (tc19_shadowmem.c:310)
+ by 0x........: mythread_wrapper (hg_intercepts.c:...)
+ ...
+ This conflicts with a previous write of size 1 by thread #x
+ at 0x........: child32 (tc19_shadowmem.c:81)
+ by 0x........: steer (tc19_shadowmem.c:310)
+ by 0x........: mythread_wrapper (hg_intercepts.c:...)
+ ...
+
+Possible data race during write of size 1 at 0x........ by thread #x
+ at 0x........: child32 (tc19_shadowmem.c:81)
+ by 0x........: steer (tc19_shadowmem.c:310)
+ by 0x........: mythread_wrapper (hg_intercepts.c:...)
+ ...
+ This conflicts with a previous write of size 1 by thread #x
+ at 0x........: child32 (tc19_shadowmem.c:81)
+ by 0x........: steer (tc19_shadowmem.c:310)
+ by 0x........: mythread_wrapper (hg_intercepts.c:...)
+ ...
+---------- int gran, 0 .. 96, skip 12 ----------
+
+Thread #x was created
+ ...
+ by 0x........: pthread_create@* (hg_intercepts.c:...)
+ by 0x........: main (tc19_shadowmem.c:235)
+
+Thread #x was created
+ ...
+ by 0x........: pthread_create@* (hg_intercepts.c:...)
+ by 0x........: main (tc19_shadowmem.c:234)
+
+Possible data race during write of size 4 at 0x........ by thread #x
+ at 0x........: child32 (tc19_shadowmem.c:81)
+ by 0x........: steer (tc19_shadowmem.c:312)
+ by 0x........: mythread_wrapper (hg_intercepts.c:...)
+ ...
+ This conflicts with a previous write of size 4 by thread #x
+ at 0x........: child32 (tc19_shadowmem.c:81)
+ by 0x........: steer (tc19_shadowmem.c:312)
+ by 0x........: mythread_wrapper (hg_intercepts.c:...)
+ ...
+---------- int gran, 1 .. 96, skip 13 ----------
+
+Thread #x was created
+ ...
+ by 0x........: pthread_create@* (hg_intercepts.c:...)
+ by 0x........: main (tc19_shadowmem.c:235)
+
+Thread #x was created
+ ...
+ by 0x........: pthread_create@* (hg_intercepts.c:...)
+ by 0x........: main (tc19_shadowmem.c:234)
+
+Possible data race during write of size 1 at 0x........ by thread #x
+ at 0x........: child32 (tc19_shadowmem.c:81)
+ by 0x........: steer (tc19_shadowmem.c:314)
+ by 0x........: mythread_wrapper (hg_intercepts.c:...)
+ ...
+ This conflicts with a previous write of size 1 by thread #x
+ at 0x........: child32 (tc19_shadowmem.c:81)
+ by 0x........: steer (tc19_shadowmem.c:314)
+ by 0x........: mythread_wrapper (hg_intercepts.c:...)
+ ...
+
+Possible data race during write of size 1 at 0x........ by thread #x
+ at 0x........: child32 (tc19_shadowmem.c:81)
+ by 0x........: steer (tc19_shadowmem.c:314)
+ by 0x........: mythread_wrapper (hg_intercepts.c:...)
+ ...
+ This conflicts with a previous write of size 1 by thread #x
+ at 0x........: child32 (tc19_shadowmem.c:81)
+ by 0x........: steer (tc19_shadowmem.c:314)
+ by 0x........: mythread_wrapper (hg_intercepts.c:...)
+ ...
+
+Possible data race during write of size 1 at 0x........ by thread #x
+ at 0x........: child32 (tc19_shadowmem.c:81)
+ by 0x........: steer (tc19_shadowmem.c:314)
+ by 0x........: mythread_wrapper (hg_intercepts.c:...)
+ ...
+ This conflicts with a previous write of size 1 by thread #x
+ at 0x........: child32 (tc19_shadowmem.c:81)
+ by 0x........: steer (tc19_shadowmem.c:314)
+ by 0x........: mythread_wrapper (hg_intercepts.c:...)
+ ...
+
+Possible data race during write of size 1 at 0x........ by thread #x
+ at 0x........: child32 (tc19_shadowmem.c:81)
+ by 0x........: steer (tc19_shadowmem.c:314)
+ by 0x........: mythread_wrapper (hg_intercepts.c:...)
+ ...
+ This conflicts with a previous write of size 1 by thread #x
+ at 0x........: child32 (tc19_shadowmem.c:81)
+ by 0x........: steer (tc19_shadowmem.c:314)
+ by 0x........: mythread_wrapper (hg_intercepts.c:...)
+ ...
+---------- int gran, 2 .. 96, skip 14 ----------
+
+Thread #x was created
+ ...
+ by 0x........: pthread_create@* (hg_intercepts.c:...)
+ by 0x........: main (tc19_shadowmem.c:235)
+
+Thread #x was created
+ ...
+ by 0x........: pthread_create@* (hg_intercepts.c:...)
+ by 0x........: main (tc19_shadowmem.c:234)
+
+Possible data race during write of size 2 at 0x........ by thread #x
+ at 0x........: child32 (tc19_shadowmem.c:81)
+ by 0x........: steer (tc19_shadowmem.c:316)
+ by 0x........: mythread_wrapper (hg_intercepts.c:...)
+ ...
+ This conflicts with a previous write of size 2 by thread #x
+ at 0x........: child32 (tc19_shadowmem.c:81)
+ by 0x........: steer (tc19_shadowmem.c:316)
+ by 0x........: mythread_wrapper (hg_intercepts.c:...)
+ ...
+
+Possible data race during write of size 2 at 0x........ by thread #x
+ at 0x........: child32 (tc19_shadowmem.c:81)
+ by 0x........: steer (tc19_shadowmem.c:316)
+ by 0x........: mythread_wrapper (hg_intercepts.c:...)
+ ...
+ This conflicts with a previous write of size 2 by thread #x
+ at 0x........: child32 (tc19_shadowmem.c:81)
+ by 0x........: steer (tc19_shadowmem.c:316)
+ by 0x........: mythread_wrapper (hg_intercepts.c:...)
+ ...
+---------- int gran, 3 .. 96, skip 15 ----------
+
+Thread #x was created
+ ...
+ by 0x........: pthread_create@* (hg_intercepts.c:...)
+ by 0x........: main (tc19_shadowmem.c:235)
+
+Thread #x was created
+ ...
+ by 0x........: pthread_create@* (hg_intercepts.c:...)
+ by 0x........: main (tc19_shadowmem.c:234)
+
+Possible data race during write of size 1 at 0x........ by thread #x
+ at 0x........: child32 (tc19_shadowmem.c:81)
+ by 0x........: steer (tc19_shadowmem.c:318)
+ by 0x........: mythread_wrapper (hg_intercepts.c:...)
+ ...
+ This conflicts with a previous write of size 1 by thread #x
+ at 0x........: child32 (tc19_shadowmem.c:81)
+ by 0x........: steer (tc19_shadowmem.c:318)
+ by 0x........: mythread_wrapper (hg_intercepts.c:...)
+ ...
+
+Possible data race during write of size 1 at 0x........ by thread #x
+ at 0x........: child32 (tc19_shadowmem.c:81)
+ by 0x........: steer (tc19_shadowmem.c:318)
+ by 0x........: mythread_wrapper (hg_intercepts.c:...)
+ ...
+ This conflicts with a previous write of size 1 by thread #x
+ at 0x........: child32 (tc19_shadowmem.c:81)
+ by 0x........: steer (tc19_shadowmem.c:318)
+ by 0x........: mythread_wrapper (hg_intercepts.c:...)
+ ...
+
+Possible data race during write of size 1 at 0x........ by thread #x
+ at 0x........: child32 (tc19_shadowmem.c:81)
+ by 0x........: steer (tc19_shadowmem.c:318)
+ by 0x........: mythread_wrapper (hg_intercepts.c:...)
+ ...
+ This conflicts with a previous write of size 1 by thread #x
+ at 0x........: child32 (tc19_shadowmem.c:81)
+ by 0x........: steer (tc19_shadowmem.c:318)
+ by 0x........: mythread_wrapper (hg_intercepts.c:...)
+ ...
+
+Possible data race during write of size 1 at 0x........ by thread #x
+ at 0x........: child32 (tc19_shadowmem.c:81)
+ by 0x........: steer (tc19_shadowmem.c:318)
+ by 0x........: mythread_wrapper (hg_intercepts.c:...)
+ ...
+ This conflicts with a previous write of size 1 by thread #x
+ at 0x........: child32 (tc19_shadowmem.c:81)
+ by 0x........: steer (tc19_shadowmem.c:318)
+ by 0x........: mythread_wrapper (hg_intercepts.c:...)
+ ...
+---------- int gran, 0 .. 96, skip 16 ----------
+
+Thread #x was created
+ ...
+ by 0x........: pthread_create@* (hg_intercepts.c:...)
+ by 0x........: main (tc19_shadowmem.c:235)
+
+Thread #x was created
+ ...
+ by 0x........: pthread_create@* (hg_intercepts.c:...)
+ by 0x........: main (tc19_shadowmem.c:234)
+
+Possible data race during write of size 4 at 0x........ by thread #x
+ at 0x........: child32 (tc19_shadowmem.c:81)
+ by 0x........: steer (tc19_shadowmem.c:320)
+ by 0x........: mythread_wrapper (hg_intercepts.c:...)
+ ...
+ This conflicts with a previous write of size 4 by thread #x
+ at 0x........: child32 (tc19_shadowmem.c:81)
+ by 0x........: steer (tc19_shadowmem.c:320)
+ by 0x........: mythread_wrapper (hg_intercepts.c:...)
+ ...
+---------- int gran, 1 .. 96, skip 17 ----------
+
+Thread #x was created
+ ...
+ by 0x........: pthread_create@* (hg_intercepts.c:...)
+ by 0x........: main (tc19_shadowmem.c:235)
+
+Thread #x was created
+ ...
+ by 0x........: pthread_create@* (hg_intercepts.c:...)
+ by 0x........: main (tc19_shadowmem.c:234)
+
+Possible data race during write of size 1 at 0x........ by thread #x
+ at 0x........: child32 (tc19_shadowmem.c:81)
+ by 0x........: steer (tc19_shadowmem.c:322)
+ by 0x........: mythread_wrapper (hg_intercepts.c:...)
+ ...
+ This conflicts with a previous write of size 1 by thread #x
+ at 0x........: child32 (tc19_shadowmem.c:81)
+ by 0x........: steer (tc19_shadowmem.c:322)
+ by 0x........: mythread_wrapper (hg_intercepts.c:...)
+ ...
+
+Possible data race during write of size 1 at 0x........ by thread #x
+ at 0x........: child32 (tc19_shadowmem.c:81)
+ by 0x........: steer (tc19_shadowmem.c:322)
+ by 0x........: mythread_wrapper (hg_intercepts.c:...)
+ ...
+ This conflicts with a previous write of size 1 by thread #x
+ at 0x........: child32 (tc19_shadowmem.c:81)
+ by 0x........: steer (tc19_shadowmem.c:322)
+ by 0x........: mythread_wrapper (hg_intercepts.c:...)
+ ...
+
+Possible data race during write of size 1 at 0x........ by thread #x
+ at 0x........: child32 (tc19_shadowmem.c:81)
+ by 0x........: steer (tc19_shadowmem.c:322)
+ by 0x........: mythread_wrapper (hg_intercepts.c:...)
+ ...
+ This conflicts with a previous write of size 1 by thread #x
+ at 0x........: child32 (tc19_shadowmem.c:81)
+ by 0x........: steer (tc19_shadowmem.c:322)
+ by 0x........: mythread_wrapper (hg_intercepts.c:...)
+ ...
+
+Possible data race during write of size 1 at 0x........ by thread #x
+ at 0x........: child32 (tc19_shadowmem.c:81)
+ by 0x........: steer (tc19_shadowmem.c:322)
+ by 0x........: mythread_wrapper (hg_intercepts.c:...)
+ ...
+ This conflicts with a previous write of size 1 by thread #x
+ at 0x........: child32 (tc19_shadowmem.c:81)
+ by 0x........: steer (tc19_shadowmem.c:322)
+ by 0x........: mythread_wrapper (hg_intercepts.c:...)
+ ...
+---------- int gran, 2 .. 96, skip 18 ----------
+
+Thread #x was created
+ ...
+ by 0x........: pthread_create@* (hg_intercepts.c:...)
+ by 0x........: main (tc19_shadowmem.c:235)
+
+Thread #x was created
+ ...
+ by 0x........: pthread_create@* (hg_intercepts.c:...)
+ by 0x........: main (tc19_shadowmem.c:234)
+
+Possible data race during write of size 2 at 0x........ by thread #x
+ at 0x........: child32 (tc19_shadowmem.c:81)
+ by 0x........: steer (tc19_shadowmem.c:324)
+ by 0x........: mythread_wrapper (hg_intercepts.c:...)
+ ...
+ This conflicts with a previous write of size 2 by thread #x
+ at 0x........: child32 (tc19_shadowmem.c:81)
+ by 0x........: steer (tc19_shadowmem.c:324)
+ by 0x........: mythread_wrapper (hg_intercepts.c:...)
+ ...
+
+Possible data race during write of size 2 at 0x........ by thread #x
+ at 0x........: child32 (tc19_shadowmem.c:81)
+ by 0x........: steer (tc19_shadowmem.c:324)
+ by 0x........: mythread_wrapper (hg_intercepts.c:...)
+ ...
+ This conflicts with a previous write of size 2 by thread #x
+ at 0x........: child32 (tc19_shadowmem.c:81)
+ by 0x........: steer (tc19_shadowmem.c:324)
+ by 0x........: mythread_wrapper (hg_intercepts.c:...)
+ ...
+---------- int gran, 3 .. 96, skip 19 ----------
+
+Thread #x was created
+ ...
+ by 0x........: pthread_create@* (hg_intercepts.c:...)
+ by 0x........: main (tc19_shadowmem.c:235)
+
+Thread #x was created
+ ...
+ by 0x........: pthread_create@* (hg_intercepts.c:...)
+ by 0x........: main (tc19_shadowmem.c:234)
+
+Possible data race during write of size 1 at 0x........ by thread #x
+ at 0x........: child32 (tc19_shadowmem.c:81)
+ by 0x........: steer (tc19_shadowmem.c:326)
+ by 0x........: mythread_wrapper (hg_intercepts.c:...)
+ ...
+ This conflicts with a previous write of size 1 by thread #x
+ at 0x........: child32 (tc19_shadowmem.c:81)
+ by 0x........: steer (tc19_shadowmem.c:326)
+ by 0x........: mythread_wrapper (hg_intercepts.c:...)
+ ...
+
+Possible data race during write of size 1 at 0x........ by thread #x
+ at 0x........: child32 (tc19_shadowmem.c:81)
+ by 0x........: steer (tc19_shadowmem.c:326)
+ by 0x........: mythread_wrapper (hg_intercepts.c:...)
+ ...
+ This conflicts with a previous write of size 1 by thread #x
+ at 0x........: child32 (tc19_shadowmem.c:81)
+ by 0x........: steer (tc19_shadowmem.c:326)
+ by 0x........: mythread_wrapper (hg_intercepts.c:...)
+ ...
+
+Possible data race during write of size 1 at 0x........ by thread #x
+ at 0x........: child32 (tc19_shadowmem.c:81)
+ by 0x........: steer (tc19_shadowmem.c:326)
+ by 0x........: mythread_wrapper (hg_intercepts.c:...)
+ ...
+ This conflicts with a previous write of size 1 by thread #x
+ at 0x........: child32 (tc19_shadowmem.c:81)
+ by 0x........: steer (tc19_shadowmem.c:326)
+ by 0x........: mythread_wrapper (hg_intercepts.c:...)
+ ...
+
+Possible data race during write of size 1 at 0x........ by thread #x
+ at 0x........: child32 (tc19_shadowmem.c:81)
+ by 0x........: steer (tc19_shadowmem.c:326)
+ by 0x........: mythread_wrapper (hg_intercepts.c:...)
+ ...
+ This conflicts with a previous write of size 1 by thread #x
+ at 0x........: child32 (tc19_shadowmem.c:81)
+ by 0x........: steer (tc19_shadowmem.c:326)
+ by 0x........: mythread_wrapper (hg_intercepts.c:...)
+ ...
+---------- int gran, 0 .. 96, skip 20 ----------
+
+Thread #x was created
+ ...
+ by 0x........: pthread_create@* (hg_intercepts.c:...)
+ by 0x........: main (tc19_shadowmem.c:235)
+
+Thread #x was created
+ ...
+ by 0x........: pthread_create@* (hg_intercepts.c:...)
+ by 0x........: main (tc19_shadowmem.c:234)
+
+Possible data race during write of size 4 at 0x........ by thread #x
+ at 0x........: child32 (tc19_shadowmem.c:81)
+ by 0x........: steer (tc19_shadowmem.c:328)
+ by 0x........: mythread_wrapper (hg_intercepts.c:...)
+ ...
+ This conflicts with a previous write of size 4 by thread #x
+ at 0x........: child32 (tc19_shadowmem.c:81)
+ by 0x........: steer (tc19_shadowmem.c:328)
+ by 0x........: mythread_wrapper (hg_intercepts.c:...)
+ ...
+---------- int gran, 1 .. 96, skip 21 ----------
+
+Thread #x was created
+ ...
+ by 0x........: pthread_create@* (hg_intercepts.c:...)
+ by 0x........: main (tc19_shadowmem.c:235)
+
+Thread #x was created
+ ...
+ by 0x........: pthread_create@* (hg_intercepts.c:...)
+ by 0x........: main (tc19_shadowmem.c:234)
+
+Possible data race during write of size 1 at 0x........ by thread #x
+ at 0x........: child32 (tc19_shadowmem.c:81)
+ by 0x........: steer (tc19_shadowmem.c:330)
+ by 0x........: mythread_wrapper (hg_intercepts.c:...)
+ ...
+ This conflicts with a previous write of size 1 by thread #x
+ at 0x........: child32 (tc19_shadowmem.c:81)
+ by 0x........: steer (tc19_shadowmem.c:330)
+ by 0x........: mythread_wrapper (hg_intercepts.c:...)
+ ...
+
+Possible data race during write of size 1 at 0x........ by thread #x
+ at 0x........: child32 (tc19_shadowmem.c:81)
+ by 0x........: steer (tc19_shadowmem.c:330)
+ by 0x........: mythread_wrapper (hg_intercepts.c:...)
+ ...
+ This conflicts with a previous write of size 1 by thread #x
+ at 0x........: child32 (tc19_shadowmem.c:81)
+ by 0x........: steer (tc19_shadowmem.c:330)
+ by 0x........: mythread_wrapper (hg_intercepts.c:...)
+ ...
+
+Possible data race during write of size 1 at 0x........ by thread #x
+ at 0x........: child32 (tc19_shadowmem.c:81)
+ by 0x........: steer (tc19_shadowmem.c:330)
+ by 0x........: mythread_wrapper (hg_intercepts.c:...)
+ ...
+ This conflicts with a previous write of size 1 by thread #x
+ at 0x........: child32 (tc19_shadowmem.c:81)
+ by 0x........: steer (tc19_shadowmem.c:330)
+ by 0x........: mythread_wrapper (hg_intercepts.c:...)
+ ...
+
+Possible data race during write of size 1 at 0x........ by thread #x
+ at 0x........: child32 (tc19_shadowmem.c:81)
+ by 0x........: steer (tc19_shadowmem.c:330)
+ by 0x........: mythread_wrapper (hg_intercepts.c:...)
+ ...
+ This conflicts with a previous write of size 1 by thread #x
+ at 0x........: child32 (tc19_shadowmem.c:81)
+ by 0x........: steer (tc19_shadowmem.c:330)
+ by 0x........: mythread_wrapper (hg_intercepts.c:...)
+ ...
+---------- int gran, 2 .. 96, skip 22 ----------
+
+Thread #x was created
+ ...
+ by 0x........: pthread_create@* (hg_intercepts.c:...)
+ by 0x........: main (tc19_shadowmem.c:235)
+
+Thread #x was created
+ ...
+ by 0x........: pthread_create@* (hg_intercepts.c:...)
+ by 0x........: main (tc19_shadowmem.c:234)
+
+Possible data race during write of size 2 at 0x........ by thread #x
+ at 0x........: child32 (tc19_shadowmem.c:81)
+ by 0x........: steer (tc19_shadowmem.c:332)
+ by 0x........: mythread_wrapper (hg_intercepts.c:...)
+ ...
+ This conflicts with a previous write of size 2 by thread #x
+ at 0x........: child32 (tc19_shadowmem.c:81)
+ by 0x........: steer (tc19_shadowmem.c:332)
+ by 0x........: mythread_wrapper (hg_intercepts.c:...)
+ ...
+
+Possible data race during write of size 2 at 0x........ by thread #x
+ at 0x........: child32 (tc19_shadowmem.c:81)
+ by 0x........: steer (tc19_shadowmem.c:332)
+ by 0x........: mythread_wrapper (hg_intercepts.c:...)
+ ...
+ This conflicts with a previous write of size 2 by thread #x
+ at 0x........: child32 (tc19_shadowmem.c:81)
+ by 0x........: steer (tc19_shadowmem.c:332)
+ by 0x........: mythread_wrapper (hg_intercepts.c:...)
+ ...
+---------- int gran, 3 .. 96, skip 23 ----------
+
+Thread #x was created
+ ...
+ by 0x........: pthread_create@* (hg_intercepts.c:...)
+ by 0x........: main (tc19_shadowmem.c:235)
+
+Thread #x was created
+ ...
+ by 0x........: pthread_create@* (hg_intercepts.c:...)
+ by 0x........: main (tc19_shadowmem.c:234)
+
+Possible data race during write of size 1 at 0x........ by thread #x
+ at 0x........: child32 (tc19_shadowmem.c:81)
+ by 0x........: steer (tc19_shadowmem.c:334)
+ by 0x........: mythread_wrapper (hg_intercepts.c:...)
+ ...
+ This conflicts with a previous write of size 1 by thread #x
+ at 0x........: child32 (tc19_shadowmem.c:81)
+ by 0x........: steer (tc19_shadowmem.c:334)
+ by 0x........: mythread_wrapper (hg_intercepts.c:...)
+ ...
+
+Possible data race during write of size 1 at 0x........ by thread #x
+ at 0x........: child32 (tc19_shadowmem.c:81)
+ by 0x........: steer (tc19_shadowmem.c:334)
+ by 0x........: mythread_wrapper (hg_intercepts.c:...)
+ ...
+ This conflicts with a previous write of size 1 by thread #x
+ at 0x........: child32 (tc19_shadowmem.c:81)
+ by 0x........: steer (tc19_shadowmem.c:334)
+ by 0x........: mythread_wrapper (hg_intercepts.c:...)
+ ...
+
+Possible data race during write of size 1 at 0x........ by thread #x
+ at 0x........: child32 (tc19_shadowmem.c:81)
+ by 0x........: steer (tc19_shadowmem.c:334)
+ by 0x........: mythread_wrapper (hg_intercepts.c:...)
+ ...
+ This conflicts with a previous write of size 1 by thread #x
+ at 0x........: child32 (tc19_shadowmem.c:81)
+ by 0x........: steer (tc19_shadowmem.c:334)
+ by 0x........: mythread_wrapper (hg_intercepts.c:...)
+ ...
+
+Possible data race during write of size 1 at 0x........ by thread #x
+ at 0x........: child32 (tc19_shadowmem.c:81)
+ by 0x........: steer (tc19_shadowmem.c:334)
+ by 0x........: mythread_wrapper (hg_intercepts.c:...)
+ ...
+ This conflicts with a previous write of size 1 by thread #x
+ at 0x........: child32 (tc19_shadowmem.c:81)
+ by 0x........: steer (tc19_shadowmem.c:334)
+ by 0x........: mythread_wrapper (hg_intercepts.c:...)
+ ...
+---------- int gran, 0 .. 96, skip 24 ----------
+
+Thread #x was created
+ ...
+ by 0x........: pthread_create@* (hg_intercepts.c:...)
+ by 0x........: main (tc19_shadowmem.c:235)
+
+Thread #x was created
+ ...
+ by 0x........: pthread_create@* (hg_intercepts.c:...)
+ by 0x........: main (tc19_shadowmem.c:234)
+
+Possible data race during write of size 4 at 0x........ by thread #x
+ at 0x........: child32 (tc19_shadowmem.c:81)
+ by 0x........: steer (tc19_shadowmem.c:336)
+ by 0x........: mythread_wrapper (hg_intercepts.c:...)
+ ...
+ This conflicts with a previous write of size 4 by thread #x
+ at 0x........: child32 (tc19_shadowmem.c:81)
+ by 0x........: steer (tc19_shadowmem.c:336)
+ by 0x........: mythread_wrapper (hg_intercepts.c:...)
+ ...
+---------- int gran, 1 .. 96, skip 25 ----------
+
+Thread #x was created
+ ...
+ by 0x........: pthread_create@* (hg_intercepts.c:...)
+ by 0x........: main (tc19_shadowmem.c:235)
+
+Thread #x was created
+ ...
+ by 0x........: pthread_create@* (hg_intercepts.c:...)
+ by 0x........: main (tc19_shadowmem.c:234)
+
+Possible data race during write of size 1 at 0x........ by thread #x
+ at 0x........: child32 (tc19_shadowmem.c:81)
+ by 0x........: steer (tc19_shadowmem.c:338)
+ by 0x........: mythread_wrapper (hg_intercepts.c:...)
+ ...
+ This conflicts with a previous write of size 1 by thread #x
+ at 0x........: child32 (tc19_shadowmem.c:81)
+ by 0x........: steer (tc19_shadowmem.c:338)
+ by 0x........: mythread_wrapper (hg_intercepts.c:...)
+ ...
+
+Possible data race during write of size 1 at 0x........ by thread #x
+ at 0x........: child32 (tc19_shadowmem.c:81)
+ by 0x........: steer (tc19_shadowmem.c:338)
+ by 0x........: mythread_wrapper (hg_intercepts.c:...)
+ ...
+ This conflicts with a previous write of size 1 by thread #x
+ at 0x........: child32 (tc19_shadowmem.c:81)
+ by 0x........: steer (tc19_shadowmem.c:338)
+ by 0x........: mythread_wrapper (hg_intercepts.c:...)
+ ...
+
+Possible data race during write of size 1 at 0x........ by thread #x
+ at 0x........: child32 (tc19_shadowmem.c:81)
+ by 0x........: steer (tc19_shadowmem.c:338)
+ by 0x........: mythread_wrapper (hg_intercepts.c:...)
+ ...
+ This conflicts with a previous write of size 1 by thread #x
+ at 0x........: child32 (tc19_shadowmem.c:81)
+ by 0x........: steer (tc19_shadowmem.c:338)
+ by 0x........: mythread_wrapper (hg_intercepts.c:...)
+ ...
+
+Possible data race during write of size 1 at 0x........ by thread #x
+ at 0x........: child32 (tc19_shadowmem.c:81)
+ by 0x........: steer (tc19_shadowmem.c:338)
+ by 0x........: mythread_wrapper (hg_intercepts.c:...)
+ ...
+ This conflicts with a previous write of size 1 by thread #x
+ at 0x........: child32 (tc19_shadowmem.c:81)
+ by 0x........: steer (tc19_shadowmem.c:338)
+ by 0x........: mythread_wrapper (hg_intercepts.c:...)
+ ...
+---------- int gran, 2 .. 96, skip 26 ----------
+
+Thread #x was created
+ ...
+ by 0x........: pthread_create@* (hg_intercepts.c:...)
+ by 0x........: main (tc19_shadowmem.c:235)
+
+Thread #x was created
+ ...
+ by 0x........: pthread_create@* (hg_intercepts.c:...)
+ by 0x........: main (tc19_shadowmem.c:234)
+
+Possible data race during write of size 2 at 0x........ by thread #x
+ at 0x........: child32 (tc19_shadowmem.c:81)
+ by 0x........: steer (tc19_shadowmem.c:340)
+ by 0x........: mythread_wrapper (hg_intercepts.c:...)
+ ...
+ This conflicts with a previous write of size 2 by thread #x
+ at 0x........: child32 (tc19_shadowmem.c:81)
+ by 0x........: steer (tc19_shadowmem.c:340)
+ by 0x........: mythread_wrapper (hg_intercepts.c:...)
+ ...
+
+Possible data race during write of size 2 at 0x........ by thread #x
+ at 0x........: child32 (tc19_shadowmem.c:81)
+ by 0x........: steer (tc19_shadowmem.c:340)
+ by 0x........: mythread_wrapper (hg_intercepts.c:...)
+ ...
+ This conflicts with a previous write of size 2 by thread #x
+ at 0x........: child32 (tc19_shadowmem.c:81)
+ by 0x........: steer (tc19_shadowmem.c:340)
+ by 0x........: mythread_wrapper (hg_intercepts.c:...)
+ ...
+---------- int gran, 3 .. 96, skip 27 ----------
+
+Thread #x was created
+ ...
+ by 0x........: pthread_create@* (hg_intercepts.c:...)
+ by 0x........: main (tc19_shadowmem.c:235)
+
+Thread #x was created
+ ...
+ by 0x........: pthread_create@* (hg_intercepts.c:...)
+ by 0x........: main (tc19_shadowmem.c:234)
+
+Possible data race during write of size 1 at 0x........ by thread #x
+ at 0x........: child32 (tc19_shadowmem.c:81)
+ by 0x........: steer (tc19_shadowmem.c:342)
+ by 0x........: mythread_wrapper (hg_intercepts.c:...)
+ ...
+ This conflicts with a previous write of size 1 by thread #x
+ at 0x........: child32 (tc19_shadowmem.c:81)
+ by 0x........: steer (tc19_shadowmem.c:342)
+ by 0x........: mythread_wrapper (hg_intercepts.c:...)
+ ...
+
+Possible data race during write of size 1 at 0x........ by thread #x
+ at 0x........: child32 (tc19_shadowmem.c:81)
+ by 0x........: steer (tc19_shadowmem.c:342)
+ by 0x........: mythread_wrapper (hg_intercepts.c:...)
+ ...
+ This conflicts with a previous write of size 1 by thread #x
+ at 0x........: child32 (tc19_shadowmem.c:81)
+ by 0x........: steer (tc19_shadowmem.c:342)
+ by 0x........: mythread_wrapper (hg_intercepts.c:...)
+ ...
+
+Possible data race during write of size 1 at 0x........ by thread #x
+ at 0x........: child32 (tc19_shadowmem.c:81)
+ by 0x........: steer (tc19_shadowmem.c:342)
+ by 0x........: mythread_wrapper (hg_intercepts.c:...)
+ ...
+ This conflicts with a previous write of size 1 by thread #x
+ at 0x........: child32 (tc19_shadowmem.c:81)
+ by 0x........: steer (tc19_shadowmem.c:342)
+ by 0x........: mythread_wrapper (hg_intercepts.c:...)
+ ...
+
+Possible data race during write of size 1 at 0x........ by thread #x
+ at 0x........: child32 (tc19_shadowmem.c:81)
+ by 0x........: steer (tc19_shadowmem.c:342)
+ by 0x........: mythread_wrapper (hg_intercepts.c:...)
+ ...
+ This conflicts with a previous write of size 1 by thread #x
+ at 0x........: child32 (tc19_shadowmem.c:81)
+ by 0x........: steer (tc19_shadowmem.c:342)
+ by 0x........: mythread_wrapper (hg_intercepts.c:...)
+ ...
+---------- int gran, 0 .. 96, skip 28 ----------
+
+Thread #x was created
+ ...
+ by 0x........: pthread_create@* (hg_intercepts.c:...)
+ by 0x........: main (tc19_shadowmem.c:235)
+
+Thread #x was created
+ ...
+ by 0x........: pthread_create@* (hg_intercepts.c:...)
+ by 0x........: main (tc19_shadowmem.c:234)
+
+Possible data race during write of size 4 at 0x........ by thread #x
+ at 0x........: child32 (tc19_shadowmem.c:81)
+ by 0x........: steer (tc19_shadowmem.c:344)
+ by 0x........: mythread_wrapper (hg_intercepts.c:...)
+ ...
+ This conflicts with a previous write of size 4 by thread #x
+ at 0x........: child32 (tc19_shadowmem.c:81)
+ by 0x........: steer (tc19_shadowmem.c:344)
+ by 0x........: mythread_wrapper (hg_intercepts.c:...)
+ ...
+---------- int gran, 1 .. 96, skip 29 ----------
+
+Thread #x was created
+ ...
+ by 0x........: pthread_create@* (hg_intercepts.c:...)
+ by 0x........: main (tc19_shadowmem.c:235)
+
+Thread #x was created
+ ...
+ by 0x........: pthread_create@* (hg_intercepts.c:...)
+ by 0x........: main (tc19_shadowmem.c:234)
+
+Possible data race during write of size 1 at 0x........ by thread #x
+ at 0x........: child32 (tc19_shadowmem.c:81)
+ by 0x........: steer (tc19_shadowmem.c:346)
+ by 0x........: mythread_wrapper (hg_intercepts.c:...)
+ ...
+ This conflicts with a previous write of size 1 by thread #x
+ at 0x........: child32 (tc19_shadowmem.c:81)
+ by 0x........: steer (tc19_shadowmem.c:346)
+ by 0x........: mythread_wrapper (hg_intercepts.c:...)
+ ...
+
+Possible data race during write of size 1 at 0x........ by thread #x
+ at 0x........: child32 (tc19_shadowmem.c:81)
+ by 0x........: steer (tc19_shadowmem.c:346)
+ by 0x........: mythread_wrapper (hg_intercepts.c:...)
+ ...
+ This conflicts with a previous write of size 1 by thread #x
+ at 0x........: child32 (tc19_shadowmem.c:81)
+ by 0x........: steer (tc19_shadowmem.c:346)
+ by 0x........: mythread_wrapper (hg_intercepts.c:...)
+ ...
+
+Possible data race during write of size 1 at 0x........ by thread #x
+ at 0x........: child32 (tc19_shadowmem.c:81)
+ by 0x........: steer (tc19_shadowmem.c:346)
+ by 0x........: mythread_wrapper (hg_intercepts.c:...)
+ ...
+ This conflicts with a previous write of size 1 by thread #x
+ at 0x........: child32 (tc19_shadowmem.c:81)
+ by 0x........: steer (tc19_shadowmem.c:346)
+ by 0x........: mythread_wrapper (hg_intercepts.c:...)
+ ...
+
+Possible data race during write of size 1 at 0x........ by thread #x
+ at 0x........: child32 (tc19_shadowmem.c:81)
+ by 0x........: steer (tc19_shadowmem.c:346)
+ by 0x........: mythread_wrapper (hg_intercepts.c:...)
+ ...
+ This conflicts with a previous write of size 1 by thread #x
+ at 0x........: child32 (tc19_shadowmem.c:81)
+ by 0x........: steer (tc19_shadowmem.c:346)
+ by 0x........: mythread_wrapper (hg_intercepts.c:...)
+ ...
+---------- int gran, 2 .. 96, skip 30 ----------
+
+Thread #x was created
+ ...
+ by 0x........: pthread_create@* (hg_intercepts.c:...)
+ by 0x........: main (tc19_shadowmem.c:235)
+
+Thread #x was created
+ ...
+ by 0x........: pthread_create@* (hg_intercepts.c:...)
+ by 0x........: main (tc19_shadowmem.c:234)
+
+Possible data race during write of size 2 at 0x........ by thread #x
+ at 0x........: child32 (tc19_shadowmem.c:81)
+ by 0x........: steer (tc19_shadowmem.c:348)
+ by 0x........: mythread_wrapper (hg_intercepts.c:...)
+ ...
+ This conflicts with a previous write of size 2 by thread #x
+ at 0x........: child32 (tc19_shadowmem.c:81)
+ by 0x........: steer (tc19_shadowmem.c:348)
+ by 0x........: mythread_wrapper (hg_intercepts.c:...)
+ ...
+
+Possible data race during write of size 2 at 0x........ by thread #x
+ at 0x........: child32 (tc19_shadowmem.c:81)
+ by 0x........: steer (tc19_shadowmem.c:348)
+ by 0x........: mythread_wrapper (hg_intercepts.c:...)
+ ...
+ This conflicts with a previous write of size 2 by thread #x
+ at 0x........: child32 (tc19_shadowmem.c:81)
+ by 0x........: steer (tc19_shadowmem.c:348)
+ by 0x........: mythread_wrapper (hg_intercepts.c:...)
+ ...
+---------- int gran, 3 .. 96, skip 31 ----------
+
+Thread #x was created
+ ...
+ by 0x........: pthread_create@* (hg_intercepts.c:...)
+ by 0x........: main (tc19_shadowmem.c:235)
+
+Thread #x was created
+ ...
+ by 0x........: pthread_create@* (hg_intercepts.c:...)
+ by 0x........: main (tc19_shadowmem.c:234)
+
+Possible data race during write of size 1 at 0x........ by thread #x
+ at 0x........: child32 (tc19_shadowmem.c:81)
+ by 0x........: steer (tc19_shadowmem.c:350)
+ by 0x........: mythread_wrapper (hg_intercepts.c:...)
+ ...
+ This conflicts with a previous write of size 1 by thread #x
+ at 0x........: child32 (tc19_shadowmem.c:81)
+ by 0x........: steer (tc19_shadowmem.c:350)
+ by 0x........: mythread_wrapper (hg_intercepts.c:...)
+ ...
+
+Possible data race during write of size 1 at 0x........ by thread #x
+ at 0x........: child32 (tc19_shadowmem.c:81)
+ by 0x........: steer (tc19_shadowmem.c:350)
+ by 0x........: mythread_wrapper (hg_intercepts.c:...)
+ ...
+ This conflicts with a previous write of size 1 by thread #x
+ at 0x........: child32 (tc19_shadowmem.c:81)
+ by 0x........: steer (tc19_shadowmem.c:350)
+ by 0x........: mythread_wrapper (hg_intercepts.c:...)
+ ...
+
+Possible data race during write of size 1 at 0x........ by thread #x
+ at 0x........: child32 (tc19_shadowmem.c:81)
+ by 0x........: steer (tc19_shadowmem.c:350)
+ by 0x........: mythread_wrapper (hg_intercepts.c:...)
+ ...
+ This conflicts with a previous write of size 1 by thread #x
+ at 0x........: child32 (tc19_shadowmem.c:81)
+ by 0x........: steer (tc19_shadowmem.c:350)
+ by 0x........: mythread_wrapper (hg_intercepts.c:...)
+ ...
+
+Possible data race during write of size 1 at 0x........ by thread #x
+ at 0x........: child32 (tc19_shadowmem.c:81)
+ by 0x........: steer (tc19_shadowmem.c:350)
+ by 0x........: mythread_wrapper (hg_intercepts.c:...)
+ ...
+ This conflicts with a previous write of size 1 by thread #x
+ at 0x........: child32 (tc19_shadowmem.c:81)
+ by 0x........: steer (tc19_shadowmem.c:350)
+ by 0x........: mythread_wrapper (hg_intercepts.c:...)
+ ...
+---------- int gran, 0 .. 96, skip 32 ----------
+
+Thread #x was created
+ ...
+ by 0x........: pthread_create@* (hg_intercepts.c:...)
+ by 0x........: main (tc19_shadowmem.c:235)
+
+Thread #x was created
+ ...
+ by 0x........: pthread_create@* (hg_intercepts.c:...)
+ by 0x........: main (tc19_shadowmem.c:234)
+
+Possible data race during write of size 4 at 0x........ by thread #x
+ at 0x........: child32 (tc19_shadowmem.c:81)
+ by 0x........: steer (tc19_shadowmem.c:352)
+ by 0x........: mythread_wrapper (hg_intercepts.c:...)
+ ...
+ This conflicts with a previous write of size 4 by thread #x
+ at 0x........: child32 (tc19_shadowmem.c:81)
+ by 0x........: steer (tc19_shadowmem.c:352)
+ by 0x........: mythread_wrapper (hg_intercepts.c:...)
+ ...
+---------- int gran, 1 .. 96, skip 33 ----------
+
+Thread #x was created
+ ...
+ by 0x........: pthread_create@* (hg_intercepts.c:...)
+ by 0x........: main (tc19_shadowmem.c:235)
+
+Thread #x was created
+ ...
+ by 0x........: pthread_create@* (hg_intercepts.c:...)
+ by 0x........: main (tc19_shadowmem.c:234)
+
+Possible data race during write of size 1 at 0x........ by thread #x
+ at 0x........: child32 (tc19_shadowmem.c:81)
+ by 0x........: steer (tc19_shadowmem.c:354)
+ by 0x........: mythread_wrapper (hg_intercepts.c:...)
+ ...
+ This conflicts with a previous write of size 1 by thread #x
+ at 0x........: child32 (tc19_shadowmem.c:81)
+ by 0x........: steer (tc19_shadowmem.c:354)
+ by 0x........: mythread_wrapper (hg_intercepts.c:...)
+ ...
+
+Possible data race during write of size 1 at 0x........ by thread #x
+ at 0x........: child32 (tc19_shadowmem.c:81)
+ by 0x........: steer (tc19_shadowmem.c:354)
+ by 0x........: mythread_wrapper (hg_intercepts.c:...)
+ ...
+ This conflicts with a previous write of size 1 by thread #x
+ at 0x........: child32 (tc19_shadowmem.c:81)
+ by 0x........: steer (tc19_shadowmem.c:354)
+ by 0x........: mythread_wrapper (hg_intercepts.c:...)
+ ...
+
+Possible data race during write of size 1 at 0x........ by thread #x
+ at 0x........: child32 (tc19_shadowmem.c:81)
+ by 0x........: steer (tc19_shadowmem.c:354)
+ by 0x........: mythread_wrapper (hg_intercepts.c:...)
+ ...
+ This conflicts with a previous write of size 1 by thread #x
+ at 0x........: child32 (tc19_shadowmem.c:81)
+ by 0x........: steer (tc19_shadowmem.c:354)
+ by 0x........: mythread_wrapper (hg_intercepts.c:...)
+ ...
+
+Possible data race during write of size 1 at 0x........ by thread #x
+ at 0x........: child32 (tc19_shadowmem.c:81)
+ by 0x........: steer (tc19_shadowmem.c:354)
+ by 0x........: mythread_wrapper (hg_intercepts.c:...)
+ ...
+ This conflicts with a previous write of size 1 by thread #x
+ at 0x........: child32 (tc19_shadowmem.c:81)
+ by 0x........: steer (tc19_shadowmem.c:354)
+ by 0x........: mythread_wrapper (hg_intercepts.c:...)
+ ...
+---------- int gran, 2 .. 96, skip 34 ----------
+
+Thread #x was created
+ ...
+ by 0x........: pthread_create@* (hg_intercepts.c:...)
+ by 0x........: main (tc19_shadowmem.c:235)
+
+Thread #x was created
+ ...
+ by 0x........: pthread_create@* (hg_intercepts.c:...)
+ by 0x........: main (tc19_shadowmem.c:234)
+
+Possible data race during write of size 2 at 0x........ by thread #x
+ at 0x........: child32 (tc19_shadowmem.c:81)
+ by 0x........: steer (tc19_shadowmem.c:356)
+ by 0x........: mythread_wrapper (hg_intercepts.c:...)
+ ...
+ This conflicts with a previous write of size 2 by thread #x
+ at 0x........: child32 (tc19_shadowmem.c:81)
+ by 0x........: steer (tc19_shadowmem.c:356)
+ by 0x........: mythread_wrapper (hg_intercepts.c:...)
+ ...
+
+Possible data race during write of size 2 at 0x........ by thread #x
+ at 0x........: child32 (tc19_shadowmem.c:81)
+ by 0x........: steer (tc19_shadowmem.c:356)
+ by 0x........: mythread_wrapper (hg_intercepts.c:...)
+ ...
+ This conflicts with a previous write of size 2 by thread #x
+ at 0x........: child32 (tc19_shadowmem.c:81)
+ by 0x........: steer (tc19_shadowmem.c:356)
+ by 0x........: mythread_wrapper (hg_intercepts.c:...)
+ ...
+---------- int gran, 3 .. 96, skip 35 ----------
+
+Thread #x was created
+ ...
+ by 0x........: pthread_create@* (hg_intercepts.c:...)
+ by 0x........: main (tc19_shadowmem.c:235)
+
+Thread #x was created
+ ...
+ by 0x........: pthread_create@* (hg_intercepts.c:...)
+ by 0x........: main (tc19_shadowmem.c:234)
+
+Possible data race during write of size 1 at 0x........ by thread #x
+ at 0x........: child32 (tc19_shadowmem.c:81)
+ by 0x........: steer (tc19_shadowmem.c:358)
+ by 0x........: mythread_wrapper (hg_intercepts.c:...)
+ ...
+ This conflicts with a previous write of size 1 by thread #x
+ at 0x........: child32 (tc19_shadowmem.c:81)
+ by 0x........: steer (tc19_shadowmem.c:358)
+ by 0x........: mythread_wrapper (hg_intercepts.c:...)
+ ...
+
+Possible data race during write of size 1 at 0x........ by thread #x
+ at 0x........: child32 (tc19_shadowmem.c:81)
+ by 0x........: steer (tc19_shadowmem.c:358)
+ by 0x........: mythread_wrapper (hg_intercepts.c:...)
+ ...
+ This conflicts with a previous write of size 1 by thread #x
+ at 0x........: child32 (tc19_shadowmem.c:81)
+ by 0x........: steer (tc19_shadowmem.c:358)
+ by 0x........: mythread_wrapper (hg_intercepts.c:...)
+ ...
+
+Possible data race during write of size 1 at 0x........ by thread #x
+ at 0x........: child32 (tc19_shadowmem.c:81)
+ by 0x........: steer (tc19_shadowmem.c:358)
+ by 0x........: mythread_wrapper (hg_intercepts.c:...)
+ ...
+ This conflicts with a previous write of size 1 by thread #x
+ at 0x........: child32 (tc19_shadowmem.c:81)
+ by 0x........: steer (tc19_shadowmem.c:358)
+ by 0x........: mythread_wrapper (hg_intercepts.c:...)
+ ...
+
+Possible data race during write of size 1 at 0x........ by thread #x
+ at 0x........: child32 (tc19_shadowmem.c:81)
+ by 0x........: steer (tc19_shadowmem.c:358)
+ by 0x........: mythread_wrapper (hg_intercepts.c:...)
+ ...
+ This conflicts with a previous write of size 1 by thread #x
+ at 0x........: child32 (tc19_shadowmem.c:81)
+ by 0x........: steer (tc19_shadowmem.c:358)
+ by 0x........: mythread_wrapper (hg_intercepts.c:...)
+ ...
+---------- int gran, 0 .. 96, skip 36 ----------
+
+Thread #x was created
+ ...
+ by 0x........: pthread_create@* (hg_intercepts.c:...)
+ by 0x........: main (tc19_shadowmem.c:235)
+
+Thread #x was created
+ ...
+ by 0x........: pthread_create@* (hg_intercepts.c:...)
+ by 0x........: main (tc19_shadowmem.c:234)
+
+Possible data race during write of size 4 at 0x........ by thread #x
+ at 0x........: child32 (tc19_shadowmem.c:81)
+ by 0x........: steer (tc19_shadowmem.c:360)
+ by 0x........: mythread_wrapper (hg_intercepts.c:...)
+ ...
+ This conflicts with a previous write of size 4 by thread #x
+ at 0x........: child32 (tc19_shadowmem.c:81)
+ by 0x........: steer (tc19_shadowmem.c:360)
+ by 0x........: mythread_wrapper (hg_intercepts.c:...)
+ ...
+---------- int gran, 1 .. 96, skip 37 ----------
+
+Thread #x was created
+ ...
+ by 0x........: pthread_create@* (hg_intercepts.c:...)
+ by 0x........: main (tc19_shadowmem.c:235)
+
+Thread #x was created
+ ...
+ by 0x........: pthread_create@* (hg_intercepts.c:...)
+ by 0x........: main (tc19_shadowmem.c:234)
+
+Possible data race during write of size 1 at 0x........ by thread #x
+ at 0x........: child32 (tc19_shadowmem.c:81)
+ by 0x........: steer (tc19_shadowmem.c:362)
+ by 0x........: mythread_wrapper (hg_intercepts.c:...)
+ ...
+ This conflicts with a previous write of size 1 by thread #x
+ at 0x........: child32 (tc19_shadowmem.c:81)
+ by 0x........: steer (tc19_shadowmem.c:362)
+ by 0x........: mythread_wrapper (hg_intercepts.c:...)
+ ...
+
+Possible data race during write of size 1 at 0x........ by thread #x
+ at 0x........: child32 (tc19_shadowmem.c:81)
+ by 0x........: steer (tc19_shadowmem.c:362)
+ by 0x........: mythread_wrapper (hg_intercepts.c:...)
+ ...
+ This conflicts with a previous write of size 1 by thread #x
+ at 0x........: child32 (tc19_shadowmem.c:81)
+ by 0x........: steer (tc19_shadowmem.c:362)
+ by 0x........: mythread_wrapper (hg_intercepts.c:...)
+ ...
+
+Possible data race during write of size 1 at 0x........ by thread #x
+ at 0x........: child32 (tc19_shadowmem.c:81)
+ by 0x........: steer (tc19_shadowmem.c:362)
+ by 0x........: mythread_wrapper (hg_intercepts.c:...)
+ ...
+ This conflicts with a previous write of size 1 by thread #x
+ at 0x........: child32 (tc19_shadowmem.c:81)
+ by 0x........: steer (tc19_shadowmem.c:362)
+ by 0x........: mythread_wrapper (hg_intercepts.c:...)
+ ...
+
+Possible data race during write of size 1 at 0x........ by thread #x
+ at 0x........: child32 (tc19_shadowmem.c:81)
+ by 0x........: steer (tc19_shadowmem.c:362)
+ by 0x........: mythread_wrapper (hg_intercepts.c:...)
+ ...
+ This conflicts with a previous write of size 1 by thread #x
+ at 0x........: child32 (tc19_shadowmem.c:81)
+ by 0x........: steer (tc19_shadowmem.c:362)
+ by 0x........: mythread_wrapper (hg_intercepts.c:...)
+ ...
+---------- int gran, 2 .. 96, skip 38 ----------
+
+Thread #x was created
+ ...
+ by 0x........: pthread_create@* (hg_intercepts.c:...)
+ by 0x........: main (tc19_shadowmem.c:235)
+
+Thread #x was created
+ ...
+ by 0x........: pthread_create@* (hg_intercepts.c:...)
+ by 0x........: main (tc19_shadowmem.c:234)
+
+Possible data race during write of size 2 at 0x........ by thread #x
+ at 0x........: child32 (tc19_shadowmem.c:81)
+ by 0x........: steer (tc19_shadowmem.c:364)
+ by 0x........: mythread_wrapper (hg_intercepts.c:...)
+ ...
+ This conflicts with a previous write of size 2 by thread #x
+ at 0x........: child32 (tc19_shadowmem.c:81)
+ by 0x........: steer (tc19_shadowmem.c:364)
+ by 0x........: mythread_wrapper (hg_intercepts.c:...)
+ ...
+
+Possible data race during write of size 2 at 0x........ by thread #x
+ at 0x........: child32 (tc19_shadowmem.c:81)
+ by 0x........: steer (tc19_shadowmem.c:364)
+ by 0x........: mythread_wrapper (hg_intercepts.c:...)
+ ...
+ This conflicts with a previous write of size 2 by thread #x
+ at 0x........: child32 (tc19_shadowmem.c:81)
+ by 0x........: steer (tc19_shadowmem.c:364)
+ by 0x........: mythread_wrapper (hg_intercepts.c:...)
+ ...
+---------- int gran, 3 .. 96, skip 39 ----------
+
+Thread #x was created
+ ...
+ by 0x........: pthread_create@* (hg_intercepts.c:...)
+ by 0x........: main (tc19_shadowmem.c:235)
+
+Thread #x was created
+ ...
+ by 0x........: pthread_create@* (hg_intercepts.c:...)
+ by 0x........: main (tc19_shadowmem.c:234)
+
+Possible data race during write of size 1 at 0x........ by thread #x
+ at 0x........: child32 (tc19_shadowmem.c:81)
+ by 0x........: steer (tc19_shadowmem.c:366)
+ by 0x........: mythread_wrapper (hg_intercepts.c:...)
+ ...
+ This conflicts with a previous write of size 1 by thread #x
+ at 0x........: child32 (tc19_shadowmem.c:81)
+ by 0x........: steer (tc19_shadowmem.c:366)
+ by 0x........: mythread_wrapper (hg_intercepts.c:...)
+ ...
+
+Possible data race during write of size 1 at 0x........ by thread #x
+ at 0x........: child32 (tc19_shadowmem.c:81)
+ by 0x........: steer (tc19_shadowmem.c:366)
+ by 0x........: mythread_wrapper (hg_intercepts.c:...)
+ ...
+ This conflicts with a previous write of size 1 by thread #x
+ at 0x........: child32 (tc19_shadowmem.c:81)
+ by 0x........: steer (tc19_shadowmem.c:366)
+ by 0x........: mythread_wrapper (hg_intercepts.c:...)
+ ...
+
+Possible data race during write of size 1 at 0x........ by thread #x
+ at 0x........: child32 (tc19_shadowmem.c:81)
+ by 0x........: steer (tc19_shadowmem.c:366)
+ by 0x........: mythread_wrapper (hg_intercepts.c:...)
+ ...
+ This conflicts with a previous write of size 1 by thread #x
+ at 0x........: child32 (tc19_shadowmem.c:81)
+ by 0x........: steer (tc19_shadowmem.c:366)
+ by 0x........: mythread_wrapper (hg_intercepts.c:...)
+ ...
+
+Possible data race during write of size 1 at 0x........ by thread #x
+ at 0x........: child32 (tc19_shadowmem.c:81)
+ by 0x........: steer (tc19_shadowmem.c:366)
+ by 0x........: mythread_wrapper (hg_intercepts.c:...)
+ ...
+ This conflicts with a previous write of size 1 by thread #x
+ at 0x........: child32 (tc19_shadowmem.c:81)
+ by 0x........: steer (tc19_shadowmem.c:366)
+ by 0x........: mythread_wrapper (hg_intercepts.c:...)
+ ...
+---------- int gran, 0 .. 96, skip 40 ----------
+
+Thread #x was created
+ ...
+ by 0x........: pthread_create@* (hg_intercepts.c:...)
+ by 0x........: main (tc19_shadowmem.c:235)
+
+Thread #x was created
+ ...
+ by 0x........: pthread_create@* (hg_intercepts.c:...)
+ by 0x........: main (tc19_shadowmem.c:234)
+
+Possible data race during write of size 4 at 0x........ by thread #x
+ at 0x........: child32 (tc19_shadowmem.c:81)
+ by 0x........: steer (tc19_shadowmem.c:368)
+ by 0x........: mythread_wrapper (hg_intercepts.c:...)
+ ...
+ This conflicts with a previous write of size 4 by thread #x
+ at 0x........: child32 (tc19_shadowmem.c:81)
+ by 0x........: steer (tc19_shadowmem.c:368)
+ by 0x........: mythread_wrapper (hg_intercepts.c:...)
+ ...
+---------- int gran, 1 .. 96, skip 41 ----------
+
+Thread #x was created
+ ...
+ by 0x........: pthread_create@* (hg_intercepts.c:...)
+ by 0x........: main (tc19_shadowmem.c:235)
+
+Thread #x was created
+ ...
+ by 0x........: pthread_create@* (hg_intercepts.c:...)
+ by 0x........: main (tc19_shadowmem.c:234)
+
+Possible data race during write of size 1 at 0x........ by thread #x
+ at 0x........: child32 (tc19_shadowmem.c:81)
+ by 0x........: steer (tc19_shadowmem.c:370)
+ by 0x........: mythread_wrapper (hg_intercepts.c:...)
+ ...
+ This conflicts with a previous write of size 1 by thread #x
+ at 0x........: child32 (tc19_shadowmem.c:81)
+ by 0x........: steer (tc19_shadowmem.c:370)
+ by 0x........: mythread_wrapper (hg_intercepts.c:...)
+ ...
+
+Possible data race during write of size 1 at 0x........ by thread #x
+ at 0x........: child32 (tc19_shadowmem.c:81)
+ by 0x........: steer (tc19_shadowmem.c:370)
+ by 0x........: mythread_wrapper (hg_intercepts.c:...)
+ ...
+ This conflicts with a previous write of size 1 by thread #x
+ at 0x........: child32 (tc19_shadowmem.c:81)
+ by 0x........: steer (tc19_shadowmem.c:370)
+ by 0x........: mythread_wrapper (hg_intercepts.c:...)
+ ...
+
+Possible data race during write of size 1 at 0x........ by thread #x
+ at 0x........: child32 (tc19_shadowmem.c:81)
+ by 0x........: steer (tc19_shadowmem.c:370)
+ by 0x........: mythread_wrapper (hg_intercepts.c:...)
+ ...
+ This conflicts with a previous write of size 1 by thread #x
+ at 0x........: child32 (tc19_shadowmem.c:81)
+ by 0x........: steer (tc19_shadowmem.c:370)
+ by 0x........: mythread_wrapper (hg_intercepts.c:...)
+ ...
+
+Possible data race during write of size 1 at 0x........ by thread #x
+ at 0x........: child32 (tc19_shadowmem.c:81)
+ by 0x........: steer (tc19_shadowmem.c:370)
+ by 0x........: mythread_wrapper (hg_intercepts.c:...)
+ ...
+ This conflicts with a previous write of size 1 by thread #x
+ at 0x........: child32 (tc19_shadowmem.c:81)
+ by 0x........: steer (tc19_shadowmem.c:370)
+ by 0x........: mythread_wrapper (hg_intercepts.c:...)
+ ...
+---------- int gran, 2 .. 96, skip 42 ----------
+
+Thread #x was created
+ ...
+ by 0x........: pthread_create@* (hg_intercepts.c:...)
+ by 0x........: main (tc19_shadowmem.c:235)
+
+Thread #x was created
+ ...
+ by 0x........: pthread_create@* (hg_intercepts.c:...)
+ by 0x........: main (tc19_shadowmem.c:234)
+
+Possible data race during write of size 2 at 0x........ by thread #x
+ at 0x........: child32 (tc19_shadowmem.c:81)
+ by 0x........: steer (tc19_shadowmem.c:372)
+ by 0x........: mythread_wrapper (hg_intercepts.c:...)
+ ...
+ This conflicts with a previous write of size 2 by thread #x
+ at 0x........: child32 (tc19_shadowmem.c:81)
+ by 0x........: steer (tc19_shadowmem.c:372)
+ by 0x........: mythread_wrapper (hg_intercepts.c:...)
+ ...
+
+Possible data race during write of size 2 at 0x........ by thread #x
+ at 0x........: child32 (tc19_shadowmem.c:81)
+ by 0x........: steer (tc19_shadowmem.c:372)
+ by 0x........: mythread_wrapper (hg_intercepts.c:...)
+ ...
+ This conflicts with a previous write of size 2 by thread #x
+ at 0x........: child32 (tc19_shadowmem.c:81)
+ by 0x........: steer (tc19_shadowmem.c:372)
+ by 0x........: mythread_wrapper (hg_intercepts.c:...)
+ ...
+---------- int gran, 3 .. 96, skip 43 ----------
+
+Thread #x was created
+ ...
+ by 0x........: pthread_create@* (hg_intercepts.c:...)
+ by 0x........: main (tc19_shadowmem.c:235)
+
+Thread #x was created
+ ...
+ by 0x........: pthread_create@* (hg_intercepts.c:...)
+ by 0x........: main (tc19_shadowmem.c:234)
+
+Possible data race during write of size 1 at 0x........ by thread #x
+ at 0x........: child32 (tc19_shadowmem.c:81)
+ by 0x........: steer (tc19_shadowmem.c:374)
+ by 0x........: mythread_wrapper (hg_intercepts.c:...)
+ ...
+ This conflicts with a previous write of size 1 by thread #x
+ at 0x........: child32 (tc19_shadowmem.c:81)
+ by 0x........: steer (tc19_shadowmem.c:374)
+ by 0x........: mythread_wrapper (hg_intercepts.c:...)
+ ...
+
+Possible data race during write of size 1 at 0x........ by thread #x
+ at 0x........: child32 (tc19_shadowmem.c:81)
+ by 0x........: steer (tc19_shadowmem.c:374)
+ by 0x........: mythread_wrapper (hg_intercepts.c:...)
+ ...
+ This conflicts with a previous write of size 1 by thread #x
+ at 0x........: child32 (tc19_shadowmem.c:81)
+ by 0x........: steer (tc19_shadowmem.c:374)
+ by 0x........: mythread_wrapper (hg_intercepts.c:...)
+ ...
+
+Possible data race during write of size 1 at 0x........ by thread #x
+ at 0x........: child32 (tc19_shadowmem.c:81)
+ by 0x........: steer (tc19_shadowmem.c:374)
+ by 0x........: mythread_wrapper (hg_intercepts.c:...)
+ ...
+ This conflicts with a previous write of size 1 by thread #x
+ at 0x........: child32 (tc19_shadowmem.c:81)
+ by 0x........: steer (tc19_shadowmem.c:374)
+ by 0x........: mythread_wrapper (hg_intercepts.c:...)
+ ...
+
+Possible data race during write of size 1 at 0x........ by thread #x
+ at 0x........: child32 (tc19_shadowmem.c:81)
+ by 0x........: steer (tc19_shadowmem.c:374)
+ by 0x........: mythread_wrapper (hg_intercepts.c:...)
+ ...
+ This conflicts with a previous write of size 1 by thread #x
+ at 0x........: child32 (tc19_shadowmem.c:81)
+ by 0x........: steer (tc19_shadowmem.c:374)
+ by 0x........: mythread_wrapper (hg_intercepts.c:...)
+ ...
+---------- int gran, 0 .. 96, skip 44 ----------
+
+Thread #x was created
+ ...
+ by 0x........: pthread_create@* (hg_intercepts.c:...)
+ by 0x........: main (tc19_shadowmem.c:235)
+
+Thread #x was created
+ ...
+ by 0x........: pthread_create@* (hg_intercepts.c:...)
+ by 0x........: main (tc19_shadowmem.c:234)
+
+Possible data race during write of size 4 at 0x........ by thread #x
+ at 0x........: child32 (tc19_shadowmem.c:81)
+ by 0x........: steer (tc19_shadowmem.c:376)
+ by 0x........: mythread_wrapper (hg_intercepts.c:...)
+ ...
+ This conflicts with a previous write of size 4 by thread #x
+ at 0x........: child32 (tc19_shadowmem.c:81)
+ by 0x........: steer (tc19_shadowmem.c:376)
+ by 0x........: mythread_wrapper (hg_intercepts.c:...)
+ ...
+---------- int gran, 1 .. 96, skip 45 ----------
+
+Thread #x was created
+ ...
+ by 0x........: pthread_create@* (hg_intercepts.c:...)
+ by 0x........: main (tc19_shadowmem.c:235)
+
+Thread #x was created
+ ...
+ by 0x........: pthread_create@* (hg_intercepts.c:...)
+ by 0x........: main (tc19_shadowmem.c:234)
+
+Possible data race during write of size 1 at 0x........ by thread #x
+ at 0x........: child32 (tc19_shadowmem.c:81)
+ by 0x........: steer (tc19_shadowmem.c:378)
+ by 0x........: mythread_wrapper (hg_intercepts.c:...)
+ ...
+ This conflicts with a previous write of size 1 by thread #x
+ at 0x........: child32 (tc19_shadowmem.c:81)
+ by 0x........: steer (tc19_shadowmem.c:378)
+ by 0x........: mythread_wrapper (hg_intercepts.c:...)
+ ...
+
+Possible data race during write of size 1 at 0x........ by thread #x
+ at 0x........: child32 (tc19_shadowmem.c:81)
+ by 0x........: steer (tc19_shadowmem.c:378)
+ by 0x........: mythread_wrapper (hg_intercepts.c:...)
+ ...
+ This conflicts with a previous write of size 1 by thread #x
+ at 0x........: child32 (tc19_shadowmem.c:81)
+ by 0x........: steer (tc19_shadowmem.c:378)
+ by 0x........: mythread_wrapper (hg_intercepts.c:...)
+ ...
+
+Possible data race during write of size 1 at 0x........ by thread #x
+ at 0x........: child32 (tc19_shadowmem.c:81)
+ by 0x........: steer (tc19_shadowmem.c:378)
+ by 0x........: mythread_wrapper (hg_intercepts.c:...)
+ ...
+ This conflicts with a previous write of size 1 by thread #x
+ at 0x........: child32 (tc19_shadowmem.c:81)
+ by 0x........: steer (tc19_shadowmem.c:378)
+ by 0x........: mythread_wrapper (hg_intercepts.c:...)
+ ...
+
+Possible data race during write of size 1 at 0x........ by thread #x
+ at 0x........: child32 (tc19_shadowmem.c:81)
+ by 0x........: steer (tc19_shadowmem.c:378)
+ by 0x........: mythread_wrapper (hg_intercepts.c:...)
+ ...
+ This conflicts with a previous write of size 1 by thread #x
+ at 0x........: child32 (tc19_shadowmem.c:81)
+ by 0x........: steer (tc19_shadowmem.c:378)
+ by 0x........: mythread_wrapper (hg_intercepts.c:...)
+ ...
+---------- int gran, 2 .. 96, skip 46 ----------
+
+Thread #x was created
+ ...
+ by 0x........: pthread_create@* (hg_intercepts.c:...)
+ by 0x........: main (tc19_shadowmem.c:235)
+
+Thread #x was created
+ ...
+ by 0x........: pthread_create@* (hg_intercepts.c:...)
+ by 0x........: main (tc19_shadowmem.c:234)
+
+Possible data race during write of size 2 at 0x........ by thread #x
+ at 0x........: child32 (tc19_shadowmem.c:81)
+ by 0x........: steer (tc19_shadowmem.c:380)
+ by 0x........: mythread_wrapper (hg_intercepts.c:...)
+ ...
+ This conflicts with a previous write of size 2 by thread #x
+ at 0x........: child32 (tc19_shadowmem.c:81)
+ by 0x........: steer (tc19_shadowmem.c:380)
+ by 0x........: mythread_wrapper (hg_intercepts.c:...)
+ ...
+
+Possible data race during write of size 2 at 0x........ by thread #x
+ at 0x........: child32 (tc19_shadowmem.c:81)
+ by 0x........: steer (tc19_shadowmem.c:380)
+ by 0x........: mythread_wrapper (hg_intercepts.c:...)
+ ...
+ This conflicts with a previous write of size 2 by thread #x
+ at 0x........: child32 (tc19_shadowmem.c:81)
+ by 0x........: steer (tc19_shadowmem.c:380)
+ by 0x........: mythread_wrapper (hg_intercepts.c:...)
+ ...
+---------- int gran, 3 .. 96, skip 47 ----------
+
+Thread #x was created
+ ...
+ by 0x........: pthread_create@* (hg_intercepts.c:...)
+ by 0x........: main (tc19_shadowmem.c:235)
+
+Thread #x was created
+ ...
+ by 0x........: pthread_create@* (hg_intercepts.c:...)
+ by 0x........: main (tc19_shadowmem.c:234)
+
+Possible data race during write of size 1 at 0x........ by thread #x
+ at 0x........: child32 (tc19_shadowmem.c:81)
+ by 0x........: steer (tc19_shadowmem.c:382)
+ by 0x........: mythread_wrapper (hg_intercepts.c:...)
+ ...
+ This conflicts with a previous write of size 1 by thread #x
+ at 0x........: child32 (tc19_shadowmem.c:81)
+ by 0x........: steer (tc19_shadowmem.c:382)
+ by 0x........: mythread_wrapper (hg_intercepts.c:...)
+ ...
+
+Possible data race during write of size 1 at 0x........ by thread #x
+ at 0x........: child32 (tc19_shadowmem.c:81)
+ by 0x........: steer (tc19_shadowmem.c:382)
+ by 0x........: mythread_wrapper (hg_intercepts.c:...)
+ ...
+ This conflicts with a previous write of size 1 by thread #x
+ at 0x........: child32 (tc19_shadowmem.c:81)
+ by 0x........: steer (tc19_shadowmem.c:382)
+ by 0x........: mythread_wrapper (hg_intercepts.c:...)
+ ...
+
+Possible data race during write of size 1 at 0x........ by thread #x
+ at 0x........: child32 (tc19_shadowmem.c:81)
+ by 0x........: steer (tc19_shadowmem.c:382)
+ by 0x........: mythread_wrapper (hg_intercepts.c:...)
+ ...
+ This conflicts with a previous write of size 1 by thread #x
+ at 0x........: child32 (tc19_shadowmem.c:81)
+ by 0x........: steer (tc19_shadowmem.c:382)
+ by 0x........: mythread_wrapper (hg_intercepts.c:...)
+ ...
+
+Possible data race during write of size 1 at 0x........ by thread #x
+ at 0x........: child32 (tc19_shadowmem.c:81)
+ by 0x........: steer (tc19_shadowmem.c:382)
+ by 0x........: mythread_wrapper (hg_intercepts.c:...)
+ ...
+ This conflicts with a previous write of size 1 by thread #x
+ at 0x........: child32 (tc19_shadowmem.c:81)
+ by 0x........: steer (tc19_shadowmem.c:382)
+ by 0x........: mythread_wrapper (hg_intercepts.c:...)
+ ...
+---------- int gran, 0 .. 96, skip 48 ----------
+
+Thread #x was created
+ ...
+ by 0x........: pthread_create@* (hg_intercepts.c:...)
+ by 0x........: main (tc19_shadowmem.c:235)
+
+Thread #x was created
+ ...
+ by 0x........: pthread_create@* (hg_intercepts.c:...)
+ by 0x........: main (tc19_shadowmem.c:234)
+
+Possible data race during write of size 4 at 0x........ by thread #x
+ at 0x........: child32 (tc19_shadowmem.c:81)
+ by 0x........: steer (tc19_shadowmem.c:384)
+ by 0x........: mythread_wrapper (hg_intercepts.c:...)
+ ...
+ This conflicts with a previous write of size 4 by thread #x
+ at 0x........: child32 (tc19_shadowmem.c:81)
+ by 0x........: steer (tc19_shadowmem.c:384)
+ by 0x........: mythread_wrapper (hg_intercepts.c:...)
+ ...
+---------- int gran, 1 .. 96, skip 49 ----------
+
+Thread #x was created
+ ...
+ by 0x........: pthread_create@* (hg_intercepts.c:...)
+ by 0x........: main (tc19_shadowmem.c:235)
+
+Thread #x was created
+ ...
+ by 0x........: pthread_create@* (hg_intercepts.c:...)
+ by 0x........: main (tc19_shadowmem.c:234)
+
+Possible data race during write of size 1 at 0x........ by thread #x
+ at 0x........: child32 (tc19_shadowmem.c:81)
+ by 0x........: steer (tc19_shadowmem.c:386)
+ by 0x........: mythread_wrapper (hg_intercepts.c:...)
+ ...
+ This conflicts with a previous write of size 1 by thread #x
+ at 0x........: child32 (tc19_shadowmem.c:81)
+ by 0x........: steer (tc19_shadowmem.c:386)
+ by 0x........: mythread_wrapper (hg_intercepts.c:...)
+ ...
+
+Possible data race during write of size 1 at 0x........ by thread #x
+ at 0x........: child32 (tc19_shadowmem.c:81)
+ by 0x........: steer (tc19_shadowmem.c:386)
+ by 0x........: mythread_wrapper (hg_intercepts.c:...)
+ ...
+ This conflicts with a previous write of size 1 by thread #x
+ at 0x........: child32 (tc19_shadowmem.c:81)
+ by 0x........: steer (tc19_shadowmem.c:386)
+ by 0x........: mythread_wrapper (hg_intercepts.c:...)
+ ...
+
+Possible data race during write of size 1 at 0x........ by thread #x
+ at 0x........: child32 (tc19_shadowmem.c:81)
+ by 0x........: steer (tc19_shadowmem.c:386)
+ by 0x........: mythread_wrapper (hg_intercepts.c:...)
+ ...
+ This conflicts with a previous write of size 1 by thread #x
+ at 0x........: child32 (tc19_shadowmem.c:81)
+ by 0x........: steer (tc19_shadowmem.c:386)
+ by 0x........: mythread_wrapper (hg_intercepts.c:...)
+ ...
+
+Possible data race during write of size 1 at 0x........ by thread #x
+ at 0x........: child32 (tc19_shadowmem.c:81)
+ by 0x........: steer (tc19_shadowmem.c:386)
+ by 0x........: mythread_wrapper (hg_intercepts.c:...)
+ ...
+ This conflicts with a previous write of size 1 by thread #x
+ at 0x........: child32 (tc19_shadowmem.c:81)
+ by 0x........: steer (tc19_shadowmem.c:386)
+ by 0x........: mythread_wrapper (hg_intercepts.c:...)
+ ...
+---------- int gran, 2 .. 96, skip 50 ----------
+
+Thread #x was created
+ ...
+ by 0x........: pthread_create@* (hg_intercepts.c:...)
+ by 0x........: main (tc19_shadowmem.c:235)
+
+Thread #x was created
+ ...
+ by 0x........: pthread_create@* (hg_intercepts.c:...)
+ by 0x........: main (tc19_shadowmem.c:234)
+
+Possible data race during write of size 2 at 0x........ by thread #x
+ at 0x........: child32 (tc19_shadowmem.c:81)
+ by 0x........: steer (tc19_shadowmem.c:388)
+ by 0x........: mythread_wrapper (hg_intercepts.c:...)
+ ...
+ This conflicts with a previous write of size 2 by thread #x
+ at 0x........: child32 (tc19_shadowmem.c:81)
+ by 0x........: steer (tc19_shadowmem.c:388)
+ by 0x........: mythread_wrapper (hg_intercepts.c:...)
+ ...
+
+Possible data race during write of size 2 at 0x........ by thread #x
+ at 0x........: child32 (tc19_shadowmem.c:81)
+ by 0x........: steer (tc19_shadowmem.c:388)
+ by 0x........: mythread_wrapper (hg_intercepts.c:...)
+ ...
+ This conflicts with a previous write of size 2 by thread #x
+ at 0x........: child32 (tc19_shadowmem.c:81)
+ by 0x........: steer (tc19_shadowmem.c:388)
+ by 0x........: mythread_wrapper (hg_intercepts.c:...)
+ ...
+---------- int gran, 3 .. 96, skip 51 ----------
+
+Thread #x was created
+ ...
+ by 0x........: pthread_create@* (hg_intercepts.c:...)
+ by 0x........: main (tc19_shadowmem.c:235)
+
+Thread #x was created
+ ...
+ by 0x........: pthread_create@* (hg_intercepts.c:...)
+ by 0x........: main (tc19_shadowmem.c:234)
+
+Possible data race during write of size 1 at 0x........ by thread #x
+ at 0x........: child32 (tc19_shadowmem.c:81)
+ by 0x........: steer (tc19_shadowmem.c:390)
+ by 0x........: mythread_wrapper (hg_intercepts.c:...)
+ ...
+ This conflicts with a previous write of size 1 by thread #x
+ at 0x........: child32 (tc19_shadowmem.c:81)
+ by 0x........: steer (tc19_shadowmem.c:390)
+ by 0x........: mythread_wrapper (hg_intercepts.c:...)
+ ...
+
+Possible data race during write of size 1 at 0x........ by thread #x
+ at 0x........: child32 (tc19_shadowmem.c:81)
+ by 0x........: steer (tc19_shadowmem.c:390)
+ by 0x........: mythread_wrapper (hg_intercepts.c:...)
+ ...
+ This conflicts with a previous write of size 1 by thread #x
+ at 0x........: child32 (tc19_shadowmem.c:81)
+ by 0x........: steer (tc19_shadowmem.c:390)
+ by 0x........: mythread_wrapper (hg_intercepts.c:...)
+ ...
+
+Possible data race during write of size 1 at 0x........ by thread #x
+ at 0x........: child32 (tc19_shadowmem.c:81)
+ by 0x........: steer (tc19_shadowmem.c:390)
+ by 0x........: mythread_wrapper (hg_intercepts.c:...)
+ ...
+ This conflicts with a previous write of size 1 by thread #x
+ at 0x........: child32 (tc19_shadowmem.c:81)
+ by 0x........: steer (tc19_shadowmem.c:390)
+ by 0x........: mythread_wrapper (hg_intercepts.c:...)
+ ...
+
+Possible data race during write of size 1 at 0x........ by thread #x
+ at 0x........: child32 (tc19_shadowmem.c:81)
+ by 0x........: steer (tc19_shadowmem.c:390)
+ by 0x........: mythread_wrapper (hg_intercepts.c:...)
+ ...
+ This conflicts with a previous write of size 1 by thread #x
+ at 0x........: child32 (tc19_shadowmem.c:81)
+ by 0x........: steer (tc19_shadowmem.c:390)
+ by 0x........: mythread_wrapper (hg_intercepts.c:...)
+ ...
+---------- int gran, 0 .. 96, skip 52 ----------
+
+Thread #x was created
+ ...
+ by 0x........: pthread_create@* (hg_intercepts.c:...)
+ by 0x........: main (tc19_shadowmem.c:235)
+
+Thread #x was created
+ ...
+ by 0x........: pthread_create@* (hg_intercepts.c:...)
+ by 0x........: main (tc19_shadowmem.c:234)
+
+Possible data race during write of size 4 at 0x........ by thread #x
+ at 0x........: child32 (tc19_shadowmem.c:81)
+ by 0x........: steer (tc19_shadowmem.c:392)
+ by 0x........: mythread_wrapper (hg_intercepts.c:...)
+ ...
+ This conflicts with a previous write of size 4 by thread #x
+ at 0x........: child32 (tc19_shadowmem.c:81)
+ by 0x........: steer (tc19_shadowmem.c:392)
+ by 0x........: mythread_wrapper (hg_intercepts.c:...)
+ ...
+---------- int gran, 1 .. 96, skip 53 ----------
+
+Thread #x was created
+ ...
+ by 0x........: pthread_create@* (hg_intercepts.c:...)
+ by 0x........: main (tc19_shadowmem.c:235)
+
+Thread #x was created
+ ...
+ by 0x........: pthread_create@* (hg_intercepts.c:...)
+ by 0x........: main (tc19_shadowmem.c:234)
+
+Possible data race during write of size 1 at 0x........ by thread #x
+ at 0x........: child32 (tc19_shadowmem.c:81)
+ by 0x........: steer (tc19_shadowmem.c:394)
+ by 0x........: mythread_wrapper (hg_intercepts.c:...)
+ ...
+ This conflicts with a previous write of size 1 by thread #x
+ at 0x........: child32 (tc19_shadowmem.c:81)
+ by 0x........: steer (tc19_shadowmem.c:394)
+ by 0x........: mythread_wrapper (hg_intercepts.c:...)
+ ...
+
+Possible data race during write of size 1 at 0x........ by thread #x
+ at 0x........: child32 (tc19_shadowmem.c:81)
+ by 0x........: steer (tc19_shadowmem.c:394)
+ by 0x........: mythread_wrapper (hg_intercepts.c:...)
+ ...
+ This conflicts with a previous write of size 1 by thread #x
+ at 0x........: child32 (tc19_shadowmem.c:81)
+ by 0x........: steer (tc19_shadowmem.c:394)
+ by 0x........: mythread_wrapper (hg_intercepts.c:...)
+ ...
+
+Possible data race during write of size 1 at 0x........ by thread #x
+ at 0x........: child32 (tc19_shadowmem.c:81)
+ by 0x........: steer (tc19_shadowmem.c:394)
+ by 0x........: mythread_wrapper (hg_intercepts.c:...)
+ ...
+ This conflicts with a previous write of size 1 by thread #x
+ at 0x........: child32 (tc19_shadowmem.c:81)
+ by 0x........: steer (tc19_shadowmem.c:394)
+ by 0x........: mythread_wrapper (hg_intercepts.c:...)
+ ...
+
+Possible data race during write of size 1 at 0x........ by thread #x
+ at 0x........: child32 (tc19_shadowmem.c:81)
+ by 0x........: steer (tc19_shadowmem.c:394)
+ by 0x........: mythread_wrapper (hg_intercepts.c:...)
+ ...
+ This conflicts with a previous write of size 1 by thread #x
+ at 0x........: child32 (tc19_shadowmem.c:81)
+ by 0x........: steer (tc19_shadowmem.c:394)
+ by 0x........: mythread_wrapper (hg_intercepts.c:...)
+ ...
+---------- int gran, 2 .. 96, skip 54 ----------
+
+Thread #x was created
+ ...
+ by 0x........: pthread_create@* (hg_intercepts.c:...)
+ by 0x........: main (tc19_shadowmem.c:235)
+
+Thread #x was created
+ ...
+ by 0x........: pthread_create@* (hg_intercepts.c:...)
+ by 0x........: main (tc19_shadowmem.c:234)
+
+Possible data race during write of size 2 at 0x........ by thread #x
+ at 0x........: child32 (tc19_shadowmem.c:81)
+ by 0x........: steer (tc19_shadowmem.c:396)
+ by 0x........: mythread_wrapper (hg_intercepts.c:...)
+ ...
+ This conflicts with a previous write of size 2 by thread #x
+ at 0x........: child32 (tc19_shadowmem.c:81)
+ by 0x........: steer (tc19_shadowmem.c:396)
+ by 0x........: mythread_wrapper (hg_intercepts.c:...)
+ ...
+
+Possible data race during write of size 2 at 0x........ by thread #x
+ at 0x........: child32 (tc19_shadowmem.c:81)
+ by 0x........: steer (tc19_shadowmem.c:396)
+ by 0x........: mythread_wrapper (hg_intercepts.c:...)
+ ...
+ This conflicts with a previous write of size 2 by thread #x
+ at 0x........: child32 (tc19_shadowmem.c:81)
+ by 0x........: steer (tc19_shadowmem.c:396)
+ by 0x........: mythread_wrapper (hg_intercepts.c:...)
+ ...
+---------- int gran, 3 .. 96, skip 55 ----------
+
+Thread #x was created
+ ...
+ by 0x........: pthread_create@* (hg_intercepts.c:...)
+ by 0x........: main (tc19_shadowmem.c:235)
+
+Thread #x was created
+ ...
+ by 0x........: pthread_create@* (hg_intercepts.c:...)
+ by 0x........: main (tc19_shadowmem.c:234)
+
+Possible data race during write of size 1 at 0x........ by thread #x
+ at 0x........: child32 (tc19_shadowmem.c:81)
+ by 0x........: steer (tc19_shadowmem.c:398)
+ by 0x........: mythread_wrapper (hg_intercepts.c:...)
+ ...
+ This conflicts with a previous write of size 1 by thread #x
+ at 0x........: child32 (tc19_shadowmem.c:81)
+ by 0x........: steer (tc19_shadowmem.c:398)
+ by 0x........: mythread_wrapper (hg_intercepts.c:...)
+ ...
+
+Possible data race during write of size 1 at 0x........ by thread #x
+ at 0x........: child32 (tc19_shadowmem.c:81)
+ by 0x........: steer (tc19_shadowmem.c:398)
+ by 0x........: mythread_wrapper (hg_intercepts.c:...)
+ ...
+ This conflicts with a previous write of size 1 by thread #x
+ at 0x........: child32 (tc19_shadowmem.c:81)
+ by 0x........: steer (tc19_shadowmem.c:398)
+ by 0x........: mythread_wrapper (hg_intercepts.c:...)
+ ...
+
+Possible data race during write of size 1 at 0x........ by thread #x
+ at 0x........: child32 (tc19_shadowmem.c:81)
+ by 0x........: steer (tc19_shadowmem.c:398)
+ by 0x........: mythread_wrapper (hg_intercepts.c:...)
+ ...
+ This conflicts with a previous write of size 1 by thread #x
+ at 0x........: child32 (tc19_shadowmem.c:81)
+ by 0x........: steer (tc19_shadowmem.c:398)
+ by 0x........: mythread_wrapper (hg_intercepts.c:...)
+ ...
+
+Possible data race during write of size 1 at 0x........ by thread #x
+ at 0x........: child32 (tc19_shadowmem.c:81)
+ by 0x........: steer (tc19_shadowmem.c:398)
+ by 0x........: mythread_wrapper (hg_intercepts.c:...)
+ ...
+ This conflicts with a previous write of size 1 by thread #x
+ at 0x........: child32 (tc19_shadowmem.c:81)
+ by 0x........: steer (tc19_shadowmem.c:398)
+ by 0x........: mythread_wrapper (hg_intercepts.c:...)
+ ...
+---------- int gran, 0 .. 96, skip 56 ----------
+
+Thread #x was created
+ ...
+ by 0x........: pthread_create@* (hg_intercepts.c:...)
+ by 0x........: main (tc19_shadowmem.c:235)
+
+Thread #x was created
+ ...
+ by 0x........: pthread_create@* (hg_intercepts.c:...)
+ by 0x........: main (tc19_shadowmem.c:234)
+
+Possible data race during write of size 4 at 0x........ by thread #x
+ at 0x........: child32 (tc19_shadowmem.c:81)
+ by 0x........: steer (tc19_shadowmem.c:400)
+ by 0x........: mythread_wrapper (hg_intercepts.c:...)
+ ...
+ This conflicts with a previous write of size 4 by thread #x
+ at 0x........: child32 (tc19_shadowmem.c:81)
+ by 0x........: steer (tc19_shadowmem.c:400)
+ by 0x........: mythread_wrapper (hg_intercepts.c:...)
+ ...
+---------- int gran, 1 .. 96, skip 57 ----------
+
+Thread #x was created
+ ...
+ by 0x........: pthread_create@* (hg_intercepts.c:...)
+ by 0x........: main (tc19_shadowmem.c:235)
+
+Thread #x was created
+ ...
+ by 0x........: pthread_create@* (hg_intercepts.c:...)
+ by 0x........: main (tc19_shadowmem.c:234)
+
+Possible data race during write of size 1 at 0x........ by thread #x
+ at 0x........: child32 (tc19_shadowmem.c:81)
+ by 0x........: steer (tc19_shadowmem.c:402)
+ by 0x........: mythread_wrapper (hg_intercepts.c:...)
+ ...
+ This conflicts with a previous write of size 1 by thread #x
+ at 0x........: child32 (tc19_shadowmem.c:81)
+ by 0x........: steer (tc19_shadowmem.c:402)
+ by 0x........: mythread_wrapper (hg_intercepts.c:...)
+ ...
+
+Possible data race during write of size 1 at 0x........ by thread #x
+ at 0x........: child32 (tc19_shadowmem.c:81)
+ by 0x........: steer (tc19_shadowmem.c:402)
+ by 0x........: mythread_wrapper (hg_intercepts.c:...)
+ ...
+ This conflicts with a previous write of size 1 by thread #x
+ at 0x........: child32 (tc19_shadowmem.c:81)
+ by 0x........: steer (tc19_shadowmem.c:402)
+ by 0x........: mythread_wrapper (hg_intercepts.c:...)
+ ...
+
+Possible data race during write of size 1 at 0x........ by thread #x
+ at 0x........: child32 (tc19_shadowmem.c:81)
+ by 0x........: steer (tc19_shadowmem.c:402)
+ by 0x........: mythread_wrapper (hg_intercepts.c:...)
+ ...
+ This conflicts with a previous write of size 1 by thread #x
+ at 0x........: child32 (tc19_shadowmem.c:81)
+ by 0x........: steer (tc19_shadowmem.c:402)
+ by 0x........: mythread_wrapper (hg_intercepts.c:...)
+ ...
+
+Possible data race during write of size 1 at 0x........ by thread #x
+ at 0x........: child32 (tc19_shadowmem.c:81)
+ by 0x........: steer (tc19_shadowmem.c:402)
+ by 0x........: mythread_wrapper (hg_intercepts.c:...)
+ ...
+ This conflicts with a previous write of size 1 by thread #x
+ at 0x........: child32 (tc19_shadowmem.c:81)
+ by 0x........: steer (tc19_shadowmem.c:402)
+ by 0x........: mythread_wrapper (hg_intercepts.c:...)
+ ...
+---------- int gran, 2 .. 96, skip 58 ----------
+
+Thread #x was created
+ ...
+ by 0x........: pthread_create@* (hg_intercepts.c:...)
+ by 0x........: main (tc19_shadowmem.c:235)
+
+Thread #x was created
+ ...
+ by 0x........: pthread_create@* (hg_intercepts.c:...)
+ by 0x........: main (tc19_shadowmem.c:234)
+
+Possible data race during write of size 2 at 0x........ by thread #x
+ at 0x........: child32 (tc19_shadowmem.c:81)
+ by 0x........: steer (tc19_shadowmem.c:404)
+ by 0x........: mythread_wrapper (hg_intercepts.c:...)
+ ...
+ This conflicts with a previous write of size 2 by thread #x
+ at 0x........: child32 (tc19_shadowmem.c:81)
+ by 0x........: steer (tc19_shadowmem.c:404)
+ by 0x........: mythread_wrapper (hg_intercepts.c:...)
+ ...
+
+Possible data race during write of size 2 at 0x........ by thread #x
+ at 0x........: child32 (tc19_shadowmem.c:81)
+ by 0x........: steer (tc19_shadowmem.c:404)
+ by 0x........: mythread_wrapper (hg_intercepts.c:...)
+ ...
+ This conflicts with a previous write of size 2 by thread #x
+ at 0x........: child32 (tc19_shadowmem.c:81)
+ by 0x........: steer (tc19_shadowmem.c:404)
+ by 0x........: mythread_wrapper (hg_intercepts.c:...)
+ ...
+---------- int gran, 3 .. 96, skip 59 ----------
+
+Thread #x was created
+ ...
+ by 0x........: pthread_create@* (hg_intercepts.c:...)
+ by 0x........: main (tc19_shadowmem.c:235)
+
+Thread #x was created
+ ...
+ by 0x........: pthread_create@* (hg_intercepts.c:...)
+ by 0x........: main (tc19_shadowmem.c:234)
+
+Possible data race during write of size 1 at 0x........ by thread #x
+ at 0x........: child32 (tc19_shadowmem.c:81)
+ by 0x........: steer (tc19_shadowmem.c:406)
+ by 0x........: mythread_wrapper (hg_intercepts.c:...)
+ ...
+ This conflicts with a previous write of size 1 by thread #x
+ at 0x........: child32 (tc19_shadowmem.c:81)
+ by 0x........: steer (tc19_shadowmem.c:406)
+ by 0x........: mythread_wrapper (hg_intercepts.c:...)
+ ...
+
+Possible data race during write of size 1 at 0x........ by thread #x
+ at 0x........: child32 (tc19_shadowmem.c:81)
+ by 0x........: steer (tc19_shadowmem.c:406)
+ by 0x........: mythread_wrapper (hg_intercepts.c:...)
+ ...
+ This conflicts with a previous write of size 1 by thread #x
+ at 0x........: child32 (tc19_shadowmem.c:81)
+ by 0x........: steer (tc19_shadowmem.c:406)
+ by 0x........: mythread_wrapper (hg_intercepts.c:...)
+ ...
+
+Possible data race during write of size 1 at 0x........ by thread #x
+ at 0x........: child32 (tc19_shadowmem.c:81)
+ by 0x........: steer (tc19_shadowmem.c:406)
+ by 0x........: mythread_wrapper (hg_intercepts.c:...)
+ ...
+ This conflicts with a previous write of size 1 by thread #x
+ at 0x........: child32 (tc19_shadowmem.c:81)
+ by 0x........: steer (tc19_shadowmem.c:406)
+ by 0x........: mythread_wrapper (hg_intercepts.c:...)
+ ...
+
+Possible data race during write of size 1 at 0x........ by thread #x
+ at 0x........: child32 (tc19_shadowmem.c:81)
+ by 0x........: steer (tc19_shadowmem.c:406)
+ by 0x........: mythread_wrapper (hg_intercepts.c:...)
+ ...
+ This conflicts with a previous write of size 1 by thread #x
+ at 0x........: child32 (tc19_shadowmem.c:81)
+ by 0x........: steer (tc19_shadowmem.c:406)
+ by 0x........: mythread_wrapper (hg_intercepts.c:...)
+ ...
+---------- int gran, 0 .. 96, skip 60 ----------
+
+Thread #x was created
+ ...
+ by 0x........: pthread_create@* (hg_intercepts.c:...)
+ by 0x........: main (tc19_shadowmem.c:235)
+
+Thread #x was created
+ ...
+ by 0x........: pthread_create@* (hg_intercepts.c:...)
+ by 0x........: main (tc19_shadowmem.c:234)
+
+Possible data race during write of size 4 at 0x........ by thread #x
+ at 0x........: child32 (tc19_shadowmem.c:81)
+ by 0x........: steer (tc19_shadowmem.c:408)
+ by 0x........: mythread_wrapper (hg_intercepts.c:...)
+ ...
+ This conflicts with a previous write of size 4 by thread #x
+ at 0x........: child32 (tc19_shadowmem.c:81)
+ by 0x........: steer (tc19_shadowmem.c:408)
+ by 0x........: mythread_wrapper (hg_intercepts.c:...)
+ ...
+---------- int gran, 1 .. 96, skip 61 ----------
+
+Thread #x was created
+ ...
+ by 0x........: pthread_create@* (hg_intercepts.c:...)
+ by 0x........: main (tc19_shadowmem.c:235)
+
+Thread #x was created
+ ...
+ by 0x........: pthread_create@* (hg_intercepts.c:...)
+ by 0x........: main (tc19_shadowmem.c:234)
+
+Possible data race during write of size 1 at 0x........ by thread #x
+ at 0x........: child32 (tc19_shadowmem.c:81)
+ by 0x........: steer (tc19_shadowmem.c:410)
+ by 0x........: mythread_wrapper (hg_intercepts.c:...)
+ ...
+ This conflicts with a previous write of size 1 by thread #x
+ at 0x........: child32 (tc19_shadowmem.c:81)
+ by 0x........: steer (tc19_shadowmem.c:410)
+ by 0x........: mythread_wrapper (hg_intercepts.c:...)
+ ...
+
+Possible data race during write of size 1 at 0x........ by thread #x
+ at 0x........: child32 (tc19_shadowmem.c:81)
+ by 0x........: steer (tc19_shadowmem.c:410)
+ by 0x........: mythread_wrapper (hg_intercepts.c:...)
+ ...
+ This conflicts with a previous write of size 1 by thread #x
+ at 0x........: child32 (tc19_shadowmem.c:81)
+ by 0x........: steer (tc19_shadowmem.c:410)
+ by 0x........: mythread_wrapper (hg_intercepts.c:...)
+ ...
+
+Possible data race during write of size 1 at 0x........ by thread #x
+ at 0x........: child32 (tc19_shadowmem.c:81)
+ by 0x........: steer (tc19_shadowmem.c:410)
+ by 0x........: mythread_wrapper (hg_intercepts.c:...)
+ ...
+ This conflicts with a previous write of size 1 by thread #x
+ at 0x........: child32 (tc19_shadowmem.c:81)
+ by 0x........: steer (tc19_shadowmem.c:410)
+ by 0x........: mythread_wrapper (hg_intercepts.c:...)
+ ...
+
+Possible data race during write of size 1 at 0x........ by thread #x
+ at 0x........: child32 (tc19_shadowmem.c:81)
+ by 0x........: steer (tc19_shadowmem.c:410)
+ by 0x........: mythread_wrapper (hg_intercepts.c:...)
+ ...
+ This conflicts with a previous write of size 1 by thread #x
+ at 0x........: child32 (tc19_shadowmem.c:81)
+ by 0x........: steer (tc19_shadowmem.c:410)
+ by 0x........: mythread_wrapper (hg_intercepts.c:...)
+ ...
+---------- int gran, 2 .. 96, skip 62 ----------
+
+Thread #x was created
+ ...
+ by 0x........: pthread_create@* (hg_intercepts.c:...)
+ by 0x........: main (tc19_shadowmem.c:235)
+
+Thread #x was created
+ ...
+ by 0x........: pthread_create@* (hg_intercepts.c:...)
+ by 0x........: main (tc19_shadowmem.c:234)
+
+Possible data race during write of size 2 at 0x........ by thread #x
+ at 0x........: child32 (tc19_shadowmem.c:81)
+ by 0x........: steer (tc19_shadowmem.c:412)
+ by 0x........: mythread_wrapper (hg_intercepts.c:...)
+ ...
+ This conflicts with a previous write of size 2 by thread #x
+ at 0x........: child32 (tc19_shadowmem.c:81)
+ by 0x........: steer (tc19_shadowmem.c:412)
+ by 0x........: mythread_wrapper (hg_intercepts.c:...)
+ ...
+
+Possible data race during write of size 2 at 0x........ by thread #x
+ at 0x........: child32 (tc19_shadowmem.c:81)
+ by 0x........: steer (tc19_shadowmem.c:412)
+ by 0x........: mythread_wrapper (hg_intercepts.c:...)
+ ...
+ This conflicts with a previous write of size 2 by thread #x
+ at 0x........: child32 (tc19_shadowmem.c:81)
+ by 0x........: steer (tc19_shadowmem.c:412)
+ by 0x........: mythread_wrapper (hg_intercepts.c:...)
+ ...
+---------- int gran, 3 .. 96, skip 63 ----------
+
+Thread #x was created
+ ...
+ by 0x........: pthread_create@* (hg_intercepts.c:...)
+ by 0x........: main (tc19_shadowmem.c:235)
+
+Thread #x was created
+ ...
+ by 0x........: pthread_create@* (hg_intercepts.c:...)
+ by 0x........: main (tc19_shadowmem.c:234)
+
+Possible data race during write of size 1 at 0x........ by thread #x
+ at 0x........: child32 (tc19_shadowmem.c:81)
+ by 0x........: steer (tc19_shadowmem.c:414)
+ by 0x........: mythread_wrapper (hg_intercepts.c:...)
+ ...
+ This conflicts with a previous write of size 1 by thread #x
+ at 0x........: child32 (tc19_shadowmem.c:81)
+ by 0x........: steer (tc19_shadowmem.c:414)
+ by 0x........: mythread_wrapper (hg_intercepts.c:...)
+ ...
+
+Possible data race during write of size 1 at 0x........ by thread #x
+ at 0x........: child32 (tc19_shadowmem.c:81)
+ by 0x........: steer (tc19_shadowmem.c:414)
+ by 0x........: mythread_wrapper (hg_intercepts.c:...)
+ ...
+ This conflicts with a previous write of size 1 by thread #x
+ at 0x........: child32 (tc19_shadowmem.c:81)
+ by 0x........: steer (tc19_shadowmem.c:414)
+ by 0x........: mythread_wrapper (hg_intercepts.c:...)
+ ...
+
+Possible data race during write of size 1 at 0x........ by thread #x
+ at 0x........: child32 (tc19_shadowmem.c:81)
+ by 0x........: steer (tc19_shadowmem.c:414)
+ by 0x........: mythread_wrapper (hg_intercepts.c:...)
+ ...
+ This conflicts with a previous write of size 1 by thread #x
+ at 0x........: child32 (tc19_shadowmem.c:81)
+ by 0x........: steer (tc19_shadowmem.c:414)
+ by 0x........: mythread_wrapper (hg_intercepts.c:...)
+ ...
+
+Possible data race during write of size 1 at 0x........ by thread #x
+ at 0x........: child32 (tc19_shadowmem.c:81)
+ by 0x........: steer (tc19_shadowmem.c:414)
+ by 0x........: mythread_wrapper (hg_intercepts.c:...)
+ ...
+ This conflicts with a previous write of size 1 by thread #x
+ at 0x........: child32 (tc19_shadowmem.c:81)
+ by 0x........: steer (tc19_shadowmem.c:414)
+ by 0x........: mythread_wrapper (hg_intercepts.c:...)
+ ...
+---------- int gran, 0 .. 96, skip 64 ----------
+
+Thread #x was created
+ ...
+ by 0x........: pthread_create@* (hg_intercepts.c:...)
+ by 0x........: main (tc19_shadowmem.c:235)
+
+Thread #x was created
+ ...
+ by 0x........: pthread_create@* (hg_intercepts.c:...)
+ by 0x........: main (tc19_shadowmem.c:234)
+
+Possible data race during write of size 4 at 0x........ by thread #x
+ at 0x........: child32 (tc19_shadowmem.c:81)
+ by 0x........: steer (tc19_shadowmem.c:416)
+ by 0x........: mythread_wrapper (hg_intercepts.c:...)
+ ...
+ This conflicts with a previous write of size 4 by thread #x
+ at 0x........: child32 (tc19_shadowmem.c:81)
+ by 0x........: steer (tc19_shadowmem.c:416)
+ by 0x........: mythread_wrapper (hg_intercepts.c:...)
+ ...
+---------- int gran, 1 .. 96, skip 65 ----------
+
+Thread #x was created
+ ...
+ by 0x........: pthread_create@* (hg_intercepts.c:...)
+ by 0x........: main (tc19_shadowmem.c:235)
+
+Thread #x was created
+ ...
+ by 0x........: pthread_create@* (hg_intercepts.c:...)
+ by 0x........: main (tc19_shadowmem.c:234)
+
+Possible data race during write of size 1 at 0x........ by thread #x
+ at 0x........: child32 (tc19_shadowmem.c:81)
+ by 0x........: steer (tc19_shadowmem.c:418)
+ by 0x........: mythread_wrapper (hg_intercepts.c:...)
+ ...
+ This conflicts with a previous write of size 1 by thread #x
+ at 0x........: child32 (tc19_shadowmem.c:81)
+ by 0x........: steer (tc19_shadowmem.c:418)
+ by 0x........: mythread_wrapper (hg_intercepts.c:...)
+ ...
+
+Possible data race during write of size 1 at 0x........ by thread #x
+ at 0x........: child32 (tc19_shadowmem.c:81)
+ by 0x........: steer (tc19_shadowmem.c:418)
+ by 0x........: mythread_wrapper (hg_intercepts.c:...)
+ ...
+ This conflicts with a previous write of size 1 by thread #x
+ at 0x........: child32 (tc19_shadowmem.c:81)
+ by 0x........: steer (tc19_shadowmem.c:418)
+ by 0x........: mythread_wrapper (hg_intercepts.c:...)
+ ...
+
+Possible data race during write of size 1 at 0x........ by thread #x
+ at 0x........: child32 (tc19_shadowmem.c:81)
+ by 0x........: steer (tc19_shadowmem.c:418)
+ by 0x........: mythread_wrapper (hg_intercepts.c:...)
+ ...
+ This conflicts with a previous write of size 1 by thread #x
+ at 0x........: child32 (tc19_shadowmem.c:81)
+ by 0x........: steer (tc19_shadowmem.c:418)
+ by 0x........: mythread_wrapper (hg_intercepts.c:...)
+ ...
+
+Possible data race during write of size 1 at 0x........ by thread #x
+ at 0x........: child32 (tc19_shadowmem.c:81)
+ by 0x........: steer (tc19_shadowmem.c:418)
+ by 0x........: mythread_wrapper (hg_intercepts.c:...)
+ ...
+ This conflicts with a previous write of size 1 by thread #x
+ at 0x........: child32 (tc19_shadowmem.c:81)
+ by 0x........: steer (tc19_shadowmem.c:418)
+ by 0x........: mythread_wrapper (hg_intercepts.c:...)
+ ...
+---------- int gran, 2 .. 96, skip 66 ----------
+
+Thread #x was created
+ ...
+ by 0x........: pthread_create@* (hg_intercepts.c:...)
+ by 0x........: main (tc19_shadowmem.c:235)
+
+Thread #x was created
+ ...
+ by 0x........: pthread_create@* (hg_intercepts.c:...)
+ by 0x........: main (tc19_shadowmem.c:234)
+
+Possible data race during write of size 2 at 0x........ by thread #x
+ at 0x........: child32 (tc19_shadowmem.c:81)
+ by 0x........: steer (tc19_shadowmem.c:420)
+ by 0x........: mythread_wrapper (hg_intercepts.c:...)
+ ...
+ This conflicts with a previous write of size 2 by thread #x
+ at 0x........: child32 (tc19_shadowmem.c:81)
+ by 0x........: steer (tc19_shadowmem.c:420)
+ by 0x........: mythread_wrapper (hg_intercepts.c:...)
+ ...
+
+Possible data race during write of size 2 at 0x........ by thread #x
+ at 0x........: child32 (tc19_shadowmem.c:81)
+ by 0x........: steer (tc19_shadowmem.c:420)
+ by 0x........: mythread_wrapper (hg_intercepts.c:...)
+ ...
+ This conflicts with a previous write of size 2 by thread #x
+ at 0x........: child32 (tc19_shadowmem.c:81)
+ by 0x........: steer (tc19_shadowmem.c:420)
+ by 0x........: mythread_wrapper (hg_intercepts.c:...)
+ ...
+---------- int gran, 3 .. 96, skip 67 ----------
+
+Thread #x was created
+ ...
+ by 0x........: pthread_create@* (hg_intercepts.c:...)
+ by 0x........: main (tc19_shadowmem.c:235)
+
+Thread #x was created
+ ...
+ by 0x........: pthread_create@* (hg_intercepts.c:...)
+ by 0x........: main (tc19_shadowmem.c:234)
+
+Possible data race during write of size 1 at 0x........ by thread #x
+ at 0x........: child32 (tc19_shadowmem.c:81)
+ by 0x........: steer (tc19_shadowmem.c:422)
+ by 0x........: mythread_wrapper (hg_intercepts.c:...)
+ ...
+ This conflicts with a previous write of size 1 by thread #x
+ at 0x........: child32 (tc19_shadowmem.c:81)
+ by 0x........: steer (tc19_shadowmem.c:422)
+ by 0x........: mythread_wrapper (hg_intercepts.c:...)
+ ...
+
+Possible data race during write of size 1 at 0x........ by thread #x
+ at 0x........: child32 (tc19_shadowmem.c:81)
+ by 0x........: steer (tc19_shadowmem.c:422)
+ by 0x........: mythread_wrapper (hg_intercepts.c:...)
+ ...
+ This conflicts with a previous write of size 1 by thread #x
+ at 0x........: child32 (tc19_shadowmem.c:81)
+ by 0x........: steer (tc19_shadowmem.c:422)
+ by 0x........: mythread_wrapper (hg_intercepts.c:...)
+ ...
+
+Possible data race during write of size 1 at 0x........ by thread #x
+ at 0x........: child32 (tc19_shadowmem.c:81)
+ by 0x........: steer (tc19_shadowmem.c:422)
+ by 0x........: mythread_wrapper (hg_intercepts.c:...)
+ ...
+ This conflicts with a previous write of size 1 by thread #x
+ at 0x........: child32 (tc19_shadowmem.c:81)
+ by 0x........: steer (tc19_shadowmem.c:422)
+ by 0x........: mythread_wrapper (hg_intercepts.c:...)
+ ...
+
+Possible data race during write of size 1 at 0x........ by thread #x
+ at 0x........: child32 (tc19_shadowmem.c:81)
+ by 0x........: steer (tc19_shadowmem.c:422)
+ by 0x........: mythread_wrapper (hg_intercepts.c:...)
+ ...
+ This conflicts with a previous write of size 1 by thread #x
+ at 0x........: child32 (tc19_shadowmem.c:81)
+ by 0x........: steer (tc19_shadowmem.c:422)
+ by 0x........: mythread_wrapper (hg_intercepts.c:...)
+ ...
+---------- int gran, 0 .. 96, skip 68 ----------
+
+Thread #x was created
+ ...
+ by 0x........: pthread_create@* (hg_intercepts.c:...)
+ by 0x........: main (tc19_shadowmem.c:235)
+
+Thread #x was created
+ ...
+ by 0x........: pthread_create@* (hg_intercepts.c:...)
+ by 0x........: main (tc19_shadowmem.c:234)
+
+Possible data race during write of size 4 at 0x........ by thread #x
+ at 0x........: child32 (tc19_shadowmem.c:81)
+ by 0x........: steer (tc19_shadowmem.c:424)
+ by 0x........: mythread_wrapper (hg_intercepts.c:...)
+ ...
+ This conflicts with a previous write of size 4 by thread #x
+ at 0x........: child32 (tc19_shadowmem.c:81)
+ by 0x........: steer (tc19_shadowmem.c:424)
+ by 0x........: mythread_wrapper (hg_intercepts.c:...)
+ ...
+---------- int gran, 1 .. 96, skip 69 ----------
+
+Thread #x was created
+ ...
+ by 0x........: pthread_create@* (hg_intercepts.c:...)
+ by 0x........: main (tc19_shadowmem.c:235)
+
+Thread #x was created
+ ...
+ by 0x........: pthread_create@* (hg_intercepts.c:...)
+ by 0x........: main (tc19_shadowmem.c:234)
+
+Possible data race during write of size 1 at 0x........ by thread #x
+ at 0x........: child32 (tc19_shadowmem.c:81)
+ by 0x........: steer (tc19_shadowmem.c:426)
+ by 0x........: mythread_wrapper (hg_intercepts.c:...)
+ ...
+ This conflicts with a previous write of size 1 by thread #x
+ at 0x........: child32 (tc19_shadowmem.c:81)
+ by 0x........: steer (tc19_shadowmem.c:426)
+ by 0x........: mythread_wrapper (hg_intercepts.c:...)
+ ...
+
+Possible data race during write of size 1 at 0x........ by thread #x
+ at 0x........: child32 (tc19_shadowmem.c:81)
+ by 0x........: steer (tc19_shadowmem.c:426)
+ by 0x........: mythread_wrapper (hg_intercepts.c:...)
+ ...
+ This conflicts with a previous write of size 1 by thread #x
+ at 0x........: child32 (tc19_shadowmem.c:81)
+ by 0x........: steer (tc19_shadowmem.c:426)
+ by 0x........: mythread_wrapper (hg_intercepts.c:...)
+ ...
+
+Possible data race during write of size 1 at 0x........ by thread #x
+ at 0x........: child32 (tc19_shadowmem.c:81)
+ by 0x........: steer (tc19_shadowmem.c:426)
+ by 0x........: mythread_wrapper (hg_intercepts.c:...)
+ ...
+ This conflicts with a previous write of size 1 by thread #x
+ at 0x........: child32 (tc19_shadowmem.c:81)
+ by 0x........: steer (tc19_shadowmem.c:426)
+ by 0x........: mythread_wrapper (hg_intercepts.c:...)
+ ...
+
+Possible data race during write of size 1 at 0x........ by thread #x
+ at 0x........: child32 (tc19_shadowmem.c:81)
+ by 0x........: steer (tc19_shadowmem.c:426)
+ by 0x........: mythread_wrapper (hg_intercepts.c:...)
+ ...
+ This conflicts with a previous write of size 1 by thread #x
+ at 0x........: child32 (tc19_shadowmem.c:81)
+ by 0x........: steer (tc19_shadowmem.c:426)
+ by 0x........: mythread_wrapper (hg_intercepts.c:...)
+ ...
+---------- int gran, 2 .. 96, skip 70 ----------
+
+Thread #x was created
+ ...
+ by 0x........: pthread_create@* (hg_intercepts.c:...)
+ by 0x........: main (tc19_shadowmem.c:235)
+
+Thread #x was created
+ ...
+ by 0x........: pthread_create@* (hg_intercepts.c:...)
+ by 0x........: main (tc19_shadowmem.c:234)
+
+Possible data race during write of size 2 at 0x........ by thread #x
+ at 0x........: child32 (tc19_shadowmem.c:81)
+ by 0x........: steer (tc19_shadowmem.c:428)
+ by 0x........: mythread_wrapper (hg_intercepts.c:...)
+ ...
+ This conflicts with a previous write of size 2 by thread #x
+ at 0x........: child32 (tc19_shadowmem.c:81)
+ by 0x........: steer (tc19_shadowmem.c:428)
+ by 0x........: mythread_wrapper (hg_intercepts.c:...)
+ ...
+
+Possible data race during write of size 2 at 0x........ by thread #x
+ at 0x........: child32 (tc19_shadowmem.c:81)
+ by 0x........: steer (tc19_shadowmem.c:428)
+ by 0x........: mythread_wrapper (hg_intercepts.c:...)
+ ...
+ This conflicts with a previous write of size 2 by thread #x
+ at 0x........: child32 (tc19_shadowmem.c:81)
+ by 0x........: steer (tc19_shadowmem.c:428)
+ by 0x........: mythread_wrapper (hg_intercepts.c:...)
+ ...
+---------- int gran, 3 .. 96, skip 71 ----------
+
+Thread #x was created
+ ...
+ by 0x........: pthread_create@* (hg_intercepts.c:...)
+ by 0x........: main (tc19_shadowmem.c:235)
+
+Thread #x was created
+ ...
+ by 0x........: pthread_create@* (hg_intercepts.c:...)
+ by 0x........: main (tc19_shadowmem.c:234)
+
+Possible data race during write of size 1 at 0x........ by thread #x
+ at 0x........: child32 (tc19_shadowmem.c:81)
+ by 0x........: steer (tc19_shadowmem.c:430)
+ by 0x........: mythread_wrapper (hg_intercepts.c:...)
+ ...
+ This conflicts with a previous write of size 1 by thread #x
+ at 0x........: child32 (tc19_shadowmem.c:81)
+ by 0x........: steer (tc19_shadowmem.c:430)
+ by 0x........: mythread_wrapper (hg_intercepts.c:...)
+ ...
+
+Possible data race during write of size 1 at 0x........ by thread #x
+ at 0x........: child32 (tc19_shadowmem.c:81)
+ by 0x........: steer (tc19_shadowmem.c:430)
+ by 0x........: mythread_wrapper (hg_intercepts.c:...)
+ ...
+ This conflicts with a previous write of size 1 by thread #x
+ at 0x........: child32 (tc19_shadowmem.c:81)
+ by 0x........: steer (tc19_shadowmem.c:430)
+ by 0x........: mythread_wrapper (hg_intercepts.c:...)
+ ...
+
+Possible data race during write of size 1 at 0x........ by thread #x
+ at 0x........: child32 (tc19_shadowmem.c:81)
+ by 0x........: steer (tc19_shadowmem.c:430)
+ by 0x........: mythread_wrapper (hg_intercepts.c:...)
+ ...
+ This conflicts with a previous write of size 1 by thread #x
+ at 0x........: child32 (tc19_shadowmem.c:81)
+ by 0x........: steer (tc19_shadowmem.c:430)
+ by 0x........: mythread_wrapper (hg_intercepts.c:...)
+ ...
+
+Possible data race during write of size 1 at 0x........ by thread #x
+ at 0x........: child32 (tc19_shadowmem.c:81)
+ by 0x........: steer (tc19_shadowmem.c:430)
+ by 0x........: mythread_wrapper (hg_intercepts.c:...)
+ ...
+ This conflicts with a previous write of size 1 by thread #x
+ at 0x........: child32 (tc19_shadowmem.c:81)
+ by 0x........: steer (tc19_shadowmem.c:430)
+ by 0x........: mythread_wrapper (hg_intercepts.c:...)
+ ...
+---------- int gran, 0 .. 96, skip 72 ----------
+
+Thread #x was created
+ ...
+ by 0x........: pthread_create@* (hg_intercepts.c:...)
+ by 0x........: main (tc19_shadowmem.c:235)
+
+Thread #x was created
+ ...
+ by 0x........: pthread_create@* (hg_intercepts.c:...)
+ by 0x........: main (tc19_shadowmem.c:234)
+
+Possible data race during write of size 4 at 0x........ by thread #x
+ at 0x........: child32 (tc19_shadowmem.c:81)
+ by 0x........: steer (tc19_shadowmem.c:432)
+ by 0x........: mythread_wrapper (hg_intercepts.c:...)
+ ...
+ This conflicts with a previous write of size 4 by thread #x
+ at 0x........: child32 (tc19_shadowmem.c:81)
+ by 0x........: steer (tc19_shadowmem.c:432)
+ by 0x........: mythread_wrapper (hg_intercepts.c:...)
+ ...
+---------- int gran, 1 .. 96, skip 73 ----------
+
+Thread #x was created
+ ...
+ by 0x........: pthread_create@* (hg_intercepts.c:...)
+ by 0x........: main (tc19_shadowmem.c:235)
+
+Thread #x was created
+ ...
+ by 0x........: pthread_create@* (hg_intercepts.c:...)
+ by 0x........: main (tc19_shadowmem.c:234)
+
+Possible data race during write of size 1 at 0x........ by thread #x
+ at 0x........: child32 (tc19_shadowmem.c:81)
+ by 0x........: steer (tc19_shadowmem.c:434)
+ by 0x........: mythread_wrapper (hg_intercepts.c:...)
+ ...
+ This conflicts with a previous write of size 1 by thread #x
+ at 0x........: child32 (tc19_shadowmem.c:81)
+ by 0x........: steer (tc19_shadowmem.c:434)
+ by 0x........: mythread_wrapper (hg_intercepts.c:...)
+ ...
+
+Possible data race during write of size 1 at 0x........ by thread #x
+ at 0x........: child32 (tc19_shadowmem.c:81)
+ by 0x........: steer (tc19_shadowmem.c:434)
+ by 0x........: mythread_wrapper (hg_intercepts.c:...)
+ ...
+ This conflicts with a previous write of size 1 by thread #x
+ at 0x........: child32 (tc19_shadowmem.c:81)
+ by 0x........: steer (tc19_shadowmem.c:434)
+ by 0x........: mythread_wrapper (hg_intercepts.c:...)
+ ...
+
+Possible data race during write of size 1 at 0x........ by thread #x
+ at 0x........: child32 (tc19_shadowmem.c:81)
+ by 0x........: steer (tc19_shadowmem.c:434)
+ by 0x........: mythread_wrapper (hg_intercepts.c:...)
+ ...
+ This conflicts with a previous write of size 1 by thread #x
+ at 0x........: child32 (tc19_shadowmem.c:81)
+ by 0x........: steer (tc19_shadowmem.c:434)
+ by 0x........: mythread_wrapper (hg_intercepts.c:...)
+ ...
+
+Possible data race during write of size 1 at 0x........ by thread #x
+ at 0x........: child32 (tc19_shadowmem.c:81)
+ by 0x........: steer (tc19_shadowmem.c:434)
+ by 0x........: mythread_wrapper (hg_intercepts.c:...)
+ ...
+ This conflicts with a previous write of size 1 by thread #x
+ at 0x........: child32 (tc19_shadowmem.c:81)
+ by 0x........: steer (tc19_shadowmem.c:434)
+ by 0x........: mythread_wrapper (hg_intercepts.c:...)
+ ...
+---------- int gran, 2 .. 96, skip 74 ----------
+
+Thread #x was created
+ ...
+ by 0x........: pthread_create@* (hg_intercepts.c:...)
+ by 0x........: main (tc19_shadowmem.c:235)
+
+Thread #x was created
+ ...
+ by 0x........: pthread_create@* (hg_intercepts.c:...)
+ by 0x........: main (tc19_shadowmem.c:234)
+
+Possible data race during write of size 2 at 0x........ by thread #x
+ at 0x........: child32 (tc19_shadowmem.c:81)
+ by 0x........: steer (tc19_shadowmem.c:436)
+ by 0x........: mythread_wrapper (hg_intercepts.c:...)
+ ...
+ This conflicts with a previous write of size 2 by thread #x
+ at 0x........: child32 (tc19_shadowmem.c:81)
+ by 0x........: steer (tc19_shadowmem.c:436)
+ by 0x........: mythread_wrapper (hg_intercepts.c:...)
+ ...
+
+Possible data race during write of size 2 at 0x........ by thread #x
+ at 0x........: child32 (tc19_shadowmem.c:81)
+ by 0x........: steer (tc19_shadowmem.c:436)
+ by 0x........: mythread_wrapper (hg_intercepts.c:...)
+ ...
+ This conflicts with a previous write of size 2 by thread #x
+ at 0x........: child32 (tc19_shadowmem.c:81)
+ by 0x........: steer (tc19_shadowmem.c:436)
+ by 0x........: mythread_wrapper (hg_intercepts.c:...)
+ ...
+---------- int gran, 3 .. 96, skip 75 ----------
+
+Thread #x was created
+ ...
+ by 0x........: pthread_create@* (hg_intercepts.c:...)
+ by 0x........: main (tc19_shadowmem.c:235)
+
+Thread #x was created
+ ...
+ by 0x........: pthread_create@* (hg_intercepts.c:...)
+ by 0x........: main (tc19_shadowmem.c:234)
+
+Possible data race during write of size 1 at 0x........ by thread #x
+ at 0x........: child32 (tc19_shadowmem.c:81)
+ by 0x........: steer (tc19_shadowmem.c:438)
+ by 0x........: mythread_wrapper (hg_intercepts.c:...)
+ ...
+ This conflicts with a previous write of size 1 by thread #x
+ at 0x........: child32 (tc19_shadowmem.c:81)
+ by 0x........: steer (tc19_shadowmem.c:438)
+ by 0x........: mythread_wrapper (hg_intercepts.c:...)
+ ...
+
+Possible data race during write of size 1 at 0x........ by thread #x
+ at 0x........: child32 (tc19_shadowmem.c:81)
+ by 0x........: steer (tc19_shadowmem.c:438)
+ by 0x........: mythread_wrapper (hg_intercepts.c:...)
+ ...
+ This conflicts with a previous write of size 1 by thread #x
+ at 0x........: child32 (tc19_shadowmem.c:81)
+ by 0x........: steer (tc19_shadowmem.c:438)
+ by 0x........: mythread_wrapper (hg_intercepts.c:...)
+ ...
+
+Possible data race during write of size 1 at 0x........ by thread #x
+ at 0x........: child32 (tc19_shadowmem.c:81)
+ by 0x........: steer (tc19_shadowmem.c:438)
+ by 0x........: mythread_wrapper (hg_intercepts.c:...)
+ ...
+ This conflicts with a previous write of size 1 by thread #x
+ at 0x........: child32 (tc19_shadowmem.c:81)
+ by 0x........: steer (tc19_shadowmem.c:438)
+ by 0x........: mythread_wrapper (hg_intercepts.c:...)
+ ...
+
+Possible data race during write of size 1 at 0x........ by thread #x
+ at 0x........: child32 (tc19_shadowmem.c:81)
+ by 0x........: steer (tc19_shadowmem.c:438)
+ by 0x........: mythread_wrapper (hg_intercepts.c:...)
+ ...
+ This conflicts with a previous write of size 1 by thread #x
+ at 0x........: child32 (tc19_shadowmem.c:81)
+ by 0x........: steer (tc19_shadowmem.c:438)
+ by 0x........: mythread_wrapper (hg_intercepts.c:...)
+ ...
+---------- int gran, 0 .. 96, skip 76 ----------
+
+Thread #x was created
+ ...
+ by 0x........: pthread_create@* (hg_intercepts.c:...)
+ by 0x........: main (tc19_shadowmem.c:235)
+
+Thread #x was created
+ ...
+ by 0x........: pthread_create@* (hg_intercepts.c:...)
+ by 0x........: main (tc19_shadowmem.c:234)
+
+Possible data race during write of size 4 at 0x........ by thread #x
+ at 0x........: child32 (tc19_shadowmem.c:81)
+ by 0x........: steer (tc19_shadowmem.c:440)
+ by 0x........: mythread_wrapper (hg_intercepts.c:...)
+ ...
+ This conflicts with a previous write of size 4 by thread #x
+ at 0x........: child32 (tc19_shadowmem.c:81)
+ by 0x........: steer (tc19_shadowmem.c:440)
+ by 0x........: mythread_wrapper (hg_intercepts.c:...)
+ ...
+---------- int gran, 1 .. 96, skip 77 ----------
+
+Thread #x was created
+ ...
+ by 0x........: pthread_create@* (hg_intercepts.c:...)
+ by 0x........: main (tc19_shadowmem.c:235)
+
+Thread #x was created
+ ...
+ by 0x........: pthread_create@* (hg_intercepts.c:...)
+ by 0x........: main (tc19_shadowmem.c:234)
+
+Possible data race during write of size 1 at 0x........ by thread #x
+ at 0x........: child32 (tc19_shadowmem.c:81)
+ by 0x........: steer (tc19_shadowmem.c:442)
+ by 0x........: mythread_wrapper (hg_intercepts.c:...)
+ ...
+ This conflicts with a previous write of size 1 by thread #x
+ at 0x........: child32 (tc19_shadowmem.c:81)
+ by 0x........: steer (tc19_shadowmem.c:442)
+ by 0x........: mythread_wrapper (hg_intercepts.c:...)
+ ...
+
+Possible data race during write of size 1 at 0x........ by thread #x
+ at 0x........: child32 (tc19_shadowmem.c:81)
+ by 0x........: steer (tc19_shadowmem.c:442)
+ by 0x........: mythread_wrapper (hg_intercepts.c:...)
+ ...
+ This conflicts with a previous write of size 1 by thread #x
+ at 0x........: child32 (tc19_shadowmem.c:81)
+ by 0x........: steer (tc19_shadowmem.c:442)
+ by 0x........: mythread_wrapper (hg_intercepts.c:...)
+ ...
+
+Possible data race during write of size 1 at 0x........ by thread #x
+ at 0x........: child32 (tc19_shadowmem.c:81)
+ by 0x........: steer (tc19_shadowmem.c:442)
+ by 0x........: mythread_wrapper (hg_intercepts.c:...)
+ ...
+ This conflicts with a previous write of size 1 by thread #x
+ at 0x........: child32 (tc19_shadowmem.c:81)
+ by 0x........: steer (tc19_shadowmem.c:442)
+ by 0x........: mythread_wrapper (hg_intercepts.c:...)
+ ...
+
+Possible data race during write of size 1 at 0x........ by thread #x
+ at 0x........: child32 (tc19_shadowmem.c:81)
+ by 0x........: steer (tc19_shadowmem.c:442)
+ by 0x........: mythread_wrapper (hg_intercepts.c:...)
+ ...
+ This conflicts with a previous write of size 1 by thread #x
+ at 0x........: child32 (tc19_shadowmem.c:81)
+ by 0x........: steer (tc19_shadowmem.c:442)
+ by 0x........: mythread_wrapper (hg_intercepts.c:...)
+ ...
+---------- int gran, 2 .. 96, skip 78 ----------
+
+Thread #x was created
+ ...
+ by 0x........: pthread_create@* (hg_intercepts.c:...)
+ by 0x........: main (tc19_shadowmem.c:235)
+
+Thread #x was created
+ ...
+ by 0x........: pthread_create@* (hg_intercepts.c:...)
+ by 0x........: main (tc19_shadowmem.c:234)
+
+Possible data race during write of size 2 at 0x........ by thread #x
+ at 0x........: child32 (tc19_shadowmem.c:81)
+ by 0x........: steer (tc19_shadowmem.c:444)
+ by 0x........: mythread_wrapper (hg_intercepts.c:...)
+ ...
+ This conflicts with a previous write of size 2 by thread #x
+ at 0x........: child32 (tc19_shadowmem.c:81)
+ by 0x........: steer (tc19_shadowmem.c:444)
+ by 0x........: mythread_wrapper (hg_intercepts.c:...)
+ ...
+
+Possible data race during write of size 2 at 0x........ by thread #x
+ at 0x........: child32 (tc19_shadowmem.c:81)
+ by 0x........: steer (tc19_shadowmem.c:444)
+ by 0x........: mythread_wrapper (hg_intercepts.c:...)
+ ...
+ This conflicts with a previous write of size 2 by thread #x
+ at 0x........: child32 (tc19_shadowmem.c:81)
+ by 0x........: steer (tc19_shadowmem.c:444)
+ by 0x........: mythread_wrapper (hg_intercepts.c:...)
+ ...
+---------- int gran, 3 .. 96, skip 79 ----------
+
+Thread #x was created
+ ...
+ by 0x........: pthread_create@* (hg_intercepts.c:...)
+ by 0x........: main (tc19_shadowmem.c:235)
+
+Thread #x was created
+ ...
+ by 0x........: pthread_create@* (hg_intercepts.c:...)
+ by 0x........: main (tc19_shadowmem.c:234)
+
+Possible data race during write of size 1 at 0x........ by thread #x
+ at 0x........: child32 (tc19_shadowmem.c:81)
+ by 0x........: steer (tc19_shadowmem.c:446)
+ by 0x........: mythread_wrapper (hg_intercepts.c:...)
+ ...
+ This conflicts with a previous write of size 1 by thread #x
+ at 0x........: child32 (tc19_shadowmem.c:81)
+ by 0x........: steer (tc19_shadowmem.c:446)
+ by 0x........: mythread_wrapper (hg_intercepts.c:...)
+ ...
+
+Possible data race during write of size 1 at 0x........ by thread #x
+ at 0x........: child32 (tc19_shadowmem.c:81)
+ by 0x........: steer (tc19_shadowmem.c:446)
+ by 0x........: mythread_wrapper (hg_intercepts.c:...)
+ ...
+ This conflicts with a previous write of size 1 by thread #x
+ at 0x........: child32 (tc19_shadowmem.c:81)
+ by 0x........: steer (tc19_shadowmem.c:446)
+ by 0x........: mythread_wrapper (hg_intercepts.c:...)
+ ...
+
+Possible data race during write of size 1 at 0x........ by thread #x
+ at 0x........: child32 (tc19_shadowmem.c:81)
+ by 0x........: steer (tc19_shadowmem.c:446)
+ by 0x........: mythread_wrapper (hg_intercepts.c:...)
+ ...
+ This conflicts with a previous write of size 1 by thread #x
+ at 0x........: child32 (tc19_shadowmem.c:81)
+ by 0x........: steer (tc19_shadowmem.c:446)
+ by 0x........: mythread_wrapper (hg_intercepts.c:...)
+ ...
+
+Possible data race during write of size 1 at 0x........ by thread #x
+ at 0x........: child32 (tc19_shadowmem.c:81)
+ by 0x........: steer (tc19_shadowmem.c:446)
+ by 0x........: mythread_wrapper (hg_intercepts.c:...)
+ ...
+ This conflicts with a previous write of size 1 by thread #x
+ at 0x........: child32 (tc19_shadowmem.c:81)
+ by 0x........: steer (tc19_shadowmem.c:446)
+ by 0x........: mythread_wrapper (hg_intercepts.c:...)
+ ...
+---------- int gran, 0 .. 96, skip 80 ----------
+
+Thread #x was created
+ ...
+ by 0x........: pthread_create@* (hg_intercepts.c:...)
+ by 0x........: main (tc19_shadowmem.c:235)
+
+Thread #x was created
+ ...
+ by 0x........: pthread_create@* (hg_intercepts.c:...)
+ by 0x........: main (tc19_shadowmem.c:234)
+
+Possible data race during write of size 4 at 0x........ by thread #x
+ at 0x........: child32 (tc19_shadowmem.c:81)
+ by 0x........: steer (tc19_shadowmem.c:448)
+ by 0x........: mythread_wrapper (hg_intercepts.c:...)
+ ...
+ This conflicts with a previous write of size 4 by thread #x
+ at 0x........: child32 (tc19_shadowmem.c:81)
+ by 0x........: steer (tc19_shadowmem.c:448)
+ by 0x........: mythread_wrapper (hg_intercepts.c:...)
+ ...
+---------- int gran, 1 .. 96, skip 81 ----------
+
+Thread #x was created
+ ...
+ by 0x........: pthread_create@* (hg_intercepts.c:...)
+ by 0x........: main (tc19_shadowmem.c:235)
+
+Thread #x was created
+ ...
+ by 0x........: pthread_create@* (hg_intercepts.c:...)
+ by 0x........: main (tc19_shadowmem.c:234)
+
+Possible data race during write of size 1 at 0x........ by thread #x
+ at 0x........: child32 (tc19_shadowmem.c:81)
+ by 0x........: steer (tc19_shadowmem.c:450)
+ by 0x........: mythread_wrapper (hg_intercepts.c:...)
+ ...
+ This conflicts with a previous write of size 1 by thread #x
+ at 0x........: child32 (tc19_shadowmem.c:81)
+ by 0x........: steer (tc19_shadowmem.c:450)
+ by 0x........: mythread_wrapper (hg_intercepts.c:...)
+ ...
+
+Possible data race during write of size 1 at 0x........ by thread #x
+ at 0x........: child32 (tc19_shadowmem.c:81)
+ by 0x........: steer (tc19_shadowmem.c:450)
+ by 0x........: mythread_wrapper (hg_intercepts.c:...)
+ ...
+ This conflicts with a previous write of size 1 by thread #x
+ at 0x........: child32 (tc19_shadowmem.c:81)
+ by 0x........: steer (tc19_shadowmem.c:450)
+ by 0x........: mythread_wrapper (hg_intercepts.c:...)
+ ...
+
+Possible data race during write of size 1 at 0x........ by thread #x
+ at 0x........: child32 (tc19_shadowmem.c:81)
+ by 0x........: steer (tc19_shadowmem.c:450)
+ by 0x........: mythread_wrapper (hg_intercepts.c:...)
+ ...
+ This conflicts with a previous write of size 1 by thread #x
+ at 0x........: child32 (tc19_shadowmem.c:81)
+ by 0x........: steer (tc19_shadowmem.c:450)
+ by 0x........: mythread_wrapper (hg_intercepts.c:...)
+ ...
+
+Possible data race during write of size 1 at 0x........ by thread #x
+ at 0x........: child32 (tc19_shadowmem.c:81)
+ by 0x........: steer (tc19_shadowmem.c:450)
+ by 0x........: mythread_wrapper (hg_intercepts.c:...)
+ ...
+ This conflicts with a previous write of size 1 by thread #x
+ at 0x........: child32 (tc19_shadowmem.c:81)
+ by 0x........: steer (tc19_shadowmem.c:450)
+ by 0x........: mythread_wrapper (hg_intercepts.c:...)
+ ...
+---------- int gran, 2 .. 96, skip 82 ----------
+
+Thread #x was created
+ ...
+ by 0x........: pthread_create@* (hg_intercepts.c:...)
+ by 0x........: main (tc19_shadowmem.c:235)
+
+Thread #x was created
+ ...
+ by 0x........: pthread_create@* (hg_intercepts.c:...)
+ by 0x........: main (tc19_shadowmem.c:234)
+
+Possible data race during write of size 2 at 0x........ by thread #x
+ at 0x........: child32 (tc19_shadowmem.c:81)
+ by 0x........: steer (tc19_shadowmem.c:452)
+ by 0x........: mythread_wrapper (hg_intercepts.c:...)
+ ...
+ This conflicts with a previous write of size 2 by thread #x
+ at 0x........: child32 (tc19_shadowmem.c:81)
+ by 0x........: steer (tc19_shadowmem.c:452)
+ by 0x........: mythread_wrapper (hg_intercepts.c:...)
+ ...
+
+Possible data race during write of size 2 at 0x........ by thread #x
+ at 0x........: child32 (tc19_shadowmem.c:81)
+ by 0x........: steer (tc19_shadowmem.c:452)
+ by 0x........: mythread_wrapper (hg_intercepts.c:...)
+ ...
+ This conflicts with a previous write of size 2 by thread #x
+ at 0x........: child32 (tc19_shadowmem.c:81)
+ by 0x........: steer (tc19_shadowmem.c:452)
+ by 0x........: mythread_wrapper (hg_intercepts.c:...)
+ ...
+---------- int gran, 3 .. 96, skip 83 ----------
+
+Thread #x was created
+ ...
+ by 0x........: pthread_create@* (hg_intercepts.c:...)
+ by 0x........: main (tc19_shadowmem.c:235)
+
+Thread #x was created
+ ...
+ by 0x........: pthread_create@* (hg_intercepts.c:...)
+ by 0x........: main (tc19_shadowmem.c:234)
+
+Possible data race during write of size 1 at 0x........ by thread #x
+ at 0x........: child32 (tc19_shadowmem.c:81)
+ by 0x........: steer (tc19_shadowmem.c:454)
+ by 0x........: mythread_wrapper (hg_intercepts.c:...)
+ ...
+ This conflicts with a previous write of size 1 by thread #x
+ at 0x........: child32 (tc19_shadowmem.c:81)
+ by 0x........: steer (tc19_shadowmem.c:454)
+ by 0x........: mythread_wrapper (hg_intercepts.c:...)
+ ...
+
+Possible data race during write of size 1 at 0x........ by thread #x
+ at 0x........: child32 (tc19_shadowmem.c:81)
+ by 0x........: steer (tc19_shadowmem.c:454)
+ by 0x........: mythread_wrapper (hg_intercepts.c:...)
+ ...
+ This conflicts with a previous write of size 1 by thread #x
+ at 0x........: child32 (tc19_shadowmem.c:81)
+ by 0x........: steer (tc19_shadowmem.c:454)
+ by 0x........: mythread_wrapper (hg_intercepts.c:...)
+ ...
+
+Possible data race during write of size 1 at 0x........ by thread #x
+ at 0x........: child32 (tc19_shadowmem.c:81)
+ by 0x........: steer (tc19_shadowmem.c:454)
+ by 0x........: mythread_wrapper (hg_intercepts.c:...)
+ ...
+ This conflicts with a previous write of size 1 by thread #x
+ at 0x........: child32 (tc19_shadowmem.c:81)
+ by 0x........: steer (tc19_shadowmem.c:454)
+ by 0x........: mythread_wrapper (hg_intercepts.c:...)
+ ...
+
+Possible data race during write of size 1 at 0x........ by thread #x
+ at 0x........: child32 (tc19_shadowmem.c:81)
+ by 0x........: steer (tc19_shadowmem.c:454)
+ by 0x........: mythread_wrapper (hg_intercepts.c:...)
+ ...
+ This conflicts with a previous write of size 1 by thread #x
+ at 0x........: child32 (tc19_shadowmem.c:81)
+ by 0x........: steer (tc19_shadowmem.c:454)
+ by 0x........: mythread_wrapper (hg_intercepts.c:...)
+ ...
+---------- int gran, 0 .. 96, skip 84 ----------
+
+Thread #x was created
+ ...
+ by 0x........: pthread_create@* (hg_intercepts.c:...)
+ by 0x........: main (tc19_shadowmem.c:235)
+
+Thread #x was created
+ ...
+ by 0x........: pthread_create@* (hg_intercepts.c:...)
+ by 0x........: main (tc19_shadowmem.c:234)
+
+Possible data race during write of size 4 at 0x........ by thread #x
+ at 0x........: child32 (tc19_shadowmem.c:81)
+ by 0x........: steer (tc19_shadowmem.c:456)
+ by 0x........: mythread_wrapper (hg_intercepts.c:...)
+ ...
+ This conflicts with a previous write of size 4 by thread #x
+ at 0x........: child32 (tc19_shadowmem.c:81)
+ by 0x........: steer (tc19_shadowmem.c:456)
+ by 0x........: mythread_wrapper (hg_intercepts.c:...)
+ ...
+---------- int gran, 1 .. 96, skip 85 ----------
+
+Thread #x was created
+ ...
+ by 0x........: pthread_create@* (hg_intercepts.c:...)
+ by 0x........: main (tc19_shadowmem.c:235)
+
+Thread #x was created
+ ...
+ by 0x........: pthread_create@* (hg_intercepts.c:...)
+ by 0x........: main (tc19_shadowmem.c:234)
+
+Possible data race during write of size 1 at 0x........ by thread #x
+ at 0x........: child32 (tc19_shadowmem.c:81)
+ by 0x........: steer (tc19_shadowmem.c:458)
+ by 0x........: mythread_wrapper (hg_intercepts.c:...)
+ ...
+ This conflicts with a previous write of size 1 by thread #x
+ at 0x........: child32 (tc19_shadowmem.c:81)
+ by 0x........: steer (tc19_shadowmem.c:458)
+ by 0x........: mythread_wrapper (hg_intercepts.c:...)
+ ...
+
+Possible data race during write of size 1 at 0x........ by thread #x
+ at 0x........: child32 (tc19_shadowmem.c:81)
+ by 0x........: steer (tc19_shadowmem.c:458)
+ by 0x........: mythread_wrapper (hg_intercepts.c:...)
+ ...
+ This conflicts with a previous write of size 1 by thread #x
+ at 0x........: child32 (tc19_shadowmem.c:81)
+ by 0x........: steer (tc19_shadowmem.c:458)
+ by 0x........: mythread_wrapper (hg_intercepts.c:...)
+ ...
+
+Possible data race during write of size 1 at 0x........ by thread #x
+ at 0x........: child32 (tc19_shadowmem.c:81)
+ by 0x........: steer (tc19_shadowmem.c:458)
+ by 0x........: mythread_wrapper (hg_intercepts.c:...)
+ ...
+ This conflicts with a previous write of size 1 by thread #x
+ at 0x........: child32 (tc19_shadowmem.c:81)
+ by 0x........: steer (tc19_shadowmem.c:458)
+ by 0x........: mythread_wrapper (hg_intercepts.c:...)
+ ...
+
+Possible data race during write of size 1 at 0x........ by thread #x
+ at 0x........: child32 (tc19_shadowmem.c:81)
+ by 0x........: steer (tc19_shadowmem.c:458)
+ by 0x........: mythread_wrapper (hg_intercepts.c:...)
+ ...
+ This conflicts with a previous write of size 1 by thread #x
+ at 0x........: child32 (tc19_shadowmem.c:81)
+ by 0x........: steer (tc19_shadowmem.c:458)
+ by 0x........: mythread_wrapper (hg_intercepts.c:...)
+ ...
+---------- int gran, 2 .. 96, skip 86 ----------
+
+Thread #x was created
+ ...
+ by 0x........: pthread_create@* (hg_intercepts.c:...)
+ by 0x........: main (tc19_shadowmem.c:235)
+
+Thread #x was created
+ ...
+ by 0x........: pthread_create@* (hg_intercepts.c:...)
+ by 0x........: main (tc19_shadowmem.c:234)
+
+Possible data race during write of size 2 at 0x........ by thread #x
+ at 0x........: child32 (tc19_shadowmem.c:81)
+ by 0x........: steer (tc19_shadowmem.c:460)
+ by 0x........: mythread_wrapper (hg_intercepts.c:...)
+ ...
+ This conflicts with a previous write of size 2 by thread #x
+ at 0x........: child32 (tc19_shadowmem.c:81)
+ by 0x........: steer (tc19_shadowmem.c:460)
+ by 0x........: mythread_wrapper (hg_intercepts.c:...)
+ ...
+
+Possible data race during write of size 2 at 0x........ by thread #x
+ at 0x........: child32 (tc19_shadowmem.c:81)
+ by 0x........: steer (tc19_shadowmem.c:460)
+ by 0x........: mythread_wrapper (hg_intercepts.c:...)
+ ...
+ This conflicts with a previous write of size 2 by thread #x
+ at 0x........: child32 (tc19_shadowmem.c:81)
+ by 0x........: steer (tc19_shadowmem.c:460)
+ by 0x........: mythread_wrapper (hg_intercepts.c:...)
+ ...
+---------- int gran, 3 .. 96, skip 87 ----------
+
+Thread #x was created
+ ...
+ by 0x........: pthread_create@* (hg_intercepts.c:...)
+ by 0x........: main (tc19_shadowmem.c:235)
+
+Thread #x was created
+ ...
+ by 0x........: pthread_create@* (hg_intercepts.c:...)
+ by 0x........: main (tc19_shadowmem.c:234)
+
+Possible data race during write of size 1 at 0x........ by thread #x
+ at 0x........: child32 (tc19_shadowmem.c:81)
+ by 0x........: steer (tc19_shadowmem.c:462)
+ by 0x........: mythread_wrapper (hg_intercepts.c:...)
+ ...
+ This conflicts with a previous write of size 1 by thread #x
+ at 0x........: child32 (tc19_shadowmem.c:81)
+ by 0x........: steer (tc19_shadowmem.c:462)
+ by 0x........: mythread_wrapper (hg_intercepts.c:...)
+ ...
+
+Possible data race during write of size 1 at 0x........ by thread #x
+ at 0x........: child32 (tc19_shadowmem.c:81)
+ by 0x........: steer (tc19_shadowmem.c:462)
+ by 0x........: mythread_wrapper (hg_intercepts.c:...)
+ ...
+ This conflicts with a previous write of size 1 by thread #x
+ at 0x........: child32 (tc19_shadowmem.c:81)
+ by 0x........: steer (tc19_shadowmem.c:462)
+ by 0x........: mythread_wrapper (hg_intercepts.c:...)
+ ...
+
+Possible data race during write of size 1 at 0x........ by thread #x
+ at 0x........: child32 (tc19_shadowmem.c:81)
+ by 0x........: steer (tc19_shadowmem.c:462)
+ by 0x........: mythread_wrapper (hg_intercepts.c:...)
+ ...
+ This conflicts with a previous write of size 1 by thread #x
+ at 0x........: child32 (tc19_shadowmem.c:81)
+ by 0x........: steer (tc19_shadowmem.c:462)
+ by 0x........: mythread_wrapper (hg_intercepts.c:...)
+ ...
+
+Possible data race during write of size 1 at 0x........ by thread #x
+ at 0x........: child32 (tc19_shadowmem.c:81)
+ by 0x........: steer (tc19_shadowmem.c:462)
+ by 0x........: mythread_wrapper (hg_intercepts.c:...)
+ ...
+ This conflicts with a previous write of size 1 by thread #x
+ at 0x........: child32 (tc19_shadowmem.c:81)
+ by 0x........: steer (tc19_shadowmem.c:462)
+ by 0x........: mythread_wrapper (hg_intercepts.c:...)
+ ...
+---------- int gran, 0 .. 96, skip 88 ----------
+
+Thread #x was created
+ ...
+ by 0x........: pthread_create@* (hg_intercepts.c:...)
+ by 0x........: main (tc19_shadowmem.c:235)
+
+Thread #x was created
+ ...
+ by 0x........: pthread_create@* (hg_intercepts.c:...)
+ by 0x........: main (tc19_shadowmem.c:234)
+
+Possible data race during write of size 4 at 0x........ by thread #x
+ at 0x........: child32 (tc19_shadowmem.c:81)
+ by 0x........: steer (tc19_shadowmem.c:464)
+ by 0x........: mythread_wrapper (hg_intercepts.c:...)
+ ...
+ This conflicts with a previous write of size 4 by thread #x
+ at 0x........: child32 (tc19_shadowmem.c:81)
+ by 0x........: steer (tc19_shadowmem.c:464)
+ by 0x........: mythread_wrapper (hg_intercepts.c:...)
+ ...
+---------- int gran, 1 .. 96, skip 89 ----------
+
+Thread #x was created
+ ...
+ by 0x........: pthread_create@* (hg_intercepts.c:...)
+ by 0x........: main (tc19_shadowmem.c:235)
+
+Thread #x was created
+ ...
+ by 0x........: pthread_create@* (hg_intercepts.c:...)
+ by 0x........: main (tc19_shadowmem.c:234)
+
+Possible data race during write of size 1 at 0x........ by thread #x
+ at 0x........: child32 (tc19_shadowmem.c:81)
+ by 0x........: steer (tc19_shadowmem.c:466)
+ by 0x........: mythread_wrapper (hg_intercepts.c:...)
+ ...
+ This conflicts with a previous write of size 1 by thread #x
+ at 0x........: child32 (tc19_shadowmem.c:81)
+ by 0x........: steer (tc19_shadowmem.c:466)
+ by 0x........: mythread_wrapper (hg_intercepts.c:...)
+ ...
+
+Possible data race during write of size 1 at 0x........ by thread #x
+ at 0x........: child32 (tc19_shadowmem.c:81)
+ by 0x........: steer (tc19_shadowmem.c:466)
+ by 0x........: mythread_wrapper (hg_intercepts.c:...)
+ ...
+ This conflicts with a previous write of size 1 by thread #x
+ at 0x........: child32 (tc19_shadowmem.c:81)
+ by 0x........: steer (tc19_shadowmem.c:466)
+ by 0x........: mythread_wrapper (hg_intercepts.c:...)
+ ...
+
+Possible data race during write of size 1 at 0x........ by thread #x
+ at 0x........: child32 (tc19_shadowmem.c:81)
+ by 0x........: steer (tc19_shadowmem.c:466)
+ by 0x........: mythread_wrapper (hg_intercepts.c:...)
+ ...
+ This conflicts with a previous write of size 1 by thread #x
+ at 0x........: child32 (tc19_shadowmem.c:81)
+ by 0x........: steer (tc19_shadowmem.c:466)
+ by 0x........: mythread_wrapper (hg_intercepts.c:...)
+ ...
+
+Possible data race during write of size 1 at 0x........ by thread #x
+ at 0x........: child32 (tc19_shadowmem.c:81)
+ by 0x........: steer (tc19_shadowmem.c:466)
+ by 0x........: mythread_wrapper (hg_intercepts.c:...)
+ ...
+ This conflicts with a previous write of size 1 by thread #x
+ at 0x........: child32 (tc19_shadowmem.c:81)
+ by 0x........: steer (tc19_shadowmem.c:466)
+ by 0x........: mythread_wrapper (hg_intercepts.c:...)
+ ...
+---------- int gran, 2 .. 96, skip 90 ----------
+
+Thread #x was created
+ ...
+ by 0x........: pthread_create@* (hg_intercepts.c:...)
+ by 0x........: main (tc19_shadowmem.c:235)
+
+Thread #x was created
+ ...
+ by 0x........: pthread_create@* (hg_intercepts.c:...)
+ by 0x........: main (tc19_shadowmem.c:234)
+
+Possible data race during write of size 2 at 0x........ by thread #x
+ at 0x........: child32 (tc19_shadowmem.c:81)
+ by 0x........: steer (tc19_shadowmem.c:468)
+ by 0x........: mythread_wrapper (hg_intercepts.c:...)
+ ...
+ This conflicts with a previous write of size 2 by thread #x
+ at 0x........: child32 (tc19_shadowmem.c:81)
+ by 0x........: steer (tc19_shadowmem.c:468)
+ by 0x........: mythread_wrapper (hg_intercepts.c:...)
+ ...
+
+Possible data race during write of size 2 at 0x........ by thread #x
+ at 0x........: child32 (tc19_shadowmem.c:81)
+ by 0x........: steer (tc19_shadowmem.c:468)
+ by 0x........: mythread_wrapper (hg_intercepts.c:...)
+ ...
+ This conflicts with a previous write of size 2 by thread #x
+ at 0x........: child32 (tc19_shadowmem.c:81)
+ by 0x........: steer (tc19_shadowmem.c:468)
+ by 0x........: mythread_wrapper (hg_intercepts.c:...)
+ ...
+---------- int gran, 3 .. 96, skip 91 ----------
+
+Thread #x was created
+ ...
+ by 0x........: pthread_create@* (hg_intercepts.c:...)
+ by 0x........: main (tc19_shadowmem.c:235)
+
+Thread #x was created
+ ...
+ by 0x........: pthread_create@* (hg_intercepts.c:...)
+ by 0x........: main (tc19_shadowmem.c:234)
+
+Possible data race during write of size 1 at 0x........ by thread #x
+ at 0x........: child32 (tc19_shadowmem.c:81)
+ by 0x........: steer (tc19_shadowmem.c:470)
+ by 0x........: mythread_wrapper (hg_intercepts.c:...)
+ ...
+ This conflicts with a previous write of size 1 by thread #x
+ at 0x........: child32 (tc19_shadowmem.c:81)
+ by 0x........: steer (tc19_shadowmem.c:470)
+ by 0x........: mythread_wrapper (hg_intercepts.c:...)
+ ...
+
+Possible data race during write of size 1 at 0x........ by thread #x
+ at 0x........: child32 (tc19_shadowmem.c:81)
+ by 0x........: steer (tc19_shadowmem.c:470)
+ by 0x........: mythread_wrapper (hg_intercepts.c:...)
+ ...
+ This conflicts with a previous write of size 1 by thread #x
+ at 0x........: child32 (tc19_shadowmem.c:81)
+ by 0x........: steer (tc19_shadowmem.c:470)
+ by 0x........: mythread_wrapper (hg_intercepts.c:...)
+ ...
+
+Possible data race during write of size 1 at 0x........ by thread #x
+ at 0x........: child32 (tc19_shadowmem.c:81)
+ by 0x........: steer (tc19_shadowmem.c:470)
+ by 0x........: mythread_wrapper (hg_intercepts.c:...)
+ ...
+ This conflicts with a previous write of size 1 by thread #x
+ at 0x........: child32 (tc19_shadowmem.c:81)
+ by 0x........: steer (tc19_shadowmem.c:470)
+ by 0x........: mythread_wrapper (hg_intercepts.c:...)
+ ...
+
+Possible data race during write of size 1 at 0x........ by thread #x
+ at 0x........: child32 (tc19_shadowmem.c:81)
+ by 0x........: steer (tc19_shadowmem.c:470)
+ by 0x........: mythread_wrapper (hg_intercepts.c:...)
+ ...
+ This conflicts with a previous write of size 1 by thread #x
+ at 0x........: child32 (tc19_shadowmem.c:81)
+ by 0x........: steer (tc19_shadowmem.c:470)
+ by 0x........: mythread_wrapper (hg_intercepts.c:...)
+ ...
+---------- int gran, 0 .. 96, skip 92 ----------
+
+Thread #x was created
+ ...
+ by 0x........: pthread_create@* (hg_intercepts.c:...)
+ by 0x........: main (tc19_shadowmem.c:235)
+
+Thread #x was created
+ ...
+ by 0x........: pthread_create@* (hg_intercepts.c:...)
+ by 0x........: main (tc19_shadowmem.c:234)
+
+Possible data race during write of size 4 at 0x........ by thread #x
+ at 0x........: child32 (tc19_shadowmem.c:81)
+ by 0x........: steer (tc19_shadowmem.c:472)
+ by 0x........: mythread_wrapper (hg_intercepts.c:...)
+ ...
+ This conflicts with a previous write of size 4 by thread #x
+ at 0x........: child32 (tc19_shadowmem.c:81)
+ by 0x........: steer (tc19_shadowmem.c:472)
+ by 0x........: mythread_wrapper (hg_intercepts.c:...)
+ ...
+---------- int gran, 1 .. 96, skip 93 ----------
+
+Thread #x was created
+ ...
+ by 0x........: pthread_create@* (hg_intercepts.c:...)
+ by 0x........: main (tc19_shadowmem.c:235)
+
+Thread #x was created
+ ...
+ by 0x........: pthread_create@* (hg_intercepts.c:...)
+ by 0x........: main (tc19_shadowmem.c:234)
+
+Possible data race during write of size 1 at 0x........ by thread #x
+ at 0x........: child32 (tc19_shadowmem.c:81)
+ by 0x........: steer (tc19_shadowmem.c:474)
+ by 0x........: mythread_wrapper (hg_intercepts.c:...)
+ ...
+ This conflicts with a previous write of size 1 by thread #x
+ at 0x........: child32 (tc19_shadowmem.c:81)
+ by 0x........: steer (tc19_shadowmem.c:474)
+ by 0x........: mythread_wrapper (hg_intercepts.c:...)
+ ...
+
+Possible data race during write of size 1 at 0x........ by thread #x
+ at 0x........: child32 (tc19_shadowmem.c:81)
+ by 0x........: steer (tc19_shadowmem.c:474)
+ by 0x........: mythread_wrapper (hg_intercepts.c:...)
+ ...
+ This conflicts with a previous write of size 1 by thread #x
+ at 0x........: child32 (tc19_shadowmem.c:81)
+ by 0x........: steer (tc19_shadowmem.c:474)
+ by 0x........: mythread_wrapper (hg_intercepts.c:...)
+ ...
+
+Possible data race during write of size 1 at 0x........ by thread #x
+ at 0x........: child32 (tc19_shadowmem.c:81)
+ by 0x........: steer (tc19_shadowmem.c:474)
+ by 0x........: mythread_wrapper (hg_intercepts.c:...)
+ ...
+ This conflicts with a previous write of size 1 by thread #x
+ at 0x........: child32 (tc19_shadowmem.c:81)
+ by 0x........: steer (tc19_shadowmem.c:474)
+ by 0x........: mythread_wrapper (hg_intercepts.c:...)
+ ...
+
+Possible data race during write of size 1 at 0x........ by thread #x
+ at 0x........: child32 (tc19_shadowmem.c:81)
+ by 0x........: steer (tc19_shadowmem.c:474)
+ by 0x........: mythread_wrapper (hg_intercepts.c:...)
+ ...
+ This conflicts with a previous write of size 1 by thread #x
+ at 0x........: child32 (tc19_shadowmem.c:81)
+ by 0x........: steer (tc19_shadowmem.c:474)
+ by 0x........: mythread_wrapper (hg_intercepts.c:...)
+ ...
+---------- int gran, 2 .. 96, skip 94 ----------
+
+Thread #x was created
+ ...
+ by 0x........: pthread_create@* (hg_intercepts.c:...)
+ by 0x........: main (tc19_shadowmem.c:235)
+
+Thread #x was created
+ ...
+ by 0x........: pthread_create@* (hg_intercepts.c:...)
+ by 0x........: main (tc19_shadowmem.c:234)
+
+Possible data race during write of size 2 at 0x........ by thread #x
+ at 0x........: child32 (tc19_shadowmem.c:81)
+ by 0x........: steer (tc19_shadowmem.c:476)
+ by 0x........: mythread_wrapper (hg_intercepts.c:...)
+ ...
+ This conflicts with a previous write of size 2 by thread #x
+ at 0x........: child32 (tc19_shadowmem.c:81)
+ by 0x........: steer (tc19_shadowmem.c:476)
+ by 0x........: mythread_wrapper (hg_intercepts.c:...)
+ ...
+
+Possible data race during write of size 2 at 0x........ by thread #x
+ at 0x........: child32 (tc19_shadowmem.c:81)
+ by 0x........: steer (tc19_shadowmem.c:476)
+ by 0x........: mythread_wrapper (hg_intercepts.c:...)
+ ...
+ This conflicts with a previous write of size 2 by thread #x
+ at 0x........: child32 (tc19_shadowmem.c:81)
+ by 0x........: steer (tc19_shadowmem.c:476)
+ by 0x........: mythread_wrapper (hg_intercepts.c:...)
+ ...
+---------- int gran, 3 .. 96, skip 95 ----------
+
+Thread #x was created
+ ...
+ by 0x........: pthread_create@* (hg_intercepts.c:...)
+ by 0x........: main (tc19_shadowmem.c:235)
+
+Thread #x was created
+ ...
+ by 0x........: pthread_create@* (hg_intercepts.c:...)
+ by 0x........: main (tc19_shadowmem.c:234)
+
+Possible data race during write of size 1 at 0x........ by thread #x
+ at 0x........: child32 (tc19_shadowmem.c:81)
+ by 0x........: steer (tc19_shadowmem.c:478)
+ by 0x........: mythread_wrapper (hg_intercepts.c:...)
+ ...
+ This conflicts with a previous write of size 1 by thread #x
+ at 0x........: child32 (tc19_shadowmem.c:81)
+ by 0x........: steer (tc19_shadowmem.c:478)
+ by 0x........: mythread_wrapper (hg_intercepts.c:...)
+ ...
+
+Possible data race during write of size 1 at 0x........ by thread #x
+ at 0x........: child32 (tc19_shadowmem.c:81)
+ by 0x........: steer (tc19_shadowmem.c:478)
+ by 0x........: mythread_wrapper (hg_intercepts.c:...)
+ ...
+ This conflicts with a previous write of size 1 by thread #x
+ at 0x........: child32 (tc19_shadowmem.c:81)
+ by 0x........: steer (tc19_shadowmem.c:478)
+ by 0x........: mythread_wrapper (hg_intercepts.c:...)
+ ...
+
+Possible data race during write of size 1 at 0x........ by thread #x
+ at 0x........: child32 (tc19_shadowmem.c:81)
+ by 0x........: steer (tc19_shadowmem.c:478)
+ by 0x........: mythread_wrapper (hg_intercepts.c:...)
+ ...
+ This conflicts with a previous write of size 1 by thread #x
+ at 0x........: child32 (tc19_shadowmem.c:81)
+ by 0x........: steer (tc19_shadowmem.c:478)
+ by 0x........: mythread_wrapper (hg_intercepts.c:...)
+ ...
+
+Possible data race during write of size 1 at 0x........ by thread #x
+ at 0x........: child32 (tc19_shadowmem.c:81)
+ by 0x........: steer (tc19_shadowmem.c:478)
+ by 0x........: mythread_wrapper (hg_intercepts.c:...)
+ ...
+ This conflicts with a previous write of size 1 by thread #x
+ at 0x........: child32 (tc19_shadowmem.c:81)
+ by 0x........: steer (tc19_shadowmem.c:478)
+ by 0x........: mythread_wrapper (hg_intercepts.c:...)
+ ...
+
+==========================================================
+=== 64 64 64 64 64 64 64 64 64 64 64 64 64 64 64 64 64 ===
+==========================================================
+
+---------- double gran, 0 .. 92, skip 0 ----------
+
+Thread #x was created
+ ...
+ by 0x........: pthread_create@* (hg_intercepts.c:...)
+ by 0x........: main (tc19_shadowmem.c:266)
+
+Thread #x was created
+ ...
+ by 0x........: pthread_create@* (hg_intercepts.c:...)
+ by 0x........: main (tc19_shadowmem.c:265)
+
+Possible data race during write of size 8 at 0x........ by thread #x
+ at 0x........: child64 (tc19_shadowmem.c:105)
+ by 0x........: steer (tc19_shadowmem.c:288)
+ by 0x........: mythread_wrapper (hg_intercepts.c:...)
+ ...
+ This conflicts with a previous write of size 8 by thread #x
+ at 0x........: child64 (tc19_shadowmem.c:105)
+ by 0x........: steer (tc19_shadowmem.c:288)
+ by 0x........: mythread_wrapper (hg_intercepts.c:...)
+ ...
+---------- double gran, 1 .. 92, skip 1 ----------
+
+Thread #x was created
+ ...
+ by 0x........: pthread_create@* (hg_intercepts.c:...)
+ by 0x........: main (tc19_shadowmem.c:266)
+
+Thread #x was created
+ ...
+ by 0x........: pthread_create@* (hg_intercepts.c:...)
+ by 0x........: main (tc19_shadowmem.c:265)
+
+Possible data race during write of size 1 at 0x........ by thread #x
+ at 0x........: child64 (tc19_shadowmem.c:105)
+ by 0x........: steer (tc19_shadowmem.c:290)
+ by 0x........: mythread_wrapper (hg_intercepts.c:...)
+ ...
+ This conflicts with a previous write of size 1 by thread #x
+ at 0x........: child64 (tc19_shadowmem.c:105)
+ by 0x........: steer (tc19_shadowmem.c:290)
+ by 0x........: mythread_wrapper (hg_intercepts.c:...)
+ ...
+
+Possible data race during write of size 1 at 0x........ by thread #x
+ at 0x........: child64 (tc19_shadowmem.c:105)
+ by 0x........: steer (tc19_shadowmem.c:290)
+ by 0x........: mythread_wrapper (hg_intercepts.c:...)
+ ...
+ This conflicts with a previous write of size 1 by thread #x
+ at 0x........: child64 (tc19_shadowmem.c:105)
+ by 0x........: steer (tc19_shadowmem.c:290)
+ by 0x........: mythread_wrapper (hg_intercepts.c:...)
+ ...
+
+Possible data race during write of size 1 at 0x........ by thread #x
+ at 0x........: child64 (tc19_shadowmem.c:105)
+ by 0x........: steer (tc19_shadowmem.c:290)
+ by 0x........: mythread_wrapper (hg_intercepts.c:...)
+ ...
+ This conflicts with a previous write of size 1 by thread #x
+ at 0x........: child64 (tc19_shadowmem.c:105)
+ by 0x........: steer (tc19_shadowmem.c:290)
+ by 0x........: mythread_wrapper (hg_intercepts.c:...)
+ ...
+
+Possible data race during write of size 1 at 0x........ by thread #x
+ at 0x........: child64 (tc19_shadowmem.c:105)
+ by 0x........: steer (tc19_shadowmem.c:290)
+ by 0x........: mythread_wrapper (hg_intercepts.c:...)
+ ...
+ This conflicts with a previous write of size 1 by thread #x
+ at 0x........: child64 (tc19_shadowmem.c:105)
+ by 0x........: steer (tc19_shadowmem.c:290)
+ by 0x........: mythread_wrapper (hg_intercepts.c:...)
+ ...
+
+Possible data race during write of size 1 at 0x........ by thread #x
+ at 0x........: child64 (tc19_shadowmem.c:105)
+ by 0x........: steer (tc19_shadowmem.c:290)
+ by 0x........: mythread_wrapper (hg_intercepts.c:...)
+ ...
+ This conflicts with a previous write of size 1 by thread #x
+ at 0x........: child64 (tc19_shadowmem.c:105)
+ by 0x........: steer (tc19_shadowmem.c:290)
+ by 0x........: mythread_wrapper (hg_intercepts.c:...)
+ ...
+
+Possible data race during write of size 1 at 0x........ by thread #x
+ at 0x........: child64 (tc19_shadowmem.c:105)
+ by 0x........: steer (tc19_shadowmem.c:290)
+ by 0x........: mythread_wrapper (hg_intercepts.c:...)
+ ...
+ This conflicts with a previous write of size 1 by thread #x
+ at 0x........: child64 (tc19_shadowmem.c:105)
+ by 0x........: steer (tc19_shadowmem.c:290)
+ by 0x........: mythread_wrapper (hg_intercepts.c:...)
+ ...
+
+Possible data race during write of size 1 at 0x........ by thread #x
+ at 0x........: child64 (tc19_shadowmem.c:105)
+ by 0x........: steer (tc19_shadowmem.c:290)
+ by 0x........: mythread_wrapper (hg_intercepts.c:...)
+ ...
+ This conflicts with a previous write of size 1 by thread #x
+ at 0x........: child64 (tc19_shadowmem.c:105)
+ by 0x........: steer (tc19_shadowmem.c:290)
+ by 0x........: mythread_wrapper (hg_intercepts.c:...)
+ ...
+
+Possible data race during write of size 1 at 0x........ by thread #x
+ at 0x........: child64 (tc19_shadowmem.c:105)
+ by 0x........: steer (tc19_shadowmem.c:290)
+ by 0x........: mythread_wrapper (hg_intercepts.c:...)
+ ...
+ This conflicts with a previous write of size 1 by thread #x
+ at 0x........: child64 (tc19_shadowmem.c:105)
+ by 0x........: steer (tc19_shadowmem.c:290)
+ by 0x........: mythread_wrapper (hg_intercepts.c:...)
+ ...
+---------- double gran, 2 .. 92, skip 2 ----------
+
+Thread #x was created
+ ...
+ by 0x........: pthread_create@* (hg_intercepts.c:...)
+ by 0x........: main (tc19_shadowmem.c:266)
+
+Thread #x was created
+ ...
+ by 0x........: pthread_create@* (hg_intercepts.c:...)
+ by 0x........: main (tc19_shadowmem.c:265)
+
+Possible data race during write of size 2 at 0x........ by thread #x
+ at 0x........: child64 (tc19_shadowmem.c:105)
+ by 0x........: steer (tc19_shadowmem.c:292)
+ by 0x........: mythread_wrapper (hg_intercepts.c:...)
+ ...
+ This conflicts with a previous write of size 2 by thread #x
+ at 0x........: child64 (tc19_shadowmem.c:105)
+ by 0x........: steer (tc19_shadowmem.c:292)
+ by 0x........: mythread_wrapper (hg_intercepts.c:...)
+ ...
+
+Possible data race during write of size 2 at 0x........ by thread #x
+ at 0x........: child64 (tc19_shadowmem.c:105)
+ by 0x........: steer (tc19_shadowmem.c:292)
+ by 0x........: mythread_wrapper (hg_intercepts.c:...)
+ ...
+ This conflicts with a previous write of size 2 by thread #x
+ at 0x........: child64 (tc19_shadowmem.c:105)
+ by 0x........: steer (tc19_shadowmem.c:292)
+ by 0x........: mythread_wrapper (hg_intercepts.c:...)
+ ...
+
+Possible data race during write of size 2 at 0x........ by thread #x
+ at 0x........: child64 (tc19_shadowmem.c:105)
+ by 0x........: steer (tc19_shadowmem.c:292)
+ by 0x........: mythread_wrapper (hg_intercepts.c:...)
+ ...
+ This conflicts with a previous write of size 2 by thread #x
+ at 0x........: child64 (tc19_shadowmem.c:105)
+ by 0x........: steer (tc19_shadowmem.c:292)
+ by 0x........: mythread_wrapper (hg_intercepts.c:...)
+ ...
+
+Possible data race during write of size 2 at 0x........ by thread #x
+ at 0x........: child64 (tc19_shadowmem.c:105)
+ by 0x........: steer (tc19_shadowmem.c:292)
+ by 0x........: mythread_wrapper (hg_intercepts.c:...)
+ ...
+ This conflicts with a previous write of size 2 by thread #x
+ at 0x........: child64 (tc19_shadowmem.c:105)
+ by 0x........: steer (tc19_shadowmem.c:292)
+ by 0x........: mythread_wrapper (hg_intercepts.c:...)
+ ...
+---------- double gran, 3 .. 92, skip 3 ----------
+
+Thread #x was created
+ ...
+ by 0x........: pthread_create@* (hg_intercepts.c:...)
+ by 0x........: main (tc19_shadowmem.c:266)
+
+Thread #x was created
+ ...
+ by 0x........: pthread_create@* (hg_intercepts.c:...)
+ by 0x........: main (tc19_shadowmem.c:265)
+
+Possible data race during write of size 1 at 0x........ by thread #x
+ at 0x........: child64 (tc19_shadowmem.c:105)
+ by 0x........: steer (tc19_shadowmem.c:294)
+ by 0x........: mythread_wrapper (hg_intercepts.c:...)
+ ...
+ This conflicts with a previous write of size 1 by thread #x
+ at 0x........: child64 (tc19_shadowmem.c:105)
+ by 0x........: steer (tc19_shadowmem.c:294)
+ by 0x........: mythread_wrapper (hg_intercepts.c:...)
+ ...
+
+Possible data race during write of size 1 at 0x........ by thread #x
+ at 0x........: child64 (tc19_shadowmem.c:105)
+ by 0x........: steer (tc19_shadowmem.c:294)
+ by 0x........: mythread_wrapper (hg_intercepts.c:...)
+ ...
+ This conflicts with a previous write of size 1 by thread #x
+ at 0x........: child64 (tc19_shadowmem.c:105)
+ by 0x........: steer (tc19_shadowmem.c:294)
+ by 0x........: mythread_wrapper (hg_intercepts.c:...)
+ ...
+
+Possible data race during write of size 1 at 0x........ by thread #x
+ at 0x........: child64 (tc19_shadowmem.c:105)
+ by 0x........: steer (tc19_shadowmem.c:294)
+ by 0x........: mythread_wrapper (hg_intercepts.c:...)
+ ...
+ This conflicts with a previous write of size 1 by thread #x
+ at 0x........: child64 (tc19_shadowmem.c:105)
+ by 0x........: steer (tc19_shadowmem.c:294)
+ by 0x........: mythread_wrapper (hg_intercepts.c:...)
+ ...
+
+Possible data race during write of size 1 at 0x........ by thread #x
+ at 0x........: child64 (tc19_shadowmem.c:105)
+ by 0x........: steer (tc19_shadowmem.c:294)
+ by 0x........: mythread_wrapper (hg_intercepts.c:...)
+ ...
+ This conflicts with a previous write of size 1 by thread #x
+ at 0x........: child64 (tc19_shadowmem.c:105)
+ by 0x........: steer (tc19_shadowmem.c:294)
+ by 0x........: mythread_wrapper (hg_intercepts.c:...)
+ ...
+
+Possible data race during write of size 1 at 0x........ by thread #x
+ at 0x........: child64 (tc19_shadowmem.c:105)
+ by 0x........: steer (tc19_shadowmem.c:294)
+ by 0x........: mythread_wrapper (hg_intercepts.c:...)
+ ...
+ This conflicts with a previous write of size 1 by thread #x
+ at 0x........: child64 (tc19_shadowmem.c:105)
+ by 0x........: steer (tc19_shadowmem.c:294)
+ by 0x........: mythread_wrapper (hg_intercepts.c:...)
+ ...
+
+Possible data race during write of size 1 at 0x........ by thread #x
+ at 0x........: child64 (tc19_shadowmem.c:105)
+ by 0x........: steer (tc19_shadowmem.c:294)
+ by 0x........: mythread_wrapper (hg_intercepts.c:...)
+ ...
+ This conflicts with a previous write of size 1 by thread #x
+ at 0x........: child64 (tc19_shadowmem.c:105)
+ by 0x........: steer (tc19_shadowmem.c:294)
+ by 0x........: mythread_wrapper (hg_intercepts.c:...)
+ ...
+
+Possible data race during write of size 1 at 0x........ by thread #x
+ at 0x........: child64 (tc19_shadowmem.c:105)
+ by 0x........: steer (tc19_shadowmem.c:294)
+ by 0x........: mythread_wrapper (hg_intercepts.c:...)
+ ...
+ This conflicts with a previous write of size 1 by thread #x
+ at 0x........: child64 (tc19_shadowmem.c:105)
+ by 0x........: steer (tc19_shadowmem.c:294)
+ by 0x........: mythread_wrapper (hg_intercepts.c:...)
+ ...
+
+Possible data race during write of size 1 at 0x........ by thread #x
+ at 0x........: child64 (tc19_shadowmem.c:105)
+ by 0x........: steer (tc19_shadowmem.c:294)
+ by 0x........: mythread_wrapper (hg_intercepts.c:...)
+ ...
+ This conflicts with a previous write of size 1 by thread #x
+ at 0x........: child64 (tc19_shadowmem.c:105)
+ by 0x........: steer (tc19_shadowmem.c:294)
+ by 0x........: mythread_wrapper (hg_intercepts.c:...)
+ ...
+---------- double gran, 4 .. 92, skip 4 ----------
+
+Thread #x was created
+ ...
+ by 0x........: pthread_create@* (hg_intercepts.c:...)
+ by 0x........: main (tc19_shadowmem.c:266)
+
+Thread #x was created
+ ...
+ by 0x........: pthread_create@* (hg_intercepts.c:...)
+ by 0x........: main (tc19_shadowmem.c:265)
+
+Possible data race during write of size 4 at 0x........ by thread #x
+ at 0x........: child64 (tc19_shadowmem.c:105)
+ by 0x........: steer (tc19_shadowmem.c:296)
+ by 0x........: mythread_wrapper (hg_intercepts.c:...)
+ ...
+ This conflicts with a previous write of size 4 by thread #x
+ at 0x........: child64 (tc19_shadowmem.c:105)
+ by 0x........: steer (tc19_shadowmem.c:296)
+ by 0x........: mythread_wrapper (hg_intercepts.c:...)
+ ...
+
+Possible data race during write of size 4 at 0x........ by thread #x
+ at 0x........: child64 (tc19_shadowmem.c:105)
+ by 0x........: steer (tc19_shadowmem.c:296)
+ by 0x........: mythread_wrapper (hg_intercepts.c:...)
+ ...
+ This conflicts with a previous write of size 4 by thread #x
+ at 0x........: child64 (tc19_shadowmem.c:105)
+ by 0x........: steer (tc19_shadowmem.c:296)
+ by 0x........: mythread_wrapper (hg_intercepts.c:...)
+ ...
+---------- double gran, 5 .. 92, skip 5 ----------
+
+Thread #x was created
+ ...
+ by 0x........: pthread_create@* (hg_intercepts.c:...)
+ by 0x........: main (tc19_shadowmem.c:266)
+
+Thread #x was created
+ ...
+ by 0x........: pthread_create@* (hg_intercepts.c:...)
+ by 0x........: main (tc19_shadowmem.c:265)
+
+Possible data race during write of size 1 at 0x........ by thread #x
+ at 0x........: child64 (tc19_shadowmem.c:105)
+ by 0x........: steer (tc19_shadowmem.c:298)
+ by 0x........: mythread_wrapper (hg_intercepts.c:...)
+ ...
+ This conflicts with a previous write of size 1 by thread #x
+ at 0x........: child64 (tc19_shadowmem.c:105)
+ by 0x........: steer (tc19_shadowmem.c:298)
+ by 0x........: mythread_wrapper (hg_intercepts.c:...)
+ ...
+
+Possible data race during write of size 1 at 0x........ by thread #x
+ at 0x........: child64 (tc19_shadowmem.c:105)
+ by 0x........: steer (tc19_shadowmem.c:298)
+ by 0x........: mythread_wrapper (hg_intercepts.c:...)
+ ...
+ This conflicts with a previous write of size 1 by thread #x
+ at 0x........: child64 (tc19_shadowmem.c:105)
+ by 0x........: steer (tc19_shadowmem.c:298)
+ by 0x........: mythread_wrapper (hg_intercepts.c:...)
+ ...
+
+Possible data race during write of size 1 at 0x........ by thread #x
+ at 0x........: child64 (tc19_shadowmem.c:105)
+ by 0x........: steer (tc19_shadowmem.c:298)
+ by 0x........: mythread_wrapper (hg_intercepts.c:...)
+ ...
+ This conflicts with a previous write of size 1 by thread #x
+ at 0x........: child64 (tc19_shadowmem.c:105)
+ by 0x........: steer (tc19_shadowmem.c:298)
+ by 0x........: mythread_wrapper (hg_intercepts.c:...)
+ ...
+
+Possible data race during write of size 1 at 0x........ by thread #x
+ at 0x........: child64 (tc19_shadowmem.c:105)
+ by 0x........: steer (tc19_shadowmem.c:298)
+ by 0x........: mythread_wrapper (hg_intercepts.c:...)
+ ...
+ This conflicts with a previous write of size 1 by thread #x
+ at 0x........: child64 (tc19_shadowmem.c:105)
+ by 0x........: steer (tc19_shadowmem.c:298)
+ by 0x........: mythread_wrapper (hg_intercepts.c:...)
+ ...
+
+Possible data race during write of size 1 at 0x........ by thread #x
+ at 0x........: child64 (tc19_shadowmem.c:105)
+ by 0x........: steer (tc19_shadowmem.c:298)
+ by 0x........: mythread_wrapper (hg_intercepts.c:...)
+ ...
+ This conflicts with a previous write of size 1 by thread #x
+ at 0x........: child64 (tc19_shadowmem.c:105)
+ by 0x........: steer (tc19_shadowmem.c:298)
+ by 0x........: mythread_wrapper (hg_intercepts.c:...)
+ ...
+
+Possible data race during write of size 1 at 0x........ by thread #x
+ at 0x........: child64 (tc19_shadowmem.c:105)
+ by 0x........: steer (tc19_shadowmem.c:298)
+ by 0x........: mythread_wrapper (hg_intercepts.c:...)
+ ...
+ This conflicts with a previous write of size 1 by thread #x
+ at 0x........: child64 (tc19_shadowmem.c:105)
+ by 0x........: steer (tc19_shadowmem.c:298)
+ by 0x........: mythread_wrapper (hg_intercepts.c:...)
+ ...
+
+Possible data race during write of size 1 at 0x........ by thread #x
+ at 0x........: child64 (tc19_shadowmem.c:105)
+ by 0x........: steer (tc19_shadowmem.c:298)
+ by 0x........: mythread_wrapper (hg_intercepts.c:...)
+ ...
+ This conflicts with a previous write of size 1 by thread #x
+ at 0x........: child64 (tc19_shadowmem.c:105)
+ by 0x........: steer (tc19_shadowmem.c:298)
+ by 0x........: mythread_wrapper (hg_intercepts.c:...)
+ ...
+
+Possible data race during write of size 1 at 0x........ by thread #x
+ at 0x........: child64 (tc19_shadowmem.c:105)
+ by 0x........: steer (tc19_shadowmem.c:298)
+ by 0x........: mythread_wrapper (hg_intercepts.c:...)
+ ...
+ This conflicts with a previous write of size 1 by thread #x
+ at 0x........: child64 (tc19_shadowmem.c:105)
+ by 0x........: steer (tc19_shadowmem.c:298)
+ by 0x........: mythread_wrapper (hg_intercepts.c:...)
+ ...
+---------- double gran, 6 .. 92, skip 6 ----------
+
+Thread #x was created
+ ...
+ by 0x........: pthread_create@* (hg_intercepts.c:...)
+ by 0x........: main (tc19_shadowmem.c:266)
+
+Thread #x was created
+ ...
+ by 0x........: pthread_create@* (hg_intercepts.c:...)
+ by 0x........: main (tc19_shadowmem.c:265)
+
+Possible data race during write of size 2 at 0x........ by thread #x
+ at 0x........: child64 (tc19_shadowmem.c:105)
+ by 0x........: steer (tc19_shadowmem.c:300)
+ by 0x........: mythread_wrapper (hg_intercepts.c:...)
+ ...
+ This conflicts with a previous write of size 2 by thread #x
+ at 0x........: child64 (tc19_shadowmem.c:105)
+ by 0x........: steer (tc19_shadowmem.c:300)
+ by 0x........: mythread_wrapper (hg_intercepts.c:...)
+ ...
+
+Possible data race during write of size 2 at 0x........ by thread #x
+ at 0x........: child64 (tc19_shadowmem.c:105)
+ by 0x........: steer (tc19_shadowmem.c:300)
+ by 0x........: mythread_wrapper (hg_intercepts.c:...)
+ ...
+ This conflicts with a previous write of size 2 by thread #x
+ at 0x........: child64 (tc19_shadowmem.c:105)
+ by 0x........: steer (tc19_shadowmem.c:300)
+ by 0x........: mythread_wrapper (hg_intercepts.c:...)
+ ...
+
+Possible data race during write of size 2 at 0x........ by thread #x
+ at 0x........: child64 (tc19_shadowmem.c:105)
+ by 0x........: steer (tc19_shadowmem.c:300)
+ by 0x........: mythread_wrapper (hg_intercepts.c:...)
+ ...
+ This conflicts with a previous write of size 2 by thread #x
+ at 0x........: child64 (tc19_shadowmem.c:105)
+ by 0x........: steer (tc19_shadowmem.c:300)
+ by 0x........: mythread_wrapper (hg_intercepts.c:...)
+ ...
+
+Possible data race during write of size 2 at 0x........ by thread #x
+ at 0x........: child64 (tc19_shadowmem.c:105)
+ by 0x........: steer (tc19_shadowmem.c:300)
+ by 0x........: mythread_wrapper (hg_intercepts.c:...)
+ ...
+ This conflicts with a previous write of size 2 by thread #x
+ at 0x........: child64 (tc19_shadowmem.c:105)
+ by 0x........: steer (tc19_shadowmem.c:300)
+ by 0x........: mythread_wrapper (hg_intercepts.c:...)
+ ...
+---------- double gran, 7 .. 92, skip 7 ----------
+
+Thread #x was created
+ ...
+ by 0x........: pthread_create@* (hg_intercepts.c:...)
+ by 0x........: main (tc19_shadowmem.c:266)
+
+Thread #x was created
+ ...
+ by 0x........: pthread_create@* (hg_intercepts.c:...)
+ by 0x........: main (tc19_shadowmem.c:265)
+
+Possible data race during write of size 1 at 0x........ by thread #x
+ at 0x........: child64 (tc19_shadowmem.c:105)
+ by 0x........: steer (tc19_shadowmem.c:302)
+ by 0x........: mythread_wrapper (hg_intercepts.c:...)
+ ...
+ This conflicts with a previous write of size 1 by thread #x
+ at 0x........: child64 (tc19_shadowmem.c:105)
+ by 0x........: steer (tc19_shadowmem.c:302)
+ by 0x........: mythread_wrapper (hg_intercepts.c:...)
+ ...
+
+Possible data race during write of size 1 at 0x........ by thread #x
+ at 0x........: child64 (tc19_shadowmem.c:105)
+ by 0x........: steer (tc19_shadowmem.c:302)
+ by 0x........: mythread_wrapper (hg_intercepts.c:...)
+ ...
+ This conflicts with a previous write of size 1 by thread #x
+ at 0x........: child64 (tc19_shadowmem.c:105)
+ by 0x........: steer (tc19_shadowmem.c:302)
+ by 0x........: mythread_wrapper (hg_intercepts.c:...)
+ ...
+
+Possible data race during write of size 1 at 0x........ by thread #x
+ at 0x........: child64 (tc19_shadowmem.c:105)
+ by 0x........: steer (tc19_shadowmem.c:302)
+ by 0x........: mythread_wrapper (hg_intercepts.c:...)
+ ...
+ This conflicts with a previous write of size 1 by thread #x
+ at 0x........: child64 (tc19_shadowmem.c:105)
+ by 0x........: steer (tc19_shadowmem.c:302)
+ by 0x........: mythread_wrapper (hg_intercepts.c:...)
+ ...
+
+Possible data race during write of size 1 at 0x........ by thread #x
+ at 0x........: child64 (tc19_shadowmem.c:105)
+ by 0x........: steer (tc19_shadowmem.c:302)
+ by 0x........: mythread_wrapper (hg_intercepts.c:...)
+ ...
+ This conflicts with a previous write of size 1 by thread #x
+ at 0x........: child64 (tc19_shadowmem.c:105)
+ by 0x........: steer (tc19_shadowmem.c:302)
+ by 0x........: mythread_wrapper (hg_intercepts.c:...)
+ ...
+
+Possible data race during write of size 1 at 0x........ by thread #x
+ at 0x........: child64 (tc19_shadowmem.c:105)
+ by 0x........: steer (tc19_shadowmem.c:302)
+ by 0x........: mythread_wrapper (hg_intercepts.c:...)
+ ...
+ This conflicts with a previous write of size 1 by thread #x
+ at 0x........: child64 (tc19_shadowmem.c:105)
+ by 0x........: steer (tc19_shadowmem.c:302)
+ by 0x........: mythread_wrapper (hg_intercepts.c:...)
+ ...
+
+Possible data race during write of size 1 at 0x........ by thread #x
+ at 0x........: child64 (tc19_shadowmem.c:105)
+ by 0x........: steer (tc19_shadowmem.c:302)
+ by 0x........: mythread_wrapper (hg_intercepts.c:...)
+ ...
+ This conflicts with a previous write of size 1 by thread #x
+ at 0x........: child64 (tc19_shadowmem.c:105)
+ by 0x........: steer (tc19_shadowmem.c:302)
+ by 0x........: mythread_wrapper (hg_intercepts.c:...)
+ ...
+
+Possible data race during write of size 1 at 0x........ by thread #x
+ at 0x........: child64 (tc19_shadowmem.c:105)
+ by 0x........: steer (tc19_shadowmem.c:302)
+ by 0x........: mythread_wrapper (hg_intercepts.c:...)
+ ...
+ This conflicts with a previous write of size 1 by thread #x
+ at 0x........: child64 (tc19_shadowmem.c:105)
+ by 0x........: steer (tc19_shadowmem.c:302)
+ by 0x........: mythread_wrapper (hg_intercepts.c:...)
+ ...
+
+Possible data race during write of size 1 at 0x........ by thread #x
+ at 0x........: child64 (tc19_shadowmem.c:105)
+ by 0x........: steer (tc19_shadowmem.c:302)
+ by 0x........: mythread_wrapper (hg_intercepts.c:...)
+ ...
+ This conflicts with a previous write of size 1 by thread #x
+ at 0x........: child64 (tc19_shadowmem.c:105)
+ by 0x........: steer (tc19_shadowmem.c:302)
+ by 0x........: mythread_wrapper (hg_intercepts.c:...)
+ ...
+---------- double gran, 0 .. 92, skip 8 ----------
+
+Thread #x was created
+ ...
+ by 0x........: pthread_create@* (hg_intercepts.c:...)
+ by 0x........: main (tc19_shadowmem.c:266)
+
+Thread #x was created
+ ...
+ by 0x........: pthread_create@* (hg_intercepts.c:...)
+ by 0x........: main (tc19_shadowmem.c:265)
+
+Possible data race during write of size 8 at 0x........ by thread #x
+ at 0x........: child64 (tc19_shadowmem.c:105)
+ by 0x........: steer (tc19_shadowmem.c:304)
+ by 0x........: mythread_wrapper (hg_intercepts.c:...)
+ ...
+ This conflicts with a previous write of size 8 by thread #x
+ at 0x........: child64 (tc19_shadowmem.c:105)
+ by 0x........: steer (tc19_shadowmem.c:304)
+ by 0x........: mythread_wrapper (hg_intercepts.c:...)
+ ...
+---------- double gran, 1 .. 92, skip 9 ----------
+
+Thread #x was created
+ ...
+ by 0x........: pthread_create@* (hg_intercepts.c:...)
+ by 0x........: main (tc19_shadowmem.c:266)
+
+Thread #x was created
+ ...
+ by 0x........: pthread_create@* (hg_intercepts.c:...)
+ by 0x........: main (tc19_shadowmem.c:265)
+
+Possible data race during write of size 1 at 0x........ by thread #x
+ at 0x........: child64 (tc19_shadowmem.c:105)
+ by 0x........: steer (tc19_shadowmem.c:306)
+ by 0x........: mythread_wrapper (hg_intercepts.c:...)
+ ...
+ This conflicts with a previous write of size 1 by thread #x
+ at 0x........: child64 (tc19_shadowmem.c:105)
+ by 0x........: steer (tc19_shadowmem.c:306)
+ by 0x........: mythread_wrapper (hg_intercepts.c:...)
+ ...
+
+Possible data race during write of size 1 at 0x........ by thread #x
+ at 0x........: child64 (tc19_shadowmem.c:105)
+ by 0x........: steer (tc19_shadowmem.c:306)
+ by 0x........: mythread_wrapper (hg_intercepts.c:...)
+ ...
+ This conflicts with a previous write of size 1 by thread #x
+ at 0x........: child64 (tc19_shadowmem.c:105)
+ by 0x........: steer (tc19_shadowmem.c:306)
+ by 0x........: mythread_wrapper (hg_intercepts.c:...)
+ ...
+
+Possible data race during write of size 1 at 0x........ by thread #x
+ at 0x........: child64 (tc19_shadowmem.c:105)
+ by 0x........: steer (tc19_shadowmem.c:306)
+ by 0x........: mythread_wrapper (hg_intercepts.c:...)
+ ...
+ This conflicts with a previous write of size 1 by thread #x
+ at 0x........: child64 (tc19_shadowmem.c:105)
+ by 0x........: steer (tc19_shadowmem.c:306)
+ by 0x........: mythread_wrapper (hg_intercepts.c:...)
+ ...
+
+Possible data race during write of size 1 at 0x........ by thread #x
+ at 0x........: child64 (tc19_shadowmem.c:105)
+ by 0x........: steer (tc19_shadowmem.c:306)
+ by 0x........: mythread_wrapper (hg_intercepts.c:...)
+ ...
+ This conflicts with a previous write of size 1 by thread #x
+ at 0x........: child64 (tc19_shadowmem.c:105)
+ by 0x........: steer (tc19_shadowmem.c:306)
+ by 0x........: mythread_wrapper (hg_intercepts.c:...)
+ ...
+
+Possible data race during write of size 1 at 0x........ by thread #x
+ at 0x........: child64 (tc19_shadowmem.c:105)
+ by 0x........: steer (tc19_shadowmem.c:306)
+ by 0x........: mythread_wrapper (hg_intercepts.c:...)
+ ...
+ This conflicts with a previous write of size 1 by thread #x
+ at 0x........: child64 (tc19_shadowmem.c:105)
+ by 0x........: steer (tc19_shadowmem.c:306)
+ by 0x........: mythread_wrapper (hg_intercepts.c:...)
+ ...
+
+Possible data race during write of size 1 at 0x........ by thread #x
+ at 0x........: child64 (tc19_shadowmem.c:105)
+ by 0x........: steer (tc19_shadowmem.c:306)
+ by 0x........: mythread_wrapper (hg_intercepts.c:...)
+ ...
+ This conflicts with a previous write of size 1 by thread #x
+ at 0x........: child64 (tc19_shadowmem.c:105)
+ by 0x........: steer (tc19_shadowmem.c:306)
+ by 0x........: mythread_wrapper (hg_intercepts.c:...)
+ ...
+
+Possible data race during write of size 1 at 0x........ by thread #x
+ at 0x........: child64 (tc19_shadowmem.c:105)
+ by 0x........: steer (tc19_shadowmem.c:306)
+ by 0x........: mythread_wrapper (hg_intercepts.c:...)
+ ...
+ This conflicts with a previous write of size 1 by thread #x
+ at 0x........: child64 (tc19_shadowmem.c:105)
+ by 0x........: steer (tc19_shadowmem.c:306)
+ by 0x........: mythread_wrapper (hg_intercepts.c:...)
+ ...
+
+Possible data race during write of size 1 at 0x........ by thread #x
+ at 0x........: child64 (tc19_shadowmem.c:105)
+ by 0x........: steer (tc19_shadowmem.c:306)
+ by 0x........: mythread_wrapper (hg_intercepts.c:...)
+ ...
+ This conflicts with a previous write of size 1 by thread #x
+ at 0x........: child64 (tc19_shadowmem.c:105)
+ by 0x........: steer (tc19_shadowmem.c:306)
+ by 0x........: mythread_wrapper (hg_intercepts.c:...)
+ ...
+---------- double gran, 2 .. 92, skip 10 ----------
+
+Thread #x was created
+ ...
+ by 0x........: pthread_create@* (hg_intercepts.c:...)
+ by 0x........: main (tc19_shadowmem.c:266)
+
+Thread #x was created
+ ...
+ by 0x........: pthread_create@* (hg_intercepts.c:...)
+ by 0x........: main (tc19_shadowmem.c:265)
+
+Possible data race during write of size 2 at 0x........ by thread #x
+ at 0x........: child64 (tc19_shadowmem.c:105)
+ by 0x........: steer (tc19_shadowmem.c:308)
+ by 0x........: mythread_wrapper (hg_intercepts.c:...)
+ ...
+ This conflicts with a previous write of size 2 by thread #x
+ at 0x........: child64 (tc19_shadowmem.c:105)
+ by 0x........: steer (tc19_shadowmem.c:308)
+ by 0x........: mythread_wrapper (hg_intercepts.c:...)
+ ...
+
+Possible data race during write of size 2 at 0x........ by thread #x
+ at 0x........: child64 (tc19_shadowmem.c:105)
+ by 0x........: steer (tc19_shadowmem.c:308)
+ by 0x........: mythread_wrapper (hg_intercepts.c:...)
+ ...
+ This conflicts with a previous write of size 2 by thread #x
+ at 0x........: child64 (tc19_shadowmem.c:105)
+ by 0x........: steer (tc19_shadowmem.c:308)
+ by 0x........: mythread_wrapper (hg_intercepts.c:...)
+ ...
+
+Possible data race during write of size 2 at 0x........ by thread #x
+ at 0x........: child64 (tc19_shadowmem.c:105)
+ by 0x........: steer (tc19_shadowmem.c:308)
+ by 0x........: mythread_wrapper (hg_intercepts.c:...)
+ ...
+ This conflicts with a previous write of size 2 by thread #x
+ at 0x........: child64 (tc19_shadowmem.c:105)
+ by 0x........: steer (tc19_shadowmem.c:308)
+ by 0x........: mythread_wrapper (hg_intercepts.c:...)
+ ...
+
+Possible data race during write of size 2 at 0x........ by thread #x
+ at 0x........: child64 (tc19_shadowmem.c:105)
+ by 0x........: steer (tc19_shadowmem.c:308)
+ by 0x........: mythread_wrapper (hg_intercepts.c:...)
+ ...
+ This conflicts with a previous write of size 2 by thread #x
+ at 0x........: child64 (tc19_shadowmem.c:105)
+ by 0x........: steer (tc19_shadowmem.c:308)
+ by 0x........: mythread_wrapper (hg_intercepts.c:...)
+ ...
+---------- double gran, 3 .. 92, skip 11 ----------
+
+Thread #x was created
+ ...
+ by 0x........: pthread_create@* (hg_intercepts.c:...)
+ by 0x........: main (tc19_shadowmem.c:266)
+
+Thread #x was created
+ ...
+ by 0x........: pthread_create@* (hg_intercepts.c:...)
+ by 0x........: main (tc19_shadowmem.c:265)
+
+Possible data race during write of size 1 at 0x........ by thread #x
+ at 0x........: child64 (tc19_shadowmem.c:105)
+ by 0x........: steer (tc19_shadowmem.c:310)
+ by 0x........: mythread_wrapper (hg_intercepts.c:...)
+ ...
+ This conflicts with a previous write of size 1 by thread #x
+ at 0x........: child64 (tc19_shadowmem.c:105)
+ by 0x........: steer (tc19_shadowmem.c:310)
+ by 0x........: mythread_wrapper (hg_intercepts.c:...)
+ ...
+
+Possible data race during write of size 1 at 0x........ by thread #x
+ at 0x........: child64 (tc19_shadowmem.c:105)
+ by 0x........: steer (tc19_shadowmem.c:310)
+ by 0x........: mythread_wrapper (hg_intercepts.c:...)
+ ...
+ This conflicts with a previous write of size 1 by thread #x
+ at 0x........: child64 (tc19_shadowmem.c:105)
+ by 0x........: steer (tc19_shadowmem.c:310)
+ by 0x........: mythread_wrapper (hg_intercepts.c:...)
+ ...
+
+Possible data race during write of size 1 at 0x........ by thread #x
+ at 0x........: child64 (tc19_shadowmem.c:105)
+ by 0x........: steer (tc19_shadowmem.c:310)
+ by 0x........: mythread_wrapper (hg_intercepts.c:...)
+ ...
+ This conflicts with a previous write of size 1 by thread #x
+ at 0x........: child64 (tc19_shadowmem.c:105)
+ by 0x........: steer (tc19_shadowmem.c:310)
+ by 0x........: mythread_wrapper (hg_intercepts.c:...)
+ ...
+
+Possible data race during write of size 1 at 0x........ by thread #x
+ at 0x........: child64 (tc19_shadowmem.c:105)
+ by 0x........: steer (tc19_shadowmem.c:310)
+ by 0x........: mythread_wrapper (hg_intercepts.c:...)
+ ...
+ This conflicts with a previous write of size 1 by thread #x
+ at 0x........: child64 (tc19_shadowmem.c:105)
+ by 0x........: steer (tc19_shadowmem.c:310)
+ by 0x........: mythread_wrapper (hg_intercepts.c:...)
+ ...
+
+Possible data race during write of size 1 at 0x........ by thread #x
+ at 0x........: child64 (tc19_shadowmem.c:105)
+ by 0x........: steer (tc19_shadowmem.c:310)
+ by 0x........: mythread_wrapper (hg_intercepts.c:...)
+ ...
+ This conflicts with a previous write of size 1 by thread #x
+ at 0x........: child64 (tc19_shadowmem.c:105)
+ by 0x........: steer (tc19_shadowmem.c:310)
+ by 0x........: mythread_wrapper (hg_intercepts.c:...)
+ ...
+
+Possible data race during write of size 1 at 0x........ by thread #x
+ at 0x........: child64 (tc19_shadowmem.c:105)
+ by 0x........: steer (tc19_shadowmem.c:310)
+ by 0x........: mythread_wrapper (hg_intercepts.c:...)
+ ...
+ This conflicts with a previous write of size 1 by thread #x
+ at 0x........: child64 (tc19_shadowmem.c:105)
+ by 0x........: steer (tc19_shadowmem.c:310)
+ by 0x........: mythread_wrapper (hg_intercepts.c:...)
+ ...
+
+Possible data race during write of size 1 at 0x........ by thread #x
+ at 0x........: child64 (tc19_shadowmem.c:105)
+ by 0x........: steer (tc19_shadowmem.c:310)
+ by 0x........: mythread_wrapper (hg_intercepts.c:...)
+ ...
+ This conflicts with a previous write of size 1 by thread #x
+ at 0x........: child64 (tc19_shadowmem.c:105)
+ by 0x........: steer (tc19_shadowmem.c:310)
+ by 0x........: mythread_wrapper (hg_intercepts.c:...)
+ ...
+
+Possible data race during write of size 1 at 0x........ by thread #x
+ at 0x........: child64 (tc19_shadowmem.c:105)
+ by 0x........: steer (tc19_shadowmem.c:310)
+ by 0x........: mythread_wrapper (hg_intercepts.c:...)
+ ...
+ This conflicts with a previous write of size 1 by thread #x
+ at 0x........: child64 (tc19_shadowmem.c:105)
+ by 0x........: steer (tc19_shadowmem.c:310)
+ by 0x........: mythread_wrapper (hg_intercepts.c:...)
+ ...
+---------- double gran, 4 .. 92, skip 12 ----------
+
+Thread #x was created
+ ...
+ by 0x........: pthread_create@* (hg_intercepts.c:...)
+ by 0x........: main (tc19_shadowmem.c:266)
+
+Thread #x was created
+ ...
+ by 0x........: pthread_create@* (hg_intercepts.c:...)
+ by 0x........: main (tc19_shadowmem.c:265)
+
+Possible data race during write of size 4 at 0x........ by thread #x
+ at 0x........: child64 (tc19_shadowmem.c:105)
+ by 0x........: steer (tc19_shadowmem.c:312)
+ by 0x........: mythread_wrapper (hg_intercepts.c:...)
+ ...
+ This conflicts with a previous write of size 4 by thread #x
+ at 0x........: child64 (tc19_shadowmem.c:105)
+ by 0x........: steer (tc19_shadowmem.c:312)
+ by 0x........: mythread_wrapper (hg_intercepts.c:...)
+ ...
+
+Possible data race during write of size 4 at 0x........ by thread #x
+ at 0x........: child64 (tc19_shadowmem.c:105)
+ by 0x........: steer (tc19_shadowmem.c:312)
+ by 0x........: mythread_wrapper (hg_intercepts.c:...)
+ ...
+ This conflicts with a previous write of size 4 by thread #x
+ at 0x........: child64 (tc19_shadowmem.c:105)
+ by 0x........: steer (tc19_shadowmem.c:312)
+ by 0x........: mythread_wrapper (hg_intercepts.c:...)
+ ...
+---------- double gran, 5 .. 92, skip 13 ----------
+
+Thread #x was created
+ ...
+ by 0x........: pthread_create@* (hg_intercepts.c:...)
+ by 0x........: main (tc19_shadowmem.c:266)
+
+Thread #x was created
+ ...
+ by 0x........: pthread_create@* (hg_intercepts.c:...)
+ by 0x........: main (tc19_shadowmem.c:265)
+
+Possible data race during write of size 1 at 0x........ by thread #x
+ at 0x........: child64 (tc19_shadowmem.c:105)
+ by 0x........: steer (tc19_shadowmem.c:314)
+ by 0x........: mythread_wrapper (hg_intercepts.c:...)
+ ...
+ This conflicts with a previous write of size 1 by thread #x
+ at 0x........: child64 (tc19_shadowmem.c:105)
+ by 0x........: steer (tc19_shadowmem.c:314)
+ by 0x........: mythread_wrapper (hg_intercepts.c:...)
+ ...
+
+Possible data race during write of size 1 at 0x........ by thread #x
+ at 0x........: child64 (tc19_shadowmem.c:105)
+ by 0x........: steer (tc19_shadowmem.c:314)
+ by 0x........: mythread_wrapper (hg_intercepts.c:...)
+ ...
+ This conflicts with a previous write of size 1 by thread #x
+ at 0x........: child64 (tc19_shadowmem.c:105)
+ by 0x........: steer (tc19_shadowmem.c:314)
+ by 0x........: mythread_wrapper (hg_intercepts.c:...)
+ ...
+
+Possible data race during write of size 1 at 0x........ by thread #x
+ at 0x........: child64 (tc19_shadowmem.c:105)
+ by 0x........: steer (tc19_shadowmem.c:314)
+ by 0x........: mythread_wrapper (hg_intercepts.c:...)
+ ...
+ This conflicts with a previous write of size 1 by thread #x
+ at 0x........: child64 (tc19_shadowmem.c:105)
+ by 0x........: steer (tc19_shadowmem.c:314)
+ by 0x........: mythread_wrapper (hg_intercepts.c:...)
+ ...
+
+Possible data race during write of size 1 at 0x........ by thread #x
+ at 0x........: child64 (tc19_shadowmem.c:105)
+ by 0x........: steer (tc19_shadowmem.c:314)
+ by 0x........: mythread_wrapper (hg_intercepts.c:...)
+ ...
+ This conflicts with a previous write of size 1 by thread #x
+ at 0x........: child64 (tc19_shadowmem.c:105)
+ by 0x........: steer (tc19_shadowmem.c:314)
+ by 0x........: mythread_wrapper (hg_intercepts.c:...)
+ ...
+
+Possible data race during write of size 1 at 0x........ by thread #x
+ at 0x........: child64 (tc19_shadowmem.c:105)
+ by 0x........: steer (tc19_shadowmem.c:314)
+ by 0x........: mythread_wrapper (hg_intercepts.c:...)
+ ...
+ This conflicts with a previous write of size 1 by thread #x
+ at 0x........: child64 (tc19_shadowmem.c:105)
+ by 0x........: steer (tc19_shadowmem.c:314)
+ by 0x........: mythread_wrapper (hg_intercepts.c:...)
+ ...
+
+Possible data race during write of size 1 at 0x........ by thread #x
+ at 0x........: child64 (tc19_shadowmem.c:105)
+ by 0x........: steer (tc19_shadowmem.c:314)
+ by 0x........: mythread_wrapper (hg_intercepts.c:...)
+ ...
+ This conflicts with a previous write of size 1 by thread #x
+ at 0x........: child64 (tc19_shadowmem.c:105)
+ by 0x........: steer (tc19_shadowmem.c:314)
+ by 0x........: mythread_wrapper (hg_intercepts.c:...)
+ ...
+
+Possible data race during write of size 1 at 0x........ by thread #x
+ at 0x........: child64 (tc19_shadowmem.c:105)
+ by 0x........: steer (tc19_shadowmem.c:314)
+ by 0x........: mythread_wrapper (hg_intercepts.c:...)
+ ...
+ This conflicts with a previous write of size 1 by thread #x
+ at 0x........: child64 (tc19_shadowmem.c:105)
+ by 0x........: steer (tc19_shadowmem.c:314)
+ by 0x........: mythread_wrapper (hg_intercepts.c:...)
+ ...
+
+Possible data race during write of size 1 at 0x........ by thread #x
+ at 0x........: child64 (tc19_shadowmem.c:105)
+ by 0x........: steer (tc19_shadowmem.c:314)
+ by 0x........: mythread_wrapper (hg_intercepts.c:...)
+ ...
+ This conflicts with a previous write of size 1 by thread #x
+ at 0x........: child64 (tc19_shadowmem.c:105)
+ by 0x........: steer (tc19_shadowmem.c:314)
+ by 0x........: mythread_wrapper (hg_intercepts.c:...)
+ ...
+---------- double gran, 6 .. 92, skip 14 ----------
+
+Thread #x was created
+ ...
+ by 0x........: pthread_create@* (hg_intercepts.c:...)
+ by 0x........: main (tc19_shadowmem.c:266)
+
+Thread #x was created
+ ...
+ by 0x........: pthread_create@* (hg_intercepts.c:...)
+ by 0x........: main (tc19_shadowmem.c:265)
+
+Possible data race during write of size 2 at 0x........ by thread #x
+ at 0x........: child64 (tc19_shadowmem.c:105)
+ by 0x........: steer (tc19_shadowmem.c:316)
+ by 0x........: mythread_wrapper (hg_intercepts.c:...)
+ ...
+ This conflicts with a previous write of size 2 by thread #x
+ at 0x........: child64 (tc19_shadowmem.c:105)
+ by 0x........: steer (tc19_shadowmem.c:316)
+ by 0x........: mythread_wrapper (hg_intercepts.c:...)
+ ...
+
+Possible data race during write of size 2 at 0x........ by thread #x
+ at 0x........: child64 (tc19_shadowmem.c:105)
+ by 0x........: steer (tc19_shadowmem.c:316)
+ by 0x........: mythread_wrapper (hg_intercepts.c:...)
+ ...
+ This conflicts with a previous write of size 2 by thread #x
+ at 0x........: child64 (tc19_shadowmem.c:105)
+ by 0x........: steer (tc19_shadowmem.c:316)
+ by 0x........: mythread_wrapper (hg_intercepts.c:...)
+ ...
+
+Possible data race during write of size 2 at 0x........ by thread #x
+ at 0x........: child64 (tc19_shadowmem.c:105)
+ by 0x........: steer (tc19_shadowmem.c:316)
+ by 0x........: mythread_wrapper (hg_intercepts.c:...)
+ ...
+ This conflicts with a previous write of size 2 by thread #x
+ at 0x........: child64 (tc19_shadowmem.c:105)
+ by 0x........: steer (tc19_shadowmem.c:316)
+ by 0x........: mythread_wrapper (hg_intercepts.c:...)
+ ...
+
+Possible data race during write of size 2 at 0x........ by thread #x
+ at 0x........: child64 (tc19_shadowmem.c:105)
+ by 0x........: steer (tc19_shadowmem.c:316)
+ by 0x........: mythread_wrapper (hg_intercepts.c:...)
+ ...
+ This conflicts with a previous write of size 2 by thread #x
+ at 0x........: child64 (tc19_shadowmem.c:105)
+ by 0x........: steer (tc19_shadowmem.c:316)
+ by 0x........: mythread_wrapper (hg_intercepts.c:...)
+ ...
+---------- double gran, 7 .. 92, skip 15 ----------
+
+Thread #x was created
+ ...
+ by 0x........: pthread_create@* (hg_intercepts.c:...)
+ by 0x........: main (tc19_shadowmem.c:266)
+
+Thread #x was created
+ ...
+ by 0x........: pthread_create@* (hg_intercepts.c:...)
+ by 0x........: main (tc19_shadowmem.c:265)
+
+Possible data race during write of size 1 at 0x........ by thread #x
+ at 0x........: child64 (tc19_shadowmem.c:105)
+ by 0x........: steer (tc19_shadowmem.c:318)
+ by 0x........: mythread_wrapper (hg_intercepts.c:...)
+ ...
+ This conflicts with a previous write of size 1 by thread #x
+ at 0x........: child64 (tc19_shadowmem.c:105)
+ by 0x........: steer (tc19_shadowmem.c:318)
+ by 0x........: mythread_wrapper (hg_intercepts.c:...)
+ ...
+
+Possible data race during write of size 1 at 0x........ by thread #x
+ at 0x........: child64 (tc19_shadowmem.c:105)
+ by 0x........: steer (tc19_shadowmem.c:318)
+ by 0x........: mythread_wrapper (hg_intercepts.c:...)
+ ...
+ This conflicts with a previous write of size 1 by thread #x
+ at 0x........: child64 (tc19_shadowmem.c:105)
+ by 0x........: steer (tc19_shadowmem.c:318)
+ by 0x........: mythread_wrapper (hg_intercepts.c:...)
+ ...
+
+Possible data race during write of size 1 at 0x........ by thread #x
+ at 0x........: child64 (tc19_shadowmem.c:105)
+ by 0x........: steer (tc19_shadowmem.c:318)
+ by 0x........: mythread_wrapper (hg_intercepts.c:...)
+ ...
+ This conflicts with a previous write of size 1 by thread #x
+ at 0x........: child64 (tc19_shadowmem.c:105)
+ by 0x........: steer (tc19_shadowmem.c:318)
+ by 0x........: mythread_wrapper (hg_intercepts.c:...)
+ ...
+
+Possible data race during write of size 1 at 0x........ by thread #x
+ at 0x........: child64 (tc19_shadowmem.c:105)
+ by 0x........: steer (tc19_shadowmem.c:318)
+ by 0x........: mythread_wrapper (hg_intercepts.c:...)
+ ...
+ This conflicts with a previous write of size 1 by thread #x
+ at 0x........: child64 (tc19_shadowmem.c:105)
+ by 0x........: steer (tc19_shadowmem.c:318)
+ by 0x........: mythread_wrapper (hg_intercepts.c:...)
+ ...
+
+Possible data race during write of size 1 at 0x........ by thread #x
+ at 0x........: child64 (tc19_shadowmem.c:105)
+ by 0x........: steer (tc19_shadowmem.c:318)
+ by 0x........: mythread_wrapper (hg_intercepts.c:...)
+ ...
+ This conflicts with a previous write of size 1 by thread #x
+ at 0x........: child64 (tc19_shadowmem.c:105)
+ by 0x........: steer (tc19_shadowmem.c:318)
+ by 0x........: mythread_wrapper (hg_intercepts.c:...)
+ ...
+
+Possible data race during write of size 1 at 0x........ by thread #x
+ at 0x........: child64 (tc19_shadowmem.c:105)
+ by 0x........: steer (tc19_shadowmem.c:318)
+ by 0x........: mythread_wrapper (hg_intercepts.c:...)
+ ...
+ This conflicts with a previous write of size 1 by thread #x
+ at 0x........: child64 (tc19_shadowmem.c:105)
+ by 0x........: steer (tc19_shadowmem.c:318)
+ by 0x........: mythread_wrapper (hg_intercepts.c:...)
+ ...
+
+Possible data race during write of size 1 at 0x........ by thread #x
+ at 0x........: child64 (tc19_shadowmem.c:105)
+ by 0x........: steer (tc19_shadowmem.c:318)
+ by 0x........: mythread_wrapper (hg_intercepts.c:...)
+ ...
+ This conflicts with a previous write of size 1 by thread #x
+ at 0x........: child64 (tc19_shadowmem.c:105)
+ by 0x........: steer (tc19_shadowmem.c:318)
+ by 0x........: mythread_wrapper (hg_intercepts.c:...)
+ ...
+
+Possible data race during write of size 1 at 0x........ by thread #x
+ at 0x........: child64 (tc19_shadowmem.c:105)
+ by 0x........: steer (tc19_shadowmem.c:318)
+ by 0x........: mythread_wrapper (hg_intercepts.c:...)
+ ...
+ This conflicts with a previous write of size 1 by thread #x
+ at 0x........: child64 (tc19_shadowmem.c:105)
+ by 0x........: steer (tc19_shadowmem.c:318)
+ by 0x........: mythread_wrapper (hg_intercepts.c:...)
+ ...
+---------- double gran, 0 .. 92, skip 16 ----------
+
+Thread #x was created
+ ...
+ by 0x........: pthread_create@* (hg_intercepts.c:...)
+ by 0x........: main (tc19_shadowmem.c:266)
+
+Thread #x was created
+ ...
+ by 0x........: pthread_create@* (hg_intercepts.c:...)
+ by 0x........: main (tc19_shadowmem.c:265)
+
+Possible data race during write of size 8 at 0x........ by thread #x
+ at 0x........: child64 (tc19_shadowmem.c:105)
+ by 0x........: steer (tc19_shadowmem.c:320)
+ by 0x........: mythread_wrapper (hg_intercepts.c:...)
+ ...
+ This conflicts with a previous write of size 8 by thread #x
+ at 0x........: child64 (tc19_shadowmem.c:105)
+ by 0x........: steer (tc19_shadowmem.c:320)
+ by 0x........: mythread_wrapper (hg_intercepts.c:...)
+ ...
+---------- double gran, 1 .. 92, skip 17 ----------
+
+Thread #x was created
+ ...
+ by 0x........: pthread_create@* (hg_intercepts.c:...)
+ by 0x........: main (tc19_shadowmem.c:266)
+
+Thread #x was created
+ ...
+ by 0x........: pthread_create@* (hg_intercepts.c:...)
+ by 0x........: main (tc19_shadowmem.c:265)
+
+Possible data race during write of size 1 at 0x........ by thread #x
+ at 0x........: child64 (tc19_shadowmem.c:105)
+ by 0x........: steer (tc19_shadowmem.c:322)
+ by 0x........: mythread_wrapper (hg_intercepts.c:...)
+ ...
+ This conflicts with a previous write of size 1 by thread #x
+ at 0x........: child64 (tc19_shadowmem.c:105)
+ by 0x........: steer (tc19_shadowmem.c:322)
+ by 0x........: mythread_wrapper (hg_intercepts.c:...)
+ ...
+
+Possible data race during write of size 1 at 0x........ by thread #x
+ at 0x........: child64 (tc19_shadowmem.c:105)
+ by 0x........: steer (tc19_shadowmem.c:322)
+ by 0x........: mythread_wrapper (hg_intercepts.c:...)
+ ...
+ This conflicts with a previous write of size 1 by thread #x
+ at 0x........: child64 (tc19_shadowmem.c:105)
+ by 0x........: steer (tc19_shadowmem.c:322)
+ by 0x........: mythread_wrapper (hg_intercepts.c:...)
+ ...
+
+Possible data race during write of size 1 at 0x........ by thread #x
+ at 0x........: child64 (tc19_shadowmem.c:105)
+ by 0x........: steer (tc19_shadowmem.c:322)
+ by 0x........: mythread_wrapper (hg_intercepts.c:...)
+ ...
+ This conflicts with a previous write of size 1 by thread #x
+ at 0x........: child64 (tc19_shadowmem.c:105)
+ by 0x........: steer (tc19_shadowmem.c:322)
+ by 0x........: mythread_wrapper (hg_intercepts.c:...)
+ ...
+
+Possible data race during write of size 1 at 0x........ by thread #x
+ at 0x........: child64 (tc19_shadowmem.c:105)
+ by 0x........: steer (tc19_shadowmem.c:322)
+ by 0x........: mythread_wrapper (hg_intercepts.c:...)
+ ...
+ This conflicts with a previous write of size 1 by thread #x
+ at 0x........: child64 (tc19_shadowmem.c:105)
+ by 0x........: steer (tc19_shadowmem.c:322)
+ by 0x........: mythread_wrapper (hg_intercepts.c:...)
+ ...
+
+Possible data race during write of size 1 at 0x........ by thread #x
+ at 0x........: child64 (tc19_shadowmem.c:105)
+ by 0x........: steer (tc19_shadowmem.c:322)
+ by 0x........: mythread_wrapper (hg_intercepts.c:...)
+ ...
+ This conflicts with a previous write of size 1 by thread #x
+ at 0x........: child64 (tc19_shadowmem.c:105)
+ by 0x........: steer (tc19_shadowmem.c:322)
+ by 0x........: mythread_wrapper (hg_intercepts.c:...)
+ ...
+
+Possible data race during write of size 1 at 0x........ by thread #x
+ at 0x........: child64 (tc19_shadowmem.c:105)
+ by 0x........: steer (tc19_shadowmem.c:322)
+ by 0x........: mythread_wrapper (hg_intercepts.c:...)
+ ...
+ This conflicts with a previous write of size 1 by thread #x
+ at 0x........: child64 (tc19_shadowmem.c:105)
+ by 0x........: steer (tc19_shadowmem.c:322)
+ by 0x........: mythread_wrapper (hg_intercepts.c:...)
+ ...
+
+Possible data race during write of size 1 at 0x........ by thread #x
+ at 0x........: child64 (tc19_shadowmem.c:105)
+ by 0x........: steer (tc19_shadowmem.c:322)
+ by 0x........: mythread_wrapper (hg_intercepts.c:...)
+ ...
+ This conflicts with a previous write of size 1 by thread #x
+ at 0x........: child64 (tc19_shadowmem.c:105)
+ by 0x........: steer (tc19_shadowmem.c:322)
+ by 0x........: mythread_wrapper (hg_intercepts.c:...)
+ ...
+
+Possible data race during write of size 1 at 0x........ by thread #x
+ at 0x........: child64 (tc19_shadowmem.c:105)
+ by 0x........: steer (tc19_shadowmem.c:322)
+ by 0x........: mythread_wrapper (hg_intercepts.c:...)
+ ...
+ This conflicts with a previous write of size 1 by thread #x
+ at 0x........: child64 (tc19_shadowmem.c:105)
+ by 0x........: steer (tc19_shadowmem.c:322)
+ by 0x........: mythread_wrapper (hg_intercepts.c:...)
+ ...
+---------- double gran, 2 .. 92, skip 18 ----------
+
+Thread #x was created
+ ...
+ by 0x........: pthread_create@* (hg_intercepts.c:...)
+ by 0x........: main (tc19_shadowmem.c:266)
+
+Thread #x was created
+ ...
+ by 0x........: pthread_create@* (hg_intercepts.c:...)
+ by 0x........: main (tc19_shadowmem.c:265)
+
+Possible data race during write of size 2 at 0x........ by thread #x
+ at 0x........: child64 (tc19_shadowmem.c:105)
+ by 0x........: steer (tc19_shadowmem.c:324)
+ by 0x........: mythread_wrapper (hg_intercepts.c:...)
+ ...
+ This conflicts with a previous write of size 2 by thread #x
+ at 0x........: child64 (tc19_shadowmem.c:105)
+ by 0x........: steer (tc19_shadowmem.c:324)
+ by 0x........: mythread_wrapper (hg_intercepts.c:...)
+ ...
+
+Possible data race during write of size 2 at 0x........ by thread #x
+ at 0x........: child64 (tc19_shadowmem.c:105)
+ by 0x........: steer (tc19_shadowmem.c:324)
+ by 0x........: mythread_wrapper (hg_intercepts.c:...)
+ ...
+ This conflicts with a previous write of size 2 by thread #x
+ at 0x........: child64 (tc19_shadowmem.c:105)
+ by 0x........: steer (tc19_shadowmem.c:324)
+ by 0x........: mythread_wrapper (hg_intercepts.c:...)
+ ...
+
+Possible data race during write of size 2 at 0x........ by thread #x
+ at 0x........: child64 (tc19_shadowmem.c:105)
+ by 0x........: steer (tc19_shadowmem.c:324)
+ by 0x........: mythread_wrapper (hg_intercepts.c:...)
+ ...
+ This conflicts with a previous write of size 2 by thread #x
+ at 0x........: child64 (tc19_shadowmem.c:105)
+ by 0x........: steer (tc19_shadowmem.c:324)
+ by 0x........: mythread_wrapper (hg_intercepts.c:...)
+ ...
+
+Possible data race during write of size 2 at 0x........ by thread #x
+ at 0x........: child64 (tc19_shadowmem.c:105)
+ by 0x........: steer (tc19_shadowmem.c:324)
+ by 0x........: mythread_wrapper (hg_intercepts.c:...)
+ ...
+ This conflicts with a previous write of size 2 by thread #x
+ at 0x........: child64 (tc19_shadowmem.c:105)
+ by 0x........: steer (tc19_shadowmem.c:324)
+ by 0x........: mythread_wrapper (hg_intercepts.c:...)
+ ...
+---------- double gran, 3 .. 92, skip 19 ----------
+
+Thread #x was created
+ ...
+ by 0x........: pthread_create@* (hg_intercepts.c:...)
+ by 0x........: main (tc19_shadowmem.c:266)
+
+Thread #x was created
+ ...
+ by 0x........: pthread_create@* (hg_intercepts.c:...)
+ by 0x........: main (tc19_shadowmem.c:265)
+
+Possible data race during write of size 1 at 0x........ by thread #x
+ at 0x........: child64 (tc19_shadowmem.c:105)
+ by 0x........: steer (tc19_shadowmem.c:326)
+ by 0x........: mythread_wrapper (hg_intercepts.c:...)
+ ...
+ This conflicts with a previous write of size 1 by thread #x
+ at 0x........: child64 (tc19_shadowmem.c:105)
+ by 0x........: steer (tc19_shadowmem.c:326)
+ by 0x........: mythread_wrapper (hg_intercepts.c:...)
+ ...
+
+Possible data race during write of size 1 at 0x........ by thread #x
+ at 0x........: child64 (tc19_shadowmem.c:105)
+ by 0x........: steer (tc19_shadowmem.c:326)
+ by 0x........: mythread_wrapper (hg_intercepts.c:...)
+ ...
+ This conflicts with a previous write of size 1 by thread #x
+ at 0x........: child64 (tc19_shadowmem.c:105)
+ by 0x........: steer (tc19_shadowmem.c:326)
+ by 0x........: mythread_wrapper (hg_intercepts.c:...)
+ ...
+
+Possible data race during write of size 1 at 0x........ by thread #x
+ at 0x........: child64 (tc19_shadowmem.c:105)
+ by 0x........: steer (tc19_shadowmem.c:326)
+ by 0x........: mythread_wrapper (hg_intercepts.c:...)
+ ...
+ This conflicts with a previous write of size 1 by thread #x
+ at 0x........: child64 (tc19_shadowmem.c:105)
+ by 0x........: steer (tc19_shadowmem.c:326)
+ by 0x........: mythread_wrapper (hg_intercepts.c:...)
+ ...
+
+Possible data race during write of size 1 at 0x........ by thread #x
+ at 0x........: child64 (tc19_shadowmem.c:105)
+ by 0x........: steer (tc19_shadowmem.c:326)
+ by 0x........: mythread_wrapper (hg_intercepts.c:...)
+ ...
+ This conflicts with a previous write of size 1 by thread #x
+ at 0x........: child64 (tc19_shadowmem.c:105)
+ by 0x........: steer (tc19_shadowmem.c:326)
+ by 0x........: mythread_wrapper (hg_intercepts.c:...)
+ ...
+
+Possible data race during write of size 1 at 0x........ by thread #x
+ at 0x........: child64 (tc19_shadowmem.c:105)
+ by 0x........: steer (tc19_shadowmem.c:326)
+ by 0x........: mythread_wrapper (hg_intercepts.c:...)
+ ...
+ This conflicts with a previous write of size 1 by thread #x
+ at 0x........: child64 (tc19_shadowmem.c:105)
+ by 0x........: steer (tc19_shadowmem.c:326)
+ by 0x........: mythread_wrapper (hg_intercepts.c:...)
+ ...
+
+Possible data race during write of size 1 at 0x........ by thread #x
+ at 0x........: child64 (tc19_shadowmem.c:105)
+ by 0x........: steer (tc19_shadowmem.c:326)
+ by 0x........: mythread_wrapper (hg_intercepts.c:...)
+ ...
+ This conflicts with a previous write of size 1 by thread #x
+ at 0x........: child64 (tc19_shadowmem.c:105)
+ by 0x........: steer (tc19_shadowmem.c:326)
+ by 0x........: mythread_wrapper (hg_intercepts.c:...)
+ ...
+
+Possible data race during write of size 1 at 0x........ by thread #x
+ at 0x........: child64 (tc19_shadowmem.c:105)
+ by 0x........: steer (tc19_shadowmem.c:326)
+ by 0x........: mythread_wrapper (hg_intercepts.c:...)
+ ...
+ This conflicts with a previous write of size 1 by thread #x
+ at 0x........: child64 (tc19_shadowmem.c:105)
+ by 0x........: steer (tc19_shadowmem.c:326)
+ by 0x........: mythread_wrapper (hg_intercepts.c:...)
+ ...
+
+Possible data race during write of size 1 at 0x........ by thread #x
+ at 0x........: child64 (tc19_shadowmem.c:105)
+ by 0x........: steer (tc19_shadowmem.c:326)
+ by 0x........: mythread_wrapper (hg_intercepts.c:...)
+ ...
+ This conflicts with a previous write of size 1 by thread #x
+ at 0x........: child64 (tc19_shadowmem.c:105)
+ by 0x........: steer (tc19_shadowmem.c:326)
+ by 0x........: mythread_wrapper (hg_intercepts.c:...)
+ ...
+---------- double gran, 4 .. 92, skip 20 ----------
+
+Thread #x was created
+ ...
+ by 0x........: pthread_create@* (hg_intercepts.c:...)
+ by 0x........: main (tc19_shadowmem.c:266)
+
+Thread #x was created
+ ...
+ by 0x........: pthread_create@* (hg_intercepts.c:...)
+ by 0x........: main (tc19_shadowmem.c:265)
+
+Possible data race during write of size 4 at 0x........ by thread #x
+ at 0x........: child64 (tc19_shadowmem.c:105)
+ by 0x........: steer (tc19_shadowmem.c:328)
+ by 0x........: mythread_wrapper (hg_intercepts.c:...)
+ ...
+ This conflicts with a previous write of size 4 by thread #x
+ at 0x........: child64 (tc19_shadowmem.c:105)
+ by 0x........: steer (tc19_shadowmem.c:328)
+ by 0x........: mythread_wrapper (hg_intercepts.c:...)
+ ...
+
+Possible data race during write of size 4 at 0x........ by thread #x
+ at 0x........: child64 (tc19_shadowmem.c:105)
+ by 0x........: steer (tc19_shadowmem.c:328)
+ by 0x........: mythread_wrapper (hg_intercepts.c:...)
+ ...
+ This conflicts with a previous write of size 4 by thread #x
+ at 0x........: child64 (tc19_shadowmem.c:105)
+ by 0x........: steer (tc19_shadowmem.c:328)
+ by 0x........: mythread_wrapper (hg_intercepts.c:...)
+ ...
+---------- double gran, 5 .. 92, skip 21 ----------
+
+Thread #x was created
+ ...
+ by 0x........: pthread_create@* (hg_intercepts.c:...)
+ by 0x........: main (tc19_shadowmem.c:266)
+
+Thread #x was created
+ ...
+ by 0x........: pthread_create@* (hg_intercepts.c:...)
+ by 0x........: main (tc19_shadowmem.c:265)
+
+Possible data race during write of size 1 at 0x........ by thread #x
+ at 0x........: child64 (tc19_shadowmem.c:105)
+ by 0x........: steer (tc19_shadowmem.c:330)
+ by 0x........: mythread_wrapper (hg_intercepts.c:...)
+ ...
+ This conflicts with a previous write of size 1 by thread #x
+ at 0x........: child64 (tc19_shadowmem.c:105)
+ by 0x........: steer (tc19_shadowmem.c:330)
+ by 0x........: mythread_wrapper (hg_intercepts.c:...)
+ ...
+
+Possible data race during write of size 1 at 0x........ by thread #x
+ at 0x........: child64 (tc19_shadowmem.c:105)
+ by 0x........: steer (tc19_shadowmem.c:330)
+ by 0x........: mythread_wrapper (hg_intercepts.c:...)
+ ...
+ This conflicts with a previous write of size 1 by thread #x
+ at 0x........: child64 (tc19_shadowmem.c:105)
+ by 0x........: steer (tc19_shadowmem.c:330)
+ by 0x........: mythread_wrapper (hg_intercepts.c:...)
+ ...
+
+Possible data race during write of size 1 at 0x........ by thread #x
+ at 0x........: child64 (tc19_shadowmem.c:105)
+ by 0x........: steer (tc19_shadowmem.c:330)
+ by 0x........: mythread_wrapper (hg_intercepts.c:...)
+ ...
+ This conflicts with a previous write of size 1 by thread #x
+ at 0x........: child64 (tc19_shadowmem.c:105)
+ by 0x........: steer (tc19_shadowmem.c:330)
+ by 0x........: mythread_wrapper (hg_intercepts.c:...)
+ ...
+
+Possible data race during write of size 1 at 0x........ by thread #x
+ at 0x........: child64 (tc19_shadowmem.c:105)
+ by 0x........: steer (tc19_shadowmem.c:330)
+ by 0x........: mythread_wrapper (hg_intercepts.c:...)
+ ...
+ This conflicts with a previous write of size 1 by thread #x
+ at 0x........: child64 (tc19_shadowmem.c:105)
+ by 0x........: steer (tc19_shadowmem.c:330)
+ by 0x........: mythread_wrapper (hg_intercepts.c:...)
+ ...
+
+Possible data race during write of size 1 at 0x........ by thread #x
+ at 0x........: child64 (tc19_shadowmem.c:105)
+ by 0x........: steer (tc19_shadowmem.c:330)
+ by 0x........: mythread_wrapper (hg_intercepts.c:...)
+ ...
+ This conflicts with a previous write of size 1 by thread #x
+ at 0x........: child64 (tc19_shadowmem.c:105)
+ by 0x........: steer (tc19_shadowmem.c:330)
+ by 0x........: mythread_wrapper (hg_intercepts.c:...)
+ ...
+
+Possible data race during write of size 1 at 0x........ by thread #x
+ at 0x........: child64 (tc19_shadowmem.c:105)
+ by 0x........: steer (tc19_shadowmem.c:330)
+ by 0x........: mythread_wrapper (hg_intercepts.c:...)
+ ...
+ This conflicts with a previous write of size 1 by thread #x
+ at 0x........: child64 (tc19_shadowmem.c:105)
+ by 0x........: steer (tc19_shadowmem.c:330)
+ by 0x........: mythread_wrapper (hg_intercepts.c:...)
+ ...
+
+Possible data race during write of size 1 at 0x........ by thread #x
+ at 0x........: child64 (tc19_shadowmem.c:105)
+ by 0x........: steer (tc19_shadowmem.c:330)
+ by 0x........: mythread_wrapper (hg_intercepts.c:...)
+ ...
+ This conflicts with a previous write of size 1 by thread #x
+ at 0x........: child64 (tc19_shadowmem.c:105)
+ by 0x........: steer (tc19_shadowmem.c:330)
+ by 0x........: mythread_wrapper (hg_intercepts.c:...)
+ ...
+
+Possible data race during write of size 1 at 0x........ by thread #x
+ at 0x........: child64 (tc19_shadowmem.c:105)
+ by 0x........: steer (tc19_shadowmem.c:330)
+ by 0x........: mythread_wrapper (hg_intercepts.c:...)
+ ...
+ This conflicts with a previous write of size 1 by thread #x
+ at 0x........: child64 (tc19_shadowmem.c:105)
+ by 0x........: steer (tc19_shadowmem.c:330)
+ by 0x........: mythread_wrapper (hg_intercepts.c:...)
+ ...
+---------- double gran, 6 .. 92, skip 22 ----------
+
+Thread #x was created
+ ...
+ by 0x........: pthread_create@* (hg_intercepts.c:...)
+ by 0x........: main (tc19_shadowmem.c:266)
+
+Thread #x was created
+ ...
+ by 0x........: pthread_create@* (hg_intercepts.c:...)
+ by 0x........: main (tc19_shadowmem.c:265)
+
+Possible data race during write of size 2 at 0x........ by thread #x
+ at 0x........: child64 (tc19_shadowmem.c:105)
+ by 0x........: steer (tc19_shadowmem.c:332)
+ by 0x........: mythread_wrapper (hg_intercepts.c:...)
+ ...
+ This conflicts with a previous write of size 2 by thread #x
+ at 0x........: child64 (tc19_shadowmem.c:105)
+ by 0x........: steer (tc19_shadowmem.c:332)
+ by 0x........: mythread_wrapper (hg_intercepts.c:...)
+ ...
+
+Possible data race during write of size 2 at 0x........ by thread #x
+ at 0x........: child64 (tc19_shadowmem.c:105)
+ by 0x........: steer (tc19_shadowmem.c:332)
+ by 0x........: mythread_wrapper (hg_intercepts.c:...)
+ ...
+ This conflicts with a previous write of size 2 by thread #x
+ at 0x........: child64 (tc19_shadowmem.c:105)
+ by 0x........: steer (tc19_shadowmem.c:332)
+ by 0x........: mythread_wrapper (hg_intercepts.c:...)
+ ...
+
+Possible data race during write of size 2 at 0x........ by thread #x
+ at 0x........: child64 (tc19_shadowmem.c:105)
+ by 0x........: steer (tc19_shadowmem.c:332)
+ by 0x........: mythread_wrapper (hg_intercepts.c:...)
+ ...
+ This conflicts with a previous write of size 2 by thread #x
+ at 0x........: child64 (tc19_shadowmem.c:105)
+ by 0x........: steer (tc19_shadowmem.c:332)
+ by 0x........: mythread_wrapper (hg_intercepts.c:...)
+ ...
+
+Possible data race during write of size 2 at 0x........ by thread #x
+ at 0x........: child64 (tc19_shadowmem.c:105)
+ by 0x........: steer (tc19_shadowmem.c:332)
+ by 0x........: mythread_wrapper (hg_intercepts.c:...)
+ ...
+ This conflicts with a previous write of size 2 by thread #x
+ at 0x........: child64 (tc19_shadowmem.c:105)
+ by 0x........: steer (tc19_shadowmem.c:332)
+ by 0x........: mythread_wrapper (hg_intercepts.c:...)
+ ...
+---------- double gran, 7 .. 92, skip 23 ----------
+
+Thread #x was created
+ ...
+ by 0x........: pthread_create@* (hg_intercepts.c:...)
+ by 0x........: main (tc19_shadowmem.c:266)
+
+Thread #x was created
+ ...
+ by 0x........: pthread_create@* (hg_intercepts.c:...)
+ by 0x........: main (tc19_shadowmem.c:265)
+
+Possible data race during write of size 1 at 0x........ by thread #x
+ at 0x........: child64 (tc19_shadowmem.c:105)
+ by 0x........: steer (tc19_shadowmem.c:334)
+ by 0x........: mythread_wrapper (hg_intercepts.c:...)
+ ...
+ This conflicts with a previous write of size 1 by thread #x
+ at 0x........: child64 (tc19_shadowmem.c:105)
+ by 0x........: steer (tc19_shadowmem.c:334)
+ by 0x........: mythread_wrapper (hg_intercepts.c:...)
+ ...
+
+Possible data race during write of size 1 at 0x........ by thread #x
+ at 0x........: child64 (tc19_shadowmem.c:105)
+ by 0x........: steer (tc19_shadowmem.c:334)
+ by 0x........: mythread_wrapper (hg_intercepts.c:...)
+ ...
+ This conflicts with a previous write of size 1 by thread #x
+ at 0x........: child64 (tc19_shadowmem.c:105)
+ by 0x........: steer (tc19_shadowmem.c:334)
+ by 0x........: mythread_wrapper (hg_intercepts.c:...)
+ ...
+
+Possible data race during write of size 1 at 0x........ by thread #x
+ at 0x........: child64 (tc19_shadowmem.c:105)
+ by 0x........: steer (tc19_shadowmem.c:334)
+ by 0x........: mythread_wrapper (hg_intercepts.c:...)
+ ...
+ This conflicts with a previous write of size 1 by thread #x
+ at 0x........: child64 (tc19_shadowmem.c:105)
+ by 0x........: steer (tc19_shadowmem.c:334)
+ by 0x........: mythread_wrapper (hg_intercepts.c:...)
+ ...
+
+Possible data race during write of size 1 at 0x........ by thread #x
+ at 0x........: child64 (tc19_shadowmem.c:105)
+ by 0x........: steer (tc19_shadowmem.c:334)
+ by 0x........: mythread_wrapper (hg_intercepts.c:...)
+ ...
+ This conflicts with a previous write of size 1 by thread #x
+ at 0x........: child64 (tc19_shadowmem.c:105)
+ by 0x........: steer (tc19_shadowmem.c:334)
+ by 0x........: mythread_wrapper (hg_intercepts.c:...)
+ ...
+
+Possible data race during write of size 1 at 0x........ by thread #x
+ at 0x........: child64 (tc19_shadowmem.c:105)
+ by 0x........: steer (tc19_shadowmem.c:334)
+ by 0x........: mythread_wrapper (hg_intercepts.c:...)
+ ...
+ This conflicts with a previous write of size 1 by thread #x
+ at 0x........: child64 (tc19_shadowmem.c:105)
+ by 0x........: steer (tc19_shadowmem.c:334)
+ by 0x........: mythread_wrapper (hg_intercepts.c:...)
+ ...
+
+Possible data race during write of size 1 at 0x........ by thread #x
+ at 0x........: child64 (tc19_shadowmem.c:105)
+ by 0x........: steer (tc19_shadowmem.c:334)
+ by 0x........: mythread_wrapper (hg_intercepts.c:...)
+ ...
+ This conflicts with a previous write of size 1 by thread #x
+ at 0x........: child64 (tc19_shadowmem.c:105)
+ by 0x........: steer (tc19_shadowmem.c:334)
+ by 0x........: mythread_wrapper (hg_intercepts.c:...)
+ ...
+
+Possible data race during write of size 1 at 0x........ by thread #x
+ at 0x........: child64 (tc19_shadowmem.c:105)
+ by 0x........: steer (tc19_shadowmem.c:334)
+ by 0x........: mythread_wrapper (hg_intercepts.c:...)
+ ...
+ This conflicts with a previous write of size 1 by thread #x
+ at 0x........: child64 (tc19_shadowmem.c:105)
+ by 0x........: steer (tc19_shadowmem.c:334)
+ by 0x........: mythread_wrapper (hg_intercepts.c:...)
+ ...
+
+Possible data race during write of size 1 at 0x........ by thread #x
+ at 0x........: child64 (tc19_shadowmem.c:105)
+ by 0x........: steer (tc19_shadowmem.c:334)
+ by 0x........: mythread_wrapper (hg_intercepts.c:...)
+ ...
+ This conflicts with a previous write of size 1 by thread #x
+ at 0x........: child64 (tc19_shadowmem.c:105)
+ by 0x........: steer (tc19_shadowmem.c:334)
+ by 0x........: mythread_wrapper (hg_intercepts.c:...)
+ ...
+---------- double gran, 0 .. 92, skip 24 ----------
+
+Thread #x was created
+ ...
+ by 0x........: pthread_create@* (hg_intercepts.c:...)
+ by 0x........: main (tc19_shadowmem.c:266)
+
+Thread #x was created
+ ...
+ by 0x........: pthread_create@* (hg_intercepts.c:...)
+ by 0x........: main (tc19_shadowmem.c:265)
+
+Possible data race during write of size 8 at 0x........ by thread #x
+ at 0x........: child64 (tc19_shadowmem.c:105)
+ by 0x........: steer (tc19_shadowmem.c:336)
+ by 0x........: mythread_wrapper (hg_intercepts.c:...)
+ ...
+ This conflicts with a previous write of size 8 by thread #x
+ at 0x........: child64 (tc19_shadowmem.c:105)
+ by 0x........: steer (tc19_shadowmem.c:336)
+ by 0x........: mythread_wrapper (hg_intercepts.c:...)
+ ...
+---------- double gran, 1 .. 92, skip 25 ----------
+
+Thread #x was created
+ ...
+ by 0x........: pthread_create@* (hg_intercepts.c:...)
+ by 0x........: main (tc19_shadowmem.c:266)
+
+Thread #x was created
+ ...
+ by 0x........: pthread_create@* (hg_intercepts.c:...)
+ by 0x........: main (tc19_shadowmem.c:265)
+
+Possible data race during write of size 1 at 0x........ by thread #x
+ at 0x........: child64 (tc19_shadowmem.c:105)
+ by 0x........: steer (tc19_shadowmem.c:338)
+ by 0x........: mythread_wrapper (hg_intercepts.c:...)
+ ...
+ This conflicts with a previous write of size 1 by thread #x
+ at 0x........: child64 (tc19_shadowmem.c:105)
+ by 0x........: steer (tc19_shadowmem.c:338)
+ by 0x........: mythread_wrapper (hg_intercepts.c:...)
+ ...
+
+Possible data race during write of size 1 at 0x........ by thread #x
+ at 0x........: child64 (tc19_shadowmem.c:105)
+ by 0x........: steer (tc19_shadowmem.c:338)
+ by 0x........: mythread_wrapper (hg_intercepts.c:...)
+ ...
+ This conflicts with a previous write of size 1 by thread #x
+ at 0x........: child64 (tc19_shadowmem.c:105)
+ by 0x........: steer (tc19_shadowmem.c:338)
+ by 0x........: mythread_wrapper (hg_intercepts.c:...)
+ ...
+
+Possible data race during write of size 1 at 0x........ by thread #x
+ at 0x........: child64 (tc19_shadowmem.c:105)
+ by 0x........: steer (tc19_shadowmem.c:338)
+ by 0x........: mythread_wrapper (hg_intercepts.c:...)
+ ...
+ This conflicts with a previous write of size 1 by thread #x
+ at 0x........: child64 (tc19_shadowmem.c:105)
+ by 0x........: steer (tc19_shadowmem.c:338)
+ by 0x........: mythread_wrapper (hg_intercepts.c:...)
+ ...
+
+Possible data race during write of size 1 at 0x........ by thread #x
+ at 0x........: child64 (tc19_shadowmem.c:105)
+ by 0x........: steer (tc19_shadowmem.c:338)
+ by 0x........: mythread_wrapper (hg_intercepts.c:...)
+ ...
+ This conflicts with a previous write of size 1 by thread #x
+ at 0x........: child64 (tc19_shadowmem.c:105)
+ by 0x........: steer (tc19_shadowmem.c:338)
+ by 0x........: mythread_wrapper (hg_intercepts.c:...)
+ ...
+
+Possible data race during write of size 1 at 0x........ by thread #x
+ at 0x........: child64 (tc19_shadowmem.c:105)
+ by 0x........: steer (tc19_shadowmem.c:338)
+ by 0x........: mythread_wrapper (hg_intercepts.c:...)
+ ...
+ This conflicts with a previous write of size 1 by thread #x
+ at 0x........: child64 (tc19_shadowmem.c:105)
+ by 0x........: steer (tc19_shadowmem.c:338)
+ by 0x........: mythread_wrapper (hg_intercepts.c:...)
+ ...
+
+Possible data race during write of size 1 at 0x........ by thread #x
+ at 0x........: child64 (tc19_shadowmem.c:105)
+ by 0x........: steer (tc19_shadowmem.c:338)
+ by 0x........: mythread_wrapper (hg_intercepts.c:...)
+ ...
+ This conflicts with a previous write of size 1 by thread #x
+ at 0x........: child64 (tc19_shadowmem.c:105)
+ by 0x........: steer (tc19_shadowmem.c:338)
+ by 0x........: mythread_wrapper (hg_intercepts.c:...)
+ ...
+
+Possible data race during write of size 1 at 0x........ by thread #x
+ at 0x........: child64 (tc19_shadowmem.c:105)
+ by 0x........: steer (tc19_shadowmem.c:338)
+ by 0x........: mythread_wrapper (hg_intercepts.c:...)
+ ...
+ This conflicts with a previous write of size 1 by thread #x
+ at 0x........: child64 (tc19_shadowmem.c:105)
+ by 0x........: steer (tc19_shadowmem.c:338)
+ by 0x........: mythread_wrapper (hg_intercepts.c:...)
+ ...
+
+Possible data race during write of size 1 at 0x........ by thread #x
+ at 0x........: child64 (tc19_shadowmem.c:105)
+ by 0x........: steer (tc19_shadowmem.c:338)
+ by 0x........: mythread_wrapper (hg_intercepts.c:...)
+ ...
+ This conflicts with a previous write of size 1 by thread #x
+ at 0x........: child64 (tc19_shadowmem.c:105)
+ by 0x........: steer (tc19_shadowmem.c:338)
+ by 0x........: mythread_wrapper (hg_intercepts.c:...)
+ ...
+---------- double gran, 2 .. 92, skip 26 ----------
+
+Thread #x was created
+ ...
+ by 0x........: pthread_create@* (hg_intercepts.c:...)
+ by 0x........: main (tc19_shadowmem.c:266)
+
+Thread #x was created
+ ...
+ by 0x........: pthread_create@* (hg_intercepts.c:...)
+ by 0x........: main (tc19_shadowmem.c:265)
+
+Possible data race during write of size 2 at 0x........ by thread #x
+ at 0x........: child64 (tc19_shadowmem.c:105)
+ by 0x........: steer (tc19_shadowmem.c:340)
+ by 0x........: mythread_wrapper (hg_intercepts.c:...)
+ ...
+ This conflicts with a previous write of size 2 by thread #x
+ at 0x........: child64 (tc19_shadowmem.c:105)
+ by 0x........: steer (tc19_shadowmem.c:340)
+ by 0x........: mythread_wrapper (hg_intercepts.c:...)
+ ...
+
+Possible data race during write of size 2 at 0x........ by thread #x
+ at 0x........: child64 (tc19_shadowmem.c:105)
+ by 0x........: steer (tc19_shadowmem.c:340)
+ by 0x........: mythread_wrapper (hg_intercepts.c:...)
+ ...
+ This conflicts with a previous write of size 2 by thread #x
+ at 0x........: child64 (tc19_shadowmem.c:105)
+ by 0x........: steer (tc19_shadowmem.c:340)
+ by 0x........: mythread_wrapper (hg_intercepts.c:...)
+ ...
+
+Possible data race during write of size 2 at 0x........ by thread #x
+ at 0x........: child64 (tc19_shadowmem.c:105)
+ by 0x........: steer (tc19_shadowmem.c:340)
+ by 0x........: mythread_wrapper (hg_intercepts.c:...)
+ ...
+ This conflicts with a previous write of size 2 by thread #x
+ at 0x........: child64 (tc19_shadowmem.c:105)
+ by 0x........: steer (tc19_shadowmem.c:340)
+ by 0x........: mythread_wrapper (hg_intercepts.c:...)
+ ...
+
+Possible data race during write of size 2 at 0x........ by thread #x
+ at 0x........: child64 (tc19_shadowmem.c:105)
+ by 0x........: steer (tc19_shadowmem.c:340)
+ by 0x........: mythread_wrapper (hg_intercepts.c:...)
+ ...
+ This conflicts with a previous write of size 2 by thread #x
+ at 0x........: child64 (tc19_shadowmem.c:105)
+ by 0x........: steer (tc19_shadowmem.c:340)
+ by 0x........: mythread_wrapper (hg_intercepts.c:...)
+ ...
+---------- double gran, 3 .. 92, skip 27 ----------
+
+Thread #x was created
+ ...
+ by 0x........: pthread_create@* (hg_intercepts.c:...)
+ by 0x........: main (tc19_shadowmem.c:266)
+
+Thread #x was created
+ ...
+ by 0x........: pthread_create@* (hg_intercepts.c:...)
+ by 0x........: main (tc19_shadowmem.c:265)
+
+Possible data race during write of size 1 at 0x........ by thread #x
+ at 0x........: child64 (tc19_shadowmem.c:105)
+ by 0x........: steer (tc19_shadowmem.c:342)
+ by 0x........: mythread_wrapper (hg_intercepts.c:...)
+ ...
+ This conflicts with a previous write of size 1 by thread #x
+ at 0x........: child64 (tc19_shadowmem.c:105)
+ by 0x........: steer (tc19_shadowmem.c:342)
+ by 0x........: mythread_wrapper (hg_intercepts.c:...)
+ ...
+
+Possible data race during write of size 1 at 0x........ by thread #x
+ at 0x........: child64 (tc19_shadowmem.c:105)
+ by 0x........: steer (tc19_shadowmem.c:342)
+ by 0x........: mythread_wrapper (hg_intercepts.c:...)
+ ...
+ This conflicts with a previous write of size 1 by thread #x
+ at 0x........: child64 (tc19_shadowmem.c:105)
+ by 0x........: steer (tc19_shadowmem.c:342)
+ by 0x........: mythread_wrapper (hg_intercepts.c:...)
+ ...
+
+Possible data race during write of size 1 at 0x........ by thread #x
+ at 0x........: child64 (tc19_shadowmem.c:105)
+ by 0x........: steer (tc19_shadowmem.c:342)
+ by 0x........: mythread_wrapper (hg_intercepts.c:...)
+ ...
+ This conflicts with a previous write of size 1 by thread #x
+ at 0x........: child64 (tc19_shadowmem.c:105)
+ by 0x........: steer (tc19_shadowmem.c:342)
+ by 0x........: mythread_wrapper (hg_intercepts.c:...)
+ ...
+
+Possible data race during write of size 1 at 0x........ by thread #x
+ at 0x........: child64 (tc19_shadowmem.c:105)
+ by 0x........: steer (tc19_shadowmem.c:342)
+ by 0x........: mythread_wrapper (hg_intercepts.c:...)
+ ...
+ This conflicts with a previous write of size 1 by thread #x
+ at 0x........: child64 (tc19_shadowmem.c:105)
+ by 0x........: steer (tc19_shadowmem.c:342)
+ by 0x........: mythread_wrapper (hg_intercepts.c:...)
+ ...
+
+Possible data race during write of size 1 at 0x........ by thread #x
+ at 0x........: child64 (tc19_shadowmem.c:105)
+ by 0x........: steer (tc19_shadowmem.c:342)
+ by 0x........: mythread_wrapper (hg_intercepts.c:...)
+ ...
+ This conflicts with a previous write of size 1 by thread #x
+ at 0x........: child64 (tc19_shadowmem.c:105)
+ by 0x........: steer (tc19_shadowmem.c:342)
+ by 0x........: mythread_wrapper (hg_intercepts.c:...)
+ ...
+
+Possible data race during write of size 1 at 0x........ by thread #x
+ at 0x........: child64 (tc19_shadowmem.c:105)
+ by 0x........: steer (tc19_shadowmem.c:342)
+ by 0x........: mythread_wrapper (hg_intercepts.c:...)
+ ...
+ This conflicts with a previous write of size 1 by thread #x
+ at 0x........: child64 (tc19_shadowmem.c:105)
+ by 0x........: steer (tc19_shadowmem.c:342)
+ by 0x........: mythread_wrapper (hg_intercepts.c:...)
+ ...
+
+Possible data race during write of size 1 at 0x........ by thread #x
+ at 0x........: child64 (tc19_shadowmem.c:105)
+ by 0x........: steer (tc19_shadowmem.c:342)
+ by 0x........: mythread_wrapper (hg_intercepts.c:...)
+ ...
+ This conflicts with a previous write of size 1 by thread #x
+ at 0x........: child64 (tc19_shadowmem.c:105)
+ by 0x........: steer (tc19_shadowmem.c:342)
+ by 0x........: mythread_wrapper (hg_intercepts.c:...)
+ ...
+
+Possible data race during write of size 1 at 0x........ by thread #x
+ at 0x........: child64 (tc19_shadowmem.c:105)
+ by 0x........: steer (tc19_shadowmem.c:342)
+ by 0x........: mythread_wrapper (hg_intercepts.c:...)
+ ...
+ This conflicts with a previous write of size 1 by thread #x
+ at 0x........: child64 (tc19_shadowmem.c:105)
+ by 0x........: steer (tc19_shadowmem.c:342)
+ by 0x........: mythread_wrapper (hg_intercepts.c:...)
+ ...
+---------- double gran, 4 .. 92, skip 28 ----------
+
+Thread #x was created
+ ...
+ by 0x........: pthread_create@* (hg_intercepts.c:...)
+ by 0x........: main (tc19_shadowmem.c:266)
+
+Thread #x was created
+ ...
+ by 0x........: pthread_create@* (hg_intercepts.c:...)
+ by 0x........: main (tc19_shadowmem.c:265)
+
+Possible data race during write of size 4 at 0x........ by thread #x
+ at 0x........: child64 (tc19_shadowmem.c:105)
+ by 0x........: steer (tc19_shadowmem.c:344)
+ by 0x........: mythread_wrapper (hg_intercepts.c:...)
+ ...
+ This conflicts with a previous write of size 4 by thread #x
+ at 0x........: child64 (tc19_shadowmem.c:105)
+ by 0x........: steer (tc19_shadowmem.c:344)
+ by 0x........: mythread_wrapper (hg_intercepts.c:...)
+ ...
+
+Possible data race during write of size 4 at 0x........ by thread #x
+ at 0x........: child64 (tc19_shadowmem.c:105)
+ by 0x........: steer (tc19_shadowmem.c:344)
+ by 0x........: mythread_wrapper (hg_intercepts.c:...)
+ ...
+ This conflicts with a previous write of size 4 by thread #x
+ at 0x........: child64 (tc19_shadowmem.c:105)
+ by 0x........: steer (tc19_shadowmem.c:344)
+ by 0x........: mythread_wrapper (hg_intercepts.c:...)
+ ...
+---------- double gran, 5 .. 92, skip 29 ----------
+
+Thread #x was created
+ ...
+ by 0x........: pthread_create@* (hg_intercepts.c:...)
+ by 0x........: main (tc19_shadowmem.c:266)
+
+Thread #x was created
+ ...
+ by 0x........: pthread_create@* (hg_intercepts.c:...)
+ by 0x........: main (tc19_shadowmem.c:265)
+
+Possible data race during write of size 1 at 0x........ by thread #x
+ at 0x........: child64 (tc19_shadowmem.c:105)
+ by 0x........: steer (tc19_shadowmem.c:346)
+ by 0x........: mythread_wrapper (hg_intercepts.c:...)
+ ...
+ This conflicts with a previous write of size 1 by thread #x
+ at 0x........: child64 (tc19_shadowmem.c:105)
+ by 0x........: steer (tc19_shadowmem.c:346)
+ by 0x........: mythread_wrapper (hg_intercepts.c:...)
+ ...
+
+Possible data race during write of size 1 at 0x........ by thread #x
+ at 0x........: child64 (tc19_shadowmem.c:105)
+ by 0x........: steer (tc19_shadowmem.c:346)
+ by 0x........: mythread_wrapper (hg_intercepts.c:...)
+ ...
+ This conflicts with a previous write of size 1 by thread #x
+ at 0x........: child64 (tc19_shadowmem.c:105)
+ by 0x........: steer (tc19_shadowmem.c:346)
+ by 0x........: mythread_wrapper (hg_intercepts.c:...)
+ ...
+
+Possible data race during write of size 1 at 0x........ by thread #x
+ at 0x........: child64 (tc19_shadowmem.c:105)
+ by 0x........: steer (tc19_shadowmem.c:346)
+ by 0x........: mythread_wrapper (hg_intercepts.c:...)
+ ...
+ This conflicts with a previous write of size 1 by thread #x
+ at 0x........: child64 (tc19_shadowmem.c:105)
+ by 0x........: steer (tc19_shadowmem.c:346)
+ by 0x........: mythread_wrapper (hg_intercepts.c:...)
+ ...
+
+Possible data race during write of size 1 at 0x........ by thread #x
+ at 0x........: child64 (tc19_shadowmem.c:105)
+ by 0x........: steer (tc19_shadowmem.c:346)
+ by 0x........: mythread_wrapper (hg_intercepts.c:...)
+ ...
+ This conflicts with a previous write of size 1 by thread #x
+ at 0x........: child64 (tc19_shadowmem.c:105)
+ by 0x........: steer (tc19_shadowmem.c:346)
+ by 0x........: mythread_wrapper (hg_intercepts.c:...)
+ ...
+
+Possible data race during write of size 1 at 0x........ by thread #x
+ at 0x........: child64 (tc19_shadowmem.c:105)
+ by 0x........: steer (tc19_shadowmem.c:346)
+ by 0x........: mythread_wrapper (hg_intercepts.c:...)
+ ...
+ This conflicts with a previous write of size 1 by thread #x
+ at 0x........: child64 (tc19_shadowmem.c:105)
+ by 0x........: steer (tc19_shadowmem.c:346)
+ by 0x........: mythread_wrapper (hg_intercepts.c:...)
+ ...
+
+Possible data race during write of size 1 at 0x........ by thread #x
+ at 0x........: child64 (tc19_shadowmem.c:105)
+ by 0x........: steer (tc19_shadowmem.c:346)
+ by 0x........: mythread_wrapper (hg_intercepts.c:...)
+ ...
+ This conflicts with a previous write of size 1 by thread #x
+ at 0x........: child64 (tc19_shadowmem.c:105)
+ by 0x........: steer (tc19_shadowmem.c:346)
+ by 0x........: mythread_wrapper (hg_intercepts.c:...)
+ ...
+
+Possible data race during write of size 1 at 0x........ by thread #x
+ at 0x........: child64 (tc19_shadowmem.c:105)
+ by 0x........: steer (tc19_shadowmem.c:346)
+ by 0x........: mythread_wrapper (hg_intercepts.c:...)
+ ...
+ This conflicts with a previous write of size 1 by thread #x
+ at 0x........: child64 (tc19_shadowmem.c:105)
+ by 0x........: steer (tc19_shadowmem.c:346)
+ by 0x........: mythread_wrapper (hg_intercepts.c:...)
+ ...
+
+Possible data race during write of size 1 at 0x........ by thread #x
+ at 0x........: child64 (tc19_shadowmem.c:105)
+ by 0x........: steer (tc19_shadowmem.c:346)
+ by 0x........: mythread_wrapper (hg_intercepts.c:...)
+ ...
+ This conflicts with a previous write of size 1 by thread #x
+ at 0x........: child64 (tc19_shadowmem.c:105)
+ by 0x........: steer (tc19_shadowmem.c:346)
+ by 0x........: mythread_wrapper (hg_intercepts.c:...)
+ ...
+---------- double gran, 6 .. 92, skip 30 ----------
+
+Thread #x was created
+ ...
+ by 0x........: pthread_create@* (hg_intercepts.c:...)
+ by 0x........: main (tc19_shadowmem.c:266)
+
+Thread #x was created
+ ...
+ by 0x........: pthread_create@* (hg_intercepts.c:...)
+ by 0x........: main (tc19_shadowmem.c:265)
+
+Possible data race during write of size 2 at 0x........ by thread #x
+ at 0x........: child64 (tc19_shadowmem.c:105)
+ by 0x........: steer (tc19_shadowmem.c:348)
+ by 0x........: mythread_wrapper (hg_intercepts.c:...)
+ ...
+ This conflicts with a previous write of size 2 by thread #x
+ at 0x........: child64 (tc19_shadowmem.c:105)
+ by 0x........: steer (tc19_shadowmem.c:348)
+ by 0x........: mythread_wrapper (hg_intercepts.c:...)
+ ...
+
+Possible data race during write of size 2 at 0x........ by thread #x
+ at 0x........: child64 (tc19_shadowmem.c:105)
+ by 0x........: steer (tc19_shadowmem.c:348)
+ by 0x........: mythread_wrapper (hg_intercepts.c:...)
+ ...
+ This conflicts with a previous write of size 2 by thread #x
+ at 0x........: child64 (tc19_shadowmem.c:105)
+ by 0x........: steer (tc19_shadowmem.c:348)
+ by 0x........: mythread_wrapper (hg_intercepts.c:...)
+ ...
+
+Possible data race during write of size 2 at 0x........ by thread #x
+ at 0x........: child64 (tc19_shadowmem.c:105)
+ by 0x........: steer (tc19_shadowmem.c:348)
+ by 0x........: mythread_wrapper (hg_intercepts.c:...)
+ ...
+ This conflicts with a previous write of size 2 by thread #x
+ at 0x........: child64 (tc19_shadowmem.c:105)
+ by 0x........: steer (tc19_shadowmem.c:348)
+ by 0x........: mythread_wrapper (hg_intercepts.c:...)
+ ...
+
+Possible data race during write of size 2 at 0x........ by thread #x
+ at 0x........: child64 (tc19_shadowmem.c:105)
+ by 0x........: steer (tc19_shadowmem.c:348)
+ by 0x........: mythread_wrapper (hg_intercepts.c:...)
+ ...
+ This conflicts with a previous write of size 2 by thread #x
+ at 0x........: child64 (tc19_shadowmem.c:105)
+ by 0x........: steer (tc19_shadowmem.c:348)
+ by 0x........: mythread_wrapper (hg_intercepts.c:...)
+ ...
+---------- double gran, 7 .. 92, skip 31 ----------
+
+Thread #x was created
+ ...
+ by 0x........: pthread_create@* (hg_intercepts.c:...)
+ by 0x........: main (tc19_shadowmem.c:266)
+
+Thread #x was created
+ ...
+ by 0x........: pthread_create@* (hg_intercepts.c:...)
+ by 0x........: main (tc19_shadowmem.c:265)
+
+Possible data race during write of size 1 at 0x........ by thread #x
+ at 0x........: child64 (tc19_shadowmem.c:105)
+ by 0x........: steer (tc19_shadowmem.c:350)
+ by 0x........: mythread_wrapper (hg_intercepts.c:...)
+ ...
+ This conflicts with a previous write of size 1 by thread #x
+ at 0x........: child64 (tc19_shadowmem.c:105)
+ by 0x........: steer (tc19_shadowmem.c:350)
+ by 0x........: mythread_wrapper (hg_intercepts.c:...)
+ ...
+
+Possible data race during write of size 1 at 0x........ by thread #x
+ at 0x........: child64 (tc19_shadowmem.c:105)
+ by 0x........: steer (tc19_shadowmem.c:350)
+ by 0x........: mythread_wrapper (hg_intercepts.c:...)
+ ...
+ This conflicts with a previous write of size 1 by thread #x
+ at 0x........: child64 (tc19_shadowmem.c:105)
+ by 0x........: steer (tc19_shadowmem.c:350)
+ by 0x........: mythread_wrapper (hg_intercepts.c:...)
+ ...
+
+Possible data race during write of size 1 at 0x........ by thread #x
+ at 0x........: child64 (tc19_shadowmem.c:105)
+ by 0x........: steer (tc19_shadowmem.c:350)
+ by 0x........: mythread_wrapper (hg_intercepts.c:...)
+ ...
+ This conflicts with a previous write of size 1 by thread #x
+ at 0x........: child64 (tc19_shadowmem.c:105)
+ by 0x........: steer (tc19_shadowmem.c:350)
+ by 0x........: mythread_wrapper (hg_intercepts.c:...)
+ ...
+
+Possible data race during write of size 1 at 0x........ by thread #x
+ at 0x........: child64 (tc19_shadowmem.c:105)
+ by 0x........: steer (tc19_shadowmem.c:350)
+ by 0x........: mythread_wrapper (hg_intercepts.c:...)
+ ...
+ This conflicts with a previous write of size 1 by thread #x
+ at 0x........: child64 (tc19_shadowmem.c:105)
+ by 0x........: steer (tc19_shadowmem.c:350)
+ by 0x........: mythread_wrapper (hg_intercepts.c:...)
+ ...
+
+Possible data race during write of size 1 at 0x........ by thread #x
+ at 0x........: child64 (tc19_shadowmem.c:105)
+ by 0x........: steer (tc19_shadowmem.c:350)
+ by 0x........: mythread_wrapper (hg_intercepts.c:...)
+ ...
+ This conflicts with a previous write of size 1 by thread #x
+ at 0x........: child64 (tc19_shadowmem.c:105)
+ by 0x........: steer (tc19_shadowmem.c:350)
+ by 0x........: mythread_wrapper (hg_intercepts.c:...)
+ ...
+
+Possible data race during write of size 1 at 0x........ by thread #x
+ at 0x........: child64 (tc19_shadowmem.c:105)
+ by 0x........: steer (tc19_shadowmem.c:350)
+ by 0x........: mythread_wrapper (hg_intercepts.c:...)
+ ...
+ This conflicts with a previous write of size 1 by thread #x
+ at 0x........: child64 (tc19_shadowmem.c:105)
+ by 0x........: steer (tc19_shadowmem.c:350)
+ by 0x........: mythread_wrapper (hg_intercepts.c:...)
+ ...
+
+Possible data race during write of size 1 at 0x........ by thread #x
+ at 0x........: child64 (tc19_shadowmem.c:105)
+ by 0x........: steer (tc19_shadowmem.c:350)
+ by 0x........: mythread_wrapper (hg_intercepts.c:...)
+ ...
+ This conflicts with a previous write of size 1 by thread #x
+ at 0x........: child64 (tc19_shadowmem.c:105)
+ by 0x........: steer (tc19_shadowmem.c:350)
+ by 0x........: mythread_wrapper (hg_intercepts.c:...)
+ ...
+
+Possible data race during write of size 1 at 0x........ by thread #x
+ at 0x........: child64 (tc19_shadowmem.c:105)
+ by 0x........: steer (tc19_shadowmem.c:350)
+ by 0x........: mythread_wrapper (hg_intercepts.c:...)
+ ...
+ This conflicts with a previous write of size 1 by thread #x
+ at 0x........: child64 (tc19_shadowmem.c:105)
+ by 0x........: steer (tc19_shadowmem.c:350)
+ by 0x........: mythread_wrapper (hg_intercepts.c:...)
+ ...
+---------- double gran, 0 .. 92, skip 32 ----------
+
+Thread #x was created
+ ...
+ by 0x........: pthread_create@* (hg_intercepts.c:...)
+ by 0x........: main (tc19_shadowmem.c:266)
+
+Thread #x was created
+ ...
+ by 0x........: pthread_create@* (hg_intercepts.c:...)
+ by 0x........: main (tc19_shadowmem.c:265)
+
+Possible data race during write of size 8 at 0x........ by thread #x
+ at 0x........: child64 (tc19_shadowmem.c:105)
+ by 0x........: steer (tc19_shadowmem.c:352)
+ by 0x........: mythread_wrapper (hg_intercepts.c:...)
+ ...
+ This conflicts with a previous write of size 8 by thread #x
+ at 0x........: child64 (tc19_shadowmem.c:105)
+ by 0x........: steer (tc19_shadowmem.c:352)
+ by 0x........: mythread_wrapper (hg_intercepts.c:...)
+ ...
+---------- double gran, 1 .. 92, skip 33 ----------
+
+Thread #x was created
+ ...
+ by 0x........: pthread_create@* (hg_intercepts.c:...)
+ by 0x........: main (tc19_shadowmem.c:266)
+
+Thread #x was created
+ ...
+ by 0x........: pthread_create@* (hg_intercepts.c:...)
+ by 0x........: main (tc19_shadowmem.c:265)
+
+Possible data race during write of size 1 at 0x........ by thread #x
+ at 0x........: child64 (tc19_shadowmem.c:105)
+ by 0x........: steer (tc19_shadowmem.c:354)
+ by 0x........: mythread_wrapper (hg_intercepts.c:...)
+ ...
+ This conflicts with a previous write of size 1 by thread #x
+ at 0x........: child64 (tc19_shadowmem.c:105)
+ by 0x........: steer (tc19_shadowmem.c:354)
+ by 0x........: mythread_wrapper (hg_intercepts.c:...)
+ ...
+
+Possible data race during write of size 1 at 0x........ by thread #x
+ at 0x........: child64 (tc19_shadowmem.c:105)
+ by 0x........: steer (tc19_shadowmem.c:354)
+ by 0x........: mythread_wrapper (hg_intercepts.c:...)
+ ...
+ This conflicts with a previous write of size 1 by thread #x
+ at 0x........: child64 (tc19_shadowmem.c:105)
+ by 0x........: steer (tc19_shadowmem.c:354)
+ by 0x........: mythread_wrapper (hg_intercepts.c:...)
+ ...
+
+Possible data race during write of size 1 at 0x........ by thread #x
+ at 0x........: child64 (tc19_shadowmem.c:105)
+ by 0x........: steer (tc19_shadowmem.c:354)
+ by 0x........: mythread_wrapper (hg_intercepts.c:...)
+ ...
+ This conflicts with a previous write of size 1 by thread #x
+ at 0x........: child64 (tc19_shadowmem.c:105)
+ by 0x........: steer (tc19_shadowmem.c:354)
+ by 0x........: mythread_wrapper (hg_intercepts.c:...)
+ ...
+
+Possible data race during write of size 1 at 0x........ by thread #x
+ at 0x........: child64 (tc19_shadowmem.c:105)
+ by 0x........: steer (tc19_shadowmem.c:354)
+ by 0x........: mythread_wrapper (hg_intercepts.c:...)
+ ...
+ This conflicts with a previous write of size 1 by thread #x
+ at 0x........: child64 (tc19_shadowmem.c:105)
+ by 0x........: steer (tc19_shadowmem.c:354)
+ by 0x........: mythread_wrapper (hg_intercepts.c:...)
+ ...
+
+Possible data race during write of size 1 at 0x........ by thread #x
+ at 0x........: child64 (tc19_shadowmem.c:105)
+ by 0x........: steer (tc19_shadowmem.c:354)
+ by 0x........: mythread_wrapper (hg_intercepts.c:...)
+ ...
+ This conflicts with a previous write of size 1 by thread #x
+ at 0x........: child64 (tc19_shadowmem.c:105)
+ by 0x........: steer (tc19_shadowmem.c:354)
+ by 0x........: mythread_wrapper (hg_intercepts.c:...)
+ ...
+
+Possible data race during write of size 1 at 0x........ by thread #x
+ at 0x........: child64 (tc19_shadowmem.c:105)
+ by 0x........: steer (tc19_shadowmem.c:354)
+ by 0x........: mythread_wrapper (hg_intercepts.c:...)
+ ...
+ This conflicts with a previous write of size 1 by thread #x
+ at 0x........: child64 (tc19_shadowmem.c:105)
+ by 0x........: steer (tc19_shadowmem.c:354)
+ by 0x........: mythread_wrapper (hg_intercepts.c:...)
+ ...
+
+Possible data race during write of size 1 at 0x........ by thread #x
+ at 0x........: child64 (tc19_shadowmem.c:105)
+ by 0x........: steer (tc19_shadowmem.c:354)
+ by 0x........: mythread_wrapper (hg_intercepts.c:...)
+ ...
+ This conflicts with a previous write of size 1 by thread #x
+ at 0x........: child64 (tc19_shadowmem.c:105)
+ by 0x........: steer (tc19_shadowmem.c:354)
+ by 0x........: mythread_wrapper (hg_intercepts.c:...)
+ ...
+
+Possible data race during write of size 1 at 0x........ by thread #x
+ at 0x........: child64 (tc19_shadowmem.c:105)
+ by 0x........: steer (tc19_shadowmem.c:354)
+ by 0x........: mythread_wrapper (hg_intercepts.c:...)
+ ...
+ This conflicts with a previous write of size 1 by thread #x
+ at 0x........: child64 (tc19_shadowmem.c:105)
+ by 0x........: steer (tc19_shadowmem.c:354)
+ by 0x........: mythread_wrapper (hg_intercepts.c:...)
+ ...
+---------- double gran, 2 .. 92, skip 34 ----------
+
+Thread #x was created
+ ...
+ by 0x........: pthread_create@* (hg_intercepts.c:...)
+ by 0x........: main (tc19_shadowmem.c:266)
+
+Thread #x was created
+ ...
+ by 0x........: pthread_create@* (hg_intercepts.c:...)
+ by 0x........: main (tc19_shadowmem.c:265)
+
+Possible data race during write of size 2 at 0x........ by thread #x
+ at 0x........: child64 (tc19_shadowmem.c:105)
+ by 0x........: steer (tc19_shadowmem.c:356)
+ by 0x........: mythread_wrapper (hg_intercepts.c:...)
+ ...
+ This conflicts with a previous write of size 2 by thread #x
+ at 0x........: child64 (tc19_shadowmem.c:105)
+ by 0x........: steer (tc19_shadowmem.c:356)
+ by 0x........: mythread_wrapper (hg_intercepts.c:...)
+ ...
+
+Possible data race during write of size 2 at 0x........ by thread #x
+ at 0x........: child64 (tc19_shadowmem.c:105)
+ by 0x........: steer (tc19_shadowmem.c:356)
+ by 0x........: mythread_wrapper (hg_intercepts.c:...)
+ ...
+ This conflicts with a previous write of size 2 by thread #x
+ at 0x........: child64 (tc19_shadowmem.c:105)
+ by 0x........: steer (tc19_shadowmem.c:356)
+ by 0x........: mythread_wrapper (hg_intercepts.c:...)
+ ...
+
+Possible data race during write of size 2 at 0x........ by thread #x
+ at 0x........: child64 (tc19_shadowmem.c:105)
+ by 0x........: steer (tc19_shadowmem.c:356)
+ by 0x........: mythread_wrapper (hg_intercepts.c:...)
+ ...
+ This conflicts with a previous write of size 2 by thread #x
+ at 0x........: child64 (tc19_shadowmem.c:105)
+ by 0x........: steer (tc19_shadowmem.c:356)
+ by 0x........: mythread_wrapper (hg_intercepts.c:...)
+ ...
+
+Possible data race during write of size 2 at 0x........ by thread #x
+ at 0x........: child64 (tc19_shadowmem.c:105)
+ by 0x........: steer (tc19_shadowmem.c:356)
+ by 0x........: mythread_wrapper (hg_intercepts.c:...)
+ ...
+ This conflicts with a previous write of size 2 by thread #x
+ at 0x........: child64 (tc19_shadowmem.c:105)
+ by 0x........: steer (tc19_shadowmem.c:356)
+ by 0x........: mythread_wrapper (hg_intercepts.c:...)
+ ...
+---------- double gran, 3 .. 92, skip 35 ----------
+
+Thread #x was created
+ ...
+ by 0x........: pthread_create@* (hg_intercepts.c:...)
+ by 0x........: main (tc19_shadowmem.c:266)
+
+Thread #x was created
+ ...
+ by 0x........: pthread_create@* (hg_intercepts.c:...)
+ by 0x........: main (tc19_shadowmem.c:265)
+
+Possible data race during write of size 1 at 0x........ by thread #x
+ at 0x........: child64 (tc19_shadowmem.c:105)
+ by 0x........: steer (tc19_shadowmem.c:358)
+ by 0x........: mythread_wrapper (hg_intercepts.c:...)
+ ...
+ This conflicts with a previous write of size 1 by thread #x
+ at 0x........: child64 (tc19_shadowmem.c:105)
+ by 0x........: steer (tc19_shadowmem.c:358)
+ by 0x........: mythread_wrapper (hg_intercepts.c:...)
+ ...
+
+Possible data race during write of size 1 at 0x........ by thread #x
+ at 0x........: child64 (tc19_shadowmem.c:105)
+ by 0x........: steer (tc19_shadowmem.c:358)
+ by 0x........: mythread_wrapper (hg_intercepts.c:...)
+ ...
+ This conflicts with a previous write of size 1 by thread #x
+ at 0x........: child64 (tc19_shadowmem.c:105)
+ by 0x........: steer (tc19_shadowmem.c:358)
+ by 0x........: mythread_wrapper (hg_intercepts.c:...)
+ ...
+
+Possible data race during write of size 1 at 0x........ by thread #x
+ at 0x........: child64 (tc19_shadowmem.c:105)
+ by 0x........: steer (tc19_shadowmem.c:358)
+ by 0x........: mythread_wrapper (hg_intercepts.c:...)
+ ...
+ This conflicts with a previous write of size 1 by thread #x
+ at 0x........: child64 (tc19_shadowmem.c:105)
+ by 0x........: steer (tc19_shadowmem.c:358)
+ by 0x........: mythread_wrapper (hg_intercepts.c:...)
+ ...
+
+Possible data race during write of size 1 at 0x........ by thread #x
+ at 0x........: child64 (tc19_shadowmem.c:105)
+ by 0x........: steer (tc19_shadowmem.c:358)
+ by 0x........: mythread_wrapper (hg_intercepts.c:...)
+ ...
+ This conflicts with a previous write of size 1 by thread #x
+ at 0x........: child64 (tc19_shadowmem.c:105)
+ by 0x........: steer (tc19_shadowmem.c:358)
+ by 0x........: mythread_wrapper (hg_intercepts.c:...)
+ ...
+
+Possible data race during write of size 1 at 0x........ by thread #x
+ at 0x........: child64 (tc19_shadowmem.c:105)
+ by 0x........: steer (tc19_shadowmem.c:358)
+ by 0x........: mythread_wrapper (hg_intercepts.c:...)
+ ...
+ This conflicts with a previous write of size 1 by thread #x
+ at 0x........: child64 (tc19_shadowmem.c:105)
+ by 0x........: steer (tc19_shadowmem.c:358)
+ by 0x........: mythread_wrapper (hg_intercepts.c:...)
+ ...
+
+Possible data race during write of size 1 at 0x........ by thread #x
+ at 0x........: child64 (tc19_shadowmem.c:105)
+ by 0x........: steer (tc19_shadowmem.c:358)
+ by 0x........: mythread_wrapper (hg_intercepts.c:...)
+ ...
+ This conflicts with a previous write of size 1 by thread #x
+ at 0x........: child64 (tc19_shadowmem.c:105)
+ by 0x........: steer (tc19_shadowmem.c:358)
+ by 0x........: mythread_wrapper (hg_intercepts.c:...)
+ ...
+
+Possible data race during write of size 1 at 0x........ by thread #x
+ at 0x........: child64 (tc19_shadowmem.c:105)
+ by 0x........: steer (tc19_shadowmem.c:358)
+ by 0x........: mythread_wrapper (hg_intercepts.c:...)
+ ...
+ This conflicts with a previous write of size 1 by thread #x
+ at 0x........: child64 (tc19_shadowmem.c:105)
+ by 0x........: steer (tc19_shadowmem.c:358)
+ by 0x........: mythread_wrapper (hg_intercepts.c:...)
+ ...
+
+Possible data race during write of size 1 at 0x........ by thread #x
+ at 0x........: child64 (tc19_shadowmem.c:105)
+ by 0x........: steer (tc19_shadowmem.c:358)
+ by 0x........: mythread_wrapper (hg_intercepts.c:...)
+ ...
+ This conflicts with a previous write of size 1 by thread #x
+ at 0x........: child64 (tc19_shadowmem.c:105)
+ by 0x........: steer (tc19_shadowmem.c:358)
+ by 0x........: mythread_wrapper (hg_intercepts.c:...)
+ ...
+---------- double gran, 4 .. 92, skip 36 ----------
+
+Thread #x was created
+ ...
+ by 0x........: pthread_create@* (hg_intercepts.c:...)
+ by 0x........: main (tc19_shadowmem.c:266)
+
+Thread #x was created
+ ...
+ by 0x........: pthread_create@* (hg_intercepts.c:...)
+ by 0x........: main (tc19_shadowmem.c:265)
+
+Possible data race during write of size 4 at 0x........ by thread #x
+ at 0x........: child64 (tc19_shadowmem.c:105)
+ by 0x........: steer (tc19_shadowmem.c:360)
+ by 0x........: mythread_wrapper (hg_intercepts.c:...)
+ ...
+ This conflicts with a previous write of size 4 by thread #x
+ at 0x........: child64 (tc19_shadowmem.c:105)
+ by 0x........: steer (tc19_shadowmem.c:360)
+ by 0x........: mythread_wrapper (hg_intercepts.c:...)
+ ...
+
+Possible data race during write of size 4 at 0x........ by thread #x
+ at 0x........: child64 (tc19_shadowmem.c:105)
+ by 0x........: steer (tc19_shadowmem.c:360)
+ by 0x........: mythread_wrapper (hg_intercepts.c:...)
+ ...
+ This conflicts with a previous write of size 4 by thread #x
+ at 0x........: child64 (tc19_shadowmem.c:105)
+ by 0x........: steer (tc19_shadowmem.c:360)
+ by 0x........: mythread_wrapper (hg_intercepts.c:...)
+ ...
+---------- double gran, 5 .. 92, skip 37 ----------
+
+Thread #x was created
+ ...
+ by 0x........: pthread_create@* (hg_intercepts.c:...)
+ by 0x........: main (tc19_shadowmem.c:266)
+
+Thread #x was created
+ ...
+ by 0x........: pthread_create@* (hg_intercepts.c:...)
+ by 0x........: main (tc19_shadowmem.c:265)
+
+Possible data race during write of size 1 at 0x........ by thread #x
+ at 0x........: child64 (tc19_shadowmem.c:105)
+ by 0x........: steer (tc19_shadowmem.c:362)
+ by 0x........: mythread_wrapper (hg_intercepts.c:...)
+ ...
+ This conflicts with a previous write of size 1 by thread #x
+ at 0x........: child64 (tc19_shadowmem.c:105)
+ by 0x........: steer (tc19_shadowmem.c:362)
+ by 0x........: mythread_wrapper (hg_intercepts.c:...)
+ ...
+
+Possible data race during write of size 1 at 0x........ by thread #x
+ at 0x........: child64 (tc19_shadowmem.c:105)
+ by 0x........: steer (tc19_shadowmem.c:362)
+ by 0x........: mythread_wrapper (hg_intercepts.c:...)
+ ...
+ This conflicts with a previous write of size 1 by thread #x
+ at 0x........: child64 (tc19_shadowmem.c:105)
+ by 0x........: steer (tc19_shadowmem.c:362)
+ by 0x........: mythread_wrapper (hg_intercepts.c:...)
+ ...
+
+Possible data race during write of size 1 at 0x........ by thread #x
+ at 0x........: child64 (tc19_shadowmem.c:105)
+ by 0x........: steer (tc19_shadowmem.c:362)
+ by 0x........: mythread_wrapper (hg_intercepts.c:...)
+ ...
+ This conflicts with a previous write of size 1 by thread #x
+ at 0x........: child64 (tc19_shadowmem.c:105)
+ by 0x........: steer (tc19_shadowmem.c:362)
+ by 0x........: mythread_wrapper (hg_intercepts.c:...)
+ ...
+
+Possible data race during write of size 1 at 0x........ by thread #x
+ at 0x........: child64 (tc19_shadowmem.c:105)
+ by 0x........: steer (tc19_shadowmem.c:362)
+ by 0x........: mythread_wrapper (hg_intercepts.c:...)
+ ...
+ This conflicts with a previous write of size 1 by thread #x
+ at 0x........: child64 (tc19_shadowmem.c:105)
+ by 0x........: steer (tc19_shadowmem.c:362)
+ by 0x........: mythread_wrapper (hg_intercepts.c:...)
+ ...
+
+Possible data race during write of size 1 at 0x........ by thread #x
+ at 0x........: child64 (tc19_shadowmem.c:105)
+ by 0x........: steer (tc19_shadowmem.c:362)
+ by 0x........: mythread_wrapper (hg_intercepts.c:...)
+ ...
+ This conflicts with a previous write of size 1 by thread #x
+ at 0x........: child64 (tc19_shadowmem.c:105)
+ by 0x........: steer (tc19_shadowmem.c:362)
+ by 0x........: mythread_wrapper (hg_intercepts.c:...)
+ ...
+
+Possible data race during write of size 1 at 0x........ by thread #x
+ at 0x........: child64 (tc19_shadowmem.c:105)
+ by 0x........: steer (tc19_shadowmem.c:362)
+ by 0x........: mythread_wrapper (hg_intercepts.c:...)
+ ...
+ This conflicts with a previous write of size 1 by thread #x
+ at 0x........: child64 (tc19_shadowmem.c:105)
+ by 0x........: steer (tc19_shadowmem.c:362)
+ by 0x........: mythread_wrapper (hg_intercepts.c:...)
+ ...
+
+Possible data race during write of size 1 at 0x........ by thread #x
+ at 0x........: child64 (tc19_shadowmem.c:105)
+ by 0x........: steer (tc19_shadowmem.c:362)
+ by 0x........: mythread_wrapper (hg_intercepts.c:...)
+ ...
+ This conflicts with a previous write of size 1 by thread #x
+ at 0x........: child64 (tc19_shadowmem.c:105)
+ by 0x........: steer (tc19_shadowmem.c:362)
+ by 0x........: mythread_wrapper (hg_intercepts.c:...)
+ ...
+
+Possible data race during write of size 1 at 0x........ by thread #x
+ at 0x........: child64 (tc19_shadowmem.c:105)
+ by 0x........: steer (tc19_shadowmem.c:362)
+ by 0x........: mythread_wrapper (hg_intercepts.c:...)
+ ...
+ This conflicts with a previous write of size 1 by thread #x
+ at 0x........: child64 (tc19_shadowmem.c:105)
+ by 0x........: steer (tc19_shadowmem.c:362)
+ by 0x........: mythread_wrapper (hg_intercepts.c:...)
+ ...
+---------- double gran, 6 .. 92, skip 38 ----------
+
+Thread #x was created
+ ...
+ by 0x........: pthread_create@* (hg_intercepts.c:...)
+ by 0x........: main (tc19_shadowmem.c:266)
+
+Thread #x was created
+ ...
+ by 0x........: pthread_create@* (hg_intercepts.c:...)
+ by 0x........: main (tc19_shadowmem.c:265)
+
+Possible data race during write of size 2 at 0x........ by thread #x
+ at 0x........: child64 (tc19_shadowmem.c:105)
+ by 0x........: steer (tc19_shadowmem.c:364)
+ by 0x........: mythread_wrapper (hg_intercepts.c:...)
+ ...
+ This conflicts with a previous write of size 2 by thread #x
+ at 0x........: child64 (tc19_shadowmem.c:105)
+ by 0x........: steer (tc19_shadowmem.c:364)
+ by 0x........: mythread_wrapper (hg_intercepts.c:...)
+ ...
+
+Possible data race during write of size 2 at 0x........ by thread #x
+ at 0x........: child64 (tc19_shadowmem.c:105)
+ by 0x........: steer (tc19_shadowmem.c:364)
+ by 0x........: mythread_wrapper (hg_intercepts.c:...)
+ ...
+ This conflicts with a previous write of size 2 by thread #x
+ at 0x........: child64 (tc19_shadowmem.c:105)
+ by 0x........: steer (tc19_shadowmem.c:364)
+ by 0x........: mythread_wrapper (hg_intercepts.c:...)
+ ...
+
+Possible data race during write of size 2 at 0x........ by thread #x
+ at 0x........: child64 (tc19_shadowmem.c:105)
+ by 0x........: steer (tc19_shadowmem.c:364)
+ by 0x........: mythread_wrapper (hg_intercepts.c:...)
+ ...
+ This conflicts with a previous write of size 2 by thread #x
+ at 0x........: child64 (tc19_shadowmem.c:105)
+ by 0x........: steer (tc19_shadowmem.c:364)
+ by 0x........: mythread_wrapper (hg_intercepts.c:...)
+ ...
+
+Possible data race during write of size 2 at 0x........ by thread #x
+ at 0x........: child64 (tc19_shadowmem.c:105)
+ by 0x........: steer (tc19_shadowmem.c:364)
+ by 0x........: mythread_wrapper (hg_intercepts.c:...)
+ ...
+ This conflicts with a previous write of size 2 by thread #x
+ at 0x........: child64 (tc19_shadowmem.c:105)
+ by 0x........: steer (tc19_shadowmem.c:364)
+ by 0x........: mythread_wrapper (hg_intercepts.c:...)
+ ...
+---------- double gran, 7 .. 92, skip 39 ----------
+
+Thread #x was created
+ ...
+ by 0x........: pthread_create@* (hg_intercepts.c:...)
+ by 0x........: main (tc19_shadowmem.c:266)
+
+Thread #x was created
+ ...
+ by 0x........: pthread_create@* (hg_intercepts.c:...)
+ by 0x........: main (tc19_shadowmem.c:265)
+
+Possible data race during write of size 1 at 0x........ by thread #x
+ at 0x........: child64 (tc19_shadowmem.c:105)
+ by 0x........: steer (tc19_shadowmem.c:366)
+ by 0x........: mythread_wrapper (hg_intercepts.c:...)
+ ...
+ This conflicts with a previous write of size 1 by thread #x
+ at 0x........: child64 (tc19_shadowmem.c:105)
+ by 0x........: steer (tc19_shadowmem.c:366)
+ by 0x........: mythread_wrapper (hg_intercepts.c:...)
+ ...
+
+Possible data race during write of size 1 at 0x........ by thread #x
+ at 0x........: child64 (tc19_shadowmem.c:105)
+ by 0x........: steer (tc19_shadowmem.c:366)
+ by 0x........: mythread_wrapper (hg_intercepts.c:...)
+ ...
+ This conflicts with a previous write of size 1 by thread #x
+ at 0x........: child64 (tc19_shadowmem.c:105)
+ by 0x........: steer (tc19_shadowmem.c:366)
+ by 0x........: mythread_wrapper (hg_intercepts.c:...)
+ ...
+
+Possible data race during write of size 1 at 0x........ by thread #x
+ at 0x........: child64 (tc19_shadowmem.c:105)
+ by 0x........: steer (tc19_shadowmem.c:366)
+ by 0x........: mythread_wrapper (hg_intercepts.c:...)
+ ...
+ This conflicts with a previous write of size 1 by thread #x
+ at 0x........: child64 (tc19_shadowmem.c:105)
+ by 0x........: steer (tc19_shadowmem.c:366)
+ by 0x........: mythread_wrapper (hg_intercepts.c:...)
+ ...
+
+Possible data race during write of size 1 at 0x........ by thread #x
+ at 0x........: child64 (tc19_shadowmem.c:105)
+ by 0x........: steer (tc19_shadowmem.c:366)
+ by 0x........: mythread_wrapper (hg_intercepts.c:...)
+ ...
+ This conflicts with a previous write of size 1 by thread #x
+ at 0x........: child64 (tc19_shadowmem.c:105)
+ by 0x........: steer (tc19_shadowmem.c:366)
+ by 0x........: mythread_wrapper (hg_intercepts.c:...)
+ ...
+
+Possible data race during write of size 1 at 0x........ by thread #x
+ at 0x........: child64 (tc19_shadowmem.c:105)
+ by 0x........: steer (tc19_shadowmem.c:366)
+ by 0x........: mythread_wrapper (hg_intercepts.c:...)
+ ...
+ This conflicts with a previous write of size 1 by thread #x
+ at 0x........: child64 (tc19_shadowmem.c:105)
+ by 0x........: steer (tc19_shadowmem.c:366)
+ by 0x........: mythread_wrapper (hg_intercepts.c:...)
+ ...
+
+Possible data race during write of size 1 at 0x........ by thread #x
+ at 0x........: child64 (tc19_shadowmem.c:105)
+ by 0x........: steer (tc19_shadowmem.c:366)
+ by 0x........: mythread_wrapper (hg_intercepts.c:...)
+ ...
+ This conflicts with a previous write of size 1 by thread #x
+ at 0x........: child64 (tc19_shadowmem.c:105)
+ by 0x........: steer (tc19_shadowmem.c:366)
+ by 0x........: mythread_wrapper (hg_intercepts.c:...)
+ ...
+
+Possible data race during write of size 1 at 0x........ by thread #x
+ at 0x........: child64 (tc19_shadowmem.c:105)
+ by 0x........: steer (tc19_shadowmem.c:366)
+ by 0x........: mythread_wrapper (hg_intercepts.c:...)
+ ...
+ This conflicts with a previous write of size 1 by thread #x
+ at 0x........: child64 (tc19_shadowmem.c:105)
+ by 0x........: steer (tc19_shadowmem.c:366)
+ by 0x........: mythread_wrapper (hg_intercepts.c:...)
+ ...
+
+Possible data race during write of size 1 at 0x........ by thread #x
+ at 0x........: child64 (tc19_shadowmem.c:105)
+ by 0x........: steer (tc19_shadowmem.c:366)
+ by 0x........: mythread_wrapper (hg_intercepts.c:...)
+ ...
+ This conflicts with a previous write of size 1 by thread #x
+ at 0x........: child64 (tc19_shadowmem.c:105)
+ by 0x........: steer (tc19_shadowmem.c:366)
+ by 0x........: mythread_wrapper (hg_intercepts.c:...)
+ ...
+---------- double gran, 0 .. 92, skip 40 ----------
+
+Thread #x was created
+ ...
+ by 0x........: pthread_create@* (hg_intercepts.c:...)
+ by 0x........: main (tc19_shadowmem.c:266)
+
+Thread #x was created
+ ...
+ by 0x........: pthread_create@* (hg_intercepts.c:...)
+ by 0x........: main (tc19_shadowmem.c:265)
+
+Possible data race during write of size 8 at 0x........ by thread #x
+ at 0x........: child64 (tc19_shadowmem.c:105)
+ by 0x........: steer (tc19_shadowmem.c:368)
+ by 0x........: mythread_wrapper (hg_intercepts.c:...)
+ ...
+ This conflicts with a previous write of size 8 by thread #x
+ at 0x........: child64 (tc19_shadowmem.c:105)
+ by 0x........: steer (tc19_shadowmem.c:368)
+ by 0x........: mythread_wrapper (hg_intercepts.c:...)
+ ...
+---------- double gran, 1 .. 92, skip 41 ----------
+
+Thread #x was created
+ ...
+ by 0x........: pthread_create@* (hg_intercepts.c:...)
+ by 0x........: main (tc19_shadowmem.c:266)
+
+Thread #x was created
+ ...
+ by 0x........: pthread_create@* (hg_intercepts.c:...)
+ by 0x........: main (tc19_shadowmem.c:265)
+
+Possible data race during write of size 1 at 0x........ by thread #x
+ at 0x........: child64 (tc19_shadowmem.c:105)
+ by 0x........: steer (tc19_shadowmem.c:370)
+ by 0x........: mythread_wrapper (hg_intercepts.c:...)
+ ...
+ This conflicts with a previous write of size 1 by thread #x
+ at 0x........: child64 (tc19_shadowmem.c:105)
+ by 0x........: steer (tc19_shadowmem.c:370)
+ by 0x........: mythread_wrapper (hg_intercepts.c:...)
+ ...
+
+Possible data race during write of size 1 at 0x........ by thread #x
+ at 0x........: child64 (tc19_shadowmem.c:105)
+ by 0x........: steer (tc19_shadowmem.c:370)
+ by 0x........: mythread_wrapper (hg_intercepts.c:...)
+ ...
+ This conflicts with a previous write of size 1 by thread #x
+ at 0x........: child64 (tc19_shadowmem.c:105)
+ by 0x........: steer (tc19_shadowmem.c:370)
+ by 0x........: mythread_wrapper (hg_intercepts.c:...)
+ ...
+
+Possible data race during write of size 1 at 0x........ by thread #x
+ at 0x........: child64 (tc19_shadowmem.c:105)
+ by 0x........: steer (tc19_shadowmem.c:370)
+ by 0x........: mythread_wrapper (hg_intercepts.c:...)
+ ...
+ This conflicts with a previous write of size 1 by thread #x
+ at 0x........: child64 (tc19_shadowmem.c:105)
+ by 0x........: steer (tc19_shadowmem.c:370)
+ by 0x........: mythread_wrapper (hg_intercepts.c:...)
+ ...
+
+Possible data race during write of size 1 at 0x........ by thread #x
+ at 0x........: child64 (tc19_shadowmem.c:105)
+ by 0x........: steer (tc19_shadowmem.c:370)
+ by 0x........: mythread_wrapper (hg_intercepts.c:...)
+ ...
+ This conflicts with a previous write of size 1 by thread #x
+ at 0x........: child64 (tc19_shadowmem.c:105)
+ by 0x........: steer (tc19_shadowmem.c:370)
+ by 0x........: mythread_wrapper (hg_intercepts.c:...)
+ ...
+
+Possible data race during write of size 1 at 0x........ by thread #x
+ at 0x........: child64 (tc19_shadowmem.c:105)
+ by 0x........: steer (tc19_shadowmem.c:370)
+ by 0x........: mythread_wrapper (hg_intercepts.c:...)
+ ...
+ This conflicts with a previous write of size 1 by thread #x
+ at 0x........: child64 (tc19_shadowmem.c:105)
+ by 0x........: steer (tc19_shadowmem.c:370)
+ by 0x........: mythread_wrapper (hg_intercepts.c:...)
+ ...
+
+Possible data race during write of size 1 at 0x........ by thread #x
+ at 0x........: child64 (tc19_shadowmem.c:105)
+ by 0x........: steer (tc19_shadowmem.c:370)
+ by 0x........: mythread_wrapper (hg_intercepts.c:...)
+ ...
+ This conflicts with a previous write of size 1 by thread #x
+ at 0x........: child64 (tc19_shadowmem.c:105)
+ by 0x........: steer (tc19_shadowmem.c:370)
+ by 0x........: mythread_wrapper (hg_intercepts.c:...)
+ ...
+
+Possible data race during write of size 1 at 0x........ by thread #x
+ at 0x........: child64 (tc19_shadowmem.c:105)
+ by 0x........: steer (tc19_shadowmem.c:370)
+ by 0x........: mythread_wrapper (hg_intercepts.c:...)
+ ...
+ This conflicts with a previous write of size 1 by thread #x
+ at 0x........: child64 (tc19_shadowmem.c:105)
+ by 0x........: steer (tc19_shadowmem.c:370)
+ by 0x........: mythread_wrapper (hg_intercepts.c:...)
+ ...
+
+Possible data race during write of size 1 at 0x........ by thread #x
+ at 0x........: child64 (tc19_shadowmem.c:105)
+ by 0x........: steer (tc19_shadowmem.c:370)
+ by 0x........: mythread_wrapper (hg_intercepts.c:...)
+ ...
+ This conflicts with a previous write of size 1 by thread #x
+ at 0x........: child64 (tc19_shadowmem.c:105)
+ by 0x........: steer (tc19_shadowmem.c:370)
+ by 0x........: mythread_wrapper (hg_intercepts.c:...)
+ ...
+---------- double gran, 2 .. 92, skip 42 ----------
+
+Thread #x was created
+ ...
+ by 0x........: pthread_create@* (hg_intercepts.c:...)
+ by 0x........: main (tc19_shadowmem.c:266)
+
+Thread #x was created
+ ...
+ by 0x........: pthread_create@* (hg_intercepts.c:...)
+ by 0x........: main (tc19_shadowmem.c:265)
+
+Possible data race during write of size 2 at 0x........ by thread #x
+ at 0x........: child64 (tc19_shadowmem.c:105)
+ by 0x........: steer (tc19_shadowmem.c:372)
+ by 0x........: mythread_wrapper (hg_intercepts.c:...)
+ ...
+ This conflicts with a previous write of size 2 by thread #x
+ at 0x........: child64 (tc19_shadowmem.c:105)
+ by 0x........: steer (tc19_shadowmem.c:372)
+ by 0x........: mythread_wrapper (hg_intercepts.c:...)
+ ...
+
+Possible data race during write of size 2 at 0x........ by thread #x
+ at 0x........: child64 (tc19_shadowmem.c:105)
+ by 0x........: steer (tc19_shadowmem.c:372)
+ by 0x........: mythread_wrapper (hg_intercepts.c:...)
+ ...
+ This conflicts with a previous write of size 2 by thread #x
+ at 0x........: child64 (tc19_shadowmem.c:105)
+ by 0x........: steer (tc19_shadowmem.c:372)
+ by 0x........: mythread_wrapper (hg_intercepts.c:...)
+ ...
+
+Possible data race during write of size 2 at 0x........ by thread #x
+ at 0x........: child64 (tc19_shadowmem.c:105)
+ by 0x........: steer (tc19_shadowmem.c:372)
+ by 0x........: mythread_wrapper (hg_intercepts.c:...)
+ ...
+ This conflicts with a previous write of size 2 by thread #x
+ at 0x........: child64 (tc19_shadowmem.c:105)
+ by 0x........: steer (tc19_shadowmem.c:372)
+ by 0x........: mythread_wrapper (hg_intercepts.c:...)
+ ...
+
+Possible data race during write of size 2 at 0x........ by thread #x
+ at 0x........: child64 (tc19_shadowmem.c:105)
+ by 0x........: steer (tc19_shadowmem.c:372)
+ by 0x........: mythread_wrapper (hg_intercepts.c:...)
+ ...
+ This conflicts with a previous write of size 2 by thread #x
+ at 0x........: child64 (tc19_shadowmem.c:105)
+ by 0x........: steer (tc19_shadowmem.c:372)
+ by 0x........: mythread_wrapper (hg_intercepts.c:...)
+ ...
+---------- double gran, 3 .. 92, skip 43 ----------
+
+Thread #x was created
+ ...
+ by 0x........: pthread_create@* (hg_intercepts.c:...)
+ by 0x........: main (tc19_shadowmem.c:266)
+
+Thread #x was created
+ ...
+ by 0x........: pthread_create@* (hg_intercepts.c:...)
+ by 0x........: main (tc19_shadowmem.c:265)
+
+Possible data race during write of size 1 at 0x........ by thread #x
+ at 0x........: child64 (tc19_shadowmem.c:105)
+ by 0x........: steer (tc19_shadowmem.c:374)
+ by 0x........: mythread_wrapper (hg_intercepts.c:...)
+ ...
+ This conflicts with a previous write of size 1 by thread #x
+ at 0x........: child64 (tc19_shadowmem.c:105)
+ by 0x........: steer (tc19_shadowmem.c:374)
+ by 0x........: mythread_wrapper (hg_intercepts.c:...)
+ ...
+
+Possible data race during write of size 1 at 0x........ by thread #x
+ at 0x........: child64 (tc19_shadowmem.c:105)
+ by 0x........: steer (tc19_shadowmem.c:374)
+ by 0x........: mythread_wrapper (hg_intercepts.c:...)
+ ...
+ This conflicts with a previous write of size 1 by thread #x
+ at 0x........: child64 (tc19_shadowmem.c:105)
+ by 0x........: steer (tc19_shadowmem.c:374)
+ by 0x........: mythread_wrapper (hg_intercepts.c:...)
+ ...
+
+Possible data race during write of size 1 at 0x........ by thread #x
+ at 0x........: child64 (tc19_shadowmem.c:105)
+ by 0x........: steer (tc19_shadowmem.c:374)
+ by 0x........: mythread_wrapper (hg_intercepts.c:...)
+ ...
+ This conflicts with a previous write of size 1 by thread #x
+ at 0x........: child64 (tc19_shadowmem.c:105)
+ by 0x........: steer (tc19_shadowmem.c:374)
+ by 0x........: mythread_wrapper (hg_intercepts.c:...)
+ ...
+
+Possible data race during write of size 1 at 0x........ by thread #x
+ at 0x........: child64 (tc19_shadowmem.c:105)
+ by 0x........: steer (tc19_shadowmem.c:374)
+ by 0x........: mythread_wrapper (hg_intercepts.c:...)
+ ...
+ This conflicts with a previous write of size 1 by thread #x
+ at 0x........: child64 (tc19_shadowmem.c:105)
+ by 0x........: steer (tc19_shadowmem.c:374)
+ by 0x........: mythread_wrapper (hg_intercepts.c:...)
+ ...
+
+Possible data race during write of size 1 at 0x........ by thread #x
+ at 0x........: child64 (tc19_shadowmem.c:105)
+ by 0x........: steer (tc19_shadowmem.c:374)
+ by 0x........: mythread_wrapper (hg_intercepts.c:...)
+ ...
+ This conflicts with a previous write of size 1 by thread #x
+ at 0x........: child64 (tc19_shadowmem.c:105)
+ by 0x........: steer (tc19_shadowmem.c:374)
+ by 0x........: mythread_wrapper (hg_intercepts.c:...)
+ ...
+
+Possible data race during write of size 1 at 0x........ by thread #x
+ at 0x........: child64 (tc19_shadowmem.c:105)
+ by 0x........: steer (tc19_shadowmem.c:374)
+ by 0x........: mythread_wrapper (hg_intercepts.c:...)
+ ...
+ This conflicts with a previous write of size 1 by thread #x
+ at 0x........: child64 (tc19_shadowmem.c:105)
+ by 0x........: steer (tc19_shadowmem.c:374)
+ by 0x........: mythread_wrapper (hg_intercepts.c:...)
+ ...
+
+Possible data race during write of size 1 at 0x........ by thread #x
+ at 0x........: child64 (tc19_shadowmem.c:105)
+ by 0x........: steer (tc19_shadowmem.c:374)
+ by 0x........: mythread_wrapper (hg_intercepts.c:...)
+ ...
+ This conflicts with a previous write of size 1 by thread #x
+ at 0x........: child64 (tc19_shadowmem.c:105)
+ by 0x........: steer (tc19_shadowmem.c:374)
+ by 0x........: mythread_wrapper (hg_intercepts.c:...)
+ ...
+
+Possible data race during write of size 1 at 0x........ by thread #x
+ at 0x........: child64 (tc19_shadowmem.c:105)
+ by 0x........: steer (tc19_shadowmem.c:374)
+ by 0x........: mythread_wrapper (hg_intercepts.c:...)
+ ...
+ This conflicts with a previous write of size 1 by thread #x
+ at 0x........: child64 (tc19_shadowmem.c:105)
+ by 0x........: steer (tc19_shadowmem.c:374)
+ by 0x........: mythread_wrapper (hg_intercepts.c:...)
+ ...
+---------- double gran, 4 .. 92, skip 44 ----------
+
+Thread #x was created
+ ...
+ by 0x........: pthread_create@* (hg_intercepts.c:...)
+ by 0x........: main (tc19_shadowmem.c:266)
+
+Thread #x was created
+ ...
+ by 0x........: pthread_create@* (hg_intercepts.c:...)
+ by 0x........: main (tc19_shadowmem.c:265)
+
+Possible data race during write of size 4 at 0x........ by thread #x
+ at 0x........: child64 (tc19_shadowmem.c:105)
+ by 0x........: steer (tc19_shadowmem.c:376)
+ by 0x........: mythread_wrapper (hg_intercepts.c:...)
+ ...
+ This conflicts with a previous write of size 4 by thread #x
+ at 0x........: child64 (tc19_shadowmem.c:105)
+ by 0x........: steer (tc19_shadowmem.c:376)
+ by 0x........: mythread_wrapper (hg_intercepts.c:...)
+ ...
+
+Possible data race during write of size 4 at 0x........ by thread #x
+ at 0x........: child64 (tc19_shadowmem.c:105)
+ by 0x........: steer (tc19_shadowmem.c:376)
+ by 0x........: mythread_wrapper (hg_intercepts.c:...)
+ ...
+ This conflicts with a previous write of size 4 by thread #x
+ at 0x........: child64 (tc19_shadowmem.c:105)
+ by 0x........: steer (tc19_shadowmem.c:376)
+ by 0x........: mythread_wrapper (hg_intercepts.c:...)
+ ...
+---------- double gran, 5 .. 92, skip 45 ----------
+
+Thread #x was created
+ ...
+ by 0x........: pthread_create@* (hg_intercepts.c:...)
+ by 0x........: main (tc19_shadowmem.c:266)
+
+Thread #x was created
+ ...
+ by 0x........: pthread_create@* (hg_intercepts.c:...)
+ by 0x........: main (tc19_shadowmem.c:265)
+
+Possible data race during write of size 1 at 0x........ by thread #x
+ at 0x........: child64 (tc19_shadowmem.c:105)
+ by 0x........: steer (tc19_shadowmem.c:378)
+ by 0x........: mythread_wrapper (hg_intercepts.c:...)
+ ...
+ This conflicts with a previous write of size 1 by thread #x
+ at 0x........: child64 (tc19_shadowmem.c:105)
+ by 0x........: steer (tc19_shadowmem.c:378)
+ by 0x........: mythread_wrapper (hg_intercepts.c:...)
+ ...
+
+Possible data race during write of size 1 at 0x........ by thread #x
+ at 0x........: child64 (tc19_shadowmem.c:105)
+ by 0x........: steer (tc19_shadowmem.c:378)
+ by 0x........: mythread_wrapper (hg_intercepts.c:...)
+ ...
+ This conflicts with a previous write of size 1 by thread #x
+ at 0x........: child64 (tc19_shadowmem.c:105)
+ by 0x........: steer (tc19_shadowmem.c:378)
+ by 0x........: mythread_wrapper (hg_intercepts.c:...)
+ ...
+
+Possible data race during write of size 1 at 0x........ by thread #x
+ at 0x........: child64 (tc19_shadowmem.c:105)
+ by 0x........: steer (tc19_shadowmem.c:378)
+ by 0x........: mythread_wrapper (hg_intercepts.c:...)
+ ...
+ This conflicts with a previous write of size 1 by thread #x
+ at 0x........: child64 (tc19_shadowmem.c:105)
+ by 0x........: steer (tc19_shadowmem.c:378)
+ by 0x........: mythread_wrapper (hg_intercepts.c:...)
+ ...
+
+Possible data race during write of size 1 at 0x........ by thread #x
+ at 0x........: child64 (tc19_shadowmem.c:105)
+ by 0x........: steer (tc19_shadowmem.c:378)
+ by 0x........: mythread_wrapper (hg_intercepts.c:...)
+ ...
+ This conflicts with a previous write of size 1 by thread #x
+ at 0x........: child64 (tc19_shadowmem.c:105)
+ by 0x........: steer (tc19_shadowmem.c:378)
+ by 0x........: mythread_wrapper (hg_intercepts.c:...)
+ ...
+
+Possible data race during write of size 1 at 0x........ by thread #x
+ at 0x........: child64 (tc19_shadowmem.c:105)
+ by 0x........: steer (tc19_shadowmem.c:378)
+ by 0x........: mythread_wrapper (hg_intercepts.c:...)
+ ...
+ This conflicts with a previous write of size 1 by thread #x
+ at 0x........: child64 (tc19_shadowmem.c:105)
+ by 0x........: steer (tc19_shadowmem.c:378)
+ by 0x........: mythread_wrapper (hg_intercepts.c:...)
+ ...
+
+Possible data race during write of size 1 at 0x........ by thread #x
+ at 0x........: child64 (tc19_shadowmem.c:105)
+ by 0x........: steer (tc19_shadowmem.c:378)
+ by 0x........: mythread_wrapper (hg_intercepts.c:...)
+ ...
+ This conflicts with a previous write of size 1 by thread #x
+ at 0x........: child64 (tc19_shadowmem.c:105)
+ by 0x........: steer (tc19_shadowmem.c:378)
+ by 0x........: mythread_wrapper (hg_intercepts.c:...)
+ ...
+
+Possible data race during write of size 1 at 0x........ by thread #x
+ at 0x........: child64 (tc19_shadowmem.c:105)
+ by 0x........: steer (tc19_shadowmem.c:378)
+ by 0x........: mythread_wrapper (hg_intercepts.c:...)
+ ...
+ This conflicts with a previous write of size 1 by thread #x
+ at 0x........: child64 (tc19_shadowmem.c:105)
+ by 0x........: steer (tc19_shadowmem.c:378)
+ by 0x........: mythread_wrapper (hg_intercepts.c:...)
+ ...
+
+Possible data race during write of size 1 at 0x........ by thread #x
+ at 0x........: child64 (tc19_shadowmem.c:105)
+ by 0x........: steer (tc19_shadowmem.c:378)
+ by 0x........: mythread_wrapper (hg_intercepts.c:...)
+ ...
+ This conflicts with a previous write of size 1 by thread #x
+ at 0x........: child64 (tc19_shadowmem.c:105)
+ by 0x........: steer (tc19_shadowmem.c:378)
+ by 0x........: mythread_wrapper (hg_intercepts.c:...)
+ ...
+---------- double gran, 6 .. 92, skip 46 ----------
+
+Thread #x was created
+ ...
+ by 0x........: pthread_create@* (hg_intercepts.c:...)
+ by 0x........: main (tc19_shadowmem.c:266)
+
+Thread #x was created
+ ...
+ by 0x........: pthread_create@* (hg_intercepts.c:...)
+ by 0x........: main (tc19_shadowmem.c:265)
+
+Possible data race during write of size 2 at 0x........ by thread #x
+ at 0x........: child64 (tc19_shadowmem.c:105)
+ by 0x........: steer (tc19_shadowmem.c:380)
+ by 0x........: mythread_wrapper (hg_intercepts.c:...)
+ ...
+ This conflicts with a previous write of size 2 by thread #x
+ at 0x........: child64 (tc19_shadowmem.c:105)
+ by 0x........: steer (tc19_shadowmem.c:380)
+ by 0x........: mythread_wrapper (hg_intercepts.c:...)
+ ...
+
+Possible data race during write of size 2 at 0x........ by thread #x
+ at 0x........: child64 (tc19_shadowmem.c:105)
+ by 0x........: steer (tc19_shadowmem.c:380)
+ by 0x........: mythread_wrapper (hg_intercepts.c:...)
+ ...
+ This conflicts with a previous write of size 2 by thread #x
+ at 0x........: child64 (tc19_shadowmem.c:105)
+ by 0x........: steer (tc19_shadowmem.c:380)
+ by 0x........: mythread_wrapper (hg_intercepts.c:...)
+ ...
+
+Possible data race during write of size 2 at 0x........ by thread #x
+ at 0x........: child64 (tc19_shadowmem.c:105)
+ by 0x........: steer (tc19_shadowmem.c:380)
+ by 0x........: mythread_wrapper (hg_intercepts.c:...)
+ ...
+ This conflicts with a previous write of size 2 by thread #x
+ at 0x........: child64 (tc19_shadowmem.c:105)
+ by 0x........: steer (tc19_shadowmem.c:380)
+ by 0x........: mythread_wrapper (hg_intercepts.c:...)
+ ...
+
+Possible data race during write of size 2 at 0x........ by thread #x
+ at 0x........: child64 (tc19_shadowmem.c:105)
+ by 0x........: steer (tc19_shadowmem.c:380)
+ by 0x........: mythread_wrapper (hg_intercepts.c:...)
+ ...
+ This conflicts with a previous write of size 2 by thread #x
+ at 0x........: child64 (tc19_shadowmem.c:105)
+ by 0x........: steer (tc19_shadowmem.c:380)
+ by 0x........: mythread_wrapper (hg_intercepts.c:...)
+ ...
+---------- double gran, 7 .. 92, skip 47 ----------
+
+Thread #x was created
+ ...
+ by 0x........: pthread_create@* (hg_intercepts.c:...)
+ by 0x........: main (tc19_shadowmem.c:266)
+
+Thread #x was created
+ ...
+ by 0x........: pthread_create@* (hg_intercepts.c:...)
+ by 0x........: main (tc19_shadowmem.c:265)
+
+Possible data race during write of size 1 at 0x........ by thread #x
+ at 0x........: child64 (tc19_shadowmem.c:105)
+ by 0x........: steer (tc19_shadowmem.c:382)
+ by 0x........: mythread_wrapper (hg_intercepts.c:...)
+ ...
+ This conflicts with a previous write of size 1 by thread #x
+ at 0x........: child64 (tc19_shadowmem.c:105)
+ by 0x........: steer (tc19_shadowmem.c:382)
+ by 0x........: mythread_wrapper (hg_intercepts.c:...)
+ ...
+
+Possible data race during write of size 1 at 0x........ by thread #x
+ at 0x........: child64 (tc19_shadowmem.c:105)
+ by 0x........: steer (tc19_shadowmem.c:382)
+ by 0x........: mythread_wrapper (hg_intercepts.c:...)
+ ...
+ This conflicts with a previous write of size 1 by thread #x
+ at 0x........: child64 (tc19_shadowmem.c:105)
+ by 0x........: steer (tc19_shadowmem.c:382)
+ by 0x........: mythread_wrapper (hg_intercepts.c:...)
+ ...
+
+Possible data race during write of size 1 at 0x........ by thread #x
+ at 0x........: child64 (tc19_shadowmem.c:105)
+ by 0x........: steer (tc19_shadowmem.c:382)
+ by 0x........: mythread_wrapper (hg_intercepts.c:...)
+ ...
+ This conflicts with a previous write of size 1 by thread #x
+ at 0x........: child64 (tc19_shadowmem.c:105)
+ by 0x........: steer (tc19_shadowmem.c:382)
+ by 0x........: mythread_wrapper (hg_intercepts.c:...)
+ ...
+
+Possible data race during write of size 1 at 0x........ by thread #x
+ at 0x........: child64 (tc19_shadowmem.c:105)
+ by 0x........: steer (tc19_shadowmem.c:382)
+ by 0x........: mythread_wrapper (hg_intercepts.c:...)
+ ...
+ This conflicts with a previous write of size 1 by thread #x
+ at 0x........: child64 (tc19_shadowmem.c:105)
+ by 0x........: steer (tc19_shadowmem.c:382)
+ by 0x........: mythread_wrapper (hg_intercepts.c:...)
+ ...
+
+Possible data race during write of size 1 at 0x........ by thread #x
+ at 0x........: child64 (tc19_shadowmem.c:105)
+ by 0x........: steer (tc19_shadowmem.c:382)
+ by 0x........: mythread_wrapper (hg_intercepts.c:...)
+ ...
+ This conflicts with a previous write of size 1 by thread #x
+ at 0x........: child64 (tc19_shadowmem.c:105)
+ by 0x........: steer (tc19_shadowmem.c:382)
+ by 0x........: mythread_wrapper (hg_intercepts.c:...)
+ ...
+
+Possible data race during write of size 1 at 0x........ by thread #x
+ at 0x........: child64 (tc19_shadowmem.c:105)
+ by 0x........: steer (tc19_shadowmem.c:382)
+ by 0x........: mythread_wrapper (hg_intercepts.c:...)
+ ...
+ This conflicts with a previous write of size 1 by thread #x
+ at 0x........: child64 (tc19_shadowmem.c:105)
+ by 0x........: steer (tc19_shadowmem.c:382)
+ by 0x........: mythread_wrapper (hg_intercepts.c:...)
+ ...
+
+Possible data race during write of size 1 at 0x........ by thread #x
+ at 0x........: child64 (tc19_shadowmem.c:105)
+ by 0x........: steer (tc19_shadowmem.c:382)
+ by 0x........: mythread_wrapper (hg_intercepts.c:...)
+ ...
+ This conflicts with a previous write of size 1 by thread #x
+ at 0x........: child64 (tc19_shadowmem.c:105)
+ by 0x........: steer (tc19_shadowmem.c:382)
+ by 0x........: mythread_wrapper (hg_intercepts.c:...)
+ ...
+
+Possible data race during write of size 1 at 0x........ by thread #x
+ at 0x........: child64 (tc19_shadowmem.c:105)
+ by 0x........: steer (tc19_shadowmem.c:382)
+ by 0x........: mythread_wrapper (hg_intercepts.c:...)
+ ...
+ This conflicts with a previous write of size 1 by thread #x
+ at 0x........: child64 (tc19_shadowmem.c:105)
+ by 0x........: steer (tc19_shadowmem.c:382)
+ by 0x........: mythread_wrapper (hg_intercepts.c:...)
+ ...
+---------- double gran, 0 .. 92, skip 48 ----------
+
+Thread #x was created
+ ...
+ by 0x........: pthread_create@* (hg_intercepts.c:...)
+ by 0x........: main (tc19_shadowmem.c:266)
+
+Thread #x was created
+ ...
+ by 0x........: pthread_create@* (hg_intercepts.c:...)
+ by 0x........: main (tc19_shadowmem.c:265)
+
+Possible data race during write of size 8 at 0x........ by thread #x
+ at 0x........: child64 (tc19_shadowmem.c:105)
+ by 0x........: steer (tc19_shadowmem.c:384)
+ by 0x........: mythread_wrapper (hg_intercepts.c:...)
+ ...
+ This conflicts with a previous write of size 8 by thread #x
+ at 0x........: child64 (tc19_shadowmem.c:105)
+ by 0x........: steer (tc19_shadowmem.c:384)
+ by 0x........: mythread_wrapper (hg_intercepts.c:...)
+ ...
+---------- double gran, 1 .. 92, skip 49 ----------
+
+Thread #x was created
+ ...
+ by 0x........: pthread_create@* (hg_intercepts.c:...)
+ by 0x........: main (tc19_shadowmem.c:266)
+
+Thread #x was created
+ ...
+ by 0x........: pthread_create@* (hg_intercepts.c:...)
+ by 0x........: main (tc19_shadowmem.c:265)
+
+Possible data race during write of size 1 at 0x........ by thread #x
+ at 0x........: child64 (tc19_shadowmem.c:105)
+ by 0x........: steer (tc19_shadowmem.c:386)
+ by 0x........: mythread_wrapper (hg_intercepts.c:...)
+ ...
+ This conflicts with a previous write of size 1 by thread #x
+ at 0x........: child64 (tc19_shadowmem.c:105)
+ by 0x........: steer (tc19_shadowmem.c:386)
+ by 0x........: mythread_wrapper (hg_intercepts.c:...)
+ ...
+
+Possible data race during write of size 1 at 0x........ by thread #x
+ at 0x........: child64 (tc19_shadowmem.c:105)
+ by 0x........: steer (tc19_shadowmem.c:386)
+ by 0x........: mythread_wrapper (hg_intercepts.c:...)
+ ...
+ This conflicts with a previous write of size 1 by thread #x
+ at 0x........: child64 (tc19_shadowmem.c:105)
+ by 0x........: steer (tc19_shadowmem.c:386)
+ by 0x........: mythread_wrapper (hg_intercepts.c:...)
+ ...
+
+Possible data race during write of size 1 at 0x........ by thread #x
+ at 0x........: child64 (tc19_shadowmem.c:105)
+ by 0x........: steer (tc19_shadowmem.c:386)
+ by 0x........: mythread_wrapper (hg_intercepts.c:...)
+ ...
+ This conflicts with a previous write of size 1 by thread #x
+ at 0x........: child64 (tc19_shadowmem.c:105)
+ by 0x........: steer (tc19_shadowmem.c:386)
+ by 0x........: mythread_wrapper (hg_intercepts.c:...)
+ ...
+
+Possible data race during write of size 1 at 0x........ by thread #x
+ at 0x........: child64 (tc19_shadowmem.c:105)
+ by 0x........: steer (tc19_shadowmem.c:386)
+ by 0x........: mythread_wrapper (hg_intercepts.c:...)
+ ...
+ This conflicts with a previous write of size 1 by thread #x
+ at 0x........: child64 (tc19_shadowmem.c:105)
+ by 0x........: steer (tc19_shadowmem.c:386)
+ by 0x........: mythread_wrapper (hg_intercepts.c:...)
+ ...
+
+Possible data race during write of size 1 at 0x........ by thread #x
+ at 0x........: child64 (tc19_shadowmem.c:105)
+ by 0x........: steer (tc19_shadowmem.c:386)
+ by 0x........: mythread_wrapper (hg_intercepts.c:...)
+ ...
+ This conflicts with a previous write of size 1 by thread #x
+ at 0x........: child64 (tc19_shadowmem.c:105)
+ by 0x........: steer (tc19_shadowmem.c:386)
+ by 0x........: mythread_wrapper (hg_intercepts.c:...)
+ ...
+
+Possible data race during write of size 1 at 0x........ by thread #x
+ at 0x........: child64 (tc19_shadowmem.c:105)
+ by 0x........: steer (tc19_shadowmem.c:386)
+ by 0x........: mythread_wrapper (hg_intercepts.c:...)
+ ...
+ This conflicts with a previous write of size 1 by thread #x
+ at 0x........: child64 (tc19_shadowmem.c:105)
+ by 0x........: steer (tc19_shadowmem.c:386)
+ by 0x........: mythread_wrapper (hg_intercepts.c:...)
+ ...
+
+Possible data race during write of size 1 at 0x........ by thread #x
+ at 0x........: child64 (tc19_shadowmem.c:105)
+ by 0x........: steer (tc19_shadowmem.c:386)
+ by 0x........: mythread_wrapper (hg_intercepts.c:...)
+ ...
+ This conflicts with a previous write of size 1 by thread #x
+ at 0x........: child64 (tc19_shadowmem.c:105)
+ by 0x........: steer (tc19_shadowmem.c:386)
+ by 0x........: mythread_wrapper (hg_intercepts.c:...)
+ ...
+
+Possible data race during write of size 1 at 0x........ by thread #x
+ at 0x........: child64 (tc19_shadowmem.c:105)
+ by 0x........: steer (tc19_shadowmem.c:386)
+ by 0x........: mythread_wrapper (hg_intercepts.c:...)
+ ...
+ This conflicts with a previous write of size 1 by thread #x
+ at 0x........: child64 (tc19_shadowmem.c:105)
+ by 0x........: steer (tc19_shadowmem.c:386)
+ by 0x........: mythread_wrapper (hg_intercepts.c:...)
+ ...
+---------- double gran, 2 .. 92, skip 50 ----------
+
+Thread #x was created
+ ...
+ by 0x........: pthread_create@* (hg_intercepts.c:...)
+ by 0x........: main (tc19_shadowmem.c:266)
+
+Thread #x was created
+ ...
+ by 0x........: pthread_create@* (hg_intercepts.c:...)
+ by 0x........: main (tc19_shadowmem.c:265)
+
+Possible data race during write of size 2 at 0x........ by thread #x
+ at 0x........: child64 (tc19_shadowmem.c:105)
+ by 0x........: steer (tc19_shadowmem.c:388)
+ by 0x........: mythread_wrapper (hg_intercepts.c:...)
+ ...
+ This conflicts with a previous write of size 2 by thread #x
+ at 0x........: child64 (tc19_shadowmem.c:105)
+ by 0x........: steer (tc19_shadowmem.c:388)
+ by 0x........: mythread_wrapper (hg_intercepts.c:...)
+ ...
+
+Possible data race during write of size 2 at 0x........ by thread #x
+ at 0x........: child64 (tc19_shadowmem.c:105)
+ by 0x........: steer (tc19_shadowmem.c:388)
+ by 0x........: mythread_wrapper (hg_intercepts.c:...)
+ ...
+ This conflicts with a previous write of size 2 by thread #x
+ at 0x........: child64 (tc19_shadowmem.c:105)
+ by 0x........: steer (tc19_shadowmem.c:388)
+ by 0x........: mythread_wrapper (hg_intercepts.c:...)
+ ...
+
+Possible data race during write of size 2 at 0x........ by thread #x
+ at 0x........: child64 (tc19_shadowmem.c:105)
+ by 0x........: steer (tc19_shadowmem.c:388)
+ by 0x........: mythread_wrapper (hg_intercepts.c:...)
+ ...
+ This conflicts with a previous write of size 2 by thread #x
+ at 0x........: child64 (tc19_shadowmem.c:105)
+ by 0x........: steer (tc19_shadowmem.c:388)
+ by 0x........: mythread_wrapper (hg_intercepts.c:...)
+ ...
+
+Possible data race during write of size 2 at 0x........ by thread #x
+ at 0x........: child64 (tc19_shadowmem.c:105)
+ by 0x........: steer (tc19_shadowmem.c:388)
+ by 0x........: mythread_wrapper (hg_intercepts.c:...)
+ ...
+ This conflicts with a previous write of size 2 by thread #x
+ at 0x........: child64 (tc19_shadowmem.c:105)
+ by 0x........: steer (tc19_shadowmem.c:388)
+ by 0x........: mythread_wrapper (hg_intercepts.c:...)
+ ...
+---------- double gran, 3 .. 92, skip 51 ----------
+
+Thread #x was created
+ ...
+ by 0x........: pthread_create@* (hg_intercepts.c:...)
+ by 0x........: main (tc19_shadowmem.c:266)
+
+Thread #x was created
+ ...
+ by 0x........: pthread_create@* (hg_intercepts.c:...)
+ by 0x........: main (tc19_shadowmem.c:265)
+
+Possible data race during write of size 1 at 0x........ by thread #x
+ at 0x........: child64 (tc19_shadowmem.c:105)
+ by 0x........: steer (tc19_shadowmem.c:390)
+ by 0x........: mythread_wrapper (hg_intercepts.c:...)
+ ...
+ This conflicts with a previous write of size 1 by thread #x
+ at 0x........: child64 (tc19_shadowmem.c:105)
+ by 0x........: steer (tc19_shadowmem.c:390)
+ by 0x........: mythread_wrapper (hg_intercepts.c:...)
+ ...
+
+Possible data race during write of size 1 at 0x........ by thread #x
+ at 0x........: child64 (tc19_shadowmem.c:105)
+ by 0x........: steer (tc19_shadowmem.c:390)
+ by 0x........: mythread_wrapper (hg_intercepts.c:...)
+ ...
+ This conflicts with a previous write of size 1 by thread #x
+ at 0x........: child64 (tc19_shadowmem.c:105)
+ by 0x........: steer (tc19_shadowmem.c:390)
+ by 0x........: mythread_wrapper (hg_intercepts.c:...)
+ ...
+
+Possible data race during write of size 1 at 0x........ by thread #x
+ at 0x........: child64 (tc19_shadowmem.c:105)
+ by 0x........: steer (tc19_shadowmem.c:390)
+ by 0x........: mythread_wrapper (hg_intercepts.c:...)
+ ...
+ This conflicts with a previous write of size 1 by thread #x
+ at 0x........: child64 (tc19_shadowmem.c:105)
+ by 0x........: steer (tc19_shadowmem.c:390)
+ by 0x........: mythread_wrapper (hg_intercepts.c:...)
+ ...
+
+Possible data race during write of size 1 at 0x........ by thread #x
+ at 0x........: child64 (tc19_shadowmem.c:105)
+ by 0x........: steer (tc19_shadowmem.c:390)
+ by 0x........: mythread_wrapper (hg_intercepts.c:...)
+ ...
+ This conflicts with a previous write of size 1 by thread #x
+ at 0x........: child64 (tc19_shadowmem.c:105)
+ by 0x........: steer (tc19_shadowmem.c:390)
+ by 0x........: mythread_wrapper (hg_intercepts.c:...)
+ ...
+
+Possible data race during write of size 1 at 0x........ by thread #x
+ at 0x........: child64 (tc19_shadowmem.c:105)
+ by 0x........: steer (tc19_shadowmem.c:390)
+ by 0x........: mythread_wrapper (hg_intercepts.c:...)
+ ...
+ This conflicts with a previous write of size 1 by thread #x
+ at 0x........: child64 (tc19_shadowmem.c:105)
+ by 0x........: steer (tc19_shadowmem.c:390)
+ by 0x........: mythread_wrapper (hg_intercepts.c:...)
+ ...
+
+Possible data race during write of size 1 at 0x........ by thread #x
+ at 0x........: child64 (tc19_shadowmem.c:105)
+ by 0x........: steer (tc19_shadowmem.c:390)
+ by 0x........: mythread_wrapper (hg_intercepts.c:...)
+ ...
+ This conflicts with a previous write of size 1 by thread #x
+ at 0x........: child64 (tc19_shadowmem.c:105)
+ by 0x........: steer (tc19_shadowmem.c:390)
+ by 0x........: mythread_wrapper (hg_intercepts.c:...)
+ ...
+
+Possible data race during write of size 1 at 0x........ by thread #x
+ at 0x........: child64 (tc19_shadowmem.c:105)
+ by 0x........: steer (tc19_shadowmem.c:390)
+ by 0x........: mythread_wrapper (hg_intercepts.c:...)
+ ...
+ This conflicts with a previous write of size 1 by thread #x
+ at 0x........: child64 (tc19_shadowmem.c:105)
+ by 0x........: steer (tc19_shadowmem.c:390)
+ by 0x........: mythread_wrapper (hg_intercepts.c:...)
+ ...
+
+Possible data race during write of size 1 at 0x........ by thread #x
+ at 0x........: child64 (tc19_shadowmem.c:105)
+ by 0x........: steer (tc19_shadowmem.c:390)
+ by 0x........: mythread_wrapper (hg_intercepts.c:...)
+ ...
+ This conflicts with a previous write of size 1 by thread #x
+ at 0x........: child64 (tc19_shadowmem.c:105)
+ by 0x........: steer (tc19_shadowmem.c:390)
+ by 0x........: mythread_wrapper (hg_intercepts.c:...)
+ ...
+---------- double gran, 4 .. 92, skip 52 ----------
+
+Thread #x was created
+ ...
+ by 0x........: pthread_create@* (hg_intercepts.c:...)
+ by 0x........: main (tc19_shadowmem.c:266)
+
+Thread #x was created
+ ...
+ by 0x........: pthread_create@* (hg_intercepts.c:...)
+ by 0x........: main (tc19_shadowmem.c:265)
+
+Possible data race during write of size 4 at 0x........ by thread #x
+ at 0x........: child64 (tc19_shadowmem.c:105)
+ by 0x........: steer (tc19_shadowmem.c:392)
+ by 0x........: mythread_wrapper (hg_intercepts.c:...)
+ ...
+ This conflicts with a previous write of size 4 by thread #x
+ at 0x........: child64 (tc19_shadowmem.c:105)
+ by 0x........: steer (tc19_shadowmem.c:392)
+ by 0x........: mythread_wrapper (hg_intercepts.c:...)
+ ...
+
+Possible data race during write of size 4 at 0x........ by thread #x
+ at 0x........: child64 (tc19_shadowmem.c:105)
+ by 0x........: steer (tc19_shadowmem.c:392)
+ by 0x........: mythread_wrapper (hg_intercepts.c:...)
+ ...
+ This conflicts with a previous write of size 4 by thread #x
+ at 0x........: child64 (tc19_shadowmem.c:105)
+ by 0x........: steer (tc19_shadowmem.c:392)
+ by 0x........: mythread_wrapper (hg_intercepts.c:...)
+ ...
+---------- double gran, 5 .. 92, skip 53 ----------
+
+Thread #x was created
+ ...
+ by 0x........: pthread_create@* (hg_intercepts.c:...)
+ by 0x........: main (tc19_shadowmem.c:266)
+
+Thread #x was created
+ ...
+ by 0x........: pthread_create@* (hg_intercepts.c:...)
+ by 0x........: main (tc19_shadowmem.c:265)
+
+Possible data race during write of size 1 at 0x........ by thread #x
+ at 0x........: child64 (tc19_shadowmem.c:105)
+ by 0x........: steer (tc19_shadowmem.c:394)
+ by 0x........: mythread_wrapper (hg_intercepts.c:...)
+ ...
+ This conflicts with a previous write of size 1 by thread #x
+ at 0x........: child64 (tc19_shadowmem.c:105)
+ by 0x........: steer (tc19_shadowmem.c:394)
+ by 0x........: mythread_wrapper (hg_intercepts.c:...)
+ ...
+
+Possible data race during write of size 1 at 0x........ by thread #x
+ at 0x........: child64 (tc19_shadowmem.c:105)
+ by 0x........: steer (tc19_shadowmem.c:394)
+ by 0x........: mythread_wrapper (hg_intercepts.c:...)
+ ...
+ This conflicts with a previous write of size 1 by thread #x
+ at 0x........: child64 (tc19_shadowmem.c:105)
+ by 0x........: steer (tc19_shadowmem.c:394)
+ by 0x........: mythread_wrapper (hg_intercepts.c:...)
+ ...
+
+Possible data race during write of size 1 at 0x........ by thread #x
+ at 0x........: child64 (tc19_shadowmem.c:105)
+ by 0x........: steer (tc19_shadowmem.c:394)
+ by 0x........: mythread_wrapper (hg_intercepts.c:...)
+ ...
+ This conflicts with a previous write of size 1 by thread #x
+ at 0x........: child64 (tc19_shadowmem.c:105)
+ by 0x........: steer (tc19_shadowmem.c:394)
+ by 0x........: mythread_wrapper (hg_intercepts.c:...)
+ ...
+
+Possible data race during write of size 1 at 0x........ by thread #x
+ at 0x........: child64 (tc19_shadowmem.c:105)
+ by 0x........: steer (tc19_shadowmem.c:394)
+ by 0x........: mythread_wrapper (hg_intercepts.c:...)
+ ...
+ This conflicts with a previous write of size 1 by thread #x
+ at 0x........: child64 (tc19_shadowmem.c:105)
+ by 0x........: steer (tc19_shadowmem.c:394)
+ by 0x........: mythread_wrapper (hg_intercepts.c:...)
+ ...
+
+Possible data race during write of size 1 at 0x........ by thread #x
+ at 0x........: child64 (tc19_shadowmem.c:105)
+ by 0x........: steer (tc19_shadowmem.c:394)
+ by 0x........: mythread_wrapper (hg_intercepts.c:...)
+ ...
+ This conflicts with a previous write of size 1 by thread #x
+ at 0x........: child64 (tc19_shadowmem.c:105)
+ by 0x........: steer (tc19_shadowmem.c:394)
+ by 0x........: mythread_wrapper (hg_intercepts.c:...)
+ ...
+
+Possible data race during write of size 1 at 0x........ by thread #x
+ at 0x........: child64 (tc19_shadowmem.c:105)
+ by 0x........: steer (tc19_shadowmem.c:394)
+ by 0x........: mythread_wrapper (hg_intercepts.c:...)
+ ...
+ This conflicts with a previous write of size 1 by thread #x
+ at 0x........: child64 (tc19_shadowmem.c:105)
+ by 0x........: steer (tc19_shadowmem.c:394)
+ by 0x........: mythread_wrapper (hg_intercepts.c:...)
+ ...
+
+Possible data race during write of size 1 at 0x........ by thread #x
+ at 0x........: child64 (tc19_shadowmem.c:105)
+ by 0x........: steer (tc19_shadowmem.c:394)
+ by 0x........: mythread_wrapper (hg_intercepts.c:...)
+ ...
+ This conflicts with a previous write of size 1 by thread #x
+ at 0x........: child64 (tc19_shadowmem.c:105)
+ by 0x........: steer (tc19_shadowmem.c:394)
+ by 0x........: mythread_wrapper (hg_intercepts.c:...)
+ ...
+
+Possible data race during write of size 1 at 0x........ by thread #x
+ at 0x........: child64 (tc19_shadowmem.c:105)
+ by 0x........: steer (tc19_shadowmem.c:394)
+ by 0x........: mythread_wrapper (hg_intercepts.c:...)
+ ...
+ This conflicts with a previous write of size 1 by thread #x
+ at 0x........: child64 (tc19_shadowmem.c:105)
+ by 0x........: steer (tc19_shadowmem.c:394)
+ by 0x........: mythread_wrapper (hg_intercepts.c:...)
+ ...
+---------- double gran, 6 .. 92, skip 54 ----------
+
+Thread #x was created
+ ...
+ by 0x........: pthread_create@* (hg_intercepts.c:...)
+ by 0x........: main (tc19_shadowmem.c:266)
+
+Thread #x was created
+ ...
+ by 0x........: pthread_create@* (hg_intercepts.c:...)
+ by 0x........: main (tc19_shadowmem.c:265)
+
+Possible data race during write of size 2 at 0x........ by thread #x
+ at 0x........: child64 (tc19_shadowmem.c:105)
+ by 0x........: steer (tc19_shadowmem.c:396)
+ by 0x........: mythread_wrapper (hg_intercepts.c:...)
+ ...
+ This conflicts with a previous write of size 2 by thread #x
+ at 0x........: child64 (tc19_shadowmem.c:105)
+ by 0x........: steer (tc19_shadowmem.c:396)
+ by 0x........: mythread_wrapper (hg_intercepts.c:...)
+ ...
+
+Possible data race during write of size 2 at 0x........ by thread #x
+ at 0x........: child64 (tc19_shadowmem.c:105)
+ by 0x........: steer (tc19_shadowmem.c:396)
+ by 0x........: mythread_wrapper (hg_intercepts.c:...)
+ ...
+ This conflicts with a previous write of size 2 by thread #x
+ at 0x........: child64 (tc19_shadowmem.c:105)
+ by 0x........: steer (tc19_shadowmem.c:396)
+ by 0x........: mythread_wrapper (hg_intercepts.c:...)
+ ...
+
+Possible data race during write of size 2 at 0x........ by thread #x
+ at 0x........: child64 (tc19_shadowmem.c:105)
+ by 0x........: steer (tc19_shadowmem.c:396)
+ by 0x........: mythread_wrapper (hg_intercepts.c:...)
+ ...
+ This conflicts with a previous write of size 2 by thread #x
+ at 0x........: child64 (tc19_shadowmem.c:105)
+ by 0x........: steer (tc19_shadowmem.c:396)
+ by 0x........: mythread_wrapper (hg_intercepts.c:...)
+ ...
+
+Possible data race during write of size 2 at 0x........ by thread #x
+ at 0x........: child64 (tc19_shadowmem.c:105)
+ by 0x........: steer (tc19_shadowmem.c:396)
+ by 0x........: mythread_wrapper (hg_intercepts.c:...)
+ ...
+ This conflicts with a previous write of size 2 by thread #x
+ at 0x........: child64 (tc19_shadowmem.c:105)
+ by 0x........: steer (tc19_shadowmem.c:396)
+ by 0x........: mythread_wrapper (hg_intercepts.c:...)
+ ...
+---------- double gran, 7 .. 92, skip 55 ----------
+
+Thread #x was created
+ ...
+ by 0x........: pthread_create@* (hg_intercepts.c:...)
+ by 0x........: main (tc19_shadowmem.c:266)
+
+Thread #x was created
+ ...
+ by 0x........: pthread_create@* (hg_intercepts.c:...)
+ by 0x........: main (tc19_shadowmem.c:265)
+
+Possible data race during write of size 1 at 0x........ by thread #x
+ at 0x........: child64 (tc19_shadowmem.c:105)
+ by 0x........: steer (tc19_shadowmem.c:398)
+ by 0x........: mythread_wrapper (hg_intercepts.c:...)
+ ...
+ This conflicts with a previous write of size 1 by thread #x
+ at 0x........: child64 (tc19_shadowmem.c:105)
+ by 0x........: steer (tc19_shadowmem.c:398)
+ by 0x........: mythread_wrapper (hg_intercepts.c:...)
+ ...
+
+Possible data race during write of size 1 at 0x........ by thread #x
+ at 0x........: child64 (tc19_shadowmem.c:105)
+ by 0x........: steer (tc19_shadowmem.c:398)
+ by 0x........: mythread_wrapper (hg_intercepts.c:...)
+ ...
+ This conflicts with a previous write of size 1 by thread #x
+ at 0x........: child64 (tc19_shadowmem.c:105)
+ by 0x........: steer (tc19_shadowmem.c:398)
+ by 0x........: mythread_wrapper (hg_intercepts.c:...)
+ ...
+
+Possible data race during write of size 1 at 0x........ by thread #x
+ at 0x........: child64 (tc19_shadowmem.c:105)
+ by 0x........: steer (tc19_shadowmem.c:398)
+ by 0x........: mythread_wrapper (hg_intercepts.c:...)
+ ...
+ This conflicts with a previous write of size 1 by thread #x
+ at 0x........: child64 (tc19_shadowmem.c:105)
+ by 0x........: steer (tc19_shadowmem.c:398)
+ by 0x........: mythread_wrapper (hg_intercepts.c:...)
+ ...
+
+Possible data race during write of size 1 at 0x........ by thread #x
+ at 0x........: child64 (tc19_shadowmem.c:105)
+ by 0x........: steer (tc19_shadowmem.c:398)
+ by 0x........: mythread_wrapper (hg_intercepts.c:...)
+ ...
+ This conflicts with a previous write of size 1 by thread #x
+ at 0x........: child64 (tc19_shadowmem.c:105)
+ by 0x........: steer (tc19_shadowmem.c:398)
+ by 0x........: mythread_wrapper (hg_intercepts.c:...)
+ ...
+
+Possible data race during write of size 1 at 0x........ by thread #x
+ at 0x........: child64 (tc19_shadowmem.c:105)
+ by 0x........: steer (tc19_shadowmem.c:398)
+ by 0x........: mythread_wrapper (hg_intercepts.c:...)
+ ...
+ This conflicts with a previous write of size 1 by thread #x
+ at 0x........: child64 (tc19_shadowmem.c:105)
+ by 0x........: steer (tc19_shadowmem.c:398)
+ by 0x........: mythread_wrapper (hg_intercepts.c:...)
+ ...
+
+Possible data race during write of size 1 at 0x........ by thread #x
+ at 0x........: child64 (tc19_shadowmem.c:105)
+ by 0x........: steer (tc19_shadowmem.c:398)
+ by 0x........: mythread_wrapper (hg_intercepts.c:...)
+ ...
+ This conflicts with a previous write of size 1 by thread #x
+ at 0x........: child64 (tc19_shadowmem.c:105)
+ by 0x........: steer (tc19_shadowmem.c:398)
+ by 0x........: mythread_wrapper (hg_intercepts.c:...)
+ ...
+
+Possible data race during write of size 1 at 0x........ by thread #x
+ at 0x........: child64 (tc19_shadowmem.c:105)
+ by 0x........: steer (tc19_shadowmem.c:398)
+ by 0x........: mythread_wrapper (hg_intercepts.c:...)
+ ...
+ This conflicts with a previous write of size 1 by thread #x
+ at 0x........: child64 (tc19_shadowmem.c:105)
+ by 0x........: steer (tc19_shadowmem.c:398)
+ by 0x........: mythread_wrapper (hg_intercepts.c:...)
+ ...
+
+Possible data race during write of size 1 at 0x........ by thread #x
+ at 0x........: child64 (tc19_shadowmem.c:105)
+ by 0x........: steer (tc19_shadowmem.c:398)
+ by 0x........: mythread_wrapper (hg_intercepts.c:...)
+ ...
+ This conflicts with a previous write of size 1 by thread #x
+ at 0x........: child64 (tc19_shadowmem.c:105)
+ by 0x........: steer (tc19_shadowmem.c:398)
+ by 0x........: mythread_wrapper (hg_intercepts.c:...)
+ ...
+---------- double gran, 0 .. 92, skip 56 ----------
+
+Thread #x was created
+ ...
+ by 0x........: pthread_create@* (hg_intercepts.c:...)
+ by 0x........: main (tc19_shadowmem.c:266)
+
+Thread #x was created
+ ...
+ by 0x........: pthread_create@* (hg_intercepts.c:...)
+ by 0x........: main (tc19_shadowmem.c:265)
+
+Possible data race during write of size 8 at 0x........ by thread #x
+ at 0x........: child64 (tc19_shadowmem.c:105)
+ by 0x........: steer (tc19_shadowmem.c:400)
+ by 0x........: mythread_wrapper (hg_intercepts.c:...)
+ ...
+ This conflicts with a previous write of size 8 by thread #x
+ at 0x........: child64 (tc19_shadowmem.c:105)
+ by 0x........: steer (tc19_shadowmem.c:400)
+ by 0x........: mythread_wrapper (hg_intercepts.c:...)
+ ...
+---------- double gran, 1 .. 92, skip 57 ----------
+
+Thread #x was created
+ ...
+ by 0x........: pthread_create@* (hg_intercepts.c:...)
+ by 0x........: main (tc19_shadowmem.c:266)
+
+Thread #x was created
+ ...
+ by 0x........: pthread_create@* (hg_intercepts.c:...)
+ by 0x........: main (tc19_shadowmem.c:265)
+
+Possible data race during write of size 1 at 0x........ by thread #x
+ at 0x........: child64 (tc19_shadowmem.c:105)
+ by 0x........: steer (tc19_shadowmem.c:402)
+ by 0x........: mythread_wrapper (hg_intercepts.c:...)
+ ...
+ This conflicts with a previous write of size 1 by thread #x
+ at 0x........: child64 (tc19_shadowmem.c:105)
+ by 0x........: steer (tc19_shadowmem.c:402)
+ by 0x........: mythread_wrapper (hg_intercepts.c:...)
+ ...
+
+Possible data race during write of size 1 at 0x........ by thread #x
+ at 0x........: child64 (tc19_shadowmem.c:105)
+ by 0x........: steer (tc19_shadowmem.c:402)
+ by 0x........: mythread_wrapper (hg_intercepts.c:...)
+ ...
+ This conflicts with a previous write of size 1 by thread #x
+ at 0x........: child64 (tc19_shadowmem.c:105)
+ by 0x........: steer (tc19_shadowmem.c:402)
+ by 0x........: mythread_wrapper (hg_intercepts.c:...)
+ ...
+
+Possible data race during write of size 1 at 0x........ by thread #x
+ at 0x........: child64 (tc19_shadowmem.c:105)
+ by 0x........: steer (tc19_shadowmem.c:402)
+ by 0x........: mythread_wrapper (hg_intercepts.c:...)
+ ...
+ This conflicts with a previous write of size 1 by thread #x
+ at 0x........: child64 (tc19_shadowmem.c:105)
+ by 0x........: steer (tc19_shadowmem.c:402)
+ by 0x........: mythread_wrapper (hg_intercepts.c:...)
+ ...
+
+Possible data race during write of size 1 at 0x........ by thread #x
+ at 0x........: child64 (tc19_shadowmem.c:105)
+ by 0x........: steer (tc19_shadowmem.c:402)
+ by 0x........: mythread_wrapper (hg_intercepts.c:...)
+ ...
+ This conflicts with a previous write of size 1 by thread #x
+ at 0x........: child64 (tc19_shadowmem.c:105)
+ by 0x........: steer (tc19_shadowmem.c:402)
+ by 0x........: mythread_wrapper (hg_intercepts.c:...)
+ ...
+
+Possible data race during write of size 1 at 0x........ by thread #x
+ at 0x........: child64 (tc19_shadowmem.c:105)
+ by 0x........: steer (tc19_shadowmem.c:402)
+ by 0x........: mythread_wrapper (hg_intercepts.c:...)
+ ...
+ This conflicts with a previous write of size 1 by thread #x
+ at 0x........: child64 (tc19_shadowmem.c:105)
+ by 0x........: steer (tc19_shadowmem.c:402)
+ by 0x........: mythread_wrapper (hg_intercepts.c:...)
+ ...
+
+Possible data race during write of size 1 at 0x........ by thread #x
+ at 0x........: child64 (tc19_shadowmem.c:105)
+ by 0x........: steer (tc19_shadowmem.c:402)
+ by 0x........: mythread_wrapper (hg_intercepts.c:...)
+ ...
+ This conflicts with a previous write of size 1 by thread #x
+ at 0x........: child64 (tc19_shadowmem.c:105)
+ by 0x........: steer (tc19_shadowmem.c:402)
+ by 0x........: mythread_wrapper (hg_intercepts.c:...)
+ ...
+
+Possible data race during write of size 1 at 0x........ by thread #x
+ at 0x........: child64 (tc19_shadowmem.c:105)
+ by 0x........: steer (tc19_shadowmem.c:402)
+ by 0x........: mythread_wrapper (hg_intercepts.c:...)
+ ...
+ This conflicts with a previous write of size 1 by thread #x
+ at 0x........: child64 (tc19_shadowmem.c:105)
+ by 0x........: steer (tc19_shadowmem.c:402)
+ by 0x........: mythread_wrapper (hg_intercepts.c:...)
+ ...
+
+Possible data race during write of size 1 at 0x........ by thread #x
+ at 0x........: child64 (tc19_shadowmem.c:105)
+ by 0x........: steer (tc19_shadowmem.c:402)
+ by 0x........: mythread_wrapper (hg_intercepts.c:...)
+ ...
+ This conflicts with a previous write of size 1 by thread #x
+ at 0x........: child64 (tc19_shadowmem.c:105)
+ by 0x........: steer (tc19_shadowmem.c:402)
+ by 0x........: mythread_wrapper (hg_intercepts.c:...)
+ ...
+---------- double gran, 2 .. 92, skip 58 ----------
+
+Thread #x was created
+ ...
+ by 0x........: pthread_create@* (hg_intercepts.c:...)
+ by 0x........: main (tc19_shadowmem.c:266)
+
+Thread #x was created
+ ...
+ by 0x........: pthread_create@* (hg_intercepts.c:...)
+ by 0x........: main (tc19_shadowmem.c:265)
+
+Possible data race during write of size 2 at 0x........ by thread #x
+ at 0x........: child64 (tc19_shadowmem.c:105)
+ by 0x........: steer (tc19_shadowmem.c:404)
+ by 0x........: mythread_wrapper (hg_intercepts.c:...)
+ ...
+ This conflicts with a previous write of size 2 by thread #x
+ at 0x........: child64 (tc19_shadowmem.c:105)
+ by 0x........: steer (tc19_shadowmem.c:404)
+ by 0x........: mythread_wrapper (hg_intercepts.c:...)
+ ...
+
+Possible data race during write of size 2 at 0x........ by thread #x
+ at 0x........: child64 (tc19_shadowmem.c:105)
+ by 0x........: steer (tc19_shadowmem.c:404)
+ by 0x........: mythread_wrapper (hg_intercepts.c:...)
+ ...
+ This conflicts with a previous write of size 2 by thread #x
+ at 0x........: child64 (tc19_shadowmem.c:105)
+ by 0x........: steer (tc19_shadowmem.c:404)
+ by 0x........: mythread_wrapper (hg_intercepts.c:...)
+ ...
+
+Possible data race during write of size 2 at 0x........ by thread #x
+ at 0x........: child64 (tc19_shadowmem.c:105)
+ by 0x........: steer (tc19_shadowmem.c:404)
+ by 0x........: mythread_wrapper (hg_intercepts.c:...)
+ ...
+ This conflicts with a previous write of size 2 by thread #x
+ at 0x........: child64 (tc19_shadowmem.c:105)
+ by 0x........: steer (tc19_shadowmem.c:404)
+ by 0x........: mythread_wrapper (hg_intercepts.c:...)
+ ...
+
+Possible data race during write of size 2 at 0x........ by thread #x
+ at 0x........: child64 (tc19_shadowmem.c:105)
+ by 0x........: steer (tc19_shadowmem.c:404)
+ by 0x........: mythread_wrapper (hg_intercepts.c:...)
+ ...
+ This conflicts with a previous write of size 2 by thread #x
+ at 0x........: child64 (tc19_shadowmem.c:105)
+ by 0x........: steer (tc19_shadowmem.c:404)
+ by 0x........: mythread_wrapper (hg_intercepts.c:...)
+ ...
+---------- double gran, 3 .. 92, skip 59 ----------
+
+Thread #x was created
+ ...
+ by 0x........: pthread_create@* (hg_intercepts.c:...)
+ by 0x........: main (tc19_shadowmem.c:266)
+
+Thread #x was created
+ ...
+ by 0x........: pthread_create@* (hg_intercepts.c:...)
+ by 0x........: main (tc19_shadowmem.c:265)
+
+Possible data race during write of size 1 at 0x........ by thread #x
+ at 0x........: child64 (tc19_shadowmem.c:105)
+ by 0x........: steer (tc19_shadowmem.c:406)
+ by 0x........: mythread_wrapper (hg_intercepts.c:...)
+ ...
+ This conflicts with a previous write of size 1 by thread #x
+ at 0x........: child64 (tc19_shadowmem.c:105)
+ by 0x........: steer (tc19_shadowmem.c:406)
+ by 0x........: mythread_wrapper (hg_intercepts.c:...)
+ ...
+
+Possible data race during write of size 1 at 0x........ by thread #x
+ at 0x........: child64 (tc19_shadowmem.c:105)
+ by 0x........: steer (tc19_shadowmem.c:406)
+ by 0x........: mythread_wrapper (hg_intercepts.c:...)
+ ...
+ This conflicts with a previous write of size 1 by thread #x
+ at 0x........: child64 (tc19_shadowmem.c:105)
+ by 0x........: steer (tc19_shadowmem.c:406)
+ by 0x........: mythread_wrapper (hg_intercepts.c:...)
+ ...
+
+Possible data race during write of size 1 at 0x........ by thread #x
+ at 0x........: child64 (tc19_shadowmem.c:105)
+ by 0x........: steer (tc19_shadowmem.c:406)
+ by 0x........: mythread_wrapper (hg_intercepts.c:...)
+ ...
+ This conflicts with a previous write of size 1 by thread #x
+ at 0x........: child64 (tc19_shadowmem.c:105)
+ by 0x........: steer (tc19_shadowmem.c:406)
+ by 0x........: mythread_wrapper (hg_intercepts.c:...)
+ ...
+
+Possible data race during write of size 1 at 0x........ by thread #x
+ at 0x........: child64 (tc19_shadowmem.c:105)
+ by 0x........: steer (tc19_shadowmem.c:406)
+ by 0x........: mythread_wrapper (hg_intercepts.c:...)
+ ...
+ This conflicts with a previous write of size 1 by thread #x
+ at 0x........: child64 (tc19_shadowmem.c:105)
+ by 0x........: steer (tc19_shadowmem.c:406)
+ by 0x........: mythread_wrapper (hg_intercepts.c:...)
+ ...
+
+Possible data race during write of size 1 at 0x........ by thread #x
+ at 0x........: child64 (tc19_shadowmem.c:105)
+ by 0x........: steer (tc19_shadowmem.c:406)
+ by 0x........: mythread_wrapper (hg_intercepts.c:...)
+ ...
+ This conflicts with a previous write of size 1 by thread #x
+ at 0x........: child64 (tc19_shadowmem.c:105)
+ by 0x........: steer (tc19_shadowmem.c:406)
+ by 0x........: mythread_wrapper (hg_intercepts.c:...)
+ ...
+
+Possible data race during write of size 1 at 0x........ by thread #x
+ at 0x........: child64 (tc19_shadowmem.c:105)
+ by 0x........: steer (tc19_shadowmem.c:406)
+ by 0x........: mythread_wrapper (hg_intercepts.c:...)
+ ...
+ This conflicts with a previous write of size 1 by thread #x
+ at 0x........: child64 (tc19_shadowmem.c:105)
+ by 0x........: steer (tc19_shadowmem.c:406)
+ by 0x........: mythread_wrapper (hg_intercepts.c:...)
+ ...
+
+Possible data race during write of size 1 at 0x........ by thread #x
+ at 0x........: child64 (tc19_shadowmem.c:105)
+ by 0x........: steer (tc19_shadowmem.c:406)
+ by 0x........: mythread_wrapper (hg_intercepts.c:...)
+ ...
+ This conflicts with a previous write of size 1 by thread #x
+ at 0x........: child64 (tc19_shadowmem.c:105)
+ by 0x........: steer (tc19_shadowmem.c:406)
+ by 0x........: mythread_wrapper (hg_intercepts.c:...)
+ ...
+
+Possible data race during write of size 1 at 0x........ by thread #x
+ at 0x........: child64 (tc19_shadowmem.c:105)
+ by 0x........: steer (tc19_shadowmem.c:406)
+ by 0x........: mythread_wrapper (hg_intercepts.c:...)
+ ...
+ This conflicts with a previous write of size 1 by thread #x
+ at 0x........: child64 (tc19_shadowmem.c:105)
+ by 0x........: steer (tc19_shadowmem.c:406)
+ by 0x........: mythread_wrapper (hg_intercepts.c:...)
+ ...
+---------- double gran, 4 .. 92, skip 60 ----------
+
+Thread #x was created
+ ...
+ by 0x........: pthread_create@* (hg_intercepts.c:...)
+ by 0x........: main (tc19_shadowmem.c:266)
+
+Thread #x was created
+ ...
+ by 0x........: pthread_create@* (hg_intercepts.c:...)
+ by 0x........: main (tc19_shadowmem.c:265)
+
+Possible data race during write of size 4 at 0x........ by thread #x
+ at 0x........: child64 (tc19_shadowmem.c:105)
+ by 0x........: steer (tc19_shadowmem.c:408)
+ by 0x........: mythread_wrapper (hg_intercepts.c:...)
+ ...
+ This conflicts with a previous write of size 4 by thread #x
+ at 0x........: child64 (tc19_shadowmem.c:105)
+ by 0x........: steer (tc19_shadowmem.c:408)
+ by 0x........: mythread_wrapper (hg_intercepts.c:...)
+ ...
+
+Possible data race during write of size 4 at 0x........ by thread #x
+ at 0x........: child64 (tc19_shadowmem.c:105)
+ by 0x........: steer (tc19_shadowmem.c:408)
+ by 0x........: mythread_wrapper (hg_intercepts.c:...)
+ ...
+ This conflicts with a previous write of size 4 by thread #x
+ at 0x........: child64 (tc19_shadowmem.c:105)
+ by 0x........: steer (tc19_shadowmem.c:408)
+ by 0x........: mythread_wrapper (hg_intercepts.c:...)
+ ...
+---------- double gran, 5 .. 92, skip 61 ----------
+
+Thread #x was created
+ ...
+ by 0x........: pthread_create@* (hg_intercepts.c:...)
+ by 0x........: main (tc19_shadowmem.c:266)
+
+Thread #x was created
+ ...
+ by 0x........: pthread_create@* (hg_intercepts.c:...)
+ by 0x........: main (tc19_shadowmem.c:265)
+
+Possible data race during write of size 1 at 0x........ by thread #x
+ at 0x........: child64 (tc19_shadowmem.c:105)
+ by 0x........: steer (tc19_shadowmem.c:410)
+ by 0x........: mythread_wrapper (hg_intercepts.c:...)
+ ...
+ This conflicts with a previous write of size 1 by thread #x
+ at 0x........: child64 (tc19_shadowmem.c:105)
+ by 0x........: steer (tc19_shadowmem.c:410)
+ by 0x........: mythread_wrapper (hg_intercepts.c:...)
+ ...
+
+Possible data race during write of size 1 at 0x........ by thread #x
+ at 0x........: child64 (tc19_shadowmem.c:105)
+ by 0x........: steer (tc19_shadowmem.c:410)
+ by 0x........: mythread_wrapper (hg_intercepts.c:...)
+ ...
+ This conflicts with a previous write of size 1 by thread #x
+ at 0x........: child64 (tc19_shadowmem.c:105)
+ by 0x........: steer (tc19_shadowmem.c:410)
+ by 0x........: mythread_wrapper (hg_intercepts.c:...)
+ ...
+
+Possible data race during write of size 1 at 0x........ by thread #x
+ at 0x........: child64 (tc19_shadowmem.c:105)
+ by 0x........: steer (tc19_shadowmem.c:410)
+ by 0x........: mythread_wrapper (hg_intercepts.c:...)
+ ...
+ This conflicts with a previous write of size 1 by thread #x
+ at 0x........: child64 (tc19_shadowmem.c:105)
+ by 0x........: steer (tc19_shadowmem.c:410)
+ by 0x........: mythread_wrapper (hg_intercepts.c:...)
+ ...
+
+Possible data race during write of size 1 at 0x........ by thread #x
+ at 0x........: child64 (tc19_shadowmem.c:105)
+ by 0x........: steer (tc19_shadowmem.c:410)
+ by 0x........: mythread_wrapper (hg_intercepts.c:...)
+ ...
+ This conflicts with a previous write of size 1 by thread #x
+ at 0x........: child64 (tc19_shadowmem.c:105)
+ by 0x........: steer (tc19_shadowmem.c:410)
+ by 0x........: mythread_wrapper (hg_intercepts.c:...)
+ ...
+
+Possible data race during write of size 1 at 0x........ by thread #x
+ at 0x........: child64 (tc19_shadowmem.c:105)
+ by 0x........: steer (tc19_shadowmem.c:410)
+ by 0x........: mythread_wrapper (hg_intercepts.c:...)
+ ...
+ This conflicts with a previous write of size 1 by thread #x
+ at 0x........: child64 (tc19_shadowmem.c:105)
+ by 0x........: steer (tc19_shadowmem.c:410)
+ by 0x........: mythread_wrapper (hg_intercepts.c:...)
+ ...
+
+Possible data race during write of size 1 at 0x........ by thread #x
+ at 0x........: child64 (tc19_shadowmem.c:105)
+ by 0x........: steer (tc19_shadowmem.c:410)
+ by 0x........: mythread_wrapper (hg_intercepts.c:...)
+ ...
+ This conflicts with a previous write of size 1 by thread #x
+ at 0x........: child64 (tc19_shadowmem.c:105)
+ by 0x........: steer (tc19_shadowmem.c:410)
+ by 0x........: mythread_wrapper (hg_intercepts.c:...)
+ ...
+
+Possible data race during write of size 1 at 0x........ by thread #x
+ at 0x........: child64 (tc19_shadowmem.c:105)
+ by 0x........: steer (tc19_shadowmem.c:410)
+ by 0x........: mythread_wrapper (hg_intercepts.c:...)
+ ...
+ This conflicts with a previous write of size 1 by thread #x
+ at 0x........: child64 (tc19_shadowmem.c:105)
+ by 0x........: steer (tc19_shadowmem.c:410)
+ by 0x........: mythread_wrapper (hg_intercepts.c:...)
+ ...
+
+Possible data race during write of size 1 at 0x........ by thread #x
+ at 0x........: child64 (tc19_shadowmem.c:105)
+ by 0x........: steer (tc19_shadowmem.c:410)
+ by 0x........: mythread_wrapper (hg_intercepts.c:...)
+ ...
+ This conflicts with a previous write of size 1 by thread #x
+ at 0x........: child64 (tc19_shadowmem.c:105)
+ by 0x........: steer (tc19_shadowmem.c:410)
+ by 0x........: mythread_wrapper (hg_intercepts.c:...)
+ ...
+---------- double gran, 6 .. 92, skip 62 ----------
+
+Thread #x was created
+ ...
+ by 0x........: pthread_create@* (hg_intercepts.c:...)
+ by 0x........: main (tc19_shadowmem.c:266)
+
+Thread #x was created
+ ...
+ by 0x........: pthread_create@* (hg_intercepts.c:...)
+ by 0x........: main (tc19_shadowmem.c:265)
+
+Possible data race during write of size 2 at 0x........ by thread #x
+ at 0x........: child64 (tc19_shadowmem.c:105)
+ by 0x........: steer (tc19_shadowmem.c:412)
+ by 0x........: mythread_wrapper (hg_intercepts.c:...)
+ ...
+ This conflicts with a previous write of size 2 by thread #x
+ at 0x........: child64 (tc19_shadowmem.c:105)
+ by 0x........: steer (tc19_shadowmem.c:412)
+ by 0x........: mythread_wrapper (hg_intercepts.c:...)
+ ...
+
+Possible data race during write of size 2 at 0x........ by thread #x
+ at 0x........: child64 (tc19_shadowmem.c:105)
+ by 0x........: steer (tc19_shadowmem.c:412)
+ by 0x........: mythread_wrapper (hg_intercepts.c:...)
+ ...
+ This conflicts with a previous write of size 2 by thread #x
+ at 0x........: child64 (tc19_shadowmem.c:105)
+ by 0x........: steer (tc19_shadowmem.c:412)
+ by 0x........: mythread_wrapper (hg_intercepts.c:...)
+ ...
+
+Possible data race during write of size 2 at 0x........ by thread #x
+ at 0x........: child64 (tc19_shadowmem.c:105)
+ by 0x........: steer (tc19_shadowmem.c:412)
+ by 0x........: mythread_wrapper (hg_intercepts.c:...)
+ ...
+ This conflicts with a previous write of size 2 by thread #x
+ at 0x........: child64 (tc19_shadowmem.c:105)
+ by 0x........: steer (tc19_shadowmem.c:412)
+ by 0x........: mythread_wrapper (hg_intercepts.c:...)
+ ...
+
+Possible data race during write of size 2 at 0x........ by thread #x
+ at 0x........: child64 (tc19_shadowmem.c:105)
+ by 0x........: steer (tc19_shadowmem.c:412)
+ by 0x........: mythread_wrapper (hg_intercepts.c:...)
+ ...
+ This conflicts with a previous write of size 2 by thread #x
+ at 0x........: child64 (tc19_shadowmem.c:105)
+ by 0x........: steer (tc19_shadowmem.c:412)
+ by 0x........: mythread_wrapper (hg_intercepts.c:...)
+ ...
+---------- double gran, 7 .. 92, skip 63 ----------
+
+Thread #x was created
+ ...
+ by 0x........: pthread_create@* (hg_intercepts.c:...)
+ by 0x........: main (tc19_shadowmem.c:266)
+
+Thread #x was created
+ ...
+ by 0x........: pthread_create@* (hg_intercepts.c:...)
+ by 0x........: main (tc19_shadowmem.c:265)
+
+Possible data race during write of size 1 at 0x........ by thread #x
+ at 0x........: child64 (tc19_shadowmem.c:105)
+ by 0x........: steer (tc19_shadowmem.c:414)
+ by 0x........: mythread_wrapper (hg_intercepts.c:...)
+ ...
+ This conflicts with a previous write of size 1 by thread #x
+ at 0x........: child64 (tc19_shadowmem.c:105)
+ by 0x........: steer (tc19_shadowmem.c:414)
+ by 0x........: mythread_wrapper (hg_intercepts.c:...)
+ ...
+
+Possible data race during write of size 1 at 0x........ by thread #x
+ at 0x........: child64 (tc19_shadowmem.c:105)
+ by 0x........: steer (tc19_shadowmem.c:414)
+ by 0x........: mythread_wrapper (hg_intercepts.c:...)
+ ...
+ This conflicts with a previous write of size 1 by thread #x
+ at 0x........: child64 (tc19_shadowmem.c:105)
+ by 0x........: steer (tc19_shadowmem.c:414)
+ by 0x........: mythread_wrapper (hg_intercepts.c:...)
+ ...
+
+Possible data race during write of size 1 at 0x........ by thread #x
+ at 0x........: child64 (tc19_shadowmem.c:105)
+ by 0x........: steer (tc19_shadowmem.c:414)
+ by 0x........: mythread_wrapper (hg_intercepts.c:...)
+ ...
+ This conflicts with a previous write of size 1 by thread #x
+ at 0x........: child64 (tc19_shadowmem.c:105)
+ by 0x........: steer (tc19_shadowmem.c:414)
+ by 0x........: mythread_wrapper (hg_intercepts.c:...)
+ ...
+
+Possible data race during write of size 1 at 0x........ by thread #x
+ at 0x........: child64 (tc19_shadowmem.c:105)
+ by 0x........: steer (tc19_shadowmem.c:414)
+ by 0x........: mythread_wrapper (hg_intercepts.c:...)
+ ...
+ This conflicts with a previous write of size 1 by thread #x
+ at 0x........: child64 (tc19_shadowmem.c:105)
+ by 0x........: steer (tc19_shadowmem.c:414)
+ by 0x........: mythread_wrapper (hg_intercepts.c:...)
+ ...
+
+Possible data race during write of size 1 at 0x........ by thread #x
+ at 0x........: child64 (tc19_shadowmem.c:105)
+ by 0x........: steer (tc19_shadowmem.c:414)
+ by 0x........: mythread_wrapper (hg_intercepts.c:...)
+ ...
+ This conflicts with a previous write of size 1 by thread #x
+ at 0x........: child64 (tc19_shadowmem.c:105)
+ by 0x........: steer (tc19_shadowmem.c:414)
+ by 0x........: mythread_wrapper (hg_intercepts.c:...)
+ ...
+
+Possible data race during write of size 1 at 0x........ by thread #x
+ at 0x........: child64 (tc19_shadowmem.c:105)
+ by 0x........: steer (tc19_shadowmem.c:414)
+ by 0x........: mythread_wrapper (hg_intercepts.c:...)
+ ...
+ This conflicts with a previous write of size 1 by thread #x
+ at 0x........: child64 (tc19_shadowmem.c:105)
+ by 0x........: steer (tc19_shadowmem.c:414)
+ by 0x........: mythread_wrapper (hg_intercepts.c:...)
+ ...
+
+Possible data race during write of size 1 at 0x........ by thread #x
+ at 0x........: child64 (tc19_shadowmem.c:105)
+ by 0x........: steer (tc19_shadowmem.c:414)
+ by 0x........: mythread_wrapper (hg_intercepts.c:...)
+ ...
+ This conflicts with a previous write of size 1 by thread #x
+ at 0x........: child64 (tc19_shadowmem.c:105)
+ by 0x........: steer (tc19_shadowmem.c:414)
+ by 0x........: mythread_wrapper (hg_intercepts.c:...)
+ ...
+
+Possible data race during write of size 1 at 0x........ by thread #x
+ at 0x........: child64 (tc19_shadowmem.c:105)
+ by 0x........: steer (tc19_shadowmem.c:414)
+ by 0x........: mythread_wrapper (hg_intercepts.c:...)
+ ...
+ This conflicts with a previous write of size 1 by thread #x
+ at 0x........: child64 (tc19_shadowmem.c:105)
+ by 0x........: steer (tc19_shadowmem.c:414)
+ by 0x........: mythread_wrapper (hg_intercepts.c:...)
+ ...
+---------- double gran, 0 .. 92, skip 64 ----------
+
+Thread #x was created
+ ...
+ by 0x........: pthread_create@* (hg_intercepts.c:...)
+ by 0x........: main (tc19_shadowmem.c:266)
+
+Thread #x was created
+ ...
+ by 0x........: pthread_create@* (hg_intercepts.c:...)
+ by 0x........: main (tc19_shadowmem.c:265)
+
+Possible data race during write of size 8 at 0x........ by thread #x
+ at 0x........: child64 (tc19_shadowmem.c:105)
+ by 0x........: steer (tc19_shadowmem.c:416)
+ by 0x........: mythread_wrapper (hg_intercepts.c:...)
+ ...
+ This conflicts with a previous write of size 8 by thread #x
+ at 0x........: child64 (tc19_shadowmem.c:105)
+ by 0x........: steer (tc19_shadowmem.c:416)
+ by 0x........: mythread_wrapper (hg_intercepts.c:...)
+ ...
+---------- double gran, 1 .. 92, skip 65 ----------
+
+Thread #x was created
+ ...
+ by 0x........: pthread_create@* (hg_intercepts.c:...)
+ by 0x........: main (tc19_shadowmem.c:266)
+
+Thread #x was created
+ ...
+ by 0x........: pthread_create@* (hg_intercepts.c:...)
+ by 0x........: main (tc19_shadowmem.c:265)
+
+Possible data race during write of size 1 at 0x........ by thread #x
+ at 0x........: child64 (tc19_shadowmem.c:105)
+ by 0x........: steer (tc19_shadowmem.c:418)
+ by 0x........: mythread_wrapper (hg_intercepts.c:...)
+ ...
+ This conflicts with a previous write of size 1 by thread #x
+ at 0x........: child64 (tc19_shadowmem.c:105)
+ by 0x........: steer (tc19_shadowmem.c:418)
+ by 0x........: mythread_wrapper (hg_intercepts.c:...)
+ ...
+
+Possible data race during write of size 1 at 0x........ by thread #x
+ at 0x........: child64 (tc19_shadowmem.c:105)
+ by 0x........: steer (tc19_shadowmem.c:418)
+ by 0x........: mythread_wrapper (hg_intercepts.c:...)
+ ...
+ This conflicts with a previous write of size 1 by thread #x
+ at 0x........: child64 (tc19_shadowmem.c:105)
+ by 0x........: steer (tc19_shadowmem.c:418)
+ by 0x........: mythread_wrapper (hg_intercepts.c:...)
+ ...
+
+Possible data race during write of size 1 at 0x........ by thread #x
+ at 0x........: child64 (tc19_shadowmem.c:105)
+ by 0x........: steer (tc19_shadowmem.c:418)
+ by 0x........: mythread_wrapper (hg_intercepts.c:...)
+ ...
+ This conflicts with a previous write of size 1 by thread #x
+ at 0x........: child64 (tc19_shadowmem.c:105)
+ by 0x........: steer (tc19_shadowmem.c:418)
+ by 0x........: mythread_wrapper (hg_intercepts.c:...)
+ ...
+
+Possible data race during write of size 1 at 0x........ by thread #x
+ at 0x........: child64 (tc19_shadowmem.c:105)
+ by 0x........: steer (tc19_shadowmem.c:418)
+ by 0x........: mythread_wrapper (hg_intercepts.c:...)
+ ...
+ This conflicts with a previous write of size 1 by thread #x
+ at 0x........: child64 (tc19_shadowmem.c:105)
+ by 0x........: steer (tc19_shadowmem.c:418)
+ by 0x........: mythread_wrapper (hg_intercepts.c:...)
+ ...
+
+Possible data race during write of size 1 at 0x........ by thread #x
+ at 0x........: child64 (tc19_shadowmem.c:105)
+ by 0x........: steer (tc19_shadowmem.c:418)
+ by 0x........: mythread_wrapper (hg_intercepts.c:...)
+ ...
+ This conflicts with a previous write of size 1 by thread #x
+ at 0x........: child64 (tc19_shadowmem.c:105)
+ by 0x........: steer (tc19_shadowmem.c:418)
+ by 0x........: mythread_wrapper (hg_intercepts.c:...)
+ ...
+
+Possible data race during write of size 1 at 0x........ by thread #x
+ at 0x........: child64 (tc19_shadowmem.c:105)
+ by 0x........: steer (tc19_shadowmem.c:418)
+ by 0x........: mythread_wrapper (hg_intercepts.c:...)
+ ...
+ This conflicts with a previous write of size 1 by thread #x
+ at 0x........: child64 (tc19_shadowmem.c:105)
+ by 0x........: steer (tc19_shadowmem.c:418)
+ by 0x........: mythread_wrapper (hg_intercepts.c:...)
+ ...
+
+Possible data race during write of size 1 at 0x........ by thread #x
+ at 0x........: child64 (tc19_shadowmem.c:105)
+ by 0x........: steer (tc19_shadowmem.c:418)
+ by 0x........: mythread_wrapper (hg_intercepts.c:...)
+ ...
+ This conflicts with a previous write of size 1 by thread #x
+ at 0x........: child64 (tc19_shadowmem.c:105)
+ by 0x........: steer (tc19_shadowmem.c:418)
+ by 0x........: mythread_wrapper (hg_intercepts.c:...)
+ ...
+
+Possible data race during write of size 1 at 0x........ by thread #x
+ at 0x........: child64 (tc19_shadowmem.c:105)
+ by 0x........: steer (tc19_shadowmem.c:418)
+ by 0x........: mythread_wrapper (hg_intercepts.c:...)
+ ...
+ This conflicts with a previous write of size 1 by thread #x
+ at 0x........: child64 (tc19_shadowmem.c:105)
+ by 0x........: steer (tc19_shadowmem.c:418)
+ by 0x........: mythread_wrapper (hg_intercepts.c:...)
+ ...
+---------- double gran, 2 .. 92, skip 66 ----------
+
+Thread #x was created
+ ...
+ by 0x........: pthread_create@* (hg_intercepts.c:...)
+ by 0x........: main (tc19_shadowmem.c:266)
+
+Thread #x was created
+ ...
+ by 0x........: pthread_create@* (hg_intercepts.c:...)
+ by 0x........: main (tc19_shadowmem.c:265)
+
+Possible data race during write of size 2 at 0x........ by thread #x
+ at 0x........: child64 (tc19_shadowmem.c:105)
+ by 0x........: steer (tc19_shadowmem.c:420)
+ by 0x........: mythread_wrapper (hg_intercepts.c:...)
+ ...
+ This conflicts with a previous write of size 2 by thread #x
+ at 0x........: child64 (tc19_shadowmem.c:105)
+ by 0x........: steer (tc19_shadowmem.c:420)
+ by 0x........: mythread_wrapper (hg_intercepts.c:...)
+ ...
+
+Possible data race during write of size 2 at 0x........ by thread #x
+ at 0x........: child64 (tc19_shadowmem.c:105)
+ by 0x........: steer (tc19_shadowmem.c:420)
+ by 0x........: mythread_wrapper (hg_intercepts.c:...)
+ ...
+ This conflicts with a previous write of size 2 by thread #x
+ at 0x........: child64 (tc19_shadowmem.c:105)
+ by 0x........: steer (tc19_shadowmem.c:420)
+ by 0x........: mythread_wrapper (hg_intercepts.c:...)
+ ...
+
+Possible data race during write of size 2 at 0x........ by thread #x
+ at 0x........: child64 (tc19_shadowmem.c:105)
+ by 0x........: steer (tc19_shadowmem.c:420)
+ by 0x........: mythread_wrapper (hg_intercepts.c:...)
+ ...
+ This conflicts with a previous write of size 2 by thread #x
+ at 0x........: child64 (tc19_shadowmem.c:105)
+ by 0x........: steer (tc19_shadowmem.c:420)
+ by 0x........: mythread_wrapper (hg_intercepts.c:...)
+ ...
+
+Possible data race during write of size 2 at 0x........ by thread #x
+ at 0x........: child64 (tc19_shadowmem.c:105)
+ by 0x........: steer (tc19_shadowmem.c:420)
+ by 0x........: mythread_wrapper (hg_intercepts.c:...)
+ ...
+ This conflicts with a previous write of size 2 by thread #x
+ at 0x........: child64 (tc19_shadowmem.c:105)
+ by 0x........: steer (tc19_shadowmem.c:420)
+ by 0x........: mythread_wrapper (hg_intercepts.c:...)
+ ...
+---------- double gran, 3 .. 92, skip 67 ----------
+
+Thread #x was created
+ ...
+ by 0x........: pthread_create@* (hg_intercepts.c:...)
+ by 0x........: main (tc19_shadowmem.c:266)
+
+Thread #x was created
+ ...
+ by 0x........: pthread_create@* (hg_intercepts.c:...)
+ by 0x........: main (tc19_shadowmem.c:265)
+
+Possible data race during write of size 1 at 0x........ by thread #x
+ at 0x........: child64 (tc19_shadowmem.c:105)
+ by 0x........: steer (tc19_shadowmem.c:422)
+ by 0x........: mythread_wrapper (hg_intercepts.c:...)
+ ...
+ This conflicts with a previous write of size 1 by thread #x
+ at 0x........: child64 (tc19_shadowmem.c:105)
+ by 0x........: steer (tc19_shadowmem.c:422)
+ by 0x........: mythread_wrapper (hg_intercepts.c:...)
+ ...
+
+Possible data race during write of size 1 at 0x........ by thread #x
+ at 0x........: child64 (tc19_shadowmem.c:105)
+ by 0x........: steer (tc19_shadowmem.c:422)
+ by 0x........: mythread_wrapper (hg_intercepts.c:...)
+ ...
+ This conflicts with a previous write of size 1 by thread #x
+ at 0x........: child64 (tc19_shadowmem.c:105)
+ by 0x........: steer (tc19_shadowmem.c:422)
+ by 0x........: mythread_wrapper (hg_intercepts.c:...)
+ ...
+
+Possible data race during write of size 1 at 0x........ by thread #x
+ at 0x........: child64 (tc19_shadowmem.c:105)
+ by 0x........: steer (tc19_shadowmem.c:422)
+ by 0x........: mythread_wrapper (hg_intercepts.c:...)
+ ...
+ This conflicts with a previous write of size 1 by thread #x
+ at 0x........: child64 (tc19_shadowmem.c:105)
+ by 0x........: steer (tc19_shadowmem.c:422)
+ by 0x........: mythread_wrapper (hg_intercepts.c:...)
+ ...
+
+Possible data race during write of size 1 at 0x........ by thread #x
+ at 0x........: child64 (tc19_shadowmem.c:105)
+ by 0x........: steer (tc19_shadowmem.c:422)
+ by 0x........: mythread_wrapper (hg_intercepts.c:...)
+ ...
+ This conflicts with a previous write of size 1 by thread #x
+ at 0x........: child64 (tc19_shadowmem.c:105)
+ by 0x........: steer (tc19_shadowmem.c:422)
+ by 0x........: mythread_wrapper (hg_intercepts.c:...)
+ ...
+
+Possible data race during write of size 1 at 0x........ by thread #x
+ at 0x........: child64 (tc19_shadowmem.c:105)
+ by 0x........: steer (tc19_shadowmem.c:422)
+ by 0x........: mythread_wrapper (hg_intercepts.c:...)
+ ...
+ This conflicts with a previous write of size 1 by thread #x
+ at 0x........: child64 (tc19_shadowmem.c:105)
+ by 0x........: steer (tc19_shadowmem.c:422)
+ by 0x........: mythread_wrapper (hg_intercepts.c:...)
+ ...
+
+Possible data race during write of size 1 at 0x........ by thread #x
+ at 0x........: child64 (tc19_shadowmem.c:105)
+ by 0x........: steer (tc19_shadowmem.c:422)
+ by 0x........: mythread_wrapper (hg_intercepts.c:...)
+ ...
+ This conflicts with a previous write of size 1 by thread #x
+ at 0x........: child64 (tc19_shadowmem.c:105)
+ by 0x........: steer (tc19_shadowmem.c:422)
+ by 0x........: mythread_wrapper (hg_intercepts.c:...)
+ ...
+
+Possible data race during write of size 1 at 0x........ by thread #x
+ at 0x........: child64 (tc19_shadowmem.c:105)
+ by 0x........: steer (tc19_shadowmem.c:422)
+ by 0x........: mythread_wrapper (hg_intercepts.c:...)
+ ...
+ This conflicts with a previous write of size 1 by thread #x
+ at 0x........: child64 (tc19_shadowmem.c:105)
+ by 0x........: steer (tc19_shadowmem.c:422)
+ by 0x........: mythread_wrapper (hg_intercepts.c:...)
+ ...
+
+Possible data race during write of size 1 at 0x........ by thread #x
+ at 0x........: child64 (tc19_shadowmem.c:105)
+ by 0x........: steer (tc19_shadowmem.c:422)
+ by 0x........: mythread_wrapper (hg_intercepts.c:...)
+ ...
+ This conflicts with a previous write of size 1 by thread #x
+ at 0x........: child64 (tc19_shadowmem.c:105)
+ by 0x........: steer (tc19_shadowmem.c:422)
+ by 0x........: mythread_wrapper (hg_intercepts.c:...)
+ ...
+---------- double gran, 4 .. 92, skip 68 ----------
+
+Thread #x was created
+ ...
+ by 0x........: pthread_create@* (hg_intercepts.c:...)
+ by 0x........: main (tc19_shadowmem.c:266)
+
+Thread #x was created
+ ...
+ by 0x........: pthread_create@* (hg_intercepts.c:...)
+ by 0x........: main (tc19_shadowmem.c:265)
+
+Possible data race during write of size 4 at 0x........ by thread #x
+ at 0x........: child64 (tc19_shadowmem.c:105)
+ by 0x........: steer (tc19_shadowmem.c:424)
+ by 0x........: mythread_wrapper (hg_intercepts.c:...)
+ ...
+ This conflicts with a previous write of size 4 by thread #x
+ at 0x........: child64 (tc19_shadowmem.c:105)
+ by 0x........: steer (tc19_shadowmem.c:424)
+ by 0x........: mythread_wrapper (hg_intercepts.c:...)
+ ...
+
+Possible data race during write of size 4 at 0x........ by thread #x
+ at 0x........: child64 (tc19_shadowmem.c:105)
+ by 0x........: steer (tc19_shadowmem.c:424)
+ by 0x........: mythread_wrapper (hg_intercepts.c:...)
+ ...
+ This conflicts with a previous write of size 4 by thread #x
+ at 0x........: child64 (tc19_shadowmem.c:105)
+ by 0x........: steer (tc19_shadowmem.c:424)
+ by 0x........: mythread_wrapper (hg_intercepts.c:...)
+ ...
+---------- double gran, 5 .. 92, skip 69 ----------
+
+Thread #x was created
+ ...
+ by 0x........: pthread_create@* (hg_intercepts.c:...)
+ by 0x........: main (tc19_shadowmem.c:266)
+
+Thread #x was created
+ ...
+ by 0x........: pthread_create@* (hg_intercepts.c:...)
+ by 0x........: main (tc19_shadowmem.c:265)
+
+Possible data race during write of size 1 at 0x........ by thread #x
+ at 0x........: child64 (tc19_shadowmem.c:105)
+ by 0x........: steer (tc19_shadowmem.c:426)
+ by 0x........: mythread_wrapper (hg_intercepts.c:...)
+ ...
+ This conflicts with a previous write of size 1 by thread #x
+ at 0x........: child64 (tc19_shadowmem.c:105)
+ by 0x........: steer (tc19_shadowmem.c:426)
+ by 0x........: mythread_wrapper (hg_intercepts.c:...)
+ ...
+
+Possible data race during write of size 1 at 0x........ by thread #x
+ at 0x........: child64 (tc19_shadowmem.c:105)
+ by 0x........: steer (tc19_shadowmem.c:426)
+ by 0x........: mythread_wrapper (hg_intercepts.c:...)
+ ...
+ This conflicts with a previous write of size 1 by thread #x
+ at 0x........: child64 (tc19_shadowmem.c:105)
+ by 0x........: steer (tc19_shadowmem.c:426)
+ by 0x........: mythread_wrapper (hg_intercepts.c:...)
+ ...
+
+Possible data race during write of size 1 at 0x........ by thread #x
+ at 0x........: child64 (tc19_shadowmem.c:105)
+ by 0x........: steer (tc19_shadowmem.c:426)
+ by 0x........: mythread_wrapper (hg_intercepts.c:...)
+ ...
+ This conflicts with a previous write of size 1 by thread #x
+ at 0x........: child64 (tc19_shadowmem.c:105)
+ by 0x........: steer (tc19_shadowmem.c:426)
+ by 0x........: mythread_wrapper (hg_intercepts.c:...)
+ ...
+
+Possible data race during write of size 1 at 0x........ by thread #x
+ at 0x........: child64 (tc19_shadowmem.c:105)
+ by 0x........: steer (tc19_shadowmem.c:426)
+ by 0x........: mythread_wrapper (hg_intercepts.c:...)
+ ...
+ This conflicts with a previous write of size 1 by thread #x
+ at 0x........: child64 (tc19_shadowmem.c:105)
+ by 0x........: steer (tc19_shadowmem.c:426)
+ by 0x........: mythread_wrapper (hg_intercepts.c:...)
+ ...
+
+Possible data race during write of size 1 at 0x........ by thread #x
+ at 0x........: child64 (tc19_shadowmem.c:105)
+ by 0x........: steer (tc19_shadowmem.c:426)
+ by 0x........: mythread_wrapper (hg_intercepts.c:...)
+ ...
+ This conflicts with a previous write of size 1 by thread #x
+ at 0x........: child64 (tc19_shadowmem.c:105)
+ by 0x........: steer (tc19_shadowmem.c:426)
+ by 0x........: mythread_wrapper (hg_intercepts.c:...)
+ ...
+
+Possible data race during write of size 1 at 0x........ by thread #x
+ at 0x........: child64 (tc19_shadowmem.c:105)
+ by 0x........: steer (tc19_shadowmem.c:426)
+ by 0x........: mythread_wrapper (hg_intercepts.c:...)
+ ...
+ This conflicts with a previous write of size 1 by thread #x
+ at 0x........: child64 (tc19_shadowmem.c:105)
+ by 0x........: steer (tc19_shadowmem.c:426)
+ by 0x........: mythread_wrapper (hg_intercepts.c:...)
+ ...
+
+Possible data race during write of size 1 at 0x........ by thread #x
+ at 0x........: child64 (tc19_shadowmem.c:105)
+ by 0x........: steer (tc19_shadowmem.c:426)
+ by 0x........: mythread_wrapper (hg_intercepts.c:...)
+ ...
+ This conflicts with a previous write of size 1 by thread #x
+ at 0x........: child64 (tc19_shadowmem.c:105)
+ by 0x........: steer (tc19_shadowmem.c:426)
+ by 0x........: mythread_wrapper (hg_intercepts.c:...)
+ ...
+
+Possible data race during write of size 1 at 0x........ by thread #x
+ at 0x........: child64 (tc19_shadowmem.c:105)
+ by 0x........: steer (tc19_shadowmem.c:426)
+ by 0x........: mythread_wrapper (hg_intercepts.c:...)
+ ...
+ This conflicts with a previous write of size 1 by thread #x
+ at 0x........: child64 (tc19_shadowmem.c:105)
+ by 0x........: steer (tc19_shadowmem.c:426)
+ by 0x........: mythread_wrapper (hg_intercepts.c:...)
+ ...
+---------- double gran, 6 .. 92, skip 70 ----------
+
+Thread #x was created
+ ...
+ by 0x........: pthread_create@* (hg_intercepts.c:...)
+ by 0x........: main (tc19_shadowmem.c:266)
+
+Thread #x was created
+ ...
+ by 0x........: pthread_create@* (hg_intercepts.c:...)
+ by 0x........: main (tc19_shadowmem.c:265)
+
+Possible data race during write of size 2 at 0x........ by thread #x
+ at 0x........: child64 (tc19_shadowmem.c:105)
+ by 0x........: steer (tc19_shadowmem.c:428)
+ by 0x........: mythread_wrapper (hg_intercepts.c:...)
+ ...
+ This conflicts with a previous write of size 2 by thread #x
+ at 0x........: child64 (tc19_shadowmem.c:105)
+ by 0x........: steer (tc19_shadowmem.c:428)
+ by 0x........: mythread_wrapper (hg_intercepts.c:...)
+ ...
+
+Possible data race during write of size 2 at 0x........ by thread #x
+ at 0x........: child64 (tc19_shadowmem.c:105)
+ by 0x........: steer (tc19_shadowmem.c:428)
+ by 0x........: mythread_wrapper (hg_intercepts.c:...)
+ ...
+ This conflicts with a previous write of size 2 by thread #x
+ at 0x........: child64 (tc19_shadowmem.c:105)
+ by 0x........: steer (tc19_shadowmem.c:428)
+ by 0x........: mythread_wrapper (hg_intercepts.c:...)
+ ...
+
+Possible data race during write of size 2 at 0x........ by thread #x
+ at 0x........: child64 (tc19_shadowmem.c:105)
+ by 0x........: steer (tc19_shadowmem.c:428)
+ by 0x........: mythread_wrapper (hg_intercepts.c:...)
+ ...
+ This conflicts with a previous write of size 2 by thread #x
+ at 0x........: child64 (tc19_shadowmem.c:105)
+ by 0x........: steer (tc19_shadowmem.c:428)
+ by 0x........: mythread_wrapper (hg_intercepts.c:...)
+ ...
+
+Possible data race during write of size 2 at 0x........ by thread #x
+ at 0x........: child64 (tc19_shadowmem.c:105)
+ by 0x........: steer (tc19_shadowmem.c:428)
+ by 0x........: mythread_wrapper (hg_intercepts.c:...)
+ ...
+ This conflicts with a previous write of size 2 by thread #x
+ at 0x........: child64 (tc19_shadowmem.c:105)
+ by 0x........: steer (tc19_shadowmem.c:428)
+ by 0x........: mythread_wrapper (hg_intercepts.c:...)
+ ...
+---------- double gran, 7 .. 92, skip 71 ----------
+
+Thread #x was created
+ ...
+ by 0x........: pthread_create@* (hg_intercepts.c:...)
+ by 0x........: main (tc19_shadowmem.c:266)
+
+Thread #x was created
+ ...
+ by 0x........: pthread_create@* (hg_intercepts.c:...)
+ by 0x........: main (tc19_shadowmem.c:265)
+
+Possible data race during write of size 1 at 0x........ by thread #x
+ at 0x........: child64 (tc19_shadowmem.c:105)
+ by 0x........: steer (tc19_shadowmem.c:430)
+ by 0x........: mythread_wrapper (hg_intercepts.c:...)
+ ...
+ This conflicts with a previous write of size 1 by thread #x
+ at 0x........: child64 (tc19_shadowmem.c:105)
+ by 0x........: steer (tc19_shadowmem.c:430)
+ by 0x........: mythread_wrapper (hg_intercepts.c:...)
+ ...
+
+Possible data race during write of size 1 at 0x........ by thread #x
+ at 0x........: child64 (tc19_shadowmem.c:105)
+ by 0x........: steer (tc19_shadowmem.c:430)
+ by 0x........: mythread_wrapper (hg_intercepts.c:...)
+ ...
+ This conflicts with a previous write of size 1 by thread #x
+ at 0x........: child64 (tc19_shadowmem.c:105)
+ by 0x........: steer (tc19_shadowmem.c:430)
+ by 0x........: mythread_wrapper (hg_intercepts.c:...)
+ ...
+
+Possible data race during write of size 1 at 0x........ by thread #x
+ at 0x........: child64 (tc19_shadowmem.c:105)
+ by 0x........: steer (tc19_shadowmem.c:430)
+ by 0x........: mythread_wrapper (hg_intercepts.c:...)
+ ...
+ This conflicts with a previous write of size 1 by thread #x
+ at 0x........: child64 (tc19_shadowmem.c:105)
+ by 0x........: steer (tc19_shadowmem.c:430)
+ by 0x........: mythread_wrapper (hg_intercepts.c:...)
+ ...
+
+Possible data race during write of size 1 at 0x........ by thread #x
+ at 0x........: child64 (tc19_shadowmem.c:105)
+ by 0x........: steer (tc19_shadowmem.c:430)
+ by 0x........: mythread_wrapper (hg_intercepts.c:...)
+ ...
+ This conflicts with a previous write of size 1 by thread #x
+ at 0x........: child64 (tc19_shadowmem.c:105)
+ by 0x........: steer (tc19_shadowmem.c:430)
+ by 0x........: mythread_wrapper (hg_intercepts.c:...)
+ ...
+
+Possible data race during write of size 1 at 0x........ by thread #x
+ at 0x........: child64 (tc19_shadowmem.c:105)
+ by 0x........: steer (tc19_shadowmem.c:430)
+ by 0x........: mythread_wrapper (hg_intercepts.c:...)
+ ...
+ This conflicts with a previous write of size 1 by thread #x
+ at 0x........: child64 (tc19_shadowmem.c:105)
+ by 0x........: steer (tc19_shadowmem.c:430)
+ by 0x........: mythread_wrapper (hg_intercepts.c:...)
+ ...
+
+Possible data race during write of size 1 at 0x........ by thread #x
+ at 0x........: child64 (tc19_shadowmem.c:105)
+ by 0x........: steer (tc19_shadowmem.c:430)
+ by 0x........: mythread_wrapper (hg_intercepts.c:...)
+ ...
+ This conflicts with a previous write of size 1 by thread #x
+ at 0x........: child64 (tc19_shadowmem.c:105)
+ by 0x........: steer (tc19_shadowmem.c:430)
+ by 0x........: mythread_wrapper (hg_intercepts.c:...)
+ ...
+
+Possible data race during write of size 1 at 0x........ by thread #x
+ at 0x........: child64 (tc19_shadowmem.c:105)
+ by 0x........: steer (tc19_shadowmem.c:430)
+ by 0x........: mythread_wrapper (hg_intercepts.c:...)
+ ...
+ This conflicts with a previous write of size 1 by thread #x
+ at 0x........: child64 (tc19_shadowmem.c:105)
+ by 0x........: steer (tc19_shadowmem.c:430)
+ by 0x........: mythread_wrapper (hg_intercepts.c:...)
+ ...
+
+Possible data race during write of size 1 at 0x........ by thread #x
+ at 0x........: child64 (tc19_shadowmem.c:105)
+ by 0x........: steer (tc19_shadowmem.c:430)
+ by 0x........: mythread_wrapper (hg_intercepts.c:...)
+ ...
+ This conflicts with a previous write of size 1 by thread #x
+ at 0x........: child64 (tc19_shadowmem.c:105)
+ by 0x........: steer (tc19_shadowmem.c:430)
+ by 0x........: mythread_wrapper (hg_intercepts.c:...)
+ ...
+---------- double gran, 0 .. 92, skip 72 ----------
+
+Thread #x was created
+ ...
+ by 0x........: pthread_create@* (hg_intercepts.c:...)
+ by 0x........: main (tc19_shadowmem.c:266)
+
+Thread #x was created
+ ...
+ by 0x........: pthread_create@* (hg_intercepts.c:...)
+ by 0x........: main (tc19_shadowmem.c:265)
+
+Possible data race during write of size 8 at 0x........ by thread #x
+ at 0x........: child64 (tc19_shadowmem.c:105)
+ by 0x........: steer (tc19_shadowmem.c:432)
+ by 0x........: mythread_wrapper (hg_intercepts.c:...)
+ ...
+ This conflicts with a previous write of size 8 by thread #x
+ at 0x........: child64 (tc19_shadowmem.c:105)
+ by 0x........: steer (tc19_shadowmem.c:432)
+ by 0x........: mythread_wrapper (hg_intercepts.c:...)
+ ...
+---------- double gran, 1 .. 92, skip 73 ----------
+
+Thread #x was created
+ ...
+ by 0x........: pthread_create@* (hg_intercepts.c:...)
+ by 0x........: main (tc19_shadowmem.c:266)
+
+Thread #x was created
+ ...
+ by 0x........: pthread_create@* (hg_intercepts.c:...)
+ by 0x........: main (tc19_shadowmem.c:265)
+
+Possible data race during write of size 1 at 0x........ by thread #x
+ at 0x........: child64 (tc19_shadowmem.c:105)
+ by 0x........: steer (tc19_shadowmem.c:434)
+ by 0x........: mythread_wrapper (hg_intercepts.c:...)
+ ...
+ This conflicts with a previous write of size 1 by thread #x
+ at 0x........: child64 (tc19_shadowmem.c:105)
+ by 0x........: steer (tc19_shadowmem.c:434)
+ by 0x........: mythread_wrapper (hg_intercepts.c:...)
+ ...
+
+Possible data race during write of size 1 at 0x........ by thread #x
+ at 0x........: child64 (tc19_shadowmem.c:105)
+ by 0x........: steer (tc19_shadowmem.c:434)
+ by 0x........: mythread_wrapper (hg_intercepts.c:...)
+ ...
+ This conflicts with a previous write of size 1 by thread #x
+ at 0x........: child64 (tc19_shadowmem.c:105)
+ by 0x........: steer (tc19_shadowmem.c:434)
+ by 0x........: mythread_wrapper (hg_intercepts.c:...)
+ ...
+
+Possible data race during write of size 1 at 0x........ by thread #x
+ at 0x........: child64 (tc19_shadowmem.c:105)
+ by 0x........: steer (tc19_shadowmem.c:434)
+ by 0x........: mythread_wrapper (hg_intercepts.c:...)
+ ...
+ This conflicts with a previous write of size 1 by thread #x
+ at 0x........: child64 (tc19_shadowmem.c:105)
+ by 0x........: steer (tc19_shadowmem.c:434)
+ by 0x........: mythread_wrapper (hg_intercepts.c:...)
+ ...
+
+Possible data race during write of size 1 at 0x........ by thread #x
+ at 0x........: child64 (tc19_shadowmem.c:105)
+ by 0x........: steer (tc19_shadowmem.c:434)
+ by 0x........: mythread_wrapper (hg_intercepts.c:...)
+ ...
+ This conflicts with a previous write of size 1 by thread #x
+ at 0x........: child64 (tc19_shadowmem.c:105)
+ by 0x........: steer (tc19_shadowmem.c:434)
+ by 0x........: mythread_wrapper (hg_intercepts.c:...)
+ ...
+
+Possible data race during write of size 1 at 0x........ by thread #x
+ at 0x........: child64 (tc19_shadowmem.c:105)
+ by 0x........: steer (tc19_shadowmem.c:434)
+ by 0x........: mythread_wrapper (hg_intercepts.c:...)
+ ...
+ This conflicts with a previous write of size 1 by thread #x
+ at 0x........: child64 (tc19_shadowmem.c:105)
+ by 0x........: steer (tc19_shadowmem.c:434)
+ by 0x........: mythread_wrapper (hg_intercepts.c:...)
+ ...
+
+Possible data race during write of size 1 at 0x........ by thread #x
+ at 0x........: child64 (tc19_shadowmem.c:105)
+ by 0x........: steer (tc19_shadowmem.c:434)
+ by 0x........: mythread_wrapper (hg_intercepts.c:...)
+ ...
+ This conflicts with a previous write of size 1 by thread #x
+ at 0x........: child64 (tc19_shadowmem.c:105)
+ by 0x........: steer (tc19_shadowmem.c:434)
+ by 0x........: mythread_wrapper (hg_intercepts.c:...)
+ ...
+
+Possible data race during write of size 1 at 0x........ by thread #x
+ at 0x........: child64 (tc19_shadowmem.c:105)
+ by 0x........: steer (tc19_shadowmem.c:434)
+ by 0x........: mythread_wrapper (hg_intercepts.c:...)
+ ...
+ This conflicts with a previous write of size 1 by thread #x
+ at 0x........: child64 (tc19_shadowmem.c:105)
+ by 0x........: steer (tc19_shadowmem.c:434)
+ by 0x........: mythread_wrapper (hg_intercepts.c:...)
+ ...
+
+Possible data race during write of size 1 at 0x........ by thread #x
+ at 0x........: child64 (tc19_shadowmem.c:105)
+ by 0x........: steer (tc19_shadowmem.c:434)
+ by 0x........: mythread_wrapper (hg_intercepts.c:...)
+ ...
+ This conflicts with a previous write of size 1 by thread #x
+ at 0x........: child64 (tc19_shadowmem.c:105)
+ by 0x........: steer (tc19_shadowmem.c:434)
+ by 0x........: mythread_wrapper (hg_intercepts.c:...)
+ ...
+---------- double gran, 2 .. 92, skip 74 ----------
+
+Thread #x was created
+ ...
+ by 0x........: pthread_create@* (hg_intercepts.c:...)
+ by 0x........: main (tc19_shadowmem.c:266)
+
+Thread #x was created
+ ...
+ by 0x........: pthread_create@* (hg_intercepts.c:...)
+ by 0x........: main (tc19_shadowmem.c:265)
+
+Possible data race during write of size 2 at 0x........ by thread #x
+ at 0x........: child64 (tc19_shadowmem.c:105)
+ by 0x........: steer (tc19_shadowmem.c:436)
+ by 0x........: mythread_wrapper (hg_intercepts.c:...)
+ ...
+ This conflicts with a previous write of size 2 by thread #x
+ at 0x........: child64 (tc19_shadowmem.c:105)
+ by 0x........: steer (tc19_shadowmem.c:436)
+ by 0x........: mythread_wrapper (hg_intercepts.c:...)
+ ...
+
+Possible data race during write of size 2 at 0x........ by thread #x
+ at 0x........: child64 (tc19_shadowmem.c:105)
+ by 0x........: steer (tc19_shadowmem.c:436)
+ by 0x........: mythread_wrapper (hg_intercepts.c:...)
+ ...
+ This conflicts with a previous write of size 2 by thread #x
+ at 0x........: child64 (tc19_shadowmem.c:105)
+ by 0x........: steer (tc19_shadowmem.c:436)
+ by 0x........: mythread_wrapper (hg_intercepts.c:...)
+ ...
+
+Possible data race during write of size 2 at 0x........ by thread #x
+ at 0x........: child64 (tc19_shadowmem.c:105)
+ by 0x........: steer (tc19_shadowmem.c:436)
+ by 0x........: mythread_wrapper (hg_intercepts.c:...)
+ ...
+ This conflicts with a previous write of size 2 by thread #x
+ at 0x........: child64 (tc19_shadowmem.c:105)
+ by 0x........: steer (tc19_shadowmem.c:436)
+ by 0x........: mythread_wrapper (hg_intercepts.c:...)
+ ...
+
+Possible data race during write of size 2 at 0x........ by thread #x
+ at 0x........: child64 (tc19_shadowmem.c:105)
+ by 0x........: steer (tc19_shadowmem.c:436)
+ by 0x........: mythread_wrapper (hg_intercepts.c:...)
+ ...
+ This conflicts with a previous write of size 2 by thread #x
+ at 0x........: child64 (tc19_shadowmem.c:105)
+ by 0x........: steer (tc19_shadowmem.c:436)
+ by 0x........: mythread_wrapper (hg_intercepts.c:...)
+ ...
+---------- double gran, 3 .. 92, skip 75 ----------
+
+Thread #x was created
+ ...
+ by 0x........: pthread_create@* (hg_intercepts.c:...)
+ by 0x........: main (tc19_shadowmem.c:266)
+
+Thread #x was created
+ ...
+ by 0x........: pthread_create@* (hg_intercepts.c:...)
+ by 0x........: main (tc19_shadowmem.c:265)
+
+Possible data race during write of size 1 at 0x........ by thread #x
+ at 0x........: child64 (tc19_shadowmem.c:105)
+ by 0x........: steer (tc19_shadowmem.c:438)
+ by 0x........: mythread_wrapper (hg_intercepts.c:...)
+ ...
+ This conflicts with a previous write of size 1 by thread #x
+ at 0x........: child64 (tc19_shadowmem.c:105)
+ by 0x........: steer (tc19_shadowmem.c:438)
+ by 0x........: mythread_wrapper (hg_intercepts.c:...)
+ ...
+
+Possible data race during write of size 1 at 0x........ by thread #x
+ at 0x........: child64 (tc19_shadowmem.c:105)
+ by 0x........: steer (tc19_shadowmem.c:438)
+ by 0x........: mythread_wrapper (hg_intercepts.c:...)
+ ...
+ This conflicts with a previous write of size 1 by thread #x
+ at 0x........: child64 (tc19_shadowmem.c:105)
+ by 0x........: steer (tc19_shadowmem.c:438)
+ by 0x........: mythread_wrapper (hg_intercepts.c:...)
+ ...
+
+Possible data race during write of size 1 at 0x........ by thread #x
+ at 0x........: child64 (tc19_shadowmem.c:105)
+ by 0x........: steer (tc19_shadowmem.c:438)
+ by 0x........: mythread_wrapper (hg_intercepts.c:...)
+ ...
+ This conflicts with a previous write of size 1 by thread #x
+ at 0x........: child64 (tc19_shadowmem.c:105)
+ by 0x........: steer (tc19_shadowmem.c:438)
+ by 0x........: mythread_wrapper (hg_intercepts.c:...)
+ ...
+
+Possible data race during write of size 1 at 0x........ by thread #x
+ at 0x........: child64 (tc19_shadowmem.c:105)
+ by 0x........: steer (tc19_shadowmem.c:438)
+ by 0x........: mythread_wrapper (hg_intercepts.c:...)
+ ...
+ This conflicts with a previous write of size 1 by thread #x
+ at 0x........: child64 (tc19_shadowmem.c:105)
+ by 0x........: steer (tc19_shadowmem.c:438)
+ by 0x........: mythread_wrapper (hg_intercepts.c:...)
+ ...
+
+Possible data race during write of size 1 at 0x........ by thread #x
+ at 0x........: child64 (tc19_shadowmem.c:105)
+ by 0x........: steer (tc19_shadowmem.c:438)
+ by 0x........: mythread_wrapper (hg_intercepts.c:...)
+ ...
+ This conflicts with a previous write of size 1 by thread #x
+ at 0x........: child64 (tc19_shadowmem.c:105)
+ by 0x........: steer (tc19_shadowmem.c:438)
+ by 0x........: mythread_wrapper (hg_intercepts.c:...)
+ ...
+
+Possible data race during write of size 1 at 0x........ by thread #x
+ at 0x........: child64 (tc19_shadowmem.c:105)
+ by 0x........: steer (tc19_shadowmem.c:438)
+ by 0x........: mythread_wrapper (hg_intercepts.c:...)
+ ...
+ This conflicts with a previous write of size 1 by thread #x
+ at 0x........: child64 (tc19_shadowmem.c:105)
+ by 0x........: steer (tc19_shadowmem.c:438)
+ by 0x........: mythread_wrapper (hg_intercepts.c:...)
+ ...
+
+Possible data race during write of size 1 at 0x........ by thread #x
+ at 0x........: child64 (tc19_shadowmem.c:105)
+ by 0x........: steer (tc19_shadowmem.c:438)
+ by 0x........: mythread_wrapper (hg_intercepts.c:...)
+ ...
+ This conflicts with a previous write of size 1 by thread #x
+ at 0x........: child64 (tc19_shadowmem.c:105)
+ by 0x........: steer (tc19_shadowmem.c:438)
+ by 0x........: mythread_wrapper (hg_intercepts.c:...)
+ ...
+
+Possible data race during write of size 1 at 0x........ by thread #x
+ at 0x........: child64 (tc19_shadowmem.c:105)
+ by 0x........: steer (tc19_shadowmem.c:438)
+ by 0x........: mythread_wrapper (hg_intercepts.c:...)
+ ...
+ This conflicts with a previous write of size 1 by thread #x
+ at 0x........: child64 (tc19_shadowmem.c:105)
+ by 0x........: steer (tc19_shadowmem.c:438)
+ by 0x........: mythread_wrapper (hg_intercepts.c:...)
+ ...
+---------- double gran, 4 .. 92, skip 76 ----------
+
+Thread #x was created
+ ...
+ by 0x........: pthread_create@* (hg_intercepts.c:...)
+ by 0x........: main (tc19_shadowmem.c:266)
+
+Thread #x was created
+ ...
+ by 0x........: pthread_create@* (hg_intercepts.c:...)
+ by 0x........: main (tc19_shadowmem.c:265)
+
+Possible data race during write of size 4 at 0x........ by thread #x
+ at 0x........: child64 (tc19_shadowmem.c:105)
+ by 0x........: steer (tc19_shadowmem.c:440)
+ by 0x........: mythread_wrapper (hg_intercepts.c:...)
+ ...
+ This conflicts with a previous write of size 4 by thread #x
+ at 0x........: child64 (tc19_shadowmem.c:105)
+ by 0x........: steer (tc19_shadowmem.c:440)
+ by 0x........: mythread_wrapper (hg_intercepts.c:...)
+ ...
+
+Possible data race during write of size 4 at 0x........ by thread #x
+ at 0x........: child64 (tc19_shadowmem.c:105)
+ by 0x........: steer (tc19_shadowmem.c:440)
+ by 0x........: mythread_wrapper (hg_intercepts.c:...)
+ ...
+ This conflicts with a previous write of size 4 by thread #x
+ at 0x........: child64 (tc19_shadowmem.c:105)
+ by 0x........: steer (tc19_shadowmem.c:440)
+ by 0x........: mythread_wrapper (hg_intercepts.c:...)
+ ...
+---------- double gran, 5 .. 92, skip 77 ----------
+
+Thread #x was created
+ ...
+ by 0x........: pthread_create@* (hg_intercepts.c:...)
+ by 0x........: main (tc19_shadowmem.c:266)
+
+Thread #x was created
+ ...
+ by 0x........: pthread_create@* (hg_intercepts.c:...)
+ by 0x........: main (tc19_shadowmem.c:265)
+
+Possible data race during write of size 1 at 0x........ by thread #x
+ at 0x........: child64 (tc19_shadowmem.c:105)
+ by 0x........: steer (tc19_shadowmem.c:442)
+ by 0x........: mythread_wrapper (hg_intercepts.c:...)
+ ...
+ This conflicts with a previous write of size 1 by thread #x
+ at 0x........: child64 (tc19_shadowmem.c:105)
+ by 0x........: steer (tc19_shadowmem.c:442)
+ by 0x........: mythread_wrapper (hg_intercepts.c:...)
+ ...
+
+Possible data race during write of size 1 at 0x........ by thread #x
+ at 0x........: child64 (tc19_shadowmem.c:105)
+ by 0x........: steer (tc19_shadowmem.c:442)
+ by 0x........: mythread_wrapper (hg_intercepts.c:...)
+ ...
+ This conflicts with a previous write of size 1 by thread #x
+ at 0x........: child64 (tc19_shadowmem.c:105)
+ by 0x........: steer (tc19_shadowmem.c:442)
+ by 0x........: mythread_wrapper (hg_intercepts.c:...)
+ ...
+
+Possible data race during write of size 1 at 0x........ by thread #x
+ at 0x........: child64 (tc19_shadowmem.c:105)
+ by 0x........: steer (tc19_shadowmem.c:442)
+ by 0x........: mythread_wrapper (hg_intercepts.c:...)
+ ...
+ This conflicts with a previous write of size 1 by thread #x
+ at 0x........: child64 (tc19_shadowmem.c:105)
+ by 0x........: steer (tc19_shadowmem.c:442)
+ by 0x........: mythread_wrapper (hg_intercepts.c:...)
+ ...
+
+Possible data race during write of size 1 at 0x........ by thread #x
+ at 0x........: child64 (tc19_shadowmem.c:105)
+ by 0x........: steer (tc19_shadowmem.c:442)
+ by 0x........: mythread_wrapper (hg_intercepts.c:...)
+ ...
+ This conflicts with a previous write of size 1 by thread #x
+ at 0x........: child64 (tc19_shadowmem.c:105)
+ by 0x........: steer (tc19_shadowmem.c:442)
+ by 0x........: mythread_wrapper (hg_intercepts.c:...)
+ ...
+
+Possible data race during write of size 1 at 0x........ by thread #x
+ at 0x........: child64 (tc19_shadowmem.c:105)
+ by 0x........: steer (tc19_shadowmem.c:442)
+ by 0x........: mythread_wrapper (hg_intercepts.c:...)
+ ...
+ This conflicts with a previous write of size 1 by thread #x
+ at 0x........: child64 (tc19_shadowmem.c:105)
+ by 0x........: steer (tc19_shadowmem.c:442)
+ by 0x........: mythread_wrapper (hg_intercepts.c:...)
+ ...
+
+Possible data race during write of size 1 at 0x........ by thread #x
+ at 0x........: child64 (tc19_shadowmem.c:105)
+ by 0x........: steer (tc19_shadowmem.c:442)
+ by 0x........: mythread_wrapper (hg_intercepts.c:...)
+ ...
+ This conflicts with a previous write of size 1 by thread #x
+ at 0x........: child64 (tc19_shadowmem.c:105)
+ by 0x........: steer (tc19_shadowmem.c:442)
+ by 0x........: mythread_wrapper (hg_intercepts.c:...)
+ ...
+
+Possible data race during write of size 1 at 0x........ by thread #x
+ at 0x........: child64 (tc19_shadowmem.c:105)
+ by 0x........: steer (tc19_shadowmem.c:442)
+ by 0x........: mythread_wrapper (hg_intercepts.c:...)
+ ...
+ This conflicts with a previous write of size 1 by thread #x
+ at 0x........: child64 (tc19_shadowmem.c:105)
+ by 0x........: steer (tc19_shadowmem.c:442)
+ by 0x........: mythread_wrapper (hg_intercepts.c:...)
+ ...
+
+Possible data race during write of size 1 at 0x........ by thread #x
+ at 0x........: child64 (tc19_shadowmem.c:105)
+ by 0x........: steer (tc19_shadowmem.c:442)
+ by 0x........: mythread_wrapper (hg_intercepts.c:...)
+ ...
+ This conflicts with a previous write of size 1 by thread #x
+ at 0x........: child64 (tc19_shadowmem.c:105)
+ by 0x........: steer (tc19_shadowmem.c:442)
+ by 0x........: mythread_wrapper (hg_intercepts.c:...)
+ ...
+---------- double gran, 6 .. 92, skip 78 ----------
+
+Thread #x was created
+ ...
+ by 0x........: pthread_create@* (hg_intercepts.c:...)
+ by 0x........: main (tc19_shadowmem.c:266)
+
+Thread #x was created
+ ...
+ by 0x........: pthread_create@* (hg_intercepts.c:...)
+ by 0x........: main (tc19_shadowmem.c:265)
+
+Possible data race during write of size 2 at 0x........ by thread #x
+ at 0x........: child64 (tc19_shadowmem.c:105)
+ by 0x........: steer (tc19_shadowmem.c:444)
+ by 0x........: mythread_wrapper (hg_intercepts.c:...)
+ ...
+ This conflicts with a previous write of size 2 by thread #x
+ at 0x........: child64 (tc19_shadowmem.c:105)
+ by 0x........: steer (tc19_shadowmem.c:444)
+ by 0x........: mythread_wrapper (hg_intercepts.c:...)
+ ...
+
+Possible data race during write of size 2 at 0x........ by thread #x
+ at 0x........: child64 (tc19_shadowmem.c:105)
+ by 0x........: steer (tc19_shadowmem.c:444)
+ by 0x........: mythread_wrapper (hg_intercepts.c:...)
+ ...
+ This conflicts with a previous write of size 2 by thread #x
+ at 0x........: child64 (tc19_shadowmem.c:105)
+ by 0x........: steer (tc19_shadowmem.c:444)
+ by 0x........: mythread_wrapper (hg_intercepts.c:...)
+ ...
+
+Possible data race during write of size 2 at 0x........ by thread #x
+ at 0x........: child64 (tc19_shadowmem.c:105)
+ by 0x........: steer (tc19_shadowmem.c:444)
+ by 0x........: mythread_wrapper (hg_intercepts.c:...)
+ ...
+ This conflicts with a previous write of size 2 by thread #x
+ at 0x........: child64 (tc19_shadowmem.c:105)
+ by 0x........: steer (tc19_shadowmem.c:444)
+ by 0x........: mythread_wrapper (hg_intercepts.c:...)
+ ...
+
+Possible data race during write of size 2 at 0x........ by thread #x
+ at 0x........: child64 (tc19_shadowmem.c:105)
+ by 0x........: steer (tc19_shadowmem.c:444)
+ by 0x........: mythread_wrapper (hg_intercepts.c:...)
+ ...
+ This conflicts with a previous write of size 2 by thread #x
+ at 0x........: child64 (tc19_shadowmem.c:105)
+ by 0x........: steer (tc19_shadowmem.c:444)
+ by 0x........: mythread_wrapper (hg_intercepts.c:...)
+ ...
+---------- double gran, 7 .. 92, skip 79 ----------
+
+Thread #x was created
+ ...
+ by 0x........: pthread_create@* (hg_intercepts.c:...)
+ by 0x........: main (tc19_shadowmem.c:266)
+
+Thread #x was created
+ ...
+ by 0x........: pthread_create@* (hg_intercepts.c:...)
+ by 0x........: main (tc19_shadowmem.c:265)
+
+Possible data race during write of size 1 at 0x........ by thread #x
+ at 0x........: child64 (tc19_shadowmem.c:105)
+ by 0x........: steer (tc19_shadowmem.c:446)
+ by 0x........: mythread_wrapper (hg_intercepts.c:...)
+ ...
+ This conflicts with a previous write of size 1 by thread #x
+ at 0x........: child64 (tc19_shadowmem.c:105)
+ by 0x........: steer (tc19_shadowmem.c:446)
+ by 0x........: mythread_wrapper (hg_intercepts.c:...)
+ ...
+
+Possible data race during write of size 1 at 0x........ by thread #x
+ at 0x........: child64 (tc19_shadowmem.c:105)
+ by 0x........: steer (tc19_shadowmem.c:446)
+ by 0x........: mythread_wrapper (hg_intercepts.c:...)
+ ...
+ This conflicts with a previous write of size 1 by thread #x
+ at 0x........: child64 (tc19_shadowmem.c:105)
+ by 0x........: steer (tc19_shadowmem.c:446)
+ by 0x........: mythread_wrapper (hg_intercepts.c:...)
+ ...
+
+Possible data race during write of size 1 at 0x........ by thread #x
+ at 0x........: child64 (tc19_shadowmem.c:105)
+ by 0x........: steer (tc19_shadowmem.c:446)
+ by 0x........: mythread_wrapper (hg_intercepts.c:...)
+ ...
+ This conflicts with a previous write of size 1 by thread #x
+ at 0x........: child64 (tc19_shadowmem.c:105)
+ by 0x........: steer (tc19_shadowmem.c:446)
+ by 0x........: mythread_wrapper (hg_intercepts.c:...)
+ ...
+
+Possible data race during write of size 1 at 0x........ by thread #x
+ at 0x........: child64 (tc19_shadowmem.c:105)
+ by 0x........: steer (tc19_shadowmem.c:446)
+ by 0x........: mythread_wrapper (hg_intercepts.c:...)
+ ...
+ This conflicts with a previous write of size 1 by thread #x
+ at 0x........: child64 (tc19_shadowmem.c:105)
+ by 0x........: steer (tc19_shadowmem.c:446)
+ by 0x........: mythread_wrapper (hg_intercepts.c:...)
+ ...
+
+Possible data race during write of size 1 at 0x........ by thread #x
+ at 0x........: child64 (tc19_shadowmem.c:105)
+ by 0x........: steer (tc19_shadowmem.c:446)
+ by 0x........: mythread_wrapper (hg_intercepts.c:...)
+ ...
+ This conflicts with a previous write of size 1 by thread #x
+ at 0x........: child64 (tc19_shadowmem.c:105)
+ by 0x........: steer (tc19_shadowmem.c:446)
+ by 0x........: mythread_wrapper (hg_intercepts.c:...)
+ ...
+
+Possible data race during write of size 1 at 0x........ by thread #x
+ at 0x........: child64 (tc19_shadowmem.c:105)
+ by 0x........: steer (tc19_shadowmem.c:446)
+ by 0x........: mythread_wrapper (hg_intercepts.c:...)
+ ...
+ This conflicts with a previous write of size 1 by thread #x
+ at 0x........: child64 (tc19_shadowmem.c:105)
+ by 0x........: steer (tc19_shadowmem.c:446)
+ by 0x........: mythread_wrapper (hg_intercepts.c:...)
+ ...
+
+Possible data race during write of size 1 at 0x........ by thread #x
+ at 0x........: child64 (tc19_shadowmem.c:105)
+ by 0x........: steer (tc19_shadowmem.c:446)
+ by 0x........: mythread_wrapper (hg_intercepts.c:...)
+ ...
+ This conflicts with a previous write of size 1 by thread #x
+ at 0x........: child64 (tc19_shadowmem.c:105)
+ by 0x........: steer (tc19_shadowmem.c:446)
+ by 0x........: mythread_wrapper (hg_intercepts.c:...)
+ ...
+
+Possible data race during write of size 1 at 0x........ by thread #x
+ at 0x........: child64 (tc19_shadowmem.c:105)
+ by 0x........: steer (tc19_shadowmem.c:446)
+ by 0x........: mythread_wrapper (hg_intercepts.c:...)
+ ...
+ This conflicts with a previous write of size 1 by thread #x
+ at 0x........: child64 (tc19_shadowmem.c:105)
+ by 0x........: steer (tc19_shadowmem.c:446)
+ by 0x........: mythread_wrapper (hg_intercepts.c:...)
+ ...
+---------- double gran, 0 .. 92, skip 80 ----------
+
+Thread #x was created
+ ...
+ by 0x........: pthread_create@* (hg_intercepts.c:...)
+ by 0x........: main (tc19_shadowmem.c:266)
+
+Thread #x was created
+ ...
+ by 0x........: pthread_create@* (hg_intercepts.c:...)
+ by 0x........: main (tc19_shadowmem.c:265)
+
+Possible data race during write of size 8 at 0x........ by thread #x
+ at 0x........: child64 (tc19_shadowmem.c:105)
+ by 0x........: steer (tc19_shadowmem.c:448)
+ by 0x........: mythread_wrapper (hg_intercepts.c:...)
+ ...
+ This conflicts with a previous write of size 8 by thread #x
+ at 0x........: child64 (tc19_shadowmem.c:105)
+ by 0x........: steer (tc19_shadowmem.c:448)
+ by 0x........: mythread_wrapper (hg_intercepts.c:...)
+ ...
+---------- double gran, 1 .. 92, skip 81 ----------
+
+Thread #x was created
+ ...
+ by 0x........: pthread_create@* (hg_intercepts.c:...)
+ by 0x........: main (tc19_shadowmem.c:266)
+
+Thread #x was created
+ ...
+ by 0x........: pthread_create@* (hg_intercepts.c:...)
+ by 0x........: main (tc19_shadowmem.c:265)
+
+Possible data race during write of size 1 at 0x........ by thread #x
+ at 0x........: child64 (tc19_shadowmem.c:105)
+ by 0x........: steer (tc19_shadowmem.c:450)
+ by 0x........: mythread_wrapper (hg_intercepts.c:...)
+ ...
+ This conflicts with a previous write of size 1 by thread #x
+ at 0x........: child64 (tc19_shadowmem.c:105)
+ by 0x........: steer (tc19_shadowmem.c:450)
+ by 0x........: mythread_wrapper (hg_intercepts.c:...)
+ ...
+
+Possible data race during write of size 1 at 0x........ by thread #x
+ at 0x........: child64 (tc19_shadowmem.c:105)
+ by 0x........: steer (tc19_shadowmem.c:450)
+ by 0x........: mythread_wrapper (hg_intercepts.c:...)
+ ...
+ This conflicts with a previous write of size 1 by thread #x
+ at 0x........: child64 (tc19_shadowmem.c:105)
+ by 0x........: steer (tc19_shadowmem.c:450)
+ by 0x........: mythread_wrapper (hg_intercepts.c:...)
+ ...
+
+Possible data race during write of size 1 at 0x........ by thread #x
+ at 0x........: child64 (tc19_shadowmem.c:105)
+ by 0x........: steer (tc19_shadowmem.c:450)
+ by 0x........: mythread_wrapper (hg_intercepts.c:...)
+ ...
+ This conflicts with a previous write of size 1 by thread #x
+ at 0x........: child64 (tc19_shadowmem.c:105)
+ by 0x........: steer (tc19_shadowmem.c:450)
+ by 0x........: mythread_wrapper (hg_intercepts.c:...)
+ ...
+
+Possible data race during write of size 1 at 0x........ by thread #x
+ at 0x........: child64 (tc19_shadowmem.c:105)
+ by 0x........: steer (tc19_shadowmem.c:450)
+ by 0x........: mythread_wrapper (hg_intercepts.c:...)
+ ...
+ This conflicts with a previous write of size 1 by thread #x
+ at 0x........: child64 (tc19_shadowmem.c:105)
+ by 0x........: steer (tc19_shadowmem.c:450)
+ by 0x........: mythread_wrapper (hg_intercepts.c:...)
+ ...
+
+Possible data race during write of size 1 at 0x........ by thread #x
+ at 0x........: child64 (tc19_shadowmem.c:105)
+ by 0x........: steer (tc19_shadowmem.c:450)
+ by 0x........: mythread_wrapper (hg_intercepts.c:...)
+ ...
+ This conflicts with a previous write of size 1 by thread #x
+ at 0x........: child64 (tc19_shadowmem.c:105)
+ by 0x........: steer (tc19_shadowmem.c:450)
+ by 0x........: mythread_wrapper (hg_intercepts.c:...)
+ ...
+
+Possible data race during write of size 1 at 0x........ by thread #x
+ at 0x........: child64 (tc19_shadowmem.c:105)
+ by 0x........: steer (tc19_shadowmem.c:450)
+ by 0x........: mythread_wrapper (hg_intercepts.c:...)
+ ...
+ This conflicts with a previous write of size 1 by thread #x
+ at 0x........: child64 (tc19_shadowmem.c:105)
+ by 0x........: steer (tc19_shadowmem.c:450)
+ by 0x........: mythread_wrapper (hg_intercepts.c:...)
+ ...
+
+Possible data race during write of size 1 at 0x........ by thread #x
+ at 0x........: child64 (tc19_shadowmem.c:105)
+ by 0x........: steer (tc19_shadowmem.c:450)
+ by 0x........: mythread_wrapper (hg_intercepts.c:...)
+ ...
+ This conflicts with a previous write of size 1 by thread #x
+ at 0x........: child64 (tc19_shadowmem.c:105)
+ by 0x........: steer (tc19_shadowmem.c:450)
+ by 0x........: mythread_wrapper (hg_intercepts.c:...)
+ ...
+
+Possible data race during write of size 1 at 0x........ by thread #x
+ at 0x........: child64 (tc19_shadowmem.c:105)
+ by 0x........: steer (tc19_shadowmem.c:450)
+ by 0x........: mythread_wrapper (hg_intercepts.c:...)
+ ...
+ This conflicts with a previous write of size 1 by thread #x
+ at 0x........: child64 (tc19_shadowmem.c:105)
+ by 0x........: steer (tc19_shadowmem.c:450)
+ by 0x........: mythread_wrapper (hg_intercepts.c:...)
+ ...
+---------- double gran, 2 .. 92, skip 82 ----------
+
+Thread #x was created
+ ...
+ by 0x........: pthread_create@* (hg_intercepts.c:...)
+ by 0x........: main (tc19_shadowmem.c:266)
+
+Thread #x was created
+ ...
+ by 0x........: pthread_create@* (hg_intercepts.c:...)
+ by 0x........: main (tc19_shadowmem.c:265)
+
+Possible data race during write of size 2 at 0x........ by thread #x
+ at 0x........: child64 (tc19_shadowmem.c:105)
+ by 0x........: steer (tc19_shadowmem.c:452)
+ by 0x........: mythread_wrapper (hg_intercepts.c:...)
+ ...
+ This conflicts with a previous write of size 2 by thread #x
+ at 0x........: child64 (tc19_shadowmem.c:105)
+ by 0x........: steer (tc19_shadowmem.c:452)
+ by 0x........: mythread_wrapper (hg_intercepts.c:...)
+ ...
+
+Possible data race during write of size 2 at 0x........ by thread #x
+ at 0x........: child64 (tc19_shadowmem.c:105)
+ by 0x........: steer (tc19_shadowmem.c:452)
+ by 0x........: mythread_wrapper (hg_intercepts.c:...)
+ ...
+ This conflicts with a previous write of size 2 by thread #x
+ at 0x........: child64 (tc19_shadowmem.c:105)
+ by 0x........: steer (tc19_shadowmem.c:452)
+ by 0x........: mythread_wrapper (hg_intercepts.c:...)
+ ...
+
+Possible data race during write of size 2 at 0x........ by thread #x
+ at 0x........: child64 (tc19_shadowmem.c:105)
+ by 0x........: steer (tc19_shadowmem.c:452)
+ by 0x........: mythread_wrapper (hg_intercepts.c:...)
+ ...
+ This conflicts with a previous write of size 2 by thread #x
+ at 0x........: child64 (tc19_shadowmem.c:105)
+ by 0x........: steer (tc19_shadowmem.c:452)
+ by 0x........: mythread_wrapper (hg_intercepts.c:...)
+ ...
+
+Possible data race during write of size 2 at 0x........ by thread #x
+ at 0x........: child64 (tc19_shadowmem.c:105)
+ by 0x........: steer (tc19_shadowmem.c:452)
+ by 0x........: mythread_wrapper (hg_intercepts.c:...)
+ ...
+ This conflicts with a previous write of size 2 by thread #x
+ at 0x........: child64 (tc19_shadowmem.c:105)
+ by 0x........: steer (tc19_shadowmem.c:452)
+ by 0x........: mythread_wrapper (hg_intercepts.c:...)
+ ...
+---------- double gran, 3 .. 92, skip 83 ----------
+
+Thread #x was created
+ ...
+ by 0x........: pthread_create@* (hg_intercepts.c:...)
+ by 0x........: main (tc19_shadowmem.c:266)
+
+Thread #x was created
+ ...
+ by 0x........: pthread_create@* (hg_intercepts.c:...)
+ by 0x........: main (tc19_shadowmem.c:265)
+
+Possible data race during write of size 1 at 0x........ by thread #x
+ at 0x........: child64 (tc19_shadowmem.c:105)
+ by 0x........: steer (tc19_shadowmem.c:454)
+ by 0x........: mythread_wrapper (hg_intercepts.c:...)
+ ...
+ This conflicts with a previous write of size 1 by thread #x
+ at 0x........: child64 (tc19_shadowmem.c:105)
+ by 0x........: steer (tc19_shadowmem.c:454)
+ by 0x........: mythread_wrapper (hg_intercepts.c:...)
+ ...
+
+Possible data race during write of size 1 at 0x........ by thread #x
+ at 0x........: child64 (tc19_shadowmem.c:105)
+ by 0x........: steer (tc19_shadowmem.c:454)
+ by 0x........: mythread_wrapper (hg_intercepts.c:...)
+ ...
+ This conflicts with a previous write of size 1 by thread #x
+ at 0x........: child64 (tc19_shadowmem.c:105)
+ by 0x........: steer (tc19_shadowmem.c:454)
+ by 0x........: mythread_wrapper (hg_intercepts.c:...)
+ ...
+
+Possible data race during write of size 1 at 0x........ by thread #x
+ at 0x........: child64 (tc19_shadowmem.c:105)
+ by 0x........: steer (tc19_shadowmem.c:454)
+ by 0x........: mythread_wrapper (hg_intercepts.c:...)
+ ...
+ This conflicts with a previous write of size 1 by thread #x
+ at 0x........: child64 (tc19_shadowmem.c:105)
+ by 0x........: steer (tc19_shadowmem.c:454)
+ by 0x........: mythread_wrapper (hg_intercepts.c:...)
+ ...
+
+Possible data race during write of size 1 at 0x........ by thread #x
+ at 0x........: child64 (tc19_shadowmem.c:105)
+ by 0x........: steer (tc19_shadowmem.c:454)
+ by 0x........: mythread_wrapper (hg_intercepts.c:...)
+ ...
+ This conflicts with a previous write of size 1 by thread #x
+ at 0x........: child64 (tc19_shadowmem.c:105)
+ by 0x........: steer (tc19_shadowmem.c:454)
+ by 0x........: mythread_wrapper (hg_intercepts.c:...)
+ ...
+
+Possible data race during write of size 1 at 0x........ by thread #x
+ at 0x........: child64 (tc19_shadowmem.c:105)
+ by 0x........: steer (tc19_shadowmem.c:454)
+ by 0x........: mythread_wrapper (hg_intercepts.c:...)
+ ...
+ This conflicts with a previous write of size 1 by thread #x
+ at 0x........: child64 (tc19_shadowmem.c:105)
+ by 0x........: steer (tc19_shadowmem.c:454)
+ by 0x........: mythread_wrapper (hg_intercepts.c:...)
+ ...
+
+Possible data race during write of size 1 at 0x........ by thread #x
+ at 0x........: child64 (tc19_shadowmem.c:105)
+ by 0x........: steer (tc19_shadowmem.c:454)
+ by 0x........: mythread_wrapper (hg_intercepts.c:...)
+ ...
+ This conflicts with a previous write of size 1 by thread #x
+ at 0x........: child64 (tc19_shadowmem.c:105)
+ by 0x........: steer (tc19_shadowmem.c:454)
+ by 0x........: mythread_wrapper (hg_intercepts.c:...)
+ ...
+
+Possible data race during write of size 1 at 0x........ by thread #x
+ at 0x........: child64 (tc19_shadowmem.c:105)
+ by 0x........: steer (tc19_shadowmem.c:454)
+ by 0x........: mythread_wrapper (hg_intercepts.c:...)
+ ...
+ This conflicts with a previous write of size 1 by thread #x
+ at 0x........: child64 (tc19_shadowmem.c:105)
+ by 0x........: steer (tc19_shadowmem.c:454)
+ by 0x........: mythread_wrapper (hg_intercepts.c:...)
+ ...
+
+Possible data race during write of size 1 at 0x........ by thread #x
+ at 0x........: child64 (tc19_shadowmem.c:105)
+ by 0x........: steer (tc19_shadowmem.c:454)
+ by 0x........: mythread_wrapper (hg_intercepts.c:...)
+ ...
+ This conflicts with a previous write of size 1 by thread #x
+ at 0x........: child64 (tc19_shadowmem.c:105)
+ by 0x........: steer (tc19_shadowmem.c:454)
+ by 0x........: mythread_wrapper (hg_intercepts.c:...)
+ ...
+---------- double gran, 4 .. 92, skip 84 ----------
+
+Thread #x was created
+ ...
+ by 0x........: pthread_create@* (hg_intercepts.c:...)
+ by 0x........: main (tc19_shadowmem.c:266)
+
+Thread #x was created
+ ...
+ by 0x........: pthread_create@* (hg_intercepts.c:...)
+ by 0x........: main (tc19_shadowmem.c:265)
+
+Possible data race during write of size 4 at 0x........ by thread #x
+ at 0x........: child64 (tc19_shadowmem.c:105)
+ by 0x........: steer (tc19_shadowmem.c:456)
+ by 0x........: mythread_wrapper (hg_intercepts.c:...)
+ ...
+ This conflicts with a previous write of size 4 by thread #x
+ at 0x........: child64 (tc19_shadowmem.c:105)
+ by 0x........: steer (tc19_shadowmem.c:456)
+ by 0x........: mythread_wrapper (hg_intercepts.c:...)
+ ...
+
+Possible data race during write of size 4 at 0x........ by thread #x
+ at 0x........: child64 (tc19_shadowmem.c:105)
+ by 0x........: steer (tc19_shadowmem.c:456)
+ by 0x........: mythread_wrapper (hg_intercepts.c:...)
+ ...
+ This conflicts with a previous write of size 4 by thread #x
+ at 0x........: child64 (tc19_shadowmem.c:105)
+ by 0x........: steer (tc19_shadowmem.c:456)
+ by 0x........: mythread_wrapper (hg_intercepts.c:...)
+ ...
+---------- double gran, 5 .. 92, skip 85 ----------
+
+Thread #x was created
+ ...
+ by 0x........: pthread_create@* (hg_intercepts.c:...)
+ by 0x........: main (tc19_shadowmem.c:266)
+
+Thread #x was created
+ ...
+ by 0x........: pthread_create@* (hg_intercepts.c:...)
+ by 0x........: main (tc19_shadowmem.c:265)
+
+Possible data race during write of size 1 at 0x........ by thread #x
+ at 0x........: child64 (tc19_shadowmem.c:105)
+ by 0x........: steer (tc19_shadowmem.c:458)
+ by 0x........: mythread_wrapper (hg_intercepts.c:...)
+ ...
+ This conflicts with a previous write of size 1 by thread #x
+ at 0x........: child64 (tc19_shadowmem.c:105)
+ by 0x........: steer (tc19_shadowmem.c:458)
+ by 0x........: mythread_wrapper (hg_intercepts.c:...)
+ ...
+
+Possible data race during write of size 1 at 0x........ by thread #x
+ at 0x........: child64 (tc19_shadowmem.c:105)
+ by 0x........: steer (tc19_shadowmem.c:458)
+ by 0x........: mythread_wrapper (hg_intercepts.c:...)
+ ...
+ This conflicts with a previous write of size 1 by thread #x
+ at 0x........: child64 (tc19_shadowmem.c:105)
+ by 0x........: steer (tc19_shadowmem.c:458)
+ by 0x........: mythread_wrapper (hg_intercepts.c:...)
+ ...
+
+Possible data race during write of size 1 at 0x........ by thread #x
+ at 0x........: child64 (tc19_shadowmem.c:105)
+ by 0x........: steer (tc19_shadowmem.c:458)
+ by 0x........: mythread_wrapper (hg_intercepts.c:...)
+ ...
+ This conflicts with a previous write of size 1 by thread #x
+ at 0x........: child64 (tc19_shadowmem.c:105)
+ by 0x........: steer (tc19_shadowmem.c:458)
+ by 0x........: mythread_wrapper (hg_intercepts.c:...)
+ ...
+
+Possible data race during write of size 1 at 0x........ by thread #x
+ at 0x........: child64 (tc19_shadowmem.c:105)
+ by 0x........: steer (tc19_shadowmem.c:458)
+ by 0x........: mythread_wrapper (hg_intercepts.c:...)
+ ...
+ This conflicts with a previous write of size 1 by thread #x
+ at 0x........: child64 (tc19_shadowmem.c:105)
+ by 0x........: steer (tc19_shadowmem.c:458)
+ by 0x........: mythread_wrapper (hg_intercepts.c:...)
+ ...
+
+Possible data race during write of size 1 at 0x........ by thread #x
+ at 0x........: child64 (tc19_shadowmem.c:105)
+ by 0x........: steer (tc19_shadowmem.c:458)
+ by 0x........: mythread_wrapper (hg_intercepts.c:...)
+ ...
+ This conflicts with a previous write of size 1 by thread #x
+ at 0x........: child64 (tc19_shadowmem.c:105)
+ by 0x........: steer (tc19_shadowmem.c:458)
+ by 0x........: mythread_wrapper (hg_intercepts.c:...)
+ ...
+
+Possible data race during write of size 1 at 0x........ by thread #x
+ at 0x........: child64 (tc19_shadowmem.c:105)
+ by 0x........: steer (tc19_shadowmem.c:458)
+ by 0x........: mythread_wrapper (hg_intercepts.c:...)
+ ...
+ This conflicts with a previous write of size 1 by thread #x
+ at 0x........: child64 (tc19_shadowmem.c:105)
+ by 0x........: steer (tc19_shadowmem.c:458)
+ by 0x........: mythread_wrapper (hg_intercepts.c:...)
+ ...
+
+Possible data race during write of size 1 at 0x........ by thread #x
+ at 0x........: child64 (tc19_shadowmem.c:105)
+ by 0x........: steer (tc19_shadowmem.c:458)
+ by 0x........: mythread_wrapper (hg_intercepts.c:...)
+ ...
+ This conflicts with a previous write of size 1 by thread #x
+ at 0x........: child64 (tc19_shadowmem.c:105)
+ by 0x........: steer (tc19_shadowmem.c:458)
+ by 0x........: mythread_wrapper (hg_intercepts.c:...)
+ ...
+
+Possible data race during write of size 1 at 0x........ by thread #x
+ at 0x........: child64 (tc19_shadowmem.c:105)
+ by 0x........: steer (tc19_shadowmem.c:458)
+ by 0x........: mythread_wrapper (hg_intercepts.c:...)
+ ...
+ This conflicts with a previous write of size 1 by thread #x
+ at 0x........: child64 (tc19_shadowmem.c:105)
+ by 0x........: steer (tc19_shadowmem.c:458)
+ by 0x........: mythread_wrapper (hg_intercepts.c:...)
+ ...
+---------- double gran, 6 .. 92, skip 86 ----------
+
+Thread #x was created
+ ...
+ by 0x........: pthread_create@* (hg_intercepts.c:...)
+ by 0x........: main (tc19_shadowmem.c:266)
+
+Thread #x was created
+ ...
+ by 0x........: pthread_create@* (hg_intercepts.c:...)
+ by 0x........: main (tc19_shadowmem.c:265)
+
+Possible data race during write of size 2 at 0x........ by thread #x
+ at 0x........: child64 (tc19_shadowmem.c:105)
+ by 0x........: steer (tc19_shadowmem.c:460)
+ by 0x........: mythread_wrapper (hg_intercepts.c:...)
+ ...
+ This conflicts with a previous write of size 2 by thread #x
+ at 0x........: child64 (tc19_shadowmem.c:105)
+ by 0x........: steer (tc19_shadowmem.c:460)
+ by 0x........: mythread_wrapper (hg_intercepts.c:...)
+ ...
+
+Possible data race during write of size 2 at 0x........ by thread #x
+ at 0x........: child64 (tc19_shadowmem.c:105)
+ by 0x........: steer (tc19_shadowmem.c:460)
+ by 0x........: mythread_wrapper (hg_intercepts.c:...)
+ ...
+ This conflicts with a previous write of size 2 by thread #x
+ at 0x........: child64 (tc19_shadowmem.c:105)
+ by 0x........: steer (tc19_shadowmem.c:460)
+ by 0x........: mythread_wrapper (hg_intercepts.c:...)
+ ...
+
+Possible data race during write of size 2 at 0x........ by thread #x
+ at 0x........: child64 (tc19_shadowmem.c:105)
+ by 0x........: steer (tc19_shadowmem.c:460)
+ by 0x........: mythread_wrapper (hg_intercepts.c:...)
+ ...
+ This conflicts with a previous write of size 2 by thread #x
+ at 0x........: child64 (tc19_shadowmem.c:105)
+ by 0x........: steer (tc19_shadowmem.c:460)
+ by 0x........: mythread_wrapper (hg_intercepts.c:...)
+ ...
+
+Possible data race during write of size 2 at 0x........ by thread #x
+ at 0x........: child64 (tc19_shadowmem.c:105)
+ by 0x........: steer (tc19_shadowmem.c:460)
+ by 0x........: mythread_wrapper (hg_intercepts.c:...)
+ ...
+ This conflicts with a previous write of size 2 by thread #x
+ at 0x........: child64 (tc19_shadowmem.c:105)
+ by 0x........: steer (tc19_shadowmem.c:460)
+ by 0x........: mythread_wrapper (hg_intercepts.c:...)
+ ...
+---------- double gran, 7 .. 92, skip 87 ----------
+
+Thread #x was created
+ ...
+ by 0x........: pthread_create@* (hg_intercepts.c:...)
+ by 0x........: main (tc19_shadowmem.c:266)
+
+Thread #x was created
+ ...
+ by 0x........: pthread_create@* (hg_intercepts.c:...)
+ by 0x........: main (tc19_shadowmem.c:265)
+
+Possible data race during write of size 1 at 0x........ by thread #x
+ at 0x........: child64 (tc19_shadowmem.c:105)
+ by 0x........: steer (tc19_shadowmem.c:462)
+ by 0x........: mythread_wrapper (hg_intercepts.c:...)
+ ...
+ This conflicts with a previous write of size 1 by thread #x
+ at 0x........: child64 (tc19_shadowmem.c:105)
+ by 0x........: steer (tc19_shadowmem.c:462)
+ by 0x........: mythread_wrapper (hg_intercepts.c:...)
+ ...
+
+Possible data race during write of size 1 at 0x........ by thread #x
+ at 0x........: child64 (tc19_shadowmem.c:105)
+ by 0x........: steer (tc19_shadowmem.c:462)
+ by 0x........: mythread_wrapper (hg_intercepts.c:...)
+ ...
+ This conflicts with a previous write of size 1 by thread #x
+ at 0x........: child64 (tc19_shadowmem.c:105)
+ by 0x........: steer (tc19_shadowmem.c:462)
+ by 0x........: mythread_wrapper (hg_intercepts.c:...)
+ ...
+
+Possible data race during write of size 1 at 0x........ by thread #x
+ at 0x........: child64 (tc19_shadowmem.c:105)
+ by 0x........: steer (tc19_shadowmem.c:462)
+ by 0x........: mythread_wrapper (hg_intercepts.c:...)
+ ...
+ This conflicts with a previous write of size 1 by thread #x
+ at 0x........: child64 (tc19_shadowmem.c:105)
+ by 0x........: steer (tc19_shadowmem.c:462)
+ by 0x........: mythread_wrapper (hg_intercepts.c:...)
+ ...
+
+Possible data race during write of size 1 at 0x........ by thread #x
+ at 0x........: child64 (tc19_shadowmem.c:105)
+ by 0x........: steer (tc19_shadowmem.c:462)
+ by 0x........: mythread_wrapper (hg_intercepts.c:...)
+ ...
+ This conflicts with a previous write of size 1 by thread #x
+ at 0x........: child64 (tc19_shadowmem.c:105)
+ by 0x........: steer (tc19_shadowmem.c:462)
+ by 0x........: mythread_wrapper (hg_intercepts.c:...)
+ ...
+
+Possible data race during write of size 1 at 0x........ by thread #x
+ at 0x........: child64 (tc19_shadowmem.c:105)
+ by 0x........: steer (tc19_shadowmem.c:462)
+ by 0x........: mythread_wrapper (hg_intercepts.c:...)
+ ...
+ This conflicts with a previous write of size 1 by thread #x
+ at 0x........: child64 (tc19_shadowmem.c:105)
+ by 0x........: steer (tc19_shadowmem.c:462)
+ by 0x........: mythread_wrapper (hg_intercepts.c:...)
+ ...
+
+Possible data race during write of size 1 at 0x........ by thread #x
+ at 0x........: child64 (tc19_shadowmem.c:105)
+ by 0x........: steer (tc19_shadowmem.c:462)
+ by 0x........: mythread_wrapper (hg_intercepts.c:...)
+ ...
+ This conflicts with a previous write of size 1 by thread #x
+ at 0x........: child64 (tc19_shadowmem.c:105)
+ by 0x........: steer (tc19_shadowmem.c:462)
+ by 0x........: mythread_wrapper (hg_intercepts.c:...)
+ ...
+
+Possible data race during write of size 1 at 0x........ by thread #x
+ at 0x........: child64 (tc19_shadowmem.c:105)
+ by 0x........: steer (tc19_shadowmem.c:462)
+ by 0x........: mythread_wrapper (hg_intercepts.c:...)
+ ...
+ This conflicts with a previous write of size 1 by thread #x
+ at 0x........: child64 (tc19_shadowmem.c:105)
+ by 0x........: steer (tc19_shadowmem.c:462)
+ by 0x........: mythread_wrapper (hg_intercepts.c:...)
+ ...
+
+Possible data race during write of size 1 at 0x........ by thread #x
+ at 0x........: child64 (tc19_shadowmem.c:105)
+ by 0x........: steer (tc19_shadowmem.c:462)
+ by 0x........: mythread_wrapper (hg_intercepts.c:...)
+ ...
+ This conflicts with a previous write of size 1 by thread #x
+ at 0x........: child64 (tc19_shadowmem.c:105)
+ by 0x........: steer (tc19_shadowmem.c:462)
+ by 0x........: mythread_wrapper (hg_intercepts.c:...)
+ ...
+---------- double gran, 0 .. 92, skip 88 ----------
+
+Thread #x was created
+ ...
+ by 0x........: pthread_create@* (hg_intercepts.c:...)
+ by 0x........: main (tc19_shadowmem.c:266)
+
+Thread #x was created
+ ...
+ by 0x........: pthread_create@* (hg_intercepts.c:...)
+ by 0x........: main (tc19_shadowmem.c:265)
+
+Possible data race during write of size 8 at 0x........ by thread #x
+ at 0x........: child64 (tc19_shadowmem.c:105)
+ by 0x........: steer (tc19_shadowmem.c:464)
+ by 0x........: mythread_wrapper (hg_intercepts.c:...)
+ ...
+ This conflicts with a previous write of size 8 by thread #x
+ at 0x........: child64 (tc19_shadowmem.c:105)
+ by 0x........: steer (tc19_shadowmem.c:464)
+ by 0x........: mythread_wrapper (hg_intercepts.c:...)
+ ...
+---------- double gran, 1 .. 92, skip 89 ----------
+
+Thread #x was created
+ ...
+ by 0x........: pthread_create@* (hg_intercepts.c:...)
+ by 0x........: main (tc19_shadowmem.c:266)
+
+Thread #x was created
+ ...
+ by 0x........: pthread_create@* (hg_intercepts.c:...)
+ by 0x........: main (tc19_shadowmem.c:265)
+
+Possible data race during write of size 1 at 0x........ by thread #x
+ at 0x........: child64 (tc19_shadowmem.c:105)
+ by 0x........: steer (tc19_shadowmem.c:466)
+ by 0x........: mythread_wrapper (hg_intercepts.c:...)
+ ...
+ This conflicts with a previous write of size 1 by thread #x
+ at 0x........: child64 (tc19_shadowmem.c:105)
+ by 0x........: steer (tc19_shadowmem.c:466)
+ by 0x........: mythread_wrapper (hg_intercepts.c:...)
+ ...
+
+Possible data race during write of size 1 at 0x........ by thread #x
+ at 0x........: child64 (tc19_shadowmem.c:105)
+ by 0x........: steer (tc19_shadowmem.c:466)
+ by 0x........: mythread_wrapper (hg_intercepts.c:...)
+ ...
+ This conflicts with a previous write of size 1 by thread #x
+ at 0x........: child64 (tc19_shadowmem.c:105)
+ by 0x........: steer (tc19_shadowmem.c:466)
+ by 0x........: mythread_wrapper (hg_intercepts.c:...)
+ ...
+
+Possible data race during write of size 1 at 0x........ by thread #x
+ at 0x........: child64 (tc19_shadowmem.c:105)
+ by 0x........: steer (tc19_shadowmem.c:466)
+ by 0x........: mythread_wrapper (hg_intercepts.c:...)
+ ...
+ This conflicts with a previous write of size 1 by thread #x
+ at 0x........: child64 (tc19_shadowmem.c:105)
+ by 0x........: steer (tc19_shadowmem.c:466)
+ by 0x........: mythread_wrapper (hg_intercepts.c:...)
+ ...
+
+Possible data race during write of size 1 at 0x........ by thread #x
+ at 0x........: child64 (tc19_shadowmem.c:105)
+ by 0x........: steer (tc19_shadowmem.c:466)
+ by 0x........: mythread_wrapper (hg_intercepts.c:...)
+ ...
+ This conflicts with a previous write of size 1 by thread #x
+ at 0x........: child64 (tc19_shadowmem.c:105)
+ by 0x........: steer (tc19_shadowmem.c:466)
+ by 0x........: mythread_wrapper (hg_intercepts.c:...)
+ ...
+
+Possible data race during write of size 1 at 0x........ by thread #x
+ at 0x........: child64 (tc19_shadowmem.c:105)
+ by 0x........: steer (tc19_shadowmem.c:466)
+ by 0x........: mythread_wrapper (hg_intercepts.c:...)
+ ...
+ This conflicts with a previous write of size 1 by thread #x
+ at 0x........: child64 (tc19_shadowmem.c:105)
+ by 0x........: steer (tc19_shadowmem.c:466)
+ by 0x........: mythread_wrapper (hg_intercepts.c:...)
+ ...
+
+Possible data race during write of size 1 at 0x........ by thread #x
+ at 0x........: child64 (tc19_shadowmem.c:105)
+ by 0x........: steer (tc19_shadowmem.c:466)
+ by 0x........: mythread_wrapper (hg_intercepts.c:...)
+ ...
+ This conflicts with a previous write of size 1 by thread #x
+ at 0x........: child64 (tc19_shadowmem.c:105)
+ by 0x........: steer (tc19_shadowmem.c:466)
+ by 0x........: mythread_wrapper (hg_intercepts.c:...)
+ ...
+
+Possible data race during write of size 1 at 0x........ by thread #x
+ at 0x........: child64 (tc19_shadowmem.c:105)
+ by 0x........: steer (tc19_shadowmem.c:466)
+ by 0x........: mythread_wrapper (hg_intercepts.c:...)
+ ...
+ This conflicts with a previous write of size 1 by thread #x
+ at 0x........: child64 (tc19_shadowmem.c:105)
+ by 0x........: steer (tc19_shadowmem.c:466)
+ by 0x........: mythread_wrapper (hg_intercepts.c:...)
+ ...
+
+Possible data race during write of size 1 at 0x........ by thread #x
+ at 0x........: child64 (tc19_shadowmem.c:105)
+ by 0x........: steer (tc19_shadowmem.c:466)
+ by 0x........: mythread_wrapper (hg_intercepts.c:...)
+ ...
+ This conflicts with a previous write of size 1 by thread #x
+ at 0x........: child64 (tc19_shadowmem.c:105)
+ by 0x........: steer (tc19_shadowmem.c:466)
+ by 0x........: mythread_wrapper (hg_intercepts.c:...)
+ ...
+---------- double gran, 2 .. 92, skip 90 ----------
+
+Thread #x was created
+ ...
+ by 0x........: pthread_create@* (hg_intercepts.c:...)
+ by 0x........: main (tc19_shadowmem.c:266)
+
+Thread #x was created
+ ...
+ by 0x........: pthread_create@* (hg_intercepts.c:...)
+ by 0x........: main (tc19_shadowmem.c:265)
+
+Possible data race during write of size 2 at 0x........ by thread #x
+ at 0x........: child64 (tc19_shadowmem.c:105)
+ by 0x........: steer (tc19_shadowmem.c:468)
+ by 0x........: mythread_wrapper (hg_intercepts.c:...)
+ ...
+ This conflicts with a previous write of size 2 by thread #x
+ at 0x........: child64 (tc19_shadowmem.c:105)
+ by 0x........: steer (tc19_shadowmem.c:468)
+ by 0x........: mythread_wrapper (hg_intercepts.c:...)
+ ...
+
+Possible data race during write of size 2 at 0x........ by thread #x
+ at 0x........: child64 (tc19_shadowmem.c:105)
+ by 0x........: steer (tc19_shadowmem.c:468)
+ by 0x........: mythread_wrapper (hg_intercepts.c:...)
+ ...
+ This conflicts with a previous write of size 2 by thread #x
+ at 0x........: child64 (tc19_shadowmem.c:105)
+ by 0x........: steer (tc19_shadowmem.c:468)
+ by 0x........: mythread_wrapper (hg_intercepts.c:...)
+ ...
+
+Possible data race during write of size 2 at 0x........ by thread #x
+ at 0x........: child64 (tc19_shadowmem.c:105)
+ by 0x........: steer (tc19_shadowmem.c:468)
+ by 0x........: mythread_wrapper (hg_intercepts.c:...)
+ ...
+ This conflicts with a previous write of size 2 by thread #x
+ at 0x........: child64 (tc19_shadowmem.c:105)
+ by 0x........: steer (tc19_shadowmem.c:468)
+ by 0x........: mythread_wrapper (hg_intercepts.c:...)
+ ...
+
+Possible data race during write of size 2 at 0x........ by thread #x
+ at 0x........: child64 (tc19_shadowmem.c:105)
+ by 0x........: steer (tc19_shadowmem.c:468)
+ by 0x........: mythread_wrapper (hg_intercepts.c:...)
+ ...
+ This conflicts with a previous write of size 2 by thread #x
+ at 0x........: child64 (tc19_shadowmem.c:105)
+ by 0x........: steer (tc19_shadowmem.c:468)
+ by 0x........: mythread_wrapper (hg_intercepts.c:...)
+ ...
+---------- double gran, 3 .. 92, skip 91 ----------
+
+Thread #x was created
+ ...
+ by 0x........: pthread_create@* (hg_intercepts.c:...)
+ by 0x........: main (tc19_shadowmem.c:266)
+
+Thread #x was created
+ ...
+ by 0x........: pthread_create@* (hg_intercepts.c:...)
+ by 0x........: main (tc19_shadowmem.c:265)
+
+Possible data race during write of size 1 at 0x........ by thread #x
+ at 0x........: child64 (tc19_shadowmem.c:105)
+ by 0x........: steer (tc19_shadowmem.c:470)
+ by 0x........: mythread_wrapper (hg_intercepts.c:...)
+ ...
+ This conflicts with a previous write of size 1 by thread #x
+ at 0x........: child64 (tc19_shadowmem.c:105)
+ by 0x........: steer (tc19_shadowmem.c:470)
+ by 0x........: mythread_wrapper (hg_intercepts.c:...)
+ ...
+
+Possible data race during write of size 1 at 0x........ by thread #x
+ at 0x........: child64 (tc19_shadowmem.c:105)
+ by 0x........: steer (tc19_shadowmem.c:470)
+ by 0x........: mythread_wrapper (hg_intercepts.c:...)
+ ...
+ This conflicts with a previous write of size 1 by thread #x
+ at 0x........: child64 (tc19_shadowmem.c:105)
+ by 0x........: steer (tc19_shadowmem.c:470)
+ by 0x........: mythread_wrapper (hg_intercepts.c:...)
+ ...
+
+Possible data race during write of size 1 at 0x........ by thread #x
+ at 0x........: child64 (tc19_shadowmem.c:105)
+ by 0x........: steer (tc19_shadowmem.c:470)
+ by 0x........: mythread_wrapper (hg_intercepts.c:...)
+ ...
+ This conflicts with a previous write of size 1 by thread #x
+ at 0x........: child64 (tc19_shadowmem.c:105)
+ by 0x........: steer (tc19_shadowmem.c:470)
+ by 0x........: mythread_wrapper (hg_intercepts.c:...)
+ ...
+
+Possible data race during write of size 1 at 0x........ by thread #x
+ at 0x........: child64 (tc19_shadowmem.c:105)
+ by 0x........: steer (tc19_shadowmem.c:470)
+ by 0x........: mythread_wrapper (hg_intercepts.c:...)
+ ...
+ This conflicts with a previous write of size 1 by thread #x
+ at 0x........: child64 (tc19_shadowmem.c:105)
+ by 0x........: steer (tc19_shadowmem.c:470)
+ by 0x........: mythread_wrapper (hg_intercepts.c:...)
+ ...
+
+Possible data race during write of size 1 at 0x........ by thread #x
+ at 0x........: child64 (tc19_shadowmem.c:105)
+ by 0x........: steer (tc19_shadowmem.c:470)
+ by 0x........: mythread_wrapper (hg_intercepts.c:...)
+ ...
+ This conflicts with a previous write of size 1 by thread #x
+ at 0x........: child64 (tc19_shadowmem.c:105)
+ by 0x........: steer (tc19_shadowmem.c:470)
+ by 0x........: mythread_wrapper (hg_intercepts.c:...)
+ ...
+
+Possible data race during write of size 1 at 0x........ by thread #x
+ at 0x........: child64 (tc19_shadowmem.c:105)
+ by 0x........: steer (tc19_shadowmem.c:470)
+ by 0x........: mythread_wrapper (hg_intercepts.c:...)
+ ...
+ This conflicts with a previous write of size 1 by thread #x
+ at 0x........: child64 (tc19_shadowmem.c:105)
+ by 0x........: steer (tc19_shadowmem.c:470)
+ by 0x........: mythread_wrapper (hg_intercepts.c:...)
+ ...
+
+Possible data race during write of size 1 at 0x........ by thread #x
+ at 0x........: child64 (tc19_shadowmem.c:105)
+ by 0x........: steer (tc19_shadowmem.c:470)
+ by 0x........: mythread_wrapper (hg_intercepts.c:...)
+ ...
+ This conflicts with a previous write of size 1 by thread #x
+ at 0x........: child64 (tc19_shadowmem.c:105)
+ by 0x........: steer (tc19_shadowmem.c:470)
+ by 0x........: mythread_wrapper (hg_intercepts.c:...)
+ ...
+
+Possible data race during write of size 1 at 0x........ by thread #x
+ at 0x........: child64 (tc19_shadowmem.c:105)
+ by 0x........: steer (tc19_shadowmem.c:470)
+ by 0x........: mythread_wrapper (hg_intercepts.c:...)
+ ...
+ This conflicts with a previous write of size 1 by thread #x
+ at 0x........: child64 (tc19_shadowmem.c:105)
+ by 0x........: steer (tc19_shadowmem.c:470)
+ by 0x........: mythread_wrapper (hg_intercepts.c:...)
+ ...
+
+ERROR SUMMARY: 1004 errors from 1004 contexts (suppressed: 0 from 0)
diff --git a/helgrind/tests/.svn/text-base/tc19_shadowmem.stdout.exp.svn-base b/helgrind/tests/.svn/text-base/tc19_shadowmem.stdout.exp.svn-base
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/helgrind/tests/.svn/text-base/tc19_shadowmem.stdout.exp.svn-base
diff --git a/helgrind/tests/.svn/text-base/tc19_shadowmem.vgtest.svn-base b/helgrind/tests/.svn/text-base/tc19_shadowmem.vgtest.svn-base
new file mode 100644
index 0000000..233e8e4
--- /dev/null
+++ b/helgrind/tests/.svn/text-base/tc19_shadowmem.vgtest.svn-base
@@ -0,0 +1,2 @@
+prog: tc19_shadowmem
+vgopts: --cmp-race-err-addrs=yes --error-limit=no
diff --git a/helgrind/tests/.svn/text-base/tc20_verifywrap.c.svn-base b/helgrind/tests/.svn/text-base/tc20_verifywrap.c.svn-base
new file mode 100644
index 0000000..667aafa
--- /dev/null
+++ b/helgrind/tests/.svn/text-base/tc20_verifywrap.c.svn-base
@@ -0,0 +1,270 @@
+/* This program attempts to verify that all functions that are
+ supposed to be wrapped by tc_intercepts.c really are wrapped. The
+ main way it does this is to cause failures in those functions, so
+ as to obtain various error messages which imply that the wrapper
+ really did engage.
+
+ Any regressions shown up by this program are potentially serious
+ and should be investigated carefully. */
+
+/* Needed for older glibcs (2.3 and older, at least) who don't
+ otherwise "know" about some more exotic pthread stuff, in this case
+ PTHREAD_MUTEX_ERRORCHECK. */
+#define _GNU_SOURCE 1
+#include <stdio.h>
+#include <string.h>
+#include <assert.h>
+#include <unistd.h>
+#include <pthread.h>
+#include <semaphore.h>
+
+#if !defined(_AIX)
+
+#if !defined(__GLIBC_PREREQ)
+# error "This program needs __GLIBC_PREREQ (in /usr/include/features.h)"
+#endif
+
+short unprotected = 0;
+
+void* lazy_child ( void* v ) {
+ assert(0); /* does not run */
+}
+
+void* racy_child ( void* v ) {
+ unprotected = 1234;
+ return NULL;
+}
+
+int main ( void )
+{
+ int r;
+ /* pthread_t thr; */
+ /* pthread_attr_t thra; */
+ pthread_mutexattr_t mxa, mxa2;
+ pthread_mutex_t mx, mx2, mx3, mx4;
+ pthread_cond_t cv;
+ struct timespec abstime;
+ pthread_rwlock_t rwl;
+ pthread_rwlock_t rwl2;
+ pthread_rwlock_t rwl3;
+ sem_t s1;
+
+# if __GLIBC_PREREQ(2,4)
+ fprintf(stderr,
+ "\n\n------ This is output for >= glibc 2.4 ------\n");
+# else
+ fprintf(stderr,
+ "\n\n------ This is output for < glibc 2.4 ------\n");
+# endif
+
+ /* --------- pthread_create/join --------- */
+
+ fprintf(stderr,
+ "\n---------------- pthread_create/join ----------------\n\n");
+
+ /* make pthread_create fail */
+ /* It's amazingly difficult to make pthread_create fail
+ without first soaking up all the machine's resources.
+ Instead, in order to demonstrate that it's really wrapped,
+ create a child thread, generate a race error, and join with it
+ again. */
+ /* This just segfaults:
+ memset( &thra, 0xFF, sizeof(thra) );
+ r= pthread_create( &thr, NULL, lazy_child, NULL ); assert(r);
+ */
+ { pthread_t child;
+ r= pthread_create( &child, NULL, racy_child, NULL ); assert(!r);
+ sleep(1); /* just to ensure parent thread reports race, not child */
+ unprotected = 5678;
+ r= pthread_join( child, NULL ); assert(!r);
+ }
+
+ /* make pthread_join fail */
+ r= pthread_join( pthread_self(), NULL ); assert(r);
+
+ /* --------- pthread_mutex_lock et al --------- */
+
+ fprintf(stderr,
+ "\n---------------- pthread_mutex_lock et al ----------------\n\n");
+
+ /* make pthread_mutex_init fail */
+ memset( &mxa, 0xFF, sizeof(mxa) );
+ r= pthread_mutex_init( &mx, &mxa );
+# if __GLIBC_PREREQ(2,4)
+ assert(r); /* glibc >= 2.4: the call should fail */
+# else
+ assert(!r); /* glibc < 2.4: oh well, glibc didn't bounce this */
+# endif
+
+ /* make pthread_mutex_destroy fail */
+ r= pthread_mutex_init( &mx2, NULL ); assert(!r);
+ r= pthread_mutex_lock( &mx2 ); assert(!r);
+ r= pthread_mutex_destroy( &mx2 ); assert(r);
+
+ /* make pthread_mutex_lock fail (skipped on < glibc 2.4 because it
+ doesn't fail, hence hangs the test) */
+# if __GLIBC_PREREQ(2,4)
+ memset( &mx3, 0xFF, sizeof(mx3) );
+ r= pthread_mutex_lock( &mx3 ); assert(r);
+# else
+ fprintf(stderr, "\nmake pthread_mutex_lock fail: "
+ "skipped on glibc < 2.4\n\n");
+# endif
+
+ /* make pthread_mutex_trylock fail */
+ memset( &mx3, 0xFF, sizeof(mx3) );
+ r= pthread_mutex_trylock( &mx3 ); assert(r);
+
+ /* make pthread_mutex_timedlock fail */
+ memset( &abstime, 0, sizeof(abstime) );
+ memset( &mx3, 0xFF, sizeof(mx3) );
+ r= pthread_mutex_timedlock( &mx3, &abstime ); assert(r);
+
+ /* make pthread_mutex_unlock fail */
+ memset( &mx3, 0xFF, sizeof(mx3) );
+ r= pthread_mutex_unlock( &mx3 );
+# if __GLIBC_PREREQ(2,4)
+ assert(r);
+# else
+ assert(!r);
+# endif
+
+ /* --------- pthread_cond_wait et al --------- */
+
+ fprintf(stderr,
+ "\n---------------- pthread_cond_wait et al ----------------\n\n");
+
+ /* make pthread_cond_wait fail. This is difficult. Our cunning
+ plan (tm) is to show up at pthread_cond_wait bearing a
+ not-locked mutex of the ERRORCHECK flavour and hope (as is
+ indeed the case with glibc-2.5) that pthread_cond_wait notices
+ it is not locked, and bounces our request. */
+ r= pthread_mutexattr_init( &mxa2 ); assert(!r);
+ r= pthread_mutexattr_settype( &mxa2, PTHREAD_MUTEX_ERRORCHECK );
+ assert(!r);
+ r= pthread_mutex_init( &mx4, &mxa2 ); assert(!r);
+ r= pthread_cond_init( &cv, NULL ); assert(!r);
+ r= pthread_cond_wait( &cv, &mx4 ); assert(r);
+ r= pthread_mutexattr_destroy( &mxa2 ); assert(!r);
+
+ /* make pthread_cond_signal fail. FIXME: can't figure out how
+ to */
+ r= pthread_cond_signal( &cv ); assert(!r);
+ fprintf(stderr, "\nFIXME: can't figure out how to "
+ "verify wrap of pthread_cond_signal\n\n");
+
+ /* make pthread_cond_broadcast fail. FIXME: can't figure out how
+ to */
+ r= pthread_cond_broadcast( &cv ); assert(!r);
+ fprintf(stderr, "\nFIXME: can't figure out how to "
+ "verify wrap of pthread_broadcast_signal\n\n");
+
+ /* make pthread_cond_timedwait fail. */
+ memset( &abstime, 0, sizeof(abstime) );
+ abstime.tv_nsec = 1000000000 + 1;
+ r= pthread_cond_timedwait( &cv, &mx4, &abstime ); assert(r);
+
+ /* --------- pthread_rwlock_* --------- */
+
+ fprintf(stderr,
+ "\n---------------- pthread_rwlock_* ----------------\n\n");
+
+ /* pthread_rwlock_init, pthread_rwlock_unlock */
+ /* pthread_rwlock_init: can't make glibc's implementation fail.
+ However, can demonstrate interceptedness by initialising but not
+ locking a lock and then unlocking it. Then the unlock call
+ should say "first seen at .. the init call." So this tests
+ wrappedness of both calls. */
+ r= pthread_rwlock_init( &rwl, NULL ); assert(!r);
+ r= pthread_rwlock_unlock( &rwl );
+ /* assert(r); *//* glibc doesn't complain. It really ought to. Oh well. */
+
+ /* We can infer the presence of wrapping for pthread_rwlock_rdlock,
+ pthread_rwlock_wrlock and pthread_rwlock_unlock by making
+ Thrcheck count the lockedness state, and warning when we unlock
+ a not-locked lock. Thusly: */
+ r= pthread_rwlock_init( &rwl2, NULL ); assert(!r);
+
+ /* w-lock it */
+ fprintf(stderr, "(1) no error on next line\n");
+ r= pthread_rwlock_wrlock( &rwl2 ); assert(!r);
+ /* unlock it */
+ fprintf(stderr, "(2) no error on next line\n");
+ r= pthread_rwlock_unlock( &rwl2 ); assert(!r);
+ /* unlock it again, get an error */
+ fprintf(stderr, "(3) ERROR on next line\n");
+ r= pthread_rwlock_unlock( &rwl2 ); assert(!r);
+
+ /* same game with r-locks */
+ r= pthread_rwlock_init( &rwl2, NULL ); assert(!r);
+ /* r-lock it twice */
+ fprintf(stderr, "(4) no error on next line\n");
+ r= pthread_rwlock_rdlock( &rwl2 ); assert(!r);
+ fprintf(stderr, "(5) no error on next line\n");
+ r= pthread_rwlock_rdlock( &rwl2 ); assert(!r);
+ /* unlock it twice */
+ fprintf(stderr, "(6) no error on next line\n");
+ r= pthread_rwlock_unlock( &rwl2 ); assert(!r);
+ fprintf(stderr, "(7) no error on next line\n");
+ r= pthread_rwlock_unlock( &rwl2 ); assert(!r);
+ /* unlock it again, get an error */
+ fprintf(stderr, "(8) ERROR on next line\n");
+ r= pthread_rwlock_unlock( &rwl2 ); assert(!r);
+
+ /* Lock rwl3 so the locked-lock-at-dealloc check can complain about
+ it. */
+ r= pthread_rwlock_init( &rwl3, NULL ); assert(!r);
+ r= pthread_rwlock_rdlock( &rwl3 ); assert(!r);
+
+ /* ------------- sem_* ------------- */
+
+ /* This is pretty lame, and duplicates tc18_semabuse.c. */
+
+ fprintf(stderr,
+ "\n---------------- sem_* ----------------\n\n");
+
+ /* verifies wrap of sem_init */
+ /* Do sem_init with huge initial count - fails */
+ r= sem_init(&s1, 0, ~0); assert(r);
+
+ /* initialise properly */
+ r= sem_init(&s1, 0, 0);
+
+ /* in glibc, sem_destroy is a no-op; making it fail is
+ impossible. */
+ fprintf(stderr, "\nFIXME: can't figure out how to verify wrap of "
+ "sem_destroy\n\n");
+
+ /* verifies wrap of sem_wait */
+ /* Do 'wait' on a bogus semaphore. This should fail, but on glibc
+ it succeeds. */
+ memset(&s1, 0x55, sizeof(s1));
+ r= sem_wait(&s1); /* assert(r != 0); */
+
+ /* this only fails with glibc 2.7 or later. */
+ r= sem_post(&s1);
+ fprintf(stderr, "\nFIXME: can't figure out how to verify wrap of "
+ "sem_post\n\n");
+
+ sem_destroy(&s1);
+
+ /* ------------- dealloc of mem holding locks ------------- */
+
+ fprintf(stderr,
+ "\n------------ dealloc of mem holding locks ------------\n\n");
+
+ /* At this point it should complain about deallocation
+ of memory containing locked locks:
+ rwl3
+ */
+
+ return 0;
+}
+
+#else /* defined(_AIX) */
+int main ( void )
+{
+ fprintf(stderr, "This program does not work on AIX.\n");
+ return 0;
+}
+#endif
diff --git a/helgrind/tests/.svn/text-base/tc20_verifywrap.stderr.exp-glibc25-amd64.svn-base b/helgrind/tests/.svn/text-base/tc20_verifywrap.stderr.exp-glibc25-amd64.svn-base
new file mode 100644
index 0000000..5d001f5
--- /dev/null
+++ b/helgrind/tests/.svn/text-base/tc20_verifywrap.stderr.exp-glibc25-amd64.svn-base
@@ -0,0 +1,154 @@
+
+
+
+------ This is output for >= glibc 2.4 ------
+
+---------------- pthread_create/join ----------------
+
+Thread #x is the program's root thread
+
+Thread #x was created
+ ...
+ by 0x........: pthread_create@* (hg_intercepts.c:...)
+ by 0x........: main (tc20_verifywrap.c:76)
+
+Possible data race during write of size 2 at 0x........ by thread #x
+ at 0x........: main (tc20_verifywrap.c:78)
+ This conflicts with a previous write of size 2 by thread #x
+ at 0x........: racy_child (tc20_verifywrap.c:34)
+ by 0x........: mythread_wrapper (hg_intercepts.c:...)
+ ...
+ Location 0x........ is 0 bytes inside global var "unprotected"
+ declared at tc20_verifywrap.c:27
+
+Thread #x's call to pthread_join failed
+ with error code 35 (EDEADLK: Resource deadlock would occur)
+ at 0x........: pthread_join (hg_intercepts.c:...)
+ by 0x........: main (tc20_verifywrap.c:83)
+
+---------------- pthread_mutex_lock et al ----------------
+
+
+Thread #x's call to pthread_mutex_init failed
+ with error code 95 (EOPNOTSUPP: Operation not supported on transport endpoint)
+ at 0x........: pthread_mutex_init (hg_intercepts.c:...)
+ by 0x........: main (tc20_verifywrap.c:92)
+
+Thread #x: pthread_mutex_destroy of a locked mutex
+ at 0x........: pthread_mutex_destroy (hg_intercepts.c:...)
+ by 0x........: main (tc20_verifywrap.c:102)
+
+Thread #x's call to pthread_mutex_destroy failed
+ with error code 16 (EBUSY: Device or resource busy)
+ at 0x........: pthread_mutex_destroy (hg_intercepts.c:...)
+ by 0x........: main (tc20_verifywrap.c:102)
+
+Thread #x's call to pthread_mutex_lock failed
+ with error code 22 (EINVAL: Invalid argument)
+ at 0x........: pthread_mutex_lock (hg_intercepts.c:...)
+ by 0x........: main (tc20_verifywrap.c:108)
+
+Thread #x's call to pthread_mutex_trylock failed
+ with error code 22 (EINVAL: Invalid argument)
+ at 0x........: pthread_mutex_trylock (hg_intercepts.c:...)
+ by 0x........: main (tc20_verifywrap.c:116)
+
+Thread #x's call to pthread_mutex_timedlock failed
+ with error code 22 (EINVAL: Invalid argument)
+ at 0x........: pthread_mutex_timedlock (hg_intercepts.c:...)
+ by 0x........: main (tc20_verifywrap.c:121)
+
+Thread #x unlocked an invalid lock at 0x........
+ at 0x........: pthread_mutex_unlock (hg_intercepts.c:...)
+ by 0x........: main (tc20_verifywrap.c:125)
+
+Thread #x's call to pthread_mutex_unlock failed
+ with error code 22 (EINVAL: Invalid argument)
+ at 0x........: pthread_mutex_unlock (hg_intercepts.c:...)
+ by 0x........: main (tc20_verifywrap.c:125)
+
+---------------- pthread_cond_wait et al ----------------
+
+
+Thread #x: pthread_cond_{timed}wait called with un-held mutex
+ at 0x........: pthread_cond_wait@* (hg_intercepts.c:...)
+ by 0x........: main (tc20_verifywrap.c:147)
+
+Thread #x's call to pthread_cond_wait failed
+ with error code 1 (EPERM: Operation not permitted)
+ at 0x........: pthread_cond_wait@* (hg_intercepts.c:...)
+ by 0x........: main (tc20_verifywrap.c:147)
+
+FIXME: can't figure out how to verify wrap of pthread_cond_signal
+
+
+FIXME: can't figure out how to verify wrap of pthread_broadcast_signal
+
+
+Thread #x: pthread_cond_{timed}wait called with un-held mutex
+ at 0x........: pthread_cond_timedwait@* (hg_intercepts.c:...)
+ by 0x........: main (tc20_verifywrap.c:165)
+
+Thread #x's call to pthread_cond_timedwait failed
+ with error code 22 (EINVAL: Invalid argument)
+ at 0x........: pthread_cond_timedwait@* (hg_intercepts.c:...)
+ by 0x........: main (tc20_verifywrap.c:165)
+
+---------------- pthread_rwlock_* ----------------
+
+
+Thread #x unlocked a not-locked lock at 0x........
+ at 0x........: pthread_rwlock_unlock (hg_intercepts.c:...)
+ by 0x........: main (tc20_verifywrap.c:179)
+ Lock at 0x........ was first observed
+ at 0x........: pthread_rwlock_init (hg_intercepts.c:...)
+ by 0x........: main (tc20_verifywrap.c:178)
+(1) no error on next line
+(2) no error on next line
+(3) ERROR on next line
+
+Thread #x unlocked a not-locked lock at 0x........
+ at 0x........: pthread_rwlock_unlock (hg_intercepts.c:...)
+ by 0x........: main (tc20_verifywrap.c:196)
+ Lock at 0x........ was first observed
+ at 0x........: pthread_rwlock_init (hg_intercepts.c:...)
+ by 0x........: main (tc20_verifywrap.c:186)
+(4) no error on next line
+(5) no error on next line
+(6) no error on next line
+(7) no error on next line
+(8) ERROR on next line
+
+Thread #x unlocked a not-locked lock at 0x........
+ at 0x........: pthread_rwlock_unlock (hg_intercepts.c:...)
+ by 0x........: main (tc20_verifywrap.c:212)
+ Lock at 0x........ was first observed
+ at 0x........: pthread_rwlock_init (hg_intercepts.c:...)
+ by 0x........: main (tc20_verifywrap.c:186)
+
+---------------- sem_* ----------------
+
+
+Thread #x's call to sem_init failed
+ with error code 22 (EINVAL: Invalid argument)
+ at 0x........: sem_init@* (hg_intercepts.c:...)
+ by 0x........: main (tc20_verifywrap.c:228)
+
+FIXME: can't figure out how to verify wrap of sem_destroy
+
+
+Thread #x: Bug in libpthread: sem_wait succeeded on semaphore without prior sem_post
+ at 0x........: sem_wait_WRK (hg_intercepts.c:...)
+ by 0x........: sem_wait (hg_intercepts.c:...)
+ by 0x........: main (tc20_verifywrap.c:242)
+
+FIXME: can't figure out how to verify wrap of sem_post
+
+
+------------ dealloc of mem holding locks ------------
+
+
+Thread #x: Exiting thread still holds 1 lock
+ ...
+
+ERROR SUMMARY: 20 errors from 20 contexts (suppressed: 0 from 0)
diff --git a/helgrind/tests/.svn/text-base/tc20_verifywrap.stderr.exp-glibc27-amd64.svn-base b/helgrind/tests/.svn/text-base/tc20_verifywrap.stderr.exp-glibc27-amd64.svn-base
new file mode 100644
index 0000000..6e9af75
--- /dev/null
+++ b/helgrind/tests/.svn/text-base/tc20_verifywrap.stderr.exp-glibc27-amd64.svn-base
@@ -0,0 +1,160 @@
+
+
+
+------ This is output for >= glibc 2.4 ------
+
+---------------- pthread_create/join ----------------
+
+Thread #x is the program's root thread
+
+Thread #x was created
+ ...
+ by 0x........: pthread_create@* (hg_intercepts.c:...)
+ by 0x........: main (tc20_verifywrap.c:76)
+
+Possible data race during write of size 2 at 0x........ by thread #x
+ at 0x........: main (tc20_verifywrap.c:78)
+ This conflicts with a previous write of size 2 by thread #x
+ at 0x........: racy_child (tc20_verifywrap.c:34)
+ by 0x........: mythread_wrapper (hg_intercepts.c:...)
+ ...
+ Location 0x........ is 0 bytes inside global var "unprotected"
+ declared at tc20_verifywrap.c:27
+
+Thread #x's call to pthread_join failed
+ with error code 35 (EDEADLK: Resource deadlock would occur)
+ at 0x........: pthread_join (hg_intercepts.c:...)
+ by 0x........: main (tc20_verifywrap.c:83)
+
+---------------- pthread_mutex_lock et al ----------------
+
+
+Thread #x's call to pthread_mutex_init failed
+ with error code 95 (EOPNOTSUPP: Operation not supported on transport endpoint)
+ at 0x........: pthread_mutex_init (hg_intercepts.c:...)
+ by 0x........: main (tc20_verifywrap.c:92)
+
+Thread #x: pthread_mutex_destroy of a locked mutex
+ at 0x........: pthread_mutex_destroy (hg_intercepts.c:...)
+ by 0x........: main (tc20_verifywrap.c:102)
+
+Thread #x's call to pthread_mutex_destroy failed
+ with error code 16 (EBUSY: Device or resource busy)
+ at 0x........: pthread_mutex_destroy (hg_intercepts.c:...)
+ by 0x........: main (tc20_verifywrap.c:102)
+
+Thread #x's call to pthread_mutex_lock failed
+ with error code 22 (EINVAL: Invalid argument)
+ at 0x........: pthread_mutex_lock (hg_intercepts.c:...)
+ by 0x........: main (tc20_verifywrap.c:108)
+
+Thread #x's call to pthread_mutex_trylock failed
+ with error code 22 (EINVAL: Invalid argument)
+ at 0x........: pthread_mutex_trylock (hg_intercepts.c:...)
+ by 0x........: main (tc20_verifywrap.c:116)
+
+Thread #x's call to pthread_mutex_timedlock failed
+ with error code 22 (EINVAL: Invalid argument)
+ at 0x........: pthread_mutex_timedlock (hg_intercepts.c:...)
+ by 0x........: main (tc20_verifywrap.c:121)
+
+Thread #x unlocked an invalid lock at 0x........
+ at 0x........: pthread_mutex_unlock (hg_intercepts.c:...)
+ by 0x........: main (tc20_verifywrap.c:125)
+
+Thread #x's call to pthread_mutex_unlock failed
+ with error code 22 (EINVAL: Invalid argument)
+ at 0x........: pthread_mutex_unlock (hg_intercepts.c:...)
+ by 0x........: main (tc20_verifywrap.c:125)
+
+---------------- pthread_cond_wait et al ----------------
+
+
+Thread #x: pthread_cond_{timed}wait called with un-held mutex
+ at 0x........: pthread_cond_wait@* (hg_intercepts.c:...)
+ by 0x........: main (tc20_verifywrap.c:147)
+
+Thread #x's call to pthread_cond_wait failed
+ with error code 1 (EPERM: Operation not permitted)
+ at 0x........: pthread_cond_wait@* (hg_intercepts.c:...)
+ by 0x........: main (tc20_verifywrap.c:147)
+
+FIXME: can't figure out how to verify wrap of pthread_cond_signal
+
+
+FIXME: can't figure out how to verify wrap of pthread_broadcast_signal
+
+
+Thread #x: pthread_cond_{timed}wait called with un-held mutex
+ at 0x........: pthread_cond_timedwait@* (hg_intercepts.c:...)
+ by 0x........: main (tc20_verifywrap.c:165)
+
+Thread #x's call to pthread_cond_timedwait failed
+ with error code 22 (EINVAL: Invalid argument)
+ at 0x........: pthread_cond_timedwait@* (hg_intercepts.c:...)
+ by 0x........: main (tc20_verifywrap.c:165)
+
+---------------- pthread_rwlock_* ----------------
+
+
+Thread #x unlocked a not-locked lock at 0x........
+ at 0x........: pthread_rwlock_unlock (hg_intercepts.c:...)
+ by 0x........: main (tc20_verifywrap.c:179)
+ Lock at 0x........ was first observed
+ at 0x........: pthread_rwlock_init (hg_intercepts.c:...)
+ by 0x........: main (tc20_verifywrap.c:178)
+(1) no error on next line
+(2) no error on next line
+(3) ERROR on next line
+
+Thread #x unlocked a not-locked lock at 0x........
+ at 0x........: pthread_rwlock_unlock (hg_intercepts.c:...)
+ by 0x........: main (tc20_verifywrap.c:196)
+ Lock at 0x........ was first observed
+ at 0x........: pthread_rwlock_init (hg_intercepts.c:...)
+ by 0x........: main (tc20_verifywrap.c:186)
+(4) no error on next line
+(5) no error on next line
+(6) no error on next line
+(7) no error on next line
+(8) ERROR on next line
+
+Thread #x unlocked a not-locked lock at 0x........
+ at 0x........: pthread_rwlock_unlock (hg_intercepts.c:...)
+ by 0x........: main (tc20_verifywrap.c:212)
+ Lock at 0x........ was first observed
+ at 0x........: pthread_rwlock_init (hg_intercepts.c:...)
+ by 0x........: main (tc20_verifywrap.c:186)
+
+---------------- sem_* ----------------
+
+
+Thread #x's call to sem_init failed
+ with error code 22 (EINVAL: Invalid argument)
+ at 0x........: sem_init@* (hg_intercepts.c:...)
+ by 0x........: main (tc20_verifywrap.c:228)
+
+FIXME: can't figure out how to verify wrap of sem_destroy
+
+
+Thread #x: Bug in libpthread: sem_wait succeeded on semaphore without prior sem_post
+ at 0x........: sem_wait_WRK (hg_intercepts.c:...)
+ by 0x........: sem_wait (hg_intercepts.c:...)
+ by 0x........: main (tc20_verifywrap.c:242)
+
+Thread #x's call to sem_post failed
+ with error code 22 (EINVAL: Invalid argument)
+ at 0x........: sem_post_WRK (hg_intercepts.c:...)
+ by 0x........: sem_post (hg_intercepts.c:...)
+ by 0x........: main (tc20_verifywrap.c:245)
+
+FIXME: can't figure out how to verify wrap of sem_post
+
+
+------------ dealloc of mem holding locks ------------
+
+
+Thread #x: Exiting thread still holds 1 lock
+ ...
+
+ERROR SUMMARY: 21 errors from 21 contexts (suppressed: 0 from 0)
diff --git a/helgrind/tests/.svn/text-base/tc20_verifywrap.stdout.exp.svn-base b/helgrind/tests/.svn/text-base/tc20_verifywrap.stdout.exp.svn-base
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/helgrind/tests/.svn/text-base/tc20_verifywrap.stdout.exp.svn-base
diff --git a/helgrind/tests/.svn/text-base/tc20_verifywrap.vgtest.svn-base b/helgrind/tests/.svn/text-base/tc20_verifywrap.vgtest.svn-base
new file mode 100644
index 0000000..7683e8a
--- /dev/null
+++ b/helgrind/tests/.svn/text-base/tc20_verifywrap.vgtest.svn-base
@@ -0,0 +1,2 @@
+prog: tc20_verifywrap
+vgopts: --read-var-info=yes
diff --git a/helgrind/tests/.svn/text-base/tc21_pthonce.c.svn-base b/helgrind/tests/.svn/text-base/tc21_pthonce.c.svn-base
new file mode 100644
index 0000000..69fac76
--- /dev/null
+++ b/helgrind/tests/.svn/text-base/tc21_pthonce.c.svn-base
@@ -0,0 +1,96 @@
+
+/* This really exists to check that Thrcheck behaves plausibly
+ with pthread_once calls. Which it appears to.
+
+ The original source of this program is as shown below, although it
+ has been modified somewhat. See
+ http://www.oreilly.com/pub/a/oreilly/ask_tim/2001/codepolicy.html
+ for OReilly's policy on using bits of their code examples.
+*/
+
+
+/********************************************************
+ * An example source module to accompany...
+ *
+ * "Using POSIX Threads: Programming with Pthreads"
+ * by Brad Nichols, Dick Buttlar, Jackie Farrell
+ * O'Reilly & Associates, Inc.
+ *
+ ********************************************************
+ * once_exam.c
+ *
+ * An example of using the pthreads_once() call to execute an
+ * initialization procedure.
+ *
+ * A program spawns multiple threads and each one tries to
+ * execute the routine welcome() using the once call. Only
+ * the first thread into the once routine will actually
+ * execute welcome().
+ *
+ * The program's main thread synchronizes its exit with the
+ * exit of the threads using the pthread_join() operation.
+ *
+*/
+
+#include <stdlib.h>
+#include <stdio.h>
+#include <unistd.h>
+#include <sys/types.h>
+#include <assert.h>
+
+#include <pthread.h>
+
+/* With more than 2 threads, the precise error reports vary between
+ platforms, in terms of the number of races detected. Make life
+ simple and just have 2 threads and so just 1 race. */
+#define NUM_THREADS 2
+
+static pthread_once_t welcome_once_block = PTHREAD_ONCE_INIT;
+
+static int unprotected1 = 0;
+static int unprotected2 = 0;
+
+/* This is a hack: delay threads except the first enough so as to
+ ensure threads[0] gets to the pthread_once call first. This is so
+ as to ensure that this test produces results which aren't
+ scheduling sensitive. (sigh) */
+void maybe_stall ( int myid )
+{
+ assert(myid >= 0 && myid < NUM_THREADS);
+ if (myid > 0)
+ sleep(1);
+}
+
+void welcome(void) {
+ printf("welcome: Welcome\n");
+ unprotected1++; /* this is harmless */
+}
+
+void* child ( void* argV ) {
+ int r;
+ maybe_stall( *(int*)argV );
+ r= pthread_once(&welcome_once_block, welcome); assert(!r);
+ printf("child: Hi, I'm thread %d\n", *(int*)argV);
+ unprotected2++; /* whereas this is a race */
+ return NULL;
+}
+
+int main ( void ) {
+ int *id_arg, i, r;
+ pthread_t threads[NUM_THREADS];
+
+ id_arg = (int *)malloc(NUM_THREADS*sizeof(int));
+
+ for (i = 0; i < NUM_THREADS; i++) {
+ id_arg[i] = i;
+ r= pthread_create(&threads[i], NULL, child, &id_arg[i]);
+ assert(!r);
+ }
+
+ for (i = 0; i < NUM_THREADS; i++) {
+ pthread_join(threads[i], NULL);
+ /* printf("main: joined to thread %d\n", i); */
+ }
+ printf("main: Goodbye\n");
+ return 0;
+}
diff --git a/helgrind/tests/.svn/text-base/tc21_pthonce.stderr.exp.svn-base b/helgrind/tests/.svn/text-base/tc21_pthonce.stderr.exp.svn-base
new file mode 100644
index 0000000..65cae9a
--- /dev/null
+++ b/helgrind/tests/.svn/text-base/tc21_pthonce.stderr.exp.svn-base
@@ -0,0 +1,34 @@
+
+Thread #x was created
+ ...
+ by 0x........: pthread_create@* (hg_intercepts.c:...)
+ by 0x........: main (tc21_pthonce.c:86)
+
+Thread #x was created
+ ...
+ by 0x........: pthread_create@* (hg_intercepts.c:...)
+ by 0x........: main (tc21_pthonce.c:86)
+
+Possible data race during read of size 4 at 0x........ by thread #x
+ at 0x........: child (tc21_pthonce.c:74)
+ by 0x........: mythread_wrapper (hg_intercepts.c:...)
+ ...
+ This conflicts with a previous write of size 4 by thread #x
+ at 0x........: child (tc21_pthonce.c:74)
+ by 0x........: mythread_wrapper (hg_intercepts.c:...)
+ ...
+ Location 0x........ is 0 bytes inside local var "unprotected2"
+ declared at tc21_pthonce.c:51, in frame #x of thread x
+
+Possible data race during write of size 4 at 0x........ by thread #x
+ at 0x........: child (tc21_pthonce.c:74)
+ by 0x........: mythread_wrapper (hg_intercepts.c:...)
+ ...
+ This conflicts with a previous write of size 4 by thread #x
+ at 0x........: child (tc21_pthonce.c:74)
+ by 0x........: mythread_wrapper (hg_intercepts.c:...)
+ ...
+ Location 0x........ is 0 bytes inside local var "unprotected2"
+ declared at tc21_pthonce.c:51, in frame #x of thread x
+
+ERROR SUMMARY: 2 errors from 2 contexts (suppressed: 0 from 0)
diff --git a/helgrind/tests/.svn/text-base/tc21_pthonce.stdout.exp.svn-base b/helgrind/tests/.svn/text-base/tc21_pthonce.stdout.exp.svn-base
new file mode 100644
index 0000000..e6c2dc2
--- /dev/null
+++ b/helgrind/tests/.svn/text-base/tc21_pthonce.stdout.exp.svn-base
@@ -0,0 +1,4 @@
+welcome: Welcome
+child: Hi, I'm thread 0
+child: Hi, I'm thread 1
+main: Goodbye
diff --git a/helgrind/tests/.svn/text-base/tc21_pthonce.vgtest.svn-base b/helgrind/tests/.svn/text-base/tc21_pthonce.vgtest.svn-base
new file mode 100644
index 0000000..0887de8
--- /dev/null
+++ b/helgrind/tests/.svn/text-base/tc21_pthonce.vgtest.svn-base
@@ -0,0 +1,2 @@
+prog: tc21_pthonce
+vgopts: --read-var-info=yes
diff --git a/helgrind/tests/.svn/text-base/tc22_exit_w_lock.c.svn-base b/helgrind/tests/.svn/text-base/tc22_exit_w_lock.c.svn-base
new file mode 100644
index 0000000..d40600e
--- /dev/null
+++ b/helgrind/tests/.svn/text-base/tc22_exit_w_lock.c.svn-base
@@ -0,0 +1,50 @@
+
+#include <pthread.h>
+#include <unistd.h>
+#include <assert.h>
+#include <signal.h>
+
+/* Should see 3 threads exiting in different ways, all holding one (or
+ two) locks. */
+
+pthread_mutex_t mxC1 = PTHREAD_MUTEX_INITIALIZER;
+pthread_mutex_t mxC2 = PTHREAD_MUTEX_INITIALIZER;
+pthread_mutex_t mxC2b = PTHREAD_MUTEX_INITIALIZER;
+pthread_mutex_t mxP = PTHREAD_MUTEX_INITIALIZER;
+
+/* This one exits in the normal way, by joining back */
+void* child_fn1 ( void* arg )
+{
+ int r= pthread_mutex_lock( &mxC1 ); assert(!r);
+ return NULL;
+}
+
+/* This one detaches, does its own thing. */
+void* child_fn2 ( void* arg )
+{
+ int r;
+ r= pthread_mutex_lock( &mxC2 ); assert(!r);
+ r= pthread_mutex_lock( &mxC2b ); assert(!r);
+ r= pthread_detach( pthread_self() ); assert(!r);
+ return NULL;
+}
+
+/* Parent creates 2 children, takes a lock, waits, segfaults. Use
+ sleeps to enforce exit ordering, for repeatable regtesting. */
+int main ( void )
+{
+ int r;
+ pthread_t child1, child2;
+
+ r= pthread_create(&child2, NULL, child_fn2, NULL); assert(!r);
+ sleep(1);
+
+ r= pthread_create(&child1, NULL, child_fn1, NULL); assert(!r);
+ r= pthread_join(child1, NULL); assert(!r);
+ sleep(1);
+
+ r= pthread_mutex_lock( &mxP );
+
+ kill( getpid(), SIGABRT );
+ return 0;
+}
diff --git a/helgrind/tests/.svn/text-base/tc22_exit_w_lock.stderr.exp.svn-base b/helgrind/tests/.svn/text-base/tc22_exit_w_lock.stderr.exp.svn-base
new file mode 100644
index 0000000..74139f1
--- /dev/null
+++ b/helgrind/tests/.svn/text-base/tc22_exit_w_lock.stderr.exp.svn-base
@@ -0,0 +1,23 @@
+
+Thread #x was created
+ ...
+ by 0x........: pthread_create@* (hg_intercepts.c:...)
+ by 0x........: main (tc22_exit_w_lock.c:39)
+
+Thread #x: Exiting thread still holds 2 locks
+ ...
+
+Thread #x was created
+ ...
+ by 0x........: pthread_create@* (hg_intercepts.c:...)
+ by 0x........: main (tc22_exit_w_lock.c:42)
+
+Thread #x: Exiting thread still holds 1 lock
+ ...
+
+Thread #x is the program's root thread
+
+Thread #x: Exiting thread still holds 1 lock
+ ...
+
+ERROR SUMMARY: 3 errors from 3 contexts (suppressed: 0 from 0)
diff --git a/helgrind/tests/.svn/text-base/tc22_exit_w_lock.stdout.exp.svn-base b/helgrind/tests/.svn/text-base/tc22_exit_w_lock.stdout.exp.svn-base
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/helgrind/tests/.svn/text-base/tc22_exit_w_lock.stdout.exp.svn-base
diff --git a/helgrind/tests/.svn/text-base/tc22_exit_w_lock.vgtest.svn-base b/helgrind/tests/.svn/text-base/tc22_exit_w_lock.vgtest.svn-base
new file mode 100644
index 0000000..4f85dd5
--- /dev/null
+++ b/helgrind/tests/.svn/text-base/tc22_exit_w_lock.vgtest.svn-base
@@ -0,0 +1 @@
+prog: tc22_exit_w_lock
diff --git a/helgrind/tests/.svn/text-base/tc23_bogus_condwait.c.svn-base b/helgrind/tests/.svn/text-base/tc23_bogus_condwait.c.svn-base
new file mode 100644
index 0000000..a0fad5d
--- /dev/null
+++ b/helgrind/tests/.svn/text-base/tc23_bogus_condwait.c.svn-base
@@ -0,0 +1,86 @@
+
+/* Expect 5 errors total (4 re cvs, 1 re exiting w/lock.).
+ Tests passing bogus mutexes to pthread_cond_wait. */
+#define _GNU_SOURCE 1 /* needed by glibc <= 2.3 for pthread_rwlock_* */
+#include <pthread.h>
+#include <assert.h>
+#include <unistd.h>
+#include <semaphore.h>
+
+pthread_mutex_t mx[4];
+pthread_cond_t cv;
+pthread_rwlock_t rwl;
+
+sem_t quit_now;
+
+void* rescue_me ( void* uu )
+{
+ /* wait for, and unblock, the first wait */
+ sleep(1);
+ pthread_cond_signal( &cv );
+
+ /* wait for, and unblock, the second wait */
+ sleep(1);
+ pthread_cond_signal( &cv );
+
+ /* wait for, and unblock, the third wait */
+ sleep(1);
+ pthread_cond_signal( &cv );
+
+ /* wait for, and unblock, the fourth wait */
+ sleep(1);
+ pthread_cond_signal( &cv );
+
+ sem_wait( &quit_now );
+ return NULL;
+}
+
+void* grab_the_lock ( void* uu )
+{
+ int r= pthread_mutex_lock( &mx[2] ); assert(!r);
+ sem_wait( &quit_now );
+ r= pthread_mutex_unlock( &mx[2] ); assert(!r);
+ return NULL;
+}
+
+int main ( void )
+{
+ int r;
+ pthread_t my_rescuer, grabber;
+
+ r= pthread_mutex_init(&mx[0], NULL); assert(!r);
+ r= pthread_mutex_init(&mx[1], NULL); assert(!r);
+ r= pthread_mutex_init(&mx[2], NULL); assert(!r);
+ r= pthread_mutex_init(&mx[3], NULL); assert(!r);
+
+ r= pthread_cond_init(&cv, NULL); assert(!r);
+ r= pthread_rwlock_init(&rwl, NULL); assert(!r);
+
+ r= sem_init( &quit_now, 0,0 ); assert(!r);
+
+ r= pthread_create( &grabber, NULL, grab_the_lock, NULL ); assert(!r);
+ sleep(1); /* let the grabber get there first */
+
+ r= pthread_create( &my_rescuer, NULL, rescue_me, NULL ); assert(!r);
+ /* Do stupid things and hope that rescue_me gets us out of
+ trouble */
+
+ /* mx is bogus */
+ r= pthread_cond_wait(&cv, (pthread_mutex_t*)(1 + (char*)&mx[0]) );
+
+ /* mx is not locked */
+ r= pthread_cond_wait(&cv, &mx[0]);
+
+ /* wrong flavour of lock */
+ r= pthread_cond_wait(&cv, (pthread_mutex_t*)&rwl );
+
+ /* mx is held by someone else. */
+ r= pthread_cond_wait(&cv, &mx[2] );
+
+ r= sem_post( &quit_now ); assert(!r);
+ r= sem_post( &quit_now ); assert(!r);
+
+ r= pthread_join( my_rescuer, NULL ); assert(!r);
+ r= pthread_join( grabber, NULL ); assert(!r);
+ return 0;
+}
diff --git a/helgrind/tests/.svn/text-base/tc23_bogus_condwait.stderr.exp.svn-base b/helgrind/tests/.svn/text-base/tc23_bogus_condwait.stderr.exp.svn-base
new file mode 100644
index 0000000..d80ee1a
--- /dev/null
+++ b/helgrind/tests/.svn/text-base/tc23_bogus_condwait.stderr.exp.svn-base
@@ -0,0 +1,20 @@
+
+Thread #x is the program's root thread
+
+Thread #x: pthread_cond_{timed}wait called with invalid mutex
+ at 0x........: pthread_cond_wait@* (hg_intercepts.c:...)
+ by 0x........: main (tc23_bogus_condwait.c:69)
+
+Thread #x: pthread_cond_{timed}wait called with un-held mutex
+ at 0x........: pthread_cond_wait@* (hg_intercepts.c:...)
+ by 0x........: main (tc23_bogus_condwait.c:72)
+
+Thread #x: pthread_cond_{timed}wait called with mutex of type pthread_rwlock_t*
+ at 0x........: pthread_cond_wait@* (hg_intercepts.c:...)
+ by 0x........: main (tc23_bogus_condwait.c:75)
+
+Thread #x: pthread_cond_{timed}wait called with mutex held by a different thread
+ at 0x........: pthread_cond_wait@* (hg_intercepts.c:...)
+ by 0x........: main (tc23_bogus_condwait.c:78)
+
+ERROR SUMMARY: 4 errors from 4 contexts (suppressed: 0 from 0)
diff --git a/helgrind/tests/.svn/text-base/tc23_bogus_condwait.stdout.exp.svn-base b/helgrind/tests/.svn/text-base/tc23_bogus_condwait.stdout.exp.svn-base
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/helgrind/tests/.svn/text-base/tc23_bogus_condwait.stdout.exp.svn-base
diff --git a/helgrind/tests/.svn/text-base/tc23_bogus_condwait.vgtest.svn-base b/helgrind/tests/.svn/text-base/tc23_bogus_condwait.vgtest.svn-base
new file mode 100644
index 0000000..31c3ed8
--- /dev/null
+++ b/helgrind/tests/.svn/text-base/tc23_bogus_condwait.vgtest.svn-base
@@ -0,0 +1 @@
+prog: tc23_bogus_condwait
diff --git a/helgrind/tests/.svn/text-base/tc24_nonzero_sem.c.svn-base b/helgrind/tests/.svn/text-base/tc24_nonzero_sem.c.svn-base
new file mode 100644
index 0000000..01c23e8
--- /dev/null
+++ b/helgrind/tests/.svn/text-base/tc24_nonzero_sem.c.svn-base
@@ -0,0 +1,41 @@
+
+/* Check that Helgrind does not complain about semaphores with a
+ nonzero initial value, when said semaphores are correctly used.
+ Also useful for generating VCG of simple semaphore activity, for
+ inspection. */
+
+#include <pthread.h>
+#include <semaphore.h>
+#include <assert.h>
+
+#define N_THREADS 3
+
+void* child_fn ( void* semV )
+{
+ int r;
+ sem_t* sem = (sem_t*)semV;
+ r= sem_wait(sem); assert(!r);
+ return NULL;
+}
+
+int main ( void )
+{
+ int r, i;
+ sem_t sem;
+ pthread_t child[N_THREADS];
+
+ r= sem_init(&sem, 0, N_THREADS); assert(!r);
+
+ for (i = 0; i < N_THREADS; i++) {
+ r= pthread_create( &child[i], NULL, child_fn, (void*)&sem );
+ assert(!r);
+ }
+
+ for (i = 0; i < N_THREADS; i++) {
+ r= pthread_join( child[i], NULL );
+ assert(!r);
+ }
+
+ sem_destroy(&sem);
+ return 0;
+}
diff --git a/helgrind/tests/.svn/text-base/tc24_nonzero_sem.stderr.exp.svn-base b/helgrind/tests/.svn/text-base/tc24_nonzero_sem.stderr.exp.svn-base
new file mode 100644
index 0000000..d18786f
--- /dev/null
+++ b/helgrind/tests/.svn/text-base/tc24_nonzero_sem.stderr.exp.svn-base
@@ -0,0 +1,3 @@
+
+
+ERROR SUMMARY: 0 errors from 0 contexts (suppressed: 0 from 0)
diff --git a/helgrind/tests/.svn/text-base/tc24_nonzero_sem.stdout.exp.svn-base b/helgrind/tests/.svn/text-base/tc24_nonzero_sem.stdout.exp.svn-base
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/helgrind/tests/.svn/text-base/tc24_nonzero_sem.stdout.exp.svn-base
diff --git a/helgrind/tests/.svn/text-base/tc24_nonzero_sem.vgtest.svn-base b/helgrind/tests/.svn/text-base/tc24_nonzero_sem.vgtest.svn-base
new file mode 100644
index 0000000..1a43121
--- /dev/null
+++ b/helgrind/tests/.svn/text-base/tc24_nonzero_sem.vgtest.svn-base
@@ -0,0 +1,2 @@
+prog: tc24_nonzero_sem
+vgopts: --hg-sanity-flags=111111