|
From: <sv...@va...> - 2009-04-26 22:23:29
|
Author: njn
Date: 2009-04-26 23:23:20 +0100 (Sun, 26 Apr 2009)
New Revision: 9641
Log:
Merge r9624..r9639 (DRD tweaks, mostly) from the trunk.
Added:
branches/DARWIN/drd/tests/pth_create_glibc_2_0.c
branches/DARWIN/drd/tests/pth_create_glibc_2_0.stderr.exp
branches/DARWIN/drd/tests/pth_create_glibc_2_0.vgtest
Modified:
branches/DARWIN/NEWS
branches/DARWIN/configure.in
branches/DARWIN/drd/drd_bitmap.c
branches/DARWIN/drd/drd_bitmap.h
branches/DARWIN/drd/scripts/measurement-functions
branches/DARWIN/drd/scripts/run-splash2
branches/DARWIN/drd/tests/
branches/DARWIN/drd/tests/Makefile.am
branches/DARWIN/drd/tests/tc09_bad_unlock.stderr.exp-glibc2.8
branches/DARWIN/drd/tests/tc19_shadowmem.stderr.exp-32bit
branches/DARWIN/drd/tests/tc20_verifywrap.stderr.exp-glibc2.8
branches/DARWIN/drd/tests/tc20_verifywrap2.stderr.exp-glibc2.8
branches/DARWIN/include/pub_tool_oset.h
Modified: branches/DARWIN/NEWS
===================================================================
--- branches/DARWIN/NEWS 2009-04-26 22:18:44 UTC (rev 9640)
+++ branches/DARWIN/NEWS 2009-04-26 22:23:20 UTC (rev 9641)
@@ -79,6 +79,8 @@
187048 DRD - the mutex attribute PTHREAD_PROCESS_SHARED is now
interpreted correctly.
188046 Removed a bashism from the configure script.
+189763 DRD - pthread_create@GLIBC_2.0() no longer triggers an assertion
+ failure.
Modified: branches/DARWIN/configure.in
===================================================================
--- branches/DARWIN/configure.in 2009-04-26 22:18:44 UTC (rev 9640)
+++ branches/DARWIN/configure.in 2009-04-26 22:23:20 UTC (rev 9641)
@@ -972,6 +972,35 @@
AM_CONDITIONAL([HAVE_ALTIVEC_H], [test x$ac_have_altivec = xyes])
+# Check for pthread_create@GLIBC2.0
+AC_MSG_CHECKING([for pthread_create@GLIBC2.0()])
+
+safe_CFLAGS=$CFLAGS
+CFLAGS="-lpthread"
+AC_TRY_LINK(
+[
+extern int pthread_create_glibc_2_0(void*, const void*,
+ void *(*)(void*), void*);
+__asm__(".symver pthread_create_glibc_2_0, pthread_create@GLIBC_2.0");
+], [
+ pthread_create_glibc_2_0(0, 0, 0, 0);
+ return 0;
+],
+[
+ac_have_pthread_create_glibc_2_0=yes
+AC_MSG_RESULT([yes])
+AC_DEFINE([HAVE_PTHREAD_CREATE_GLIBC_2_0], 1,
+ [Define to 1 if you have the `pthread_create@glibc2.0' function.])
+], [
+ac_have_pthread_create_glibc_2_0=no
+AC_MSG_RESULT([no])
+])
+CFLAGS=$safe_CFLAGS
+
+AM_CONDITIONAL(HAVE_PTHREAD_CREATE_GLIBC_2_0,
+ test x$ac_have_pthread_create_glibc_2_0 = xyes)
+
+
# Check for eventfd_t, eventfd() and eventfd_read()
AC_MSG_CHECKING([for eventfd()])
Modified: branches/DARWIN/drd/drd_bitmap.c
===================================================================
--- branches/DARWIN/drd/drd_bitmap.c 2009-04-26 22:18:44 UTC (rev 9640)
+++ branches/DARWIN/drd/drd_bitmap.c 2009-04-26 22:23:20 UTC (rev 9641)
@@ -112,6 +112,17 @@
const Addr a1, const Addr a2,
const BmAccessTypeT access_type)
{
+ tl_assert(access_type == eLoad || access_type == eStore);
+
+ if (access_type == eLoad)
+ return DRD_(bm_access_range_load)(bm, a1, a2);
+ else
+ return DRD_(bm_access_range_store)(bm, a1, a2);
+}
+
+void DRD_(bm_access_range_load)(struct bitmap* const bm,
+ const Addr a1, const Addr a2)
+{
Addr b, b_next;
tl_assert(bm);
@@ -145,39 +156,34 @@
b_start = (bm2->addr << ADDR0_BITS);
else
break;
- tl_assert(a1 <= b_start && b_start <= a2);
if ((bm2->addr << ADDR0_BITS) + ADDR0_COUNT < a2)
b_end = (bm2->addr << ADDR0_BITS) + ADDR0_COUNT;
else
b_end = a2;
- tl_assert(a1 <= b_end && b_end <= a2);
- tl_assert(b_start < b_end);
+
+ tl_assert(a1 <= b_start && b_start < b_end && b_end && b_end <= a2);
tl_assert((b_start & ADDR0_MASK) <= ((b_end - 1) & ADDR0_MASK));
-
- if (access_type == eLoad)
+
+ if (b_end - b_start == ADDR0_COUNT)
{
- for (b0 = b_start & ADDR0_MASK; b0 <= ((b_end - 1) & ADDR0_MASK); b0++)
+ unsigned k;
+
+ for (k = 0; k < BITMAP1_UWORD_COUNT; k++)
{
- bm0_set(bm2->bm1.bm0_r, b0);
+ bm2->bm1.bm0_r[k] = ~(UWord)0;
}
}
else
{
for (b0 = b_start & ADDR0_MASK; b0 <= ((b_end - 1) & ADDR0_MASK); b0++)
{
- bm0_set(bm2->bm1.bm0_w, b0);
+ bm0_set(bm2->bm1.bm0_r, b0);
}
}
}
}
-void DRD_(bm_access_range_load)(struct bitmap* const bm,
- const Addr a1, const Addr a2)
-{
- DRD_(bm_access_range)(bm, a1, a2, eLoad);
-}
-
void DRD_(bm_access_load_1)(struct bitmap* const bm, const Addr a1)
{
bm_access_aligned_load(bm, a1, 1);
@@ -215,7 +221,65 @@
void DRD_(bm_access_range_store)(struct bitmap* const bm,
const Addr a1, const Addr a2)
{
- DRD_(bm_access_range)(bm, a1, a2, eStore);
+ Addr b, b_next;
+
+ tl_assert(bm);
+ tl_assert(a1 < a2);
+ /* The current implementation of bm_access_range does not work for the */
+ /* ADDR0_COUNT highest addresses in the address range. At least on Linux */
+ /* this is not a problem since the upper part of the address space is */
+ /* reserved for the kernel. */
+ tl_assert(a2 + ADDR0_COUNT > a2);
+
+ for (b = a1; b < a2; b = b_next)
+ {
+ Addr b_start;
+ Addr b_end;
+ struct bitmap2* bm2;
+ SPLIT_ADDRESS(b);
+
+ b_next = (b & ~ADDR0_MASK) + ADDR0_COUNT;
+ if (b_next > a2)
+ {
+ b_next = a2;
+ }
+
+ bm2 = bm2_lookup_or_insert_exclusive(bm, b1);
+ tl_assert(bm2);
+
+ if ((bm2->addr << ADDR0_BITS) < a1)
+ b_start = a1;
+ else
+ if ((bm2->addr << ADDR0_BITS) < a2)
+ b_start = (bm2->addr << ADDR0_BITS);
+ else
+ break;
+
+ if ((bm2->addr << ADDR0_BITS) + ADDR0_COUNT < a2)
+ b_end = (bm2->addr << ADDR0_BITS) + ADDR0_COUNT;
+ else
+ b_end = a2;
+
+ tl_assert(a1 <= b_start && b_start < b_end && b_end && b_end <= a2);
+ tl_assert((b_start & ADDR0_MASK) <= ((b_end - 1) & ADDR0_MASK));
+
+ if (b_end - b_start == ADDR0_COUNT)
+ {
+ unsigned k;
+
+ for (k = 0; k < BITMAP1_UWORD_COUNT; k++)
+ {
+ bm2->bm1.bm0_w[k] = ~(UWord)0;
+ }
+ }
+ else
+ {
+ for (b0 = b_start & ADDR0_MASK; b0 <= ((b_end - 1) & ADDR0_MASK); b0++)
+ {
+ bm0_set(bm2->bm1.bm0_w, b0);
+ }
+ }
+ }
}
void DRD_(bm_access_store_1)(struct bitmap* const bm, const Addr a1)
@@ -255,9 +319,7 @@
Bool DRD_(bm_has)(struct bitmap* const bm, const Addr a1, const Addr a2,
const BmAccessTypeT access_type)
{
-#ifdef ENABLE_DRD_CONSISTENCY_CHECKS
tl_assert(access_type == eLoad || access_type == eStore);
-#endif
if (access_type == eLoad)
return DRD_(bm_has_any_load)(bm, a1, a2);
@@ -460,8 +522,8 @@
#if 0
if (a2 - a1 >= ADDR0_COUNT)
- VG_(message)(Vg_DebugMsg, "bm_clear(bm = %p, a1 = 0x%lx, a2 = 0x%lx, delta = 0x%lx",
- bm, a1, a2, a2 - a1);
+ VG_(message)(Vg_DebugMsg, "bm_clear(bm = %p, a1 = 0x%lx, a2 = 0x%lx,"
+ " delta = 0x%lx", bm, a1, a2, a2 - a1);
#endif
for (b = a1; b < a2; b = b_next)
@@ -542,8 +604,8 @@
#if 0
if (a2 - a1 >= ADDR0_COUNT)
- VG_(message)(Vg_DebugMsg, "bm_clear_load(bm = %p, a1 = 0x%lx, a2 = 0x%lx, delta = 0x%lx",
- bm, a1, a2, a2 - a1);
+ VG_(message)(Vg_DebugMsg, "bm_clear_load(bm = %p, a1 = 0x%lx, a2 = 0x%lx,"
+ " delta = 0x%lx", bm, a1, a2, a2 - a1);
#endif
for (b = a1; b < a2; b = b_next)
@@ -628,8 +690,8 @@
#if 0
if (a2 - a1 >= ADDR0_COUNT)
- VG_(message)(Vg_DebugMsg, "bm_clear_store(bm = %p, a1 = 0x%lx, a2 = 0x%lx, delta = 0x%lx",
- bm, a1, a2, a2 - a1);
+ VG_(message)(Vg_DebugMsg, "bm_clear_store(bm = %p, a1 = 0x%lx, a2 = 0x%lx,"
+ " delta = 0x%lx", bm, a1, a2, a2 - a1);
#endif
for (b = a1; b < a2; b = b_next)
@@ -646,7 +708,7 @@
b_next = (b & ~ADDR0_MASK) + ADDR0_COUNT;
if (b_next > a2)
{
- b_next = a2;
+ b_next = a2;
}
if (p2 == 0)
@@ -660,15 +722,15 @@
#endif
if (UWORD_LSB(c))
{
- Addr c_next = UWORD_MSB(c) + BITS_PER_UWORD;
- if (c_next > b_next)
- c_next = b_next;
+ Addr c_next = UWORD_MSB(c) + BITS_PER_UWORD;
+ if (c_next > b_next)
+ c_next = b_next;
#ifdef ENABLE_DRD_CONSISTENCY_CHECKS
- tl_assert(a1 <= b && b <= c && c < c_next && c_next <= b_next
- && b_next <= a2);
+ tl_assert(a1 <= b && b <= c && c < c_next && c_next <= b_next
+ && b_next <= a2);
#endif
- bm0_clear_range(p2->bm1.bm0_w, c & ADDR0_MASK, c_next - c);
- c = c_next;
+ bm0_clear_range(p2->bm1.bm0_w, c & ADDR0_MASK, c_next - c);
+ c = c_next;
}
/* If some UWords have to be cleared entirely, do this now. */
#ifdef ENABLE_DRD_CONSISTENCY_CHECKS
@@ -676,19 +738,19 @@
#endif
if (UWORD_LSB(c) == 0)
{
- const Addr c_next = UWORD_MSB(b_next);
+ const Addr c_next = UWORD_MSB(b_next);
#ifdef ENABLE_DRD_CONSISTENCY_CHECKS
- tl_assert(UWORD_LSB(c) == 0);
- tl_assert(UWORD_LSB(c_next) == 0);
- tl_assert(a1 <= b && b <= c && c <= c_next && c_next <= b_next
- && b_next <= a2);
+ tl_assert(UWORD_LSB(c) == 0);
+ tl_assert(UWORD_LSB(c_next) == 0);
+ tl_assert(a1 <= b && b <= c && c <= c_next && c_next <= b_next
+ && b_next <= a2);
#endif
- if (c_next > c)
- {
- UWord idx = (c & ADDR0_MASK) >> BITS_PER_BITS_PER_UWORD;
- VG_(memset)(&p2->bm1.bm0_w[idx], 0, (c_next - c) / 8);
- c = c_next;
- }
+ if (c_next > c)
+ {
+ UWord idx = (c & ADDR0_MASK) >> BITS_PER_BITS_PER_UWORD;
+ VG_(memset)(&p2->bm1.bm0_w[idx], 0, (c_next - c) / 8);
+ c = c_next;
+ }
}
/* If the last address in the bitmap that must be cleared does not */
/* fall on an UWord boundary, clear the last addresses. */
@@ -886,15 +948,23 @@
VG_(message)(Vg_DebugMsg, "bm_equal: at 0x%lx", bm2l->addr << ADDR0_BITS);
#endif
- bm2r_ref = VG_(OSetGen_Next)(rhs->oset);
- if (bm2r_ref == 0)
+ do
{
+ bm2r_ref = VG_(OSetGen_Next)(rhs->oset);
+ if (bm2r_ref == 0)
+ {
#if 0
- VG_(message)(Vg_DebugMsg, "bm_equal: no match found");
+ VG_(message)(Vg_DebugMsg, "bm_equal: no match found");
#endif
- return False;
+ return False;
+ }
+ bm2r = bm2r_ref->bm2;
+ tl_assert(bm2r);
}
- bm2r = bm2r_ref->bm2;
+ while (! DRD_(bm_has_any_access)(rhs,
+ bm2r->addr << ADDR0_BITS,
+ (bm2r->addr + 1) << ADDR0_BITS));
+
tl_assert(bm2r);
tl_assert(DRD_(bm_has_any_access)(rhs,
bm2r->addr << ADDR0_BITS,
@@ -911,7 +981,13 @@
return False;
}
}
- bm2r = VG_(OSetGen_Next)(rhs->oset);
+
+ do
+ {
+ bm2r = VG_(OSetGen_Next)(rhs->oset);
+ } while (bm2r && ! DRD_(bm_has_any_access)(rhs,
+ bm2r->addr << ADDR0_BITS,
+ (bm2r->addr + 1) << ADDR0_BITS));
if (bm2r)
{
tl_assert(DRD_(bm_has_any_access)(rhs,
Modified: branches/DARWIN/drd/drd_bitmap.h
===================================================================
--- branches/DARWIN/drd/drd_bitmap.h 2009-04-26 22:18:44 UTC (rev 9640)
+++ branches/DARWIN/drd/drd_bitmap.h 2009-04-26 22:23:20 UTC (rev 9641)
@@ -136,13 +136,20 @@
const Addr a1, const SizeT size)
{
#ifdef ENABLE_DRD_CONSISTENCY_CHECKS
- tl_assert(a1 < ADDR0_COUNT);
- tl_assert(size >= 0);
+ tl_assert(a1 <= ADDR0_COUNT);
tl_assert(a1 + size <= ADDR0_COUNT);
tl_assert(size == 0 || UWORD_MSB(a1) == UWORD_MSB(a1 + size - 1));
#endif
- bm0[a1 >> BITS_PER_BITS_PER_UWORD]
- &= ~((((UWord)1 << size) - 1) << UWORD_LSB(a1));
+ /*
+ * Note: although the expression below yields a correct result even if
+ * size == 0, do not touch bm0[] if size == 0 because this might otherwise
+ * cause an access of memory just past the end of the bm0[] array.
+ */
+ if (size > 0)
+ {
+ bm0[a1 >> BITS_PER_BITS_PER_UWORD]
+ &= ~((((UWord)1 << size) - 1) << UWORD_LSB(a1));
+ }
}
static __inline__ UWord bm0_is_set(const UWord* bm0, const Addr a)
Modified: branches/DARWIN/drd/scripts/measurement-functions
===================================================================
--- branches/DARWIN/drd/scripts/measurement-functions 2009-04-26 22:18:44 UTC (rev 9640)
+++ branches/DARWIN/drd/scripts/measurement-functions 2009-04-26 22:23:20 UTC (rev 9641)
@@ -37,8 +37,9 @@
fi
}
-## Read a stream of numbers from stdin (one per line), and print the average
-# and standard deviation.
+## Read zero or more lines from stdin, and print the average and standard
+# deviation per column. n is the number of lines, m the number of columns.
+# Each line must have the same number of columns.
function avgstddev {
awk '{n++;m=NF;for(i=1;i<=NF;i++){sum[i]+=$i;sumsq[i]+=$i*$i}}END{for(i=1;i<=m;i++){d=sumsq[i]/n-sum[i]*sum[i]/n/n;printf "%.2f %.2f ",sum[i]/n,(d>=0.0001?sqrt(d):0.01)}}'
}
@@ -54,6 +55,11 @@
return 1
fi
+ if ! { dump-acct -h 2>&1 | grep -q -w format; }; then
+ echo "Error: the installed version of dump-acct is not recent enough." >&2
+ return 1
+ fi
+
if [ -e /var/log/account/pacct ]; then
pacct=/var/log/account/pacct
elif [ -e /var/account/pacct ]; then
@@ -65,7 +71,8 @@
/usr/sbin/dump-acct "${pacct}" | \
grep -- "^$(basename "$1").*|v3|" | \
cut -f8 -d'|' | \
- tail -n 1
+ tail -n 1 | \
+ { read vsz; echo ${vsz:-0}; }
}
## Query the virtual memory size for the last invocation of command $1 from
Modified: branches/DARWIN/drd/scripts/run-splash2
===================================================================
--- branches/DARWIN/drd/scripts/run-splash2 2009-04-26 22:18:44 UTC (rev 9640)
+++ branches/DARWIN/drd/scripts/run-splash2 2009-04-26 22:23:20 UTC (rev 9641)
@@ -10,51 +10,67 @@
local tmp avg1 stddev1 avg2 stddev2 avg4 stddev4 p
tmp="/tmp/test-timing.$$"
+
rm -f "${tmp}"
-
p=1
test_output="${1}-p${p}.out" measure_runtime "$@" -p${psep}${p} "${test_args}" | avgstddev > "$tmp"
- read avg1 stddev1 vsz1 vszdev1 < "$tmp"
+ read avg1 stddev1 vsz1 vszdev1 rest < "$tmp"
echo "Average time: ${avg1} +/- ${stddev1} seconds." \
" VSZ: ${vsz1} +/- ${vszdev1} KB"
+ if [ "${rest}" != "" ]; then
+ echo "Internal error ($rest)"
+ exit 1
+ fi
+
+ rm -f "${tmp}"
p=2
test_output="${1}-p${p}.out" measure_runtime "$@" -p${psep}${p} "${test_args}" | avgstddev > "$tmp"
- read avg2 stddev2 vsz2 vszdev2 < "$tmp"
+ read avg2 stddev2 vsz2 vszdev2 rest < "$tmp"
echo "Average time: ${avg2} +/- ${stddev2} seconds." \
" VSZ: ${vsz2} +/- ${vszdev2} KB"
+ if [ "${rest}" != "" ]; then
+ echo "Internal error ($rest)"
+ exit 1
+ fi
+
+ rm -f "${tmp}"
p=4
test_output="${1}-p${p}.out" measure_runtime "$@" -p${psep}${p} "${test_args}" | avgstddev > "$tmp"
- read avg4 stddev4 vsz4 vszdev4 < "$tmp"
+ read avg4 stddev4 vsz4 vszdev4 rest < "$tmp"
echo "Average time: ${avg4} +/- ${stddev4} seconds." \
" VSZ: ${vsz4} +/- ${vszdev4} KB"
+ rm -f "$tmp"
+ if [ "${rest}" != "" ]; then
+ echo "Internal error ($rest)"
+ exit 1
+ fi
+
p=1
test_output="/dev/null" \
- print_runtime_ratio ${avg1} ${stddev1} ${vsz1} ${vszdev1} $VG --tool=none "$@" -p${psep}${p} "${test_args}"
+ print_runtime_ratio "${avg1}" "${stddev1}" "${vsz1}" "${vszdev1}" "$VG" --tool=none "$@" -p${psep}${p} "${test_args}"
p=4
test_output="/dev/null" \
- print_runtime_ratio ${avg4} ${stddev4} ${vsz4} ${vszdev4} $VG --tool=none "$@" -p${psep}${p} "${test_args}"
+ print_runtime_ratio "${avg4}" "${stddev4}" "${vsz4}" "${vszdev4}" "$VG" --tool=none "$@" -p${psep}${p} "${test_args}"
p=4
test_output="${1}-drd-with-stack-var-4.out" \
- print_runtime_ratio ${avg4} ${stddev4} ${vsz4} ${vszdev4} \
- $VG --tool=drd --check-stack-var=yes "$@" -p${psep}${p} "${test_args}"
+ print_runtime_ratio "${avg4}" "${stddev4}" "${vsz4}" "${vszdev4}" \
+ "$VG" --tool=drd --check-stack-var=yes "$@" -p${psep}${p} "${test_args}"
p=4
test_output="${1}-drd-without-stack-var-4.out" \
- print_runtime_ratio ${avg4} ${stddev4} ${vsz4} ${vszdev4} \
- $VG --tool=drd --check-stack-var=no "$@" -p${psep}${p} "${test_args}"
+ print_runtime_ratio "${avg4}" "${stddev4}" "${vsz4}" "${vszdev4}" \
+ "$VG" --tool=drd --check-stack-var=no "$@" -p${psep}${p} "${test_args}"
p=4
test_output="${1}-helgrind-4.out" \
- print_runtime_ratio ${avg4} ${stddev4} ${vsz4} ${vszdev4} $VG --tool=helgrind "$@" -p${psep}${p} "${test_args}"
+ print_runtime_ratio "${avg4}" "${stddev4}" "${vsz4}" "${vszdev4}" "$VG" --tool=helgrind "$@" -p${psep}${p} "${test_args}"
echo ''
-
- rm -f "$tmp"
}
@@ -118,19 +134,19 @@
# Results: native native native none none DRD DRD HG ITC ITC
# -p1 -p2 -p4 -p1 -p4 -p4 -p4+f -p4 -p4 -p4+f
# .........................................................................................................................
-# Cholesky 0.09 11880 0.07 21888 0.65 41883 15.2 5.08 3.9 2.15 17 2.41 13 2.60 50 5.86 239 82
-# FFT 0.03 6560 0.02 15101 0.02 32176 10.7 8.36 17.0 2.48 92 2.88 113 3.13 156 5.43 90 41
-# LU, contiguous 0.07 3968 0.05 12176 0.06 28584 12.4 13.17 14.8 2.70 89 2.95 80 3.24 135 5.68 428 128
-# Ocean, contiguous 0.19 23208 0.18 31744 0.13 48888 4.8 3.45 7.6 2.17 59 2.58 50 2.75 77 4.01 90 28
-# Radix 0.20 15008 0.11 23200 0.11 39592 13.1 4.22 23.6 2.23 59 2.67 54 2.87 282 6.23 222 56
-# Raytrace 0.66 206976 0.47 215168 0.47 232235 8.2 1.23 11.5 1.21 262 1.54 101 1.57 291 3.57 172 53
-# Water-n2 0.19 10560 0.09 26944 0.10 59704 11.4 5.65 22.0 1.83 3194 2.92 467 2.99 108 3.49 189 39
-# Water-sp 0.21 4312 0.10 13400 0.10 29496 9.8 12.20 20.7 2.63 254 3.14 64 3.42 99 5.13 183 34
+# Cholesky 0.09 11880 0.07 21888 0.65 41883 13.2 4.86 2.5 2.08 19 2.34 13 2.53 29 6.04 239 82
+# FFT 0.03 6560 0.02 15101 0.02 32176 21.0 7.92 20.5 2.41 118 2.81 53 3.06 120 5.42 90 41
+# LU, contiguous 0.07 3968 0.05 12176 0.06 28584 14.8 12.29 21.0 2.62 124 2.87 74 3.16 157 5.53 428 128
+# Ocean, contiguous 0.19 23208 0.18 31744 0.13 48888 6.7 3.75 10.6 2.09 69 2.52 43 2.71 264 5.95 90 28
+# Radix 0.20 15008 0.11 23200 0.11 39592 13.1 4.06 22.6 2.17 56 2.61 41 2.82 111 6.11 222 56
+# Raytrace 0.66 206976 0.47 215168 0.47 232235 8.4 1.22 10.8 1.20 272 1.53 88 1.56 211 3.79 172 53
+# Water-n2 0.19 10560 0.09 26944 0.10 59704 12.9 5.40 24.0 1.79 3793 2.92 621 2.95 109 3.54 189 39
+# Water-sp 0.21 4312 0.10 13400 0.10 29496 10.2 11.41 22.0 2.52 279 3.03 55 5.55 97 4.76 183 34
# .........................................................................................................................
-# geometric mean 0.41 13360 0.09 26319 0.12 48476 10.2 5.37 13.2 2.12 134 2.58 75 2.76 128 4.81 180 51
+# geometric mean 0.14 13360 0.09 26319 0.12 48476 11.9 5.21 14.0 2.06 154 2.53 64 2.88 117 5.05 180 51
# .........................................................................................................................
# Hardware: dual-core Intel Core2 Duo E6750, 2.66 GHz, 4 MB L2 cache, 2 GB RAM.
-# Software: openSUSE 11.0 (64-bit edition), runlevel 3, gcc 4.3.1, 32 bit executables, valgrind trunk r8795.
+# Software: openSUSE 11.0 (64-bit edition), runlevel 3, gcc 4.3.1, 32 bit executables, valgrind trunk r9629.
###########################################################################################################################
####
Property changes on: branches/DARWIN/drd/tests
___________________________________________________________________
Name: svn:ignore
- *.stderr.diff*
*.stderr.out
*.stdout.diff*
*.stdout.out
.deps
atomic_var
bar_bad
bar_trivial
boost_thread
circular_buffer
drd_bitmap_test
fp_race
hg01_all_ok
hg02_deadlock
hg03_inherit
hg04_race
hg05_race2
hg06_readshared
hold_lock
linuxthreads_det
Makefile
Makefile.in
matinv
memory_allocation
monitor_example
new_delete
omp_matinv
omp_prime
omp_printf
pth_barrier
pth_barrier_race
pth_barrier_reinit
pth_broadcast
pth_cancel_locked
pth_cond_race
pth_create_chain
pth_detached
pth_detached_sem
pth_inconsistent_cond_wait
pth_process_shared_mutex
pth_spinlock
qt4_mutex
qt4_rwlock
qt4_semaphore
recursive_mutex
rwlock_race
rwlock_test
sem_as_mutex
sigalrm
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
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
trylock
vg_regtest.tmp*
+ *.stderr.diff*
*.stderr.out
*.stdout.diff*
*.stdout.out
.deps
atomic_var
bar_bad
bar_trivial
boost_thread
circular_buffer
drd_bitmap_test
fp_race
hg01_all_ok
hg02_deadlock
hg03_inherit
hg04_race
hg05_race2
hg06_readshared
hold_lock
linuxthreads_det
Makefile
Makefile.in
matinv
memory_allocation
monitor_example
new_delete
omp_matinv
omp_prime
omp_printf
pth_barrier
pth_barrier_race
pth_barrier_reinit
pth_broadcast
pth_cancel_locked
pth_cond_race
pth_create_chain
pth_create_glibc_2_0
pth_detached
pth_detached_sem
pth_inconsistent_cond_wait
pth_process_shared_mutex
pth_spinlock
qt4_mutex
qt4_rwlock
qt4_semaphore
recursive_mutex
rwlock_race
rwlock_test
sem_as_mutex
sigalrm
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
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
trylock
vg_regtest.tmp*
Modified: branches/DARWIN/drd/tests/Makefile.am
===================================================================
--- branches/DARWIN/drd/tests/Makefile.am 2009-04-26 22:18:44 UTC (rev 9640)
+++ branches/DARWIN/drd/tests/Makefile.am 2009-04-26 22:23:20 UTC (rev 9641)
@@ -98,6 +98,8 @@
pth_create_chain.stderr.exp \
pth_create_chain.stderr.exp-ppc \
pth_create_chain.vgtest \
+ pth_create_glibc_2_0.stderr.exp \
+ pth_create_glibc_2_0.vgtest \
pth_detached.stderr.exp \
pth_detached.stdout.exp \
pth_detached.vgtest \
@@ -234,6 +236,10 @@
check_PROGRAMS += matinv pth_barrier pth_barrier_race pth_barrier_reinit
endif
+if HAVE_PTHREAD_CREATE_GLIBC_2_0
+check_PROGRAMS += pth_create_glibc_2_0
+endif
+
if HAVE_PTHREAD_SPINLOCK
check_PROGRAMS += pth_spinlock
endif
Copied: branches/DARWIN/drd/tests/pth_create_glibc_2_0.c (from rev 9639, trunk/drd/tests/pth_create_glibc_2_0.c)
===================================================================
--- branches/DARWIN/drd/tests/pth_create_glibc_2_0.c (rev 0)
+++ branches/DARWIN/drd/tests/pth_create_glibc_2_0.c 2009-04-26 22:23:20 UTC (rev 9641)
@@ -0,0 +1,34 @@
+/* Test program that invokes pthread_create@GLIBC_2.0(). */
+
+
+#include <pthread.h>
+#include <stdio.h>
+
+
+extern int pthread_create_glibc_2_0(pthread_t*, const pthread_attr_t*,
+ void *(*)(void*), void*);
+
+__asm__(".symver pthread_create_glibc_2_0, pthread_create@GLIBC_2.0");
+
+
+static void* thread_func(void *arg)
+{
+ fprintf(stderr, "The thread.\n");
+ return 0;
+}
+
+int main(int argc, char** argv)
+{
+ int result;
+ pthread_t thr;
+
+ result = (*pthread_create_glibc_2_0)(&thr, 0, thread_func, 0);
+ if (result != 0)
+ {
+ fprintf(stderr, "pthread_create() failed.\n");
+ return 1;
+ }
+ pthread_join(thr, 0);
+ fprintf(stderr, "Finished.\n");
+ return 0;
+}
Copied: branches/DARWIN/drd/tests/pth_create_glibc_2_0.stderr.exp (from rev 9639, trunk/drd/tests/pth_create_glibc_2_0.stderr.exp)
===================================================================
--- branches/DARWIN/drd/tests/pth_create_glibc_2_0.stderr.exp (rev 0)
+++ branches/DARWIN/drd/tests/pth_create_glibc_2_0.stderr.exp 2009-04-26 22:23:20 UTC (rev 9641)
@@ -0,0 +1,5 @@
+
+The thread.
+Finished.
+
+ERROR SUMMARY: 0 errors from 0 contexts (suppressed: 0 from 0)
Copied: branches/DARWIN/drd/tests/pth_create_glibc_2_0.vgtest (from rev 9639, trunk/drd/tests/pth_create_glibc_2_0.vgtest)
===================================================================
--- branches/DARWIN/drd/tests/pth_create_glibc_2_0.vgtest (rev 0)
+++ branches/DARWIN/drd/tests/pth_create_glibc_2_0.vgtest 2009-04-26 22:23:20 UTC (rev 9641)
@@ -0,0 +1,3 @@
+prereq: test -e pth_create_glibc_2_0 && ./supported_libpthread
+vgopts: --var-info=yes --check-stack-var=yes
+prog: pth_create_glibc_2_0
Modified: branches/DARWIN/drd/tests/tc09_bad_unlock.stderr.exp-glibc2.8
===================================================================
--- branches/DARWIN/drd/tests/tc09_bad_unlock.stderr.exp-glibc2.8 2009-04-26 22:18:44 UTC (rev 9640)
+++ branches/DARWIN/drd/tests/tc09_bad_unlock.stderr.exp-glibc2.8 2009-04-26 22:23:20 UTC (rev 9641)
@@ -29,6 +29,10 @@
Destroying locked mutex: mutex 0x........, recursion count 1, owner 1.
at 0x........: nearly_main (tc09_bad_unlock.c:45)
by 0x........: (below main)
+mutex 0x........ was first observed at:
+ at 0x........: pthread_mutex_init (drd_pthread_intercepts.c:?)
+ by 0x........: nearly_main (tc09_bad_unlock.c:31)
+ by 0x........: main (tc09_bad_unlock.c:49)
---------------------
Mutex not locked by calling thread: mutex 0x........, recursion count 0, owner 1.
@@ -61,5 +65,9 @@
Destroying locked mutex: mutex 0x........, recursion count 1, owner 1.
at 0x........: nearly_main (tc09_bad_unlock.c:45)
by 0x........: (below main)
+mutex 0x........ was first observed at:
+ at 0x........: pthread_mutex_init (drd_pthread_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)
Modified: branches/DARWIN/drd/tests/tc19_shadowmem.stderr.exp-32bit
===================================================================
--- branches/DARWIN/drd/tests/tc19_shadowmem.stderr.exp-32bit 2009-04-26 22:18:44 UTC (rev 9640)
+++ branches/DARWIN/drd/tests/tc19_shadowmem.stderr.exp-32bit 2009-04-26 22:23:20 UTC (rev 9641)
@@ -3255,10 +3255,6 @@
Address 0x........ is at offset 0 from 0x......... Allocation context:
at 0x........: malloc (vg_replace_malloc.c:...)
by 0x........: main (tc19_shadowmem.c:144)
-Other segment start (thread x/x)
- (thread finished, call stack no longer available)
-Other segment end (thread x/x)
- (thread finished, call stack no longer available)
Conflicting store by thread x/x at 0x........ size 4
at 0x........: child64 (tc19_shadowmem.c:105)
@@ -3280,10 +3276,6 @@
Address 0x........ is at offset 1 from 0x......... Allocation context:
at 0x........: malloc (vg_replace_malloc.c:...)
by 0x........: main (tc19_shadowmem.c:144)
-Other segment start (thread x/x)
- (thread finished, call stack no longer available)
-Other segment end (thread x/x)
- (thread finished, call stack no longer available)
Conflicting store by thread x/x at 0x........ size 4
at 0x........: child64 (tc19_shadowmem.c:105)
@@ -3305,10 +3297,6 @@
Address 0x........ is at offset 2 from 0x......... Allocation context:
at 0x........: malloc (vg_replace_malloc.c:...)
by 0x........: main (tc19_shadowmem.c:144)
-Other segment start (thread x/x)
- (thread finished, call stack no longer available)
-Other segment end (thread x/x)
- (thread finished, call stack no longer available)
Conflicting store by thread x/x at 0x........ size 4
at 0x........: child64 (tc19_shadowmem.c:105)
@@ -3330,10 +3318,6 @@
Address 0x........ is at offset 3 from 0x......... Allocation context:
at 0x........: malloc (vg_replace_malloc.c:...)
by 0x........: main (tc19_shadowmem.c:144)
-Other segment start (thread x/x)
- (thread finished, call stack no longer available)
-Other segment end (thread x/x)
- (thread finished, call stack no longer available)
Conflicting store by thread x/x at 0x........ size 4
at 0x........: child64 (tc19_shadowmem.c:105)
@@ -3355,10 +3339,6 @@
Address 0x........ is at offset 4 from 0x......... Allocation context:
at 0x........: malloc (vg_replace_malloc.c:...)
by 0x........: main (tc19_shadowmem.c:144)
-Other segment start (thread x/x)
- (thread finished, call stack no longer available)
-Other segment end (thread x/x)
- (thread finished, call stack no longer available)
Conflicting store by thread x/x at 0x........ size 4
at 0x........: child64 (tc19_shadowmem.c:105)
@@ -3380,10 +3360,6 @@
Address 0x........ is at offset 5 from 0x......... Allocation context:
at 0x........: malloc (vg_replace_malloc.c:...)
by 0x........: main (tc19_shadowmem.c:144)
-Other segment start (thread x/x)
- (thread finished, call stack no longer available)
-Other segment end (thread x/x)
- (thread finished, call stack no longer available)
Conflicting store by thread x/x at 0x........ size 4
at 0x........: child64 (tc19_shadowmem.c:105)
@@ -3405,10 +3381,6 @@
Address 0x........ is at offset 6 from 0x......... Allocation context:
at 0x........: malloc (vg_replace_malloc.c:...)
by 0x........: main (tc19_shadowmem.c:144)
-Other segment start (thread x/x)
- (thread finished, call stack no longer available)
-Other segment end (thread x/x)
- (thread finished, call stack no longer available)
Conflicting store by thread x/x at 0x........ size 4
at 0x........: child64 (tc19_shadowmem.c:105)
@@ -3430,10 +3402,6 @@
Address 0x........ is at offset 7 from 0x......... Allocation context:
at 0x........: malloc (vg_replace_malloc.c:...)
by 0x........: main (tc19_shadowmem.c:144)
-Other segment start (thread x/x)
- (thread finished, call stack no longer available)
-Other segment end (thread x/x)
- (thread finished, call stack no longer available)
Conflicting store by thread x/x at 0x........ size 4
at 0x........: child64 (tc19_shadowmem.c:105)
@@ -3455,10 +3423,6 @@
Address 0x........ is at offset 8 from 0x......... Allocation context:
at 0x........: malloc (vg_replace_malloc.c:...)
by 0x........: main (tc19_shadowmem.c:144)
-Other segment start (thread x/x)
- (thread finished, call stack no longer available)
-Other segment end (thread x/x)
- (thread finished, call stack no longer available)
Conflicting store by thread x/x at 0x........ size 4
at 0x........: child64 (tc19_shadowmem.c:105)
@@ -3480,10 +3444,6 @@
Address 0x........ is at offset 9 from 0x......... Allocation context:
at 0x........: malloc (vg_replace_malloc.c:...)
by 0x........: main (tc19_shadowmem.c:144)
-Other segment start (thread x/x)
- (thread finished, call stack no longer available)
-Other segment end (thread x/x)
- (thread finished, call stack no longer available)
Conflicting store by thread x/x at 0x........ size 4
at 0x........: child64 (tc19_shadowmem.c:105)
@@ -3505,10 +3465,6 @@
Address 0x........ is at offset 10 from 0x......... Allocation context:
at 0x........: malloc (vg_replace_malloc.c:...)
by 0x........: main (tc19_shadowmem.c:144)
-Other segment start (thread x/x)
- (thread finished, call stack no longer available)
-Other segment end (thread x/x)
- (thread finished, call stack no longer available)
Conflicting store by thread x/x at 0x........ size 4
at 0x........: child64 (tc19_shadowmem.c:105)
@@ -3530,10 +3486,6 @@
Address 0x........ is at offset 11 from 0x......... Allocation context:
at 0x........: malloc (vg_replace_malloc.c:...)
by 0x........: main (tc19_shadowmem.c:144)
-Other segment start (thread x/x)
- (thread finished, call stack no longer available)
-Other segment end (thread x/x)
- (thread finished, call stack no longer available)
Conflicting store by thread x/x at 0x........ size 4
at 0x........: child64 (tc19_shadowmem.c:105)
@@ -3555,10 +3507,6 @@
Address 0x........ is at offset 12 from 0x......... Allocation context:
at 0x........: malloc (vg_replace_malloc.c:...)
by 0x........: main (tc19_shadowmem.c:144)
-Other segment start (thread x/x)
- (thread finished, call stack no longer available)
-Other segment end (thread x/x)
- (thread finished, call stack no longer available)
Conflicting store by thread x/x at 0x........ size 4
at 0x........: child64 (tc19_shadowmem.c:105)
@@ -3580,10 +3528,6 @@
Address 0x........ is at offset 13 from 0x......... Allocation context:
at 0x........: malloc (vg_replace_malloc.c:...)
by 0x........: main (tc19_shadowmem.c:144)
-Other segment start (thread x/x)
- (thread finished, call stack no longer available)
-Other segment end (thread x/x)
- (thread finished, call stack no longer available)
Conflicting store by thread x/x at 0x........ size 4
at 0x........: child64 (tc19_shadowmem.c:105)
@@ -3605,10 +3549,6 @@
Address 0x........ is at offset 14 from 0x......... Allocation context:
at 0x........: malloc (vg_replace_malloc.c:...)
by 0x........: main (tc19_shadowmem.c:144)
-Other segment start (thread x/x)
- (thread finished, call stack no longer available)
-Other segment end (thread x/x)
- (thread finished, call stack no longer available)
Conflicting store by thread x/x at 0x........ size 4
at 0x........: child64 (tc19_shadowmem.c:105)
@@ -3630,10 +3570,6 @@
Address 0x........ is at offset 15 from 0x......... Allocation context:
at 0x........: malloc (vg_replace_malloc.c:...)
by 0x........: main (tc19_shadowmem.c:144)
-Other segment start (thread x/x)
- (thread finished, call stack no longer available)
-Other segment end (thread x/x)
- (thread finished, call stack no longer available)
Conflicting store by thread x/x at 0x........ size 4
at 0x........: child64 (tc19_shadowmem.c:105)
@@ -3655,10 +3591,6 @@
Address 0x........ is at offset 16 from 0x......... Allocation context:
at 0x........: malloc (vg_replace_malloc.c:...)
by 0x........: main (tc19_shadowmem.c:144)
-Other segment start (thread x/x)
- (thread finished, call stack no longer available)
-Other segment end (thread x/x)
- (thread finished, call stack no longer available)
Conflicting store by thread x/x at 0x........ size 4
at 0x........: child64 (tc19_shadowmem.c:105)
@@ -3680,10 +3612,6 @@
Address 0x........ is at offset 17 from 0x......... Allocation context:
at 0x........: malloc (vg_replace_malloc.c:...)
by 0x........: main (tc19_shadowmem.c:144)
-Other segment start (thread x/x)
- (thread finished, call stack no longer available)
-Other segment end (thread x/x)
- (thread finished, call stack no longer available)
Conflicting store by thread x/x at 0x........ size 4
at 0x........: child64 (tc19_shadowmem.c:105)
@@ -3705,10 +3633,6 @@
Address 0x........ is at offset 18 from 0x......... Allocation context:
at 0x........: malloc (vg_replace_malloc.c:...)
by 0x........: main (tc19_shadowmem.c:144)
-Other segment start (thread x/x)
- (thread finished, call stack no longer available)
-Other segment end (thread x/x)
- (thread finished, call stack no longer available)
Conflicting store by thread x/x at 0x........ size 4
at 0x........: child64 (tc19_shadowmem.c:105)
@@ -3730,10 +3654,6 @@
Address 0x........ is at offset 19 from 0x......... Allocation context:
at 0x........: malloc (vg_replace_malloc.c:...)
by 0x........: main (tc19_shadowmem.c:144)
-Other segment start (thread x/x)
- (thread finished, call stack no longer available)
-Other segment end (thread x/x)
- (thread finished, call stack no longer available)
Conflicting store by thread x/x at 0x........ size 4
at 0x........: child64 (tc19_shadowmem.c:105)
@@ -3755,10 +3675,6 @@
Address 0x........ is at offset 20 from 0x......... Allocation context:
at 0x........: malloc (vg_replace_malloc.c:...)
by 0x........: main (tc19_shadowmem.c:144)
-Other segment start (thread x/x)
- (thread finished, call stack no longer available)
-Other segment end (thread x/x)
- (thread finished, call stack no longer available)
Conflicting store by thread x/x at 0x........ size 4
at 0x........: child64 (tc19_shadowmem.c:105)
@@ -3780,10 +3696,6 @@
Address 0x........ is at offset 21 from 0x......... Allocation context:
at 0x........: malloc (vg_replace_malloc.c:...)
by 0x........: main (tc19_shadowmem.c:144)
-Other segment start (thread x/x)
- (thread finished, call stack no longer available)
-Other segment end (thread x/x)
- (thread finished, call stack no longer available)
Conflicting store by thread x/x at 0x........ size 4
at 0x........: child64 (tc19_shadowmem.c:105)
@@ -3805,10 +3717,6 @@
Address 0x........ is at offset 22 from 0x......... Allocation context:
at 0x........: malloc (vg_replace_malloc.c:...)
by 0x........: main (tc19_shadowmem.c:144)
-Other segment start (thread x/x)
- (thread finished, call stack no longer available)
-Other segment end (thread x/x)
- (thread finished, call stack no longer available)
Conflicting store by thread x/x at 0x........ size 4
at 0x........: child64 (tc19_shadowmem.c:105)
@@ -3830,10 +3738,6 @@
Address 0x........ is at offset 23 from 0x......... Allocation context:
at 0x........: malloc (vg_replace_malloc.c:...)
by 0x........: main (tc19_shadowmem.c:144)
-Other segment start (thread x/x)
- (thread finished, call stack no longer available)
-Other segment end (thread x/x)
- (thread finished, call stack no longer available)
Conflicting store by thread x/x at 0x........ size 4
at 0x........: child64 (tc19_shadowmem.c:105)
@@ -3855,10 +3759,6 @@
Address 0x........ is at offset 24 from 0x......... Allocation context:
at 0x........: malloc (vg_replace_malloc.c:...)
by 0x........: main (tc19_shadowmem.c:144)
-Other segment start (thread x/x)
- (thread finished, call stack no longer available)
-Other segment end (thread x/x)
- (thread finished, call stack no longer available)
Conflicting store by thread x/x at 0x........ size 4
at 0x........: child64 (tc19_shadowmem.c:105)
@@ -3880,10 +3780,6 @@
Address 0x........ is at offset 25 from 0x......... Allocation context:
at 0x........: malloc (vg_replace_malloc.c:...)
by 0x........: main (tc19_shadowmem.c:144)
-Other segment start (thread x/x)
- (thread finished, call stack no longer available)
-Other segment end (thread x/x)
- (thread finished, call stack no longer available)
Conflicting store by thread x/x at 0x........ size 4
at 0x........: child64 (tc19_shadowmem.c:105)
@@ -3905,10 +3801,6 @@
Address 0x........ is at offset 26 from 0x......... Allocation context:
at 0x........: malloc (vg_replace_malloc.c:...)
by 0x........: main (tc19_shadowmem.c:144)
-Other segment start (thread x/x)
- (thread finished, call stack no longer available)
-Other segment end (thread x/x)
- (thread finished, call stack no longer available)
Conflicting store by thread x/x at 0x........ size 4
at 0x........: child64 (tc19_shadowmem.c:105)
@@ -3930,10 +3822,6 @@
Address 0x........ is at offset 27 from 0x......... Allocation context:
at 0x........: malloc (vg_replace_malloc.c:...)
by 0x........: main (tc19_shadowmem.c:144)
-Other segment start (thread x/x)
- (thread finished, call stack no longer available)
-Other segment end (thread x/x)
- (thread finished, call stack no longer available)
Conflicting store by thread x/x at 0x........ size 4
at 0x........: child64 (tc19_shadowmem.c:105)
@@ -3955,10 +3843,6 @@
Address 0x........ is at offset 28 from 0x......... Allocation context:
at 0x........: malloc (vg_replace_malloc.c:...)
by 0x........: main (tc19_shadowmem.c:144)
-Other segment start (thread x/x)
- (thread finished, call stack no longer available)
-Other segment end (thread x/x)
- (thread finished, call stack no longer available)
Conflicting store by thread x/x at 0x........ size 4
at 0x........: child64 (tc19_shadowmem.c:105)
@@ -3980,10 +3864,6 @@
Address 0x........ is at offset 29 from 0x......... Allocation context:
at 0x........: malloc (vg_replace_malloc.c:...)
by 0x........: main (tc19_shadowmem.c:144)
-Other segment start (thread x/x)
- (thread finished, call stack no longer available)
-Other segment end (thread x/x)
- (thread finished, call stack no longer available)
Conflicting store by thread x/x at 0x........ size 4
at 0x........: child64 (tc19_shadowmem.c:105)
@@ -4005,10 +3885,6 @@
Address 0x........ is at offset 30 from 0x......... Allocation context:
at 0x........: malloc (vg_replace_malloc.c:...)
by 0x........: main (tc19_shadowmem.c:144)
-Other segment start (thread x/x)
- (thread finished, call stack no longer available)
-Other segment end (thread x/x)
- (thread finished, call stack no longer available)
Conflicting store by thread x/x at 0x........ size 4
at 0x........: child64 (tc19_shadowmem.c:105)
@@ -4030,10 +3906,6 @@
Address 0x........ is at offset 31 from 0x......... Allocation context:
at 0x........: malloc (vg_replace_malloc.c:...)
by 0x........: main (tc19_shadowmem.c:144)
-Other segment start (thread x/x)
- (thread finished, call stack no longer available)
-Other segment end (thread x/x)
- (thread finished, call stack no longer available)
Conflicting store by thread x/x at 0x........ size 4
at 0x........: child64 (tc19_shadowmem.c:105)
@@ -4055,10 +3927,6 @@
Address 0x........ is at offset 32 from 0x......... Allocation context:
at 0x........: malloc (vg_replace_malloc.c:...)
by 0x........: main (tc19_shadowmem.c:144)
-Other segment start (thread x/x)
- (thread finished, call stack no longer available)
-Other segment end (thread x/x)
- (thread finished, call stack no longer available)
Conflicting store by thread x/x at 0x........ size 4
at 0x........: child64 (tc19_shadowmem.c:105)
@@ -4080,10 +3948,6 @@
Address 0x........ is at offset 33 from 0x......... Allocation context:
at 0x........: malloc (vg_replace_malloc.c:...)
by 0x........: main (tc19_shadowmem.c:144)
-Other segment start (thread x/x)
- (thread finished, call stack no longer available)
-Other segment end (thread x/x)
- (thread finished, call stack no longer available)
Conflicting store by thread x/x at 0x........ size 4
at 0x........: child64 (tc19_shadowmem.c:105)
@@ -4105,10 +3969,6 @@
Address 0x........ is at offset 34 from 0x......... Allocation context:
at 0x........: malloc (vg_replace_malloc.c:...)
by 0x........: main (tc19_shadowmem.c:144)
-Other segment start (thread x/x)
- (thread finished, call stack no longer available)
-Other segment end (thread x/x)
- (thread finished, call stack no longer available)
Conflicting store by thread x/x at 0x........ size 4
at 0x........: child64 (tc19_shadowmem.c:105)
@@ -4130,10 +3990,6 @@
Address 0x........ is at offset 35 from 0x......... Allocation context:
at 0x........: malloc (vg_replace_malloc.c:...)
by 0x........: main (tc19_shadowmem.c:144)
-Other segment start (thread x/x)
- (thread finished, call stack no longer available)
-Other segment end (thread x/x)
- (thread finished, call stack no longer available)
Conflicting store by thread x/x at 0x........ size 4
at 0x........: child64 (tc19_shadowmem.c:105)
@@ -4155,10 +4011,6 @@
Address 0x........ is at offset 36 from 0x......... Allocation context:
at 0x........: malloc (vg_replace_malloc.c:...)
by 0x........: main (tc19_shadowmem.c:144)
-Other segment start (thread x/x)
- (thread finished, call stack no longer available)
-Other segment end (thread x/x)
- (thread finished, call stack no longer available)
Conflicting store by thread x/x at 0x........ size 4
at 0x........: child64 (tc19_shadowmem.c:105)
@@ -4180,10 +4032,6 @@
Address 0x........ is at offset 37 from 0x......... Allocation context:
at 0x........: malloc (vg_replace_malloc.c:...)
by 0x........: main (tc19_shadowmem.c:144)
-Other segment start (thread x/x)
- (thread finished, call stack no longer available)
-Other segment end (thread x/x)
- (thread finished, call stack no longer available)
Conflicting store by thread x/x at 0x........ size 4
at 0x........: child64 (tc19_shadowmem.c:105)
@@ -4205,10 +4053,6 @@
Address 0x........ is at offset 38 from 0x......... Allocation context:
at 0x........: malloc (vg_replace_malloc.c:...)
by 0x........: main (tc19_shadowmem.c:144)
-Other segment start (thread x/x)
- (thread finished, call stack no longer available)
-Other segment end (thread x/x)
- (thread finished, call stack no longer available)
Conflicting store by thread x/x at 0x........ size 4
at 0x........: child64 (tc19_shadowmem.c:105)
@@ -4230,10 +4074,6 @@
Address 0x........ is at offset 39 from 0x......... Allocation context:
at 0x........: malloc (vg_replace_malloc.c:...)
by 0x........: main (tc19_shadowmem.c:144)
-Other segment start (thread x/x)
- (thread finished, call stack no longer available)
-Other segment end (thread x/x)
- (thread finished, call stack no longer available)
Conflicting store by thread x/x at 0x........ size 4
at 0x........: child64 (tc19_shadowmem.c:105)
@@ -4255,10 +4095,6 @@
Address 0x........ is at offset 40 from 0x......... Allocation context:
at 0x........: malloc (vg_replace_malloc.c:...)
by 0x........: main (tc19_shadowmem.c:144)
-Other segment start (thread x/x)
- (thread finished, call stack no longer available)
-Other segment end (thread x/x)
- (thread finished, call stack no longer available)
Conflicting store by thread x/x at 0x........ size 4
at 0x........: child64 (tc19_shadowmem.c:105)
@@ -4280,10 +4116,6 @@
Address 0x........ is at offset 41 from 0x......... Allocation context:
at 0x........: malloc (vg_replace_malloc.c:...)
by 0x........: main (tc19_shadowmem.c:144)
-Other segment start (thread x/x)
- (thread finished, call stack no longer available)
-Other segment end (thread x/x)
- (thread finished, call stack no longer available)
Conflicting store by thread x/x at 0x........ size 4
at 0x........: child64 (tc19_shadowmem.c:105)
@@ -4305,10 +4137,6 @@
Address 0x........ is at offset 42 from 0x......... Allocation context:
at 0x........: malloc (vg_replace_malloc.c:...)
by 0x........: main (tc19_shadowmem.c:144)
-Other segment start (thread x/x)
- (thread finished, call stack no longer available)
-Other segment end (thread x/x)
- (thread finished, call stack no longer available)
Conflicting store by thread x/x at 0x........ size 4
at 0x........: child64 (tc19_shadowmem.c:105)
@@ -4330,10 +4158,6 @@
Address 0x........ is at offset 43 from 0x......... Allocation context:
at 0x........: malloc (vg_replace_malloc.c:...)
by 0x........: main (tc19_shadowmem.c:144)
-Other segment start (thread x/x)
- (thread finished, call stack no longer available)
-Other segment end (thread x/x)
- (thread finished, call stack no longer available)
Conflicting store by thread x/x at 0x........ size 4
at 0x........: child64 (tc19_shadowmem.c:105)
@@ -4355,10 +4179,6 @@
Address 0x........ is at offset 44 from 0x......... Allocation context:
at 0x........: malloc (vg_replace_malloc.c:...)
by 0x........: main (tc19_shadowmem.c:144)
-Other segment start (thread x/x)
- (thread finished, call stack no longer available)
-Other segment end (thread x/x)
- (thread finished, call stack no longer available)
Conflicting store by thread x/x at 0x........ size 4
at 0x........: child64 (tc19_shadowmem.c:105)
@@ -4380,10 +4200,6 @@
Address 0x........ is at offset 45 from 0x......... Allocation context:
at 0x........: malloc (vg_replace_malloc.c:...)
by 0x........: main (tc19_shadowmem.c:144)
-Other segment start (thread x/x)
- (thread finished, call stack no longer available)
-Other segment end (thread x/x)
- (thread finished, call stack no longer available)
Conflicting store by thread x/x at 0x........ size 4
at 0x........: child64 (tc19_shadowmem.c:105)
@@ -4405,10 +4221,6 @@
Address 0x........ is at offset 46 from 0x......... Allocation context:
at 0x........: malloc (vg_replace_malloc.c:...)
by 0x........: main (tc19_shadowmem.c:144)
-Other segment start (thread x/x)
- (thread finished, call stack no longer available)
-Other segment end (thread x/x)
- (thread finished, call stack no longer available)
Conflicting store by thread x/x at 0x........ size 4
at 0x........: child64 (tc19_shadowmem.c:105)
@@ -4430,10 +4242,6 @@
Address 0x........ is at offset 47 from 0x......... Allocation context:
at 0x........: malloc (vg_replace_malloc.c:...)
by 0x........: main (tc19_shadowmem.c:144)
-Other segment start (thread x/x)
- (thread finished, call stack no longer available)
-Other segment end (thread x/x)
- (thread finished, call stack no longer available)
Conflicting store by thread x/x at 0x........ size 4
at 0x........: child64 (tc19_shadowmem.c:105)
@@ -4455,10 +4263,6 @@
Address 0x........ is at offset 48 from 0x......... Allocation context:
at 0x........: malloc (vg_replace_malloc.c:...)
by 0x........: main (tc19_shadowmem.c:144)
-Other segment start (thread x/x)
- (thread finished, call stack no longer available)
-Other segment end (thread x/x)
- (thread finished, call stack no longer available)
Conflicting store by thread x/x at 0x........ size 4
at 0x........: child64 (tc19_shadowmem.c:105)
@@ -4480,10 +4284,6 @@
Address 0x........ is at offset 49 from 0x......... Allocation context:
at 0x........: malloc (vg_replace_malloc.c:...)
by 0x........: main (tc19_shadowmem.c:144)
-Other segment start (thread x/x)
- (thread finished, call stack no longer available)
-Other segment end (thread x/x)
- (thread finished, call stack no longer available)
Conflicting store by thread x/x at 0x........ size 4
at 0x........: child64 (tc19_shadowmem.c:105)
@@ -4505,10 +4305,6 @@
Address 0x........ is at offset 50 from 0x......... Allocation context:
at 0x........: malloc (vg_replace_malloc.c:...)
by 0x........: main (tc19_shadowmem.c:144)
-Other segment start (thread x/x)
- (thread finished, call stack no longer available)
-Other segment end (thread x/x)
- (thread finished, call stack no longer available)
Conflicting store by thread x/x at 0x........ size 4
at 0x........: child64 (tc19_shadowmem.c:105)
@@ -4530,10 +4326,6 @@
Address 0x........ is at offset 51 from 0x......... Allocation context:
at 0x........: malloc (vg_replace_malloc.c:...)
by 0x........: main (tc19_shadowmem.c:144)
-Other segment start (thread x/x)
- (thread finished, call stack no longer available)
-Other segment end (thread x/x)
- (thread finished, call stack no longer available)
Conflicting store by thread x/x at 0x........ size 4
at 0x........: child64 (tc19_shadowmem.c:105)
@@ -4555,10 +4347,6 @@
Address 0x........ is at offset 52 from 0x......... Allocation context:
at 0x........: malloc (vg_replace_malloc.c:...)
by 0x........: main (tc19_shadowmem.c:144)
-Other segment start (thread x/x)
- (thread finished, call stack no longer available)
-Other segment end (thread x/x)
- (thread finished, call stack no longer available)
Conflicting store by thread x/x at 0x........ size 4
at 0x........: child64 (tc19_shadowmem.c:105)
@@ -4580,10 +4368,6 @@
Address 0x........ is at offset 53 from 0x......... Allocation context:
at 0x........: malloc (vg_replace_malloc.c:...)
by 0x........: main (tc19_shadowmem.c:144)
-Other segment start (thread x/x)
- (thread finished, call stack no longer available)
-Other segment end (thread x/x)
- (thread finished, call stack no longer available)
Conflicting store by thread x/x at 0x........ size 4
at 0x........: child64 (tc19_shadowmem.c:105)
@@ -4605,10 +4389,6 @@
Address 0x........ is at offset 54 from 0x......... Allocation context:
at 0x........: malloc (vg_replace_malloc.c:...)
by 0x........: main (tc19_shadowmem.c:144)
-Other segment start (thread x/x)
- (thread finished, call stack no longer available)
-Other segment end (thread x/x)
- (thread finished, call stack no longer available)
Conflicting store by thread x/x at 0x........ size 4
at 0x........: child64 (tc19_shadowmem.c:105)
@@ -4630,10 +4410,6 @@
Address 0x........ is at offset 55 from 0x......... Allocation context:
at 0x........: malloc (vg_replace_malloc.c:...)
by 0x........: main (tc19_shadowmem.c:144)
-Other segment start (thread x/x)
- (thread finished, call stack no longer available)
-Other segment end (thread x/x)
- (thread finished, call stack no longer available)
Conflicting store by thread x/x at 0x........ size 4
at 0x........: child64 (tc19_shadowmem.c:105)
@@ -4655,10 +4431,6 @@
Address 0x........ is at offset 56 from 0x......... Allocation context:
at 0x........: malloc (vg_replace_malloc.c:...)
by 0x........: main (tc19_shadowmem.c:144)
-Other segment start (thread x/x)
- (thread finished, call stack no longer available)
-Other segment end (thread x/x)
- (thread finished, call stack no longer available)
Conflicting store by thread x/x at 0x........ size 4
at 0x........: child64 (tc19_shadowmem.c:105)
@@ -4680,10 +4452,6 @@
Address 0x........ is at offset 57 from 0x......... Allocation context:
at 0x........: malloc (vg_replace_malloc.c:...)
by 0x........: main (tc19_shadowmem.c:144)
-Other segment start (thread x/x)
- (thread finished, call stack no longer available)
-Other segment end (thread x/x)
- (thread finished, call stack no longer available)
Conflicting store by thread x/x at 0x........ size 4
at 0x........: child64 (tc19_shadowmem.c:105)
@@ -4705,10 +4473,6 @@
Address 0x........ is at offset 58 from 0x......... Allocation context:
at 0x........: malloc (vg_replace_malloc.c:...)
by 0x........: main (tc19_shadowmem.c:144)
-Other segment start (thread x/x)
- (thread finished, call stack no longer available)
-Other segment end (thread x/x)
- (thread finished, call stack no longer available)
Conflicting store by thread x/x at 0x........ size 4
at 0x........: child64 (tc19_shadowmem.c:105)
@@ -4730,10 +4494,6 @@
Address 0x........ is at offset 59 from 0x......... Allocation context:
at 0x........: malloc (vg_replace_malloc.c:...)
by 0x........: main (tc19_shadowmem.c:144)
-Other segment start (thread x/x)
- (thread finished, call stack no longer available)
-Other segment end (thread x/x)
- (thread finished, call stack no longer available)
Conflicting store by thread x/x at 0x........ size 4
at 0x........: child64 (tc19_shadowmem.c:105)
@@ -4755,10 +4515,6 @@
Address 0x........ is at offset 60 from 0x......... Allocation context:
at 0x........: malloc (vg_replace_malloc.c:...)
by 0x........: main (tc19_shadowmem.c:144)
-Other segment start (thread x/x)
- (thread finished, call stack no longer available)
-Other segment end (thread x/x)
- (thread finished, call stack no longer available)
Conflicting store by thread x/x at 0x........ size 4
at 0x........: child64 (tc19_shadowmem.c:105)
@@ -4780,10 +4536,6 @@
Address 0x........ is at offset 61 from 0x......... Allocation context:
at 0x........: malloc (vg_replace_malloc.c:...)
by 0x........: main (tc19_shadowmem.c:144)
-Other segment start (thread x/x)
- (thread finished, call stack no longer available)
-Other segment end (thread x/x)
- (thread finished, call stack no longer available)
Conflicting store by thread x/x at 0x........ size 4
at 0x........: child64 (tc19_shadowmem.c:105)
@@ -4805,10 +4557,6 @@
Address 0x........ is at offset 62 from 0x......... Allocation context:
at 0x........: malloc (vg_replace_malloc.c:...)
by 0x........: main (tc19_shadowmem.c:144)
-Other segment start (thread x/x)
- (thread finished, call stack no longer available)
-Other segment end (thread x/x)
- (thread finished, call stack no longer available)
Conflicting store by thread x/x at 0x........ size 4
at 0x........: child64 (tc19_shadowmem.c:105)
@@ -4830,10 +4578,6 @@
Address 0x........ is at offset 63 from 0x......... Allocation context:
at 0x........: malloc (vg_replace_malloc.c:...)
by 0x........: main (tc19_shadowmem.c:144)
-Other segment start (thread x/x)
- (thread finished, call stack no longer available)
-Other segment end (thread x/x)
- (thread finished, call stack no longer available)
Conflicting store by thread x/x at 0x........ size 4
at 0x........: child64 (tc19_shadowmem.c:105)
@@ -4855,10 +4599,6 @@
Address 0x........ is at offset 64 from 0x......... Allocation context:
at 0x........: malloc (vg_replace_malloc.c:...)
by 0x........: main (tc19_shadowmem.c:144)
-Other segment start (thread x/x)
- (thread finished, call stack no longer available)
-Other segment end (thread x/x)
- (thread finished, call stack no longer available)
Conflicting store by thread x/x at 0x........ size 4
at 0x........: child64 (tc19_shadowmem.c:105)
@@ -4880,10 +4620,6 @@
Address 0x........ is at offset 65 from 0x......... Allocation context:
at 0x........: malloc (vg_replace_malloc.c:...)
by 0x........: main (tc19_shadowmem.c:144)
-Other segment start (thread x/x)
- (thread finished, call stack no longer available)
-Other segment end (thread x/x)
- (thread finished, call stack no longer available)
Conflicting store by thread x/x at 0x........ size 4
at 0x........: child64 (tc19_shadowmem.c:105)
@@ -4905,10 +4641,6 @@
Address 0x........ is at offset 66 from 0x......... Allocation context:
at 0x........: malloc (vg_replace_malloc.c:...)
by 0x........: main (tc19_shadowmem.c:144)
-Other segment start (thread x/x)
- (thread finished, call stack no longer available)
-Other segment end (thread x/x)
- (thread finished, call stack no longer available)
Conflicting store by thread x/x at 0x........ size 4
at 0x........: child64 (tc19_shadowmem.c:105)
@@ -4930,10 +4662,6 @@
Address 0x........ is at offset 67 from 0x......... Allocation context:
at 0x........: malloc (vg_replace_malloc.c:...)
by 0x........: main (tc19_shadowmem.c:144)
-Other segment start (thread x/x)
- (thread finished, call stack no longer available)
-Other segment end (thread x/x)
- (thread finished, call stack no longer available)
Conflicting store by thread x/x at 0x........ size 4
at 0x........: child64 (tc19_shadowmem.c:105)
@@ -4955,10 +4683,6 @@
Address 0x........ is at offset 68 from 0x......... Allocation context:
at 0x........: malloc (vg_replace_malloc.c:...)
by 0x........: main (tc19_shadowmem.c:144)
-Other segment start (thread x/x)
- (thread finished, call stack no longer available)
-Other segment end (thread x/x)
- (thread finished, call stack no longer available)
Conflicting store by thread x/x at 0x........ size 4
at 0x........: child64 (tc19_shadowmem.c:105)
@@ -4980,10 +4704,6 @@
Address 0x........ is at offset 69 from 0x......... Allocation context:
at 0x.....
[truncated message content] |