summaryrefslogtreecommitdiff
path: root/helgrind/tests
diff options
context:
space:
mode:
authorStephane Marchesin <marchesin@icps.u-strasbg.fr>2009-05-04 19:05:59 +0200
committerStephane Marchesin <marchesin@icps.u-strasbg.fr>2009-05-04 19:05:59 +0200
commit6e410b3bb6ff51580897431105aae14591cbf7fb (patch)
treef8aeba9352710f10cd6b1d5138c8fc3ece91c8c3 /helgrind/tests
Initial import of fatgrind.HEADmaster
Diffstat (limited to 'helgrind/tests')
-rw-r--r--helgrind/tests/.deps/bar_bad.Po1
-rw-r--r--helgrind/tests/.deps/bar_trivial.Po1
-rw-r--r--helgrind/tests/.deps/hg01_all_ok.Po1
-rw-r--r--helgrind/tests/.deps/hg02_deadlock.Po1
-rw-r--r--helgrind/tests/.deps/hg03_inherit.Po1
-rw-r--r--helgrind/tests/.deps/hg04_race.Po1
-rw-r--r--helgrind/tests/.deps/hg05_race2.Po1
-rw-r--r--helgrind/tests/.deps/hg06_readshared.Po1
-rw-r--r--helgrind/tests/.deps/tc01_simple_race.Po1
-rw-r--r--helgrind/tests/.deps/tc02_simple_tls.Po1
-rw-r--r--helgrind/tests/.deps/tc03_re_excl.Po1
-rw-r--r--helgrind/tests/.deps/tc04_free_lock.Po1
-rw-r--r--helgrind/tests/.deps/tc05_simple_race.Po1
-rw-r--r--helgrind/tests/.deps/tc06_two_races.Po1
-rw-r--r--helgrind/tests/.deps/tc07_hbl1.Po1
-rw-r--r--helgrind/tests/.deps/tc08_hbl2.Po1
-rw-r--r--helgrind/tests/.deps/tc09_bad_unlock.Po1
-rw-r--r--helgrind/tests/.deps/tc10_rec_lock.Po1
-rw-r--r--helgrind/tests/.deps/tc11_XCHG.Po1
-rw-r--r--helgrind/tests/.deps/tc12_rwl_trivial.Po1
-rw-r--r--helgrind/tests/.deps/tc13_laog1.Po1
-rw-r--r--helgrind/tests/.deps/tc14_laog_dinphils.Po1
-rw-r--r--helgrind/tests/.deps/tc15_laog_lockdel.Po1
-rw-r--r--helgrind/tests/.deps/tc16_byterace.Po1
-rw-r--r--helgrind/tests/.deps/tc17_sembar.Po1
-rw-r--r--helgrind/tests/.deps/tc18_semabuse.Po1
-rw-r--r--helgrind/tests/.deps/tc19_shadowmem.Po1
-rw-r--r--helgrind/tests/.deps/tc20_verifywrap.Po1
-rw-r--r--helgrind/tests/.deps/tc21_pthonce.Po1
-rw-r--r--helgrind/tests/.deps/tc22_exit_w_lock.Po1
-rw-r--r--helgrind/tests/.deps/tc23_bogus_condwait.Po1
-rw-r--r--helgrind/tests/.deps/tc24_nonzero_sem.Po1
-rw-r--r--helgrind/tests/.svn/dir-prop-base47
-rw-r--r--helgrind/tests/.svn/entries1851
-rw-r--r--helgrind/tests/.svn/format1
-rw-r--r--helgrind/tests/.svn/prop-base/bar_bad.stderr.exp.svn-base5
-rw-r--r--helgrind/tests/.svn/prop-base/bar_trivial.stderr.exp.svn-base5
-rw-r--r--helgrind/tests/.svn/prop-base/filter_stderr.svn-base5
-rw-r--r--helgrind/tests/.svn/prop-base/hg01_all_ok.stderr.exp.svn-base5
-rw-r--r--helgrind/tests/.svn/prop-base/hg02_deadlock.stderr.exp.svn-base5
-rw-r--r--helgrind/tests/.svn/prop-base/hg03_inherit.stderr.exp.svn-base5
-rw-r--r--helgrind/tests/.svn/prop-base/hg04_race.stderr.exp.svn-base5
-rw-r--r--helgrind/tests/.svn/prop-base/hg05_race2.stderr.exp.svn-base5
-rw-r--r--helgrind/tests/.svn/prop-base/hg06_readshared.stderr.exp.svn-base5
-rw-r--r--helgrind/tests/.svn/prop-base/pth_barrier1.stderr.exp.svn-base5
-rw-r--r--helgrind/tests/.svn/prop-base/pth_barrier2.stderr.exp.svn-base5
-rw-r--r--helgrind/tests/.svn/prop-base/pth_barrier3.stderr.exp.svn-base5
-rw-r--r--helgrind/tests/.svn/prop-base/rwlock_race.stderr.exp.svn-base5
-rw-r--r--helgrind/tests/.svn/prop-base/rwlock_test.stderr.exp.svn-base5
-rw-r--r--helgrind/tests/.svn/prop-base/tc01_simple_race.stderr.exp.svn-base5
-rw-r--r--helgrind/tests/.svn/prop-base/tc02_simple_tls.stderr.exp.svn-base5
-rw-r--r--helgrind/tests/.svn/prop-base/tc03_re_excl.stderr.exp.svn-base5
-rw-r--r--helgrind/tests/.svn/prop-base/tc04_free_lock.stderr.exp.svn-base5
-rw-r--r--helgrind/tests/.svn/prop-base/tc05_simple_race.stderr.exp.svn-base5
-rw-r--r--helgrind/tests/.svn/prop-base/tc06_two_races.stderr.exp.svn-base5
-rw-r--r--helgrind/tests/.svn/prop-base/tc07_hbl1.stderr.exp.svn-base5
-rw-r--r--helgrind/tests/.svn/prop-base/tc08_hbl2.stderr.exp.svn-base5
-rw-r--r--helgrind/tests/.svn/prop-base/tc10_rec_lock.stderr.exp.svn-base5
-rw-r--r--helgrind/tests/.svn/prop-base/tc11_XCHG.stderr.exp.svn-base5
-rw-r--r--helgrind/tests/.svn/prop-base/tc12_rwl_trivial.stderr.exp.svn-base5
-rw-r--r--helgrind/tests/.svn/prop-base/tc13_laog1.stderr.exp.svn-base5
-rw-r--r--helgrind/tests/.svn/prop-base/tc14_laog_dinphils.stderr.exp.svn-base5
-rw-r--r--helgrind/tests/.svn/prop-base/tc15_laog_lockdel.stderr.exp.svn-base5
-rw-r--r--helgrind/tests/.svn/prop-base/tc16_byterace.stderr.exp.svn-base5
-rw-r--r--helgrind/tests/.svn/prop-base/tc17_sembar.stderr.exp.svn-base5
-rw-r--r--helgrind/tests/.svn/prop-base/tc19_shadowmem.stderr.exp.svn-base5
-rw-r--r--helgrind/tests/.svn/prop-base/tc21_pthonce.stderr.exp.svn-base5
-rw-r--r--helgrind/tests/.svn/prop-base/tc22_exit_w_lock.stderr.exp.svn-base5
-rw-r--r--helgrind/tests/.svn/prop-base/tc23_bogus_condwait.stderr.exp.svn-base5
-rw-r--r--helgrind/tests/.svn/prop-base/tc24_nonzero_sem.stderr.exp.svn-base5
-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
-rw-r--r--helgrind/tests/Makefile908
-rw-r--r--helgrind/tests/Makefile.am108
-rw-r--r--helgrind/tests/Makefile.in908
-rw-r--r--helgrind/tests/bar_bad.c89
-rw-r--r--helgrind/tests/bar_bad.stderr.exp45
-rw-r--r--helgrind/tests/bar_bad.stdout.exp0
-rw-r--r--helgrind/tests/bar_bad.vgtest3
-rw-r--r--helgrind/tests/bar_trivial.c57
-rw-r--r--helgrind/tests/bar_trivial.stderr.exp0
-rw-r--r--helgrind/tests/bar_trivial.stdout.exp1
-rw-r--r--helgrind/tests/bar_trivial.vgtest3
-rwxr-xr-xhelgrind/tests/filter_stderr60
-rw-r--r--helgrind/tests/hg01_all_ok.c32
-rw-r--r--helgrind/tests/hg01_all_ok.stderr.exp3
-rw-r--r--helgrind/tests/hg01_all_ok.stdout.exp0
-rw-r--r--helgrind/tests/hg01_all_ok.vgtest1
-rw-r--r--helgrind/tests/hg02_deadlock.c43
-rw-r--r--helgrind/tests/hg02_deadlock.stderr.exp23
-rw-r--r--helgrind/tests/hg02_deadlock.stdout.exp0
-rw-r--r--helgrind/tests/hg02_deadlock.vgtest1
-rw-r--r--helgrind/tests/hg03_inherit.c67
-rw-r--r--helgrind/tests/hg03_inherit.stderr.exp27
-rw-r--r--helgrind/tests/hg03_inherit.stdout.exp0
-rw-r--r--helgrind/tests/hg03_inherit.vgtest2
-rw-r--r--helgrind/tests/hg04_race.c27
-rw-r--r--helgrind/tests/hg04_race.stderr.exp34
-rw-r--r--helgrind/tests/hg04_race.stdout.exp0
-rw-r--r--helgrind/tests/hg04_race.vgtest2
-rw-r--r--helgrind/tests/hg05_race2.c35
-rw-r--r--helgrind/tests/hg05_race2.stderr.exp34
-rw-r--r--helgrind/tests/hg05_race2.stdout.exp0
-rw-r--r--helgrind/tests/hg05_race2.vgtest2
-rw-r--r--helgrind/tests/hg06_readshared.c33
-rw-r--r--helgrind/tests/hg06_readshared.stderr.exp3
-rw-r--r--helgrind/tests/hg06_readshared.stdout.exp0
-rw-r--r--helgrind/tests/hg06_readshared.vgtest1
-rw-r--r--helgrind/tests/pth_barrier1.stderr.exp20
-rw-r--r--helgrind/tests/pth_barrier1.stdout.exp0
-rw-r--r--helgrind/tests/pth_barrier1.vgtest4
-rw-r--r--helgrind/tests/pth_barrier2.stderr.exp299
-rw-r--r--helgrind/tests/pth_barrier2.stdout.exp0
-rw-r--r--helgrind/tests/pth_barrier2.vgtest4
-rw-r--r--helgrind/tests/pth_barrier3.stderr.exp20
-rw-r--r--helgrind/tests/pth_barrier3.stdout.exp0
-rw-r--r--helgrind/tests/pth_barrier3.vgtest4
-rw-r--r--helgrind/tests/rwlock_race.stderr.exp24
-rw-r--r--helgrind/tests/rwlock_race.stdout.exp0
-rw-r--r--helgrind/tests/rwlock_race.vgtest2
-rw-r--r--helgrind/tests/rwlock_test.stderr.exp4
-rw-r--r--helgrind/tests/rwlock_test.stdout.exp0
-rw-r--r--helgrind/tests/rwlock_test.vgtest1
-rw-r--r--helgrind/tests/tc01_simple_race.c36
-rw-r--r--helgrind/tests/tc01_simple_race.stderr.exp27
-rw-r--r--helgrind/tests/tc01_simple_race.stdout.exp0
-rw-r--r--helgrind/tests/tc01_simple_race.vgtest2
-rw-r--r--helgrind/tests/tc02_simple_tls.c39
-rw-r--r--helgrind/tests/tc02_simple_tls.stderr.exp3
-rw-r--r--helgrind/tests/tc02_simple_tls.stdout.exp0
-rw-r--r--helgrind/tests/tc02_simple_tls.vgtest1
-rw-r--r--helgrind/tests/tc03_re_excl.c44
-rw-r--r--helgrind/tests/tc03_re_excl.stderr.exp3
-rw-r--r--helgrind/tests/tc03_re_excl.stdout.exp0
-rw-r--r--helgrind/tests/tc03_re_excl.vgtest1
-rw-r--r--helgrind/tests/tc04_free_lock.c50
-rw-r--r--helgrind/tests/tc04_free_lock.stderr.exp7
-rw-r--r--helgrind/tests/tc04_free_lock.stdout.exp0
-rw-r--r--helgrind/tests/tc04_free_lock.vgtest1
-rw-r--r--helgrind/tests/tc05_simple_race.c44
-rw-r--r--helgrind/tests/tc05_simple_race.stderr.exp27
-rw-r--r--helgrind/tests/tc05_simple_race.stdout.exp0
-rw-r--r--helgrind/tests/tc05_simple_race.vgtest2
-rw-r--r--helgrind/tests/tc06_two_races.c43
-rw-r--r--helgrind/tests/tc06_two_races.stderr.exp45
-rw-r--r--helgrind/tests/tc06_two_races.stdout.exp0
-rw-r--r--helgrind/tests/tc06_two_races.vgtest2
-rw-r--r--helgrind/tests/tc07_hbl1.c77
-rw-r--r--helgrind/tests/tc07_hbl1.stderr.exp3
-rw-r--r--helgrind/tests/tc07_hbl1.stdout.exp1
-rw-r--r--helgrind/tests/tc07_hbl1.vgtest1
-rw-r--r--helgrind/tests/tc08_hbl2.c117
-rw-r--r--helgrind/tests/tc08_hbl2.stderr.exp3
-rw-r--r--helgrind/tests/tc08_hbl2.stdout.exp3
-rw-r--r--helgrind/tests/tc08_hbl2.vgtest1
-rw-r--r--helgrind/tests/tc09_bad_unlock.c52
-rw-r--r--helgrind/tests/tc09_bad_unlock.stderr.exp-glibc23-amd6480
-rw-r--r--helgrind/tests/tc09_bad_unlock.stderr.exp-glibc25-amd6490
-rw-r--r--helgrind/tests/tc09_bad_unlock.stderr.exp-glibc25-x8692
-rw-r--r--helgrind/tests/tc09_bad_unlock.stdout.exp0
-rw-r--r--helgrind/tests/tc09_bad_unlock.vgtest1
-rw-r--r--helgrind/tests/tc10_rec_lock.c49
-rw-r--r--helgrind/tests/tc10_rec_lock.stderr.exp26
-rw-r--r--helgrind/tests/tc10_rec_lock.stdout.exp0
-rw-r--r--helgrind/tests/tc10_rec_lock.vgtest1
-rw-r--r--helgrind/tests/tc11_XCHG.c112
-rw-r--r--helgrind/tests/tc11_XCHG.stderr.exp3
-rw-r--r--helgrind/tests/tc11_XCHG.stdout.exp1
-rw-r--r--helgrind/tests/tc11_XCHG.vgtest1
-rw-r--r--helgrind/tests/tc12_rwl_trivial.c34
-rw-r--r--helgrind/tests/tc12_rwl_trivial.stderr.exp11
-rw-r--r--helgrind/tests/tc12_rwl_trivial.stdout.exp0
-rw-r--r--helgrind/tests/tc12_rwl_trivial.vgtest1
-rw-r--r--helgrind/tests/tc13_laog1.c33
-rw-r--r--helgrind/tests/tc13_laog1.stderr.exp14
-rw-r--r--helgrind/tests/tc13_laog1.stdout.exp0
-rw-r--r--helgrind/tests/tc13_laog1.vgtest1
-rw-r--r--helgrind/tests/tc14_laog_dinphils.c42
-rw-r--r--helgrind/tests/tc14_laog_dinphils.stderr.exp13
-rw-r--r--helgrind/tests/tc14_laog_dinphils.stdout.exp0
-rw-r--r--helgrind/tests/tc14_laog_dinphils.vgtest1
-rw-r--r--helgrind/tests/tc15_laog_lockdel.c77
-rw-r--r--helgrind/tests/tc15_laog_lockdel.stderr.exp19
-rw-r--r--helgrind/tests/tc15_laog_lockdel.stdout.exp0
-rw-r--r--helgrind/tests/tc15_laog_lockdel.vgtest1
-rw-r--r--helgrind/tests/tc16_byterace.c42
-rw-r--r--helgrind/tests/tc16_byterace.stderr.exp27
-rw-r--r--helgrind/tests/tc16_byterace.stdout.exp0
-rw-r--r--helgrind/tests/tc16_byterace.vgtest2
-rw-r--r--helgrind/tests/tc17_sembar.c213
-rw-r--r--helgrind/tests/tc17_sembar.stderr.exp5
-rw-r--r--helgrind/tests/tc17_sembar.stdout.exp0
-rw-r--r--helgrind/tests/tc17_sembar.vgtest1
-rw-r--r--helgrind/tests/tc18_semabuse.c57
-rw-r--r--helgrind/tests/tc18_semabuse.stderr.exp-glibc25-amd6414
-rw-r--r--helgrind/tests/tc18_semabuse.stderr.exp-glibc28-amd6420
-rw-r--r--helgrind/tests/tc18_semabuse.stdout.exp0
-rw-r--r--helgrind/tests/tc18_semabuse.vgtest1
-rw-r--r--helgrind/tests/tc19_shadowmem.c2291
-rw-r--r--helgrind/tests/tc19_shadowmem.stderr.exp15304
-rw-r--r--helgrind/tests/tc19_shadowmem.stdout.exp0
-rw-r--r--helgrind/tests/tc19_shadowmem.vgtest2
-rw-r--r--helgrind/tests/tc20_verifywrap.c270
-rw-r--r--helgrind/tests/tc20_verifywrap.stderr.exp-glibc25-amd64154
-rw-r--r--helgrind/tests/tc20_verifywrap.stderr.exp-glibc27-amd64160
-rw-r--r--helgrind/tests/tc20_verifywrap.stdout.exp0
-rw-r--r--helgrind/tests/tc20_verifywrap.vgtest2
-rw-r--r--helgrind/tests/tc21_pthonce.c96
-rw-r--r--helgrind/tests/tc21_pthonce.stderr.exp34
-rw-r--r--helgrind/tests/tc21_pthonce.stdout.exp4
-rw-r--r--helgrind/tests/tc21_pthonce.vgtest2
-rw-r--r--helgrind/tests/tc22_exit_w_lock.c50
-rw-r--r--helgrind/tests/tc22_exit_w_lock.stderr.exp23
-rw-r--r--helgrind/tests/tc22_exit_w_lock.stdout.exp0
-rw-r--r--helgrind/tests/tc22_exit_w_lock.vgtest1
-rw-r--r--helgrind/tests/tc23_bogus_condwait.c86
-rw-r--r--helgrind/tests/tc23_bogus_condwait.stderr.exp20
-rw-r--r--helgrind/tests/tc23_bogus_condwait.stdout.exp0
-rw-r--r--helgrind/tests/tc23_bogus_condwait.vgtest1
-rw-r--r--helgrind/tests/tc24_nonzero_sem.c41
-rw-r--r--helgrind/tests/tc24_nonzero_sem.stderr.exp3
-rw-r--r--helgrind/tests/tc24_nonzero_sem.stdout.exp0
-rw-r--r--helgrind/tests/tc24_nonzero_sem.vgtest2
370 files changed, 46690 insertions, 0 deletions
diff --git a/helgrind/tests/.deps/bar_bad.Po b/helgrind/tests/.deps/bar_bad.Po
new file mode 100644
index 0000000..9ce06a8
--- /dev/null
+++ b/helgrind/tests/.deps/bar_bad.Po
@@ -0,0 +1 @@
+# dummy
diff --git a/helgrind/tests/.deps/bar_trivial.Po b/helgrind/tests/.deps/bar_trivial.Po
new file mode 100644
index 0000000..9ce06a8
--- /dev/null
+++ b/helgrind/tests/.deps/bar_trivial.Po
@@ -0,0 +1 @@
+# dummy
diff --git a/helgrind/tests/.deps/hg01_all_ok.Po b/helgrind/tests/.deps/hg01_all_ok.Po
new file mode 100644
index 0000000..9ce06a8
--- /dev/null
+++ b/helgrind/tests/.deps/hg01_all_ok.Po
@@ -0,0 +1 @@
+# dummy
diff --git a/helgrind/tests/.deps/hg02_deadlock.Po b/helgrind/tests/.deps/hg02_deadlock.Po
new file mode 100644
index 0000000..9ce06a8
--- /dev/null
+++ b/helgrind/tests/.deps/hg02_deadlock.Po
@@ -0,0 +1 @@
+# dummy
diff --git a/helgrind/tests/.deps/hg03_inherit.Po b/helgrind/tests/.deps/hg03_inherit.Po
new file mode 100644
index 0000000..9ce06a8
--- /dev/null
+++ b/helgrind/tests/.deps/hg03_inherit.Po
@@ -0,0 +1 @@
+# dummy
diff --git a/helgrind/tests/.deps/hg04_race.Po b/helgrind/tests/.deps/hg04_race.Po
new file mode 100644
index 0000000..9ce06a8
--- /dev/null
+++ b/helgrind/tests/.deps/hg04_race.Po
@@ -0,0 +1 @@
+# dummy
diff --git a/helgrind/tests/.deps/hg05_race2.Po b/helgrind/tests/.deps/hg05_race2.Po
new file mode 100644
index 0000000..9ce06a8
--- /dev/null
+++ b/helgrind/tests/.deps/hg05_race2.Po
@@ -0,0 +1 @@
+# dummy
diff --git a/helgrind/tests/.deps/hg06_readshared.Po b/helgrind/tests/.deps/hg06_readshared.Po
new file mode 100644
index 0000000..9ce06a8
--- /dev/null
+++ b/helgrind/tests/.deps/hg06_readshared.Po
@@ -0,0 +1 @@
+# dummy
diff --git a/helgrind/tests/.deps/tc01_simple_race.Po b/helgrind/tests/.deps/tc01_simple_race.Po
new file mode 100644
index 0000000..9ce06a8
--- /dev/null
+++ b/helgrind/tests/.deps/tc01_simple_race.Po
@@ -0,0 +1 @@
+# dummy
diff --git a/helgrind/tests/.deps/tc02_simple_tls.Po b/helgrind/tests/.deps/tc02_simple_tls.Po
new file mode 100644
index 0000000..9ce06a8
--- /dev/null
+++ b/helgrind/tests/.deps/tc02_simple_tls.Po
@@ -0,0 +1 @@
+# dummy
diff --git a/helgrind/tests/.deps/tc03_re_excl.Po b/helgrind/tests/.deps/tc03_re_excl.Po
new file mode 100644
index 0000000..9ce06a8
--- /dev/null
+++ b/helgrind/tests/.deps/tc03_re_excl.Po
@@ -0,0 +1 @@
+# dummy
diff --git a/helgrind/tests/.deps/tc04_free_lock.Po b/helgrind/tests/.deps/tc04_free_lock.Po
new file mode 100644
index 0000000..9ce06a8
--- /dev/null
+++ b/helgrind/tests/.deps/tc04_free_lock.Po
@@ -0,0 +1 @@
+# dummy
diff --git a/helgrind/tests/.deps/tc05_simple_race.Po b/helgrind/tests/.deps/tc05_simple_race.Po
new file mode 100644
index 0000000..9ce06a8
--- /dev/null
+++ b/helgrind/tests/.deps/tc05_simple_race.Po
@@ -0,0 +1 @@
+# dummy
diff --git a/helgrind/tests/.deps/tc06_two_races.Po b/helgrind/tests/.deps/tc06_two_races.Po
new file mode 100644
index 0000000..9ce06a8
--- /dev/null
+++ b/helgrind/tests/.deps/tc06_two_races.Po
@@ -0,0 +1 @@
+# dummy
diff --git a/helgrind/tests/.deps/tc07_hbl1.Po b/helgrind/tests/.deps/tc07_hbl1.Po
new file mode 100644
index 0000000..9ce06a8
--- /dev/null
+++ b/helgrind/tests/.deps/tc07_hbl1.Po
@@ -0,0 +1 @@
+# dummy
diff --git a/helgrind/tests/.deps/tc08_hbl2.Po b/helgrind/tests/.deps/tc08_hbl2.Po
new file mode 100644
index 0000000..9ce06a8
--- /dev/null
+++ b/helgrind/tests/.deps/tc08_hbl2.Po
@@ -0,0 +1 @@
+# dummy
diff --git a/helgrind/tests/.deps/tc09_bad_unlock.Po b/helgrind/tests/.deps/tc09_bad_unlock.Po
new file mode 100644
index 0000000..9ce06a8
--- /dev/null
+++ b/helgrind/tests/.deps/tc09_bad_unlock.Po
@@ -0,0 +1 @@
+# dummy
diff --git a/helgrind/tests/.deps/tc10_rec_lock.Po b/helgrind/tests/.deps/tc10_rec_lock.Po
new file mode 100644
index 0000000..9ce06a8
--- /dev/null
+++ b/helgrind/tests/.deps/tc10_rec_lock.Po
@@ -0,0 +1 @@
+# dummy
diff --git a/helgrind/tests/.deps/tc11_XCHG.Po b/helgrind/tests/.deps/tc11_XCHG.Po
new file mode 100644
index 0000000..9ce06a8
--- /dev/null
+++ b/helgrind/tests/.deps/tc11_XCHG.Po
@@ -0,0 +1 @@
+# dummy
diff --git a/helgrind/tests/.deps/tc12_rwl_trivial.Po b/helgrind/tests/.deps/tc12_rwl_trivial.Po
new file mode 100644
index 0000000..9ce06a8
--- /dev/null
+++ b/helgrind/tests/.deps/tc12_rwl_trivial.Po
@@ -0,0 +1 @@
+# dummy
diff --git a/helgrind/tests/.deps/tc13_laog1.Po b/helgrind/tests/.deps/tc13_laog1.Po
new file mode 100644
index 0000000..9ce06a8
--- /dev/null
+++ b/helgrind/tests/.deps/tc13_laog1.Po
@@ -0,0 +1 @@
+# dummy
diff --git a/helgrind/tests/.deps/tc14_laog_dinphils.Po b/helgrind/tests/.deps/tc14_laog_dinphils.Po
new file mode 100644
index 0000000..9ce06a8
--- /dev/null
+++ b/helgrind/tests/.deps/tc14_laog_dinphils.Po
@@ -0,0 +1 @@
+# dummy
diff --git a/helgrind/tests/.deps/tc15_laog_lockdel.Po b/helgrind/tests/.deps/tc15_laog_lockdel.Po
new file mode 100644
index 0000000..9ce06a8
--- /dev/null
+++ b/helgrind/tests/.deps/tc15_laog_lockdel.Po
@@ -0,0 +1 @@
+# dummy
diff --git a/helgrind/tests/.deps/tc16_byterace.Po b/helgrind/tests/.deps/tc16_byterace.Po
new file mode 100644
index 0000000..9ce06a8
--- /dev/null
+++ b/helgrind/tests/.deps/tc16_byterace.Po
@@ -0,0 +1 @@
+# dummy
diff --git a/helgrind/tests/.deps/tc17_sembar.Po b/helgrind/tests/.deps/tc17_sembar.Po
new file mode 100644
index 0000000..9ce06a8
--- /dev/null
+++ b/helgrind/tests/.deps/tc17_sembar.Po
@@ -0,0 +1 @@
+# dummy
diff --git a/helgrind/tests/.deps/tc18_semabuse.Po b/helgrind/tests/.deps/tc18_semabuse.Po
new file mode 100644
index 0000000..9ce06a8
--- /dev/null
+++ b/helgrind/tests/.deps/tc18_semabuse.Po
@@ -0,0 +1 @@
+# dummy
diff --git a/helgrind/tests/.deps/tc19_shadowmem.Po b/helgrind/tests/.deps/tc19_shadowmem.Po
new file mode 100644
index 0000000..9ce06a8
--- /dev/null
+++ b/helgrind/tests/.deps/tc19_shadowmem.Po
@@ -0,0 +1 @@
+# dummy
diff --git a/helgrind/tests/.deps/tc20_verifywrap.Po b/helgrind/tests/.deps/tc20_verifywrap.Po
new file mode 100644
index 0000000..9ce06a8
--- /dev/null
+++ b/helgrind/tests/.deps/tc20_verifywrap.Po
@@ -0,0 +1 @@
+# dummy
diff --git a/helgrind/tests/.deps/tc21_pthonce.Po b/helgrind/tests/.deps/tc21_pthonce.Po
new file mode 100644
index 0000000..9ce06a8
--- /dev/null
+++ b/helgrind/tests/.deps/tc21_pthonce.Po
@@ -0,0 +1 @@
+# dummy
diff --git a/helgrind/tests/.deps/tc22_exit_w_lock.Po b/helgrind/tests/.deps/tc22_exit_w_lock.Po
new file mode 100644
index 0000000..9ce06a8
--- /dev/null
+++ b/helgrind/tests/.deps/tc22_exit_w_lock.Po
@@ -0,0 +1 @@
+# dummy
diff --git a/helgrind/tests/.deps/tc23_bogus_condwait.Po b/helgrind/tests/.deps/tc23_bogus_condwait.Po
new file mode 100644
index 0000000..9ce06a8
--- /dev/null
+++ b/helgrind/tests/.deps/tc23_bogus_condwait.Po
@@ -0,0 +1 @@
+# dummy
diff --git a/helgrind/tests/.deps/tc24_nonzero_sem.Po b/helgrind/tests/.deps/tc24_nonzero_sem.Po
new file mode 100644
index 0000000..9ce06a8
--- /dev/null
+++ b/helgrind/tests/.deps/tc24_nonzero_sem.Po
@@ -0,0 +1 @@
+# dummy
diff --git a/helgrind/tests/.svn/dir-prop-base b/helgrind/tests/.svn/dir-prop-base
new file mode 100644
index 0000000..d2c720a
--- /dev/null
+++ b/helgrind/tests/.svn/dir-prop-base
@@ -0,0 +1,47 @@
+K 10
+svn:ignore
+V 571
+*.stderr.diff*
+*.stderr.out
+*.stdout.diff*
+*.stdout.out
+.deps
+bar_bad
+bar_trivial
+hg01_all_ok
+hg02_deadlock
+hg03_inherit
+hg04_race
+hg05_race2
+hg06_readshared
+Makefile
+Makefile.in
+pth_barrier
+rwlock_race
+rwlock_test
+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
+
+END
diff --git a/helgrind/tests/.svn/entries b/helgrind/tests/.svn/entries
new file mode 100644
index 0000000..cfb11cc
--- /dev/null
+++ b/helgrind/tests/.svn/entries
@@ -0,0 +1,1851 @@
+8
+
+dir
+9703
+svn://svn.valgrind.org/valgrind/trunk/helgrind/tests
+svn://svn.valgrind.org/valgrind
+
+
+
+2009-03-13T01:41:03.438271Z
+9389
+njn
+has-props
+
+svn:special svn:externals svn:needs-lock
+
+
+
+
+
+
+
+
+
+
+
+a5019735-40e9-0310-863c-91ae7b9d1cf9
+
+pth_barrier2.stderr.exp
+file
+
+
+
+
+2009-03-13T17:29:59.000000Z
+1b7af9f25be03ba7035cf3b4dc849028
+2009-03-13T01:41:03.438271Z
+9389
+njn
+has-props
+
+hg03_inherit.stderr.exp
+file
+
+
+
+
+2009-03-13T17:29:59.000000Z
+952c8f81ac14066719241a1e3999fbc6
+2009-03-13T01:41:03.438271Z
+9389
+njn
+has-props
+
+tc09_bad_unlock.c
+file
+
+
+
+
+2009-03-13T17:29:59.000000Z
+5b6a497779fd9e6f8fee30b6a2d35994
+2008-11-10T00:16:34.266218Z
+8753
+sewardj
+
+tc14_laog_dinphils.stdout.exp
+file
+
+
+
+
+2009-03-13T17:29:59.000000Z
+d41d8cd98f00b204e9800998ecf8427e
+2007-11-09T22:49:28.769147Z
+7116
+sewardj
+
+tc18_semabuse.c
+file
+
+
+
+
+2009-03-13T17:29:59.000000Z
+7cefd95cc7a7e5e1737afb93d58ab1f6
+2008-01-18T07:42:01.157538Z
+7354
+sewardj
+
+tc15_laog_lockdel.vgtest
+file
+
+
+
+
+2009-03-13T17:29:59.000000Z
+55775492a6223836247976300f951fcf
+2007-11-09T22:49:28.769147Z
+7116
+sewardj
+
+tc21_pthonce.stderr.exp
+file
+
+
+
+
+2009-03-13T17:29:59.000000Z
+ab85aa11d9b90e8b7710799cc872cfae
+2009-03-13T01:41:03.438271Z
+9389
+njn
+has-props
+
+tc17_sembar.c
+file
+
+
+
+
+2009-03-13T17:29:59.000000Z
+750229fa2bea226034ae90ce6b31693f
+2008-11-09T20:47:57.376987Z
+8750
+sewardj
+
+tc05_simple_race.stdout.exp
+file
+
+
+
+
+2009-03-13T17:29:59.000000Z
+d41d8cd98f00b204e9800998ecf8427e
+2007-11-09T22:49:28.769147Z
+7116
+sewardj
+
+pth_barrier1.stdout.exp
+file
+
+
+
+
+2009-03-13T17:29:59.000000Z
+d41d8cd98f00b204e9800998ecf8427e
+2008-11-14T19:43:44.407535Z
+8768
+sewardj
+
+tc04_free_lock.vgtest
+file
+
+
+
+
+2009-03-13T17:29:59.000000Z
+2aa519bbb4b8f0a391d62e78e9614633
+2007-11-09T22:49:28.769147Z
+7116
+sewardj
+
+tc08_hbl2.vgtest
+file
+
+
+
+
+2009-03-13T17:29:59.000000Z
+4c1da2d5aca8d18498b5df846bb6a5e3
+2007-11-09T22:49:28.769147Z
+7116
+sewardj
+
+tc18_semabuse.stderr.exp-glibc28-amd64
+file
+
+
+
+
+2009-03-13T17:29:59.000000Z
+b015fa006daeab4d27271741a6d67b25
+2008-12-18T20:21:13.504648Z
+8842
+sewardj
+
+tc20_verifywrap.vgtest
+file
+
+
+
+
+2009-03-13T17:29:59.000000Z
+6271a0b758842c08406983421e7120e0
+2008-12-21T10:44:28.988809Z
+8846
+sewardj
+
+tc16_byterace.vgtest
+file
+
+
+
+
+2009-03-13T17:29:59.000000Z
+d5d6727262759c71223a6cfde614d550
+2008-12-21T10:44:28.988809Z
+8846
+sewardj
+
+tc01_simple_race.stderr.exp
+file
+
+
+
+
+2009-03-13T17:29:59.000000Z
+9632bda9e27a9e5e0c553eeff8b22d10
+2009-03-13T01:41:03.438271Z
+9389
+njn
+has-props
+
+rwlock_race.stdout.exp
+file
+
+
+
+
+2009-03-13T17:29:59.000000Z
+d41d8cd98f00b204e9800998ecf8427e
+2008-11-10T02:01:17.565236Z
+8757
+sewardj
+
+hg04_race.stdout.exp
+file
+
+
+
+
+2009-03-13T17:29:59.000000Z
+d41d8cd98f00b204e9800998ecf8427e
+2007-11-09T22:49:28.769147Z
+7116
+sewardj
+
+tc02_simple_tls.stdout.exp
+file
+
+
+
+
+2009-03-13T17:29:59.000000Z
+d41d8cd98f00b204e9800998ecf8427e
+2007-11-09T22:49:28.769147Z
+7116
+sewardj
+
+tc07_hbl1.stderr.exp
+file
+
+
+
+
+2009-03-13T17:29:59.000000Z
+1bbc754ee00f2e2989cf97a1b497eed5
+2009-03-13T01:41:03.438271Z
+9389
+njn
+has-props
+
+tc19_shadowmem.stderr.exp
+file
+
+
+
+
+2009-03-13T17:29:59.000000Z
+1ed4aad928f0f583dd976290849f8813
+2009-03-13T01:41:03.438271Z
+9389
+njn
+has-props
+
+tc22_exit_w_lock.c
+file
+
+
+
+
+2009-03-13T17:29:59.000000Z
+7cf7d7d72e69af11952e8b45daf1e7a3
+2007-11-09T22:49:28.769147Z
+7116
+sewardj
+
+tc14_laog_dinphils.vgtest
+file
+
+
+
+
+2009-03-13T17:29:59.000000Z
+da11c4d7bf6aa3c703cf82cefbbe9d53
+2007-11-09T22:49:28.769147Z
+7116
+sewardj
+
+tc01_simple_race.vgtest
+file
+
+
+
+
+2009-03-13T17:29:59.000000Z
+7395d893dadd5e0d0e572be7e66313ea
+2008-12-21T10:44:28.988809Z
+8846
+sewardj
+
+bar_bad.c
+file
+
+
+
+
+2009-03-13T17:29:59.000000Z
+c307252f1cc6a73f35e5f8d4709848ca
+2008-11-16T23:25:43.378955Z
+8771
+sewardj
+
+tc09_bad_unlock.stderr.exp-glibc25-amd64
+file
+
+
+
+
+2009-03-13T17:29:59.000000Z
+72283273f1f37f590dd72c180d70fdf0
+2009-03-13T01:41:03.438271Z
+9389
+njn
+
+tc15_laog_lockdel.c
+file
+
+
+
+
+2009-03-13T17:29:59.000000Z
+4d0bb9f3b744c804578dccbf8d9e56ed
+2008-11-10T16:33:29.938781Z
+8761
+sewardj
+
+tc22_exit_w_lock.stderr.exp
+file
+
+
+
+
+2009-03-13T17:29:59.000000Z
+1ff35de71d8dee6a37c27187df2b3d53
+2009-03-13T01:41:03.438271Z
+9389
+njn
+has-props
+
+tc19_shadowmem.vgtest
+file
+
+
+
+
+2009-03-13T17:29:59.000000Z
+1823331dbc8905bc998a5b744c059bc9
+2007-11-09T22:49:28.769147Z
+7116
+sewardj
+
+tc04_free_lock.c
+file
+
+
+
+
+2009-03-13T17:29:59.000000Z
+960d90bcfffd977c99bad91a7a4690a3
+2007-11-09T22:49:28.769147Z
+7116
+sewardj
+
+tc10_rec_lock.stderr.exp
+file
+
+
+
+
+2009-03-13T17:29:59.000000Z
+f3d20c3145e6dad7b0ebefe680912005
+2009-03-13T01:41:03.438271Z
+9389
+njn
+has-props
+
+tc24_nonzero_sem.stdout.exp
+file
+
+
+
+
+2009-03-13T17:29:59.000000Z
+d41d8cd98f00b204e9800998ecf8427e
+2007-11-30T11:22:35.839393Z
+7254
+sewardj
+
+rwlock_race.vgtest
+file
+
+
+
+
+2009-03-13T17:29:59.000000Z
+27cf9f1f507b5561847d4a5673d1e018
+2009-02-20T19:00:18.724987Z
+9206
+bart
+
+hg02_deadlock.c
+file
+
+
+
+
+2009-03-13T17:29:59.000000Z
+2b797898e633ab43252f30bcb9c9aa18
+2007-11-09T22:49:28.769147Z
+7116
+sewardj
+
+filter_stderr
+file
+
+
+
+
+2009-03-13T17:29:59.000000Z
+84ff862bf2681b40f86e1dcc14cd774e
+2009-03-13T01:41:03.438271Z
+9389
+njn
+has-props
+
+tc13_laog1.stdout.exp
+file
+
+
+
+
+2009-03-13T17:29:59.000000Z
+d41d8cd98f00b204e9800998ecf8427e
+2007-11-09T22:49:28.769147Z
+7116
+sewardj
+
+tc16_byterace.c
+file
+
+
+
+
+2009-03-13T17:29:59.000000Z
+0ffbd36fe144af5b98fb00e774acff80
+2008-11-09T20:47:57.376987Z
+8750
+sewardj
+
+hg04_race.c
+file
+
+
+
+
+2009-03-13T17:29:59.000000Z
+d5e24fabe302aa1576f12360d33e936c
+2007-11-09T22:49:28.769147Z
+7116
+sewardj
+
+hg01_all_ok.stderr.exp
+file
+
+
+
+
+2009-03-13T17:29:59.000000Z
+1bbc754ee00f2e2989cf97a1b497eed5
+2009-03-13T01:41:03.438271Z
+9389
+njn
+has-props
+
+tc13_laog1.c
+file
+
+
+
+
+2009-03-13T17:29:59.000000Z
+c913a1f7c95403e37aa2c4d63812fbdb
+2007-11-09T22:49:28.769147Z
+7116
+sewardj
+
+tc02_simple_tls.vgtest
+file
+
+
+
+
+2009-03-13T17:29:59.000000Z
+fb5bdfc9d1f973c44d1e82ac27365489
+2007-11-09T22:49:28.769147Z
+7116
+sewardj
+
+tc17_sembar.stdout.exp
+file
+
+
+
+
+2009-03-13T17:29:59.000000Z
+d41d8cd98f00b204e9800998ecf8427e
+2007-11-09T22:49:28.769147Z
+7116
+sewardj
+
+tc20_verifywrap.stderr.exp-glibc27-amd64
+file
+
+
+
+
+2009-03-13T17:29:59.000000Z
+5d620228838693a99cc36162c3f61b52
+2009-03-13T01:41:03.438271Z
+9389
+njn
+
+tc10_rec_lock.vgtest
+file
+
+
+
+
+2009-03-13T17:29:59.000000Z
+f656bdc3b89cb00c8b2d310f985db938
+2007-11-09T22:49:28.769147Z
+7116
+sewardj
+
+hg06_readshared.stderr.exp
+file
+
+
+
+
+2009-03-13T17:29:59.000000Z
+1bbc754ee00f2e2989cf97a1b497eed5
+2009-03-13T01:41:03.438271Z
+9389
+njn
+has-props
+
+tc12_rwl_trivial.stderr.exp
+file
+
+
+
+
+2009-03-13T17:29:59.000000Z
+13efd0f73e8d898952e067a84d1f70e6
+2009-03-13T01:41:03.438271Z
+9389
+njn
+has-props
+
+tc10_rec_lock.c
+file
+
+
+
+
+2009-03-13T17:29:59.000000Z
+ac5e07711d9f2c7215d139119ff1db4a
+2007-11-09T22:49:28.769147Z
+7116
+sewardj
+
+tc03_re_excl.c
+file
+
+
+
+
+2009-03-13T17:29:59.000000Z
+fb449a56f35b04fa176caae304dd6919
+2007-11-09T22:49:28.769147Z
+7116
+sewardj
+
+hg01_all_ok.vgtest
+file
+
+
+
+
+2009-03-13T17:29:59.000000Z
+b6f85650d92ffd2399815f00895c529e
+2007-11-09T22:49:28.769147Z
+7116
+sewardj
+
+tc11_XCHG.stdout.exp
+file
+
+
+
+
+2009-03-13T17:29:59.000000Z
+ae780585f49b94ce1444eb7d28906123
+2007-11-09T22:49:28.769147Z
+7116
+sewardj
+
+hg06_readshared.vgtest
+file
+
+
+
+
+2009-03-13T17:29:59.000000Z
+68d0e4db4f9e179451dcee111c52e3c8
+2007-11-09T22:49:28.769147Z
+7116
+sewardj
+
+hg01_all_ok.c
+file
+
+
+
+
+2009-03-13T17:29:59.000000Z
+736c44bac02dbe1adbd3177157432a08
+2007-11-09T22:49:28.769147Z
+7116
+sewardj
+
+hg02_deadlock.stdout.exp
+file
+
+
+
+
+2009-03-13T17:29:59.000000Z
+d41d8cd98f00b204e9800998ecf8427e
+2007-11-09T22:49:28.769147Z
+7116
+sewardj
+
+tc06_two_races.c
+file
+
+
+
+
+2009-03-13T17:29:59.000000Z
+8b2a0bbaa6418c408e789da2aee9e567
+2008-11-09T20:47:57.376987Z
+8750
+sewardj
+
+tc09_bad_unlock.stderr.exp-glibc25-x86
+file
+
+
+
+
+2009-03-13T17:29:59.000000Z
+5f3deb329b8755082356f057c5a55ac0
+2009-03-13T01:41:03.438271Z
+9389
+njn
+
+tc20_verifywrap.c
+file
+
+
+
+
+2009-03-13T17:29:59.000000Z
+611e104f51cdb0c4077c65e1506950b1
+2008-02-27T15:38:10.186093Z
+7488
+bart
+
+bar_bad.stderr.exp
+file
+
+
+
+
+2009-03-13T17:29:59.000000Z
+050f5cb7aa3c46884e36b1e5db14ba6e
+2009-03-13T01:41:03.438271Z
+9389
+njn
+has-props
+
+tc13_laog1.vgtest
+file
+
+
+
+
+2009-03-13T17:29:59.000000Z
+d5833d4dcf7ced314f5537b37cde5d77
+2007-11-09T22:49:28.769147Z
+7116
+sewardj
+
+tc09_bad_unlock.stdout.exp
+file
+
+
+
+
+2009-03-13T17:29:59.000000Z
+d41d8cd98f00b204e9800998ecf8427e
+2007-11-09T22:49:28.769147Z
+7116
+sewardj
+
+hg05_race2.stderr.exp
+file
+
+
+
+
+2009-03-13T17:29:59.000000Z
+2c04f1b764316699a2413489e69d5fb3
+2009-03-13T01:41:03.438271Z
+9389
+njn
+has-props
+
+pth_barrier3.stderr.exp
+file
+
+
+
+
+2009-03-13T17:29:59.000000Z
+8205c822fa7c4bf9d72ca058c5c8c46e
+2009-03-13T01:41:03.438271Z
+9389
+njn
+has-props
+
+tc17_sembar.vgtest
+file
+
+
+
+
+2009-03-13T17:29:59.000000Z
+97998a3dee1ecf75ceb80b91c931e688
+2007-11-09T22:49:28.769147Z
+7116
+sewardj
+
+tc23_bogus_condwait.c
+file
+
+
+
+
+2009-03-13T17:29:59.000000Z
+d1be7f31c057c7cccb4d899cefefaf88
+2007-11-09T22:49:28.769147Z
+7116
+sewardj
+
+tc02_simple_tls.c
+file
+
+
+
+
+2009-03-13T17:29:59.000000Z
+4f6f9e3e29fa198f36c02f958915714b
+2007-11-09T22:49:28.769147Z
+7116
+sewardj
+
+bar_bad.vgtest
+file
+
+
+
+
+2009-03-13T17:29:59.000000Z
+05583b47d2cf0b773f02192da888b82c
+2009-01-23T04:14:33.153795Z
+9045
+njn
+
+bar_trivial.stderr.exp
+file
+
+
+
+
+2009-03-13T17:29:59.000000Z
+d41d8cd98f00b204e9800998ecf8427e
+2009-03-13T01:41:03.438271Z
+9389
+njn
+has-props
+
+tc11_XCHG.vgtest
+file
+
+
+
+
+2009-03-13T17:29:59.000000Z
+8ba953ca779ceb61cc07c03096d07cc0
+2007-11-09T22:49:28.769147Z
+7116
+sewardj
+
+rwlock_test.stderr.exp
+file
+
+
+
+
+2009-03-13T17:29:59.000000Z
+e40cdd565bddbe63b9f4c09b5eef3a3e
+2009-03-13T01:41:03.438271Z
+9389
+njn
+has-props
+
+pth_barrier3.vgtest
+file
+
+
+
+
+2009-03-13T17:29:59.000000Z
+e94c3652156bfa51eb8e387bc5ba9a4b
+2009-02-20T19:00:18.724987Z
+9206
+bart
+
+pth_barrier2.stdout.exp
+file
+
+
+
+
+2009-03-13T17:29:59.000000Z
+d41d8cd98f00b204e9800998ecf8427e
+2008-11-14T19:43:44.407535Z
+8768
+sewardj
+
+hg03_inherit.stdout.exp
+file
+
+
+
+
+2009-03-13T17:29:59.000000Z
+d41d8cd98f00b204e9800998ecf8427e
+2007-11-09T22:49:28.769147Z
+7116
+sewardj
+
+tc20_verifywrap.stdout.exp
+file
+
+
+
+
+2009-03-13T17:29:59.000000Z
+d41d8cd98f00b204e9800998ecf8427e
+2007-11-09T22:49:28.769147Z
+7116
+sewardj
+
+tc21_pthonce.stdout.exp
+file
+
+
+
+
+2009-03-13T17:29:59.000000Z
+1904fe10f5ba3740b22997790885897b
+2007-11-09T22:49:28.769147Z
+7116
+sewardj
+
+tc03_re_excl.stderr.exp
+file
+
+
+
+
+2009-03-13T17:29:59.000000Z
+1bbc754ee00f2e2989cf97a1b497eed5
+2009-03-13T01:41:03.438271Z
+9389
+njn
+has-props
+
+tc15_laog_lockdel.stderr.exp
+file
+
+
+
+
+2009-03-13T17:29:59.000000Z
+afe627f79faa605150a91f7ed9063096
+2009-03-13T01:41:03.438271Z
+9389
+njn
+has-props
+
+tc12_rwl_trivial.c
+file
+
+
+
+
+2009-03-13T17:29:59.000000Z
+61c66b00c51713c8cfa36059e9207a8b
+2007-11-09T22:49:28.769147Z
+7116
+sewardj
+
+bar_trivial.vgtest
+file
+
+
+
+
+2009-03-13T17:29:59.000000Z
+f751eb62036941a2b4680662ea2b5ab5
+2009-01-23T04:14:33.153795Z
+9045
+njn
+
+Makefile.am
+file
+
+
+
+
+2009-03-13T17:29:59.000000Z
+a7090d578ea05e0c7bf4cbaf89cebc5f
+2009-03-13T01:41:03.438271Z
+9389
+njn
+
+rwlock_test.vgtest
+file
+
+
+
+
+2009-03-13T17:29:59.000000Z
+b108b7a0943eb853df2209239bd143dc
+2009-02-20T19:00:18.724987Z
+9206
+bart
+
+tc06_two_races.stderr.exp
+file
+
+
+
+
+2009-03-13T17:29:59.000000Z
+74b212529d244b78088255109869494b
+2009-03-13T01:41:03.438271Z
+9389
+njn
+has-props
+
+tc04_free_lock.stderr.exp
+file
+
+
+
+
+2009-03-13T17:29:59.000000Z
+743c0160253e034652b487f22b7e1859
+2009-03-13T01:41:03.438271Z
+9389
+njn
+has-props
+
+tc08_hbl2.stderr.exp
+file
+
+
+
+
+2009-03-13T17:29:59.000000Z
+1bbc754ee00f2e2989cf97a1b497eed5
+2009-03-13T01:41:03.438271Z
+9389
+njn
+has-props
+
+tc03_re_excl.vgtest
+file
+
+
+
+
+2009-03-13T17:29:59.000000Z
+270857e60a716dc63d27f329e4d63f89
+2007-11-09T22:49:28.769147Z
+7116
+sewardj
+
+tc01_simple_race.stdout.exp
+file
+
+
+
+
+2009-03-13T17:29:59.000000Z
+d41d8cd98f00b204e9800998ecf8427e
+2007-11-09T22:49:28.769147Z
+7116
+sewardj
+
+tc16_byterace.stderr.exp
+file
+
+
+
+
+2009-03-13T17:29:59.000000Z
+5cfad24ddce93dcc11c0eca82b619ab8
+2009-03-13T01:41:03.438271Z
+9389
+njn
+has-props
+
+tc06_two_races.vgtest
+file
+
+
+
+
+2009-03-13T17:29:59.000000Z
+8bb1c08864a4ad4f25b3b7485953d5b1
+2008-12-21T10:44:28.988809Z
+8846
+sewardj
+
+pth_barrier2.vgtest
+file
+
+
+
+
+2009-03-13T17:29:59.000000Z
+b612884edafdf3a2ff1214388072d664
+2009-02-20T19:00:18.724987Z
+9206
+bart
+
+hg03_inherit.vgtest
+file
+
+
+
+
+2009-03-13T17:29:59.000000Z
+35ffa0200144e58808132d35f7b361f1
+2008-12-21T10:44:28.988809Z
+8846
+sewardj
+
+tc07_hbl1.stdout.exp
+file
+
+
+
+
+2009-03-13T17:29:59.000000Z
+3d688704cbbc6753b2002c94a2ad19ac
+2007-11-09T22:49:28.769147Z
+7116
+sewardj
+
+tc23_bogus_condwait.stderr.exp
+file
+
+
+
+
+2009-03-13T17:29:59.000000Z
+13102baea697869a7c8bed4534cf4b9e
+2009-03-13T01:41:03.438271Z
+9389
+njn
+has-props
+
+hg05_race2.c
+file
+
+
+
+
+2009-03-13T17:29:59.000000Z
+f0c347621fc422b53e2cecf02eeefcca
+2007-11-09T22:49:28.769147Z
+7116
+sewardj
+
+tc19_shadowmem.stdout.exp
+file
+
+
+
+
+2009-03-13T17:29:59.000000Z
+d41d8cd98f00b204e9800998ecf8427e
+2007-11-09T22:49:28.769147Z
+7116
+sewardj
+
+tc14_laog_dinphils.stderr.exp
+file
+
+
+
+
+2009-03-13T17:29:59.000000Z
+e3e8540154dba3187dc0654835e9a830
+2009-03-13T01:41:03.438271Z
+9389
+njn
+has-props
+
+tc21_pthonce.vgtest
+file
+
+
+
+
+2009-03-13T17:29:59.000000Z
+3fb697bc2dc1118b6852db11b6e00163
+2008-12-21T10:44:28.988809Z
+8846
+sewardj
+
+hg06_readshared.c
+file
+
+
+
+
+2009-03-13T17:29:59.000000Z
+99ead17122300c23f7d8b16d00acdd7b
+2007-11-09T22:49:28.769147Z
+7116
+sewardj
+
+tc24_nonzero_sem.c
+file
+
+
+
+
+2009-03-13T17:29:59.000000Z
+9d3744e3220ce9db7e617f933c164ce4
+2007-11-30T11:22:35.839393Z
+7254
+sewardj
+
+tc05_simple_race.stderr.exp
+file
+
+
+
+
+2009-03-13T17:29:59.000000Z
+9b1b44b52f0d628647f1f6db59e4370c
+2009-03-13T01:41:03.438271Z
+9389
+njn
+has-props
+
+tc23_bogus_condwait.vgtest
+file
+
+
+
+
+2009-03-13T17:29:59.000000Z
+4ed1fb2ee954a24999800d5d6cda92df
+2007-11-09T22:49:28.769147Z
+7116
+sewardj
+
+tc22_exit_w_lock.stdout.exp
+file
+
+
+
+
+2009-03-13T17:29:59.000000Z
+d41d8cd98f00b204e9800998ecf8427e
+2007-11-09T22:49:28.769147Z
+7116
+sewardj
+
+pth_barrier1.stderr.exp
+file
+
+
+
+
+2009-03-13T17:29:59.000000Z
+8205c822fa7c4bf9d72ca058c5c8c46e
+2009-03-13T01:41:03.438271Z
+9389
+njn
+has-props
+
+tc10_rec_lock.stdout.exp
+file
+
+
+
+
+2009-03-13T17:29:59.000000Z
+d41d8cd98f00b204e9800998ecf8427e
+2007-11-09T22:49:28.769147Z
+7116
+sewardj
+
+rwlock_race.stderr.exp
+file
+
+
+
+
+2009-03-13T17:29:59.000000Z
+e5f4c0b542d48a3371b6d88da06bcd6d
+2009-03-13T01:41:03.438271Z
+9389
+njn
+has-props
+
+hg04_race.stderr.exp
+file
+
+
+
+
+2009-03-13T17:29:59.000000Z
+bf9b2d4dd729b8ba6957d663aab5144f
+2009-03-13T01:41:03.438271Z
+9389
+njn
+has-props
+
+tc09_bad_unlock.stderr.exp-glibc23-amd64
+file
+
+
+
+
+2009-03-13T17:29:59.000000Z
+fdceb8faf037d8aac64e7d2fecb1ba88
+2009-03-13T01:41:03.438271Z
+9389
+njn
+
+tc05_simple_race.vgtest
+file
+
+
+
+
+2009-03-13T17:29:59.000000Z
+b5d8d331bd155f229278b1869134c5dc
+2008-12-21T10:44:28.988809Z
+8846
+sewardj
+
+hg01_all_ok.stdout.exp
+file
+
+
+
+
+2009-03-13T17:29:59.000000Z
+d41d8cd98f00b204e9800998ecf8427e
+2007-11-09T22:49:28.769147Z
+7116
+sewardj
+
+pth_barrier1.vgtest
+file
+
+
+
+
+2009-03-13T17:29:59.000000Z
+757544d669ba18211e206ed97c55df03
+2009-02-20T19:00:18.724987Z
+9206
+bart
+
+tc07_hbl1.vgtest
+file
+
+
+
+
+2009-03-13T17:29:59.000000Z
+e3df442b29e5644823863ebd953b0ed0
+2007-11-09T22:49:28.769147Z
+7116
+sewardj
+
+tc02_simple_tls.stderr.exp
+file
+
+
+
+
+2009-03-13T17:29:59.000000Z
+1bbc754ee00f2e2989cf97a1b497eed5
+2009-03-13T01:41:03.438271Z
+9389
+njn
+has-props
+
+hg06_readshared.stdout.exp
+file
+
+
+
+
+2009-03-13T17:29:59.000000Z
+d41d8cd98f00b204e9800998ecf8427e
+2007-11-09T22:49:28.769147Z
+7116
+sewardj
+
+tc12_rwl_trivial.stdout.exp
+file
+
+
+
+
+2009-03-13T17:29:59.000000Z
+d41d8cd98f00b204e9800998ecf8427e
+2007-11-09T22:49:28.769147Z
+7116
+sewardj
+
+hg03_inherit.c
+file
+
+
+
+
+2009-03-13T17:29:59.000000Z
+4ac977013a95a7adcf670447732dcff9
+2007-11-09T22:49:28.769147Z
+7116
+sewardj
+
+tc19_shadowmem.c
+file
+
+
+
+
+2009-03-13T17:29:59.000000Z
+69640055b739b0d5535546500d1628e7
+2008-11-09T23:31:19.959310Z
+8751
+sewardj
+
+hg04_race.vgtest
+file
+
+
+
+
+2009-03-13T17:29:59.000000Z
+67999332da85e37b5c1d20beeab2c3c8
+2008-12-21T10:44:28.988809Z
+8846
+sewardj
+
+tc22_exit_w_lock.vgtest
+file
+
+
+
+
+2009-03-13T17:29:59.000000Z
+2ac71c60d5fccb10dfc48a026b5fe879
+2007-11-09T22:49:28.769147Z
+7116
+sewardj
+
+tc18_semabuse.stdout.exp
+file
+
+
+
+
+2009-03-13T17:29:59.000000Z
+d41d8cd98f00b204e9800998ecf8427e
+2007-11-09T22:49:28.769147Z
+7116
+sewardj
+
+bar_trivial.c
+file
+
+
+
+
+2009-03-13T17:29:59.000000Z
+ce69eb82945c03c7ec1895316be34c91
+2009-03-11T11:09:35.921765Z
+9358
+bart
+
+tc20_verifywrap.stderr.exp-glibc25-amd64
+file
+
+
+
+
+2009-03-13T17:29:59.000000Z
+6c09bec63fea47fb152cc913a7f96862
+2009-03-13T01:41:03.438271Z
+9389
+njn
+
+bar_bad.stdout.exp
+file
+
+
+
+
+2009-03-13T17:29:59.000000Z
+d41d8cd98f00b204e9800998ecf8427e
+2008-11-14T19:43:44.407535Z
+8768
+sewardj
+
+tc24_nonzero_sem.stderr.exp
+file
+
+
+
+
+2009-03-13T17:29:59.000000Z
+1bbc754ee00f2e2989cf97a1b497eed5
+2009-03-13T01:41:03.438271Z
+9389
+njn
+has-props
+
+tc14_laog_dinphils.c
+file
+
+
+
+
+2009-03-13T17:29:59.000000Z
+68686e9e1f6c53f4664837eb44fc0ea0
+2007-11-09T22:49:28.769147Z
+7116
+sewardj
+
+tc13_laog1.stderr.exp
+file
+
+
+
+
+2009-03-13T17:29:59.000000Z
+9db33b67838f764324c5b3197b6d4674
+2009-03-13T01:41:03.438271Z
+9389
+njn
+has-props
+
+hg05_race2.stdout.exp
+file
+
+
+
+
+2009-03-13T17:29:59.000000Z
+d41d8cd98f00b204e9800998ecf8427e
+2007-11-09T22:49:28.769147Z
+7116
+sewardj
+
+tc18_semabuse.stderr.exp-glibc25-amd64
+file
+
+
+
+
+2009-03-13T17:29:59.000000Z
+77d2e3a21261d6a78d05791422d52236
+2008-12-19T09:46:17.861280Z
+8843
+sewardj
+
+pth_barrier3.stdout.exp
+file
+
+
+
+
+2009-03-13T17:29:59.000000Z
+d41d8cd98f00b204e9800998ecf8427e
+2008-11-14T19:43:44.407535Z
+8768
+sewardj
+
+tc12_rwl_trivial.vgtest
+file
+
+
+
+
+2009-03-13T17:29:59.000000Z
+084016ffe3fdbff6fd81be03f241086d
+2007-11-09T22:49:28.769147Z
+7116
+sewardj
+
+tc11_XCHG.c
+file
+
+
+
+
+2009-03-13T17:29:59.000000Z
+f163d1e7028c0b79b8d930cbf012fe00
+2008-10-21T23:12:56.767079Z
+8690
+sewardj
+
+tc07_hbl1.c
+file
+
+
+
+
+2009-03-13T17:29:59.000000Z
+14449d712a12078543754aa1c0ab29a6
+2007-11-27T11:23:55.576946Z
+7240
+sewardj
+
+tc17_sembar.stderr.exp
+file
+
+
+
+
+2009-03-13T17:29:59.000000Z
+fa44c6df49b7eb482bdd88c7c9eed2bd
+2009-03-13T01:41:03.438271Z
+9389
+njn
+has-props
+
+tc24_nonzero_sem.vgtest
+file
+
+
+
+
+2009-03-13T17:29:59.000000Z
+703df4753042085b1989753393caa00f
+2007-11-30T11:22:35.839393Z
+7254
+sewardj
+
+bar_trivial.stdout.exp
+file
+
+
+
+
+2009-03-13T17:29:59.000000Z
+3d688704cbbc6753b2002c94a2ad19ac
+2008-11-14T19:43:44.407535Z
+8768
+sewardj
+
+rwlock_test.stdout.exp
+file
+
+
+
+
+2009-03-13T17:29:59.000000Z
+d41d8cd98f00b204e9800998ecf8427e
+2008-11-10T02:01:17.565236Z
+8757
+sewardj
+
+tc18_semabuse.vgtest
+file
+
+
+
+
+2009-03-13T17:29:59.000000Z
+1c6a60887149d08a73b868a12e8013f2
+2007-11-09T22:49:28.769147Z
+7116
+sewardj
+
+tc11_XCHG.stderr.exp
+file
+
+
+
+
+2009-03-13T17:29:59.000000Z
+1bbc754ee00f2e2989cf97a1b497eed5
+2009-03-13T01:41:03.438271Z
+9389
+njn
+has-props
+
+hg02_deadlock.stderr.exp
+file
+
+
+
+
+2009-03-13T17:29:59.000000Z
+29810adf964e28b9af0ce938adb5c54e
+2009-03-13T01:41:03.438271Z
+9389
+njn
+has-props
+
+tc03_re_excl.stdout.exp
+file
+
+
+
+
+2009-03-13T17:29:59.000000Z
+d41d8cd98f00b204e9800998ecf8427e
+2007-11-09T22:49:28.769147Z
+7116
+sewardj
+
+tc15_laog_lockdel.stdout.exp
+file
+
+
+
+
+2009-03-13T17:29:59.000000Z
+d41d8cd98f00b204e9800998ecf8427e
+2007-11-09T22:49:28.769147Z
+7116
+sewardj
+
+hg05_race2.vgtest
+file
+
+
+
+
+2009-03-13T17:29:59.000000Z
+7f590c082f8683cd7d88cc25d686d238
+2008-12-21T10:44:28.988809Z
+8846
+sewardj
+
+tc01_simple_race.c
+file
+
+
+
+
+2009-03-13T17:29:59.000000Z
+ee74acc9a7901bf654d7f9c39d27d3d3
+2007-11-09T22:49:28.769147Z
+7116
+sewardj
+
+tc06_two_races.stdout.exp
+file
+
+
+
+
+2009-03-13T17:29:59.000000Z
+d41d8cd98f00b204e9800998ecf8427e
+2007-11-09T22:49:28.769147Z
+7116
+sewardj
+
+tc05_simple_race.c
+file
+
+
+
+
+2009-03-13T17:29:59.000000Z
+64af75796898373d2d49edcd19e09a70
+2007-11-09T22:49:28.769147Z
+7116
+sewardj
+
+tc04_free_lock.stdout.exp
+file
+
+
+
+
+2009-03-13T17:29:59.000000Z
+d41d8cd98f00b204e9800998ecf8427e
+2007-11-09T22:49:28.769147Z
+7116
+sewardj
+
+hg02_deadlock.vgtest
+file
+
+
+
+
+2009-03-13T17:29:59.000000Z
+6f5475e884257cb4535635a84812463b
+2007-11-09T22:49:28.769147Z
+7116
+sewardj
+
+tc08_hbl2.stdout.exp
+file
+
+
+
+
+2009-03-13T17:29:59.000000Z
+8cc27649f5b0eee154019e6497272aa1
+2007-11-09T22:49:28.769147Z
+7116
+sewardj
+
+tc08_hbl2.c
+file
+
+
+
+
+2009-03-13T17:29:59.000000Z
+0524f678f4072de39f6a1343f4bbc0e4
+2007-11-27T11:23:55.576946Z
+7240
+sewardj
+
+tc16_byterace.stdout.exp
+file
+
+
+
+
+2009-03-13T17:29:59.000000Z
+d41d8cd98f00b204e9800998ecf8427e
+2007-11-09T22:49:28.769147Z
+7116
+sewardj
+
+tc21_pthonce.c
+file
+
+
+
+
+2009-03-13T17:29:59.000000Z
+723e24d672397a41f139dfa766f46f80
+2007-11-09T22:49:28.769147Z
+7116
+sewardj
+
+tc09_bad_unlock.vgtest
+file
+
+
+
+
+2009-03-13T17:29:59.000000Z
+9e470acf9d21ca24b0a3e634859a5e3b
+2007-11-09T22:49:28.769147Z
+7116
+sewardj
+
+tc23_bogus_condwait.stdout.exp
+file
+
+
+
+
+2009-03-13T17:29:59.000000Z
+d41d8cd98f00b204e9800998ecf8427e
+2007-11-09T22:49:28.769147Z
+7116
+sewardj
+
diff --git a/helgrind/tests/.svn/format b/helgrind/tests/.svn/format
new file mode 100644
index 0000000..45a4fb7
--- /dev/null
+++ b/helgrind/tests/.svn/format
@@ -0,0 +1 @@
+8
diff --git a/helgrind/tests/.svn/prop-base/bar_bad.stderr.exp.svn-base b/helgrind/tests/.svn/prop-base/bar_bad.stderr.exp.svn-base
new file mode 100644
index 0000000..3160658
--- /dev/null
+++ b/helgrind/tests/.svn/prop-base/bar_bad.stderr.exp.svn-base
@@ -0,0 +1,5 @@
+K 13
+svn:mergeinfo
+V 0
+
+END
diff --git a/helgrind/tests/.svn/prop-base/bar_trivial.stderr.exp.svn-base b/helgrind/tests/.svn/prop-base/bar_trivial.stderr.exp.svn-base
new file mode 100644
index 0000000..3160658
--- /dev/null
+++ b/helgrind/tests/.svn/prop-base/bar_trivial.stderr.exp.svn-base
@@ -0,0 +1,5 @@
+K 13
+svn:mergeinfo
+V 0
+
+END
diff --git a/helgrind/tests/.svn/prop-base/filter_stderr.svn-base b/helgrind/tests/.svn/prop-base/filter_stderr.svn-base
new file mode 100644
index 0000000..869ac71
--- /dev/null
+++ b/helgrind/tests/.svn/prop-base/filter_stderr.svn-base
@@ -0,0 +1,5 @@
+K 14
+svn:executable
+V 1
+*
+END
diff --git a/helgrind/tests/.svn/prop-base/hg01_all_ok.stderr.exp.svn-base b/helgrind/tests/.svn/prop-base/hg01_all_ok.stderr.exp.svn-base
new file mode 100644
index 0000000..3160658
--- /dev/null
+++ b/helgrind/tests/.svn/prop-base/hg01_all_ok.stderr.exp.svn-base
@@ -0,0 +1,5 @@
+K 13
+svn:mergeinfo
+V 0
+
+END
diff --git a/helgrind/tests/.svn/prop-base/hg02_deadlock.stderr.exp.svn-base b/helgrind/tests/.svn/prop-base/hg02_deadlock.stderr.exp.svn-base
new file mode 100644
index 0000000..3160658
--- /dev/null
+++ b/helgrind/tests/.svn/prop-base/hg02_deadlock.stderr.exp.svn-base
@@ -0,0 +1,5 @@
+K 13
+svn:mergeinfo
+V 0
+
+END
diff --git a/helgrind/tests/.svn/prop-base/hg03_inherit.stderr.exp.svn-base b/helgrind/tests/.svn/prop-base/hg03_inherit.stderr.exp.svn-base
new file mode 100644
index 0000000..3160658
--- /dev/null
+++ b/helgrind/tests/.svn/prop-base/hg03_inherit.stderr.exp.svn-base
@@ -0,0 +1,5 @@
+K 13
+svn:mergeinfo
+V 0
+
+END
diff --git a/helgrind/tests/.svn/prop-base/hg04_race.stderr.exp.svn-base b/helgrind/tests/.svn/prop-base/hg04_race.stderr.exp.svn-base
new file mode 100644
index 0000000..3160658
--- /dev/null
+++ b/helgrind/tests/.svn/prop-base/hg04_race.stderr.exp.svn-base
@@ -0,0 +1,5 @@
+K 13
+svn:mergeinfo
+V 0
+
+END
diff --git a/helgrind/tests/.svn/prop-base/hg05_race2.stderr.exp.svn-base b/helgrind/tests/.svn/prop-base/hg05_race2.stderr.exp.svn-base
new file mode 100644
index 0000000..3160658
--- /dev/null
+++ b/helgrind/tests/.svn/prop-base/hg05_race2.stderr.exp.svn-base
@@ -0,0 +1,5 @@
+K 13
+svn:mergeinfo
+V 0
+
+END
diff --git a/helgrind/tests/.svn/prop-base/hg06_readshared.stderr.exp.svn-base b/helgrind/tests/.svn/prop-base/hg06_readshared.stderr.exp.svn-base
new file mode 100644
index 0000000..3160658
--- /dev/null
+++ b/helgrind/tests/.svn/prop-base/hg06_readshared.stderr.exp.svn-base
@@ -0,0 +1,5 @@
+K 13
+svn:mergeinfo
+V 0
+
+END
diff --git a/helgrind/tests/.svn/prop-base/pth_barrier1.stderr.exp.svn-base b/helgrind/tests/.svn/prop-base/pth_barrier1.stderr.exp.svn-base
new file mode 100644
index 0000000..3160658
--- /dev/null
+++ b/helgrind/tests/.svn/prop-base/pth_barrier1.stderr.exp.svn-base
@@ -0,0 +1,5 @@
+K 13
+svn:mergeinfo
+V 0
+
+END
diff --git a/helgrind/tests/.svn/prop-base/pth_barrier2.stderr.exp.svn-base b/helgrind/tests/.svn/prop-base/pth_barrier2.stderr.exp.svn-base
new file mode 100644
index 0000000..3160658
--- /dev/null
+++ b/helgrind/tests/.svn/prop-base/pth_barrier2.stderr.exp.svn-base
@@ -0,0 +1,5 @@
+K 13
+svn:mergeinfo
+V 0
+
+END
diff --git a/helgrind/tests/.svn/prop-base/pth_barrier3.stderr.exp.svn-base b/helgrind/tests/.svn/prop-base/pth_barrier3.stderr.exp.svn-base
new file mode 100644
index 0000000..3160658
--- /dev/null
+++ b/helgrind/tests/.svn/prop-base/pth_barrier3.stderr.exp.svn-base
@@ -0,0 +1,5 @@
+K 13
+svn:mergeinfo
+V 0
+
+END
diff --git a/helgrind/tests/.svn/prop-base/rwlock_race.stderr.exp.svn-base b/helgrind/tests/.svn/prop-base/rwlock_race.stderr.exp.svn-base
new file mode 100644
index 0000000..3160658
--- /dev/null
+++ b/helgrind/tests/.svn/prop-base/rwlock_race.stderr.exp.svn-base
@@ -0,0 +1,5 @@
+K 13
+svn:mergeinfo
+V 0
+
+END
diff --git a/helgrind/tests/.svn/prop-base/rwlock_test.stderr.exp.svn-base b/helgrind/tests/.svn/prop-base/rwlock_test.stderr.exp.svn-base
new file mode 100644
index 0000000..3160658
--- /dev/null
+++ b/helgrind/tests/.svn/prop-base/rwlock_test.stderr.exp.svn-base
@@ -0,0 +1,5 @@
+K 13
+svn:mergeinfo
+V 0
+
+END
diff --git a/helgrind/tests/.svn/prop-base/tc01_simple_race.stderr.exp.svn-base b/helgrind/tests/.svn/prop-base/tc01_simple_race.stderr.exp.svn-base
new file mode 100644
index 0000000..3160658
--- /dev/null
+++ b/helgrind/tests/.svn/prop-base/tc01_simple_race.stderr.exp.svn-base
@@ -0,0 +1,5 @@
+K 13
+svn:mergeinfo
+V 0
+
+END
diff --git a/helgrind/tests/.svn/prop-base/tc02_simple_tls.stderr.exp.svn-base b/helgrind/tests/.svn/prop-base/tc02_simple_tls.stderr.exp.svn-base
new file mode 100644
index 0000000..3160658
--- /dev/null
+++ b/helgrind/tests/.svn/prop-base/tc02_simple_tls.stderr.exp.svn-base
@@ -0,0 +1,5 @@
+K 13
+svn:mergeinfo
+V 0
+
+END
diff --git a/helgrind/tests/.svn/prop-base/tc03_re_excl.stderr.exp.svn-base b/helgrind/tests/.svn/prop-base/tc03_re_excl.stderr.exp.svn-base
new file mode 100644
index 0000000..3160658
--- /dev/null
+++ b/helgrind/tests/.svn/prop-base/tc03_re_excl.stderr.exp.svn-base
@@ -0,0 +1,5 @@
+K 13
+svn:mergeinfo
+V 0
+
+END
diff --git a/helgrind/tests/.svn/prop-base/tc04_free_lock.stderr.exp.svn-base b/helgrind/tests/.svn/prop-base/tc04_free_lock.stderr.exp.svn-base
new file mode 100644
index 0000000..3160658
--- /dev/null
+++ b/helgrind/tests/.svn/prop-base/tc04_free_lock.stderr.exp.svn-base
@@ -0,0 +1,5 @@
+K 13
+svn:mergeinfo
+V 0
+
+END
diff --git a/helgrind/tests/.svn/prop-base/tc05_simple_race.stderr.exp.svn-base b/helgrind/tests/.svn/prop-base/tc05_simple_race.stderr.exp.svn-base
new file mode 100644
index 0000000..3160658
--- /dev/null
+++ b/helgrind/tests/.svn/prop-base/tc05_simple_race.stderr.exp.svn-base
@@ -0,0 +1,5 @@
+K 13
+svn:mergeinfo
+V 0
+
+END
diff --git a/helgrind/tests/.svn/prop-base/tc06_two_races.stderr.exp.svn-base b/helgrind/tests/.svn/prop-base/tc06_two_races.stderr.exp.svn-base
new file mode 100644
index 0000000..3160658
--- /dev/null
+++ b/helgrind/tests/.svn/prop-base/tc06_two_races.stderr.exp.svn-base
@@ -0,0 +1,5 @@
+K 13
+svn:mergeinfo
+V 0
+
+END
diff --git a/helgrind/tests/.svn/prop-base/tc07_hbl1.stderr.exp.svn-base b/helgrind/tests/.svn/prop-base/tc07_hbl1.stderr.exp.svn-base
new file mode 100644
index 0000000..3160658
--- /dev/null
+++ b/helgrind/tests/.svn/prop-base/tc07_hbl1.stderr.exp.svn-base
@@ -0,0 +1,5 @@
+K 13
+svn:mergeinfo
+V 0
+
+END
diff --git a/helgrind/tests/.svn/prop-base/tc08_hbl2.stderr.exp.svn-base b/helgrind/tests/.svn/prop-base/tc08_hbl2.stderr.exp.svn-base
new file mode 100644
index 0000000..3160658
--- /dev/null
+++ b/helgrind/tests/.svn/prop-base/tc08_hbl2.stderr.exp.svn-base
@@ -0,0 +1,5 @@
+K 13
+svn:mergeinfo
+V 0
+
+END
diff --git a/helgrind/tests/.svn/prop-base/tc10_rec_lock.stderr.exp.svn-base b/helgrind/tests/.svn/prop-base/tc10_rec_lock.stderr.exp.svn-base
new file mode 100644
index 0000000..3160658
--- /dev/null
+++ b/helgrind/tests/.svn/prop-base/tc10_rec_lock.stderr.exp.svn-base
@@ -0,0 +1,5 @@
+K 13
+svn:mergeinfo
+V 0
+
+END
diff --git a/helgrind/tests/.svn/prop-base/tc11_XCHG.stderr.exp.svn-base b/helgrind/tests/.svn/prop-base/tc11_XCHG.stderr.exp.svn-base
new file mode 100644
index 0000000..3160658
--- /dev/null
+++ b/helgrind/tests/.svn/prop-base/tc11_XCHG.stderr.exp.svn-base
@@ -0,0 +1,5 @@
+K 13
+svn:mergeinfo
+V 0
+
+END
diff --git a/helgrind/tests/.svn/prop-base/tc12_rwl_trivial.stderr.exp.svn-base b/helgrind/tests/.svn/prop-base/tc12_rwl_trivial.stderr.exp.svn-base
new file mode 100644
index 0000000..3160658
--- /dev/null
+++ b/helgrind/tests/.svn/prop-base/tc12_rwl_trivial.stderr.exp.svn-base
@@ -0,0 +1,5 @@
+K 13
+svn:mergeinfo
+V 0
+
+END
diff --git a/helgrind/tests/.svn/prop-base/tc13_laog1.stderr.exp.svn-base b/helgrind/tests/.svn/prop-base/tc13_laog1.stderr.exp.svn-base
new file mode 100644
index 0000000..3160658
--- /dev/null
+++ b/helgrind/tests/.svn/prop-base/tc13_laog1.stderr.exp.svn-base
@@ -0,0 +1,5 @@
+K 13
+svn:mergeinfo
+V 0
+
+END
diff --git a/helgrind/tests/.svn/prop-base/tc14_laog_dinphils.stderr.exp.svn-base b/helgrind/tests/.svn/prop-base/tc14_laog_dinphils.stderr.exp.svn-base
new file mode 100644
index 0000000..3160658
--- /dev/null
+++ b/helgrind/tests/.svn/prop-base/tc14_laog_dinphils.stderr.exp.svn-base
@@ -0,0 +1,5 @@
+K 13
+svn:mergeinfo
+V 0
+
+END
diff --git a/helgrind/tests/.svn/prop-base/tc15_laog_lockdel.stderr.exp.svn-base b/helgrind/tests/.svn/prop-base/tc15_laog_lockdel.stderr.exp.svn-base
new file mode 100644
index 0000000..3160658
--- /dev/null
+++ b/helgrind/tests/.svn/prop-base/tc15_laog_lockdel.stderr.exp.svn-base
@@ -0,0 +1,5 @@
+K 13
+svn:mergeinfo
+V 0
+
+END
diff --git a/helgrind/tests/.svn/prop-base/tc16_byterace.stderr.exp.svn-base b/helgrind/tests/.svn/prop-base/tc16_byterace.stderr.exp.svn-base
new file mode 100644
index 0000000..3160658
--- /dev/null
+++ b/helgrind/tests/.svn/prop-base/tc16_byterace.stderr.exp.svn-base
@@ -0,0 +1,5 @@
+K 13
+svn:mergeinfo
+V 0
+
+END
diff --git a/helgrind/tests/.svn/prop-base/tc17_sembar.stderr.exp.svn-base b/helgrind/tests/.svn/prop-base/tc17_sembar.stderr.exp.svn-base
new file mode 100644
index 0000000..3160658
--- /dev/null
+++ b/helgrind/tests/.svn/prop-base/tc17_sembar.stderr.exp.svn-base
@@ -0,0 +1,5 @@
+K 13
+svn:mergeinfo
+V 0
+
+END
diff --git a/helgrind/tests/.svn/prop-base/tc19_shadowmem.stderr.exp.svn-base b/helgrind/tests/.svn/prop-base/tc19_shadowmem.stderr.exp.svn-base
new file mode 100644
index 0000000..3160658
--- /dev/null
+++ b/helgrind/tests/.svn/prop-base/tc19_shadowmem.stderr.exp.svn-base
@@ -0,0 +1,5 @@
+K 13
+svn:mergeinfo
+V 0
+
+END
diff --git a/helgrind/tests/.svn/prop-base/tc21_pthonce.stderr.exp.svn-base b/helgrind/tests/.svn/prop-base/tc21_pthonce.stderr.exp.svn-base
new file mode 100644
index 0000000..3160658
--- /dev/null
+++ b/helgrind/tests/.svn/prop-base/tc21_pthonce.stderr.exp.svn-base
@@ -0,0 +1,5 @@
+K 13
+svn:mergeinfo
+V 0
+
+END
diff --git a/helgrind/tests/.svn/prop-base/tc22_exit_w_lock.stderr.exp.svn-base b/helgrind/tests/.svn/prop-base/tc22_exit_w_lock.stderr.exp.svn-base
new file mode 100644
index 0000000..3160658
--- /dev/null
+++ b/helgrind/tests/.svn/prop-base/tc22_exit_w_lock.stderr.exp.svn-base
@@ -0,0 +1,5 @@
+K 13
+svn:mergeinfo
+V 0
+
+END
diff --git a/helgrind/tests/.svn/prop-base/tc23_bogus_condwait.stderr.exp.svn-base b/helgrind/tests/.svn/prop-base/tc23_bogus_condwait.stderr.exp.svn-base
new file mode 100644
index 0000000..3160658
--- /dev/null
+++ b/helgrind/tests/.svn/prop-base/tc23_bogus_condwait.stderr.exp.svn-base
@@ -0,0 +1,5 @@
+K 13
+svn:mergeinfo
+V 0
+
+END
diff --git a/helgrind/tests/.svn/prop-base/tc24_nonzero_sem.stderr.exp.svn-base b/helgrind/tests/.svn/prop-base/tc24_nonzero_sem.stderr.exp.svn-base
new file mode 100644
index 0000000..3160658
--- /dev/null
+++ b/helgrind/tests/.svn/prop-base/tc24_nonzero_sem.stderr.exp.svn-base
@@ -0,0 +1,5 @@
+K 13
+svn:mergeinfo
+V 0
+
+END
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
diff --git a/helgrind/tests/Makefile b/helgrind/tests/Makefile
new file mode 100644
index 0000000..313d02b
--- /dev/null
+++ b/helgrind/tests/Makefile
@@ -0,0 +1,908 @@
+# Makefile.in generated by automake 1.10.1 from Makefile.am.
+# helgrind/tests/Makefile. Generated from Makefile.in by configure.
+
+# Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002,
+# 2003, 2004, 2005, 2006, 2007, 2008 Free Software Foundation, Inc.
+# This Makefile.in is free software; the Free Software Foundation
+# gives unlimited permission to copy and/or distribute it,
+# with or without modifications, as long as this notice is preserved.
+
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY, to the extent permitted by law; without
+# even the implied warranty of MERCHANTABILITY or FITNESS FOR A
+# PARTICULAR PURPOSE.
+
+
+
+# This file is used for tool tests, and also in perf/Makefile.am.
+
+
+pkgdatadir = $(datadir)/valgrind
+pkglibdir = $(libdir)/valgrind
+pkgincludedir = $(includedir)/valgrind
+am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd
+install_sh_DATA = $(install_sh) -c -m 644
+install_sh_PROGRAM = $(install_sh) -c
+install_sh_SCRIPT = $(install_sh) -c
+INSTALL_HEADER = $(INSTALL_DATA)
+transform = $(program_transform_name)
+NORMAL_INSTALL = :
+PRE_INSTALL = :
+POST_INSTALL = :
+NORMAL_UNINSTALL = :
+PRE_UNINSTALL = :
+POST_UNINSTALL = :
+build_triplet = x86_64-unknown-linux-gnu
+host_triplet = x86_64-unknown-linux-gnu
+DIST_COMMON = $(srcdir)/Makefile.am $(srcdir)/Makefile.in \
+ $(top_srcdir)/Makefile.flags.am \
+ $(top_srcdir)/Makefile.tool-tests.am
+check_PROGRAMS = hg01_all_ok$(EXEEXT) hg02_deadlock$(EXEEXT) \
+ hg03_inherit$(EXEEXT) hg04_race$(EXEEXT) hg05_race2$(EXEEXT) \
+ hg06_readshared$(EXEEXT) tc01_simple_race$(EXEEXT) \
+ tc02_simple_tls$(EXEEXT) tc03_re_excl$(EXEEXT) \
+ tc04_free_lock$(EXEEXT) tc05_simple_race$(EXEEXT) \
+ tc06_two_races$(EXEEXT) tc07_hbl1$(EXEEXT) tc08_hbl2$(EXEEXT) \
+ tc09_bad_unlock$(EXEEXT) tc10_rec_lock$(EXEEXT) \
+ tc11_XCHG$(EXEEXT) tc12_rwl_trivial$(EXEEXT) \
+ tc13_laog1$(EXEEXT) tc14_laog_dinphils$(EXEEXT) \
+ tc15_laog_lockdel$(EXEEXT) tc16_byterace$(EXEEXT) \
+ tc17_sembar$(EXEEXT) tc18_semabuse$(EXEEXT) \
+ tc19_shadowmem$(EXEEXT) tc20_verifywrap$(EXEEXT) \
+ tc21_pthonce$(EXEEXT) tc22_exit_w_lock$(EXEEXT) \
+ tc23_bogus_condwait$(EXEEXT) tc24_nonzero_sem$(EXEEXT) \
+ $(am__EXEEXT_1)
+am__append_1 = bar_bad bar_trivial
+subdir = helgrind/tests
+ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
+am__aclocal_m4_deps = $(top_srcdir)/configure.in
+am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
+ $(ACLOCAL_M4)
+mkinstalldirs = $(install_sh) -d
+CONFIG_HEADER = $(top_builddir)/config.h
+CONFIG_CLEAN_FILES =
+am__EXEEXT_1 = bar_bad$(EXEEXT) \
+ bar_trivial$(EXEEXT)
+bar_bad_SOURCES = bar_bad.c
+bar_bad_OBJECTS = bar_bad.$(OBJEXT)
+bar_bad_LDADD = $(LDADD)
+bar_bad_DEPENDENCIES =
+bar_trivial_SOURCES = bar_trivial.c
+bar_trivial_OBJECTS = bar_trivial.$(OBJEXT)
+bar_trivial_LDADD = $(LDADD)
+bar_trivial_DEPENDENCIES =
+hg01_all_ok_SOURCES = hg01_all_ok.c
+hg01_all_ok_OBJECTS = hg01_all_ok.$(OBJEXT)
+hg01_all_ok_LDADD = $(LDADD)
+hg01_all_ok_DEPENDENCIES =
+hg02_deadlock_SOURCES = hg02_deadlock.c
+hg02_deadlock_OBJECTS = hg02_deadlock.$(OBJEXT)
+hg02_deadlock_LDADD = $(LDADD)
+hg02_deadlock_DEPENDENCIES =
+hg03_inherit_SOURCES = hg03_inherit.c
+hg03_inherit_OBJECTS = hg03_inherit.$(OBJEXT)
+hg03_inherit_LDADD = $(LDADD)
+hg03_inherit_DEPENDENCIES =
+hg04_race_SOURCES = hg04_race.c
+hg04_race_OBJECTS = hg04_race.$(OBJEXT)
+hg04_race_LDADD = $(LDADD)
+hg04_race_DEPENDENCIES =
+hg05_race2_SOURCES = hg05_race2.c
+hg05_race2_OBJECTS = hg05_race2.$(OBJEXT)
+hg05_race2_LDADD = $(LDADD)
+hg05_race2_DEPENDENCIES =
+hg06_readshared_SOURCES = hg06_readshared.c
+hg06_readshared_OBJECTS = hg06_readshared.$(OBJEXT)
+hg06_readshared_LDADD = $(LDADD)
+hg06_readshared_DEPENDENCIES =
+tc01_simple_race_SOURCES = tc01_simple_race.c
+tc01_simple_race_OBJECTS = tc01_simple_race.$(OBJEXT)
+tc01_simple_race_LDADD = $(LDADD)
+tc01_simple_race_DEPENDENCIES =
+tc02_simple_tls_SOURCES = tc02_simple_tls.c
+tc02_simple_tls_OBJECTS = tc02_simple_tls.$(OBJEXT)
+tc02_simple_tls_LDADD = $(LDADD)
+tc02_simple_tls_DEPENDENCIES =
+tc03_re_excl_SOURCES = tc03_re_excl.c
+tc03_re_excl_OBJECTS = tc03_re_excl.$(OBJEXT)
+tc03_re_excl_LDADD = $(LDADD)
+tc03_re_excl_DEPENDENCIES =
+tc04_free_lock_SOURCES = tc04_free_lock.c
+tc04_free_lock_OBJECTS = tc04_free_lock.$(OBJEXT)
+tc04_free_lock_LDADD = $(LDADD)
+tc04_free_lock_DEPENDENCIES =
+tc05_simple_race_SOURCES = tc05_simple_race.c
+tc05_simple_race_OBJECTS = tc05_simple_race.$(OBJEXT)
+tc05_simple_race_LDADD = $(LDADD)
+tc05_simple_race_DEPENDENCIES =
+tc06_two_races_SOURCES = tc06_two_races.c
+tc06_two_races_OBJECTS = tc06_two_races.$(OBJEXT)
+tc06_two_races_LDADD = $(LDADD)
+tc06_two_races_DEPENDENCIES =
+tc07_hbl1_SOURCES = tc07_hbl1.c
+tc07_hbl1_OBJECTS = tc07_hbl1.$(OBJEXT)
+tc07_hbl1_LDADD = $(LDADD)
+tc07_hbl1_DEPENDENCIES =
+tc08_hbl2_SOURCES = tc08_hbl2.c
+tc08_hbl2_OBJECTS = tc08_hbl2.$(OBJEXT)
+tc08_hbl2_LDADD = $(LDADD)
+tc08_hbl2_DEPENDENCIES =
+tc09_bad_unlock_SOURCES = tc09_bad_unlock.c
+tc09_bad_unlock_OBJECTS = tc09_bad_unlock.$(OBJEXT)
+tc09_bad_unlock_LDADD = $(LDADD)
+tc09_bad_unlock_DEPENDENCIES =
+tc10_rec_lock_SOURCES = tc10_rec_lock.c
+tc10_rec_lock_OBJECTS = tc10_rec_lock.$(OBJEXT)
+tc10_rec_lock_LDADD = $(LDADD)
+tc10_rec_lock_DEPENDENCIES =
+tc11_XCHG_SOURCES = tc11_XCHG.c
+tc11_XCHG_OBJECTS = tc11_XCHG.$(OBJEXT)
+tc11_XCHG_LDADD = $(LDADD)
+tc11_XCHG_DEPENDENCIES =
+tc12_rwl_trivial_SOURCES = tc12_rwl_trivial.c
+tc12_rwl_trivial_OBJECTS = tc12_rwl_trivial.$(OBJEXT)
+tc12_rwl_trivial_LDADD = $(LDADD)
+tc12_rwl_trivial_DEPENDENCIES =
+tc13_laog1_SOURCES = tc13_laog1.c
+tc13_laog1_OBJECTS = tc13_laog1.$(OBJEXT)
+tc13_laog1_LDADD = $(LDADD)
+tc13_laog1_DEPENDENCIES =
+tc14_laog_dinphils_SOURCES = tc14_laog_dinphils.c
+tc14_laog_dinphils_OBJECTS = tc14_laog_dinphils.$(OBJEXT)
+tc14_laog_dinphils_LDADD = $(LDADD)
+tc14_laog_dinphils_DEPENDENCIES =
+tc15_laog_lockdel_SOURCES = tc15_laog_lockdel.c
+tc15_laog_lockdel_OBJECTS = tc15_laog_lockdel.$(OBJEXT)
+tc15_laog_lockdel_LDADD = $(LDADD)
+tc15_laog_lockdel_DEPENDENCIES =
+tc16_byterace_SOURCES = tc16_byterace.c
+tc16_byterace_OBJECTS = tc16_byterace.$(OBJEXT)
+tc16_byterace_LDADD = $(LDADD)
+tc16_byterace_DEPENDENCIES =
+tc17_sembar_SOURCES = tc17_sembar.c
+tc17_sembar_OBJECTS = tc17_sembar.$(OBJEXT)
+tc17_sembar_LDADD = $(LDADD)
+tc17_sembar_DEPENDENCIES =
+tc18_semabuse_SOURCES = tc18_semabuse.c
+tc18_semabuse_OBJECTS = tc18_semabuse.$(OBJEXT)
+tc18_semabuse_LDADD = $(LDADD)
+tc18_semabuse_DEPENDENCIES =
+tc19_shadowmem_SOURCES = tc19_shadowmem.c
+tc19_shadowmem_OBJECTS = tc19_shadowmem.$(OBJEXT)
+tc19_shadowmem_LDADD = $(LDADD)
+tc19_shadowmem_DEPENDENCIES =
+tc20_verifywrap_SOURCES = tc20_verifywrap.c
+tc20_verifywrap_OBJECTS = tc20_verifywrap.$(OBJEXT)
+tc20_verifywrap_LDADD = $(LDADD)
+tc20_verifywrap_DEPENDENCIES =
+tc21_pthonce_SOURCES = tc21_pthonce.c
+tc21_pthonce_OBJECTS = tc21_pthonce.$(OBJEXT)
+tc21_pthonce_LDADD = $(LDADD)
+tc21_pthonce_DEPENDENCIES =
+tc22_exit_w_lock_SOURCES = tc22_exit_w_lock.c
+tc22_exit_w_lock_OBJECTS = tc22_exit_w_lock.$(OBJEXT)
+tc22_exit_w_lock_LDADD = $(LDADD)
+tc22_exit_w_lock_DEPENDENCIES =
+tc23_bogus_condwait_SOURCES = tc23_bogus_condwait.c
+tc23_bogus_condwait_OBJECTS = tc23_bogus_condwait.$(OBJEXT)
+tc23_bogus_condwait_LDADD = $(LDADD)
+tc23_bogus_condwait_DEPENDENCIES =
+tc24_nonzero_sem_SOURCES = tc24_nonzero_sem.c
+tc24_nonzero_sem_OBJECTS = tc24_nonzero_sem.$(OBJEXT)
+tc24_nonzero_sem_LDADD = $(LDADD)
+tc24_nonzero_sem_DEPENDENCIES =
+SCRIPTS = $(noinst_SCRIPTS)
+DEFAULT_INCLUDES = -I. -I$(top_builddir)
+depcomp = $(SHELL) $(top_srcdir)/depcomp
+am__depfiles_maybe = depfiles
+COMPILE = $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) \
+ $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS)
+CCLD = $(CC)
+LINK = $(CCLD) $(AM_CFLAGS) $(CFLAGS) $(AM_LDFLAGS) $(LDFLAGS) -o $@
+SOURCES = bar_bad.c bar_trivial.c hg01_all_ok.c hg02_deadlock.c \
+ hg03_inherit.c hg04_race.c hg05_race2.c hg06_readshared.c \
+ tc01_simple_race.c tc02_simple_tls.c tc03_re_excl.c \
+ tc04_free_lock.c tc05_simple_race.c tc06_two_races.c \
+ tc07_hbl1.c tc08_hbl2.c tc09_bad_unlock.c tc10_rec_lock.c \
+ tc11_XCHG.c tc12_rwl_trivial.c tc13_laog1.c \
+ tc14_laog_dinphils.c tc15_laog_lockdel.c tc16_byterace.c \
+ tc17_sembar.c tc18_semabuse.c tc19_shadowmem.c \
+ tc20_verifywrap.c tc21_pthonce.c tc22_exit_w_lock.c \
+ tc23_bogus_condwait.c tc24_nonzero_sem.c
+DIST_SOURCES = bar_bad.c bar_trivial.c hg01_all_ok.c hg02_deadlock.c \
+ hg03_inherit.c hg04_race.c hg05_race2.c hg06_readshared.c \
+ tc01_simple_race.c tc02_simple_tls.c tc03_re_excl.c \
+ tc04_free_lock.c tc05_simple_race.c tc06_two_races.c \
+ tc07_hbl1.c tc08_hbl2.c tc09_bad_unlock.c tc10_rec_lock.c \
+ tc11_XCHG.c tc12_rwl_trivial.c tc13_laog1.c \
+ tc14_laog_dinphils.c tc15_laog_lockdel.c tc16_byterace.c \
+ tc17_sembar.c tc18_semabuse.c tc19_shadowmem.c \
+ tc20_verifywrap.c tc21_pthonce.c tc22_exit_w_lock.c \
+ tc23_bogus_condwait.c tc24_nonzero_sem.c
+ETAGS = etags
+CTAGS = ctags
+DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
+ACLOCAL = ${SHELL} /home/steph/compile/valgrind/missing --run aclocal-1.10
+AMTAR = ${SHELL} /home/steph/compile/valgrind/missing --run tar
+AR = /usr/bin/ar
+AUTOCONF = ${SHELL} /home/steph/compile/valgrind/missing --run autoconf
+AUTOHEADER = ${SHELL} /home/steph/compile/valgrind/missing --run autoheader
+AUTOMAKE = ${SHELL} /home/steph/compile/valgrind/missing --run automake-1.10
+AWK = gawk
+BOOST_CFLAGS =
+BOOST_LIBS = -lboost_thread-mt -m64
+CC = gcc
+CCAS = gcc
+CCASDEPMODE = depmode=gcc3
+CCASFLAGS = -Wno-long-long
+CCDEPMODE = depmode=gcc3
+CFLAGS = -Wno-long-long -Wno-pointer-sign -Wdeclaration-after-statement -fno-stack-protector
+CPP = gcc -E
+CPPFLAGS =
+CXX = g++
+CXXDEPMODE = depmode=gcc3
+CXXFLAGS = -g -O2
+CYGPATH_W = echo
+DEFAULT_SUPP = exp-ptrcheck.supp xfree-3.supp xfree-4.supp glibc-2.X-drd.supp glibc-2.34567-NPTL-helgrind.supp glibc-2.X.supp
+DEFS = -DHAVE_CONFIG_H
+DEPDIR = .deps
+DIFF = diff -u
+DISTCHECK_CONFIGURE_FLAGS = --with-vex=$(top_srcdir)/VEX
+ECHO_C =
+ECHO_N = -n
+ECHO_T =
+EGREP = /bin/grep -E
+EXEEXT =
+FLAG_FNO_STACK_PROTECTOR = -fno-stack-protector
+FLAG_M32 = -m32
+FLAG_M64 = -m64
+FLAG_MAIX32 =
+FLAG_MAIX64 =
+FLAG_MMMX = -mmmx
+FLAG_MSSE = -msse
+FLAG_UNLIMITED_INLINE_UNIT_GROWTH = --param inline-unit-growth=900
+FLAG_WDECL_AFTER_STMT = -Wdeclaration-after-statement
+FLAG_W_EXTRA = -Wextra
+FLAG_W_NO_FORMAT_ZERO_LENGTH = -Wno-format-zero-length
+GDB = /usr/bin/gdb
+GLIBC_VERSION = 2.8
+GREP = /bin/grep
+INSTALL = /usr/bin/install -c
+INSTALL_DATA = ${INSTALL} -m 644
+INSTALL_PROGRAM = ${INSTALL}
+INSTALL_SCRIPT = ${INSTALL}
+INSTALL_STRIP_PROGRAM = $(install_sh) -c -s
+LDFLAGS =
+LIBOBJS =
+LIBS =
+LN_S = ln -s
+LTLIBOBJS =
+MAINT = #
+MAKEINFO = ${SHELL} /home/steph/compile/valgrind/missing --run makeinfo
+MKDIR_P = /bin/mkdir -p
+MPI_CC = mpicc
+OBJEXT = o
+PACKAGE = valgrind
+PACKAGE_BUGREPORT = valgrind-users@lists.sourceforge.net
+PACKAGE_NAME = Valgrind
+PACKAGE_STRING = Valgrind 3.5.0.SVN
+PACKAGE_TARNAME = valgrind
+PACKAGE_VERSION = 3.5.0.SVN
+PATH_SEPARATOR = :
+PERL = /usr/bin/perl
+PKG_CONFIG = /usr/bin/pkg-config
+PREFERRED_STACK_BOUNDARY =
+QTCORE_CFLAGS = -DQT_SHARED -I/usr/include/QtCore
+QTCORE_LIBS = -lQtCore
+RANLIB = ranlib
+SET_MAKE =
+SHELL = /bin/sh
+STRIP =
+VALT_LOAD_ADDRESS = 0x38000000
+VERSION = 3.5.0.SVN
+VEX_DIR = $(top_srcdir)/VEX
+VGCONF_ARCH_PRI = amd64
+VGCONF_OS = linux
+VGCONF_PLATFORM_PRI_CAPS = AMD64_LINUX
+VGCONF_PLATFORM_SEC_CAPS =
+abs_builddir = /home/steph/compile/valgrind/helgrind/tests
+abs_srcdir = /home/steph/compile/valgrind/helgrind/tests
+abs_top_builddir = /home/steph/compile/valgrind
+abs_top_srcdir = /home/steph/compile/valgrind
+ac_ct_CC = gcc
+ac_ct_CXX = g++
+am__include = include
+am__leading_dot = .
+am__quote =
+am__tar = ${AMTAR} chof - "$$tardir"
+am__untar = ${AMTAR} xf -
+bindir = ${exec_prefix}/bin
+build = x86_64-unknown-linux-gnu
+build_alias =
+build_cpu = x86_64
+build_os = linux-gnu
+build_vendor = unknown
+builddir = .
+datadir = ${datarootdir}
+datarootdir = ${prefix}/share
+docdir = ${datarootdir}/doc/${PACKAGE_TARNAME}
+dvidir = ${docdir}
+exec_prefix = ${prefix}
+host = x86_64-unknown-linux-gnu
+host_alias =
+host_cpu = x86_64
+host_os = linux-gnu
+host_vendor = unknown
+htmldir = ${docdir}
+includedir = ${prefix}/include
+infodir = ${datarootdir}/info
+install_sh = $(SHELL) /home/steph/compile/valgrind/install-sh
+libdir = ${exec_prefix}/lib
+libexecdir = ${exec_prefix}/libexec
+localedir = ${datarootdir}/locale
+localstatedir = ${prefix}/var
+mandir = ${datarootdir}/man
+mkdir_p = /bin/mkdir -p
+oldincludedir = /usr/include
+pdfdir = ${docdir}
+prefix = /usr/local
+program_transform_name = s,x,x,
+psdir = ${docdir}
+sbindir = ${exec_prefix}/sbin
+sharedstatedir = ${prefix}/com
+srcdir = .
+sysconfdir = ${prefix}/etc
+target_alias =
+top_builddir = ../..
+top_srcdir = ../..
+
+# Baseline flags for all compilations. Aim here is to maximise
+# performance and get whatever useful warnings we can out of gcc.
+AM_CFLAGS_BASE = -O2 -g -Wmissing-prototypes -Wall -Wshadow \
+ -Wpointer-arith -Wstrict-prototypes -Wmissing-declarations \
+ -Wno-format-zero-length \
+ -fno-strict-aliasing
+
+
+# These flags are used for building the preload shared objects.
+# The aim is to give reasonable performance but also to have good
+# stack traces, since users often see stack traces extending
+# into (and through) the preloads.
+AM_CFLAGS_PIC = -O -g -fpic -fno-omit-frame-pointer -fno-strict-aliasing
+
+# Flags for specific targets.
+#
+# Nb: the AM_CPPFLAGS_* values are suitable for building tools and auxprogs.
+# For building the core, coregrind/Makefile.am files add some extra things.
+#
+# Also: in newer versions of automake (1.10 onwards?) asm files ending with
+# '.S' are considered "pre-processed" (as opposed to those ending in '.s')
+# and so the CPPFLAGS are passed to the assembler. But this is not true for
+# older automakes (e.g. 1.8.5, 1.9.6), sigh. So we include
+# AM_CPPFLAGS_<PLATFORM> in each AM_CCASFLAGS_<PLATFORM> variable. This
+# means some of the flags are duplicated on systems with newer versions of
+# automake, but this does not really matter and seems hard to avoid.
+AM_CPPFLAGS_COMMON = \
+ -I$(top_srcdir) \
+ -I$(top_srcdir)/include \
+ -I$(top_srcdir)/VEX/pub
+
+AM_FLAG_M3264_X86_LINUX = -m32
+AM_CPPFLAGS_X86_LINUX = $(AM_CPPFLAGS_COMMON) \
+ -DVGA_x86=1 \
+ -DVGO_linux=1 \
+ -DVGP_x86_linux=1
+
+AM_CFLAGS_X86_LINUX = -m32 \
+ $(AM_CFLAGS_BASE)
+
+AM_CCASFLAGS_X86_LINUX = $(AM_CPPFLAGS_X86_LINUX) -m32 -g
+AM_FLAG_M3264_AMD64_LINUX = -m64
+AM_CPPFLAGS_AMD64_LINUX = $(AM_CPPFLAGS_COMMON) \
+ -DVGA_amd64=1 \
+ -DVGO_linux=1 \
+ -DVGP_amd64_linux=1
+
+AM_CFLAGS_AMD64_LINUX = -m64 -fomit-frame-pointer \
+ $(AM_CFLAGS_BASE)
+
+AM_CCASFLAGS_AMD64_LINUX = $(AM_CPPFLAGS_AMD64_LINUX) -m64 -g
+AM_FLAG_M3264_PPC32_LINUX = -m32
+AM_CPPFLAGS_PPC32_LINUX = $(AM_CPPFLAGS_COMMON) \
+ -DVGA_ppc32=1 \
+ -DVGO_linux=1 \
+ -DVGP_ppc32_linux=1
+
+AM_CFLAGS_PPC32_LINUX = -m32 $(AM_CFLAGS_BASE)
+AM_CCASFLAGS_PPC32_LINUX = $(AM_CPPFLAGS_PPC32_LINUX) -m32 -g
+AM_FLAG_M3264_PPC64_LINUX = -m64
+AM_CPPFLAGS_PPC64_LINUX = $(AM_CPPFLAGS_COMMON) \
+ -DVGA_ppc64=1 \
+ -DVGO_linux=1 \
+ -DVGP_ppc64_linux=1
+
+AM_CFLAGS_PPC64_LINUX = -m64 $(AM_CFLAGS_BASE)
+AM_CCASFLAGS_PPC64_LINUX = $(AM_CPPFLAGS_PPC64_LINUX) -m64 -g
+AM_FLAG_M3264_PPC32_AIX5 =
+AM_CPPFLAGS_PPC32_AIX5 = $(AM_CPPFLAGS_COMMON) \
+ -DVGA_ppc32=1 \
+ -DVGO_aix5=1 \
+ -DVGP_ppc32_aix5=1
+
+AM_CFLAGS_PPC32_AIX5 = -mcpu=powerpc $(AM_CFLAGS_BASE)
+AM_CCASFLAGS_PPC32_AIX5 = $(AM_CPPFLAGS_PPC32_AIX5) \
+ -mcpu=powerpc -g
+
+AM_FLAG_M3264_PPC64_AIX5 =
+AM_CPPFLAGS_PPC64_AIX5 = $(AM_CPPFLAGS_COMMON) \
+ -DVGA_ppc64=1 \
+ -DVGO_aix5=1 \
+ -DVGP_ppc64_aix5=1
+
+AM_CFLAGS_PPC64_AIX5 = -mcpu=powerpc64 $(AM_CFLAGS_BASE)
+AM_CCASFLAGS_PPC64_AIX5 = $(AM_CPPFLAGS_PPC64_AIX5) \
+ -mcpu=powerpc64 -g
+
+
+# Flags for the primary target. These must be used to build the
+# regtests and performance tests. In fact, these must be used to
+# build anything which is built only once on a dual-arch build.
+#
+AM_FLAG_M3264_PRI = $(AM_FLAG_M3264_AMD64_LINUX)
+AM_CPPFLAGS_PRI = $(AM_CPPFLAGS_AMD64_LINUX)
+AM_CFLAGS_PRI = $(AM_CFLAGS_AMD64_LINUX)
+AM_CCASFLAGS_PRI = $(AM_CCASFLAGS_AMD64_LINUX)
+AM_FLAG_M3264_SEC =
+#AM_FLAG_M3264_SEC = $(AM_FLAG_M3264_)
+
+# Baseline link flags for making dynamic shared objects.
+#
+PRELOAD_LDFLAGS_COMMON_LINUX = -nodefaultlibs -shared -Wl,-z,interpose,-z,initfirst
+PRELOAD_LDFLAGS_COMMON_AIX5 = -nodefaultlibs -shared -Wl,-G -Wl,-bnogc
+PRELOAD_LDFLAGS_X86_LINUX = $(PRELOAD_LDFLAGS_COMMON_LINUX) -m32
+PRELOAD_LDFLAGS_AMD64_LINUX = $(PRELOAD_LDFLAGS_COMMON_LINUX) -m64
+PRELOAD_LDFLAGS_PPC32_LINUX = $(PRELOAD_LDFLAGS_COMMON_LINUX) -m32
+PRELOAD_LDFLAGS_PPC64_LINUX = $(PRELOAD_LDFLAGS_COMMON_LINUX) -m64
+PRELOAD_LDFLAGS_PPC32_AIX5 = $(PRELOAD_LDFLAGS_COMMON_AIX5)
+PRELOAD_LDFLAGS_PPC64_AIX5 = $(PRELOAD_LDFLAGS_COMMON_AIX5)
+AM_CPPFLAGS = -I$(top_srcdir) -I$(top_srcdir)/include \
+ -I$(top_srcdir)/coregrind -I$(top_builddir)/include \
+ -I$(top_srcdir)/VEX/pub \
+ -DVGA_$(VGCONF_ARCH_PRI)=1 \
+ -DVGO_$(VGCONF_OS)=1 \
+ -DVGP_$(VGCONF_ARCH_PRI)_$(VGCONF_OS)=1
+
+# Nb: Tools need to augment these flags with an arch-selection option, such
+# as $(AM_FLAG_M3264_PRI).
+AM_CFLAGS = -Winline -Wall -Wshadow -g $(AM_FLAG_M3264_PRI)
+AM_CXXFLAGS = -Winline -Wall -Wshadow -g $(AM_FLAG_M3264_PRI)
+# Include AM_CPPFLAGS in AM_CCASFLAGS to allow for older versions of
+# automake; see comments in Makefile.flags.am for more detail.
+AM_CCASFLAGS = $(AM_CPPFLAGS)
+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
+
+LDADD = -lpthread
+all: all-am
+
+.SUFFIXES:
+.SUFFIXES: .c .o .obj
+$(srcdir)/Makefile.in: # $(srcdir)/Makefile.am $(top_srcdir)/Makefile.tool-tests.am $(top_srcdir)/Makefile.flags.am $(am__configure_deps)
+ @for dep in $?; do \
+ case '$(am__configure_deps)' in \
+ *$$dep*) \
+ cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh \
+ && exit 0; \
+ exit 1;; \
+ esac; \
+ done; \
+ echo ' cd $(top_srcdir) && $(AUTOMAKE) --foreign helgrind/tests/Makefile'; \
+ cd $(top_srcdir) && \
+ $(AUTOMAKE) --foreign helgrind/tests/Makefile
+.PRECIOUS: Makefile
+Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
+ @case '$?' in \
+ *config.status*) \
+ cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \
+ *) \
+ echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)'; \
+ cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe);; \
+ esac;
+
+$(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES)
+ cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
+
+$(top_srcdir)/configure: # $(am__configure_deps)
+ cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
+$(ACLOCAL_M4): # $(am__aclocal_m4_deps)
+ cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
+
+clean-checkPROGRAMS:
+ -test -z "$(check_PROGRAMS)" || rm -f $(check_PROGRAMS)
+bar_bad$(EXEEXT): $(bar_bad_OBJECTS) $(bar_bad_DEPENDENCIES)
+ @rm -f bar_bad$(EXEEXT)
+ $(LINK) $(bar_bad_OBJECTS) $(bar_bad_LDADD) $(LIBS)
+bar_trivial$(EXEEXT): $(bar_trivial_OBJECTS) $(bar_trivial_DEPENDENCIES)
+ @rm -f bar_trivial$(EXEEXT)
+ $(LINK) $(bar_trivial_OBJECTS) $(bar_trivial_LDADD) $(LIBS)
+hg01_all_ok$(EXEEXT): $(hg01_all_ok_OBJECTS) $(hg01_all_ok_DEPENDENCIES)
+ @rm -f hg01_all_ok$(EXEEXT)
+ $(LINK) $(hg01_all_ok_OBJECTS) $(hg01_all_ok_LDADD) $(LIBS)
+hg02_deadlock$(EXEEXT): $(hg02_deadlock_OBJECTS) $(hg02_deadlock_DEPENDENCIES)
+ @rm -f hg02_deadlock$(EXEEXT)
+ $(LINK) $(hg02_deadlock_OBJECTS) $(hg02_deadlock_LDADD) $(LIBS)
+hg03_inherit$(EXEEXT): $(hg03_inherit_OBJECTS) $(hg03_inherit_DEPENDENCIES)
+ @rm -f hg03_inherit$(EXEEXT)
+ $(LINK) $(hg03_inherit_OBJECTS) $(hg03_inherit_LDADD) $(LIBS)
+hg04_race$(EXEEXT): $(hg04_race_OBJECTS) $(hg04_race_DEPENDENCIES)
+ @rm -f hg04_race$(EXEEXT)
+ $(LINK) $(hg04_race_OBJECTS) $(hg04_race_LDADD) $(LIBS)
+hg05_race2$(EXEEXT): $(hg05_race2_OBJECTS) $(hg05_race2_DEPENDENCIES)
+ @rm -f hg05_race2$(EXEEXT)
+ $(LINK) $(hg05_race2_OBJECTS) $(hg05_race2_LDADD) $(LIBS)
+hg06_readshared$(EXEEXT): $(hg06_readshared_OBJECTS) $(hg06_readshared_DEPENDENCIES)
+ @rm -f hg06_readshared$(EXEEXT)
+ $(LINK) $(hg06_readshared_OBJECTS) $(hg06_readshared_LDADD) $(LIBS)
+tc01_simple_race$(EXEEXT): $(tc01_simple_race_OBJECTS) $(tc01_simple_race_DEPENDENCIES)
+ @rm -f tc01_simple_race$(EXEEXT)
+ $(LINK) $(tc01_simple_race_OBJECTS) $(tc01_simple_race_LDADD) $(LIBS)
+tc02_simple_tls$(EXEEXT): $(tc02_simple_tls_OBJECTS) $(tc02_simple_tls_DEPENDENCIES)
+ @rm -f tc02_simple_tls$(EXEEXT)
+ $(LINK) $(tc02_simple_tls_OBJECTS) $(tc02_simple_tls_LDADD) $(LIBS)
+tc03_re_excl$(EXEEXT): $(tc03_re_excl_OBJECTS) $(tc03_re_excl_DEPENDENCIES)
+ @rm -f tc03_re_excl$(EXEEXT)
+ $(LINK) $(tc03_re_excl_OBJECTS) $(tc03_re_excl_LDADD) $(LIBS)
+tc04_free_lock$(EXEEXT): $(tc04_free_lock_OBJECTS) $(tc04_free_lock_DEPENDENCIES)
+ @rm -f tc04_free_lock$(EXEEXT)
+ $(LINK) $(tc04_free_lock_OBJECTS) $(tc04_free_lock_LDADD) $(LIBS)
+tc05_simple_race$(EXEEXT): $(tc05_simple_race_OBJECTS) $(tc05_simple_race_DEPENDENCIES)
+ @rm -f tc05_simple_race$(EXEEXT)
+ $(LINK) $(tc05_simple_race_OBJECTS) $(tc05_simple_race_LDADD) $(LIBS)
+tc06_two_races$(EXEEXT): $(tc06_two_races_OBJECTS) $(tc06_two_races_DEPENDENCIES)
+ @rm -f tc06_two_races$(EXEEXT)
+ $(LINK) $(tc06_two_races_OBJECTS) $(tc06_two_races_LDADD) $(LIBS)
+tc07_hbl1$(EXEEXT): $(tc07_hbl1_OBJECTS) $(tc07_hbl1_DEPENDENCIES)
+ @rm -f tc07_hbl1$(EXEEXT)
+ $(LINK) $(tc07_hbl1_OBJECTS) $(tc07_hbl1_LDADD) $(LIBS)
+tc08_hbl2$(EXEEXT): $(tc08_hbl2_OBJECTS) $(tc08_hbl2_DEPENDENCIES)
+ @rm -f tc08_hbl2$(EXEEXT)
+ $(LINK) $(tc08_hbl2_OBJECTS) $(tc08_hbl2_LDADD) $(LIBS)
+tc09_bad_unlock$(EXEEXT): $(tc09_bad_unlock_OBJECTS) $(tc09_bad_unlock_DEPENDENCIES)
+ @rm -f tc09_bad_unlock$(EXEEXT)
+ $(LINK) $(tc09_bad_unlock_OBJECTS) $(tc09_bad_unlock_LDADD) $(LIBS)
+tc10_rec_lock$(EXEEXT): $(tc10_rec_lock_OBJECTS) $(tc10_rec_lock_DEPENDENCIES)
+ @rm -f tc10_rec_lock$(EXEEXT)
+ $(LINK) $(tc10_rec_lock_OBJECTS) $(tc10_rec_lock_LDADD) $(LIBS)
+tc11_XCHG$(EXEEXT): $(tc11_XCHG_OBJECTS) $(tc11_XCHG_DEPENDENCIES)
+ @rm -f tc11_XCHG$(EXEEXT)
+ $(LINK) $(tc11_XCHG_OBJECTS) $(tc11_XCHG_LDADD) $(LIBS)
+tc12_rwl_trivial$(EXEEXT): $(tc12_rwl_trivial_OBJECTS) $(tc12_rwl_trivial_DEPENDENCIES)
+ @rm -f tc12_rwl_trivial$(EXEEXT)
+ $(LINK) $(tc12_rwl_trivial_OBJECTS) $(tc12_rwl_trivial_LDADD) $(LIBS)
+tc13_laog1$(EXEEXT): $(tc13_laog1_OBJECTS) $(tc13_laog1_DEPENDENCIES)
+ @rm -f tc13_laog1$(EXEEXT)
+ $(LINK) $(tc13_laog1_OBJECTS) $(tc13_laog1_LDADD) $(LIBS)
+tc14_laog_dinphils$(EXEEXT): $(tc14_laog_dinphils_OBJECTS) $(tc14_laog_dinphils_DEPENDENCIES)
+ @rm -f tc14_laog_dinphils$(EXEEXT)
+ $(LINK) $(tc14_laog_dinphils_OBJECTS) $(tc14_laog_dinphils_LDADD) $(LIBS)
+tc15_laog_lockdel$(EXEEXT): $(tc15_laog_lockdel_OBJECTS) $(tc15_laog_lockdel_DEPENDENCIES)
+ @rm -f tc15_laog_lockdel$(EXEEXT)
+ $(LINK) $(tc15_laog_lockdel_OBJECTS) $(tc15_laog_lockdel_LDADD) $(LIBS)
+tc16_byterace$(EXEEXT): $(tc16_byterace_OBJECTS) $(tc16_byterace_DEPENDENCIES)
+ @rm -f tc16_byterace$(EXEEXT)
+ $(LINK) $(tc16_byterace_OBJECTS) $(tc16_byterace_LDADD) $(LIBS)
+tc17_sembar$(EXEEXT): $(tc17_sembar_OBJECTS) $(tc17_sembar_DEPENDENCIES)
+ @rm -f tc17_sembar$(EXEEXT)
+ $(LINK) $(tc17_sembar_OBJECTS) $(tc17_sembar_LDADD) $(LIBS)
+tc18_semabuse$(EXEEXT): $(tc18_semabuse_OBJECTS) $(tc18_semabuse_DEPENDENCIES)
+ @rm -f tc18_semabuse$(EXEEXT)
+ $(LINK) $(tc18_semabuse_OBJECTS) $(tc18_semabuse_LDADD) $(LIBS)
+tc19_shadowmem$(EXEEXT): $(tc19_shadowmem_OBJECTS) $(tc19_shadowmem_DEPENDENCIES)
+ @rm -f tc19_shadowmem$(EXEEXT)
+ $(LINK) $(tc19_shadowmem_OBJECTS) $(tc19_shadowmem_LDADD) $(LIBS)
+tc20_verifywrap$(EXEEXT): $(tc20_verifywrap_OBJECTS) $(tc20_verifywrap_DEPENDENCIES)
+ @rm -f tc20_verifywrap$(EXEEXT)
+ $(LINK) $(tc20_verifywrap_OBJECTS) $(tc20_verifywrap_LDADD) $(LIBS)
+tc21_pthonce$(EXEEXT): $(tc21_pthonce_OBJECTS) $(tc21_pthonce_DEPENDENCIES)
+ @rm -f tc21_pthonce$(EXEEXT)
+ $(LINK) $(tc21_pthonce_OBJECTS) $(tc21_pthonce_LDADD) $(LIBS)
+tc22_exit_w_lock$(EXEEXT): $(tc22_exit_w_lock_OBJECTS) $(tc22_exit_w_lock_DEPENDENCIES)
+ @rm -f tc22_exit_w_lock$(EXEEXT)
+ $(LINK) $(tc22_exit_w_lock_OBJECTS) $(tc22_exit_w_lock_LDADD) $(LIBS)
+tc23_bogus_condwait$(EXEEXT): $(tc23_bogus_condwait_OBJECTS) $(tc23_bogus_condwait_DEPENDENCIES)
+ @rm -f tc23_bogus_condwait$(EXEEXT)
+ $(LINK) $(tc23_bogus_condwait_OBJECTS) $(tc23_bogus_condwait_LDADD) $(LIBS)
+tc24_nonzero_sem$(EXEEXT): $(tc24_nonzero_sem_OBJECTS) $(tc24_nonzero_sem_DEPENDENCIES)
+ @rm -f tc24_nonzero_sem$(EXEEXT)
+ $(LINK) $(tc24_nonzero_sem_OBJECTS) $(tc24_nonzero_sem_LDADD) $(LIBS)
+
+mostlyclean-compile:
+ -rm -f *.$(OBJEXT)
+
+distclean-compile:
+ -rm -f *.tab.c
+
+include ./$(DEPDIR)/bar_bad.Po
+include ./$(DEPDIR)/bar_trivial.Po
+include ./$(DEPDIR)/hg01_all_ok.Po
+include ./$(DEPDIR)/hg02_deadlock.Po
+include ./$(DEPDIR)/hg03_inherit.Po
+include ./$(DEPDIR)/hg04_race.Po
+include ./$(DEPDIR)/hg05_race2.Po
+include ./$(DEPDIR)/hg06_readshared.Po
+include ./$(DEPDIR)/tc01_simple_race.Po
+include ./$(DEPDIR)/tc02_simple_tls.Po
+include ./$(DEPDIR)/tc03_re_excl.Po
+include ./$(DEPDIR)/tc04_free_lock.Po
+include ./$(DEPDIR)/tc05_simple_race.Po
+include ./$(DEPDIR)/tc06_two_races.Po
+include ./$(DEPDIR)/tc07_hbl1.Po
+include ./$(DEPDIR)/tc08_hbl2.Po
+include ./$(DEPDIR)/tc09_bad_unlock.Po
+include ./$(DEPDIR)/tc10_rec_lock.Po
+include ./$(DEPDIR)/tc11_XCHG.Po
+include ./$(DEPDIR)/tc12_rwl_trivial.Po
+include ./$(DEPDIR)/tc13_laog1.Po
+include ./$(DEPDIR)/tc14_laog_dinphils.Po
+include ./$(DEPDIR)/tc15_laog_lockdel.Po
+include ./$(DEPDIR)/tc16_byterace.Po
+include ./$(DEPDIR)/tc17_sembar.Po
+include ./$(DEPDIR)/tc18_semabuse.Po
+include ./$(DEPDIR)/tc19_shadowmem.Po
+include ./$(DEPDIR)/tc20_verifywrap.Po
+include ./$(DEPDIR)/tc21_pthonce.Po
+include ./$(DEPDIR)/tc22_exit_w_lock.Po
+include ./$(DEPDIR)/tc23_bogus_condwait.Po
+include ./$(DEPDIR)/tc24_nonzero_sem.Po
+
+.c.o:
+ $(COMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $<
+ mv -f $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po
+# source='$<' object='$@' libtool=no \
+# DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \
+# $(COMPILE) -c $<
+
+.c.obj:
+ $(COMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ `$(CYGPATH_W) '$<'`
+ mv -f $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po
+# source='$<' object='$@' libtool=no \
+# DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \
+# $(COMPILE) -c `$(CYGPATH_W) '$<'`
+
+ID: $(HEADERS) $(SOURCES) $(LISP) $(TAGS_FILES)
+ list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \
+ unique=`for i in $$list; do \
+ if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
+ done | \
+ $(AWK) '{ files[$$0] = 1; nonemtpy = 1; } \
+ END { if (nonempty) { for (i in files) print i; }; }'`; \
+ mkid -fID $$unique
+tags: TAGS
+
+TAGS: $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \
+ $(TAGS_FILES) $(LISP)
+ tags=; \
+ here=`pwd`; \
+ list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \
+ unique=`for i in $$list; do \
+ if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
+ done | \
+ $(AWK) '{ files[$$0] = 1; nonempty = 1; } \
+ END { if (nonempty) { for (i in files) print i; }; }'`; \
+ if test -z "$(ETAGS_ARGS)$$tags$$unique"; then :; else \
+ test -n "$$unique" || unique=$$empty_fix; \
+ $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \
+ $$tags $$unique; \
+ fi
+ctags: CTAGS
+CTAGS: $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \
+ $(TAGS_FILES) $(LISP)
+ tags=; \
+ list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \
+ unique=`for i in $$list; do \
+ if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
+ done | \
+ $(AWK) '{ files[$$0] = 1; nonempty = 1; } \
+ END { if (nonempty) { for (i in files) print i; }; }'`; \
+ test -z "$(CTAGS_ARGS)$$tags$$unique" \
+ || $(CTAGS) $(CTAGSFLAGS) $(AM_CTAGSFLAGS) $(CTAGS_ARGS) \
+ $$tags $$unique
+
+GTAGS:
+ here=`$(am__cd) $(top_builddir) && pwd` \
+ && cd $(top_srcdir) \
+ && gtags -i $(GTAGS_ARGS) $$here
+
+distclean-tags:
+ -rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags
+
+distdir: $(DISTFILES)
+ @srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \
+ topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \
+ list='$(DISTFILES)'; \
+ dist_files=`for file in $$list; do echo $$file; done | \
+ sed -e "s|^$$srcdirstrip/||;t" \
+ -e "s|^$$topsrcdirstrip/|$(top_builddir)/|;t"`; \
+ case $$dist_files in \
+ */*) $(MKDIR_P) `echo "$$dist_files" | \
+ sed '/\//!d;s|^|$(distdir)/|;s,/[^/]*$$,,' | \
+ sort -u` ;; \
+ esac; \
+ for file in $$dist_files; do \
+ if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \
+ if test -d $$d/$$file; then \
+ dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \
+ if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \
+ cp -pR $(srcdir)/$$file $(distdir)$$dir || exit 1; \
+ fi; \
+ cp -pR $$d/$$file $(distdir)$$dir || exit 1; \
+ else \
+ test -f $(distdir)/$$file \
+ || cp -p $$d/$$file $(distdir)/$$file \
+ || exit 1; \
+ fi; \
+ done
+check-am: all-am
+ $(MAKE) $(AM_MAKEFLAGS) $(check_PROGRAMS)
+check: check-am
+all-am: Makefile $(SCRIPTS)
+installdirs:
+install: install-am
+install-exec: install-exec-am
+install-data: install-data-am
+uninstall: uninstall-am
+
+install-am: all-am
+ @$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am
+
+installcheck: installcheck-am
+install-strip:
+ $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
+ install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
+ `test -z '$(STRIP)' || \
+ echo "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'"` install
+mostlyclean-generic:
+
+clean-generic:
+
+distclean-generic:
+ -test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES)
+
+maintainer-clean-generic:
+ @echo "This command is intended for maintainers to use"
+ @echo "it deletes files that may require special tools to rebuild."
+clean: clean-am
+
+clean-am: clean-checkPROGRAMS clean-generic mostlyclean-am
+
+distclean: distclean-am
+ -rm -rf ./$(DEPDIR)
+ -rm -f Makefile
+distclean-am: clean-am distclean-compile distclean-generic \
+ distclean-tags
+
+dvi: dvi-am
+
+dvi-am:
+
+html: html-am
+
+info: info-am
+
+info-am:
+
+install-data-am:
+
+install-dvi: install-dvi-am
+
+install-exec-am:
+
+install-html: install-html-am
+
+install-info: install-info-am
+
+install-man:
+
+install-pdf: install-pdf-am
+
+install-ps: install-ps-am
+
+installcheck-am:
+
+maintainer-clean: maintainer-clean-am
+ -rm -rf ./$(DEPDIR)
+ -rm -f Makefile
+maintainer-clean-am: distclean-am maintainer-clean-generic
+
+mostlyclean: mostlyclean-am
+
+mostlyclean-am: mostlyclean-compile mostlyclean-generic
+
+pdf: pdf-am
+
+pdf-am:
+
+ps: ps-am
+
+ps-am:
+
+uninstall-am:
+
+.MAKE: install-am install-strip
+
+.PHONY: CTAGS GTAGS all all-am check check-am clean \
+ clean-checkPROGRAMS clean-generic ctags distclean \
+ distclean-compile distclean-generic distclean-tags distdir dvi \
+ dvi-am html html-am info info-am install install-am \
+ install-data install-data-am install-dvi install-dvi-am \
+ install-exec install-exec-am install-html install-html-am \
+ install-info install-info-am install-man install-pdf \
+ install-pdf-am install-ps install-ps-am install-strip \
+ installcheck installcheck-am installdirs maintainer-clean \
+ maintainer-clean-generic mostlyclean mostlyclean-compile \
+ mostlyclean-generic pdf pdf-am ps ps-am tags uninstall \
+ uninstall-am
+
+# Tell versions [3.59,3.63) of GNU make to not export all variables.
+# Otherwise a system limit (for SysV at least) may be exceeded.
+.NOEXPORT:
diff --git a/helgrind/tests/Makefile.am b/helgrind/tests/Makefile.am
new file mode 100644
index 0000000..f52072f
--- /dev/null
+++ b/helgrind/tests/Makefile.am
@@ -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/Makefile.in b/helgrind/tests/Makefile.in
new file mode 100644
index 0000000..5f90dfa
--- /dev/null
+++ b/helgrind/tests/Makefile.in
@@ -0,0 +1,908 @@
+# Makefile.in generated by automake 1.10.1 from Makefile.am.
+# @configure_input@
+
+# Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002,
+# 2003, 2004, 2005, 2006, 2007, 2008 Free Software Foundation, Inc.
+# This Makefile.in is free software; the Free Software Foundation
+# gives unlimited permission to copy and/or distribute it,
+# with or without modifications, as long as this notice is preserved.
+
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY, to the extent permitted by law; without
+# even the implied warranty of MERCHANTABILITY or FITNESS FOR A
+# PARTICULAR PURPOSE.
+
+@SET_MAKE@
+
+# This file is used for tool tests, and also in perf/Makefile.am.
+
+VPATH = @srcdir@
+pkgdatadir = $(datadir)/@PACKAGE@
+pkglibdir = $(libdir)/@PACKAGE@
+pkgincludedir = $(includedir)/@PACKAGE@
+am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd
+install_sh_DATA = $(install_sh) -c -m 644
+install_sh_PROGRAM = $(install_sh) -c
+install_sh_SCRIPT = $(install_sh) -c
+INSTALL_HEADER = $(INSTALL_DATA)
+transform = $(program_transform_name)
+NORMAL_INSTALL = :
+PRE_INSTALL = :
+POST_INSTALL = :
+NORMAL_UNINSTALL = :
+PRE_UNINSTALL = :
+POST_UNINSTALL = :
+build_triplet = @build@
+host_triplet = @host@
+DIST_COMMON = $(srcdir)/Makefile.am $(srcdir)/Makefile.in \
+ $(top_srcdir)/Makefile.flags.am \
+ $(top_srcdir)/Makefile.tool-tests.am
+check_PROGRAMS = hg01_all_ok$(EXEEXT) hg02_deadlock$(EXEEXT) \
+ hg03_inherit$(EXEEXT) hg04_race$(EXEEXT) hg05_race2$(EXEEXT) \
+ hg06_readshared$(EXEEXT) tc01_simple_race$(EXEEXT) \
+ tc02_simple_tls$(EXEEXT) tc03_re_excl$(EXEEXT) \
+ tc04_free_lock$(EXEEXT) tc05_simple_race$(EXEEXT) \
+ tc06_two_races$(EXEEXT) tc07_hbl1$(EXEEXT) tc08_hbl2$(EXEEXT) \
+ tc09_bad_unlock$(EXEEXT) tc10_rec_lock$(EXEEXT) \
+ tc11_XCHG$(EXEEXT) tc12_rwl_trivial$(EXEEXT) \
+ tc13_laog1$(EXEEXT) tc14_laog_dinphils$(EXEEXT) \
+ tc15_laog_lockdel$(EXEEXT) tc16_byterace$(EXEEXT) \
+ tc17_sembar$(EXEEXT) tc18_semabuse$(EXEEXT) \
+ tc19_shadowmem$(EXEEXT) tc20_verifywrap$(EXEEXT) \
+ tc21_pthonce$(EXEEXT) tc22_exit_w_lock$(EXEEXT) \
+ tc23_bogus_condwait$(EXEEXT) tc24_nonzero_sem$(EXEEXT) \
+ $(am__EXEEXT_1)
+@HAVE_PTHREAD_BARRIER_TRUE@am__append_1 = bar_bad bar_trivial
+subdir = helgrind/tests
+ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
+am__aclocal_m4_deps = $(top_srcdir)/configure.in
+am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
+ $(ACLOCAL_M4)
+mkinstalldirs = $(install_sh) -d
+CONFIG_HEADER = $(top_builddir)/config.h
+CONFIG_CLEAN_FILES =
+@HAVE_PTHREAD_BARRIER_TRUE@am__EXEEXT_1 = bar_bad$(EXEEXT) \
+@HAVE_PTHREAD_BARRIER_TRUE@ bar_trivial$(EXEEXT)
+bar_bad_SOURCES = bar_bad.c
+bar_bad_OBJECTS = bar_bad.$(OBJEXT)
+bar_bad_LDADD = $(LDADD)
+bar_bad_DEPENDENCIES =
+bar_trivial_SOURCES = bar_trivial.c
+bar_trivial_OBJECTS = bar_trivial.$(OBJEXT)
+bar_trivial_LDADD = $(LDADD)
+bar_trivial_DEPENDENCIES =
+hg01_all_ok_SOURCES = hg01_all_ok.c
+hg01_all_ok_OBJECTS = hg01_all_ok.$(OBJEXT)
+hg01_all_ok_LDADD = $(LDADD)
+hg01_all_ok_DEPENDENCIES =
+hg02_deadlock_SOURCES = hg02_deadlock.c
+hg02_deadlock_OBJECTS = hg02_deadlock.$(OBJEXT)
+hg02_deadlock_LDADD = $(LDADD)
+hg02_deadlock_DEPENDENCIES =
+hg03_inherit_SOURCES = hg03_inherit.c
+hg03_inherit_OBJECTS = hg03_inherit.$(OBJEXT)
+hg03_inherit_LDADD = $(LDADD)
+hg03_inherit_DEPENDENCIES =
+hg04_race_SOURCES = hg04_race.c
+hg04_race_OBJECTS = hg04_race.$(OBJEXT)
+hg04_race_LDADD = $(LDADD)
+hg04_race_DEPENDENCIES =
+hg05_race2_SOURCES = hg05_race2.c
+hg05_race2_OBJECTS = hg05_race2.$(OBJEXT)
+hg05_race2_LDADD = $(LDADD)
+hg05_race2_DEPENDENCIES =
+hg06_readshared_SOURCES = hg06_readshared.c
+hg06_readshared_OBJECTS = hg06_readshared.$(OBJEXT)
+hg06_readshared_LDADD = $(LDADD)
+hg06_readshared_DEPENDENCIES =
+tc01_simple_race_SOURCES = tc01_simple_race.c
+tc01_simple_race_OBJECTS = tc01_simple_race.$(OBJEXT)
+tc01_simple_race_LDADD = $(LDADD)
+tc01_simple_race_DEPENDENCIES =
+tc02_simple_tls_SOURCES = tc02_simple_tls.c
+tc02_simple_tls_OBJECTS = tc02_simple_tls.$(OBJEXT)
+tc02_simple_tls_LDADD = $(LDADD)
+tc02_simple_tls_DEPENDENCIES =
+tc03_re_excl_SOURCES = tc03_re_excl.c
+tc03_re_excl_OBJECTS = tc03_re_excl.$(OBJEXT)
+tc03_re_excl_LDADD = $(LDADD)
+tc03_re_excl_DEPENDENCIES =
+tc04_free_lock_SOURCES = tc04_free_lock.c
+tc04_free_lock_OBJECTS = tc04_free_lock.$(OBJEXT)
+tc04_free_lock_LDADD = $(LDADD)
+tc04_free_lock_DEPENDENCIES =
+tc05_simple_race_SOURCES = tc05_simple_race.c
+tc05_simple_race_OBJECTS = tc05_simple_race.$(OBJEXT)
+tc05_simple_race_LDADD = $(LDADD)
+tc05_simple_race_DEPENDENCIES =
+tc06_two_races_SOURCES = tc06_two_races.c
+tc06_two_races_OBJECTS = tc06_two_races.$(OBJEXT)
+tc06_two_races_LDADD = $(LDADD)
+tc06_two_races_DEPENDENCIES =
+tc07_hbl1_SOURCES = tc07_hbl1.c
+tc07_hbl1_OBJECTS = tc07_hbl1.$(OBJEXT)
+tc07_hbl1_LDADD = $(LDADD)
+tc07_hbl1_DEPENDENCIES =
+tc08_hbl2_SOURCES = tc08_hbl2.c
+tc08_hbl2_OBJECTS = tc08_hbl2.$(OBJEXT)
+tc08_hbl2_LDADD = $(LDADD)
+tc08_hbl2_DEPENDENCIES =
+tc09_bad_unlock_SOURCES = tc09_bad_unlock.c
+tc09_bad_unlock_OBJECTS = tc09_bad_unlock.$(OBJEXT)
+tc09_bad_unlock_LDADD = $(LDADD)
+tc09_bad_unlock_DEPENDENCIES =
+tc10_rec_lock_SOURCES = tc10_rec_lock.c
+tc10_rec_lock_OBJECTS = tc10_rec_lock.$(OBJEXT)
+tc10_rec_lock_LDADD = $(LDADD)
+tc10_rec_lock_DEPENDENCIES =
+tc11_XCHG_SOURCES = tc11_XCHG.c
+tc11_XCHG_OBJECTS = tc11_XCHG.$(OBJEXT)
+tc11_XCHG_LDADD = $(LDADD)
+tc11_XCHG_DEPENDENCIES =
+tc12_rwl_trivial_SOURCES = tc12_rwl_trivial.c
+tc12_rwl_trivial_OBJECTS = tc12_rwl_trivial.$(OBJEXT)
+tc12_rwl_trivial_LDADD = $(LDADD)
+tc12_rwl_trivial_DEPENDENCIES =
+tc13_laog1_SOURCES = tc13_laog1.c
+tc13_laog1_OBJECTS = tc13_laog1.$(OBJEXT)
+tc13_laog1_LDADD = $(LDADD)
+tc13_laog1_DEPENDENCIES =
+tc14_laog_dinphils_SOURCES = tc14_laog_dinphils.c
+tc14_laog_dinphils_OBJECTS = tc14_laog_dinphils.$(OBJEXT)
+tc14_laog_dinphils_LDADD = $(LDADD)
+tc14_laog_dinphils_DEPENDENCIES =
+tc15_laog_lockdel_SOURCES = tc15_laog_lockdel.c
+tc15_laog_lockdel_OBJECTS = tc15_laog_lockdel.$(OBJEXT)
+tc15_laog_lockdel_LDADD = $(LDADD)
+tc15_laog_lockdel_DEPENDENCIES =
+tc16_byterace_SOURCES = tc16_byterace.c
+tc16_byterace_OBJECTS = tc16_byterace.$(OBJEXT)
+tc16_byterace_LDADD = $(LDADD)
+tc16_byterace_DEPENDENCIES =
+tc17_sembar_SOURCES = tc17_sembar.c
+tc17_sembar_OBJECTS = tc17_sembar.$(OBJEXT)
+tc17_sembar_LDADD = $(LDADD)
+tc17_sembar_DEPENDENCIES =
+tc18_semabuse_SOURCES = tc18_semabuse.c
+tc18_semabuse_OBJECTS = tc18_semabuse.$(OBJEXT)
+tc18_semabuse_LDADD = $(LDADD)
+tc18_semabuse_DEPENDENCIES =
+tc19_shadowmem_SOURCES = tc19_shadowmem.c
+tc19_shadowmem_OBJECTS = tc19_shadowmem.$(OBJEXT)
+tc19_shadowmem_LDADD = $(LDADD)
+tc19_shadowmem_DEPENDENCIES =
+tc20_verifywrap_SOURCES = tc20_verifywrap.c
+tc20_verifywrap_OBJECTS = tc20_verifywrap.$(OBJEXT)
+tc20_verifywrap_LDADD = $(LDADD)
+tc20_verifywrap_DEPENDENCIES =
+tc21_pthonce_SOURCES = tc21_pthonce.c
+tc21_pthonce_OBJECTS = tc21_pthonce.$(OBJEXT)
+tc21_pthonce_LDADD = $(LDADD)
+tc21_pthonce_DEPENDENCIES =
+tc22_exit_w_lock_SOURCES = tc22_exit_w_lock.c
+tc22_exit_w_lock_OBJECTS = tc22_exit_w_lock.$(OBJEXT)
+tc22_exit_w_lock_LDADD = $(LDADD)
+tc22_exit_w_lock_DEPENDENCIES =
+tc23_bogus_condwait_SOURCES = tc23_bogus_condwait.c
+tc23_bogus_condwait_OBJECTS = tc23_bogus_condwait.$(OBJEXT)
+tc23_bogus_condwait_LDADD = $(LDADD)
+tc23_bogus_condwait_DEPENDENCIES =
+tc24_nonzero_sem_SOURCES = tc24_nonzero_sem.c
+tc24_nonzero_sem_OBJECTS = tc24_nonzero_sem.$(OBJEXT)
+tc24_nonzero_sem_LDADD = $(LDADD)
+tc24_nonzero_sem_DEPENDENCIES =
+SCRIPTS = $(noinst_SCRIPTS)
+DEFAULT_INCLUDES = -I.@am__isrc@ -I$(top_builddir)
+depcomp = $(SHELL) $(top_srcdir)/depcomp
+am__depfiles_maybe = depfiles
+COMPILE = $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) \
+ $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS)
+CCLD = $(CC)
+LINK = $(CCLD) $(AM_CFLAGS) $(CFLAGS) $(AM_LDFLAGS) $(LDFLAGS) -o $@
+SOURCES = bar_bad.c bar_trivial.c hg01_all_ok.c hg02_deadlock.c \
+ hg03_inherit.c hg04_race.c hg05_race2.c hg06_readshared.c \
+ tc01_simple_race.c tc02_simple_tls.c tc03_re_excl.c \
+ tc04_free_lock.c tc05_simple_race.c tc06_two_races.c \
+ tc07_hbl1.c tc08_hbl2.c tc09_bad_unlock.c tc10_rec_lock.c \
+ tc11_XCHG.c tc12_rwl_trivial.c tc13_laog1.c \
+ tc14_laog_dinphils.c tc15_laog_lockdel.c tc16_byterace.c \
+ tc17_sembar.c tc18_semabuse.c tc19_shadowmem.c \
+ tc20_verifywrap.c tc21_pthonce.c tc22_exit_w_lock.c \
+ tc23_bogus_condwait.c tc24_nonzero_sem.c
+DIST_SOURCES = bar_bad.c bar_trivial.c hg01_all_ok.c hg02_deadlock.c \
+ hg03_inherit.c hg04_race.c hg05_race2.c hg06_readshared.c \
+ tc01_simple_race.c tc02_simple_tls.c tc03_re_excl.c \
+ tc04_free_lock.c tc05_simple_race.c tc06_two_races.c \
+ tc07_hbl1.c tc08_hbl2.c tc09_bad_unlock.c tc10_rec_lock.c \
+ tc11_XCHG.c tc12_rwl_trivial.c tc13_laog1.c \
+ tc14_laog_dinphils.c tc15_laog_lockdel.c tc16_byterace.c \
+ tc17_sembar.c tc18_semabuse.c tc19_shadowmem.c \
+ tc20_verifywrap.c tc21_pthonce.c tc22_exit_w_lock.c \
+ tc23_bogus_condwait.c tc24_nonzero_sem.c
+ETAGS = etags
+CTAGS = ctags
+DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
+ACLOCAL = @ACLOCAL@
+AMTAR = @AMTAR@
+AR = @AR@
+AUTOCONF = @AUTOCONF@
+AUTOHEADER = @AUTOHEADER@
+AUTOMAKE = @AUTOMAKE@
+AWK = @AWK@
+BOOST_CFLAGS = @BOOST_CFLAGS@
+BOOST_LIBS = @BOOST_LIBS@
+CC = @CC@
+CCAS = @CCAS@
+CCASDEPMODE = @CCASDEPMODE@
+CCASFLAGS = @CCASFLAGS@
+CCDEPMODE = @CCDEPMODE@
+CFLAGS = @CFLAGS@
+CPP = @CPP@
+CPPFLAGS = @CPPFLAGS@
+CXX = @CXX@
+CXXDEPMODE = @CXXDEPMODE@
+CXXFLAGS = @CXXFLAGS@
+CYGPATH_W = @CYGPATH_W@
+DEFAULT_SUPP = @DEFAULT_SUPP@
+DEFS = @DEFS@
+DEPDIR = @DEPDIR@
+DIFF = @DIFF@
+DISTCHECK_CONFIGURE_FLAGS = @DISTCHECK_CONFIGURE_FLAGS@
+ECHO_C = @ECHO_C@
+ECHO_N = @ECHO_N@
+ECHO_T = @ECHO_T@
+EGREP = @EGREP@
+EXEEXT = @EXEEXT@
+FLAG_FNO_STACK_PROTECTOR = @FLAG_FNO_STACK_PROTECTOR@
+FLAG_M32 = @FLAG_M32@
+FLAG_M64 = @FLAG_M64@
+FLAG_MAIX32 = @FLAG_MAIX32@
+FLAG_MAIX64 = @FLAG_MAIX64@
+FLAG_MMMX = @FLAG_MMMX@
+FLAG_MSSE = @FLAG_MSSE@
+FLAG_UNLIMITED_INLINE_UNIT_GROWTH = @FLAG_UNLIMITED_INLINE_UNIT_GROWTH@
+FLAG_WDECL_AFTER_STMT = @FLAG_WDECL_AFTER_STMT@
+FLAG_W_EXTRA = @FLAG_W_EXTRA@
+FLAG_W_NO_FORMAT_ZERO_LENGTH = @FLAG_W_NO_FORMAT_ZERO_LENGTH@
+GDB = @GDB@
+GLIBC_VERSION = @GLIBC_VERSION@
+GREP = @GREP@
+INSTALL = @INSTALL@
+INSTALL_DATA = @INSTALL_DATA@
+INSTALL_PROGRAM = @INSTALL_PROGRAM@
+INSTALL_SCRIPT = @INSTALL_SCRIPT@
+INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@
+LDFLAGS = @LDFLAGS@
+LIBOBJS = @LIBOBJS@
+LIBS = @LIBS@
+LN_S = @LN_S@
+LTLIBOBJS = @LTLIBOBJS@
+MAINT = @MAINT@
+MAKEINFO = @MAKEINFO@
+MKDIR_P = @MKDIR_P@
+MPI_CC = @MPI_CC@
+OBJEXT = @OBJEXT@
+PACKAGE = @PACKAGE@
+PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@
+PACKAGE_NAME = @PACKAGE_NAME@
+PACKAGE_STRING = @PACKAGE_STRING@
+PACKAGE_TARNAME = @PACKAGE_TARNAME@
+PACKAGE_VERSION = @PACKAGE_VERSION@
+PATH_SEPARATOR = @PATH_SEPARATOR@
+PERL = @PERL@
+PKG_CONFIG = @PKG_CONFIG@
+PREFERRED_STACK_BOUNDARY = @PREFERRED_STACK_BOUNDARY@
+QTCORE_CFLAGS = @QTCORE_CFLAGS@
+QTCORE_LIBS = @QTCORE_LIBS@
+RANLIB = @RANLIB@
+SET_MAKE = @SET_MAKE@
+SHELL = @SHELL@
+STRIP = @STRIP@
+VALT_LOAD_ADDRESS = @VALT_LOAD_ADDRESS@
+VERSION = @VERSION@
+VEX_DIR = @VEX_DIR@
+VGCONF_ARCH_PRI = @VGCONF_ARCH_PRI@
+VGCONF_OS = @VGCONF_OS@
+VGCONF_PLATFORM_PRI_CAPS = @VGCONF_PLATFORM_PRI_CAPS@
+VGCONF_PLATFORM_SEC_CAPS = @VGCONF_PLATFORM_SEC_CAPS@
+abs_builddir = @abs_builddir@
+abs_srcdir = @abs_srcdir@
+abs_top_builddir = @abs_top_builddir@
+abs_top_srcdir = @abs_top_srcdir@
+ac_ct_CC = @ac_ct_CC@
+ac_ct_CXX = @ac_ct_CXX@
+am__include = @am__include@
+am__leading_dot = @am__leading_dot@
+am__quote = @am__quote@
+am__tar = @am__tar@
+am__untar = @am__untar@
+bindir = @bindir@
+build = @build@
+build_alias = @build_alias@
+build_cpu = @build_cpu@
+build_os = @build_os@
+build_vendor = @build_vendor@
+builddir = @builddir@
+datadir = @datadir@
+datarootdir = @datarootdir@
+docdir = @docdir@
+dvidir = @dvidir@
+exec_prefix = @exec_prefix@
+host = @host@
+host_alias = @host_alias@
+host_cpu = @host_cpu@
+host_os = @host_os@
+host_vendor = @host_vendor@
+htmldir = @htmldir@
+includedir = @includedir@
+infodir = @infodir@
+install_sh = @install_sh@
+libdir = @libdir@
+libexecdir = @libexecdir@
+localedir = @localedir@
+localstatedir = @localstatedir@
+mandir = @mandir@
+mkdir_p = @mkdir_p@
+oldincludedir = @oldincludedir@
+pdfdir = @pdfdir@
+prefix = @prefix@
+program_transform_name = @program_transform_name@
+psdir = @psdir@
+sbindir = @sbindir@
+sharedstatedir = @sharedstatedir@
+srcdir = @srcdir@
+sysconfdir = @sysconfdir@
+target_alias = @target_alias@
+top_builddir = @top_builddir@
+top_srcdir = @top_srcdir@
+
+# Baseline flags for all compilations. Aim here is to maximise
+# performance and get whatever useful warnings we can out of gcc.
+AM_CFLAGS_BASE = -O2 -g -Wmissing-prototypes -Wall -Wshadow \
+ -Wpointer-arith -Wstrict-prototypes -Wmissing-declarations \
+ @FLAG_W_NO_FORMAT_ZERO_LENGTH@ \
+ -fno-strict-aliasing
+
+
+# These flags are used for building the preload shared objects.
+# The aim is to give reasonable performance but also to have good
+# stack traces, since users often see stack traces extending
+# into (and through) the preloads.
+AM_CFLAGS_PIC = -O -g -fpic -fno-omit-frame-pointer -fno-strict-aliasing
+
+# Flags for specific targets.
+#
+# Nb: the AM_CPPFLAGS_* values are suitable for building tools and auxprogs.
+# For building the core, coregrind/Makefile.am files add some extra things.
+#
+# Also: in newer versions of automake (1.10 onwards?) asm files ending with
+# '.S' are considered "pre-processed" (as opposed to those ending in '.s')
+# and so the CPPFLAGS are passed to the assembler. But this is not true for
+# older automakes (e.g. 1.8.5, 1.9.6), sigh. So we include
+# AM_CPPFLAGS_<PLATFORM> in each AM_CCASFLAGS_<PLATFORM> variable. This
+# means some of the flags are duplicated on systems with newer versions of
+# automake, but this does not really matter and seems hard to avoid.
+AM_CPPFLAGS_COMMON = \
+ -I$(top_srcdir) \
+ -I$(top_srcdir)/include \
+ -I@VEX_DIR@/pub
+
+AM_FLAG_M3264_X86_LINUX = @FLAG_M32@
+AM_CPPFLAGS_X86_LINUX = $(AM_CPPFLAGS_COMMON) \
+ -DVGA_x86=1 \
+ -DVGO_linux=1 \
+ -DVGP_x86_linux=1
+
+AM_CFLAGS_X86_LINUX = @FLAG_M32@ @PREFERRED_STACK_BOUNDARY@ \
+ $(AM_CFLAGS_BASE)
+
+AM_CCASFLAGS_X86_LINUX = $(AM_CPPFLAGS_X86_LINUX) @FLAG_M32@ -g
+AM_FLAG_M3264_AMD64_LINUX = @FLAG_M64@
+AM_CPPFLAGS_AMD64_LINUX = $(AM_CPPFLAGS_COMMON) \
+ -DVGA_amd64=1 \
+ -DVGO_linux=1 \
+ -DVGP_amd64_linux=1
+
+AM_CFLAGS_AMD64_LINUX = @FLAG_M64@ -fomit-frame-pointer \
+ @PREFERRED_STACK_BOUNDARY@ $(AM_CFLAGS_BASE)
+
+AM_CCASFLAGS_AMD64_LINUX = $(AM_CPPFLAGS_AMD64_LINUX) @FLAG_M64@ -g
+AM_FLAG_M3264_PPC32_LINUX = @FLAG_M32@
+AM_CPPFLAGS_PPC32_LINUX = $(AM_CPPFLAGS_COMMON) \
+ -DVGA_ppc32=1 \
+ -DVGO_linux=1 \
+ -DVGP_ppc32_linux=1
+
+AM_CFLAGS_PPC32_LINUX = @FLAG_M32@ $(AM_CFLAGS_BASE)
+AM_CCASFLAGS_PPC32_LINUX = $(AM_CPPFLAGS_PPC32_LINUX) @FLAG_M32@ -g
+AM_FLAG_M3264_PPC64_LINUX = @FLAG_M64@
+AM_CPPFLAGS_PPC64_LINUX = $(AM_CPPFLAGS_COMMON) \
+ -DVGA_ppc64=1 \
+ -DVGO_linux=1 \
+ -DVGP_ppc64_linux=1
+
+AM_CFLAGS_PPC64_LINUX = @FLAG_M64@ $(AM_CFLAGS_BASE)
+AM_CCASFLAGS_PPC64_LINUX = $(AM_CPPFLAGS_PPC64_LINUX) @FLAG_M64@ -g
+AM_FLAG_M3264_PPC32_AIX5 = @FLAG_MAIX32@
+AM_CPPFLAGS_PPC32_AIX5 = $(AM_CPPFLAGS_COMMON) \
+ -DVGA_ppc32=1 \
+ -DVGO_aix5=1 \
+ -DVGP_ppc32_aix5=1
+
+AM_CFLAGS_PPC32_AIX5 = @FLAG_MAIX32@ -mcpu=powerpc $(AM_CFLAGS_BASE)
+AM_CCASFLAGS_PPC32_AIX5 = $(AM_CPPFLAGS_PPC32_AIX5) \
+ @FLAG_MAIX32@ -mcpu=powerpc -g
+
+AM_FLAG_M3264_PPC64_AIX5 = @FLAG_MAIX64@
+AM_CPPFLAGS_PPC64_AIX5 = $(AM_CPPFLAGS_COMMON) \
+ -DVGA_ppc64=1 \
+ -DVGO_aix5=1 \
+ -DVGP_ppc64_aix5=1
+
+AM_CFLAGS_PPC64_AIX5 = @FLAG_MAIX64@ -mcpu=powerpc64 $(AM_CFLAGS_BASE)
+AM_CCASFLAGS_PPC64_AIX5 = $(AM_CPPFLAGS_PPC64_AIX5) \
+ @FLAG_MAIX64@ -mcpu=powerpc64 -g
+
+
+# Flags for the primary target. These must be used to build the
+# regtests and performance tests. In fact, these must be used to
+# build anything which is built only once on a dual-arch build.
+#
+AM_FLAG_M3264_PRI = $(AM_FLAG_M3264_@VGCONF_PLATFORM_PRI_CAPS@)
+AM_CPPFLAGS_PRI = $(AM_CPPFLAGS_@VGCONF_PLATFORM_PRI_CAPS@)
+AM_CFLAGS_PRI = $(AM_CFLAGS_@VGCONF_PLATFORM_PRI_CAPS@)
+AM_CCASFLAGS_PRI = $(AM_CCASFLAGS_@VGCONF_PLATFORM_PRI_CAPS@)
+@VGCONF_HAVE_PLATFORM_SEC_CAPS_FALSE@AM_FLAG_M3264_SEC =
+@VGCONF_HAVE_PLATFORM_SEC_CAPS_TRUE@AM_FLAG_M3264_SEC = $(AM_FLAG_M3264_@VGCONF_PLATFORM_SEC_CAPS@)
+
+# Baseline link flags for making dynamic shared objects.
+#
+PRELOAD_LDFLAGS_COMMON_LINUX = -nodefaultlibs -shared -Wl,-z,interpose,-z,initfirst
+PRELOAD_LDFLAGS_COMMON_AIX5 = -nodefaultlibs -shared -Wl,-G -Wl,-bnogc
+PRELOAD_LDFLAGS_X86_LINUX = $(PRELOAD_LDFLAGS_COMMON_LINUX) @FLAG_M32@
+PRELOAD_LDFLAGS_AMD64_LINUX = $(PRELOAD_LDFLAGS_COMMON_LINUX) @FLAG_M64@
+PRELOAD_LDFLAGS_PPC32_LINUX = $(PRELOAD_LDFLAGS_COMMON_LINUX) @FLAG_M32@
+PRELOAD_LDFLAGS_PPC64_LINUX = $(PRELOAD_LDFLAGS_COMMON_LINUX) @FLAG_M64@
+PRELOAD_LDFLAGS_PPC32_AIX5 = $(PRELOAD_LDFLAGS_COMMON_AIX5) @FLAG_MAIX32@
+PRELOAD_LDFLAGS_PPC64_AIX5 = $(PRELOAD_LDFLAGS_COMMON_AIX5) @FLAG_MAIX64@
+AM_CPPFLAGS = -I$(top_srcdir) -I$(top_srcdir)/include \
+ -I$(top_srcdir)/coregrind -I$(top_builddir)/include \
+ -I@VEX_DIR@/pub \
+ -DVGA_$(VGCONF_ARCH_PRI)=1 \
+ -DVGO_$(VGCONF_OS)=1 \
+ -DVGP_$(VGCONF_ARCH_PRI)_$(VGCONF_OS)=1
+
+# Nb: Tools need to augment these flags with an arch-selection option, such
+# as $(AM_FLAG_M3264_PRI).
+AM_CFLAGS = -Winline -Wall -Wshadow -g $(AM_FLAG_M3264_PRI)
+AM_CXXFLAGS = -Winline -Wall -Wshadow -g $(AM_FLAG_M3264_PRI)
+# Include AM_CPPFLAGS in AM_CCASFLAGS to allow for older versions of
+# automake; see comments in Makefile.flags.am for more detail.
+AM_CCASFLAGS = $(AM_CPPFLAGS)
+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
+
+LDADD = -lpthread
+all: all-am
+
+.SUFFIXES:
+.SUFFIXES: .c .o .obj
+$(srcdir)/Makefile.in: @MAINTAINER_MODE_TRUE@ $(srcdir)/Makefile.am $(top_srcdir)/Makefile.tool-tests.am $(top_srcdir)/Makefile.flags.am $(am__configure_deps)
+ @for dep in $?; do \
+ case '$(am__configure_deps)' in \
+ *$$dep*) \
+ cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh \
+ && exit 0; \
+ exit 1;; \
+ esac; \
+ done; \
+ echo ' cd $(top_srcdir) && $(AUTOMAKE) --foreign helgrind/tests/Makefile'; \
+ cd $(top_srcdir) && \
+ $(AUTOMAKE) --foreign helgrind/tests/Makefile
+.PRECIOUS: Makefile
+Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
+ @case '$?' in \
+ *config.status*) \
+ cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \
+ *) \
+ echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)'; \
+ cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe);; \
+ esac;
+
+$(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES)
+ cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
+
+$(top_srcdir)/configure: @MAINTAINER_MODE_TRUE@ $(am__configure_deps)
+ cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
+$(ACLOCAL_M4): @MAINTAINER_MODE_TRUE@ $(am__aclocal_m4_deps)
+ cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
+
+clean-checkPROGRAMS:
+ -test -z "$(check_PROGRAMS)" || rm -f $(check_PROGRAMS)
+bar_bad$(EXEEXT): $(bar_bad_OBJECTS) $(bar_bad_DEPENDENCIES)
+ @rm -f bar_bad$(EXEEXT)
+ $(LINK) $(bar_bad_OBJECTS) $(bar_bad_LDADD) $(LIBS)
+bar_trivial$(EXEEXT): $(bar_trivial_OBJECTS) $(bar_trivial_DEPENDENCIES)
+ @rm -f bar_trivial$(EXEEXT)
+ $(LINK) $(bar_trivial_OBJECTS) $(bar_trivial_LDADD) $(LIBS)
+hg01_all_ok$(EXEEXT): $(hg01_all_ok_OBJECTS) $(hg01_all_ok_DEPENDENCIES)
+ @rm -f hg01_all_ok$(EXEEXT)
+ $(LINK) $(hg01_all_ok_OBJECTS) $(hg01_all_ok_LDADD) $(LIBS)
+hg02_deadlock$(EXEEXT): $(hg02_deadlock_OBJECTS) $(hg02_deadlock_DEPENDENCIES)
+ @rm -f hg02_deadlock$(EXEEXT)
+ $(LINK) $(hg02_deadlock_OBJECTS) $(hg02_deadlock_LDADD) $(LIBS)
+hg03_inherit$(EXEEXT): $(hg03_inherit_OBJECTS) $(hg03_inherit_DEPENDENCIES)
+ @rm -f hg03_inherit$(EXEEXT)
+ $(LINK) $(hg03_inherit_OBJECTS) $(hg03_inherit_LDADD) $(LIBS)
+hg04_race$(EXEEXT): $(hg04_race_OBJECTS) $(hg04_race_DEPENDENCIES)
+ @rm -f hg04_race$(EXEEXT)
+ $(LINK) $(hg04_race_OBJECTS) $(hg04_race_LDADD) $(LIBS)
+hg05_race2$(EXEEXT): $(hg05_race2_OBJECTS) $(hg05_race2_DEPENDENCIES)
+ @rm -f hg05_race2$(EXEEXT)
+ $(LINK) $(hg05_race2_OBJECTS) $(hg05_race2_LDADD) $(LIBS)
+hg06_readshared$(EXEEXT): $(hg06_readshared_OBJECTS) $(hg06_readshared_DEPENDENCIES)
+ @rm -f hg06_readshared$(EXEEXT)
+ $(LINK) $(hg06_readshared_OBJECTS) $(hg06_readshared_LDADD) $(LIBS)
+tc01_simple_race$(EXEEXT): $(tc01_simple_race_OBJECTS) $(tc01_simple_race_DEPENDENCIES)
+ @rm -f tc01_simple_race$(EXEEXT)
+ $(LINK) $(tc01_simple_race_OBJECTS) $(tc01_simple_race_LDADD) $(LIBS)
+tc02_simple_tls$(EXEEXT): $(tc02_simple_tls_OBJECTS) $(tc02_simple_tls_DEPENDENCIES)
+ @rm -f tc02_simple_tls$(EXEEXT)
+ $(LINK) $(tc02_simple_tls_OBJECTS) $(tc02_simple_tls_LDADD) $(LIBS)
+tc03_re_excl$(EXEEXT): $(tc03_re_excl_OBJECTS) $(tc03_re_excl_DEPENDENCIES)
+ @rm -f tc03_re_excl$(EXEEXT)
+ $(LINK) $(tc03_re_excl_OBJECTS) $(tc03_re_excl_LDADD) $(LIBS)
+tc04_free_lock$(EXEEXT): $(tc04_free_lock_OBJECTS) $(tc04_free_lock_DEPENDENCIES)
+ @rm -f tc04_free_lock$(EXEEXT)
+ $(LINK) $(tc04_free_lock_OBJECTS) $(tc04_free_lock_LDADD) $(LIBS)
+tc05_simple_race$(EXEEXT): $(tc05_simple_race_OBJECTS) $(tc05_simple_race_DEPENDENCIES)
+ @rm -f tc05_simple_race$(EXEEXT)
+ $(LINK) $(tc05_simple_race_OBJECTS) $(tc05_simple_race_LDADD) $(LIBS)
+tc06_two_races$(EXEEXT): $(tc06_two_races_OBJECTS) $(tc06_two_races_DEPENDENCIES)
+ @rm -f tc06_two_races$(EXEEXT)
+ $(LINK) $(tc06_two_races_OBJECTS) $(tc06_two_races_LDADD) $(LIBS)
+tc07_hbl1$(EXEEXT): $(tc07_hbl1_OBJECTS) $(tc07_hbl1_DEPENDENCIES)
+ @rm -f tc07_hbl1$(EXEEXT)
+ $(LINK) $(tc07_hbl1_OBJECTS) $(tc07_hbl1_LDADD) $(LIBS)
+tc08_hbl2$(EXEEXT): $(tc08_hbl2_OBJECTS) $(tc08_hbl2_DEPENDENCIES)
+ @rm -f tc08_hbl2$(EXEEXT)
+ $(LINK) $(tc08_hbl2_OBJECTS) $(tc08_hbl2_LDADD) $(LIBS)
+tc09_bad_unlock$(EXEEXT): $(tc09_bad_unlock_OBJECTS) $(tc09_bad_unlock_DEPENDENCIES)
+ @rm -f tc09_bad_unlock$(EXEEXT)
+ $(LINK) $(tc09_bad_unlock_OBJECTS) $(tc09_bad_unlock_LDADD) $(LIBS)
+tc10_rec_lock$(EXEEXT): $(tc10_rec_lock_OBJECTS) $(tc10_rec_lock_DEPENDENCIES)
+ @rm -f tc10_rec_lock$(EXEEXT)
+ $(LINK) $(tc10_rec_lock_OBJECTS) $(tc10_rec_lock_LDADD) $(LIBS)
+tc11_XCHG$(EXEEXT): $(tc11_XCHG_OBJECTS) $(tc11_XCHG_DEPENDENCIES)
+ @rm -f tc11_XCHG$(EXEEXT)
+ $(LINK) $(tc11_XCHG_OBJECTS) $(tc11_XCHG_LDADD) $(LIBS)
+tc12_rwl_trivial$(EXEEXT): $(tc12_rwl_trivial_OBJECTS) $(tc12_rwl_trivial_DEPENDENCIES)
+ @rm -f tc12_rwl_trivial$(EXEEXT)
+ $(LINK) $(tc12_rwl_trivial_OBJECTS) $(tc12_rwl_trivial_LDADD) $(LIBS)
+tc13_laog1$(EXEEXT): $(tc13_laog1_OBJECTS) $(tc13_laog1_DEPENDENCIES)
+ @rm -f tc13_laog1$(EXEEXT)
+ $(LINK) $(tc13_laog1_OBJECTS) $(tc13_laog1_LDADD) $(LIBS)
+tc14_laog_dinphils$(EXEEXT): $(tc14_laog_dinphils_OBJECTS) $(tc14_laog_dinphils_DEPENDENCIES)
+ @rm -f tc14_laog_dinphils$(EXEEXT)
+ $(LINK) $(tc14_laog_dinphils_OBJECTS) $(tc14_laog_dinphils_LDADD) $(LIBS)
+tc15_laog_lockdel$(EXEEXT): $(tc15_laog_lockdel_OBJECTS) $(tc15_laog_lockdel_DEPENDENCIES)
+ @rm -f tc15_laog_lockdel$(EXEEXT)
+ $(LINK) $(tc15_laog_lockdel_OBJECTS) $(tc15_laog_lockdel_LDADD) $(LIBS)
+tc16_byterace$(EXEEXT): $(tc16_byterace_OBJECTS) $(tc16_byterace_DEPENDENCIES)
+ @rm -f tc16_byterace$(EXEEXT)
+ $(LINK) $(tc16_byterace_OBJECTS) $(tc16_byterace_LDADD) $(LIBS)
+tc17_sembar$(EXEEXT): $(tc17_sembar_OBJECTS) $(tc17_sembar_DEPENDENCIES)
+ @rm -f tc17_sembar$(EXEEXT)
+ $(LINK) $(tc17_sembar_OBJECTS) $(tc17_sembar_LDADD) $(LIBS)
+tc18_semabuse$(EXEEXT): $(tc18_semabuse_OBJECTS) $(tc18_semabuse_DEPENDENCIES)
+ @rm -f tc18_semabuse$(EXEEXT)
+ $(LINK) $(tc18_semabuse_OBJECTS) $(tc18_semabuse_LDADD) $(LIBS)
+tc19_shadowmem$(EXEEXT): $(tc19_shadowmem_OBJECTS) $(tc19_shadowmem_DEPENDENCIES)
+ @rm -f tc19_shadowmem$(EXEEXT)
+ $(LINK) $(tc19_shadowmem_OBJECTS) $(tc19_shadowmem_LDADD) $(LIBS)
+tc20_verifywrap$(EXEEXT): $(tc20_verifywrap_OBJECTS) $(tc20_verifywrap_DEPENDENCIES)
+ @rm -f tc20_verifywrap$(EXEEXT)
+ $(LINK) $(tc20_verifywrap_OBJECTS) $(tc20_verifywrap_LDADD) $(LIBS)
+tc21_pthonce$(EXEEXT): $(tc21_pthonce_OBJECTS) $(tc21_pthonce_DEPENDENCIES)
+ @rm -f tc21_pthonce$(EXEEXT)
+ $(LINK) $(tc21_pthonce_OBJECTS) $(tc21_pthonce_LDADD) $(LIBS)
+tc22_exit_w_lock$(EXEEXT): $(tc22_exit_w_lock_OBJECTS) $(tc22_exit_w_lock_DEPENDENCIES)
+ @rm -f tc22_exit_w_lock$(EXEEXT)
+ $(LINK) $(tc22_exit_w_lock_OBJECTS) $(tc22_exit_w_lock_LDADD) $(LIBS)
+tc23_bogus_condwait$(EXEEXT): $(tc23_bogus_condwait_OBJECTS) $(tc23_bogus_condwait_DEPENDENCIES)
+ @rm -f tc23_bogus_condwait$(EXEEXT)
+ $(LINK) $(tc23_bogus_condwait_OBJECTS) $(tc23_bogus_condwait_LDADD) $(LIBS)
+tc24_nonzero_sem$(EXEEXT): $(tc24_nonzero_sem_OBJECTS) $(tc24_nonzero_sem_DEPENDENCIES)
+ @rm -f tc24_nonzero_sem$(EXEEXT)
+ $(LINK) $(tc24_nonzero_sem_OBJECTS) $(tc24_nonzero_sem_LDADD) $(LIBS)
+
+mostlyclean-compile:
+ -rm -f *.$(OBJEXT)
+
+distclean-compile:
+ -rm -f *.tab.c
+
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/bar_bad.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/bar_trivial.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/hg01_all_ok.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/hg02_deadlock.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/hg03_inherit.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/hg04_race.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/hg05_race2.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/hg06_readshared.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/tc01_simple_race.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/tc02_simple_tls.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/tc03_re_excl.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/tc04_free_lock.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/tc05_simple_race.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/tc06_two_races.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/tc07_hbl1.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/tc08_hbl2.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/tc09_bad_unlock.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/tc10_rec_lock.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/tc11_XCHG.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/tc12_rwl_trivial.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/tc13_laog1.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/tc14_laog_dinphils.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/tc15_laog_lockdel.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/tc16_byterace.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/tc17_sembar.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/tc18_semabuse.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/tc19_shadowmem.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/tc20_verifywrap.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/tc21_pthonce.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/tc22_exit_w_lock.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/tc23_bogus_condwait.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/tc24_nonzero_sem.Po@am__quote@
+
+.c.o:
+@am__fastdepCC_TRUE@ $(COMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $<
+@am__fastdepCC_TRUE@ mv -f $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='$<' object='$@' libtool=no @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCC_FALSE@ $(COMPILE) -c $<
+
+.c.obj:
+@am__fastdepCC_TRUE@ $(COMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ `$(CYGPATH_W) '$<'`
+@am__fastdepCC_TRUE@ mv -f $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='$<' object='$@' libtool=no @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCC_FALSE@ $(COMPILE) -c `$(CYGPATH_W) '$<'`
+
+ID: $(HEADERS) $(SOURCES) $(LISP) $(TAGS_FILES)
+ list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \
+ unique=`for i in $$list; do \
+ if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
+ done | \
+ $(AWK) '{ files[$$0] = 1; nonemtpy = 1; } \
+ END { if (nonempty) { for (i in files) print i; }; }'`; \
+ mkid -fID $$unique
+tags: TAGS
+
+TAGS: $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \
+ $(TAGS_FILES) $(LISP)
+ tags=; \
+ here=`pwd`; \
+ list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \
+ unique=`for i in $$list; do \
+ if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
+ done | \
+ $(AWK) '{ files[$$0] = 1; nonempty = 1; } \
+ END { if (nonempty) { for (i in files) print i; }; }'`; \
+ if test -z "$(ETAGS_ARGS)$$tags$$unique"; then :; else \
+ test -n "$$unique" || unique=$$empty_fix; \
+ $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \
+ $$tags $$unique; \
+ fi
+ctags: CTAGS
+CTAGS: $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \
+ $(TAGS_FILES) $(LISP)
+ tags=; \
+ list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \
+ unique=`for i in $$list; do \
+ if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
+ done | \
+ $(AWK) '{ files[$$0] = 1; nonempty = 1; } \
+ END { if (nonempty) { for (i in files) print i; }; }'`; \
+ test -z "$(CTAGS_ARGS)$$tags$$unique" \
+ || $(CTAGS) $(CTAGSFLAGS) $(AM_CTAGSFLAGS) $(CTAGS_ARGS) \
+ $$tags $$unique
+
+GTAGS:
+ here=`$(am__cd) $(top_builddir) && pwd` \
+ && cd $(top_srcdir) \
+ && gtags -i $(GTAGS_ARGS) $$here
+
+distclean-tags:
+ -rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags
+
+distdir: $(DISTFILES)
+ @srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \
+ topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \
+ list='$(DISTFILES)'; \
+ dist_files=`for file in $$list; do echo $$file; done | \
+ sed -e "s|^$$srcdirstrip/||;t" \
+ -e "s|^$$topsrcdirstrip/|$(top_builddir)/|;t"`; \
+ case $$dist_files in \
+ */*) $(MKDIR_P) `echo "$$dist_files" | \
+ sed '/\//!d;s|^|$(distdir)/|;s,/[^/]*$$,,' | \
+ sort -u` ;; \
+ esac; \
+ for file in $$dist_files; do \
+ if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \
+ if test -d $$d/$$file; then \
+ dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \
+ if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \
+ cp -pR $(srcdir)/$$file $(distdir)$$dir || exit 1; \
+ fi; \
+ cp -pR $$d/$$file $(distdir)$$dir || exit 1; \
+ else \
+ test -f $(distdir)/$$file \
+ || cp -p $$d/$$file $(distdir)/$$file \
+ || exit 1; \
+ fi; \
+ done
+check-am: all-am
+ $(MAKE) $(AM_MAKEFLAGS) $(check_PROGRAMS)
+check: check-am
+all-am: Makefile $(SCRIPTS)
+installdirs:
+install: install-am
+install-exec: install-exec-am
+install-data: install-data-am
+uninstall: uninstall-am
+
+install-am: all-am
+ @$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am
+
+installcheck: installcheck-am
+install-strip:
+ $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
+ install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
+ `test -z '$(STRIP)' || \
+ echo "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'"` install
+mostlyclean-generic:
+
+clean-generic:
+
+distclean-generic:
+ -test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES)
+
+maintainer-clean-generic:
+ @echo "This command is intended for maintainers to use"
+ @echo "it deletes files that may require special tools to rebuild."
+clean: clean-am
+
+clean-am: clean-checkPROGRAMS clean-generic mostlyclean-am
+
+distclean: distclean-am
+ -rm -rf ./$(DEPDIR)
+ -rm -f Makefile
+distclean-am: clean-am distclean-compile distclean-generic \
+ distclean-tags
+
+dvi: dvi-am
+
+dvi-am:
+
+html: html-am
+
+info: info-am
+
+info-am:
+
+install-data-am:
+
+install-dvi: install-dvi-am
+
+install-exec-am:
+
+install-html: install-html-am
+
+install-info: install-info-am
+
+install-man:
+
+install-pdf: install-pdf-am
+
+install-ps: install-ps-am
+
+installcheck-am:
+
+maintainer-clean: maintainer-clean-am
+ -rm -rf ./$(DEPDIR)
+ -rm -f Makefile
+maintainer-clean-am: distclean-am maintainer-clean-generic
+
+mostlyclean: mostlyclean-am
+
+mostlyclean-am: mostlyclean-compile mostlyclean-generic
+
+pdf: pdf-am
+
+pdf-am:
+
+ps: ps-am
+
+ps-am:
+
+uninstall-am:
+
+.MAKE: install-am install-strip
+
+.PHONY: CTAGS GTAGS all all-am check check-am clean \
+ clean-checkPROGRAMS clean-generic ctags distclean \
+ distclean-compile distclean-generic distclean-tags distdir dvi \
+ dvi-am html html-am info info-am install install-am \
+ install-data install-data-am install-dvi install-dvi-am \
+ install-exec install-exec-am install-html install-html-am \
+ install-info install-info-am install-man install-pdf \
+ install-pdf-am install-ps install-ps-am install-strip \
+ installcheck installcheck-am installdirs maintainer-clean \
+ maintainer-clean-generic mostlyclean mostlyclean-compile \
+ mostlyclean-generic pdf pdf-am ps ps-am tags uninstall \
+ uninstall-am
+
+# Tell versions [3.59,3.63) of GNU make to not export all variables.
+# Otherwise a system limit (for SysV at least) may be exceeded.
+.NOEXPORT:
diff --git a/helgrind/tests/bar_bad.c b/helgrind/tests/bar_bad.c
new file mode 100644
index 0000000..dd6079c
--- /dev/null
+++ b/helgrind/tests/bar_bad.c
@@ -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/bar_bad.stderr.exp b/helgrind/tests/bar_bad.stderr.exp
new file mode 100644
index 0000000..7fa1270
--- /dev/null
+++ b/helgrind/tests/bar_bad.stderr.exp
@@ -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/bar_bad.stdout.exp b/helgrind/tests/bar_bad.stdout.exp
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/helgrind/tests/bar_bad.stdout.exp
diff --git a/helgrind/tests/bar_bad.vgtest b/helgrind/tests/bar_bad.vgtest
new file mode 100644
index 0000000..fe946f5
--- /dev/null
+++ b/helgrind/tests/bar_bad.vgtest
@@ -0,0 +1,3 @@
+prereq: test -e bar_bad
+prog: bar_bad
+vgopts: -q
diff --git a/helgrind/tests/bar_trivial.c b/helgrind/tests/bar_trivial.c
new file mode 100644
index 0000000..8c221ae
--- /dev/null
+++ b/helgrind/tests/bar_trivial.c
@@ -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/bar_trivial.stderr.exp b/helgrind/tests/bar_trivial.stderr.exp
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/helgrind/tests/bar_trivial.stderr.exp
diff --git a/helgrind/tests/bar_trivial.stdout.exp b/helgrind/tests/bar_trivial.stdout.exp
new file mode 100644
index 0000000..407de30
--- /dev/null
+++ b/helgrind/tests/bar_trivial.stdout.exp
@@ -0,0 +1 @@
+x = 2
diff --git a/helgrind/tests/bar_trivial.vgtest b/helgrind/tests/bar_trivial.vgtest
new file mode 100644
index 0000000..40f2776
--- /dev/null
+++ b/helgrind/tests/bar_trivial.vgtest
@@ -0,0 +1,3 @@
+prereq: test -e bar_trivial
+prog: bar_trivial
+vgopts: -q
diff --git a/helgrind/tests/filter_stderr b/helgrind/tests/filter_stderr
new file mode 100755
index 0000000..5b71068
--- /dev/null
+++ b/helgrind/tests/filter_stderr
@@ -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/hg01_all_ok.c b/helgrind/tests/hg01_all_ok.c
new file mode 100644
index 0000000..144ce60
--- /dev/null
+++ b/helgrind/tests/hg01_all_ok.c
@@ -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/hg01_all_ok.stderr.exp b/helgrind/tests/hg01_all_ok.stderr.exp
new file mode 100644
index 0000000..d18786f
--- /dev/null
+++ b/helgrind/tests/hg01_all_ok.stderr.exp
@@ -0,0 +1,3 @@
+
+
+ERROR SUMMARY: 0 errors from 0 contexts (suppressed: 0 from 0)
diff --git a/helgrind/tests/hg01_all_ok.stdout.exp b/helgrind/tests/hg01_all_ok.stdout.exp
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/helgrind/tests/hg01_all_ok.stdout.exp
diff --git a/helgrind/tests/hg01_all_ok.vgtest b/helgrind/tests/hg01_all_ok.vgtest
new file mode 100644
index 0000000..9524976
--- /dev/null
+++ b/helgrind/tests/hg01_all_ok.vgtest
@@ -0,0 +1 @@
+prog: hg01_all_ok
diff --git a/helgrind/tests/hg02_deadlock.c b/helgrind/tests/hg02_deadlock.c
new file mode 100644
index 0000000..1142f5c
--- /dev/null
+++ b/helgrind/tests/hg02_deadlock.c
@@ -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/hg02_deadlock.stderr.exp b/helgrind/tests/hg02_deadlock.stderr.exp
new file mode 100644
index 0000000..cec8d41
--- /dev/null
+++ b/helgrind/tests/hg02_deadlock.stderr.exp
@@ -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/hg02_deadlock.stdout.exp b/helgrind/tests/hg02_deadlock.stdout.exp
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/helgrind/tests/hg02_deadlock.stdout.exp
diff --git a/helgrind/tests/hg02_deadlock.vgtest b/helgrind/tests/hg02_deadlock.vgtest
new file mode 100644
index 0000000..ff0deb7
--- /dev/null
+++ b/helgrind/tests/hg02_deadlock.vgtest
@@ -0,0 +1 @@
+prog: hg02_deadlock
diff --git a/helgrind/tests/hg03_inherit.c b/helgrind/tests/hg03_inherit.c
new file mode 100644
index 0000000..7c429f8
--- /dev/null
+++ b/helgrind/tests/hg03_inherit.c
@@ -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/hg03_inherit.stderr.exp b/helgrind/tests/hg03_inherit.stderr.exp
new file mode 100644
index 0000000..feed364
--- /dev/null
+++ b/helgrind/tests/hg03_inherit.stderr.exp
@@ -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/hg03_inherit.stdout.exp b/helgrind/tests/hg03_inherit.stdout.exp
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/helgrind/tests/hg03_inherit.stdout.exp
diff --git a/helgrind/tests/hg03_inherit.vgtest b/helgrind/tests/hg03_inherit.vgtest
new file mode 100644
index 0000000..548a489
--- /dev/null
+++ b/helgrind/tests/hg03_inherit.vgtest
@@ -0,0 +1,2 @@
+prog: hg03_inherit
+vgopts: --read-var-info=yes
diff --git a/helgrind/tests/hg04_race.c b/helgrind/tests/hg04_race.c
new file mode 100644
index 0000000..111195b
--- /dev/null
+++ b/helgrind/tests/hg04_race.c
@@ -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/hg04_race.stderr.exp b/helgrind/tests/hg04_race.stderr.exp
new file mode 100644
index 0000000..9996006
--- /dev/null
+++ b/helgrind/tests/hg04_race.stderr.exp
@@ -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/hg04_race.stdout.exp b/helgrind/tests/hg04_race.stdout.exp
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/helgrind/tests/hg04_race.stdout.exp
diff --git a/helgrind/tests/hg04_race.vgtest b/helgrind/tests/hg04_race.vgtest
new file mode 100644
index 0000000..42ee396
--- /dev/null
+++ b/helgrind/tests/hg04_race.vgtest
@@ -0,0 +1,2 @@
+prog: hg04_race
+vgopts: --read-var-info=yes
diff --git a/helgrind/tests/hg05_race2.c b/helgrind/tests/hg05_race2.c
new file mode 100644
index 0000000..de01f2c
--- /dev/null
+++ b/helgrind/tests/hg05_race2.c
@@ -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/hg05_race2.stderr.exp b/helgrind/tests/hg05_race2.stderr.exp
new file mode 100644
index 0000000..067a194
--- /dev/null
+++ b/helgrind/tests/hg05_race2.stderr.exp
@@ -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/hg05_race2.stdout.exp b/helgrind/tests/hg05_race2.stdout.exp
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/helgrind/tests/hg05_race2.stdout.exp
diff --git a/helgrind/tests/hg05_race2.vgtest b/helgrind/tests/hg05_race2.vgtest
new file mode 100644
index 0000000..250a6eb
--- /dev/null
+++ b/helgrind/tests/hg05_race2.vgtest
@@ -0,0 +1,2 @@
+prog: hg05_race2
+vgopts: --read-var-info=yes
diff --git a/helgrind/tests/hg06_readshared.c b/helgrind/tests/hg06_readshared.c
new file mode 100644
index 0000000..3904b44
--- /dev/null
+++ b/helgrind/tests/hg06_readshared.c
@@ -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/hg06_readshared.stderr.exp b/helgrind/tests/hg06_readshared.stderr.exp
new file mode 100644
index 0000000..d18786f
--- /dev/null
+++ b/helgrind/tests/hg06_readshared.stderr.exp
@@ -0,0 +1,3 @@
+
+
+ERROR SUMMARY: 0 errors from 0 contexts (suppressed: 0 from 0)
diff --git a/helgrind/tests/hg06_readshared.stdout.exp b/helgrind/tests/hg06_readshared.stdout.exp
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/helgrind/tests/hg06_readshared.stdout.exp
diff --git a/helgrind/tests/hg06_readshared.vgtest b/helgrind/tests/hg06_readshared.vgtest
new file mode 100644
index 0000000..c5accee
--- /dev/null
+++ b/helgrind/tests/hg06_readshared.vgtest
@@ -0,0 +1 @@
+prog: hg06_readshared
diff --git a/helgrind/tests/pth_barrier1.stderr.exp b/helgrind/tests/pth_barrier1.stderr.exp
new file mode 100644
index 0000000..6df3a23
--- /dev/null
+++ b/helgrind/tests/pth_barrier1.stderr.exp
@@ -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/pth_barrier1.stdout.exp b/helgrind/tests/pth_barrier1.stdout.exp
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/helgrind/tests/pth_barrier1.stdout.exp
diff --git a/helgrind/tests/pth_barrier1.vgtest b/helgrind/tests/pth_barrier1.vgtest
new file mode 100644
index 0000000..7b0d62f
--- /dev/null
+++ b/helgrind/tests/pth_barrier1.vgtest
@@ -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/pth_barrier2.stderr.exp b/helgrind/tests/pth_barrier2.stderr.exp
new file mode 100644
index 0000000..84a2a0a
--- /dev/null
+++ b/helgrind/tests/pth_barrier2.stderr.exp
@@ -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/pth_barrier2.stdout.exp b/helgrind/tests/pth_barrier2.stdout.exp
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/helgrind/tests/pth_barrier2.stdout.exp
diff --git a/helgrind/tests/pth_barrier2.vgtest b/helgrind/tests/pth_barrier2.vgtest
new file mode 100644
index 0000000..13036b3
--- /dev/null
+++ b/helgrind/tests/pth_barrier2.vgtest
@@ -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/pth_barrier3.stderr.exp b/helgrind/tests/pth_barrier3.stderr.exp
new file mode 100644
index 0000000..6df3a23
--- /dev/null
+++ b/helgrind/tests/pth_barrier3.stderr.exp
@@ -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/pth_barrier3.stdout.exp b/helgrind/tests/pth_barrier3.stdout.exp
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/helgrind/tests/pth_barrier3.stdout.exp
diff --git a/helgrind/tests/pth_barrier3.vgtest b/helgrind/tests/pth_barrier3.vgtest
new file mode 100644
index 0000000..06ab6c3
--- /dev/null
+++ b/helgrind/tests/pth_barrier3.vgtest
@@ -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/rwlock_race.stderr.exp b/helgrind/tests/rwlock_race.stderr.exp
new file mode 100644
index 0000000..e62847e
--- /dev/null
+++ b/helgrind/tests/rwlock_race.stderr.exp
@@ -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/rwlock_race.stdout.exp b/helgrind/tests/rwlock_race.stdout.exp
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/helgrind/tests/rwlock_race.stdout.exp
diff --git a/helgrind/tests/rwlock_race.vgtest b/helgrind/tests/rwlock_race.vgtest
new file mode 100644
index 0000000..00b462f
--- /dev/null
+++ b/helgrind/tests/rwlock_race.vgtest
@@ -0,0 +1,2 @@
+prog: ../../drd/tests/rwlock_race
+vgopts: --read-var-info=yes
diff --git a/helgrind/tests/rwlock_test.stderr.exp b/helgrind/tests/rwlock_test.stderr.exp
new file mode 100644
index 0000000..a7089bb
--- /dev/null
+++ b/helgrind/tests/rwlock_test.stderr.exp
@@ -0,0 +1,4 @@
+
+Finished.
+
+ERROR SUMMARY: 0 errors from 0 contexts (suppressed: 0 from 0)
diff --git a/helgrind/tests/rwlock_test.stdout.exp b/helgrind/tests/rwlock_test.stdout.exp
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/helgrind/tests/rwlock_test.stdout.exp
diff --git a/helgrind/tests/rwlock_test.vgtest b/helgrind/tests/rwlock_test.vgtest
new file mode 100644
index 0000000..4257fc9
--- /dev/null
+++ b/helgrind/tests/rwlock_test.vgtest
@@ -0,0 +1 @@
+prog: ../../drd/tests/rwlock_test
diff --git a/helgrind/tests/tc01_simple_race.c b/helgrind/tests/tc01_simple_race.c
new file mode 100644
index 0000000..abf37b5
--- /dev/null
+++ b/helgrind/tests/tc01_simple_race.c
@@ -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/tc01_simple_race.stderr.exp b/helgrind/tests/tc01_simple_race.stderr.exp
new file mode 100644
index 0000000..1fc04fe
--- /dev/null
+++ b/helgrind/tests/tc01_simple_race.stderr.exp
@@ -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/tc01_simple_race.stdout.exp b/helgrind/tests/tc01_simple_race.stdout.exp
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/helgrind/tests/tc01_simple_race.stdout.exp
diff --git a/helgrind/tests/tc01_simple_race.vgtest b/helgrind/tests/tc01_simple_race.vgtest
new file mode 100644
index 0000000..be686ab
--- /dev/null
+++ b/helgrind/tests/tc01_simple_race.vgtest
@@ -0,0 +1,2 @@
+prog: tc01_simple_race
+vgopts: --read-var-info=yes
diff --git a/helgrind/tests/tc02_simple_tls.c b/helgrind/tests/tc02_simple_tls.c
new file mode 100644
index 0000000..a23b14c
--- /dev/null
+++ b/helgrind/tests/tc02_simple_tls.c
@@ -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/tc02_simple_tls.stderr.exp b/helgrind/tests/tc02_simple_tls.stderr.exp
new file mode 100644
index 0000000..d18786f
--- /dev/null
+++ b/helgrind/tests/tc02_simple_tls.stderr.exp
@@ -0,0 +1,3 @@
+
+
+ERROR SUMMARY: 0 errors from 0 contexts (suppressed: 0 from 0)
diff --git a/helgrind/tests/tc02_simple_tls.stdout.exp b/helgrind/tests/tc02_simple_tls.stdout.exp
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/helgrind/tests/tc02_simple_tls.stdout.exp
diff --git a/helgrind/tests/tc02_simple_tls.vgtest b/helgrind/tests/tc02_simple_tls.vgtest
new file mode 100644
index 0000000..57db35c
--- /dev/null
+++ b/helgrind/tests/tc02_simple_tls.vgtest
@@ -0,0 +1 @@
+prog: tc02_simple_tls
diff --git a/helgrind/tests/tc03_re_excl.c b/helgrind/tests/tc03_re_excl.c
new file mode 100644
index 0000000..4f3ce51
--- /dev/null
+++ b/helgrind/tests/tc03_re_excl.c
@@ -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/tc03_re_excl.stderr.exp b/helgrind/tests/tc03_re_excl.stderr.exp
new file mode 100644
index 0000000..d18786f
--- /dev/null
+++ b/helgrind/tests/tc03_re_excl.stderr.exp
@@ -0,0 +1,3 @@
+
+
+ERROR SUMMARY: 0 errors from 0 contexts (suppressed: 0 from 0)
diff --git a/helgrind/tests/tc03_re_excl.stdout.exp b/helgrind/tests/tc03_re_excl.stdout.exp
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/helgrind/tests/tc03_re_excl.stdout.exp
diff --git a/helgrind/tests/tc03_re_excl.vgtest b/helgrind/tests/tc03_re_excl.vgtest
new file mode 100644
index 0000000..e12924a
--- /dev/null
+++ b/helgrind/tests/tc03_re_excl.vgtest
@@ -0,0 +1 @@
+prog: tc03_re_excl
diff --git a/helgrind/tests/tc04_free_lock.c b/helgrind/tests/tc04_free_lock.c
new file mode 100644
index 0000000..c1ffa25
--- /dev/null
+++ b/helgrind/tests/tc04_free_lock.c
@@ -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/tc04_free_lock.stderr.exp b/helgrind/tests/tc04_free_lock.stderr.exp
new file mode 100644
index 0000000..11a0329
--- /dev/null
+++ b/helgrind/tests/tc04_free_lock.stderr.exp
@@ -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/tc04_free_lock.stdout.exp b/helgrind/tests/tc04_free_lock.stdout.exp
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/helgrind/tests/tc04_free_lock.stdout.exp
diff --git a/helgrind/tests/tc04_free_lock.vgtest b/helgrind/tests/tc04_free_lock.vgtest
new file mode 100644
index 0000000..27d28bf
--- /dev/null
+++ b/helgrind/tests/tc04_free_lock.vgtest
@@ -0,0 +1 @@
+prog: tc04_free_lock
diff --git a/helgrind/tests/tc05_simple_race.c b/helgrind/tests/tc05_simple_race.c
new file mode 100644
index 0000000..287c12c
--- /dev/null
+++ b/helgrind/tests/tc05_simple_race.c
@@ -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/tc05_simple_race.stderr.exp b/helgrind/tests/tc05_simple_race.stderr.exp
new file mode 100644
index 0000000..f90f6b2
--- /dev/null
+++ b/helgrind/tests/tc05_simple_race.stderr.exp
@@ -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/tc05_simple_race.stdout.exp b/helgrind/tests/tc05_simple_race.stdout.exp
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/helgrind/tests/tc05_simple_race.stdout.exp
diff --git a/helgrind/tests/tc05_simple_race.vgtest b/helgrind/tests/tc05_simple_race.vgtest
new file mode 100644
index 0000000..0d6800a
--- /dev/null
+++ b/helgrind/tests/tc05_simple_race.vgtest
@@ -0,0 +1,2 @@
+prog: tc05_simple_race
+vgopts: --read-var-info=yes
diff --git a/helgrind/tests/tc06_two_races.c b/helgrind/tests/tc06_two_races.c
new file mode 100644
index 0000000..4eaf9dd
--- /dev/null
+++ b/helgrind/tests/tc06_two_races.c
@@ -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/tc06_two_races.stderr.exp b/helgrind/tests/tc06_two_races.stderr.exp
new file mode 100644
index 0000000..c49d364
--- /dev/null
+++ b/helgrind/tests/tc06_two_races.stderr.exp
@@ -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/tc06_two_races.stdout.exp b/helgrind/tests/tc06_two_races.stdout.exp
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/helgrind/tests/tc06_two_races.stdout.exp
diff --git a/helgrind/tests/tc06_two_races.vgtest b/helgrind/tests/tc06_two_races.vgtest
new file mode 100644
index 0000000..28f9bdf
--- /dev/null
+++ b/helgrind/tests/tc06_two_races.vgtest
@@ -0,0 +1,2 @@
+prog: tc06_two_races
+vgopts: --read-var-info=yes
diff --git a/helgrind/tests/tc07_hbl1.c b/helgrind/tests/tc07_hbl1.c
new file mode 100644
index 0000000..12253aa
--- /dev/null
+++ b/helgrind/tests/tc07_hbl1.c
@@ -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/tc07_hbl1.stderr.exp b/helgrind/tests/tc07_hbl1.stderr.exp
new file mode 100644
index 0000000..d18786f
--- /dev/null
+++ b/helgrind/tests/tc07_hbl1.stderr.exp
@@ -0,0 +1,3 @@
+
+
+ERROR SUMMARY: 0 errors from 0 contexts (suppressed: 0 from 0)
diff --git a/helgrind/tests/tc07_hbl1.stdout.exp b/helgrind/tests/tc07_hbl1.stdout.exp
new file mode 100644
index 0000000..407de30
--- /dev/null
+++ b/helgrind/tests/tc07_hbl1.stdout.exp
@@ -0,0 +1 @@
+x = 2
diff --git a/helgrind/tests/tc07_hbl1.vgtest b/helgrind/tests/tc07_hbl1.vgtest
new file mode 100644
index 0000000..71c463f
--- /dev/null
+++ b/helgrind/tests/tc07_hbl1.vgtest
@@ -0,0 +1 @@
+prog: tc07_hbl1
diff --git a/helgrind/tests/tc08_hbl2.c b/helgrind/tests/tc08_hbl2.c
new file mode 100644
index 0000000..d67435a
--- /dev/null
+++ b/helgrind/tests/tc08_hbl2.c
@@ -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/tc08_hbl2.stderr.exp b/helgrind/tests/tc08_hbl2.stderr.exp
new file mode 100644
index 0000000..d18786f
--- /dev/null
+++ b/helgrind/tests/tc08_hbl2.stderr.exp
@@ -0,0 +1,3 @@
+
+
+ERROR SUMMARY: 0 errors from 0 contexts (suppressed: 0 from 0)
diff --git a/helgrind/tests/tc08_hbl2.stdout.exp b/helgrind/tests/tc08_hbl2.stdout.exp
new file mode 100644
index 0000000..ce39ad5
--- /dev/null
+++ b/helgrind/tests/tc08_hbl2.stdout.exp
@@ -0,0 +1,3 @@
+child: new value 6
+child: new value 10
+done, x = 10
diff --git a/helgrind/tests/tc08_hbl2.vgtest b/helgrind/tests/tc08_hbl2.vgtest
new file mode 100644
index 0000000..6d0a2cb
--- /dev/null
+++ b/helgrind/tests/tc08_hbl2.vgtest
@@ -0,0 +1 @@
+prog: tc08_hbl2
diff --git a/helgrind/tests/tc09_bad_unlock.c b/helgrind/tests/tc09_bad_unlock.c
new file mode 100644
index 0000000..238ce9b
--- /dev/null
+++ b/helgrind/tests/tc09_bad_unlock.c
@@ -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/tc09_bad_unlock.stderr.exp-glibc23-amd64 b/helgrind/tests/tc09_bad_unlock.stderr.exp-glibc23-amd64
new file mode 100644
index 0000000..d78d98a
--- /dev/null
+++ b/helgrind/tests/tc09_bad_unlock.stderr.exp-glibc23-amd64
@@ -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/tc09_bad_unlock.stderr.exp-glibc25-amd64 b/helgrind/tests/tc09_bad_unlock.stderr.exp-glibc25-amd64
new file mode 100644
index 0000000..51ff990
--- /dev/null
+++ b/helgrind/tests/tc09_bad_unlock.stderr.exp-glibc25-amd64
@@ -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/tc09_bad_unlock.stderr.exp-glibc25-x86 b/helgrind/tests/tc09_bad_unlock.stderr.exp-glibc25-x86
new file mode 100644
index 0000000..1e53aa6
--- /dev/null
+++ b/helgrind/tests/tc09_bad_unlock.stderr.exp-glibc25-x86
@@ -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/tc09_bad_unlock.stdout.exp b/helgrind/tests/tc09_bad_unlock.stdout.exp
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/helgrind/tests/tc09_bad_unlock.stdout.exp
diff --git a/helgrind/tests/tc09_bad_unlock.vgtest b/helgrind/tests/tc09_bad_unlock.vgtest
new file mode 100644
index 0000000..d09a702
--- /dev/null
+++ b/helgrind/tests/tc09_bad_unlock.vgtest
@@ -0,0 +1 @@
+prog: tc09_bad_unlock
diff --git a/helgrind/tests/tc10_rec_lock.c b/helgrind/tests/tc10_rec_lock.c
new file mode 100644
index 0000000..648305c
--- /dev/null
+++ b/helgrind/tests/tc10_rec_lock.c
@@ -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/tc10_rec_lock.stderr.exp b/helgrind/tests/tc10_rec_lock.stderr.exp
new file mode 100644
index 0000000..7e65ba7
--- /dev/null
+++ b/helgrind/tests/tc10_rec_lock.stderr.exp
@@ -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/tc10_rec_lock.stdout.exp b/helgrind/tests/tc10_rec_lock.stdout.exp
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/helgrind/tests/tc10_rec_lock.stdout.exp
diff --git a/helgrind/tests/tc10_rec_lock.vgtest b/helgrind/tests/tc10_rec_lock.vgtest
new file mode 100644
index 0000000..bfd0f89
--- /dev/null
+++ b/helgrind/tests/tc10_rec_lock.vgtest
@@ -0,0 +1 @@
+prog: tc10_rec_lock
diff --git a/helgrind/tests/tc11_XCHG.c b/helgrind/tests/tc11_XCHG.c
new file mode 100644
index 0000000..22c6baf
--- /dev/null
+++ b/helgrind/tests/tc11_XCHG.c
@@ -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/tc11_XCHG.stderr.exp b/helgrind/tests/tc11_XCHG.stderr.exp
new file mode 100644
index 0000000..d18786f
--- /dev/null
+++ b/helgrind/tests/tc11_XCHG.stderr.exp
@@ -0,0 +1,3 @@
+
+
+ERROR SUMMARY: 0 errors from 0 contexts (suppressed: 0 from 0)
diff --git a/helgrind/tests/tc11_XCHG.stdout.exp b/helgrind/tests/tc11_XCHG.stdout.exp
new file mode 100644
index 0000000..2e9ba47
--- /dev/null
+++ b/helgrind/tests/tc11_XCHG.stdout.exp
@@ -0,0 +1 @@
+success
diff --git a/helgrind/tests/tc11_XCHG.vgtest b/helgrind/tests/tc11_XCHG.vgtest
new file mode 100644
index 0000000..342199b
--- /dev/null
+++ b/helgrind/tests/tc11_XCHG.vgtest
@@ -0,0 +1 @@
+prog: tc11_XCHG
diff --git a/helgrind/tests/tc12_rwl_trivial.c b/helgrind/tests/tc12_rwl_trivial.c
new file mode 100644
index 0000000..9dc8e84
--- /dev/null
+++ b/helgrind/tests/tc12_rwl_trivial.c
@@ -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/tc12_rwl_trivial.stderr.exp b/helgrind/tests/tc12_rwl_trivial.stderr.exp
new file mode 100644
index 0000000..5d4f383
--- /dev/null
+++ b/helgrind/tests/tc12_rwl_trivial.stderr.exp
@@ -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/tc12_rwl_trivial.stdout.exp b/helgrind/tests/tc12_rwl_trivial.stdout.exp
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/helgrind/tests/tc12_rwl_trivial.stdout.exp
diff --git a/helgrind/tests/tc12_rwl_trivial.vgtest b/helgrind/tests/tc12_rwl_trivial.vgtest
new file mode 100644
index 0000000..fdcd644
--- /dev/null
+++ b/helgrind/tests/tc12_rwl_trivial.vgtest
@@ -0,0 +1 @@
+prog: tc12_rwl_trivial
diff --git a/helgrind/tests/tc13_laog1.c b/helgrind/tests/tc13_laog1.c
new file mode 100644
index 0000000..e42ca98
--- /dev/null
+++ b/helgrind/tests/tc13_laog1.c
@@ -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/tc13_laog1.stderr.exp b/helgrind/tests/tc13_laog1.stderr.exp
new file mode 100644
index 0000000..643aef9
--- /dev/null
+++ b/helgrind/tests/tc13_laog1.stderr.exp
@@ -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/tc13_laog1.stdout.exp b/helgrind/tests/tc13_laog1.stdout.exp
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/helgrind/tests/tc13_laog1.stdout.exp
diff --git a/helgrind/tests/tc13_laog1.vgtest b/helgrind/tests/tc13_laog1.vgtest
new file mode 100644
index 0000000..9fa71cd
--- /dev/null
+++ b/helgrind/tests/tc13_laog1.vgtest
@@ -0,0 +1 @@
+prog: tc13_laog1
diff --git a/helgrind/tests/tc14_laog_dinphils.c b/helgrind/tests/tc14_laog_dinphils.c
new file mode 100644
index 0000000..c5af8c1
--- /dev/null
+++ b/helgrind/tests/tc14_laog_dinphils.c
@@ -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/tc14_laog_dinphils.stderr.exp b/helgrind/tests/tc14_laog_dinphils.stderr.exp
new file mode 100644
index 0000000..f2e710f
--- /dev/null
+++ b/helgrind/tests/tc14_laog_dinphils.stderr.exp
@@ -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/tc14_laog_dinphils.stdout.exp b/helgrind/tests/tc14_laog_dinphils.stdout.exp
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/helgrind/tests/tc14_laog_dinphils.stdout.exp
diff --git a/helgrind/tests/tc14_laog_dinphils.vgtest b/helgrind/tests/tc14_laog_dinphils.vgtest
new file mode 100644
index 0000000..5871b73
--- /dev/null
+++ b/helgrind/tests/tc14_laog_dinphils.vgtest
@@ -0,0 +1 @@
+prog: tc14_laog_dinphils
diff --git a/helgrind/tests/tc15_laog_lockdel.c b/helgrind/tests/tc15_laog_lockdel.c
new file mode 100644
index 0000000..68668b1
--- /dev/null
+++ b/helgrind/tests/tc15_laog_lockdel.c
@@ -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/tc15_laog_lockdel.stderr.exp b/helgrind/tests/tc15_laog_lockdel.stderr.exp
new file mode 100644
index 0000000..cf7fce9
--- /dev/null
+++ b/helgrind/tests/tc15_laog_lockdel.stderr.exp
@@ -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/tc15_laog_lockdel.stdout.exp b/helgrind/tests/tc15_laog_lockdel.stdout.exp
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/helgrind/tests/tc15_laog_lockdel.stdout.exp
diff --git a/helgrind/tests/tc15_laog_lockdel.vgtest b/helgrind/tests/tc15_laog_lockdel.vgtest
new file mode 100644
index 0000000..bd7a2ec
--- /dev/null
+++ b/helgrind/tests/tc15_laog_lockdel.vgtest
@@ -0,0 +1 @@
+prog: tc15_laog_lockdel
diff --git a/helgrind/tests/tc16_byterace.c b/helgrind/tests/tc16_byterace.c
new file mode 100644
index 0000000..70a9101
--- /dev/null
+++ b/helgrind/tests/tc16_byterace.c
@@ -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/tc16_byterace.stderr.exp b/helgrind/tests/tc16_byterace.stderr.exp
new file mode 100644
index 0000000..95d0011
--- /dev/null
+++ b/helgrind/tests/tc16_byterace.stderr.exp
@@ -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/tc16_byterace.stdout.exp b/helgrind/tests/tc16_byterace.stdout.exp
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/helgrind/tests/tc16_byterace.stdout.exp
diff --git a/helgrind/tests/tc16_byterace.vgtest b/helgrind/tests/tc16_byterace.vgtest
new file mode 100644
index 0000000..0b424a4
--- /dev/null
+++ b/helgrind/tests/tc16_byterace.vgtest
@@ -0,0 +1,2 @@
+prog: tc16_byterace
+vgopts: --read-var-info=yes
diff --git a/helgrind/tests/tc17_sembar.c b/helgrind/tests/tc17_sembar.c
new file mode 100644
index 0000000..cc91f5e
--- /dev/null
+++ b/helgrind/tests/tc17_sembar.c
@@ -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/tc17_sembar.stderr.exp b/helgrind/tests/tc17_sembar.stderr.exp
new file mode 100644
index 0000000..b3f318e
--- /dev/null
+++ b/helgrind/tests/tc17_sembar.stderr.exp
@@ -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/tc17_sembar.stdout.exp b/helgrind/tests/tc17_sembar.stdout.exp
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/helgrind/tests/tc17_sembar.stdout.exp
diff --git a/helgrind/tests/tc17_sembar.vgtest b/helgrind/tests/tc17_sembar.vgtest
new file mode 100644
index 0000000..643ed8a
--- /dev/null
+++ b/helgrind/tests/tc17_sembar.vgtest
@@ -0,0 +1 @@
+prog: tc17_sembar
diff --git a/helgrind/tests/tc18_semabuse.c b/helgrind/tests/tc18_semabuse.c
new file mode 100644
index 0000000..40c068b
--- /dev/null
+++ b/helgrind/tests/tc18_semabuse.c
@@ -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/tc18_semabuse.stderr.exp-glibc25-amd64 b/helgrind/tests/tc18_semabuse.stderr.exp-glibc25-amd64
new file mode 100644
index 0000000..c2077ed
--- /dev/null
+++ b/helgrind/tests/tc18_semabuse.stderr.exp-glibc25-amd64
@@ -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/tc18_semabuse.stderr.exp-glibc28-amd64 b/helgrind/tests/tc18_semabuse.stderr.exp-glibc28-amd64
new file mode 100644
index 0000000..ac8baaa
--- /dev/null
+++ b/helgrind/tests/tc18_semabuse.stderr.exp-glibc28-amd64
@@ -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/tc18_semabuse.stdout.exp b/helgrind/tests/tc18_semabuse.stdout.exp
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/helgrind/tests/tc18_semabuse.stdout.exp
diff --git a/helgrind/tests/tc18_semabuse.vgtest b/helgrind/tests/tc18_semabuse.vgtest
new file mode 100644
index 0000000..fe4d22b
--- /dev/null
+++ b/helgrind/tests/tc18_semabuse.vgtest
@@ -0,0 +1 @@
+prog: tc18_semabuse
diff --git a/helgrind/tests/tc19_shadowmem.c b/helgrind/tests/tc19_shadowmem.c
new file mode 100644
index 0000000..ec05061
--- /dev/null
+++ b/helgrind/tests/tc19_shadowmem.c
@@ -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/tc19_shadowmem.stderr.exp b/helgrind/tests/tc19_shadowmem.stderr.exp
new file mode 100644
index 0000000..1e580d2
--- /dev/null
+++ b/helgrind/tests/tc19_shadowmem.stderr.exp
@@ -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/tc19_shadowmem.stdout.exp b/helgrind/tests/tc19_shadowmem.stdout.exp
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/helgrind/tests/tc19_shadowmem.stdout.exp
diff --git a/helgrind/tests/tc19_shadowmem.vgtest b/helgrind/tests/tc19_shadowmem.vgtest
new file mode 100644
index 0000000..233e8e4
--- /dev/null
+++ b/helgrind/tests/tc19_shadowmem.vgtest
@@ -0,0 +1,2 @@
+prog: tc19_shadowmem
+vgopts: --cmp-race-err-addrs=yes --error-limit=no
diff --git a/helgrind/tests/tc20_verifywrap.c b/helgrind/tests/tc20_verifywrap.c
new file mode 100644
index 0000000..667aafa
--- /dev/null
+++ b/helgrind/tests/tc20_verifywrap.c
@@ -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/tc20_verifywrap.stderr.exp-glibc25-amd64 b/helgrind/tests/tc20_verifywrap.stderr.exp-glibc25-amd64
new file mode 100644
index 0000000..5d001f5
--- /dev/null
+++ b/helgrind/tests/tc20_verifywrap.stderr.exp-glibc25-amd64
@@ -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/tc20_verifywrap.stderr.exp-glibc27-amd64 b/helgrind/tests/tc20_verifywrap.stderr.exp-glibc27-amd64
new file mode 100644
index 0000000..6e9af75
--- /dev/null
+++ b/helgrind/tests/tc20_verifywrap.stderr.exp-glibc27-amd64
@@ -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/tc20_verifywrap.stdout.exp b/helgrind/tests/tc20_verifywrap.stdout.exp
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/helgrind/tests/tc20_verifywrap.stdout.exp
diff --git a/helgrind/tests/tc20_verifywrap.vgtest b/helgrind/tests/tc20_verifywrap.vgtest
new file mode 100644
index 0000000..7683e8a
--- /dev/null
+++ b/helgrind/tests/tc20_verifywrap.vgtest
@@ -0,0 +1,2 @@
+prog: tc20_verifywrap
+vgopts: --read-var-info=yes
diff --git a/helgrind/tests/tc21_pthonce.c b/helgrind/tests/tc21_pthonce.c
new file mode 100644
index 0000000..69fac76
--- /dev/null
+++ b/helgrind/tests/tc21_pthonce.c
@@ -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/tc21_pthonce.stderr.exp b/helgrind/tests/tc21_pthonce.stderr.exp
new file mode 100644
index 0000000..65cae9a
--- /dev/null
+++ b/helgrind/tests/tc21_pthonce.stderr.exp
@@ -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/tc21_pthonce.stdout.exp b/helgrind/tests/tc21_pthonce.stdout.exp
new file mode 100644
index 0000000..e6c2dc2
--- /dev/null
+++ b/helgrind/tests/tc21_pthonce.stdout.exp
@@ -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/tc21_pthonce.vgtest b/helgrind/tests/tc21_pthonce.vgtest
new file mode 100644
index 0000000..0887de8
--- /dev/null
+++ b/helgrind/tests/tc21_pthonce.vgtest
@@ -0,0 +1,2 @@
+prog: tc21_pthonce
+vgopts: --read-var-info=yes
diff --git a/helgrind/tests/tc22_exit_w_lock.c b/helgrind/tests/tc22_exit_w_lock.c
new file mode 100644
index 0000000..d40600e
--- /dev/null
+++ b/helgrind/tests/tc22_exit_w_lock.c
@@ -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/tc22_exit_w_lock.stderr.exp b/helgrind/tests/tc22_exit_w_lock.stderr.exp
new file mode 100644
index 0000000..74139f1
--- /dev/null
+++ b/helgrind/tests/tc22_exit_w_lock.stderr.exp
@@ -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/tc22_exit_w_lock.stdout.exp b/helgrind/tests/tc22_exit_w_lock.stdout.exp
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/helgrind/tests/tc22_exit_w_lock.stdout.exp
diff --git a/helgrind/tests/tc22_exit_w_lock.vgtest b/helgrind/tests/tc22_exit_w_lock.vgtest
new file mode 100644
index 0000000..4f85dd5
--- /dev/null
+++ b/helgrind/tests/tc22_exit_w_lock.vgtest
@@ -0,0 +1 @@
+prog: tc22_exit_w_lock
diff --git a/helgrind/tests/tc23_bogus_condwait.c b/helgrind/tests/tc23_bogus_condwait.c
new file mode 100644
index 0000000..a0fad5d
--- /dev/null
+++ b/helgrind/tests/tc23_bogus_condwait.c
@@ -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/tc23_bogus_condwait.stderr.exp b/helgrind/tests/tc23_bogus_condwait.stderr.exp
new file mode 100644
index 0000000..d80ee1a
--- /dev/null
+++ b/helgrind/tests/tc23_bogus_condwait.stderr.exp
@@ -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/tc23_bogus_condwait.stdout.exp b/helgrind/tests/tc23_bogus_condwait.stdout.exp
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/helgrind/tests/tc23_bogus_condwait.stdout.exp
diff --git a/helgrind/tests/tc23_bogus_condwait.vgtest b/helgrind/tests/tc23_bogus_condwait.vgtest
new file mode 100644
index 0000000..31c3ed8
--- /dev/null
+++ b/helgrind/tests/tc23_bogus_condwait.vgtest
@@ -0,0 +1 @@
+prog: tc23_bogus_condwait
diff --git a/helgrind/tests/tc24_nonzero_sem.c b/helgrind/tests/tc24_nonzero_sem.c
new file mode 100644
index 0000000..01c23e8
--- /dev/null
+++ b/helgrind/tests/tc24_nonzero_sem.c
@@ -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/tc24_nonzero_sem.stderr.exp b/helgrind/tests/tc24_nonzero_sem.stderr.exp
new file mode 100644
index 0000000..d18786f
--- /dev/null
+++ b/helgrind/tests/tc24_nonzero_sem.stderr.exp
@@ -0,0 +1,3 @@
+
+
+ERROR SUMMARY: 0 errors from 0 contexts (suppressed: 0 from 0)
diff --git a/helgrind/tests/tc24_nonzero_sem.stdout.exp b/helgrind/tests/tc24_nonzero_sem.stdout.exp
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/helgrind/tests/tc24_nonzero_sem.stdout.exp
diff --git a/helgrind/tests/tc24_nonzero_sem.vgtest b/helgrind/tests/tc24_nonzero_sem.vgtest
new file mode 100644
index 0000000..1a43121
--- /dev/null
+++ b/helgrind/tests/tc24_nonzero_sem.vgtest
@@ -0,0 +1,2 @@
+prog: tc24_nonzero_sem
+vgopts: --hg-sanity-flags=111111