You can subscribe to this list here.
| 2002 |
Jan
|
Feb
|
Mar
|
Apr
|
May
|
Jun
|
Jul
|
Aug
|
Sep
(1) |
Oct
(122) |
Nov
(152) |
Dec
(69) |
|---|---|---|---|---|---|---|---|---|---|---|---|---|
| 2003 |
Jan
(6) |
Feb
(25) |
Mar
(73) |
Apr
(82) |
May
(24) |
Jun
(25) |
Jul
(10) |
Aug
(11) |
Sep
(10) |
Oct
(54) |
Nov
(203) |
Dec
(182) |
| 2004 |
Jan
(307) |
Feb
(305) |
Mar
(430) |
Apr
(312) |
May
(187) |
Jun
(342) |
Jul
(487) |
Aug
(637) |
Sep
(336) |
Oct
(373) |
Nov
(441) |
Dec
(210) |
| 2005 |
Jan
(385) |
Feb
(480) |
Mar
(636) |
Apr
(544) |
May
(679) |
Jun
(625) |
Jul
(810) |
Aug
(838) |
Sep
(634) |
Oct
(521) |
Nov
(965) |
Dec
(543) |
| 2006 |
Jan
(494) |
Feb
(431) |
Mar
(546) |
Apr
(411) |
May
(406) |
Jun
(322) |
Jul
(256) |
Aug
(401) |
Sep
(345) |
Oct
(542) |
Nov
(308) |
Dec
(481) |
| 2007 |
Jan
(427) |
Feb
(326) |
Mar
(367) |
Apr
(255) |
May
(244) |
Jun
(204) |
Jul
(223) |
Aug
(231) |
Sep
(354) |
Oct
(374) |
Nov
(497) |
Dec
(362) |
| 2008 |
Jan
(322) |
Feb
(482) |
Mar
(658) |
Apr
(422) |
May
(476) |
Jun
(396) |
Jul
(455) |
Aug
(267) |
Sep
(280) |
Oct
(253) |
Nov
(232) |
Dec
(304) |
| 2009 |
Jan
(486) |
Feb
(470) |
Mar
(458) |
Apr
(423) |
May
(696) |
Jun
(461) |
Jul
(551) |
Aug
(575) |
Sep
(134) |
Oct
(110) |
Nov
(157) |
Dec
(102) |
| 2010 |
Jan
(226) |
Feb
(86) |
Mar
(147) |
Apr
(117) |
May
(107) |
Jun
(203) |
Jul
(193) |
Aug
(238) |
Sep
(300) |
Oct
(246) |
Nov
(23) |
Dec
(75) |
| 2011 |
Jan
(133) |
Feb
(195) |
Mar
(315) |
Apr
(200) |
May
(267) |
Jun
(293) |
Jul
(353) |
Aug
(237) |
Sep
(278) |
Oct
(611) |
Nov
(274) |
Dec
(260) |
| 2012 |
Jan
(303) |
Feb
(391) |
Mar
(417) |
Apr
(441) |
May
(488) |
Jun
(655) |
Jul
(590) |
Aug
(610) |
Sep
(526) |
Oct
(478) |
Nov
(359) |
Dec
(372) |
| 2013 |
Jan
(467) |
Feb
(226) |
Mar
(391) |
Apr
(281) |
May
(299) |
Jun
(252) |
Jul
(311) |
Aug
(352) |
Sep
(481) |
Oct
(571) |
Nov
(222) |
Dec
(231) |
| 2014 |
Jan
(185) |
Feb
(329) |
Mar
(245) |
Apr
(238) |
May
(281) |
Jun
(399) |
Jul
(382) |
Aug
(500) |
Sep
(579) |
Oct
(435) |
Nov
(487) |
Dec
(256) |
| 2015 |
Jan
(338) |
Feb
(357) |
Mar
(330) |
Apr
(294) |
May
(191) |
Jun
(108) |
Jul
(142) |
Aug
(261) |
Sep
(190) |
Oct
(54) |
Nov
(83) |
Dec
(22) |
| 2016 |
Jan
(49) |
Feb
(89) |
Mar
(33) |
Apr
(50) |
May
(27) |
Jun
(34) |
Jul
(53) |
Aug
(53) |
Sep
(98) |
Oct
(206) |
Nov
(93) |
Dec
(53) |
| 2017 |
Jan
(65) |
Feb
(82) |
Mar
(102) |
Apr
(86) |
May
(187) |
Jun
(67) |
Jul
(23) |
Aug
(93) |
Sep
(65) |
Oct
(45) |
Nov
(35) |
Dec
(17) |
| 2018 |
Jan
(26) |
Feb
(35) |
Mar
(38) |
Apr
(32) |
May
(8) |
Jun
(43) |
Jul
(27) |
Aug
(30) |
Sep
(43) |
Oct
(42) |
Nov
(38) |
Dec
(67) |
| 2019 |
Jan
(32) |
Feb
(37) |
Mar
(53) |
Apr
(64) |
May
(49) |
Jun
(18) |
Jul
(14) |
Aug
(53) |
Sep
(25) |
Oct
(30) |
Nov
(49) |
Dec
(31) |
| 2020 |
Jan
(87) |
Feb
(45) |
Mar
(37) |
Apr
(51) |
May
(99) |
Jun
(36) |
Jul
(11) |
Aug
(14) |
Sep
(20) |
Oct
(24) |
Nov
(40) |
Dec
(23) |
| 2021 |
Jan
(14) |
Feb
(53) |
Mar
(85) |
Apr
(15) |
May
(19) |
Jun
(3) |
Jul
(14) |
Aug
(1) |
Sep
(57) |
Oct
(73) |
Nov
(56) |
Dec
(22) |
| 2022 |
Jan
(3) |
Feb
(22) |
Mar
(6) |
Apr
(55) |
May
(46) |
Jun
(39) |
Jul
(15) |
Aug
(9) |
Sep
(11) |
Oct
(34) |
Nov
(20) |
Dec
(36) |
| 2023 |
Jan
(79) |
Feb
(41) |
Mar
(99) |
Apr
(169) |
May
(48) |
Jun
(16) |
Jul
(16) |
Aug
(57) |
Sep
(19) |
Oct
|
Nov
|
Dec
|
| S | M | T | W | T | F | S |
|---|---|---|---|---|---|---|
|
|
|
|
|
|
|
1
(24) |
|
2
(50) |
3
(26) |
4
(17) |
5
(18) |
6
(20) |
7
(20) |
8
(16) |
|
9
(19) |
10
(11) |
11
(17) |
12
(17) |
13
(20) |
14
(18) |
15
(18) |
|
16
(15) |
17
(27) |
18
(22) |
19
(31) |
20
(19) |
21
(21) |
22
(14) |
|
23
(14) |
24
(18) |
25
(15) |
26
|
27
(1) |
28
|
29
(2) |
|
30
(16) |
|
|
|
|
|
|
|
From: <sv...@va...> - 2012-09-12 19:52:25
|
florian 2012-09-12 20:52:16 +0100 (Wed, 12 Sep 2012)
New Revision: 2526
Log:
s390: Fix s390_emit_SFPC. That insn never required two registers.
Modified files:
trunk/priv/host_s390_defs.c
Modified: trunk/priv/host_s390_defs.c (+3 -3)
===================================================================
--- trunk/priv/host_s390_defs.c 2012-09-12 20:38:42 +01:00 (rev 2525)
+++ trunk/priv/host_s390_defs.c 2012-09-12 20:52:16 +01:00 (rev 2526)
@@ -3040,12 +3040,12 @@
static UChar *
-s390_emit_SFPC(UChar *p, UChar r1, UChar r2)
+s390_emit_SFPC(UChar *p, UChar r1)
{
if (UNLIKELY(vex_traceflags & VEX_TRACE_ASM))
s390_disasm(ENC2(MNM, GPR), "sfpc", r1);
- return emit_RRE(p, 0xb3840000, r1, r2);
+ return emit_RRE(p, 0xb3840000, r1, 0);
}
@@ -7528,7 +7528,7 @@
buf = s390_emit_NILL(buf, R0, 0xFFF8); /* Clear out right-most 3 bits */
buf = s390_emit_OR(buf, R0, mode); /* OR in the new rounding mode */
- buf = s390_emit_SFPC(buf, R0, 0); /* Load FPC register from R0 */
+ buf = s390_emit_SFPC(buf, R0); /* Load FPC register from R0 */
return buf;
}
|
|
From: <sv...@va...> - 2012-09-12 19:40:24
|
florian 2012-09-12 20:40:14 +0100 (Wed, 12 Sep 2012)
New Revision: 12966
Log:
s390x: Testcases for floating point 32/64-bit. Related to VEX r2525.
Added files:
trunk/none/tests/s390x/bfp-1.c
trunk/none/tests/s390x/bfp-1.stderr.exp
trunk/none/tests/s390x/bfp-1.stdout.exp
trunk/none/tests/s390x/bfp-1.vgtest
trunk/none/tests/s390x/rounding-2.c
trunk/none/tests/s390x/rounding-2.stderr.exp
trunk/none/tests/s390x/rounding-2.stdout.exp
trunk/none/tests/s390x/rounding-2.vgtest
trunk/none/tests/s390x/rounding-3.c
trunk/none/tests/s390x/rounding-3.stderr.exp
trunk/none/tests/s390x/rounding-3.stdout.exp
trunk/none/tests/s390x/rounding-3.vgtest
trunk/none/tests/s390x/rounding-4.c
trunk/none/tests/s390x/rounding-4.stderr.exp
trunk/none/tests/s390x/rounding-4.stdout.exp
trunk/none/tests/s390x/rounding-4.vgtest
trunk/none/tests/s390x/rounding-5.c
trunk/none/tests/s390x/rounding-5.stderr.exp
trunk/none/tests/s390x/rounding-5.stdout.exp
trunk/none/tests/s390x/rounding-5.vgtest
Modified directories:
trunk/none/tests/s390x/
Modified files:
trunk/none/tests/s390x/Makefile.am
trunk/none/tests/s390x/opcodes.h
Modified: trunk/none/tests/s390x/
Added: trunk/none/tests/s390x/rounding-4.stderr.exp (+2 -0)
===================================================================
--- trunk/none/tests/s390x/rounding-4.stderr.exp 2012-09-12 00:06:02 -23:00 (rev 12965)
+++ trunk/none/tests/s390x/rounding-4.stderr.exp 2012-09-12 20:40:14 +01:00 (rev 12966)
@@ -0,0 +1,2 @@
+
+
Added: trunk/none/tests/s390x/rounding-3.vgtest (+1 -0)
===================================================================
--- trunk/none/tests/s390x/rounding-3.vgtest 2012-09-12 00:06:02 -23:00 (rev 12965)
+++ trunk/none/tests/s390x/rounding-3.vgtest 2012-09-12 20:40:14 +01:00 (rev 12966)
@@ -0,0 +1 @@
+prog: rounding-3
Added: trunk/none/tests/s390x/rounding-5.vgtest (+1 -0)
===================================================================
--- trunk/none/tests/s390x/rounding-5.vgtest 2012-09-12 00:06:02 -23:00 (rev 12965)
+++ trunk/none/tests/s390x/rounding-5.vgtest 2012-09-12 20:40:14 +01:00 (rev 12966)
@@ -0,0 +1 @@
+prog: rounding-5
Added: trunk/none/tests/s390x/rounding-5.stderr.exp (+2 -0)
===================================================================
--- trunk/none/tests/s390x/rounding-5.stderr.exp 2012-09-12 00:06:02 -23:00 (rev 12965)
+++ trunk/none/tests/s390x/rounding-5.stderr.exp 2012-09-12 20:40:14 +01:00 (rev 12966)
@@ -0,0 +1,2 @@
+
+
Added: trunk/none/tests/s390x/rounding-2.stderr.exp (+2 -0)
===================================================================
--- trunk/none/tests/s390x/rounding-2.stderr.exp 2012-09-12 00:06:02 -23:00 (rev 12965)
+++ trunk/none/tests/s390x/rounding-2.stderr.exp 2012-09-12 20:40:14 +01:00 (rev 12966)
@@ -0,0 +1,2 @@
+
+
Added: trunk/none/tests/s390x/bfp-1.stdout.exp (+10 -0)
===================================================================
--- trunk/none/tests/s390x/bfp-1.stdout.exp 2012-09-12 00:06:02 -23:00 (rev 12965)
+++ trunk/none/tests/s390x/bfp-1.stdout.exp 2012-09-12 20:40:14 +01:00 (rev 12966)
@@ -0,0 +1,10 @@
+double arithmetic
+10.500000 + 1.250000 = 11.750000
+10.500000 - 1.250000 = 9.250000
+10.500000 * 1.250000 = 13.125000
+10.500000 / 1.250000 = 8.400000
+float arithmetic
+10.500000 + 1.250000 = 11.750000
+10.500000 - 1.250000 = 9.250000
+10.500000 * 1.250000 = 13.125000
+10.500000 / 1.250000 = 8.400000
Added: trunk/none/tests/s390x/bfp-1.c (+93 -0)
===================================================================
--- trunk/none/tests/s390x/bfp-1.c 2012-09-12 00:06:02 -23:00 (rev 12965)
+++ trunk/none/tests/s390x/bfp-1.c 2012-09-12 20:40:14 +01:00 (rev 12966)
@@ -0,0 +1,93 @@
+#include <stdio.h>
+
+/* Simple test to see that basic operators are mapped
+ correctly. Uses default rounding mode. */
+
+volatile double d1, d2;
+volatile float f1, f2;
+
+void fadd8(void)
+{
+ printf("%f + %f = %f\n", d1, d2, d1 + d2);
+}
+
+void fsub8(void)
+{
+ printf("%f - %f = %f\n", d1, d2, d1 - d2);
+}
+
+void fmul8(void)
+{
+ printf("%f * %f = %f\n", d1, d2, d1 * d2);
+}
+
+void fdiv8(void)
+{
+ printf("%f / %f = %f\n", d1, d2, d1 / d2);
+}
+
+void fadd4(void)
+{
+ register float r1 asm("f1") = f1;
+ register float r2 asm("f2") = f2;
+
+ __asm__ volatile ("aebr %[r1],%[r2]\n\t"
+ : [r1] "+f"(r1)
+ : [r2] "f"(r2) : "cc");
+ printf("%f + %f = %f\n", f1, f2, r1);
+}
+
+void fsub4(void)
+{
+ register float r1 asm("f1") = f1;
+ register float r2 asm("f2") = f2;
+
+ __asm__ volatile ("sebr %[r1],%[r2]\n\t"
+ : [r1] "+f"(r1)
+ : [r2] "f"(r2) : "cc");
+ printf("%f - %f = %f\n", f1, f2, r1);
+}
+
+void fmul4(void)
+{
+ register float r1 asm("f1") = f1;
+ register float r2 asm("f2") = f2;
+
+ __asm__ volatile ("meebr %[r1],%[r2]\n\t"
+ : [r1] "+f"(r1)
+ : [r2] "f"(r2) : "cc");
+ printf("%f * %f = %f\n", f1, f2, r1);
+}
+
+void fdiv4(void)
+{
+ register float r1 asm("f1") = f1;
+ register float r2 asm("f2") = f2;
+
+ __asm__ volatile ("debr %[r1],%[r2]\n\t"
+ : [r1] "+f"(r1)
+ : [r2] "f"(r2) : "cc");
+ printf("%f / %f = %f\n", f1, f2, r1);
+}
+
+
+int main()
+{
+ printf("double arithmetic\n");
+ d1 = 10.5;
+ d2 = 1.25;
+ fadd8();
+ fsub8();
+ fmul8();
+ fdiv8();
+
+ printf("float arithmetic\n");
+ f1 = 10.5f;
+ f2 = 1.25f;
+ fadd4();
+ fsub4();
+ fmul4();
+ fdiv4();
+
+ return 0;
+}
Added: trunk/none/tests/s390x/rounding-3.stderr.exp (+2 -0)
===================================================================
--- trunk/none/tests/s390x/rounding-3.stderr.exp 2012-09-12 00:06:02 -23:00 (rev 12965)
+++ trunk/none/tests/s390x/rounding-3.stderr.exp 2012-09-12 20:40:14 +01:00 (rev 12966)
@@ -0,0 +1,2 @@
+
+
Added: trunk/none/tests/s390x/rounding-4.stdout.exp (+19 -0)
===================================================================
--- trunk/none/tests/s390x/rounding-4.stdout.exp 2012-09-12 00:06:02 -23:00 (rev 12965)
+++ trunk/none/tests/s390x/rounding-4.stdout.exp 2012-09-12 20:40:14 +01:00 (rev 12966)
@@ -0,0 +1,19 @@
+setting FPC rounding mode to [-> near]
+load rounded d = 1.2345678987654319598e+28 f = 1.234567915439125133e+28
+setting FPC rounding mode to [-> zero]
+load rounded d = 1.2345678987654319598e+28 f = 1.2345677973799630613e+28
+setting FPC rounding mode to [-> +inf]
+load rounded d = 1.2345678987654319598e+28 f = 1.234567915439125133e+28
+setting FPC rounding mode to [-> -inf]
+load rounded d = 1.2345678987654319598e+28 f = 1.2345677973799630613e+28
+
+setting FPC rounding mode to [-> near]
+load rounded d = -1.2345678987654319598e+28 f = -1.234567915439125133e+28
+setting FPC rounding mode to [-> zero]
+load rounded d = -1.2345678987654319598e+28 f = -1.2345677973799630613e+28
+setting FPC rounding mode to [-> +inf]
+load rounded d = -1.2345678987654319598e+28 f = -1.2345677973799630613e+28
+setting FPC rounding mode to [-> -inf]
+load rounded d = -1.2345678987654319598e+28 f = -1.234567915439125133e+28
+
+load lengthened d = -1.234567915439125133e+28 f = -1.234567915439125133e+28
Property changed: trunk/none/tests/s390x (+0 -0)
___________________________________________________________________
Name: svn:ignore
- .deps
add
add_EI
add_GE
allexec
and
and_EI
clc
clcle
cvb
cvd
div
ex_clone
ex_sig
flogr
icm
insert
insert_EI
lam_stam
lpr
Makefile
Makefile.in
mul
mul_GE
mvst
or
or_EI
srst
sub
sub_EI
tcxb
xc
xor
xor_EI
stck
stcke
stckf
op_exception
fgx
condloadstore
fold_And16
stfle
op00
cksm
clcl
mvcl
troo
trot
trto
trtt
tr
tre
clrj
clgrj
crj
cgrj
clij
clgij
cij
cgij
cs
csg
cds
cdsg
cu21
cu21_1
cu24
cu24_1
cu42
cu12
cu12_1
cu14
cu14_1
cu41
ecag
fpext
fpext_warn
fpconv
rounding-1
+ .deps
add
add_EI
add_GE
allexec
and
and_EI
clc
clcle
cvb
cvd
div
ex_clone
ex_sig
flogr
icm
insert
insert_EI
lam_stam
lpr
Makefile
Makefile.in
mul
mul_GE
mvst
or
or_EI
srst
sub
sub_EI
tcxb
xc
xor
xor_EI
stck
stcke
stckf
op_exception
fgx
condloadstore
fold_And16
stfle
op00
cksm
clcl
mvcl
troo
trot
trto
trtt
tr
tre
clrj
clgrj
crj
cgrj
clij
clgij
cij
cgij
cs
csg
cds
cdsg
cu21
cu21_1
cu24
cu24_1
cu42
cu12
cu12_1
cu14
cu14_1
cu41
ecag
fpext
fpext_warn
fpconv
rounding-1
rounding-2
rounding-3
rounding-4
rounding-5
bfp-1
Added: trunk/none/tests/s390x/rounding-5.stdout.exp (+54 -0)
===================================================================
--- trunk/none/tests/s390x/rounding-5.stdout.exp 2012-09-12 00:06:02 -23:00 (rev 12965)
+++ trunk/none/tests/s390x/rounding-5.stdout.exp 2012-09-12 20:40:14 +01:00 (rev 12966)
@@ -0,0 +1,54 @@
+setting FPC rounding mode to [-> near]
+cefbr: 2147483647 -> 2147483648.000000
+setting FPC rounding mode to [-> zero]
+cefbr: 2147483647 -> 2147483520.000000
+setting FPC rounding mode to [-> +inf]
+cefbr: 2147483647 -> 2147483648.000000
+setting FPC rounding mode to [-> -inf]
+cefbr: 2147483647 -> 2147483520.000000
+
+setting FPC rounding mode to [-> near]
+cefbr: -2147483648 -> -2147483648.000000
+setting FPC rounding mode to [-> zero]
+cefbr: -2147483648 -> -2147483648.000000
+setting FPC rounding mode to [-> +inf]
+cefbr: -2147483648 -> -2147483648.000000
+setting FPC rounding mode to [-> -inf]
+cefbr: -2147483648 -> -2147483648.000000
+
+setting FPC rounding mode to [-> near]
+cegbr: 9223372036854775807 -> 9223372036854775808.000000
+setting FPC rounding mode to [-> zero]
+cegbr: 9223372036854775807 -> 9223371487098961920.000000
+setting FPC rounding mode to [-> +inf]
+cegbr: 9223372036854775807 -> 9223372036854775808.000000
+setting FPC rounding mode to [-> -inf]
+cegbr: 9223372036854775807 -> 9223371487098961920.000000
+
+setting FPC rounding mode to [-> near]
+cegbr: -9223372036854775808 -> -9223372036854775808.000000
+setting FPC rounding mode to [-> zero]
+cegbr: -9223372036854775808 -> -9223372036854775808.000000
+setting FPC rounding mode to [-> +inf]
+cegbr: -9223372036854775808 -> -9223372036854775808.000000
+setting FPC rounding mode to [-> -inf]
+cegbr: -9223372036854775808 -> -9223372036854775808.000000
+
+setting FPC rounding mode to [-> near]
+cegbr: 9223372036854775807 -> 9223372036854775808.000000
+setting FPC rounding mode to [-> zero]
+cegbr: 9223372036854775807 -> 9223372036854774784.000000
+setting FPC rounding mode to [-> +inf]
+cegbr: 9223372036854775807 -> 9223372036854775808.000000
+setting FPC rounding mode to [-> -inf]
+cegbr: 9223372036854775807 -> 9223372036854774784.000000
+
+setting FPC rounding mode to [-> near]
+cegbr: -9223372036854775808 -> -9223372036854775808.000000
+setting FPC rounding mode to [-> zero]
+cegbr: -9223372036854775808 -> -9223372036854775808.000000
+setting FPC rounding mode to [-> +inf]
+cegbr: -9223372036854775808 -> -9223372036854775808.000000
+setting FPC rounding mode to [-> -inf]
+cegbr: -9223372036854775808 -> -9223372036854775808.000000
+
Added: trunk/none/tests/s390x/rounding-2.vgtest (+1 -0)
===================================================================
--- trunk/none/tests/s390x/rounding-2.vgtest 2012-09-12 00:06:02 -23:00 (rev 12965)
+++ trunk/none/tests/s390x/rounding-2.vgtest 2012-09-12 20:40:14 +01:00 (rev 12966)
@@ -0,0 +1 @@
+prog: rounding-2
Added: trunk/none/tests/s390x/rounding-3.stdout.exp (+148 -0)
===================================================================
--- trunk/none/tests/s390x/rounding-3.stdout.exp 2012-09-12 00:06:02 -23:00 (rev 12965)
+++ trunk/none/tests/s390x/rounding-3.stdout.exp 2012-09-12 20:40:14 +01:00 (rev 12966)
@@ -0,0 +1,148 @@
+setting rounding mode to [-> near]
+cfebr 1.400000 -> 1 cc = 2
+cfebr 1.500000 -> 2 cc = 2
+cfebr 2.500000 -> 2 cc = 2
+cfebr 1.600000 -> 2 cc = 2
+cfebr -1.400000 -> -1 cc = 1
+cfebr -1.500000 -> -2 cc = 1
+cfebr -2.500000 -> -2 cc = 1
+cfebr -1.600000 -> -2 cc = 1
+cfebr 0.000000 -> 0 cc = 0
+cgebr 1.400000 -> 1 cc = 2
+cgebr 1.500000 -> 2 cc = 2
+cgebr 2.500000 -> 2 cc = 2
+cgebr 1.600000 -> 2 cc = 2
+cgebr -1.400000 -> -1 cc = 1
+cgebr -1.500000 -> -2 cc = 1
+cgebr -2.500000 -> -2 cc = 1
+cgebr -1.600000 -> -2 cc = 1
+cgebr 0.000000 -> 0 cc = 0
+cfdbr 1.400000 -> 1 cc = 2
+cfdbr 1.500000 -> 2 cc = 2
+cfdbr 2.500000 -> 2 cc = 2
+cfdbr 1.600000 -> 2 cc = 2
+cfdbr -1.400000 -> -1 cc = 1
+cfdbr -1.500000 -> -2 cc = 1
+cfdbr -2.500000 -> -2 cc = 1
+cfdbr -1.600000 -> -2 cc = 1
+cfdbr 0.000000 -> 0 cc = 0
+cgdbr 1.400000 -> 1 cc = 2
+cgdbr 1.500000 -> 2 cc = 2
+cgdbr 2.500000 -> 2 cc = 2
+cgdbr 1.600000 -> 2 cc = 2
+cgdbr -1.400000 -> -1 cc = 1
+cgdbr -1.500000 -> -2 cc = 1
+cgdbr -2.500000 -> -2 cc = 1
+cgdbr -1.600000 -> -2 cc = 1
+cgdbr 0.000000 -> 0 cc = 0
+setting rounding mode to [-> zero]
+cfebr 1.400000 -> 1 cc = 2
+cfebr 1.500000 -> 1 cc = 2
+cfebr 2.500000 -> 2 cc = 2
+cfebr 1.600000 -> 1 cc = 2
+cfebr -1.400000 -> -1 cc = 1
+cfebr -1.500000 -> -1 cc = 1
+cfebr -2.500000 -> -2 cc = 1
+cfebr -1.600000 -> -1 cc = 1
+cfebr 0.000000 -> 0 cc = 0
+cgebr 1.400000 -> 1 cc = 2
+cgebr 1.500000 -> 1 cc = 2
+cgebr 2.500000 -> 2 cc = 2
+cgebr 1.600000 -> 1 cc = 2
+cgebr -1.400000 -> -1 cc = 1
+cgebr -1.500000 -> -1 cc = 1
+cgebr -2.500000 -> -2 cc = 1
+cgebr -1.600000 -> -1 cc = 1
+cgebr 0.000000 -> 0 cc = 0
+cfdbr 1.400000 -> 1 cc = 2
+cfdbr 1.500000 -> 1 cc = 2
+cfdbr 2.500000 -> 2 cc = 2
+cfdbr 1.600000 -> 1 cc = 2
+cfdbr -1.400000 -> -1 cc = 1
+cfdbr -1.500000 -> -1 cc = 1
+cfdbr -2.500000 -> -2 cc = 1
+cfdbr -1.600000 -> -1 cc = 1
+cfdbr 0.000000 -> 0 cc = 0
+cgdbr 1.400000 -> 1 cc = 2
+cgdbr 1.500000 -> 1 cc = 2
+cgdbr 2.500000 -> 2 cc = 2
+cgdbr 1.600000 -> 1 cc = 2
+cgdbr -1.400000 -> -1 cc = 1
+cgdbr -1.500000 -> -1 cc = 1
+cgdbr -2.500000 -> -2 cc = 1
+cgdbr -1.600000 -> -1 cc = 1
+cgdbr 0.000000 -> 0 cc = 0
+setting rounding mode to [-> +inf]
+cfebr 1.400000 -> 2 cc = 2
+cfebr 1.500000 -> 2 cc = 2
+cfebr 2.500000 -> 3 cc = 2
+cfebr 1.600000 -> 2 cc = 2
+cfebr -1.400000 -> -1 cc = 1
+cfebr -1.500000 -> -1 cc = 1
+cfebr -2.500000 -> -2 cc = 1
+cfebr -1.600000 -> -1 cc = 1
+cfebr 0.000000 -> 0 cc = 0
+cgebr 1.400000 -> 2 cc = 2
+cgebr 1.500000 -> 2 cc = 2
+cgebr 2.500000 -> 3 cc = 2
+cgebr 1.600000 -> 2 cc = 2
+cgebr -1.400000 -> -1 cc = 1
+cgebr -1.500000 -> -1 cc = 1
+cgebr -2.500000 -> -2 cc = 1
+cgebr -1.600000 -> -1 cc = 1
+cgebr 0.000000 -> 0 cc = 0
+cfdbr 1.400000 -> 2 cc = 2
+cfdbr 1.500000 -> 2 cc = 2
+cfdbr 2.500000 -> 3 cc = 2
+cfdbr 1.600000 -> 2 cc = 2
+cfdbr -1.400000 -> -1 cc = 1
+cfdbr -1.500000 -> -1 cc = 1
+cfdbr -2.500000 -> -2 cc = 1
+cfdbr -1.600000 -> -1 cc = 1
+cfdbr 0.000000 -> 0 cc = 0
+cgdbr 1.400000 -> 2 cc = 2
+cgdbr 1.500000 -> 2 cc = 2
+cgdbr 2.500000 -> 3 cc = 2
+cgdbr 1.600000 -> 2 cc = 2
+cgdbr -1.400000 -> -1 cc = 1
+cgdbr -1.500000 -> -1 cc = 1
+cgdbr -2.500000 -> -2 cc = 1
+cgdbr -1.600000 -> -1 cc = 1
+cgdbr 0.000000 -> 0 cc = 0
+setting rounding mode to [-> -inf]
+cfebr 1.400000 -> 1 cc = 2
+cfebr 1.500000 -> 1 cc = 2
+cfebr 2.500000 -> 2 cc = 2
+cfebr 1.600000 -> 1 cc = 2
+cfebr -1.400000 -> -2 cc = 1
+cfebr -1.500000 -> -2 cc = 1
+cfebr -2.500000 -> -3 cc = 1
+cfebr -1.600000 -> -2 cc = 1
+cfebr 0.000000 -> 0 cc = 0
+cgebr 1.400000 -> 1 cc = 2
+cgebr 1.500000 -> 1 cc = 2
+cgebr 2.500000 -> 2 cc = 2
+cgebr 1.600000 -> 1 cc = 2
+cgebr -1.400000 -> -2 cc = 1
+cgebr -1.500000 -> -2 cc = 1
+cgebr -2.500000 -> -3 cc = 1
+cgebr -1.600000 -> -2 cc = 1
+cgebr 0.000000 -> 0 cc = 0
+cfdbr 1.400000 -> 1 cc = 2
+cfdbr 1.500000 -> 1 cc = 2
+cfdbr 2.500000 -> 2 cc = 2
+cfdbr 1.600000 -> 1 cc = 2
+cfdbr -1.400000 -> -2 cc = 1
+cfdbr -1.500000 -> -2 cc = 1
+cfdbr -2.500000 -> -3 cc = 1
+cfdbr -1.600000 -> -2 cc = 1
+cfdbr 0.000000 -> 0 cc = 0
+cgdbr 1.400000 -> 1 cc = 2
+cgdbr 1.500000 -> 1 cc = 2
+cgdbr 2.500000 -> 2 cc = 2
+cgdbr 1.600000 -> 1 cc = 2
+cgdbr -1.400000 -> -2 cc = 1
+cgdbr -1.500000 -> -2 cc = 1
+cgdbr -2.500000 -> -3 cc = 1
+cgdbr -1.600000 -> -2 cc = 1
+cgdbr 0.000000 -> 0 cc = 0
Modified: trunk/none/tests/s390x/opcodes.h (+2 -0)
===================================================================
--- trunk/none/tests/s390x/opcodes.h 2012-09-12 00:06:02 -23:00 (rev 12965)
+++ trunk/none/tests/s390x/opcodes.h 2012-09-12 20:40:14 +01:00 (rev 12966)
@@ -52,6 +52,7 @@
".long 0x" #i4 #m3 #u0 #op2 "\n\t"
#define RRE_RR(op,u0,r1,r2) ".long 0x" #op #u0 #r1 #r2 "\n\t"
#define RRE_RERE(op,r1,r2) ".long 0x" #op "00" #r1 #r2 "\n\t"
+#define RRE_R0(op,r1) ".long 0x" #op "00" #r1 "0" "\n\t"
#define SIL_RDU(op,b1,d1,i2) \
".short 0x" #op "\n\t" \
".long 0x" #b1 #d1 #i2 "\n\t"
@@ -299,6 +300,7 @@
#define RNSBG(r1,r2,i3,i4,i5) RIE_RRUUU(ec,r1,r2,i3,i4,i5,54)
#define ROSBG(r1,r2,i3,i4,i5) RIE_RRUUU(ec,r1,r2,i3,i4,i5,56)
#define RXSBG(r1,r2,i3,i4,i5) RIE_RRUUU(ec,r1,r2,i3,i4,i5,57)
+#define SFPC(r1) RRE_R0(b384,r1)
#define SGRK(r3,r1,r2) RRF_R0RR2(b9e9,r3,0,r1,r2)
#define SHHHR(r3,r1,r2) RRF_R0RR2(b9c9,r3,0,r1,r2)
#define SHHLR(r3,r1,r2) RRF_R0RR2(b9d9,r3,0,r1,r2)
Added: trunk/none/tests/s390x/rounding-2.c (+41 -0)
===================================================================
--- trunk/none/tests/s390x/rounding-2.c 2012-09-12 00:06:02 -23:00 (rev 12965)
+++ trunk/none/tests/s390x/rounding-2.c 2012-09-12 20:40:14 +01:00 (rev 12966)
@@ -0,0 +1,41 @@
+#include <assert.h>
+#include <stdlib.h>
+#include <stdio.h>
+#include "opcodes.h"
+
+/* Basic test that we can set the rounding mode in the FPC and
+ query it. Covers only generally available rounding modes. */
+
+void
+set_rounding_mode(unsigned mode)
+{
+ register unsigned r asm("1") = mode;
+ __asm__ volatile ( SFPC(1) : : "d"(r) );
+}
+
+unsigned
+get_rounding_mode(void)
+{
+ unsigned fpc;
+
+ __asm__ volatile ("stfpc %0\n\t" : "=m"(fpc));
+
+ return fpc & 0x7;
+}
+
+
+int main(void)
+{
+ int i;
+ const unsigned rmodes[] = { 0, 1, 2, 3 };
+
+ printf("initial rounding mode: %u\n", get_rounding_mode());
+
+ for (i = 0; i < sizeof rmodes / sizeof rmodes[0]; ++i) {
+ printf("setting rounding mode to %u\n", rmodes[i]);
+ set_rounding_mode(rmodes[i]);
+ printf("...checking: %u\n", get_rounding_mode());
+ }
+
+ return 0;
+}
Modified: trunk/none/tests/s390x/Makefile.am (+1 -1)
===================================================================
--- trunk/none/tests/s390x/Makefile.am 2012-09-12 00:06:02 -23:00 (rev 12965)
+++ trunk/none/tests/s390x/Makefile.am 2012-09-12 20:40:14 +01:00 (rev 12966)
@@ -9,7 +9,7 @@
trto trot trtt tr tre cij cgij clij clgij crj cgrj clrj clgrj \
cs csg cds cdsg cu21 cu21_1 cu24 cu24_1 cu42 cu12 cu12_1 \
ex_sig ex_clone cu14 cu14_1 cu41 fpconv ecag fpext fpext_warn \
- rounding-1
+ rounding-1 rounding-2 rounding-3 rounding-4 rounding-5 bfp-1
check_PROGRAMS = $(INSN_TESTS) \
allexec \
Added: trunk/none/tests/s390x/rounding-5.c (+93 -0)
===================================================================
--- trunk/none/tests/s390x/rounding-5.c 2012-09-12 00:06:02 -23:00 (rev 12965)
+++ trunk/none/tests/s390x/rounding-5.c 2012-09-12 20:40:14 +01:00 (rev 12966)
@@ -0,0 +1,93 @@
+#include <stdio.h>
+#include <assert.h>
+#include <stdint.h>
+#include <inttypes.h>
+#include "opcodes.h"
+
+/* Test "convert from fixed" with universally available rounding modes.
+ Rounding mode is provided via FPC. */
+
+volatile int32_t i32;
+volatile int64_t i64;
+
+const char *
+rtext(unsigned fpc_round)
+{
+ switch (fpc_round) {
+ case 0: return "[-> near]";
+ case 1: return "[-> zero]";
+ case 2: return "[-> +inf]";
+ case 3: return "[-> -inf]";
+ }
+ assert(0);
+}
+
+void
+set_rounding_mode(unsigned mode)
+{
+ printf("setting FPC rounding mode to %s\n", rtext(mode));
+ register unsigned r asm("1") = mode;
+ __asm__ volatile ( SFPC(1) : : "d"(r) );
+}
+
+void cefbr(unsigned mode)
+{
+ set_rounding_mode(mode);
+
+ float out;
+
+ __asm__ volatile("cefbr %[r1],%[r2]" : [r1] "=f"(out) : [r2] "d"(i32));
+ printf("cefbr: %"PRId32" -> %f\n", i32, out);
+}
+
+void cegbr(unsigned mode)
+{
+ set_rounding_mode(mode);
+
+ float out;
+
+ __asm__ volatile("cegbr %[r1],%[r2]" : [r1] "=f"(out) : [r2] "d"(i64));
+ printf("cegbr: %"PRId64" -> %f\n", i64, out);
+}
+
+void cdgbr(unsigned mode)
+{
+ set_rounding_mode(mode);
+
+ double out;
+
+ __asm__ volatile("cdgbr %[r1],%[r2]" : [r1] "=f"(out) : [r2] "d"(i64));
+ printf("cegbr: %"PRId64" -> %f\n", i64, out);
+}
+
+
+int main()
+{
+ int mode;
+
+ /* i32 -> f32 */
+ i32 = INT32_MAX;
+ for (mode = 0; mode <= 3; ++mode) cefbr(mode);
+ printf("\n");
+ i32 = INT32_MIN;
+ for (mode = 0; mode <= 3; ++mode) cefbr(mode);
+ printf("\n");
+
+ /* i64 -> f32 */
+ i64 = INT64_MAX;
+ for (mode = 0; mode <= 3; ++mode) cegbr(mode);
+ printf("\n");
+ i64 = INT64_MIN;
+ for (mode = 0; mode <= 3; ++mode) cegbr(mode);
+ printf("\n");
+
+ /* i64 -> f64 */
+ i64 = INT64_MAX;
+ for (mode = 0; mode <= 3; ++mode) cdgbr(mode);
+ printf("\n");
+ i64 = INT64_MIN;
+ for (mode = 0; mode <= 3; ++mode) cdgbr(mode);
+ printf("\n");
+
+ return 0;
+}
Added: trunk/none/tests/s390x/rounding-4.vgtest (+1 -0)
===================================================================
--- trunk/none/tests/s390x/rounding-4.vgtest 2012-09-12 00:06:02 -23:00 (rev 12965)
+++ trunk/none/tests/s390x/rounding-4.vgtest 2012-09-12 20:40:14 +01:00 (rev 12966)
@@ -0,0 +1 @@
+prog: rounding-4
Added: trunk/none/tests/s390x/rounding-4.c (+75 -0)
===================================================================
--- trunk/none/tests/s390x/rounding-4.c 2012-09-12 00:06:02 -23:00 (rev 12965)
+++ trunk/none/tests/s390x/rounding-4.c 2012-09-12 20:40:14 +01:00 (rev 12966)
@@ -0,0 +1,75 @@
+#include <stdio.h>
+#include <assert.h>
+#include "opcodes.h"
+
+/* Test "load rounded" with universally available rounding modes.
+ Rounding mode is provided via FPC.
+ Also test "load lengthened" (which is independent of rounding modes). */
+
+volatile double d;
+volatile float f;
+
+const char *
+rtext(unsigned fpc_round)
+{
+ switch (fpc_round) {
+ case 0: return "[-> near]";
+ case 1: return "[-> zero]";
+ case 2: return "[-> +inf]";
+ case 3: return "[-> -inf]";
+ }
+ assert(0);
+}
+
+void
+set_rounding_mode(unsigned mode)
+{
+ printf("setting FPC rounding mode to %s\n", rtext(mode));
+ register unsigned r asm("1") = mode;
+ __asm__ volatile ( SFPC(1) : : "d"(r) );
+}
+
+
+void
+load_rounded(void)
+{
+ f = d;
+ printf("load rounded d = %22.20g f = %22.20g\n", d, f);
+}
+
+void
+load_lengthened(void)
+{
+ d = f;
+ printf("load lengthened d = %22.20g f = %22.20g\n", d, f);
+}
+
+/* Tests for load rounded and load lengthened */
+int main()
+{
+ d = 12345678.98765432E21;
+ set_rounding_mode(0);
+ load_rounded();
+ set_rounding_mode(1);
+ load_rounded();
+ set_rounding_mode(2);
+ load_rounded();
+ set_rounding_mode(3);
+ load_rounded();
+ printf("\n");
+
+ d = -12345678.98765432E21;
+ set_rounding_mode(0);
+ load_rounded();
+ set_rounding_mode(1);
+ load_rounded();
+ set_rounding_mode(2);
+ load_rounded();
+ set_rounding_mode(3);
+ load_rounded();
+ printf("\n");
+
+ load_lengthened();
+
+ return 0;
+}
Added: trunk/none/tests/s390x/rounding-3.c (+116 -0)
===================================================================
--- trunk/none/tests/s390x/rounding-3.c 2012-09-12 00:06:02 -23:00 (rev 12965)
+++ trunk/none/tests/s390x/rounding-3.c 2012-09-12 20:40:14 +01:00 (rev 12966)
@@ -0,0 +1,116 @@
+#include <assert.h>
+#include <stdlib.h>
+#include <stdio.h>
+#include <stdint.h>
+#include <inttypes.h>
+#include "opcodes.h"
+
+/* Test "convert to fixed" with "per fpc" rounding.
+ Covers all generally available rounding modes.
+
+ Note, that "convert to fixed" with rounding mode specified as
+ part of the insn is already tested in fpconv.c
+*/
+
+void
+set_rounding_mode(unsigned mode)
+{
+ register unsigned r asm("1") = mode;
+ __asm__ volatile ( SFPC(1) : : "d"(r) );
+}
+
+unsigned
+get_rounding_mode(void)
+{
+ unsigned fpc;
+
+ __asm__ volatile ("stfpc %0\n\t" : "=m"(fpc));
+
+ return fpc & 0x7;
+}
+
+
+const char *
+rtext(unsigned fpc_round)
+{
+ switch (fpc_round) {
+ case 0: return "[-> near]";
+ case 1: return "[-> zero]";
+ case 2: return "[-> +inf]";
+ case 3: return "[-> -inf]";
+ }
+ assert(0);
+}
+
+#define convert_to_int(opcode,src_type,dst_type,dst_fmt,round,value) \
+do { \
+ src_type src = value; \
+ dst_type dst; \
+ unsigned cc; \
+ \
+ __asm__ volatile (opcode " %[dst]," #round ",%[src]\n\t" \
+ "ipm %[cc]\n\t" \
+ "srl %[cc],28\n\t" \
+ : [dst] "=d"(dst), [cc] "=d"(cc) \
+ : [src] "f"(src) \
+ : "cc"); \
+ \
+ printf("%s %f\t-> %"dst_fmt"\tcc = %u\n", \
+ opcode, src, dst, cc); \
+} while (0)
+
+
+#define cfebr(value) \
+ convert_to_int("cfebr",float,int32_t,PRId32,0,value)
+#define cfdbr(value) \
+ convert_to_int("cfdbr",double,int32_t,PRId32,0,value)
+#define cgebr(value) \
+ convert_to_int("cgebr",float,int64_t,PRId64,0,value)
+#define cgdbr(value) \
+ convert_to_int("cgdbr",double,int64_t,PRId64,0,value)
+
+int main(void)
+{
+ int i, j;
+ static const unsigned rmodes[] = { 0, 1, 2, 3 };
+ static const float fval[] = {
+ 1.4f, 1.5f, 2.5f, 1.6f, -1.4f, -1.5f, -2.5f, -1.6f, 0.0f,
+ };
+ static const double dval[] = {
+ 1.4, 1.5, 2.5, 1.6, -1.4, -1.5, -2.5, -1.6, 0.0,
+ };
+
+
+ for (i = 0; i < sizeof rmodes / sizeof rmodes[0]; ++i) {
+ printf("setting rounding mode to %s\n", rtext(rmodes[i]));
+ set_rounding_mode(rmodes[i]);
+ assert(get_rounding_mode() == rmodes[i]);
+
+ /* f32 -> i32 */
+ for (j = 0; j < sizeof fval / sizeof fval[0]; ++j) {
+ cfebr(fval[j]);
+ assert(get_rounding_mode() == rmodes[i]);
+ }
+
+ /* f32 -> i64 */
+ for (j = 0; j < sizeof fval / sizeof fval[0]; ++j) {
+ cgebr(fval[j]);
+ assert(get_rounding_mode() == rmodes[i]);
+ }
+
+ /* f64 -> i32 */
+ for (j = 0; j < sizeof dval / sizeof dval[0]; ++j) {
+ cfdbr(dval[j]);
+ assert(get_rounding_mode() == rmodes[i]);
+ }
+
+ /* f64 -> i64 */
+ for (j = 0; j < sizeof dval / sizeof dval[0]; ++j) {
+ cgdbr(dval[j]);
+ assert(get_rounding_mode() == rmodes[i]);
+ }
+
+ }
+
+ return 0;
+}
Added: trunk/none/tests/s390x/rounding-2.stdout.exp (+9 -0)
===================================================================
--- trunk/none/tests/s390x/rounding-2.stdout.exp 2012-09-12 00:06:02 -23:00 (rev 12965)
+++ trunk/none/tests/s390x/rounding-2.stdout.exp 2012-09-12 20:40:14 +01:00 (rev 12966)
@@ -0,0 +1,9 @@
+initial rounding mode: 0
+setting rounding mode to 0
+...checking: 0
+setting rounding mode to 1
+...checking: 1
+setting rounding mode to 2
+...checking: 2
+setting rounding mode to 3
+...checking: 3
Added: trunk/none/tests/s390x/bfp-1.stderr.exp (+2 -0)
===================================================================
--- trunk/none/tests/s390x/bfp-1.stderr.exp 2012-09-12 00:06:02 -23:00 (rev 12965)
+++ trunk/none/tests/s390x/bfp-1.stderr.exp 2012-09-12 20:40:14 +01:00 (rev 12966)
@@ -0,0 +1,2 @@
+
+
Added: trunk/none/tests/s390x/bfp-1.vgtest (+1 -0)
===================================================================
--- trunk/none/tests/s390x/bfp-1.vgtest 2012-09-12 00:06:02 -23:00 (rev 12965)
+++ trunk/none/tests/s390x/bfp-1.vgtest 2012-09-12 20:40:14 +01:00 (rev 12966)
@@ -0,0 +1 @@
+prog: bfp-1
|
|
From: <sv...@va...> - 2012-09-12 19:38:52
|
florian 2012-09-12 20:38:42 +0100 (Wed, 12 Sep 2012)
New Revision: 2525
Log:
s390: Change the handling of S390_ROUND_PER_FPC (which indicates that the
actual rounding mode is to be taken from the FPC register). Previously, this
was just mapped to S390_ROUND_NEAREST_EVEN, which obviously has correctness
issues.
First, we add a function get_bfp_rounding_mode_from_fpc to extract the
rounding mode from the guest FPC when building IR.
Second, have encode_bfp_rounding_mode invoke get_bfp_rounding_mode_from_fpc
whenever a S390_ROUND_PER_FPC is requested.
Third, in insn selection track whether (and if so to what value) the
rounding mode was set for the IRSB at hand. That way redundant assignments
can be avoided. This works well because the IR optimiser do a fine job
recognising end eliminating the expressions returned earlier from
get_bfp_rounding_more_from_fpc. So they get all mapped to the same IRTemp.
Note, VEX r2524 is essential to get this behaviour.
Fourth, remove the rounding more from the bfp_unop/binop/triop s390_insns.
Fifth, if the rounding mode can be set on the insn directly, prefer that
over setting it in the FPC and picking it up from there.
Modified files:
trunk/priv/guest_s390_toIR.c
trunk/priv/host_s390_defs.c
trunk/priv/host_s390_defs.h
trunk/priv/host_s390_isel.c
Modified: trunk/priv/guest_s390_toIR.c (+70 -25)
===================================================================
--- trunk/priv/guest_s390_toIR.c 2012-09-12 17:40:54 +01:00 (rev 2524)
+++ trunk/priv/guest_s390_toIR.c 2012-09-12 20:38:42 +01:00 (rev 2525)
@@ -425,31 +425,6 @@
S390X_GUEST_OFFSET(guest_IA)));
}
-/* Encode the s390 rounding mode as it appears in the m3 field of certain
- instructions to VEX's IRRoundingMode. Rounding modes that cannot be
- represented in VEX are converted to Irrm_NEAREST. The rationale is, that
- Irrm_NEAREST refers to IEEE 754's roundTiesToEven which the standard
- considers the default rounding mode (4.3.3). */
-static IRTemp
-encode_bfp_rounding_mode(UChar mode)
-{
- IRExpr *rm;
-
- switch (mode) {
- case S390_ROUND_PER_FPC: /* not supported */
- case S390_ROUND_NEAREST_AWAY: /* not supported */
- case S390_ROUND_PREPARE_SHORT: /* not supported */
- case S390_ROUND_NEAREST_EVEN: rm = mkU32(Irrm_NEAREST); break;
- case S390_ROUND_ZERO: rm = mkU32(Irrm_ZERO); break;
- case S390_ROUND_POSINF: rm = mkU32(Irrm_PosINF); break;
- case S390_ROUND_NEGINF: rm = mkU32(Irrm_NegINF); break;
- default:
- vpanic("encode_bfp_rounding_mode");
- }
-
- return mktemp(Ity_I32, rm);
-}
-
static __inline__ IRExpr *get_fpr_dw0(UInt);
static __inline__ void put_fpr_dw0(UInt, IRExpr *);
@@ -1419,6 +1394,76 @@
/*------------------------------------------------------------*/
+/*--- Rounding modes ---*/
+/*------------------------------------------------------------*/
+
+/* Extract the rounding mode from the guest FPC reg and encode it as an
+ IRRoundingMode:
+
+ rounding mode | s390 | IR
+ -------------------------
+ to nearest | 00 | 00
+ to zero | 01 | 11
+ to +infinity | 10 | 10
+ to -infinity | 11 | 01
+
+ So: IR = (4 - s390) & 3
+*/
+static IRExpr *
+get_rounding_mode_from_fpc(void)
+{
+ IRTemp fpc_bits = newTemp(Ity_I32);
+
+ /* For z196 and later the bfp rounding mode is stored in bits [29:31].
+ Prior to that bits [30:31] contained the bfp rounding mode with
+ bit 29 being unused and having a value of 0. So we can always
+ extract the least significant 3 bits. */
+ assign(fpc_bits, binop(Iop_And32, get_fpc_w0(), mkU32(7)));
+
+ /* fixs390:
+
+
+ if (! s390_host_has_fpext && rounding_mode > 3) {
+ emulation warning @ runtime and
+ set fpc to round nearest
+ }
+ */
+
+ /* For now silently adjust an unsupported rounding mode to "nearest" */
+ IRExpr *rm_s390 = mkite(binop(Iop_CmpLE32S, mkexpr(fpc_bits), mkU32(3)),
+ mkexpr(fpc_bits),
+ mkU32(S390_FPC_ROUND_NEAREST_EVEN));
+
+ // rm_IR = (4 - rm_s390) & 3;
+ return binop(Iop_And32, binop(Iop_Sub32, mkU32(4), rm_s390), mkU32(3));
+}
+
+/* Encode the s390 rounding mode as it appears in the m3 field of certain
+ instructions to VEX's IRRoundingMode. Rounding modes that cannot be
+ represented in VEX are converted to Irrm_NEAREST. The rationale is, that
+ Irrm_NEAREST refers to IEEE 754's roundTiesToEven which the standard
+ considers the default rounding mode (4.3.3). */
+static IRTemp
+encode_bfp_rounding_mode(UChar mode)
+{
+ IRExpr *rm;
+
+ switch (mode) {
+ case S390_ROUND_PER_FPC: rm = get_rounding_mode_from_fpc(); break;
+ case S390_ROUND_NEAREST_AWAY: /* not supported */
+ case S390_ROUND_PREPARE_SHORT: /* not supported */
+ case S390_ROUND_NEAREST_EVEN: rm = mkU32(Irrm_NEAREST); break;
+ case S390_ROUND_ZERO: rm = mkU32(Irrm_ZERO); break;
+ case S390_ROUND_POSINF: rm = mkU32(Irrm_PosINF); break;
+ case S390_ROUND_NEGINF: rm = mkU32(Irrm_NegINF); break;
+ default:
+ vpanic("encode_bfp_rounding_mode");
+ }
+
+ return mktemp(Ity_I32, rm);
+}
+
+/*------------------------------------------------------------*/
/*--- Build IR for formats ---*/
/*------------------------------------------------------------*/
static void
Modified: trunk/priv/host_s390_isel.c (+110 -49)
===================================================================
--- trunk/priv/host_s390_isel.c 2012-09-12 17:40:54 +01:00 (rev 2524)
+++ trunk/priv/host_s390_isel.c 2012-09-12 20:38:42 +01:00 (rev 2525)
@@ -9,6 +9,7 @@
framework.
Copyright IBM Corp. 2010-2012
+ Copyright (C) 2012-2012 Florian Krohm (br...@ac...)
This program is free software; you can redistribute it and/or
modify it under the terms of the GNU General Public License as
@@ -112,6 +113,8 @@
UInt vreg_ctr;
UInt hwcaps;
+ IRExpr *previous_bfp_rounding_mode;
+
ULong old_value[NUM_TRACKED_REGS];
/* The next two are for translation chaining */
@@ -530,24 +533,77 @@
}
-/* Given an expression representing a rounding mode using IRRoundingMode
- encoding convert it to an s390_round_t value. */
+/*---------------------------------------------------------*/
+/*--- BFP helper functions ---*/
+/*---------------------------------------------------------*/
+
+/* Set the BFP rounding mode in the FPC. This function is called for
+ all non-conversion BFP instructions as those will always get the
+ rounding mode from the FPC. */
+static void
+set_bfp_rounding_mode_in_fpc(ISelEnv *env, IRExpr *irrm)
+{
+ vassert(typeOfIRExpr(env->type_env, irrm) == Ity_I32);
+
+ /* Do we need to do anything? */
+ if (env->previous_bfp_rounding_mode &&
+ env->previous_bfp_rounding_mode->tag == Iex_RdTmp &&
+ irrm->tag == Iex_RdTmp &&
+ env->previous_bfp_rounding_mode->Iex.RdTmp.tmp == irrm->Iex.RdTmp.tmp) {
+ /* No - new mode is identical to previous mode. */
+ return;
+ }
+
+ /* No luck - we better set it, and remember what we set it to. */
+ env->previous_bfp_rounding_mode = irrm;
+
+ /* The incoming rounding mode is in VEX IR encoding. Need to change
+ to s390.
+
+ rounding mode | s390 | IR
+ -------------------------
+ to nearest | 00 | 00
+ to zero | 01 | 11
+ to +infinity | 10 | 10
+ to -infinity | 11 | 01
+
+ So: s390 = (4 - IR) & 3
+ */
+ HReg ir = s390_isel_int_expr(env, irrm);
+
+ HReg mode = newVRegI(env);
+
+ addInstr(env, s390_insn_load_immediate(4, mode, 4));
+ addInstr(env, s390_insn_alu(4, S390_ALU_SUB, mode, s390_opnd_reg(ir)));
+ addInstr(env, s390_insn_alu(4, S390_ALU_AND, mode, s390_opnd_imm(3)));
+
+ addInstr(env, s390_insn_set_fpcrm(4, mode));
+}
+
+
+/* This function is invoked for insns that support a specification of
+ a rounding mode in the insn itself. In that case there is no need to
+ stick the rounding mode into the FPC -- a good thing. However, the
+ rounding mode must be known. */
static s390_round_t
-decode_rounding_mode(IRExpr *rounding_expr)
+get_bfp_rounding_mode(ISelEnv *env, IRExpr *irrm)
{
- if (rounding_expr->tag == Iex_Const &&
- rounding_expr->Iex.Const.con->tag == Ico_U32) {
- IRRoundingMode mode = rounding_expr->Iex.Const.con->Ico.U32;
+ if (irrm->tag == Iex_Const) { /* rounding mode is known */
+ vassert(irrm->Iex.Const.con->tag == Ico_U32);
+ IRRoundingMode mode = irrm->Iex.Const.con->Ico.U32;
switch (mode) {
- case Irrm_NEAREST: return S390_ROUND_NEAREST_EVEN;
- case Irrm_ZERO: return S390_ROUND_ZERO;
- case Irrm_PosINF: return S390_ROUND_POSINF;
- case Irrm_NegINF: return S390_ROUND_NEGINF;
+ case Irrm_NEAREST: return S390_ROUND_NEAREST_EVEN;
+ case Irrm_ZERO: return S390_ROUND_ZERO;
+ case Irrm_PosINF: return S390_ROUND_POSINF;
+ case Irrm_NegINF: return S390_ROUND_NEGINF;
+ default:
+ vpanic("get_bfp_rounding_mode");
}
}
- vpanic("decode_rounding_mode");
+ set_bfp_rounding_mode_in_fpc(env, irrm);
+ return S390_ROUND_PER_FPC;
}
@@ -930,8 +986,9 @@
res = newVRegI(env);
h1 = s390_isel_float_expr(env, arg2); /* Process operand */
- rounding_mode = decode_rounding_mode(arg1);
- addInstr(env, s390_insn_bfp_convert(size, conv, res, h1, rounding_mode));
+ rounding_mode = get_bfp_rounding_mode(env, arg1);
+ addInstr(env, s390_insn_bfp_convert(size, conv, res, h1,
+ rounding_mode));
return res;
}
@@ -950,7 +1007,7 @@
addInstr(env, s390_insn_move(8, f13, op_hi));
addInstr(env, s390_insn_move(8, f15, op_lo));
- rounding_mode = decode_rounding_mode(arg1);
+ rounding_mode = get_bfp_rounding_mode(env, arg1);
addInstr(env, s390_insn_bfp128_convert_from(size, conv, res, f13, f15,
rounding_mode));
return res;
@@ -1575,7 +1632,6 @@
IRExpr *left = triop->arg2;
IRExpr *right = triop->arg3;
s390_bfp_binop_t bfpop;
- s390_round_t rounding_mode;
HReg op1_hi, op1_lo, op2_hi, op2_lo, f12, f13, f14, f15;
s390_isel_float128_expr(&op1_hi, &op1_lo, env, left); /* 1st operand */
@@ -1604,9 +1660,8 @@
goto irreducible;
}
- rounding_mode = decode_rounding_mode(triop->arg1);
- addInstr(env, s390_insn_bfp128_binop(16, bfpop, f12, f14, f13,
- f15, rounding_mode));
+ set_bfp_rounding_mode_in_fpc(env, triop->arg1);
+ addInstr(env, s390_insn_bfp128_binop(16, bfpop, f12, f14, f13, f15));
/* Move result to virtual destination register */
*dst_hi = newVRegF(env);
@@ -1620,8 +1675,6 @@
/* --------- BINARY OP --------- */
case Iex_Binop: {
HReg op_hi, op_lo, f12, f13, f14, f15;
- s390_bfp_unop_t bfpop;
- s390_round_t rounding_mode;
/* We use non-virtual registers as pairs (f13, f15) and (f12, f14)) */
f12 = make_fpr(12);
@@ -1637,12 +1690,10 @@
addInstr(env, s390_insn_move(8, f13, op_hi));
addInstr(env, s390_insn_move(8, f15, op_lo));
- bfpop = S390_BFP_SQRT;
- rounding_mode = decode_rounding_mode(expr->Iex.Binop.arg1);
+ set_bfp_rounding_mode_in_fpc(env, expr->Iex.Binop.arg1);
+ addInstr(env, s390_insn_bfp128_unop(16, S390_BFP_SQRT, f12, f14,
+ f13, f15));
- addInstr(env, s390_insn_bfp128_unop(16, bfpop, f12, f14, f13, f15,
- rounding_mode));
-
/* Move result to virtual destination registers */
*dst_hi = newVRegF(env);
*dst_lo = newVRegF(env);
@@ -1664,7 +1715,6 @@
case Iex_Unop: {
IRExpr *left = expr->Iex.Unop.arg;
s390_bfp_unop_t bfpop;
- s390_round_t rounding_mode;
s390_conv_t conv;
HReg op_hi, op_lo, op, f12, f13, f14, f15;
@@ -1694,9 +1744,7 @@
addInstr(env, s390_insn_move(8, f13, op_hi));
addInstr(env, s390_insn_move(8, f15, op_lo));
- rounding_mode = S390_ROUND_NEAREST_EVEN; /* will not be used later on */
- addInstr(env, s390_insn_bfp128_unop(16, bfpop, f12, f14, f13, f15,
- rounding_mode));
+ addInstr(env, s390_insn_bfp128_unop(16, bfpop, f12, f14, f13, f15));
goto move_dst;
convert_float:
@@ -1813,7 +1861,6 @@
case Iex_Qop: {
HReg op1, op2, op3, dst;
s390_bfp_triop_t bfpop;
- s390_round_t rounding_mode;
op1 = s390_isel_float_expr(env, expr->Iex.Qop.details->arg2);
op2 = s390_isel_float_expr(env, expr->Iex.Qop.details->arg3);
@@ -1831,9 +1878,8 @@
goto irreducible;
}
- rounding_mode = decode_rounding_mode(expr->Iex.Qop.details->arg1);
- addInstr(env, s390_insn_bfp_triop(size, bfpop, dst, op2, op3,
- rounding_mode));
+ set_bfp_rounding_mode_in_fpc(env, expr->Iex.Qop.details->arg1);
+ addInstr(env, s390_insn_bfp_triop(size, bfpop, dst, op2, op3));
return dst;
}
@@ -1844,7 +1890,6 @@
IRExpr *left = triop->arg2;
IRExpr *right = triop->arg3;
s390_bfp_binop_t bfpop;
- s390_round_t rounding_mode;
HReg h1, op2, dst;
h1 = s390_isel_float_expr(env, left); /* Process 1st operand */
@@ -1865,8 +1910,8 @@
goto irreducible;
}
- rounding_mode = decode_rounding_mode(triop->arg1);
- addInstr(env, s390_insn_bfp_binop(size, bfpop, dst, op2, rounding_mode));
+ set_bfp_rounding_mode_in_fpc(env, triop->arg1);
+ addInstr(env, s390_insn_bfp_binop(size, bfpop, dst, op2));
return dst;
}
@@ -1876,7 +1921,6 @@
IRExpr *irrm = expr->Iex.Binop.arg1;
IRExpr *left = expr->Iex.Binop.arg2;
HReg h1, dst;
- s390_round_t rounding_mode;
s390_conv_t conv;
switch (op) {
@@ -1884,9 +1928,8 @@
case Iop_SqrtF64:
h1 = s390_isel_float_expr(env, left);
dst = newVRegF(env);
- rounding_mode = decode_rounding_mode(irrm);
- addInstr(env, s390_insn_bfp_unop(size, S390_BFP_SQRT, dst, h1,
- rounding_mode));
+ set_bfp_rounding_mode_in_fpc(env, irrm);
+ addInstr(env, s390_insn_bfp_unop(size, S390_BFP_SQRT, dst, h1));
return dst;
case Iop_F64toF32: conv = S390_BFP_F64_TO_F32; goto convert_float;
@@ -1905,12 +1948,21 @@
h1 = s390_isel_int_expr(env, left);
goto convert;
- convert:
+ convert: {
+ s390_round_t rounding_mode;
+ /* convert-from-fixed and load-rounded have a rounding mode field
+ when the floating point extension facility is installed. */
dst = newVRegF(env);
- rounding_mode = decode_rounding_mode(irrm);
+ if (s390_host_has_fpext) {
+ rounding_mode = get_bfp_rounding_mode(env, irrm);
+ } else {
+ set_bfp_rounding_mode_in_fpc(env, irrm);
+ rounding_mode = S390_ROUND_PER_FPC;
+ }
addInstr(env, s390_insn_bfp_convert(size, conv, dst, h1,
rounding_mode));
return dst;
+ }
default:
goto irreducible;
@@ -1918,12 +1970,11 @@
case Iop_F128toF64:
case Iop_F128toF32: {
HReg op_hi, op_lo, f13, f15;
+ s390_round_t rounding_mode;
conv = op == Iop_F128toF32 ? S390_BFP_F128_TO_F32
: S390_BFP_F128_TO_F64;
- rounding_mode = decode_rounding_mode(irrm);
-
s390_isel_float128_expr(&op_hi, &op_lo, env, left);
/* We use non-virtual registers as pairs (f13, f15) */
@@ -1935,6 +1986,14 @@
addInstr(env, s390_insn_move(8, f15, op_lo));
dst = newVRegF(env);
+ /* load-rounded has a rounding mode field when the floating point
+ extension facility is installed. */
+ if (s390_host_has_fpext) {
+ rounding_mode = get_bfp_rounding_mode(env, irrm);
+ } else {
+ set_bfp_rounding_mode_in_fpc(env, irrm);
+ rounding_mode = S390_ROUND_PER_FPC;
+ }
addInstr(env, s390_insn_bfp128_convert_from(size, conv, dst, f13, f15,
rounding_mode));
return dst;
@@ -1947,9 +2006,6 @@
IROp op = expr->Iex.Unop.op;
IRExpr *left = expr->Iex.Unop.arg;
s390_bfp_unop_t bfpop;
- /* No rounding mode is needed for these conversions. Provide the
- default rounding mode. It will not be used. */
- s390_round_t rounding_mode = S390_ROUND_NEAREST_EVEN;
s390_conv_t conv;
HReg h1, dst;
@@ -1997,7 +2053,10 @@
convert1:
dst = newVRegF(env);
- addInstr(env, s390_insn_bfp_convert(size, conv, dst, h1, rounding_mode));
+ /* No rounding mode is needed for these conversions. Just stick
+ one in. It won't be used later on. */
+ addInstr(env, s390_insn_bfp_convert(size, conv, dst, h1,
+ S390_ROUND_NEAREST_EVEN));
return dst;
default:
@@ -2007,7 +2066,7 @@
/* Process operand */
h1 = s390_isel_float_expr(env, left);
dst = newVRegF(env);
- addInstr(env, s390_insn_bfp_unop(size, bfpop, dst, h1, rounding_mode));
+ addInstr(env, s390_insn_bfp_unop(size, bfpop, dst, h1));
return dst;
}
@@ -2804,6 +2863,8 @@
env->vregmap = LibVEX_Alloc(env->n_vregmap * sizeof(HReg));
env->vregmapHI = LibVEX_Alloc(env->n_vregmap * sizeof(HReg));
+ env->previous_bfp_rounding_mode = NULL;
+
/* and finally ... */
env->hwcaps = hwcaps_host;
Modified: trunk/priv/host_s390_defs.h (+26 -13)
===================================================================
--- trunk/priv/host_s390_defs.h 2012-09-12 17:40:54 +01:00 (rev 2524)
+++ trunk/priv/host_s390_defs.h 2012-09-12 20:38:42 +01:00 (rev 2525)
@@ -141,6 +141,7 @@
S390_INSN_MFENCE,
S390_INSN_GZERO, /* Assign zero to a guest register */
S390_INSN_GADD, /* Add a value to a guest register */
+ S390_INSN_SET_FPCRM, /* Set the rounding mode in the FPC */
/* The following 5 insns are mandated by translation chaining */
S390_INSN_XDIRECT, /* direct transfer to guest address */
S390_INSN_XINDIR, /* indirect transfer to guest address */
@@ -268,6 +269,19 @@
} s390_round_t;
+/* Rounding mode as it is encoded in bits [29:31] of the FPC register.
+ Only rounding modes 0..3 are universally supported. Others require
+ additional hardware facilities. */
+typedef enum {
+ S390_FPC_ROUND_NEAREST_EVEN = 0,
+ S390_FPC_ROUND_ZERO = 1,
+ S390_FPC_ROUND_POSINF = 2,
+ S390_FPC_ROUND_NEGINF = 3,
+ /* 4,5,6 are not allowed */
+ S390_FPC_ROUND_PREPARE_SHORT = 7
+} s390_fpc_round_t;
+
+
/* Invert the condition code */
static __inline__ s390_cc_t
s390_cc_invert(s390_cc_t cond)
@@ -389,7 +403,7 @@
to store only one register of the pair in order to represent it.
We chose not to do that as being explicit about all registers
helps with debugging and does not require special handling in
- e.g. s390_insn_get_reg_usage, It'd be all to easy to forget about
+ e.g. s390_insn_get_reg_usage, It'd be all too easy to forget about
the "other" register in a pair if it is implicit.
The convention for all fp s390_insn is that the _hi register will
@@ -405,14 +419,12 @@
/* There are currently no ternary 128-bit BFP operations. */
struct {
s390_bfp_triop_t tag;
- s390_round_t rounding_mode;
HReg dst;
HReg op2;
HReg op3;
} bfp_triop;
struct {
s390_bfp_binop_t tag;
- s390_round_t rounding_mode;
HReg dst_hi; /* 128-bit result high part; 32/64-bit result */
HReg dst_lo; /* 128-bit result low part */
HReg op2_hi; /* 128-bit operand high part; 32/64-bit opnd */
@@ -420,7 +432,6 @@
} bfp_binop;
struct {
s390_bfp_unop_t tag;
- s390_round_t rounding_mode;
HReg dst_hi; /* 128-bit result high part; 32/64-bit result */
HReg dst_lo; /* 128-bit result low part */
HReg op_hi; /* 128-bit operand high part; 32/64-bit opnd */
@@ -451,6 +462,9 @@
UChar delta;
ULong value; /* for debugging only */
} gadd;
+ struct {
+ HReg mode;
+ } set_fpcrm;
/* The next 5 entries are generic to support translation chaining */
@@ -520,21 +534,19 @@
Bool signed_comparison);
s390_insn *s390_insn_helper_call(s390_cc_t cond, Addr64 target, UInt num_args,
HChar *name, HReg dst);
-s390_insn *s390_insn_bfp_triop(UChar size, s390_bfp_triop_t, HReg dst, HReg op2,
- HReg op3, s390_round_t);
-s390_insn *s390_insn_bfp_binop(UChar size, s390_bfp_binop_t, HReg dst, HReg op2,
- s390_round_t);
+s390_insn *s390_insn_bfp_triop(UChar size, s390_bfp_triop_t, HReg dst,
+ HReg op2, HReg op3);
+s390_insn *s390_insn_bfp_binop(UChar size, s390_bfp_binop_t, HReg dst,
+ HReg op2);
s390_insn *s390_insn_bfp_unop(UChar size, s390_bfp_unop_t tag, HReg dst,
- HReg op, s390_round_t);
+ HReg op);
s390_insn *s390_insn_bfp_compare(UChar size, HReg dst, HReg op1, HReg op2);
s390_insn *s390_insn_bfp_convert(UChar size, s390_conv_t tag, HReg dst,
HReg op, s390_round_t);
s390_insn *s390_insn_bfp128_binop(UChar size, s390_bfp_binop_t, HReg dst_hi,
- HReg dst_lo, HReg op2_hi, HReg op2_lo,
- s390_round_t);
+ HReg dst_lo, HReg op2_hi, HReg op2_lo);
s390_insn *s390_insn_bfp128_unop(UChar size, s390_bfp_unop_t, HReg dst_hi,
- HReg dst_lo, HReg op_hi, HReg op_lo,
- s390_round_t);
+ HReg dst_lo, HReg op_hi, HReg op_lo);
s390_insn *s390_insn_bfp128_compare(UChar size, HReg dst, HReg op1_hi,
HReg op1_lo, HReg op2_hi, HReg op2_lo);
s390_insn *s390_insn_bfp128_convert_to(UChar size, s390_conv_t,
@@ -545,6 +557,7 @@
s390_insn *s390_insn_mfence(void);
s390_insn *s390_insn_gzero(UChar size, UInt offset);
s390_insn *s390_insn_gadd(UChar size, UInt offset, UChar delta, ULong value);
+s390_insn *s390_insn_set_fpcrm(UChar size, HReg mode);
/* Five for translation chaining */
s390_insn *s390_insn_xdirect(s390_cc_t cond, Addr64 dst, s390_amode *guest_IA,
Modified: trunk/priv/host_s390_defs.c (+115 -160)
===================================================================
--- trunk/priv/host_s390_defs.c 2012-09-12 17:40:54 +01:00 (rev 2524)
+++ trunk/priv/host_s390_defs.c 2012-09-12 20:38:42 +01:00 (rev 2525)
@@ -9,6 +9,7 @@
framework.
Copyright IBM Corp. 2010-2012
+ Copyright (C) 2012-2012 Florian Krohm (br...@ac...)
This program is free software; you can redistribute it and/or
modify it under the terms of the GNU General Public License as
@@ -707,6 +708,10 @@
case S390_INSN_GADD:
break;
+ case S390_INSN_SET_FPCRM:
+ addHRegUse(u, HRmRead, insn->variant.set_fpcrm.mode);
+ break;
+
case S390_INSN_EVCHECK:
s390_amode_get_reg_usage(u, insn->variant.evcheck.counter);
s390_amode_get_reg_usage(u, insn->variant.evcheck.fail_addr);
@@ -931,6 +936,11 @@
case S390_INSN_GADD:
break;
+ case S390_INSN_SET_FPCRM:
+ insn->variant.set_fpcrm.mode =
+ lookupHRegRemap(m, insn->variant.set_fpcrm.mode);
+ break;
+
case S390_INSN_EVCHECK:
s390_amode_map_regs(m, insn->variant.evcheck.counter);
s390_amode_map_regs(m, insn->variant.evcheck.fail_addr);
@@ -4652,7 +4662,7 @@
s390_insn *
s390_insn_bfp_triop(UChar size, s390_bfp_triop_t tag, HReg dst, HReg op2,
- HReg op3, s390_round_t rounding_mode)
+ HReg op3)
{
s390_insn *insn = LibVEX_Alloc(sizeof(s390_insn));
@@ -4664,15 +4674,13 @@
insn->variant.bfp_triop.dst = dst;
insn->variant.bfp_triop.op2 = op2;
insn->variant.bfp_triop.op3 = op3;
- insn->variant.bfp_triop.rounding_mode = rounding_mode;
return insn;
}
s390_insn *
-s390_insn_bfp_binop(UChar size, s390_bfp_binop_t tag, HReg dst, HReg op2,
- s390_round_t rounding_mode)
+s390_insn_bfp_binop(UChar size, s390_bfp_binop_t tag, HReg dst, HReg op2)
{
s390_insn *insn = LibVEX_Alloc(sizeof(s390_insn));
@@ -4685,15 +4693,13 @@
insn->variant.bfp_binop.op2_hi = op2;
insn->variant.bfp_binop.dst_lo = INVALID_HREG;
insn->variant.bfp_binop.op2_lo = INVALID_HREG;
- insn->variant.bfp_binop.rounding_mode = rounding_mode;
return insn;
}
s390_insn *
-s390_insn_bfp_unop(UChar size, s390_bfp_unop_t tag, HReg dst, HReg op,
- s390_round_t rounding_mode)
+s390_insn_bfp_unop(UChar size, s390_bfp_unop_t tag, HReg dst, HReg op)
{
s390_insn *insn = LibVEX_Alloc(sizeof(s390_insn));
@@ -4706,7 +4712,6 @@
insn->variant.bfp_unop.op_hi = op;
insn->variant.bfp_unop.dst_lo = INVALID_HREG;
insn->variant.bfp_unop.op_lo = INVALID_HREG;
- insn->variant.bfp_unop.rounding_mode = rounding_mode;
return insn;
}
@@ -4769,8 +4774,7 @@
s390_insn *
s390_insn_bfp128_binop(UChar size, s390_bfp_binop_t tag, HReg dst_hi,
- HReg dst_lo, HReg op2_hi, HReg op2_lo,
- s390_round_t rounding_mode)
+ HReg dst_lo, HReg op2_hi, HReg op2_lo)
{
s390_insn *insn = LibVEX_Alloc(sizeof(s390_insn));
@@ -4785,7 +4789,6 @@
insn->variant.bfp_binop.dst_lo = dst_lo;
insn->variant.bfp_binop.op2_hi = op2_hi;
insn->variant.bfp_binop.op2_lo = op2_lo;
- insn->variant.bfp_binop.rounding_mode = rounding_mode;
return insn;
}
@@ -4793,8 +4796,7 @@
s390_insn *
s390_insn_bfp128_unop(UChar size, s390_bfp_unop_t tag, HReg dst_hi,
- HReg dst_lo, HReg op_hi, HReg op_lo,
- s390_round_t rounding_mode)
+ HReg dst_lo, HReg op_hi, HReg op_lo)
{
s390_insn *insn = LibVEX_Alloc(sizeof(s390_insn));
@@ -4809,7 +4811,6 @@
insn->variant.bfp_unop.dst_lo = dst_lo;
insn->variant.bfp_unop.op_hi = op_hi;
insn->variant.bfp_unop.op_lo = op_lo;
- insn->variant.bfp_unop.rounding_mode = rounding_mode;
return insn;
}
@@ -4931,6 +4932,21 @@
s390_insn *
+s390_insn_set_fpcrm(UChar size, HReg mode)
+{
+ vassert(size == 4);
+
+ s390_insn *insn = LibVEX_Alloc(sizeof(s390_insn));
+
+ insn->tag = S390_INSN_SET_FPCRM;
+ insn->size = size;
+ insn->variant.set_fpcrm.mode = mode;
+
+ return insn;
+}
+
+
+s390_insn *
s390_insn_xdirect(s390_cc_t cond, Addr64 dst, s390_amode *guest_IA,
Bool to_fast_entry)
{
@@ -5435,6 +5451,10 @@
insn->variant.gadd.value);
break;
+ case S390_INSN_SET_FPCRM:
+ s390_sprintf(buf, "%M %R", "v-set-fpcrm", insn->variant.set_fpcrm.mode);
+ break;
+
case S390_INSN_EVCHECK:
s390_sprintf(buf, "%M counter = %A, fail-addr = %A", "v-evcheck",
insn->variant.evcheck.counter,
@@ -7262,59 +7282,26 @@
}
-/* Little helper function to the rounding mode in the real FPC
- register */
static UChar *
-s390_set_fpc_rounding_mode(UChar *buf, s390_round_t rounding_mode)
-{
- UChar bits;
-
- /* Determine BFP rounding bits */
- switch (rounding_mode) {
- case S390_ROUND_NEAREST_EVEN: bits = 0; break;
- case S390_ROUND_ZERO: bits = 1; break;
- case S390_ROUND_POSINF: bits = 2; break;
- case S390_ROUND_NEGINF: bits = 3; break;
- default: vpanic("invalid rounding mode\n");
- }
-
- /* Copy FPC from guest state to R0 and OR in the new rounding mode */
- buf = s390_emit_L(buf, R0, 0, S390_REGNO_GUEST_STATE_POINTER,
- S390X_GUEST_OFFSET(guest_fpc)); // r0 = guest_fpc
-
- buf = s390_emit_NILL(buf, R0, 0xFFFC); /* Clear out right-most 2 bits */
- buf = s390_emit_OILL(buf, R0, bits); /* OR in the new rounding mode */
- buf = s390_emit_SFPC(buf, R0, 0); /* Load FPC register from R0 */
-
- return buf;
-}
-
-
-static UChar *
s390_insn_bfp_triop_emit(UChar *buf, const s390_insn *insn)
{
UInt r1 = hregNumber(insn->variant.bfp_triop.dst);
UInt r2 = hregNumber(insn->variant.bfp_triop.op2);
UInt r3 = hregNumber(insn->variant.bfp_triop.op3);
- s390_round_t rounding_mode = insn->variant.bfp_triop.rounding_mode;
- if (rounding_mode != S390_ROUND_NEAREST_EVEN) {
- buf = s390_set_fpc_rounding_mode(buf, rounding_mode);
- }
-
switch (insn->size) {
case 4:
switch (insn->variant.bfp_triop.tag) {
- case S390_BFP_MADD: buf = s390_emit_MAEBR(buf, r1, r3, r2); break;
- case S390_BFP_MSUB: buf = s390_emit_MSEBR(buf, r1, r3, r2); break;
+ case S390_BFP_MADD: return s390_emit_MAEBR(buf, r1, r3, r2);
+ case S390_BFP_MSUB: return s390_emit_MSEBR(buf, r1, r3, r2);
default: goto fail;
}
break;
case 8:
switch (insn->variant.bfp_triop.tag) {
- case S390_BFP_MADD: buf = s390_emit_MADBR(buf, r1, r3, r2); break;
- case S390_BFP_MSUB: buf = s390_emit_MSDBR(buf, r1, r3, r2); break;
+ case S390_BFP_MADD: return s390_emit_MADBR(buf, r1, r3, r2);
+ case S390_BFP_MSUB: return s390_emit_MSDBR(buf, r1, r3, r2);
default: goto fail;
}
break;
@@ -7322,13 +7309,6 @@
default: goto fail;
}
- if (rounding_mode != S390_ROUND_NEAREST_EVEN) {
- /* Restore FPC register from guest state */
- buf = s390_emit_LFPC(buf, S390_REGNO_GUEST_STATE_POINTER,
- S390X_GUEST_OFFSET(guest_fpc)); // fpc = guest_fpc
- }
- return buf;
-
fail:
vpanic("s390_insn_bfp_triop_emit");
}
@@ -7339,39 +7319,34 @@
{
UInt r1 = hregNumber(insn->variant.bfp_binop.dst_hi);
UInt r2 = hregNumber(insn->variant.bfp_binop.op2_hi);
- s390_round_t rounding_mode = insn->variant.bfp_binop.rounding_mode;
- if (rounding_mode != S390_ROUND_NEAREST_EVEN) {
- buf = s390_set_fpc_rounding_mode(buf, rounding_mode);
- }
-
switch (insn->size) {
case 4:
switch (insn->variant.bfp_binop.tag) {
- case S390_BFP_ADD: buf = s390_emit_AEBR(buf, r1, r2); break;
- case S390_BFP_SUB: buf = s390_emit_SEBR(buf, r1, r2); break;
- case S390_BFP_MUL: buf = s390_emit_MEEBR(buf, r1, r2); break;
- case S390_BFP_DIV: buf = s390_emit_DEBR(buf, r1, r2); break;
+ case S390_BFP_ADD: return s390_emit_AEBR(buf, r1, r2);
+ case S390_BFP_SUB: return s390_emit_SEBR(buf, r1, r2);
+ case S390_BFP_MUL: return s390_emit_MEEBR(buf, r1, r2);
+ case S390_BFP_DIV: return s390_emit_DEBR(buf, r1, r2);
default: goto fail;
}
break;
case 8:
switch (insn->variant.bfp_binop.tag) {
- case S390_BFP_ADD: buf = s390_emit_ADBR(buf, r1, r2); break;
- case S390_BFP_SUB: buf = s390_emit_SDBR(buf, r1, r2); break;
- case S390_BFP_MUL: buf = s390_emit_MDBR(buf, r1, r2); break;
- case S390_BFP_DIV: buf = s390_emit_DDBR(buf, r1, r2); break;
+ case S390_BFP_ADD: return s390_emit_ADBR(buf, r1, r2);
+ case S390_BFP_SUB: return s390_emit_SDBR(buf, r1, r2);
+ case S390_BFP_MUL: return s390_emit_MDBR(buf, r1, r2);
+ case S390_BFP_DIV: return s390_emit_DDBR(buf, r1, r2);
default: goto fail;
}
break;
case 16:
switch (insn->variant.bfp_binop.tag) {
- case S390_BFP_ADD: buf = s390_emit_AXBR(buf, r1, r2); break;
- case S390_BFP_SUB: buf = s390_emit_SXBR(buf, r1, r2); break;
- case S390_BFP_MUL: buf = s390_emit_MXBR(buf, r1, r2); break;
- case S390_BFP_DIV: buf = s390_emit_DXBR(buf, r1, r2); break;
+ case S390_BFP_ADD: return s390_emit_AXBR(buf, r1, r2);
+ case S390_BFP_SUB: return s390_emit_SXBR(buf, r1, r2);
+ case S390_BFP_MUL: return s390_emit_MXBR(buf, r1, r2);
+ case S390_BFP_DIV: return s390_emit_DXBR(buf, r1, r2);
default: goto fail;
}
break;
@@ -7379,13 +7354,6 @@
default: goto fail;
}
- if (rounding_mode != S390_ROUND_NEAREST_EVEN) {
- /* Restore FPC register from guest state */
- buf = s390_emit_LFPC(buf, S390_REGNO_GUEST_STATE_POINTER,
- S390X_GUEST_OFFSET(guest_fpc));
- }
- return buf;
-
fail:
vpanic("s390_insn_bfp_binop_emit");
}
@@ -7396,47 +7364,40 @@
{
UInt r1 = hregNumber(insn->variant.bfp_unop.dst_hi);
UInt r2 = hregNumber(insn->variant.bfp_unop.op_hi);
- s390_round_t rounding_mode = insn->variant.bfp_unop.rounding_mode;
- /* For all other insns if a special rounding mode is requested,
- we need to set the FPC first and restore it later. */
- if (rounding_mode != S390_ROUND_NEAREST_EVEN) {
- buf = s390_set_fpc_rounding_mode(buf, rounding_mode);
- }
-
switch (insn->variant.bfp_unop.tag) {
case S390_BFP_ABS:
switch (insn->size) {
- case 4: buf = s390_emit_LPEBR(buf, r1, r2); break;
- case 8: buf = s390_emit_LPDBR(buf, r1, r2); break;
- case 16: buf = s390_emit_LPXBR(buf, r1, r2); break;
+ case 4: return s390_emit_LPEBR(buf, r1, r2);
+ case 8: return s390_emit_LPDBR(buf, r1, r2);
+ case 16: return s390_emit_LPXBR(buf, r1, r2);
default: goto fail;
}
break;
case S390_BFP_NABS:
switch (insn->size) {
- case 4: buf = s390_emit_LNEBR(buf, r1, r2); break;
- case 8: buf = s390_emit_LNDBR(buf, r1, r2); break;
- case 16: buf = s390_emit_LNXBR(buf, r1, r2); break;
+ case 4: return s390_emit_LNEBR(buf, r1, r2);
+ case 8: return s390_emit_LNDBR(buf, r1, r2);
+ case 16: return s390_emit_LNXBR(buf, r1, r2);
default: goto fail;
}
break;
case S390_BFP_NEG:
switch (insn->size) {
- case 4: buf = s390_emit_LCEBR(buf, r1, r2); break;
- case 8: buf = s390_emit_LCDBR(buf, r1, r2); break;
- case 16: buf = s390_emit_LCXBR(buf, r1, r2); break;
+ case 4: return s390_emit_LCEBR(buf, r1, r2);
+ case 8: return s390_emit_LCDBR(buf, r1, r2);
+ case 16: return s390_emit_LCXBR(buf, r1, r2);
default: goto fail;
}
break;
case S390_BFP_SQRT:
switch (insn->size) {
- case 4: buf = s390_emit_SQEBR(buf, r1, r2); break;
- case 8: buf = s390_emit_SQDBR(buf, r1, r2); break;
- case 16: buf = s390_emit_SQXBR(buf, r1, r2); break;
+ case 4: return s390_emit_SQEBR(buf, r1, r2);
+ case 8: return s390_emit_SQDBR(buf, r1, r2);
+ case 16: return s390_emit_SQXBR(buf, r1, r2);
default: goto fail;
}
break;
@@ -7444,13 +7405,6 @@
default: goto fail;
}
- if (rounding_mode != S390_ROUND_NEAREST_EVEN) {
- /* Restore FPC register from guest state */
- buf = s390_emit_LFPC(buf, S390_REGNO_GUEST_STATE_POINTER,
- S390X_GUEST_OFFSET(guest_fpc)); // fpc = guest_fpc
- }
- return buf;
-
fail:
vpanic("s390_insn_bfp_unop_emit");
}
@@ -7461,8 +7415,10 @@
{
UInt r1 = hregNumber(insn->variant.bfp_convert.dst_hi);
UInt r2 = hregNumber(insn->variant.bfp_convert.op_hi);
- s390_round_t rounding_mode = insn->variant.bfp_convert.rounding_mode;
- s390_round_t m3 = rounding_mode;
+ s390_round_t m3 = insn->variant.bfp_convert.rounding_mode;
+ /* The IEEE-inexact-exception control is not modelled. So the
+ m4 field is 0 (which is what GCC does, too) */
+ const UInt m4 = 0;
switch (insn->variant.bfp_convert.tag) {
/* Convert to fixed */
@@ -7474,64 +7430,42 @@
case S390_BFP_F128_TO_I64: return s390_emit_CGXBR(buf, m3, r1, r2);
/* Convert to logical */
- /* We leave m4 as 0 - as gcc */
- case S390_BFP_F32_TO_U32: return s390_emit_CLFEBR(buf, m3, 0, r1, r2);
- case S390_BFP_F64_TO_U32: return s390_emit_CLFDBR(buf, m3, 0, r1, r2);
- case S390_BFP_F128_TO_U32: return s390_emit_CLFXBR(buf, m3, 0, r1, r2);
- case S390_BFP_F32_TO_U64: return s390_emit_CLGEBR(buf, m3, 0, r1, r2);
- case S390_BFP_F64_TO_U64: return s390_emit_CLGDBR(buf, m3, 0, r1, r2);
- case S390_BFP_F128_TO_U64: return s390_emit_CLGXBR(buf, m3, 0, r1, r2);
+ case S390_BFP_F32_TO_U32: return s390_emit_CLFEBR(buf, m3, m4, r1, r2);
+ case S390_BFP_F64_TO_U32: return s390_emit_CLFDBR(buf, m3, m4, r1, r2);
+ case S390_BFP_F128_TO_U32: return s390_emit_CLFXBR(buf, m3, m4, r1, r2);
+ case S390_BFP_F32_TO_U64: return s390_emit_CLGEBR(buf, m3, m4, r1, r2);
+ case S390_BFP_F64_TO_U64: return s390_emit_CLGDBR(buf, m3, m4, r1, r2);
+ case S390_BFP_F128_TO_U64: return s390_emit_CLGXBR(buf, m3, m4, r1, r2);
- /* Conversion to 128-bit never requires a rounding mode */
- case S390_BFP_I32_TO_F128: return s390_emit_CXFBRA(buf, 0, 0, r1, r2);
- case S390_BFP_I64_TO_F128: return s390_emit_CXGBRA(buf, 0, 0, r1, r2);
- case S390_BFP_U32_TO_F128: return s390_emit_CXLFBR(buf, 0, 0, r1, r2);
- case S390_BFP_U64_TO_F128: return s390_emit_CXLGBR(buf, 0, 0, r1, r2);
+ /* Convert from fixed */
+ case S390_BFP_I32_TO_F32: return s390_emit_CEFBRA(buf, m3, m4, r1, r2);
+ case S390_BFP_I32_TO_F64: return s390_emit_CDFBRA(buf, 0, m4, r1, r2);
+ case S390_BFP_I32_TO_F128: return s390_emit_CXFBRA(buf, 0, m4, r1, r2);
+ case S390_BFP_I64_TO_F32: return s390_emit_CEGBRA(buf, m3, m4, r1, r2);
+ case S390_BFP_I64_TO_F64: return s390_emit_CDGBRA(buf, m3, m4, r1, r2);
+ case S390_BFP_I64_TO_F128: return s390_emit_CXGBRA(buf, 0, m4, r1, r2);
+
+ /* Convert from logical */
+ case S390_BFP_U32_TO_F32: return s390_emit_CELFBR(buf, m3, m4, r1, r2);
+ case S390_BFP_U32_TO_F64: return s390_emit_CDLFBR(buf, m3, m4, r1, r2);
+ case S390_BFP_U32_TO_F128: return s390_emit_CXLFBR(buf, m3, m4, r1, r2);
+ case S390_BFP_U64_TO_F32: return s390_emit_CELGBR(buf, m3, m4, r1, r2);
+ case S390_BFP_U64_TO_F64: return s390_emit_CDLGBR(buf, m3, m4, r1, r2);
+ case S390_BFP_U64_TO_F128: return s390_emit_CXLGBR(buf, m3, m4, r1, r2);
+
+ /* Load lengthened */
+ case S390_BFP_F32_TO_F64: return s390_emit_LDEBR(buf, r1, r2);
case S390_BFP_F32_TO_F128: return s390_emit_LXEBR(buf, r1, r2);
case S390_BFP_F64_TO_F128: return s390_emit_LXDBR(buf, r1, r2);
- default: break;
- }
- /* For all other insns if a special rounding mode is requested,
- we need to set the FPC first and restore it later. */
- if (rounding_mode != S390_ROUND_NEAREST_EVEN) {
- buf = s390_set_fpc_rounding_mode(buf, rounding_mode);
- }
+ /* Load rounded */
+ case S390_BFP_F64_TO_F32: return s390_emit_LEDBRA(buf, m3, m4, r1, r2);
+ case S390_BFP_F128_TO_F32: return s390_emit_LEXBRA(buf, m3, m4, r1, r2);
+ case S390_BFP_F128_TO_F64: return s390_emit_LDXBRA(buf, m3, m4, r1, r2);
- switch (insn->variant.bfp_convert.tag) {
- case S390_BFP_I32_TO_F32: buf = s390_emit_CEFBRA(buf, 0, 0, r1, r2); break;
- case S390_BFP_I32_TO_F64: buf = s390_emit_CDFBRA(buf, 0, 0, r1, r2); break;
- case S390_BFP_I32_TO_F128: buf = s390_emit_CXFBRA(buf, 0, 0, r1, r2); break;
- case S390_BFP_I64_TO_F32: buf = s390_emit_CEGBRA(buf, 0, 0, r1, r2); break;
- case S390_BFP_I64_TO_F64: buf = s390_emit_CDGBRA(buf, 0, 0, r1, r2); break;
- case S390_BFP_I64_TO_F128: buf = s390_emit_CXGBRA(buf, 0, 0, r1, r2); break;
-
- /* We leave m4 as 0 - as gcc */
- case S390_BFP_U32_TO_F32: buf = s390_emit_CELFBR(buf, m3, 0, r1, r2); break;
- case S390_BFP_U32_TO_F64: buf = s390_emit_CDLFBR(buf, m3, 0, r1, r2); break;
- case S390_BFP_U32_TO_F128: buf = s390_emit_CXLFBR(buf, m3, 0, r1, r2); break;
- case S390_BFP_U64_TO_F32: buf = s390_emit_CELGBR(buf, m3, 0, r1, r2); break;
- case S390_BFP_U64_TO_F64: buf = s390_emit_CDLGBR(buf, m3, 0, r1, r2); break;
- case S390_BFP_U64_TO_F128: buf = s390_emit_CXLGBR(buf, m3, 0, r1, r2); break;
-
- case S390_BFP_F32_TO_F64: buf = s390_emit_LDEBR(buf, r1, r2); break;
- case S390_BFP_F32_TO_F128: buf = s390_emit_LXEBR(buf, r1, r2); break;
- case S390_BFP_F64_TO_F32: buf = s390_emit_LEDBRA(buf, 0, 0, r1, r2); break;
- case S390_BFP_F64_TO_F128: buf = s390_emit_LXDBR(buf, r1, r2); break;
-
- case S390_BFP_F128_TO_F32: buf = s390_emit_LEXBRA(buf, 0, 0, r1, r2); break;
- case S390_BFP_F128_TO_F64: buf = s390_emit_LDXBRA(buf, 0, 0, r1, r2); break;
-
default: goto fail;
}
- if (rounding_mode != S390_ROUND_NEAREST_EVEN) {
- /* Restore FPC register from guest state */
- buf = s390_emit_LFPC(buf, S390_REGNO_GUEST_STATE_POINTER,
- S390X_GUEST_OFFSET(guest_fpc)); // fpc = guest_fpc
- }
- return buf;
-
fail:
vpanic("s390_insn_bfp_convert_emit");
}
@@ -7583,6 +7517,23 @@
}
+static UChar *
+s390_insn_set_fpcrm_emit(UChar *buf, const s390_insn *insn)
+{
+ UInt mode = hregNumber(insn->variant.set_fpcrm.mode);
+
+ /* Copy FPC from guest state to R0 and OR in the new rounding mode */
+ buf = s390_emit_L(buf, R0, 0, S390_REGNO_GUEST_STATE_POINTER,
+ S390X_GUEST_OFFSET(guest_fpc)); // r0 = guest_fpc
+
+ buf = s390_emit_NILL(buf, R0, 0xFFF8); /* Clear out right-most 3 bits */
+ buf = s390_emit_OR(buf, R0, mode); /* OR in the new rounding mode */
+ buf = s390_emit_SFPC(buf, R0, 0); /* Load FPC register from R0 */
+
+ return buf;
+}
+
+
/* Define convenience functions needed for translation chaining.
Any changes need to be applied to the functions in concert. */
@@ -8123,6 +8074,10 @@
end = s390_insn_gadd_emit(buf, insn);
break;
+ case S390_INSN_SET_FPCRM:
+ end = s390_insn_set_fpcrm_emit(buf, insn);
+ break;
+
case S390_INSN_PROFINC:
end = s390_insn_profinc_emit(buf, insn);
/* Tell the caller .. */
|
|
From: <sv...@va...> - 2012-09-12 16:41:08
|
florian 2012-09-12 17:40:54 +0100 (Wed, 12 Sep 2012)
New Revision: 2524
Log:
Add three new kinds of AvailExpr: Mttc, Mtct, and Mtcc
namely for Mux0X expressions where one or both of the operands
is constant.
Modified files:
trunk/priv/ir_opt.c
Modified: trunk/priv/ir_opt.c (+101 -2)
===================================================================
--- trunk/priv/ir_opt.c 2012-09-11 00:44:37 -23:00 (rev 2523)
+++ trunk/priv/ir_opt.c 2012-09-12 17:40:54 +01:00 (rev 2524)
@@ -3044,7 +3044,9 @@
typedef
struct {
- enum { Ut, Btt, Btc, Bct, Cf64i, Mttt, GetIt, CCall } tag;
+ enum { Ut, Btt, Btc, Bct, Cf64i, Mttt, Mtct, Mttc, Mtcc, GetIt,
+ CCall
+ } tag;
union {
/* unop(tmp) */
struct {
@@ -3079,6 +3081,24 @@
IRTemp e0;
IRTemp eX;
} Mttt;
+ /* Mux0X(tmp,const,tmp) */
+ struct {
+ IRTemp co;
+ IRConst con0;
+ IRTemp eX;
+ } Mtct;
+ /* Mux0X(tmp,tmp,const) */
+ struct {
+ IRTemp co;
+ IRTemp e0;
+ IRConst conX;
+ } Mttc;
+ /* Mux0X(tmp,const,const) */
+ struct {
+ IRTemp co;
+ IRConst con0;
+ IRConst conX;
+ } Mtcc;
/* GetI(descr,tmp,bias)*/
struct {
IRRegArray* descr;
@@ -3126,6 +3146,18 @@
return toBool(a1->u.Mttt.co == a2->u.Mttt.co
&& a1->u.Mttt.e0 == a2->u.Mttt.e0
&& a1->u.Mttt.eX == a2->u.Mttt.eX);
+ case Mtct:
+ return toBool(a1->u.Mtct.co == a2->u.Mtct.co
+ && eqIRConst(&a1->u.Mtct.con0, &a2->u.Mtct.con0)
+ && a1->u.Mtct.eX == a2->u.Mtct.eX);
+ case Mttc:
+ return toBool(a1->u.Mttc.co == a2->u.Mttc.co
+ && a1->u.Mttc.e0 == a2->u.Mttc.e0
+ && eqIRConst(&a1->u.Mttc.conX, &a2->u.Mttc.conX));
+ case Mtcc:
+ return toBool(a1->u.Mtcc.co == a2->u.Mtcc.co
+ && eqIRConst(&a1->u.Mtcc.con0, &a2->u.Mtcc.con0)
+ && eqIRConst(&a1->u.Mtcc.conX, &a2->u.Mtcc.conX));
case GetIt:
return toBool(eqIRRegArray(a1->u.GetIt.descr, a2->u.GetIt.descr)
&& a1->u.GetIt.ix == a2->u.GetIt.ix
@@ -3153,7 +3185,7 @@
static IRExpr* availExpr_to_IRExpr ( AvailExpr* ae )
{
- IRConst* con;
+ IRConst *con, *con0, *conX;
switch (ae->tag) {
case Ut:
return IRExpr_Unop( ae->u.Ut.op, IRExpr_RdTmp(ae->u.Ut.arg) );
@@ -3179,6 +3211,26 @@
return IRExpr_Mux0X(IRExpr_RdTmp(ae->u.Mttt.co),
IRExpr_RdTmp(ae->u.Mttt.e0),
IRExpr_RdTmp(ae->u.Mttt.eX));
+ case Mtct:
+ con0 = LibVEX_Alloc(sizeof(IRConst));
+ *con0 = ae->u.Mtct.con0;
+ return IRExpr_Mux0X(IRExpr_RdTmp(ae->u.Mtct.co),
+ IRExpr_Const(con0),
+ IRExpr_RdTmp(ae->u.Mtct.eX));
+ case Mttc:
+ conX = LibVEX_Alloc(sizeof(IRConst));
+ *conX = ae->u.Mttc.conX;
+ return IRExpr_Mux0X(IRExpr_RdTmp(ae->u.Mttc.co),
+ IRExpr_RdTmp(ae->u.Mttc.e0),
+ IRExpr_Const(conX));
+ case Mtcc:
+ con0 = LibVEX_Alloc(sizeof(IRConst));
+ conX = LibVEX_Alloc(sizeof(IRConst));
+ *con0 = ae->u.Mtcc.con0;
+ *conX = ae->u.Mtcc.conX;
+ return IRExpr_Mux0X(IRExpr_RdTmp(ae->u.Mtcc.co),
+ IRExpr_Const(con0),
+ IRExpr_Const(conX));
case GetIt:
return IRExpr_GetI(ae->u.GetIt.descr,
IRExpr_RdTmp(ae->u.GetIt.ix),
@@ -3242,6 +3294,17 @@
ae->u.Mttt.e0 = subst_AvailExpr_Temp( env, ae->u.Mttt.e0 );
ae->u.Mttt.eX = subst_AvailExpr_Temp( env, ae->u.Mttt.eX );
break;
+ case Mtct:
+ ae->u.Mtct.co = subst_AvailExpr_Temp( env, ae->u.Mtct.co );
+ ae->u.Mtct.eX = subst_AvailExpr_Temp( env, ae->u.Mtct.eX );
+ break;
+ case Mttc:
+ ae->u.Mttc.co = subst_AvailExpr_Temp( env, ae->u.Mttc.co );
+ ae->u.Mttc.e0 = subst_AvailExpr_Temp( env, ae->u.Mttc.e0 );
+ break;
+ case Mtcc:
+ ae->u.Mtcc.co = subst_AvailExpr_Temp( env, ae->u.Mtcc.co );
+ break;
case GetIt:
ae->u.GetIt.ix = subst_AvailExpr_Temp( env, ae->u.GetIt.ix );
break;
@@ -3326,6 +3389,42 @@
return ae;
}
+ if (e->tag == Iex_Mux0X
+ && e->Iex.Mux0X.cond->tag == Iex_RdTmp
+ && e->Iex.Mux0X.expr0->tag == Iex_Const
+ && e->Iex.Mux0X.exprX->tag == Iex_RdTmp) {
+ ae = LibVEX_Alloc(sizeof(AvailExpr));
+ ae->tag = Mtct;
+ ae->u.Mtct.co = e->Iex.Mux0X.cond->Iex.RdTmp.tmp;
+ ae->u.Mtct.con0 = *(e->Iex.Mux0X.expr0->Iex.Const.con);
+ ae->u.Mtct.eX = e->Iex.Mux0X.exprX->Iex.RdTmp.tmp;
+ return ae;
+ }
+
+ if (e->tag == Iex_Mux0X
+ && e->Iex.Mux0X.cond->tag == Iex_RdTmp
+ && e->Iex.Mux0X.expr0->tag == Iex_RdTmp
+ && e->Iex.Mux0X.exprX->tag == Iex_Const) {
+ ae = LibVEX_Alloc(sizeof(AvailExpr));
+ ae->tag = Mttc;
+ ae->u.Mttc.co = e->Iex.Mux0X.cond->Iex.RdTmp.tmp;
+ ae->u.Mttc.e0 = e->Iex.Mux0X.expr0->Iex.RdTmp.tmp;
+ ae->u.Mttc.conX = *(e->Iex.Mux0X.exprX->Iex.Const.con);
+ return ae;
+ }
+
+ if (e->tag == Iex_Mux0X
+ && e->Iex.Mux0X.cond->tag == Iex_RdTmp
+ && e->Iex.Mux0X.expr0->tag == Iex_Const
+ && e->Iex.Mux0X.exprX->tag == Iex_Const) {
+ ae = LibVEX_Alloc(sizeof(AvailExpr));
+ ae->tag = Mtcc;
+ ae->u.Mtcc.co = e->Iex.Mux0X.cond->Iex.RdTmp.tmp;
+ ae->u.Mtcc.con0 = *(e->Iex.Mux0X.expr0->Iex.Const.con);
+ ae->u.Mtcc.conX = *(e->Iex.Mux0X.exprX->Iex.Const.con);
+ return ae;
+ }
+
if (e->tag == Iex_GetI
&& e->Iex.GetI.ix->tag == Iex_RdTmp) {
ae = LibVEX_Alloc(sizeof(AvailExpr));
|
|
From: Rich C. <rc...@wi...> - 2012-09-12 06:17:51
|
valgrind revision: 12965
VEX revision: 2523
C compiler: i686-apple-darwin10-gcc-4.2.1 (GCC) 4.2.1 (Apple Inc. build 5646) (dot 1)
Assembler:
C library: unknown
uname -mrs: Darwin 10.8.0 i386
Vendor version: unknown
Nightly build on macamd64 ( Darwin 10.8.0 i386 )
Started at 2012-09-12 00:35:01 CDT
Ended at 2012-09-12 01:17:19 CDT
Results unchanged from 24 hours ago
Checking out valgrind source tree ... done
Configuring valgrind ... done
Building valgrind ... done
Running regression tests ... failed
Regression test results follow
== 543 tests, 91 stderr failures, 17 stdout failures, 0 stderrB failures, 0 stdoutB failures, 0 post failures ==
memcheck/tests/accounting (stderr)
memcheck/tests/amd64/more_x87_fp (stdout)
memcheck/tests/badpoll (stderr)
memcheck/tests/big_blocks_freed_list (stderr)
memcheck/tests/bug287260 (stderr)
memcheck/tests/darwin/aio (stderr)
memcheck/tests/darwin/pth-supp (stderr)
memcheck/tests/darwin/scalar (stderr)
memcheck/tests/darwin/scalar_nocancel (stderr)
memcheck/tests/err_disable4 (stderr)
memcheck/tests/memcmptest (stderr)
memcheck/tests/mismatches (stderr)
memcheck/tests/origin5-bz2 (stderr)
memcheck/tests/overlap (stdout)
memcheck/tests/overlap (stderr)
memcheck/tests/post-syscall (stderr)
memcheck/tests/strchr (stderr)
memcheck/tests/test-plo-no (stderr)
memcheck/tests/varinfo3 (stderr)
memcheck/tests/varinfo5 (stderr)
memcheck/tests/vbit-test/vbit-test (stderr)
memcheck/tests/vcpu_fnfns (stdout)
memcheck/tests/writev1 (stderr)
massif/tests/pages_as_heap (stderr)
none/tests/allexec32 (stdout)
none/tests/allexec32 (stderr)
none/tests/allexec64 (stdout)
none/tests/allexec64 (stderr)
none/tests/amd64/bug137714-amd64 (stdout)
none/tests/amd64/bug137714-amd64 (stderr)
none/tests/amd64/bug156404-amd64 (stdout)
none/tests/amd64/bug156404-amd64 (stderr)
none/tests/amd64/fcmovnu (stdout)
none/tests/amd64/fcmovnu (stderr)
none/tests/amd64/fxtract (stdout)
none/tests/amd64/fxtract (stderr)
none/tests/amd64/jrcxz (stdout)
none/tests/amd64/jrcxz (stderr)
none/tests/amd64/looper (stdout)
none/tests/amd64/looper (stderr)
none/tests/amd64/loopnel (stdout)
none/tests/amd64/loopnel (stderr)
none/tests/amd64/shrld (stdout)
none/tests/amd64/shrld (stderr)
none/tests/amd64/slahf-amd64 (stdout)
none/tests/amd64/slahf-amd64 (stderr)
none/tests/async-sigs (stderr)
none/tests/execve (stderr)
none/tests/faultstatus (stderr)
none/tests/fdleak_cmsg (stderr)
none/tests/manythreads (stdout)
none/tests/manythreads (stderr)
none/tests/mmap_fcntl_bug (stderr)
none/tests/pth_blockedsig (stderr)
none/tests/pth_exit (stderr)
none/tests/require-text-symbol-2 (stderr)
none/tests/rlimit64_nofile (stderr)
none/tests/syscall-restart1 (stderr)
none/tests/thread-exits (stdout)
none/tests/thread-exits (stderr)
none/tests/x86/cse_fail (stdout)
none/tests/x86/cse_fail (stderr)
helgrind/tests/annotate_hbefore (stderr)
helgrind/tests/annotate_rwlock (stderr)
helgrind/tests/annotate_smart_pointer (stderr)
helgrind/tests/cond_timedwait_invalid (stderr)
helgrind/tests/free_is_write (stderr)
helgrind/tests/hg01_all_ok (stderr)
helgrind/tests/hg02_deadlock (stderr)
helgrind/tests/hg03_inherit (stderr)
helgrind/tests/hg04_race (stderr)
helgrind/tests/hg05_race2 (stderr)
helgrind/tests/hg06_readshared (stderr)
helgrind/tests/locked_vs_unlocked1_fwd (stderr)
helgrind/tests/locked_vs_unlocked1_rev (stderr)
helgrind/tests/locked_vs_unlocked2 (stderr)
helgrind/tests/locked_vs_unlocked3 (stderr)
helgrind/tests/pth_destroy_cond (stderr)
helgrind/tests/rwlock_race (stderr)
helgrind/tests/rwlock_test (stderr)
helgrind/tests/t2t_laog (stderr)
helgrind/tests/tc01_simple_race (stderr)
helgrind/tests/tc02_simple_tls (stderr)
helgrind/tests/tc03_re_excl (stderr)
helgrind/tests/tc04_free_lock (stderr)
helgrind/tests/tc05_simple_race (stderr)
helgrind/tests/tc06_two_races (stderr)
helgrind/tests/tc06_two_races_xml (stderr)
helgrind/tests/tc07_hbl1 (stderr)
helgrind/tests/tc08_hbl2 (stderr)
helgrind/tests/tc09_bad_unlock (stderr)
helgrind/tests/tc10_rec_lock (stderr)
helgrind/tests/tc11_XCHG (stderr)
helgrind/tests/tc12_rwl_trivial (stderr)
helgrind/tests/tc13_laog1 (stderr)
helgrind/tests/tc14_laog_dinphils (stderr)
helgrind/tests/tc15_laog_lockdel (stderr)
helgrind/tests/tc16_byterace (stderr)
helgrind/tests/tc17_sembar (stderr)
helgrind/tests/tc18_semabuse (stderr)
helgrind/tests/tc19_shadowmem (stderr)
helgrind/tests/tc21_pthonce (stderr)
helgrind/tests/tc23_bogus_condwait (stderr)
helgrind/tests/tc24_nonzero_sem (stderr)
drd/tests/annotate_barrier_xml (stderr)
drd/tests/annotate_smart_pointer2 (stderr)
drd/tests/hg03_inherit (stderr)
drd/tests/sem_wait (stderr)
=================================================
./valgrind-new/drd/tests/annotate_barrier_xml.stderr.diff
=================================================
--- annotate_barrier_xml.stderr.exp 2012-09-12 00:56:59.000000000 -0500
+++ annotate_barrier_xml.stderr.out 2012-09-12 01:14:05.000000000 -0500
@@ -188,7 +188,7 @@
<frame>
<ip>0x........</ip>
<obj>...</obj>
- <fn>start_thread</fn>
+ <fn>_pthread_start</fn>
</frame>
</stack>
<auxwhat>Address 0x........ is at offset 0 from 0x.........</auxwhat>
=================================================
./valgrind-new/drd/tests/annotate_smart_pointer2.stderr.diff
=================================================
--- annotate_smart_pointer2.stderr.exp 2012-09-12 00:56:59.000000000 -0500
+++ annotate_smart_pointer2.stderr.out 2012-09-12 01:14:50.000000000 -0500
@@ -5,7 +5,8 @@
by 0x........: smart_ptr<counter>::operator=(counter*) (annotate_smart_pointer.cpp:?)
by 0x........: main (annotate_smart_pointer.cpp:?)
Address 0x........ is at offset ... from 0x......... Allocation context:
- at 0x........: ...operator new... (vg_replace_malloc.c:...)
+ at 0x........: malloc (vg_replace_malloc.c:...)
+ by 0x........: operator new(unsigned long) (in /usr/lib/libstdc++.6.0.9.dylib)
by 0x........: main (annotate_smart_pointer.cpp:?)
Done.
=================================================
./valgrind-new/drd/tests/hg03_inherit.stderr.diff
=================================================
--- hg03_inherit.stderr.exp 2012-09-12 00:56:59.000000000 -0500
+++ hg03_inherit.stderr.out 2012-09-12 01:15:15.000000000 -0500
@@ -12,5 +12,10 @@
Location 0x........ is 0 bytes inside shared[1],
declared at hg03_inherit.c:11, in frame #? of thread 3
+Conflicting load by thread 3 at 0x........ size 4
+ at 0x........: ???
+ by 0x........: _pthread_free_pthread_onstack (in /...libc...)
+Allocation context: Data section of /usr/lib/libSystem.B.dylib
-ERROR SUMMARY: 2 errors from 2 contexts (suppressed: 0 from 0)
+
+ERROR SUMMARY: 3 errors from 3 contexts (suppressed: 0 from 0)
=================================================
./valgrind-new/drd/tests/sem_wait.stderr.diff
=================================================
--- sem_wait.stderr.exp 2012-09-12 00:56:59.000000000 -0500
+++ sem_wait.stderr.out 2012-09-12 01:16:08.000000000 -0500
@@ -1,5 +1,8 @@
-Calling sem_trywait
-Wait would have blocked
+sem_init() is not yet supported on Darwin
+ at 0x........: sem_init (drd_pthread_intercepts.c:?)
+ by 0x........: main (sem_wait.cpp:?)
-ERROR SUMMARY: 0 errors from 0 contexts (suppressed: 0 from 0)
+sem_init failed: Function not implemented
+
+ERROR SUMMARY: 1 errors from 1 contexts (suppressed: 0 from 0)
=================================================
./valgrind-new/helgrind/tests/annotate_hbefore.stderr.diff
=================================================
--- annotate_hbefore.stderr.exp 2012-09-12 00:56:41.000000000 -0500
+++ annotate_hbefore.stderr.out 2012-09-12 01:12:33.000000000 -0500
@@ -0,0 +1,869 @@
+---Thread-Announcement------------------------------------------
+
+Thread #x is the program's root thread
+
+----------------------------------------------------------------
+
+Thread #x's call to pthread_mutex_lock failed
+ with error code 22 (EINVAL: Invalid argument)
+ at 0x........: pthread_mutex_lock (hg_intercepts.c:...)
+ ...
+
+----------------------------------------------------------------
+
+Thread #x unlocked an invalid lock at 0x........
+ at 0x........: pthread_mutex_unlock (hg_intercepts.c:...)
+ ...
+
+----------------------------------------------------------------
+
+Thread #x's call to pthread_mutex_unlock failed
+ with error code 22 (EINVAL: Invalid argument)
+ at 0x........: pthread_mutex_unlock (hg_intercepts.c:...)
+ ...
+
+---Thread-Announcement------------------------------------------
+
+Thread #x was created
+ ...
+ by 0x........: pthread_create_WRK (hg_intercepts.c:...)
+ by 0x........: pthread_create (hg_intercepts.c:...)
+ by 0x........: main (annotate_hbefore.c:333)
+
+----------------------------------------------------------------
+
+Possible data race during read of size 4 at 0x........ by thread #x
+Locks held: none
+ ...
+
+This conflicts with a previous write of size 4 by thread #x
+Locks held: none
+ ...
+ by 0x........: pthread_create_WRK (hg_intercepts.c:...)
+ by 0x........: pthread_create (hg_intercepts.c:...)
+ by 0x........: main (annotate_hbefore.c:333)
+
+----------------------------------------------------------------
+
+Possible data race during read of size 1 at 0x........ by thread #x
+Locks held: none
+ ...
+
+This conflicts with a previous write of size 1 by thread #x
+Locks held: none
+ ...
+ by 0x........: pthread_create_WRK (hg_intercepts.c:...)
+ by 0x........: pthread_create (hg_intercepts.c:...)
+ by 0x........: main (annotate_hbefore.c:333)
+
+----------------------------------------------------------------
+
+Possible data race during write of size 1 at 0x........ by thread #x
+Locks held: none
+ ...
+
+This conflicts with a previous write of size 1 by thread #x
+Locks held: none
+ ...
+ by 0x........: pthread_create_WRK (hg_intercepts.c:...)
+ by 0x........: pthread_create (hg_intercepts.c:...)
+ by 0x........: main (annotate_hbefore.c:333)
+
+----------------------------------------------------------------
+
+Possible data race during write of size 4 at 0x........ by thread #x
+Locks held: none
+ ...
+
+This conflicts with a previous write of size 4 by thread #x
+Locks held: none
+ ...
+ by 0x........: pthread_create_WRK (hg_intercepts.c:...)
+ by 0x........: pthread_create (hg_intercepts.c:...)
+ by 0x........: main (annotate_hbefore.c:333)
+
+----------------------------------------------------------------
+
+Possible data race during write of size 4 at 0x........ by thread #x
+Locks held: none
+ ...
+ by 0x........: pthread_create_WRK (hg_intercepts.c:...)
+ by 0x........: pthread_create (hg_intercepts.c:...)
+ by 0x........: main (annotate_hbefore.c:334)
+
+This conflicts with a previous read of size 4 by thread #x
+Locks held: none
+ ...
+
<truncated beyond 100 lines>
=================================================
./valgrind-new/helgrind/tests/annotate_rwlock.stderr.diff
=================================================
--- annotate_rwlock.stderr.exp 2012-09-12 00:56:41.000000000 -0500
+++ annotate_rwlock.stderr.out 2012-09-12 01:12:34.000000000 -0500
@@ -1,17 +1,132 @@
---Thread-Announcement------------------------------------------
+Thread #x is the program's root thread
+
+----------------------------------------------------------------
+
+Thread #x's call to pthread_mutex_lock failed
+ with error code 22 (EINVAL: Invalid argument)
+ at 0x........: pthread_mutex_lock (hg_intercepts.c:...)
+ ...
+
+----------------------------------------------------------------
+
+Thread #x unlocked an invalid lock at 0x........
+ at 0x........: pthread_mutex_unlock (hg_intercepts.c:...)
+ ...
+
+----------------------------------------------------------------
+
+Thread #x's call to pthread_mutex_unlock failed
+ with error code 22 (EINVAL: Invalid argument)
+ at 0x........: pthread_mutex_unlock (hg_intercepts.c:...)
+ ...
+
+---Thread-Announcement------------------------------------------
+
Thread #x was created
...
by 0x........: pthread_create_WRK (hg_intercepts.c:...)
- by 0x........: pthread_create@* (hg_intercepts.c:...)
+ by 0x........: pthread_create (hg_intercepts.c:...)
+ by 0x........: main (annotate_rwlock.c:164)
+
+----------------------------------------------------------------
+
+Possible data race during read of size 4 at 0x........ by thread #x
+Locks held: none
+ ...
+
+This conflicts with a previous write of size 4 by thread #x
+Locks held: none
+ ...
+ by 0x........: pthread_create_WRK (hg_intercepts.c:...)
+ by 0x........: pthread_create (hg_intercepts.c:...)
+ by 0x........: main (annotate_rwlock.c:164)
+
+----------------------------------------------------------------
+
+Possible data race during read of size 1 at 0x........ by thread #x
+Locks held: none
+ ...
+
+This conflicts with a previous write of size 1 by thread #x
+Locks held: none
+ ...
+ by 0x........: pthread_create_WRK (hg_intercepts.c:...)
+ by 0x........: pthread_create (hg_intercepts.c:...)
+ by 0x........: main (annotate_rwlock.c:164)
+
+----------------------------------------------------------------
+
+Possible data race during write of size 1 at 0x........ by thread #x
+Locks held: none
+ ...
+
+This conflicts with a previous write of size 1 by thread #x
+Locks held: none
+ ...
+ by 0x........: pthread_create_WRK (hg_intercepts.c:...)
+ by 0x........: pthread_create (hg_intercepts.c:...)
+ by 0x........: main (annotate_rwlock.c:164)
+
+----------------------------------------------------------------
+
+Possible data race during write of size 4 at 0x........ by thread #x
+Locks held: none
+ ...
+
+This conflicts with a previous write of size 4 by thread #x
+Locks held: none
+ ...
+ by 0x........: pthread_create_WRK (hg_intercepts.c:...)
+ by 0x........: pthread_create (hg_intercepts.c:...)
+ by 0x........: main (annotate_rwlock.c:164)
+
+----------------------------------------------------------------
+
+Possible data race during write of size 4 at 0x........ by thread #x
+Locks held: none
+ ...
+ by 0x........: pthread_create_WRK (hg_intercepts.c:...)
+ by 0x........: pthread_create (hg_intercepts.c:...)
+ by 0x........: main (annotate_rwlock.c:164)
+
+This conflicts with a previous read of size 4 by thread #x
+Locks held: none
+ ...
<truncated beyond 100 lines>
=================================================
./valgrind-new/helgrind/tests/annotate_smart_pointer.stderr.diff
=================================================
--- annotate_smart_pointer.stderr.exp 2012-09-12 00:56:41.000000000 -0500
+++ annotate_smart_pointer.stderr.out 2012-09-12 01:12:38.000000000 -0500
@@ -1,4 +1,948 @@
+---Thread-Announcement------------------------------------------
+
+Thread #x is the program's root thread
+
+----------------------------------------------------------------
+
+Thread #x's call to pthread_mutex_lock failed
+ with error code 22 (EINVAL: Invalid argument)
+ at 0x........: pthread_mutex_lock (hg_intercepts.c:...)
+ ...
+
+----------------------------------------------------------------
+
+Thread #x unlocked an invalid lock at 0x........
+ at 0x........: pthread_mutex_unlock (hg_intercepts.c:...)
+ ...
+
+----------------------------------------------------------------
+
+Thread #x's call to pthread_mutex_unlock failed
+ with error code 22 (EINVAL: Invalid argument)
+ at 0x........: pthread_mutex_unlock (hg_intercepts.c:...)
+ ...
+
+---Thread-Announcement------------------------------------------
+
+Thread #x was created
+ ...
+ by 0x........: pthread_create_WRK (hg_intercepts.c:...)
+ by 0x........: pthread_create (hg_intercepts.c:...)
+ by 0x........: Thread::Create(void* (*)(void*), void*) (annotate_smart_pointer.cpp:145)
+ by 0x........: main (annotate_smart_pointer.cpp:319)
+
+----------------------------------------------------------------
+
+Possible data race during read of size 4 at 0x........ by thread #x
+Locks held: none
+ ...
+
+This conflicts with a previous write of size 4 by thread #x
+Locks held: none
+ ...
+ by 0x........: pthread_create_WRK (hg_intercepts.c:...)
+ by 0x........: pthread_create (hg_intercepts.c:...)
+ by 0x........: Thread::Create(void* (*)(void*), void*) (annotate_smart_pointer.cpp:145)
+ by 0x........: main (annotate_smart_pointer.cpp:319)
+
+----------------------------------------------------------------
+
+Possible data race during read of size 1 at 0x........ by thread #x
+Locks held: none
+ ...
+
+This conflicts with a previous write of size 1 by thread #x
+Locks held: none
+ ...
+ by 0x........: pthread_create_WRK (hg_intercepts.c:...)
+ by 0x........: pthread_create (hg_intercepts.c:...)
+ by 0x........: Thread::Create(void* (*)(void*), void*) (annotate_smart_pointer.cpp:145)
+ by 0x........: main (annotate_smart_pointer.cpp:319)
+
+----------------------------------------------------------------
+
+Possible data race during write of size 1 at 0x........ by thread #x
+Locks held: none
+ ...
+
+This conflicts with a previous write of size 1 by thread #x
+Locks held: none
+ ...
+ by 0x........: pthread_create_WRK (hg_intercepts.c:...)
+ by 0x........: pthread_create (hg_intercepts.c:...)
+ by 0x........: Thread::Create(void* (*)(void*), void*) (annotate_smart_pointer.cpp:145)
+ by 0x........: main (annotate_smart_pointer.cpp:319)
+
+----------------------------------------------------------------
+
+Possible data race during write of size 4 at 0x........ by thread #x
+Locks held: none
+ ...
+
+This conflicts with a previous write of size 4 by thread #x
+Locks held: none
+ ...
+ by 0x........: pthread_create_WRK (hg_intercepts.c:...)
+ by 0x........: pthread_create (hg_intercepts.c:...)
+ by 0x........: Thread::Create(void* (*)(void*), void*) (annotate_smart_pointer.cpp:145)
+ by 0x........: main (annotate_smart_pointer.cpp:319)
+
+----------------------------------------------------------------
+
+Possible data race during write of size 4 at 0x........ by thread #x
+Locks held: none
+ ...
+ by 0x........: pthread_create_WRK (hg_intercepts.c:...)
+ by 0x........: pthread_create (hg_intercepts.c:...)
<truncated beyond 100 lines>
=================================================
./valgrind-new/helgrind/tests/cond_timedwait_invalid.stderr.diff
=================================================
--- cond_timedwait_invalid.stderr.exp 2012-09-12 00:56:41.000000000 -0500
+++ cond_timedwait_invalid.stderr.out 2012-09-12 01:12:39.000000000 -0500
@@ -5,11 +5,31 @@
----------------------------------------------------------------
+Thread #x's call to pthread_mutex_lock failed
+ with error code 22 (EINVAL: Invalid argument)
+ at 0x........: pthread_mutex_lock (hg_intercepts.c:...)
+ ...
+
+----------------------------------------------------------------
+
+Thread #x unlocked an invalid lock at 0x........
+ at 0x........: pthread_mutex_unlock (hg_intercepts.c:...)
+ ...
+
+----------------------------------------------------------------
+
+Thread #x's call to pthread_mutex_unlock failed
+ with error code 22 (EINVAL: Invalid argument)
+ at 0x........: pthread_mutex_unlock (hg_intercepts.c:...)
+ ...
+
+----------------------------------------------------------------
+
Thread #x's call to pthread_cond_timedwait failed
with error code 22 (EINVAL: Invalid argument)
at 0x........: pthread_cond_timedwait_WRK (hg_intercepts.c:...)
- by 0x........: pthread_cond_timedwait@* (hg_intercepts.c:...)
+ by 0x........: pthread_cond_timedwait (hg_intercepts.c:...)
by 0x........: main (cond_timedwait_invalid.c:22)
-ERROR SUMMARY: 1 errors from 1 contexts (suppressed: 0 from 0)
+ERROR SUMMARY: 4 errors from 4 contexts (suppressed: 0 from 0)
=================================================
./valgrind-new/helgrind/tests/free_is_write.stderr.diff
=================================================
--- free_is_write.stderr.exp 2012-09-12 00:56:41.000000000 -0500
+++ free_is_write.stderr.out 2012-09-12 01:12:40.000000000 -0500
@@ -1,16 +1,192 @@
+---Thread-Announcement------------------------------------------
+
+Thread #x is the program's root thread
+
+----------------------------------------------------------------
+
+Thread #x's call to pthread_mutex_lock failed
+ with error code 22 (EINVAL: Invalid argument)
+ at 0x........: pthread_mutex_lock (hg_intercepts.c:...)
+ ...
+
+----------------------------------------------------------------
+
+Thread #x unlocked an invalid lock at 0x........
+ at 0x........: pthread_mutex_unlock (hg_intercepts.c:...)
+ ...
+
+----------------------------------------------------------------
+
+Thread #x's call to pthread_mutex_unlock failed
+ with error code 22 (EINVAL: Invalid argument)
+ at 0x........: pthread_mutex_unlock (hg_intercepts.c:...)
+ ...
+
Start.
---Thread-Announcement------------------------------------------
Thread #x was created
...
by 0x........: pthread_create_WRK (hg_intercepts.c:...)
- by 0x........: pthread_create@* (hg_intercepts.c:...)
+ by 0x........: pthread_create (hg_intercepts.c:...)
by 0x........: main (free_is_write.c:32)
----Thread-Announcement------------------------------------------
+----------------------------------------------------------------
-Thread #x is the program's root thread
+Possible data race during read of size 4 at 0x........ by thread #x
+Locks held: none
+ ...
+
+This conflicts with a previous write of size 4 by thread #x
+Locks held: none
+ ...
+ by 0x........: pthread_create_WRK (hg_intercepts.c:...)
+ by 0x........: pthread_create (hg_intercepts.c:...)
+ by 0x........: main (free_is_write.c:32)
+
+----------------------------------------------------------------
+
+Possible data race during read of size 1 at 0x........ by thread #x
+Locks held: none
+ ...
+
+This conflicts with a previous write of size 1 by thread #x
+Locks held: none
+ ...
+ by 0x........: pthread_create_WRK (hg_intercepts.c:...)
+ by 0x........: pthread_create (hg_intercepts.c:...)
+ by 0x........: main (free_is_write.c:32)
+
+----------------------------------------------------------------
+
+Possible data race during write of size 1 at 0x........ by thread #x
+Locks held: none
+ ...
+
+This conflicts with a previous write of size 1 by thread #x
+Locks held: none
+ ...
+ by 0x........: pthread_create_WRK (hg_intercepts.c:...)
+ by 0x........: pthread_create (hg_intercepts.c:...)
+ by 0x........: main (free_is_write.c:32)
+
+----------------------------------------------------------------
+
+Possible data race during write of size 4 at 0x........ by thread #x
+Locks held: none
+ ...
+
+This conflicts with a previous write of size 4 by thread #x
+Locks held: none
+ ...
+ by 0x........: pthread_create_WRK (hg_intercepts.c:...)
+ by 0x........: pthread_create (hg_intercepts.c:...)
+ by 0x........: main (free_is_write.c:32)
+
+----------------------------------------------------------------
+
+Possible data race during read of size 4 at 0x........ by thread #x
+Locks held: none
+ ...
+ by 0x........: pthread_join_WRK (hg_intercepts.c:...)
+ by 0x........: pthread_join* (hg_intercepts.c:...)
+ by 0x........: main (free_is_write.c:39)
<truncated beyond 100 lines>
=================================================
./valgrind-new/helgrind/tests/hg01_all_ok.stderr.diff
=================================================
--- hg01_all_ok.stderr.exp 2012-09-12 00:56:41.000000000 -0500
+++ hg01_all_ok.stderr.out 2012-09-12 01:12:41.000000000 -0500
@@ -1,3 +1,921 @@
+---Thread-Announcement------------------------------------------
-ERROR SUMMARY: 0 errors from 0 contexts (suppressed: 0 from 0)
+Thread #x is the program's root thread
+
+----------------------------------------------------------------
+
+Thread #x's call to pthread_mutex_lock failed
+ with error code 22 (EINVAL: Invalid argument)
+ at 0x........: pthread_mutex_lock (hg_intercepts.c:...)
+ ...
+
+----------------------------------------------------------------
+
+Thread #x unlocked an invalid lock at 0x........
+ at 0x........: pthread_mutex_unlock (hg_intercepts.c:...)
+ ...
+
+----------------------------------------------------------------
+
+Thread #x's call to pthread_mutex_unlock failed
+ with error code 22 (EINVAL: Invalid argument)
+ at 0x........: pthread_mutex_unlock (hg_intercepts.c:...)
+ ...
+
+---Thread-Announcement------------------------------------------
+
+Thread #x was created
+ ...
+ by 0x........: pthread_create_WRK (hg_intercepts.c:...)
+ by 0x........: pthread_create (hg_intercepts.c:...)
+ by 0x........: main (hg01_all_ok.c:25)
+
+----------------------------------------------------------------
+
+Possible data race during read of size 4 at 0x........ by thread #x
+Locks held: none
+ ...
+
+This conflicts with a previous write of size 4 by thread #x
+Locks held: none
+ ...
+ by 0x........: pthread_create_WRK (hg_intercepts.c:...)
+ by 0x........: pthread_create (hg_intercepts.c:...)
+ by 0x........: main (hg01_all_ok.c:25)
+
+----------------------------------------------------------------
+
+Possible data race during read of size 1 at 0x........ by thread #x
+Locks held: none
+ ...
+
+This conflicts with a previous write of size 1 by thread #x
+Locks held: none
+ ...
+ by 0x........: pthread_create_WRK (hg_intercepts.c:...)
+ by 0x........: pthread_create (hg_intercepts.c:...)
+ by 0x........: main (hg01_all_ok.c:25)
+
+----------------------------------------------------------------
+
+Possible data race during write of size 1 at 0x........ by thread #x
+Locks held: none
+ ...
+
+This conflicts with a previous write of size 1 by thread #x
+Locks held: none
+ ...
+ by 0x........: pthread_create_WRK (hg_intercepts.c:...)
+ by 0x........: pthread_create (hg_intercepts.c:...)
+ by 0x........: main (hg01_all_ok.c:25)
+
+----------------------------------------------------------------
+
+Possible data race during write of size 4 at 0x........ by thread #x
+Locks held: none
+ ...
+
+This conflicts with a previous write of size 4 by thread #x
+Locks held: none
+ ...
+ by 0x........: pthread_create_WRK (hg_intercepts.c:...)
+ by 0x........: pthread_create (hg_intercepts.c:...)
+ by 0x........: main (hg01_all_ok.c:25)
+
+----------------------------------------------------------------
+
+Possible data race during write of size 4 at 0x........ by thread #x
+Locks held: none
+ ...
+ by 0x........: pthread_create_WRK (hg_intercepts.c:...)
+ by 0x........: pthread_create (hg_intercepts.c:...)
+ by 0x........: main (hg01_all_ok.c:26)
+
+This conflicts with a previous read of size 4 by thread #x
+Locks held: none
<truncated beyond 100 lines>
=================================================
./valgrind-new/helgrind/tests/hg02_deadlock.stderr.diff
=================================================
--- hg02_deadlock.stderr.exp 2012-09-12 00:56:41.000000000 -0500
+++ hg02_deadlock.stderr.out 2012-09-12 01:12:42.000000000 -0500
@@ -1,14 +1,275 @@
---Thread-Announcement------------------------------------------
+Thread #x is the program's root thread
+
+----------------------------------------------------------------
+
+Thread #x's call to pthread_mutex_lock failed
+ with error code 22 (EINVAL: Invalid argument)
+ at 0x........: pthread_mutex_lock (hg_intercepts.c:...)
+ ...
+
+----------------------------------------------------------------
+
+Thread #x unlocked an invalid lock at 0x........
+ at 0x........: pthread_mutex_unlock (hg_intercepts.c:...)
+ ...
+
+----------------------------------------------------------------
+
+Thread #x's call to pthread_mutex_unlock failed
+ with error code 22 (EINVAL: Invalid argument)
+ at 0x........: pthread_mutex_unlock (hg_intercepts.c:...)
+ ...
+
+---Thread-Announcement------------------------------------------
+
+Thread #x was created
+ ...
+ by 0x........: pthread_create_WRK (hg_intercepts.c:...)
+ by 0x........: pthread_create (hg_intercepts.c:...)
+ by 0x........: main (hg02_deadlock.c:35)
+
+----------------------------------------------------------------
+
+Possible data race during read of size 4 at 0x........ by thread #x
+Locks held: none
+ ...
+
+This conflicts with a previous write of size 4 by thread #x
+Locks held: none
+ ...
+ by 0x........: pthread_create_WRK (hg_intercepts.c:...)
+ by 0x........: pthread_create (hg_intercepts.c:...)
+ by 0x........: main (hg02_deadlock.c:35)
+
+----------------------------------------------------------------
+
+Possible data race during read of size 1 at 0x........ by thread #x
+Locks held: none
+ ...
+
+This conflicts with a previous write of size 1 by thread #x
+Locks held: none
+ ...
+ by 0x........: pthread_create_WRK (hg_intercepts.c:...)
+ by 0x........: pthread_create (hg_intercepts.c:...)
+ by 0x........: main (hg02_deadlock.c:35)
+
+----------------------------------------------------------------
+
+Possible data race during write of size 1 at 0x........ by thread #x
+Locks held: none
+ ...
+
+This conflicts with a previous write of size 1 by thread #x
+Locks held: none
+ ...
+ by 0x........: pthread_create_WRK (hg_intercepts.c:...)
+ by 0x........: pthread_create (hg_intercepts.c:...)
+ by 0x........: main (hg02_deadlock.c:35)
+
+----------------------------------------------------------------
+
+Possible data race during write of size 4 at 0x........ by thread #x
+Locks held: none
+ ...
+
+This conflicts with a previous write of size 4 by thread #x
+Locks held: none
+ ...
+ by 0x........: pthread_create_WRK (hg_intercepts.c:...)
+ by 0x........: pthread_create (hg_intercepts.c:...)
+ by 0x........: main (hg02_deadlock.c:35)
+
+----------------------------------------------------------------
+
+Possible data race during write of size 4 at 0x........ by thread #x
+Locks held: none
+ ...
+ by 0x........: pthread_create_WRK (hg_intercepts.c:...)
+ by 0x........: pthread_create (hg_intercepts.c:...)
+ by 0x........: main (hg02_deadlock.c:36)
+
+This conflicts with a previous read of size 4 by thread #x
+Locks held: none
+ ...
<truncated beyond 100 lines>
=================================================
./valgrind-new/helgrind/tests/hg03_inherit.stderr.diff
=================================================
--- hg03_inherit.stderr.exp 2012-09-12 00:56:41.000000000 -0500
+++ hg03_inherit.stderr.out 2012-09-12 01:12:46.000000000 -0500
@@ -1,15 +1,508 @@
---Thread-Announcement------------------------------------------
+Thread #x is the program's root thread
+
+----------------------------------------------------------------
+
+Thread #x's call to pthread_mutex_lock failed
+ with error code 22 (EINVAL: Invalid argument)
+ at 0x........: pthread_mutex_lock (hg_intercepts.c:...)
+ ...
+
+----------------------------------------------------------------
+
+Thread #x unlocked an invalid lock at 0x........
+ at 0x........: pthread_mutex_unlock (hg_intercepts.c:...)
+ ...
+
+----------------------------------------------------------------
+
+Thread #x's call to pthread_mutex_unlock failed
+ with error code 22 (EINVAL: Invalid argument)
+ at 0x........: pthread_mutex_unlock (hg_intercepts.c:...)
+ ...
+
+---Thread-Announcement------------------------------------------
+
Thread #x was created
...
by 0x........: pthread_create_WRK (hg_intercepts.c:...)
- by 0x........: pthread_create@* (hg_intercepts.c:...)
+ by 0x........: pthread_create (hg_intercepts.c:...)
+ by 0x........: main (hg03_inherit.c:44)
+
+----------------------------------------------------------------
+
+Possible data race during read of size 4 at 0x........ by thread #x
+Locks held: none
+ ...
+
+This conflicts with a previous write of size 4 by thread #x
+Locks held: none
+ ...
+ by 0x........: pthread_create_WRK (hg_intercepts.c:...)
+ by 0x........: pthread_create (hg_intercepts.c:...)
+ by 0x........: main (hg03_inherit.c:44)
+
+----------------------------------------------------------------
+
+Possible data race during read of size 1 at 0x........ by thread #x
+Locks held: none
+ ...
+
+This conflicts with a previous write of size 1 by thread #x
+Locks held: none
+ ...
+ by 0x........: pthread_create_WRK (hg_intercepts.c:...)
+ by 0x........: pthread_create (hg_intercepts.c:...)
+ by 0x........: main (hg03_inherit.c:44)
+
+----------------------------------------------------------------
+
+Possible data race during write of size 1 at 0x........ by thread #x
+Locks held: none
+ ...
+
+This conflicts with a previous write of size 1 by thread #x
+Locks held: none
+ ...
+ by 0x........: pthread_create_WRK (hg_intercepts.c:...)
+ by 0x........: pthread_create (hg_intercepts.c:...)
+ by 0x........: main (hg03_inherit.c:44)
+
+----------------------------------------------------------------
+
+Possible data race during write of size 4 at 0x........ by thread #x
+Locks held: none
+ ...
+
+This conflicts with a previous write of size 4 by thread #x
+Locks held: none
+ ...
+ by 0x........: pthread_create_WRK (hg_intercepts.c:...)
+ by 0x........: pthread_create (hg_intercepts.c:...)
+ by 0x........: main (hg03_inherit.c:44)
+
+----------------------------------------------------------------
+
+Possible data race during write of size 4 at 0x........ by thread #x
+Locks held: none
+ ...
+ by 0x........: pthread_create_WRK (hg_intercepts.c:...)
+ by 0x........: pthread_create (hg_intercepts.c:...)
+ by 0x........: main (hg03_inherit.c:46)
+
+This conflicts with a previous read of size 4 by thread #x
+Locks held: none
<truncated beyond 100 lines>
=================================================
./valgrind-new/helgrind/tests/hg04_race.stderr.diff
=================================================
--- hg04_race.stderr.exp 2012-09-12 00:56:41.000000000 -0500
+++ hg04_race.stderr.out 2012-09-12 01:12:47.000000000 -0500
@@ -1,19 +1,238 @@
---Thread-Announcement------------------------------------------
+Thread #x is the program's root thread
+
+----------------------------------------------------------------
+
+Thread #x's call to pthread_mutex_lock failed
+ with error code 22 (EINVAL: Invalid argument)
+ at 0x........: pthread_mutex_lock (hg_intercepts.c:...)
+ ...
+
+----------------------------------------------------------------
+
+Thread #x unlocked an invalid lock at 0x........
+ at 0x........: pthread_mutex_unlock (hg_intercepts.c:...)
+ ...
+
+----------------------------------------------------------------
+
+Thread #x's call to pthread_mutex_unlock failed
+ with error code 22 (EINVAL: Invalid argument)
+ at 0x........: pthread_mutex_unlock (hg_intercepts.c:...)
+ ...
+
+---Thread-Announcement------------------------------------------
+
Thread #x was created
...
by 0x........: pthread_create_WRK (hg_intercepts.c:...)
- by 0x........: pthread_create@* (hg_intercepts.c:...)
+ 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
+Locks held: none
+ ...
+
+This conflicts with a previous write of size 4 by thread #x
+Locks held: none
+ ...
+ by 0x........: pthread_create_WRK (hg_intercepts.c:...)
+ by 0x........: pthread_create (hg_intercepts.c:...)
+ by 0x........: main (hg04_race.c:19)
+
+----------------------------------------------------------------
+
+Possible data race during read of size 1 at 0x........ by thread #x
+Locks held: none
+ ...
+
+This conflicts with a previous write of size 1 by thread #x
+Locks held: none
+ ...
+ by 0x........: pthread_create_WRK (hg_intercepts.c:...)
+ by 0x........: pthread_create (hg_intercepts.c:...)
+ by 0x........: main (hg04_race.c:19)
+
+----------------------------------------------------------------
+
+Possible data race during write of size 1 at 0x........ by thread #x
+Locks held: none
+ ...
+
+This conflicts with a previous write of size 1 by thread #x
+Locks held: none
+ ...
+ by 0x........: pthread_create_WRK (hg_intercepts.c:...)
+ by 0x........: pthread_create (hg_intercepts.c:...)
+ by 0x........: main (hg04_race.c:19)
+
+----------------------------------------------------------------
+
+Possible data race during write of size 4 at 0x........ by thread #x
+Locks held: none
+ ...
+
+This conflicts with a previous write of size 4 by thread #x
+Locks held: none
+ ...
+ by 0x........: pthread_create_WRK (hg_intercepts.c:...)
+ 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
+Locks held: none
+ ...
+
+This conflicts with a previous write of size 4 by thread #x
+Locks held: none
+ ...
+ by 0x........: pthread_create_WRK (hg_intercepts.c:...)
+ by 0x........: pthread_create (hg_intercepts.c:...)
<truncated beyond 100 lines>
=================================================
./valgrind-new/helgrind/tests/hg05_race2.stderr.diff
=================================================
--- hg05_race2.stderr.exp 2012-09-12 00:56:41.000000000 -0500
+++ hg05_race2.stderr.out 2012-09-12 01:12:49.000000000 -0500
@@ -1,19 +1,238 @@
---Thread-Announcement------------------------------------------
+Thread #x is the program's root thread
+
+----------------------------------------------------------------
+
+Thread #x's call to pthread_mutex_lock failed
+ with error code 22 (EINVAL: Invalid argument)
+ at 0x........: pthread_mutex_lock (hg_intercepts.c:...)
+ ...
+
+----------------------------------------------------------------
+
+Thread #x unlocked an invalid lock at 0x........
+ at 0x........: pthread_mutex_unlock (hg_intercepts.c:...)
+ ...
+
+----------------------------------------------------------------
+
+Thread #x's call to pthread_mutex_unlock failed
+ with error code 22 (EINVAL: Invalid argument)
+ at 0x........: pthread_mutex_unlock (hg_intercepts.c:...)
+ ...
+
+---Thread-Announcement------------------------------------------
+
Thread #x was created
...
by 0x........: pthread_create_WRK (hg_intercepts.c:...)
- by 0x........: pthread_create@* (hg_intercepts.c:...)
+ 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
+Locks held: none
+ ...
+
+This conflicts with a previous write of size 4 by thread #x
+Locks held: none
+ ...
+ by 0x........: pthread_create_WRK (hg_intercepts.c:...)
+ by 0x........: pthread_create (hg_intercepts.c:...)
+ by 0x........: main (hg05_race2.c:27)
+
+----------------------------------------------------------------
+
+Possible data race during read of size 1 at 0x........ by thread #x
+Locks held: none
+ ...
+
+This conflicts with a previous write of size 1 by thread #x
+Locks held: none
+ ...
+ by 0x........: pthread_create_WRK (hg_intercepts.c:...)
+ by 0x........: pthread_create (hg_intercepts.c:...)
+ by 0x........: main (hg05_race2.c:27)
+
+----------------------------------------------------------------
+
+Possible data race during write of size 1 at 0x........ by thread #x
+Locks held: none
+ ...
+
+This conflicts with a previous write of size 1 by thread #x
+Locks held: none
+ ...
+ by 0x........: pthread_create_WRK (hg_intercepts.c:...)
+ by 0x........: pthread_create (hg_intercepts.c:...)
+ by 0x........: main (hg05_race2.c:27)
+
+----------------------------------------------------------------
+
+Possible data race during write of size 4 at 0x........ by thread #x
+Locks held: none
+ ...
+
+This conflicts with a previous write of size 4 by thread #x
+Locks held: none
+ ...
+ by 0x........: pthread_create_WRK (hg_intercepts.c:...)
+ 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
+Locks held: none
+ ...
+
+This conflicts with a previous write of size 4 by thread #x
+Locks held: none
+ ...
+ by 0x........: pthread_create_WRK (hg_intercepts.c:...)
+ by 0x........: pthread_create (hg_intercepts.c:...)
<truncated beyond 100 lines>
=================================================
./valgrind-new/helgrind/tests/hg06_readshared.stderr.diff
=================================================
--- hg06_readshared.stderr.exp 2012-09-12 00:56:41.000000000 -0500
+++ hg06_readshared.stderr.out 2012-09-12 01:12:50.000000000 -0500
@@ -1,3 +1,824 @@
+---Thread-Announcement------------------------------------------
-ERROR SUMMARY: 0 errors from 0 contexts (suppressed: 0 from 0)
+Thread #x is the program's root thread
+
+----------------------------------------------------------------
+
+Thread #x's call to pthread_mutex_lock failed
+ with error code 22 (EINVAL: Invalid argument)
+ at 0x........: pthread_mutex_lock (hg_intercepts.c:...)
+ ...
+
+----------------------------------------------------------------
+
+Thread #x unlocked an invalid lock at 0x........
+ at 0x........: pthread_mutex_unlock (hg_intercepts.c:...)
+ ...
+
+----------------------------------------------------------------
+
+Thread #x's call to pthread_mutex_unlock failed
+ with error code 22 (EINVAL: Invalid argument)
+ at 0x........: pthread_mutex_unlock (hg_intercepts.c:...)
+ ...
+
+---Thread-Announcement------------------------------------------
+
+Thread #x was created
+ ...
+ by 0x........: pthread_create_WRK (hg_intercepts.c:...)
+ by 0x........: pthread_create (hg_intercepts.c:...)
+ by 0x........: main (hg06_readshared.c:24)
+
+----------------------------------------------------------------
+
+Possible data race during read of size 4 at 0x........ by thread #x
+Locks held: none
+ ...
+
+This conflicts with a previous write of size 4 by thread #x
+Locks held: none
+ ...
+ by 0x........: pthread_create_WRK (hg_intercepts.c:...)
+ by 0x........: pthread_create (hg_intercepts.c:...)
+ by 0x........: main (hg06_readshared.c:24)
+
+----------------------------------------------------------------
+
+Possible data race during read of size 1 at 0x........ by thread #x
+Locks held: none
+ ...
+
+This conflicts with a previous write of size 1 by thread #x
+Locks held: none
+ ...
+ by 0x........: pthread_create_WRK (hg_intercepts.c:...)
+ by 0x........: pthread_create (hg_intercepts.c:...)
+ by 0x........: main (hg06_readshared.c:24)
+
+----------------------------------------------------------------
+
+Possible data race during write of size 1 at 0x........ by thread #x
+Locks held: none
+ ...
+
+This conflicts with a previous write of size 1 by thread #x
+Locks held: none
+ ...
+ by 0x........: pthread_create_WRK (hg_intercepts.c:...)
+ by 0x........: pthread_create (hg_intercepts.c:...)
+ by 0x........: main (hg06_readshared.c:24)
+
+----------------------------------------------------------------
+
+Possible data race during write of size 4 at 0x........ by thread #x
+Locks held: none
+ ...
+
+This conflicts with a previous write of size 4 by thread #x
+Locks held: none
+ ...
+ by 0x........: pthread_create_WRK (hg_intercepts.c:...)
+ by 0x........: pthread_create (hg_intercepts.c:...)
+ by 0x........: main (hg06_readshared.c:24)
+
+----------------------------------------------------------------
+
+Possible data race during write of size 4 at 0x........ by thread #x
+Locks held: none
+ ...
+ by 0x........: pthread_create_WRK (hg_intercepts.c:...)
+ by 0x........: pthread_create (hg_intercepts.c:...)
+ by 0x........: main (hg06_readshared.c:25)
+
+This conflicts with a previous read of size 4 by thread #x
+Locks held: none
<truncated beyond 100 lines>
=================================================
./valgrind-new/helgrind/tests/locked_vs_unlocked1_fwd.stderr.diff
=================================================
--- locked_vs_unlocked1_fwd.stderr.exp 2012-09-12 00:56:41.000000000 -0500
+++ locked_vs_unlocked1_fwd.stderr.out 2012-09-12 01:12:51.000000000 -0500
@@ -1,18 +1,241 @@
---Thread-Announcement------------------------------------------
+Thread #x is the program's root thread
+
+----------------------------------------------------------------
+
+Thread #x's call to pthread_mutex_lock failed
+ with error code 22 (EINVAL: Invalid argument)
+ at 0x........: pthread_mutex_lock (hg_intercepts.c:...)
+ ...
+
+----------------------------------------------------------------
+
+Thread #x unlocked an invalid lock at 0x........
+ at 0x........: pthread_mutex_unlock (hg_intercepts.c:...)
+ ...
+
+----------------------------------------------------------------
+
+Thread #x's call to pthread_mutex_unlock failed
+ with error code 22 (EINVAL: Invalid argument)
+ at 0x........: pthread_mutex_unlock (hg_intercepts.c:...)
+ ...
+
+---Thread-Announcement------------------------------------------
+
Thread #x was created
...
by 0x........: pthread_create_WRK (hg_intercepts.c:...)
- by 0x........: pthread_create@* (hg_intercepts.c:...)
+ by 0x........: pthread_create (hg_intercepts.c:...)
+ by 0x........: main (locked_vs_unlocked1.c:29)
+
+----------------------------------------------------------------
+
+Possible data race during read of size 4 at 0x........ by thread #x
+Locks held: none
+ ...
+
+This conflicts with a previous write of size 4 by thread #x
+Locks held: none
+ ...
+ by 0x........: pthread_create_WRK (hg_intercepts.c:...)
+ by 0x........: pthread_create (hg_intercepts.c:...)
+ by 0x........: main (locked_vs_unlocked1.c:29)
+
+----------------------------------------------------------------
+
+Possible data race during read of size 1 at 0x........ by thread #x
+Locks held: none
+ ...
+
+This conflicts with a previous write of size 1 by thread #x
+Locks held: none
+ ...
+ by 0x........: pthread_create_WRK (hg_intercepts.c:...)
+ by 0x........: pthread_create (hg_intercepts.c:...)
+ by 0x........: main (locked_vs_unlocked1.c:29)
+
+----------------------------------------------------------------
+
+Possible data race during write of size 1 at 0x........ by thread #x
+Locks held: none
+ ...
+
+This conflicts with a previous write of size 1 by thread #x
+Locks held: none
+ ...
+ by 0x........: pthread_create_WRK (hg_intercepts.c:...)
+ by 0x........: pthread_create (hg_intercepts.c:...)
+ by 0x........: main (locked_vs_unlocked1.c:29)
+
+----------------------------------------------------------------
+
+Possible data race during write of size 4 at 0x........ by thread #x
+Locks held: none
+ ...
+
+This conflicts with a previous write of size 4 by thread #x
+Locks held: none
+ ...
+ by 0x........: pthread_create_WRK (hg_intercepts.c:...)
+ by 0x........: pthread_create (hg_intercepts.c:...)
+ by 0x........: main (locked_vs_unlocked1.c:29)
+
+----------------------------------------------------------------
+
+Possible data race during read of size 4 at 0x........ by thread #x
+Locks held: none
+ ...
+
+This conflicts with a previous write of size 4 by thread #x
+Locks held: none
+ ...
+ by 0x........: pthread_create_WRK (hg_intercepts.c:...)
+ by 0x........: pthread_create (hg_intercepts.c:...)
+ by 0x........: main (locked_vs_unlocked1.c:29)
<truncated beyond 100 lines>
=================================================
./valgrind-new/helgrind/tests/locked_vs_unlocked1_rev.stderr.diff
=================================================
--- locked_vs_unlocked1_rev.stderr.exp 2012-09-12 00:56:41.000000000 -0500
+++ locked_vs_unlocked1_rev.stderr.out 2012-09-12 01:12:53.000000000 -0500
@@ -1,18 +1,237 @@
---Thread-Announcement------------------------------------------
+Thread #x is the program's root thread
+
+----------------------------------------------------------------
+
+Thread #x's call to pthread_mutex_lock failed
+ with error code 22 (EINVAL: Invalid argument)
+ at 0x........: pthread_mutex_lock (hg_intercepts.c:...)
+ ...
+
+----------------------------------------------------------------
+
+Thread #x unlocked an invalid lock at 0x........
+ at 0x........: pthread_mutex_unlock (hg_intercepts.c:...)
+ ...
+
+----------------------------------------------------------------
+
+Thread #x's call to pthread_mutex_unlock failed
+ with error code 22 (EINVAL: Invalid argument)
+ at 0x........: pthread_mutex_unlock (hg_intercepts.c:...)
+ ...
+
+---Thread-Announcement------------------------------------------
+
Thread #x was created
...
by 0x........: pthread_create_WRK (hg_intercepts.c:...)
- by 0x........: pthread_create@* (hg_intercepts.c:...)
+ by 0x........: pthread_create (hg_intercepts.c:...)
+ by 0x........: main (locked_vs_unlocked1.c:29)
+
+----------------------------------------------------------------
+
+Possible data race during read of size 4 at 0x........ by thread #x
+Locks held: none
+ ...
+
+This conflicts with a previous write of size 4 by thread #x
+Locks held: none
+ ...
+ by 0x........: pthread_create_WRK (hg_intercepts.c:...)
+ by 0x........: pthread_create (hg_intercepts.c:...)
+ by 0x........: main (locked_vs_unlocked1.c:29)
+
+----------------------------------------------------------------
+
+Possible data race during read of size 1 at 0x........ by thread #x
+Locks held: none
+ ...
+
+This conflicts with a previous write of size 1 by thread #x
+Locks held: none
+ ...
+ by 0x........: pthread_create_WRK (hg_intercepts.c:...)
+ by 0x........: pthread_create (hg_intercepts.c:...)
+ by 0x........: main (locked_vs_unlocked1.c:29)
+
+----------------------------------------------------------------
+
+Possible data race during write of size 1 at 0x........ by thread #x
+Locks held: none
+ ...
+
+This conflicts with a previous write of size 1 by thread #x
+Locks held: none
+ ...
+ by 0x........: pthread_create_WRK (hg_intercepts.c:...)
+ by 0x........: pthread_create (hg_intercepts.c:...)
+ by 0x........: main (locked_vs_unlocked1.c:29)
+
+----------------------------------------------------------------
+
+Possible data race during write of size 4 at 0x........ by thread #x
+Locks held: none
+ ...
+
+This conflicts with a previous write of size 4 by thread #x
+Locks held: none
+ ...
+ by 0x........: pthread_create_WRK (hg_intercepts.c:...)
+ by 0x........: pthread_create (hg_intercepts.c:...)
+ by 0x........: main (locked_vs_unlocked1.c:29)
+
+----------------------------------------------------------------
+
+Possible data race during read of size 4 at 0x........ by thread #x
+Locks held: none
+ ...
+
+This conflicts with a previous write of size 4 by thread #x
+Locks held: none
+ ...
+ by 0x........: pthread_create_WRK (hg_intercepts.c:...)
+ by 0x........: pthread_create (hg_intercepts.c:...)
+ by 0x........: main (locked_vs_unlocked1.c:29)
<truncated beyond 100 lines>
=================================================
./valgrind-new/helgrind/tests/locked_vs_unlocked2.stderr.diff
=================================================
--- locked_vs_unlocked2.stderr.exp 2012-09-12 00:56:41.000000000 -0500
+++ locked_vs_unlocked2.stderr.out 2012-09-12 01:12:55.000000000 -0500
@@ -1,17 +1,272 @@
---Thread-Announcement------------------------------------------
+Thread #x is the program's root thread
+
+----------------------------------------------------------------
+
+Thread #x's call to pthread_mutex_lock failed
+ with error code 22 (EINVAL: Invalid argument)
+ at 0x........: pthread_mutex_lock (hg_intercepts.c:...)
+ ...
+
+----------------------------------------------------------------
+
+Thread #x unlocked an invalid lock at 0x........
+ at 0x........: pthread_mutex_unlock (hg_intercepts.c:...)
+ ...
+
+----------------------------------------------------------------
+
+Thread #x's call to pthread_mutex_unlock failed
+ with error code 22 (EINVAL: Invalid argument)
+ at 0x........: pthread_mutex_unlock (hg_intercepts.c:...)
+ ...
+
+---Thread-Announcement------------------------------------------
+
Thread #x was created
...
by 0x........: pthread_create_WRK (hg_intercepts.c:...)
- by 0x........: pthread_create@* (hg_intercepts.c:...)
+ by 0x........: pthread_create (hg_intercepts.c:...)
+ by 0x........: main (locked_vs_unlocked2.c:61)
+
+----------------------------------------------------------------
+
+Possible data race during read of size 4 at 0x........ by thread #x
+Locks held: none
+ ...
+
+This conflicts with a previous write of size 4 by thread #x
+Locks held: none
+ ...
+ by 0x........: pthread_create_WRK (hg_intercepts.c:...)
+ by 0x........: pthread_create (hg_intercepts.c:...)
+ by 0x........: main (locked_vs_unlocked2.c:61)
+
+----------------------------------------------------------------
+
+Possible data race during read of size 1 at 0x........ by thread #x
+Locks held: none
+ ...
+
+This conflicts with a previous write of size 1 by thread #x
+Locks held: none
+ ...
+ by 0x........: pthread_create_WRK (hg_intercepts.c:...)
+ by 0x........: pthread_create (hg_intercepts.c:...)
+ by 0x........: main (locked_vs_unlocked2.c:61)
+
+----------------------------------------------------------------
+
+Possible data race during write of size 1 at 0x........ by thread #x
+Locks held: none
+ ...
+
+This conflicts with a previous write of size 1 by thread #x
+Locks held: none
+ ...
+ by 0x........: pthread_create_WRK (hg_intercepts.c:...)
+ by 0x........: pthread_create (hg_intercepts.c:...)
by 0x........: main (locked_vs_unlocked2.c:61)
+----------------------------------------------------------------
+
+Possible data race during write of size 4 at 0x........ by thread #x
+Locks held: none
+ ...
+
+This conflicts with a previous write of size 4 by thread #x
+Locks held: none
+ ...
+ by 0x........: pthread_create_WRK (hg_intercepts.c:...)
+ by 0x........: pthread_create (hg_intercepts.c:...)
+ by 0x........: main (locked_vs_unlocked2.c:61)
+
+----------------------------------------------------------------
+
+Possible data race during write of size 4 at 0x........ by thread #x
+Locks held: none
+ ...
+ by 0x........: pthread_create_WRK (hg_intercepts.c:...)
+ by 0x........: pthread_create (hg_intercepts.c:...)
+ by 0x........: main (locked_vs_unlocked2.c:62)
+
+This conflicts with a previous read of size 4 by thread #x
+Locks held: none
+ ...
<truncated beyond 100 lines>
=================================================
./valgrind-new/helgrind/tests/locked_vs_unlocked3.stderr.diff
=================================================
--- locked_vs_unlocked3.stderr.exp 2012-09-12 00:56:41.000000000 -0500
+++ locked_vs_unlocked3.stderr.out 2012-09-12 01:12:56.000000000 -0500
@@ -1,21 +1,259 @@
---Thread-Announcement------------------------------------------
+Thread #x is the program's root thread
+
+----------------------------------------------------------------
+
+Thread #x's call to pthread_mutex_lock failed
+ with error code 22 (EINVAL: Invalid argument)
+ at 0x........: pthread_mutex_lock (hg_intercepts.c:...)
+ ...
+
+----------------------------------------------------------------
+
+Thread #x unlocked an invalid lock at 0x........
+ at 0x........: pthread_mutex_unlock (hg_intercepts.c:...)
+ ...
+
+----------------------------------------------------------------
+
+Thread #x's call to pthread_mutex_unlock failed
+ with error code 22 (EINVAL: Invalid argument)
+ at 0x........: pthread_mutex_unlock (hg_intercepts.c:...)
+ ...
+
+---Thread-Announcement------------------------------------------
+
Thread #x was created
...
by 0x........: pthread_create_WRK (hg_intercepts.c:...)
- by 0x........: pthread_create@* (hg_intercepts.c:...)
+ by 0x........: pthread_create (hg_intercepts.c:...)
+ by 0x........: main (locked_vs_unlocked3.c:53)
+
+----------------------------------------------------------------
+
+Possible data race during read of size 4 at 0x........ by thread #x
+Locks held: none
+ ...
+
+This conflicts with a previous write of size 4 by thread #x
[ truncated ... over 100000 chars ]
|
|
From: Rich C. <rc...@wi...> - 2012-09-12 05:17:31
|
valgrind revision: 12965
VEX revision: 2523
C compiler: i686-apple-darwin10-gcc-4.2.1 (GCC) 4.2.1 (Apple Inc. build 5666) (dot 3)
Assembler:
C library: unknown
uname -mrs: Darwin 10.8.0 i386
Vendor version: unknown
Nightly build on macx86 ( Darwin 10.8.0 i386 )
Started at 2012-09-11 23:35:00 CDT
Ended at 2012-09-12 00:17:15 CDT
Results unchanged from 24 hours ago
Checking out valgrind source tree ... done
Configuring valgrind ... done
Building valgrind ... done
Running regression tests ... failed
Regression test results follow
== 499 tests, 145 stderr failures, 4 stdout failures, 3 stderrB failures, 3 stdoutB failures, 1 post failure ==
gdbserver_tests/mchelp (stdoutB)
gdbserver_tests/mchelp (stderrB)
gdbserver_tests/mcinvokeRU (stdoutB)
gdbserver_tests/mcinvokeRU (stderrB)
gdbserver_tests/mcinvokeWS (stdoutB)
gdbserver_tests/mcinvokeWS (stderrB)
memcheck/tests/accounting (stderr)
memcheck/tests/badpoll (stderr)
memcheck/tests/big_blocks_freed_list (stderr)
memcheck/tests/bug287260 (stderr)
memcheck/tests/darwin/aio (stderr)
memcheck/tests/darwin/pth-supp (stderr)
memcheck/tests/darwin/scalar (stderr)
memcheck/tests/deep-backtrace (stderr)
memcheck/tests/err_disable4 (stderr)
memcheck/tests/leak-delta (stderr)
memcheck/tests/memcmptest (stderr)
memcheck/tests/mismatches (stderr)
memcheck/tests/null_socket (stdout)
memcheck/tests/origin5-bz2 (stderr)
memcheck/tests/overlap (stdout)
memcheck/tests/overlap (stderr)
memcheck/tests/strchr (stderr)
memcheck/tests/test-plo-no (stderr)
memcheck/tests/varinfo3 (stderr)
memcheck/tests/varinfo5 (stderr)
memcheck/tests/vbit-test/vbit-test (stderr)
memcheck/tests/vcpu_fnfns (stdout)
memcheck/tests/writev1 (stderr)
massif/tests/big-alloc (post)
massif/tests/pages_as_heap (stderr)
none/tests/allexec32 (stderr)
none/tests/allexec64 (stderr)
none/tests/async-sigs (stderr)
none/tests/cmdline5 (stderr)
none/tests/execve (stderr)
none/tests/faultstatus (stderr)
none/tests/mmap_fcntl_bug (stderr)
none/tests/nodir (stderr)
none/tests/pth_blockedsig (stderr)
none/tests/require-text-symbol-2 (stderr)
none/tests/rlimit64_nofile (stderr)
none/tests/shell_nosuchfile (stderr)
none/tests/x86/cse_fail (stdout)
helgrind/tests/annotate_hbefore (stderr)
helgrind/tests/annotate_rwlock (stderr)
helgrind/tests/annotate_smart_pointer (stderr)
helgrind/tests/cond_timedwait_invalid (stderr)
helgrind/tests/free_is_write (stderr)
helgrind/tests/hg01_all_ok (stderr)
helgrind/tests/hg02_deadlock (stderr)
helgrind/tests/hg03_inherit (stderr)
helgrind/tests/hg04_race (stderr)
helgrind/tests/hg05_race2 (stderr)
helgrind/tests/hg06_readshared (stderr)
helgrind/tests/locked_vs_unlocked1_fwd (stderr)
helgrind/tests/locked_vs_unlocked1_rev (stderr)
helgrind/tests/locked_vs_unlocked2 (stderr)
helgrind/tests/locked_vs_unlocked3 (stderr)
helgrind/tests/pth_destroy_cond (stderr)
helgrind/tests/rwlock_race (stderr)
helgrind/tests/rwlock_test (stderr)
helgrind/tests/t2t_laog (stderr)
helgrind/tests/tc01_simple_race (stderr)
helgrind/tests/tc02_simple_tls (stderr)
helgrind/tests/tc03_re_excl (stderr)
helgrind/tests/tc04_free_lock (stderr)
helgrind/tests/tc05_simple_race (stderr)
helgrind/tests/tc06_two_races (stderr)
helgrind/tests/tc06_two_races_xml (stderr)
helgrind/tests/tc07_hbl1 (stderr)
helgrind/tests/tc08_hbl2 (stderr)
helgrind/tests/tc09_bad_unlock (stderr)
helgrind/tests/tc10_rec_lock (stderr)
helgrind/tests/tc11_XCHG (stderr)
helgrind/tests/tc12_rwl_trivial (stderr)
helgrind/tests/tc13_laog1 (stderr)
helgrind/tests/tc14_laog_dinphils (stderr)
helgrind/tests/tc15_laog_lockdel (stderr)
helgrind/tests/tc16_byterace (stderr)
helgrind/tests/tc17_sembar (stderr)
helgrind/tests/tc18_semabuse (stderr)
helgrind/tests/tc19_shadowmem (stderr)
helgrind/tests/tc21_pthonce (stderr)
helgrind/tests/tc23_bogus_condwait (stderr)
helgrind/tests/tc24_nonzero_sem (stderr)
drd/tests/annotate_barrier (stderr)
drd/tests/annotate_barrier_xml (stderr)
drd/tests/annotate_hb_race (stderr)
drd/tests/annotate_hbefore (stderr)
drd/tests/annotate_ignore_read (stderr)
drd/tests/annotate_ignore_rw (stderr)
drd/tests/annotate_ignore_rw2 (stderr)
drd/tests/annotate_ignore_write (stderr)
drd/tests/annotate_ignore_write2 (stderr)
drd/tests/annotate_order_1 (stderr)
drd/tests/annotate_order_2 (stderr)
drd/tests/annotate_order_3 (stderr)
drd/tests/annotate_rwlock (stderr)
drd/tests/annotate_smart_pointer (stderr)
drd/tests/annotate_smart_pointer2 (stderr)
drd/tests/annotate_spinlock (stderr)
drd/tests/annotate_static (stderr)
drd/tests/atomic_var (stderr)
drd/tests/bug-235681 (stderr)
drd/tests/circular_buffer (stderr)
drd/tests/fp_race (stderr)
drd/tests/fp_race2 (stderr)
drd/tests/fp_race_xml (stderr)
drd/tests/free_is_write (stderr)
drd/tests/free_is_write2 (stderr)
drd/tests/hg01_all_ok (stderr)
drd/tests/hg02_deadlock (stderr)
drd/tests/hg03_inherit (stderr)
drd/tests/hg04_race (stderr)
drd/tests/hg05_race2 (stderr)
drd/tests/hg06_readshared (stderr)
drd/tests/linuxthreads_det (stderr)
drd/tests/monitor_example (stderr)
drd/tests/pth_broadcast (stderr)
drd/tests/pth_cleanup_handler (stderr)
drd/tests/pth_cond_race (stderr)
drd/tests/pth_cond_race2 (stderr)
drd/tests/pth_cond_race3 (stderr)
drd/tests/pth_create_chain (stderr)
drd/tests/pth_detached3 (stderr)
drd/tests/pth_inconsistent_cond_wait (stderr)
drd/tests/pth_once (stderr)
drd/tests/read_and_free_race (stderr)
drd/tests/rwlock_race (stderr)
drd/tests/rwlock_test (stderr)
drd/tests/sem_open (stderr)
drd/tests/sem_open2 (stderr)
drd/tests/sem_open3 (stderr)
drd/tests/sem_open_traced (stderr)
drd/tests/sem_wait (stderr)
drd/tests/sigalrm (stderr)
drd/tests/tc01_simple_race (stderr)
drd/tests/tc02_simple_tls (stderr)
drd/tests/tc03_re_excl (stderr)
drd/tests/tc05_simple_race (stderr)
drd/tests/tc06_two_races (stderr)
drd/tests/tc07_hbl1 (stderr)
drd/tests/tc08_hbl2 (stderr)
drd/tests/tc09_bad_unlock (stderr)
drd/tests/tc11_XCHG (stderr)
drd/tests/tc16_byterace (stderr)
drd/tests/tc17_sembar (stderr)
drd/tests/tc19_shadowmem (stderr)
drd/tests/tc21_pthonce (stderr)
drd/tests/tc23_bogus_condwait (stderr)
drd/tests/thread_name (stderr)
drd/tests/thread_name_xml (stderr)
drd/tests/threaded-fork (stderr)
drd/tests/unit_bitmap (stderr)
drd/tests/unit_vc (stderr)
=================================================
./valgrind-new/drd/tests/annotate_barrier.stderr.diff
=================================================
--- annotate_barrier.stderr.exp 2012-09-11 23:56:27.000000000 -0500
+++ annotate_barrier.stderr.out 2012-09-12 00:14:04.000000000 -0500
@@ -37,6 +37,117 @@
by 0x........: vgDrd_thread_wrapper (drd_pthread_intercepts.c:?)
Thread 1:
+Conflicting load by thread 1 at 0x........ size 4
+ at 0x........: ???
+ by 0x........: pthread_join$UNIX2003 (in /...libc...)
+ by 0x........: pthread_join (drd_pthread_intercepts.c:?)
+Allocation context: Data section of /usr/lib/libSystem.B.dylib
+
+Conflicting load by thread 1 at 0x........ size 4
+ at 0x........: new_sem_from_pool (in /...libc...)
+ by 0x........: pthread_join$UNIX2003 (in /...libc...)
+ by 0x........: pthread_join (drd_pthread_intercepts.c:?)
+Allocation context: Data section of /usr/lib/libSystem.B.dylib
+
+Conflicting load by thread 1 at 0x........ size 4
+ at 0x........: new_sem_from_pool (in /...libc...)
+ by 0x........: pthread_join$UNIX2003 (in /...libc...)
+ by 0x........: pthread_join (drd_pthread_intercepts.c:?)
+Allocation context: Data section of /usr/lib/libSystem.B.dylib
+
+Conflicting load by thread 1 at 0x........ size 4
+ at 0x........: new_sem_from_pool (in /...libc...)
+ by 0x........: pthread_join$UNIX2003 (in /...libc...)
+ by 0x........: pthread_join (drd_pthread_intercepts.c:?)
+Allocation context: Data section of /usr/lib/libSystem.B.dylib
+
+Conflicting load by thread 1 at 0x........ size 4
+ at 0x........: new_sem_from_pool (in /...libc...)
+ by 0x........: pthread_join$UNIX2003 (in /...libc...)
+ by 0x........: pthread_join (drd_pthread_intercepts.c:?)
+Address 0x........ is at offset 4 from 0x......... Allocation context:
+ at 0x........: malloc (vg_replace_malloc.c:...)
+ by 0x........: realloc (vg_replace_malloc.c:...)
+ by 0x........: new_sem_from_pool (in /...libc...)
+
+Conflicting store by thread 1 at 0x........ size 4
+ at 0x........: new_sem_from_pool (in /...libc...)
+ by 0x........: pthread_join$UNIX2003 (in /...libc...)
+ by 0x........: pthread_join (drd_pthread_intercepts.c:?)
+Allocation context: Data section of /usr/lib/libSystem.B.dylib
+
+Conflicting load by thread 1 at 0x........ size 4
+ at 0x........: ???
+ by 0x........: pthread_join$UNIX2003 (in /...libc...)
+ by 0x........: pthread_join (drd_pthread_intercepts.c:?)
+Allocation context: Data section of /usr/lib/libSystem.B.dylib
+
+Conflicting load by thread 1 at 0x........ size 4
+ at 0x........: restore_sem_to_pool (in /...libc...)
+ by 0x........: pthread_join$UNIX2003 (in /...libc...)
+ by 0x........: pthread_join (drd_pthread_intercepts.c:?)
+Allocation context: Data section of /usr/lib/libSystem.B.dylib
+
+Conflicting store by thread 1 at 0x........ size 4
+ at 0x........: restore_sem_to_pool (in /...libc...)
+ by 0x........: pthread_join$UNIX2003 (in /...libc...)
+ by 0x........: pthread_join (drd_pthread_intercepts.c:?)
+Allocation context: Data section of /usr/lib/libSystem.B.dylib
+
+Conflicting load by thread 1 at 0x........ size 4
+ at 0x........: restore_sem_to_pool (in /...libc...)
+ by 0x........: pthread_join$UNIX2003 (in /...libc...)
+ by 0x........: pthread_join (drd_pthread_intercepts.c:?)
+Allocation context: Data section of /usr/lib/libSystem.B.dylib
+
+Conflicting store by thread 1 at 0x........ size 4
+ at 0x........: restore_sem_to_pool (in /...libc...)
+ by 0x........: pthread_join$UNIX2003 (in /...libc...)
+ by 0x........: pthread_join (drd_pthread_intercepts.c:?)
+Address 0x........ is at offset 4 from 0x......... Allocation context:
+ at 0x........: malloc (vg_replace_malloc.c:...)
+ by 0x........: realloc (vg_replace_malloc.c:...)
+ by 0x........: new_sem_from_pool (in /...libc...)
+
+Conflicting load by thread 1 at 0x........ size 4
+ at 0x........: ???
+ by 0x........: pthread_join$UNIX2003 (in /...libc...)
+ by 0x........: pthread_join (drd_pthread_intercepts.c:?)
+Allocation context: Data section of /usr/lib/libSystem.B.dylib
+
+Conflicting load by thread 1 at 0x........ size 4
+ at 0x........: restore_sem_to_pool (in /...libc...)
+ by 0x........: pthread_join$UNIX2003 (in /...libc...)
+ by 0x........: pthread_join (drd_pthread_intercepts.c:?)
+Allocation context: Data section of /usr/lib/libSystem.B.dylib
+
+Conflicting store by thread 1 at 0x........ size 4
+ at 0x........: restore_sem_to_pool (in /...libc...)
+ by 0x........: pthread_join$UNIX2003 (in /...libc...)
+ by 0x........: pthread_join (drd_pthread_intercepts.c:?)
+Allocation context: Data section of /usr/lib/libSystem.B.dylib
+
+Conflicting load by thread 1 at 0x........ size 4
+ at 0x........: restore_sem_to_pool (in /...libc...)
+ by 0x........: pthread_join$UNIX2003 (in /...libc...)
+ by 0x........: pthread_join (drd_pthread_intercepts.c:?)
<truncated beyond 100 lines>
=================================================
./valgrind-new/drd/tests/annotate_barrier_xml.stderr.diff
=================================================
--- annotate_barrier_xml.stderr.exp 2012-09-11 23:56:27.000000000 -0500
+++ annotate_barrier_xml.stderr.out 2012-09-12 00:14:05.000000000 -0500
@@ -188,7 +188,7 @@
<frame>
<ip>0x........</ip>
<obj>...</obj>
- <fn>start_thread</fn>
+ <fn>_pthread_start</fn>
</frame>
</stack>
<auxwhat>Address 0x........ is at offset 0 from 0x.........</auxwhat>
@@ -258,6 +258,549 @@
<error>
<unique>0x........</unique>
<tid>...</tid>
+ <kind>ConflictingAccess</kind>
+ <what>Conflicting load by thread 1 at 0x........ size 4</what>
+ <stack>
+ <frame>
+ <ip>0x........</ip>
+ </frame>
+ <frame>
+ <ip>0x........</ip>
+ <obj>...</obj>
+ <fn>pthread_join$UNIX2003</fn>
+ </frame>
+ <frame>
+ <ip>0x........</ip>
+ <obj>...</obj>
+ <fn>pthread_join$*</fn>
+ <dir>...</dir>
+ <file>drd_pthread_intercepts.c</file>
+ <line>...</line>
+ </frame>
+ </stack>
+ <auxwhat>Allocation context: Data section of /usr/lib/libSystem.B.dylib</auxwhat>
+</error>
+
+<error>
+ <unique>0x........</unique>
+ <tid>...</tid>
+ <kind>ConflictingAccess</kind>
+ <what>Conflicting load by thread 1 at 0x........ size 4</what>
+ <stack>
+ <frame>
+ <ip>0x........</ip>
+ <obj>...</obj>
+ <fn>new_sem_from_pool</fn>
+ </frame>
+ <frame>
+ <ip>0x........</ip>
+ <obj>...</obj>
+ <fn>pthread_join$UNIX2003</fn>
+ </frame>
+ <frame>
+ <ip>0x........</ip>
+ <obj>...</obj>
+ <fn>pthread_join$*</fn>
+ <dir>...</dir>
+ <file>drd_pthread_intercepts.c</file>
+ <line>...</line>
+ </frame>
+ </stack>
+ <auxwhat>Allocation context: Data section of /usr/lib/libSystem.B.dylib</auxwhat>
+</error>
+
+<error>
+ <unique>0x........</unique>
+ <tid>...</tid>
+ <kind>ConflictingAccess</kind>
+ <what>Conflicting load by thread 1 at 0x........ size 4</what>
+ <stack>
+ <frame>
+ <ip>0x........</ip>
+ <obj>...</obj>
+ <fn>new_sem_from_pool</fn>
+ </frame>
+ <frame>
+ <ip>0x........</ip>
+ <obj>...</obj>
+ <fn>pthread_join$UNIX2003</fn>
+ </frame>
+ <frame>
+ <ip>0x........</ip>
+ <obj>...</obj>
+ <fn>pthread_join$*</fn>
+ <dir>...</dir>
+ <file>drd_pthread_intercepts.c</file>
+ <line>...</line>
+ </frame>
+ </stack>
+ <auxwhat>Allocation context: Data section of /usr/lib/libSystem.B.dylib</auxwhat>
+</error>
+
+<error>
+ <unique>0x........</unique>
+ <tid>...</tid>
+ <kind>ConflictingAccess</kind>
+ <what>Conflicting load by thread 1 at 0x........ size 4</what>
+ <stack>
<truncated beyond 100 lines>
=================================================
./valgrind-new/drd/tests/annotate_hb_race.stderr.diff
=================================================
--- annotate_hb_race.stderr.exp 2012-09-11 23:56:27.000000000 -0500
+++ annotate_hb_race.stderr.out 2012-09-12 00:14:06.000000000 -0500
@@ -3,6 +3,60 @@
at 0x........: main (annotate_hb_race.c:?)
Allocation context: BSS section of annotate_hb_race
+Conflicting load by thread x at 0x........ size 4
+ at 0x........: ???
+ by 0x........: pthread_join$UNIX2003 (in /...libc...)
+ by 0x........: pthread_join (drd_pthread_intercepts.c:?)
+ by 0x........: main (annotate_hb_race.c:?)
+Allocation context: Data section of /usr/lib/libSystem.B.dylib
+
+Conflicting load by thread x at 0x........ size 4
+ at 0x........: ???
+ by 0x........: pthread_join$UNIX2003 (in /...libc...)
+ by 0x........: pthread_join (drd_pthread_intercepts.c:?)
+ by 0x........: main (annotate_hb_race.c:?)
+Allocation context: Data section of /usr/lib/libSystem.B.dylib
+
+Conflicting load by thread x at 0x........ size 4
+ at 0x........: restore_sem_to_pool (in /...libc...)
+ by 0x........: pthread_join$UNIX2003 (in /...libc...)
+ by 0x........: pthread_join (drd_pthread_intercepts.c:?)
+ by 0x........: main (annotate_hb_race.c:?)
+Allocation context: Data section of /usr/lib/libSystem.B.dylib
+
+Conflicting store by thread x at 0x........ size 4
+ at 0x........: restore_sem_to_pool (in /...libc...)
+ by 0x........: pthread_join$UNIX2003 (in /...libc...)
+ by 0x........: pthread_join (drd_pthread_intercepts.c:?)
+ by 0x........: main (annotate_hb_race.c:?)
+Allocation context: Data section of /usr/lib/libSystem.B.dylib
+
+Conflicting load by thread x at 0x........ size 4
+ at 0x........: restore_sem_to_pool (in /...libc...)
+ by 0x........: pthread_join$UNIX2003 (in /...libc...)
+ by 0x........: pthread_join (drd_pthread_intercepts.c:?)
+ by 0x........: main (annotate_hb_race.c:?)
+Allocation context: Data section of /usr/lib/libSystem.B.dylib
+
+Conflicting store by thread x at 0x........ size 4
+ at 0x........: restore_sem_to_pool (in /...libc...)
+ by 0x........: pthread_join$UNIX2003 (in /...libc...)
+ by 0x........: pthread_join (drd_pthread_intercepts.c:?)
+ by 0x........: main (annotate_hb_race.c:?)
+Address 0x........ is at offset 4 from 0x......... Allocation context:
+ at 0x........: malloc (vg_replace_malloc.c:...)
+ by 0x........: realloc (vg_replace_malloc.c:...)
+ by 0x........: new_sem_from_pool (in /...libc...)
+ by 0x........: _pthread_exit (in /...libc...)
+ by 0x........: thread_start (in /...libc...)
+
+Conflicting load by thread x at 0x........ size 4
+ at 0x........: ???
+ by 0x........: pthread_join$UNIX2003 (in /...libc...)
+ by 0x........: pthread_join (drd_pthread_intercepts.c:?)
+ by 0x........: main (annotate_hb_race.c:?)
+Allocation context: Data section of /usr/lib/libSystem.B.dylib
+
Done.
-ERROR SUMMARY: 1 errors from 1 contexts (suppressed: 0 from 0)
+ERROR SUMMARY: 8 errors from 8 contexts (suppressed: 0 from 0)
=================================================
./valgrind-new/drd/tests/annotate_hbefore.stderr.diff
=================================================
--- annotate_hbefore.stderr.exp 2012-09-11 23:56:27.000000000 -0500
+++ annotate_hbefore.stderr.out 2012-09-12 00:14:09.000000000 -0500
@@ -1,3 +1,44 @@
+Conflicting load by thread 1 at 0x........ size 4
+ at 0x........: ???
+ by 0x........: pthread_join$UNIX2003 (in /...libc...)
+ by 0x........: pthread_join (drd_pthread_intercepts.c:?)
+ by 0x........: main (annotate_hbefore.c:?)
+Allocation context: Data section of /usr/lib/libSystem.B.dylib
-ERROR SUMMARY: 0 errors from 0 contexts (suppressed: 0 from 0)
+Conflicting load by thread 1 at 0x........ size 4
+ at 0x........: restore_sem_to_pool (in /...libc...)
+ by 0x........: pthread_join$UNIX2003 (in /...libc...)
+ by 0x........: pthread_join (drd_pthread_intercepts.c:?)
+ by 0x........: main (annotate_hbefore.c:?)
+Allocation context: Data section of /usr/lib/libSystem.B.dylib
+
+Conflicting store by thread 1 at 0x........ size 4
+ at 0x........: restore_sem_to_pool (in /...libc...)
+ by 0x........: pthread_join$UNIX2003 (in /...libc...)
+ by 0x........: pthread_join (drd_pthread_intercepts.c:?)
+ by 0x........: main (annotate_hbefore.c:?)
+Allocation context: Data section of /usr/lib/libSystem.B.dylib
+
+Conflicting store by thread 1 at 0x........ size 4
+ at 0x........: restore_sem_to_pool (in /...libc...)
+ by 0x........: pthread_join$UNIX2003 (in /...libc...)
+ by 0x........: pthread_join (drd_pthread_intercepts.c:?)
+ by 0x........: main (annotate_hbefore.c:?)
+Address 0x........ is at offset 4 from 0x......... Allocation context:
+ at 0x........: malloc (vg_replace_malloc.c:...)
+ by 0x........: realloc (vg_replace_malloc.c:...)
+ by 0x........: new_sem_from_pool (in /...libc...)
+ by 0x........: pthread_join$UNIX2003 (in /...libc...)
+ by 0x........: pthread_join (drd_pthread_intercepts.c:?)
+ by 0x........: main (annotate_hbefore.c:?)
+
+Conflicting load by thread 1 at 0x........ size 4
+ at 0x........: ???
+ by 0x........: pthread_join$UNIX2003 (in /...libc...)
+ by 0x........: pthread_join (drd_pthread_intercepts.c:?)
+ by 0x........: main (annotate_hbefore.c:?)
+Allocation context: Data section of /usr/lib/libSystem.B.dylib
+
+
+ERROR SUMMARY: 5 errors from 5 contexts (suppressed: 0 from 0)
=================================================
./valgrind-new/drd/tests/annotate_ignore_read.stderr.diff
=================================================
--- annotate_ignore_read.stderr.exp 2012-09-11 23:56:27.000000000 -0500
+++ annotate_ignore_read.stderr.out 2012-09-12 00:14:10.000000000 -0500
@@ -1,6 +1,88 @@
FLAGS [phb=1, fm=0]
test69: negative
+Conflicting load by thread x at 0x........ size 4
+ at 0x........: ???
+ by 0x........: pthread_join$UNIX2003 (in /...libc...)
+ by 0x........: pthread_join (drd_pthread_intercepts.c:?)
+ by 0x........: MyThread::Join() (tsan_thread_wrappers_pthread.h:?)
+ by 0x........: MyThreadArray::Join() (tsan_unittest.cpp:?)
+ by 0x........: test69::Run() (tsan_unittest.cpp:?)
+ by 0x........: Test::Run() (tsan_unittest.cpp:?)
+ by 0x........: main (tsan_unittest.cpp:?)
+Allocation context: Data section of /usr/lib/libSystem.B.dylib
+
+Conflicting load by thread x at 0x........ size 4
+ at 0x........: ???
+ by 0x........: pthread_join$UNIX2003 (in /...libc...)
+ by 0x........: pthread_join (drd_pthread_intercepts.c:?)
+ by 0x........: MyThread::Join() (tsan_thread_wrappers_pthread.h:?)
+ by 0x........: MyThreadArray::Join() (tsan_unittest.cpp:?)
+ by 0x........: test69::Run() (tsan_unittest.cpp:?)
+ by 0x........: Test::Run() (tsan_unittest.cpp:?)
+ by 0x........: main (tsan_unittest.cpp:?)
+Allocation context: Data section of /usr/lib/libSystem.B.dylib
+
+Conflicting load by thread x at 0x........ size 4
+ at 0x........: restore_sem_to_pool (in /...libc...)
+ by 0x........: pthread_join$UNIX2003 (in /...libc...)
+ by 0x........: pthread_join (drd_pthread_intercepts.c:?)
+ by 0x........: MyThread::Join() (tsan_thread_wrappers_pthread.h:?)
+ by 0x........: MyThreadArray::Join() (tsan_unittest.cpp:?)
+ by 0x........: test69::Run() (tsan_unittest.cpp:?)
+ by 0x........: Test::Run() (tsan_unittest.cpp:?)
+ by 0x........: main (tsan_unittest.cpp:?)
+Allocation context: Data section of /usr/lib/libSystem.B.dylib
+
+Conflicting store by thread x at 0x........ size 4
+ at 0x........: restore_sem_to_pool (in /...libc...)
+ by 0x........: pthread_join$UNIX2003 (in /...libc...)
+ by 0x........: pthread_join (drd_pthread_intercepts.c:?)
+ by 0x........: MyThread::Join() (tsan_thread_wrappers_pthread.h:?)
+ by 0x........: MyThreadArray::Join() (tsan_unittest.cpp:?)
+ by 0x........: test69::Run() (tsan_unittest.cpp:?)
+ by 0x........: Test::Run() (tsan_unittest.cpp:?)
+ by 0x........: main (tsan_unittest.cpp:?)
+Allocation context: Data section of /usr/lib/libSystem.B.dylib
+
+Conflicting load by thread x at 0x........ size 4
+ at 0x........: restore_sem_to_pool (in /...libc...)
+ by 0x........: pthread_join$UNIX2003 (in /...libc...)
+ by 0x........: pthread_join (drd_pthread_intercepts.c:?)
+ by 0x........: MyThread::Join() (tsan_thread_wrappers_pthread.h:?)
+ by 0x........: MyThreadArray::Join() (tsan_unittest.cpp:?)
+ by 0x........: test69::Run() (tsan_unittest.cpp:?)
+ by 0x........: Test::Run() (tsan_unittest.cpp:?)
+ by 0x........: main (tsan_unittest.cpp:?)
+Allocation context: Data section of /usr/lib/libSystem.B.dylib
+
+Conflicting store by thread x at 0x........ size 4
+ at 0x........: restore_sem_to_pool (in /...libc...)
+ by 0x........: pthread_join$UNIX2003 (in /...libc...)
+ by 0x........: pthread_join (drd_pthread_intercepts.c:?)
+ by 0x........: MyThread::Join() (tsan_thread_wrappers_pthread.h:?)
+ by 0x........: MyThreadArray::Join() (tsan_unittest.cpp:?)
+ by 0x........: test69::Run() (tsan_unittest.cpp:?)
+ by 0x........: Test::Run() (tsan_unittest.cpp:?)
+ by 0x........: main (tsan_unittest.cpp:?)
+Address 0x........ is at offset 12 from 0x......... Allocation context:
+ at 0x........: malloc (vg_replace_malloc.c:...)
+ by 0x........: realloc (vg_replace_malloc.c:...)
+ by 0x........: new_sem_from_pool (in /...libc...)
+ by 0x........: _pthread_exit (in /...libc...)
+ by 0x........: thread_start (in /...libc...)
+
+Conflicting load by thread x at 0x........ size 4
+ at 0x........: ???
+ by 0x........: pthread_join$UNIX2003 (in /...libc...)
+ by 0x........: pthread_join (drd_pthread_intercepts.c:?)
+ by 0x........: MyThread::Join() (tsan_thread_wrappers_pthread.h:?)
+ by 0x........: MyThreadArray::Join() (tsan_unittest.cpp:?)
+ by 0x........: test69::Run() (tsan_unittest.cpp:?)
+ by 0x........: Test::Run() (tsan_unittest.cpp:?)
+ by 0x........: main (tsan_unittest.cpp:?)
+Allocation context: Data section of /usr/lib/libSystem.B.dylib
+
GLOB=30
-ERROR SUMMARY: 0 errors from 0 contexts (suppressed: 0 from 0)
+ERROR SUMMARY: 7 errors from 7 contexts (suppressed: 0 from 0)
=================================================
./valgrind-new/drd/tests/annotate_ignore_rw.stderr.diff
=================================================
--- annotate_ignore_rw.stderr.exp 2012-09-11 23:56:27.000000000 -0500
+++ annotate_ignore_rw.stderr.out 2012-09-12 00:14:12.000000000 -0500
@@ -4,6 +4,60 @@
Location 0x........ is 0 bytes inside local var "s_c"
declared at annotate_ignore_rw.c:12, in frame #? of thread 1
+Conflicting load by thread 1 at 0x........ size 4
+ at 0x........: ???
+ by 0x........: pthread_join$UNIX2003 (in /...libc...)
+ by 0x........: pthread_join (drd_pthread_intercepts.c:?)
+ by 0x........: main (annotate_ignore_rw.c:?)
+Allocation context: Data section of /usr/lib/libSystem.B.dylib
+
+Conflicting load by thread 1 at 0x........ size 4
+ at 0x........: ???
+ by 0x........: pthread_join$UNIX2003 (in /...libc...)
+ by 0x........: pthread_join (drd_pthread_intercepts.c:?)
+ by 0x........: main (annotate_ignore_rw.c:?)
+Allocation context: Data section of /usr/lib/libSystem.B.dylib
+
+Conflicting load by thread 1 at 0x........ size 4
+ at 0x........: restore_sem_to_pool (in /...libc...)
+ by 0x........: pthread_join$UNIX2003 (in /...libc...)
+ by 0x........: pthread_join (drd_pthread_intercepts.c:?)
+ by 0x........: main (annotate_ignore_rw.c:?)
+Allocation context: Data section of /usr/lib/libSystem.B.dylib
+
+Conflicting store by thread 1 at 0x........ size 4
+ at 0x........: restore_sem_to_pool (in /...libc...)
+ by 0x........: pthread_join$UNIX2003 (in /...libc...)
+ by 0x........: pthread_join (drd_pthread_intercepts.c:?)
+ by 0x........: main (annotate_ignore_rw.c:?)
+Allocation context: Data section of /usr/lib/libSystem.B.dylib
+
+Conflicting load by thread 1 at 0x........ size 4
+ at 0x........: restore_sem_to_pool (in /...libc...)
+ by 0x........: pthread_join$UNIX2003 (in /...libc...)
+ by 0x........: pthread_join (drd_pthread_intercepts.c:?)
+ by 0x........: main (annotate_ignore_rw.c:?)
+Allocation context: Data section of /usr/lib/libSystem.B.dylib
+
+Conflicting store by thread 1 at 0x........ size 4
+ at 0x........: restore_sem_to_pool (in /...libc...)
+ by 0x........: pthread_join$UNIX2003 (in /...libc...)
+ by 0x........: pthread_join (drd_pthread_intercepts.c:?)
+ by 0x........: main (annotate_ignore_rw.c:?)
+Address 0x........ is at offset 0 from 0x......... Allocation context:
+ at 0x........: malloc (vg_replace_malloc.c:...)
+ by 0x........: realloc (vg_replace_malloc.c:...)
+ by 0x........: new_sem_from_pool (in /...libc...)
+ by 0x........: _pthread_exit (in /...libc...)
+ by 0x........: thread_start (in /...libc...)
+
+Conflicting load by thread 1 at 0x........ size 4
+ at 0x........: ???
+ by 0x........: pthread_join$UNIX2003 (in /...libc...)
+ by 0x........: pthread_join (drd_pthread_intercepts.c:?)
+ by 0x........: main (annotate_ignore_rw.c:?)
+Allocation context: Data section of /usr/lib/libSystem.B.dylib
+
Finished.
-ERROR SUMMARY: 1 errors from 1 contexts (suppressed: 0 from 0)
+ERROR SUMMARY: 8 errors from 8 contexts (suppressed: 0 from 0)
=================================================
./valgrind-new/drd/tests/annotate_ignore_rw2.stderr.diff
=================================================
--- annotate_ignore_rw2.stderr.exp 2012-09-11 23:56:27.000000000 -0500
+++ annotate_ignore_rw2.stderr.out 2012-09-12 00:14:14.000000000 -0500
@@ -14,6 +14,60 @@
Location 0x........ is 0 bytes inside local var "s_c"
declared at annotate_ignore_rw.c:12, in frame #? of thread 1
+Conflicting load by thread 1 at 0x........ size 4
+ at 0x........: ???
+ by 0x........: pthread_join$UNIX2003 (in /...libc...)
+ by 0x........: pthread_join (drd_pthread_intercepts.c:?)
+ by 0x........: main (annotate_ignore_rw.c:?)
+Allocation context: Data section of /usr/lib/libSystem.B.dylib
+
+Conflicting load by thread 1 at 0x........ size 4
+ at 0x........: ???
+ by 0x........: pthread_join$UNIX2003 (in /...libc...)
+ by 0x........: pthread_join (drd_pthread_intercepts.c:?)
+ by 0x........: main (annotate_ignore_rw.c:?)
+Allocation context: Data section of /usr/lib/libSystem.B.dylib
+
+Conflicting load by thread 1 at 0x........ size 4
+ at 0x........: restore_sem_to_pool (in /...libc...)
+ by 0x........: pthread_join$UNIX2003 (in /...libc...)
+ by 0x........: pthread_join (drd_pthread_intercepts.c:?)
+ by 0x........: main (annotate_ignore_rw.c:?)
+Allocation context: Data section of /usr/lib/libSystem.B.dylib
+
+Conflicting store by thread 1 at 0x........ size 4
+ at 0x........: restore_sem_to_pool (in /...libc...)
+ by 0x........: pthread_join$UNIX2003 (in /...libc...)
+ by 0x........: pthread_join (drd_pthread_intercepts.c:?)
+ by 0x........: main (annotate_ignore_rw.c:?)
+Allocation context: Data section of /usr/lib/libSystem.B.dylib
+
+Conflicting load by thread 1 at 0x........ size 4
+ at 0x........: restore_sem_to_pool (in /...libc...)
+ by 0x........: pthread_join$UNIX2003 (in /...libc...)
+ by 0x........: pthread_join (drd_pthread_intercepts.c:?)
+ by 0x........: main (annotate_ignore_rw.c:?)
+Allocation context: Data section of /usr/lib/libSystem.B.dylib
+
+Conflicting store by thread 1 at 0x........ size 4
+ at 0x........: restore_sem_to_pool (in /...libc...)
+ by 0x........: pthread_join$UNIX2003 (in /...libc...)
+ by 0x........: pthread_join (drd_pthread_intercepts.c:?)
+ by 0x........: main (annotate_ignore_rw.c:?)
+Address 0x........ is at offset 0 from 0x......... Allocation context:
+ at 0x........: malloc (vg_replace_malloc.c:...)
+ by 0x........: realloc (vg_replace_malloc.c:...)
+ by 0x........: new_sem_from_pool (in /...libc...)
+ by 0x........: _pthread_exit (in /...libc...)
+ by 0x........: thread_start (in /...libc...)
+
+Conflicting load by thread 1 at 0x........ size 4
+ at 0x........: ???
+ by 0x........: pthread_join$UNIX2003 (in /...libc...)
+ by 0x........: pthread_join (drd_pthread_intercepts.c:?)
+ by 0x........: main (annotate_ignore_rw.c:?)
+Allocation context: Data section of /usr/lib/libSystem.B.dylib
+
Finished.
-ERROR SUMMARY: 3 errors from 3 contexts (suppressed: 0 from 0)
+ERROR SUMMARY: 10 errors from 10 contexts (suppressed: 0 from 0)
=================================================
./valgrind-new/drd/tests/annotate_ignore_write.stderr.diff
=================================================
--- annotate_ignore_write.stderr.exp 2012-09-11 23:56:27.000000000 -0500
+++ annotate_ignore_write.stderr.out 2012-09-12 00:14:15.000000000 -0500
@@ -14,6 +14,60 @@
Location 0x........ is 0 bytes inside local var "s_a"
declared at annotate_ignore_write.c:10, in frame #? of thread 1
+Conflicting load by thread 1 at 0x........ size 4
+ at 0x........: ???
+ by 0x........: pthread_join$UNIX2003 (in /...libc...)
+ by 0x........: pthread_join (drd_pthread_intercepts.c:?)
+ by 0x........: main (annotate_ignore_write.c:?)
+Allocation context: Data section of /usr/lib/libSystem.B.dylib
+
+Conflicting load by thread 1 at 0x........ size 4
+ at 0x........: ???
+ by 0x........: pthread_join$UNIX2003 (in /...libc...)
+ by 0x........: pthread_join (drd_pthread_intercepts.c:?)
+ by 0x........: main (annotate_ignore_write.c:?)
+Allocation context: Data section of /usr/lib/libSystem.B.dylib
+
+Conflicting load by thread 1 at 0x........ size 4
+ at 0x........: restore_sem_to_pool (in /...libc...)
+ by 0x........: pthread_join$UNIX2003 (in /...libc...)
+ by 0x........: pthread_join (drd_pthread_intercepts.c:?)
+ by 0x........: main (annotate_ignore_write.c:?)
+Allocation context: Data section of /usr/lib/libSystem.B.dylib
+
+Conflicting store by thread 1 at 0x........ size 4
+ at 0x........: restore_sem_to_pool (in /...libc...)
+ by 0x........: pthread_join$UNIX2003 (in /...libc...)
+ by 0x........: pthread_join (drd_pthread_intercepts.c:?)
+ by 0x........: main (annotate_ignore_write.c:?)
+Allocation context: Data section of /usr/lib/libSystem.B.dylib
+
+Conflicting load by thread 1 at 0x........ size 4
+ at 0x........: restore_sem_to_pool (in /...libc...)
+ by 0x........: pthread_join$UNIX2003 (in /...libc...)
+ by 0x........: pthread_join (drd_pthread_intercepts.c:?)
+ by 0x........: main (annotate_ignore_write.c:?)
+Allocation context: Data section of /usr/lib/libSystem.B.dylib
+
+Conflicting store by thread 1 at 0x........ size 4
+ at 0x........: restore_sem_to_pool (in /...libc...)
+ by 0x........: pthread_join$UNIX2003 (in /...libc...)
+ by 0x........: pthread_join (drd_pthread_intercepts.c:?)
+ by 0x........: main (annotate_ignore_write.c:?)
+Address 0x........ is at offset 0 from 0x......... Allocation context:
+ at 0x........: malloc (vg_replace_malloc.c:...)
+ by 0x........: realloc (vg_replace_malloc.c:...)
+ by 0x........: new_sem_from_pool (in /...libc...)
+ by 0x........: _pthread_exit (in /...libc...)
+ by 0x........: thread_start (in /...libc...)
+
+Conflicting load by thread 1 at 0x........ size 4
+ at 0x........: ???
+ by 0x........: pthread_join$UNIX2003 (in /...libc...)
+ by 0x........: pthread_join (drd_pthread_intercepts.c:?)
+ by 0x........: main (annotate_ignore_write.c:?)
+Allocation context: Data section of /usr/lib/libSystem.B.dylib
+
Finished.
-ERROR SUMMARY: 3 errors from 3 contexts (suppressed: 0 from 0)
+ERROR SUMMARY: 10 errors from 10 contexts (suppressed: 0 from 0)
=================================================
./valgrind-new/drd/tests/annotate_ignore_write2.stderr.diff
=================================================
--- annotate_ignore_write2.stderr.exp 2012-09-11 23:56:27.000000000 -0500
+++ annotate_ignore_write2.stderr.out 2012-09-12 00:14:16.000000000 -0500
@@ -19,6 +19,60 @@
Location 0x........ is 0 bytes inside local var "s_a"
declared at annotate_ignore_write.c:10, in frame #? of thread 1
+Conflicting load by thread 1 at 0x........ size 4
+ at 0x........: ???
+ by 0x........: pthread_join$UNIX2003 (in /...libc...)
+ by 0x........: pthread_join (drd_pthread_intercepts.c:?)
+ by 0x........: main (annotate_ignore_write.c:?)
+Allocation context: Data section of /usr/lib/libSystem.B.dylib
+
+Conflicting load by thread 1 at 0x........ size 4
+ at 0x........: ???
+ by 0x........: pthread_join$UNIX2003 (in /...libc...)
+ by 0x........: pthread_join (drd_pthread_intercepts.c:?)
+ by 0x........: main (annotate_ignore_write.c:?)
+Allocation context: Data section of /usr/lib/libSystem.B.dylib
+
+Conflicting load by thread 1 at 0x........ size 4
+ at 0x........: restore_sem_to_pool (in /...libc...)
+ by 0x........: pthread_join$UNIX2003 (in /...libc...)
+ by 0x........: pthread_join (drd_pthread_intercepts.c:?)
+ by 0x........: main (annotate_ignore_write.c:?)
+Allocation context: Data section of /usr/lib/libSystem.B.dylib
+
+Conflicting store by thread 1 at 0x........ size 4
+ at 0x........: restore_sem_to_pool (in /...libc...)
+ by 0x........: pthread_join$UNIX2003 (in /...libc...)
+ by 0x........: pthread_join (drd_pthread_intercepts.c:?)
+ by 0x........: main (annotate_ignore_write.c:?)
+Allocation context: Data section of /usr/lib/libSystem.B.dylib
+
+Conflicting load by thread 1 at 0x........ size 4
+ at 0x........: restore_sem_to_pool (in /...libc...)
+ by 0x........: pthread_join$UNIX2003 (in /...libc...)
+ by 0x........: pthread_join (drd_pthread_intercepts.c:?)
+ by 0x........: main (annotate_ignore_write.c:?)
+Allocation context: Data section of /usr/lib/libSystem.B.dylib
+
+Conflicting store by thread 1 at 0x........ size 4
+ at 0x........: restore_sem_to_pool (in /...libc...)
+ by 0x........: pthread_join$UNIX2003 (in /...libc...)
+ by 0x........: pthread_join (drd_pthread_intercepts.c:?)
+ by 0x........: main (annotate_ignore_write.c:?)
+Address 0x........ is at offset 0 from 0x......... Allocation context:
+ at 0x........: malloc (vg_replace_malloc.c:...)
+ by 0x........: realloc (vg_replace_malloc.c:...)
+ by 0x........: new_sem_from_pool (in /...libc...)
+ by 0x........: _pthread_exit (in /...libc...)
+ by 0x........: thread_start (in /...libc...)
+
+Conflicting load by thread 1 at 0x........ size 4
+ at 0x........: ???
+ by 0x........: pthread_join$UNIX2003 (in /...libc...)
+ by 0x........: pthread_join (drd_pthread_intercepts.c:?)
+ by 0x........: main (annotate_ignore_write.c:?)
+Allocation context: Data section of /usr/lib/libSystem.B.dylib
+
Finished.
-ERROR SUMMARY: 4 errors from 4 contexts (suppressed: 0 from 0)
+ERROR SUMMARY: 11 errors from 11 contexts (suppressed: 0 from 0)
=================================================
./valgrind-new/drd/tests/annotate_order_1.stderr.diff
=================================================
--- annotate_order_1.stderr.exp 2012-09-11 23:56:27.000000000 -0500
+++ annotate_order_1.stderr.out 2012-09-12 00:14:18.000000000 -0500
@@ -1,6 +1,18 @@
FLAGS [phb=1, fm=0]
test03: negative
+Conflicting load by thread x at 0x........ size 4
+ at 0x........: ???
+ by 0x........: pthread_join$UNIX2003 (in /...libc...)
+ by 0x........: pthread_join (drd_pthread_intercepts.c:?)
+ by 0x........: MyThread::Join() (tsan_thread_wrappers_pthread.h:?)
+ by 0x........: ThreadPool::~ThreadPool() (tsan_thread_wrappers_pthread.h:?)
+ by 0x........: test03::Waiter() (tsan_unittest.cpp:?)
+ by 0x........: test03::Run() (tsan_unittest.cpp:?)
+ by 0x........: Test::Run() (tsan_unittest.cpp:?)
+ by 0x........: main (tsan_unittest.cpp:?)
+Allocation context: Data section of /usr/lib/libSystem.B.dylib
+
GLOB=2
-ERROR SUMMARY: 0 errors from 0 contexts (suppressed: 0 from 0)
+ERROR SUMMARY: 1 errors from 1 contexts (suppressed: 0 from 0)
=================================================
./valgrind-new/drd/tests/annotate_order_2.stderr.diff
=================================================
--- annotate_order_2.stderr.exp 2012-09-11 23:56:27.000000000 -0500
+++ annotate_order_2.stderr.out 2012-09-12 00:14:20.000000000 -0500
@@ -1,6 +1,71 @@
FLAGS [phb=1, fm=0]
test30: negative
+Conflicting load by thread x at 0x........ size 4
+ at 0x........: ???
+ by 0x........: pthread_join$UNIX2003 (in /...libc...)
+ by 0x........: pthread_join (drd_pthread_intercepts.c:?)
+ by 0x........: MyThread::Join() (tsan_thread_wrappers_pthread.h:?)
+ by 0x........: MyThreadArray::Join() (tsan_unittest.cpp:?)
+ by 0x........: test30::Run() (tsan_unittest.cpp:?)
+ by 0x........: Test::Run() (tsan_unittest.cpp:?)
+ by 0x........: main (tsan_unittest.cpp:?)
+Allocation context: Data section of /usr/lib/libSystem.B.dylib
+
+Conflicting load by thread x at 0x........ size 4
+ at 0x........: restore_sem_to_pool (in /...libc...)
+ by 0x........: pthread_join$UNIX2003 (in /...libc...)
+ by 0x........: pthread_join (drd_pthread_intercepts.c:?)
+ by 0x........: MyThread::Join() (tsan_thread_wrappers_pthread.h:?)
+ by 0x........: MyThreadArray::Join() (tsan_unittest.cpp:?)
+ by 0x........: test30::Run() (tsan_unittest.cpp:?)
+ by 0x........: Test::Run() (tsan_unittest.cpp:?)
+ by 0x........: main (tsan_unittest.cpp:?)
+Allocation context: Data section of /usr/lib/libSystem.B.dylib
+
+Conflicting store by thread x at 0x........ size 4
+ at 0x........: restore_sem_to_pool (in /...libc...)
+ by 0x........: pthread_join$UNIX2003 (in /...libc...)
+ by 0x........: pthread_join (drd_pthread_intercepts.c:?)
+ by 0x........: MyThread::Join() (tsan_thread_wrappers_pthread.h:?)
+ by 0x........: MyThreadArray::Join() (tsan_unittest.cpp:?)
+ by 0x........: test30::Run() (tsan_unittest.cpp:?)
+ by 0x........: Test::Run() (tsan_unittest.cpp:?)
+ by 0x........: main (tsan_unittest.cpp:?)
+Allocation context: Data section of /usr/lib/libSystem.B.dylib
+
+Conflicting store by thread x at 0x........ size 4
+ at 0x........: restore_sem_to_pool (in /...libc...)
+ by 0x........: pthread_join$UNIX2003 (in /...libc...)
+ by 0x........: pthread_join (drd_pthread_intercepts.c:?)
+ by 0x........: MyThread::Join() (tsan_thread_wrappers_pthread.h:?)
+ by 0x........: MyThreadArray::Join() (tsan_unittest.cpp:?)
+ by 0x........: test30::Run() (tsan_unittest.cpp:?)
+ by 0x........: Test::Run() (tsan_unittest.cpp:?)
+ by 0x........: main (tsan_unittest.cpp:?)
+Address 0x........ is at offset 4 from 0x......... Allocation context:
+ at 0x........: malloc (vg_replace_malloc.c:...)
+ by 0x........: realloc (vg_replace_malloc.c:...)
+ by 0x........: new_sem_from_pool (in /...libc...)
+ by 0x........: pthread_join$UNIX2003 (in /...libc...)
+ by 0x........: pthread_join (drd_pthread_intercepts.c:?)
+ by 0x........: MyThread::Join() (tsan_thread_wrappers_pthread.h:?)
+ by 0x........: MyThreadArray::Join() (tsan_unittest.cpp:?)
+ by 0x........: test30::Run() (tsan_unittest.cpp:?)
+ by 0x........: Test::Run() (tsan_unittest.cpp:?)
+ by 0x........: main (tsan_unittest.cpp:?)
+
+Conflicting load by thread x at 0x........ size 4
+ at 0x........: ???
+ by 0x........: pthread_join$UNIX2003 (in /...libc...)
+ by 0x........: pthread_join (drd_pthread_intercepts.c:?)
+ by 0x........: MyThread::Join() (tsan_thread_wrappers_pthread.h:?)
+ by 0x........: MyThreadArray::Join() (tsan_unittest.cpp:?)
+ by 0x........: test30::Run() (tsan_unittest.cpp:?)
+ by 0x........: Test::Run() (tsan_unittest.cpp:?)
+ by 0x........: main (tsan_unittest.cpp:?)
+Allocation context: Data section of /usr/lib/libSystem.B.dylib
+
GLOB=47
-ERROR SUMMARY: 0 errors from 0 contexts (suppressed: 0 from 0)
+ERROR SUMMARY: 5 errors from 5 contexts (suppressed: 0 from 0)
=================================================
./valgrind-new/drd/tests/annotate_order_3.stderr.diff
=================================================
--- annotate_order_3.stderr.exp 2012-09-11 23:56:27.000000000 -0500
+++ annotate_order_3.stderr.out 2012-09-12 00:14:21.000000000 -0500
@@ -1,6 +1,71 @@
FLAGS [phb=1, fm=0]
test31: negative
+Conflicting load by thread x at 0x........ size 4
+ at 0x........: ???
+ by 0x........: pthread_join$UNIX2003 (in /...libc...)
+ by 0x........: pthread_join (drd_pthread_intercepts.c:?)
+ by 0x........: MyThread::Join() (tsan_thread_wrappers_pthread.h:?)
+ by 0x........: MyThreadArray::Join() (tsan_unittest.cpp:?)
+ by 0x........: test31::Run() (tsan_unittest.cpp:?)
+ by 0x........: Test::Run() (tsan_unittest.cpp:?)
+ by 0x........: main (tsan_unittest.cpp:?)
+Allocation context: Data section of /usr/lib/libSystem.B.dylib
+
+Conflicting load by thread x at 0x........ size 4
+ at 0x........: restore_sem_to_pool (in /...libc...)
+ by 0x........: pthread_join$UNIX2003 (in /...libc...)
+ by 0x........: pthread_join (drd_pthread_intercepts.c:?)
+ by 0x........: MyThread::Join() (tsan_thread_wrappers_pthread.h:?)
+ by 0x........: MyThreadArray::Join() (tsan_unittest.cpp:?)
+ by 0x........: test31::Run() (tsan_unittest.cpp:?)
+ by 0x........: Test::Run() (tsan_unittest.cpp:?)
+ by 0x........: main (tsan_unittest.cpp:?)
+Allocation context: Data section of /usr/lib/libSystem.B.dylib
+
+Conflicting store by thread x at 0x........ size 4
+ at 0x........: restore_sem_to_pool (in /...libc...)
+ by 0x........: pthread_join$UNIX2003 (in /...libc...)
+ by 0x........: pthread_join (drd_pthread_intercepts.c:?)
+ by 0x........: MyThread::Join() (tsan_thread_wrappers_pthread.h:?)
+ by 0x........: MyThreadArray::Join() (tsan_unittest.cpp:?)
+ by 0x........: test31::Run() (tsan_unittest.cpp:?)
+ by 0x........: Test::Run() (tsan_unittest.cpp:?)
+ by 0x........: main (tsan_unittest.cpp:?)
+Allocation context: Data section of /usr/lib/libSystem.B.dylib
+
+Conflicting store by thread x at 0x........ size 4
+ at 0x........: restore_sem_to_pool (in /...libc...)
+ by 0x........: pthread_join$UNIX2003 (in /...libc...)
+ by 0x........: pthread_join (drd_pthread_intercepts.c:?)
+ by 0x........: MyThread::Join() (tsan_thread_wrappers_pthread.h:?)
+ by 0x........: MyThreadArray::Join() (tsan_unittest.cpp:?)
+ by 0x........: test31::Run() (tsan_unittest.cpp:?)
+ by 0x........: Test::Run() (tsan_unittest.cpp:?)
+ by 0x........: main (tsan_unittest.cpp:?)
+Address 0x........ is at offset 4 from 0x......... Allocation context:
+ at 0x........: malloc (vg_replace_malloc.c:...)
+ by 0x........: realloc (vg_replace_malloc.c:...)
+ by 0x........: new_sem_from_pool (in /...libc...)
+ by 0x........: pthread_join$UNIX2003 (in /...libc...)
+ by 0x........: pthread_join (drd_pthread_intercepts.c:?)
+ by 0x........: MyThread::Join() (tsan_thread_wrappers_pthread.h:?)
+ by 0x........: MyThreadArray::Join() (tsan_unittest.cpp:?)
+ by 0x........: test31::Run() (tsan_unittest.cpp:?)
+ by 0x........: Test::Run() (tsan_unittest.cpp:?)
+ by 0x........: main (tsan_unittest.cpp:?)
+
+Conflicting load by thread x at 0x........ size 4
+ at 0x........: ???
+ by 0x........: pthread_join$UNIX2003 (in /...libc...)
+ by 0x........: pthread_join (drd_pthread_intercepts.c:?)
+ by 0x........: MyThread::Join() (tsan_thread_wrappers_pthread.h:?)
+ by 0x........: MyThreadArray::Join() (tsan_unittest.cpp:?)
+ by 0x........: test31::Run() (tsan_unittest.cpp:?)
+ by 0x........: Test::Run() (tsan_unittest.cpp:?)
+ by 0x........: main (tsan_unittest.cpp:?)
+Allocation context: Data section of /usr/lib/libSystem.B.dylib
+
GLOB=48
-ERROR SUMMARY: 0 errors from 0 contexts (suppressed: 0 from 0)
+ERROR SUMMARY: 5 errors from 5 contexts (suppressed: 0 from 0)
=================================================
./valgrind-new/drd/tests/annotate_rwlock.stderr.diff
=================================================
--- annotate_rwlock.stderr.exp 2012-09-11 23:56:27.000000000 -0500
+++ annotate_rwlock.stderr.out 2012-09-12 00:14:26.000000000 -0500
@@ -1,4 +1,58 @@
+Conflicting load by thread x at 0x........ size 4
+ at 0x........: ???
+ by 0x........: pthread_join$UNIX2003 (in /...libc...)
+ by 0x........: pthread_join (drd_pthread_intercepts.c:?)
+ by 0x........: main (annotate_rwlock.c:?)
+Allocation context: Data section of /usr/lib/libSystem.B.dylib
+
+Conflicting load by thread x at 0x........ size 4
+ at 0x........: ???
+ by 0x........: pthread_join$UNIX2003 (in /...libc...)
+ by 0x........: pthread_join (drd_pthread_intercepts.c:?)
+ by 0x........: main (annotate_rwlock.c:?)
+Allocation context: Data section of /usr/lib/libSystem.B.dylib
+
+Conflicting load by thread x at 0x........ size 4
+ at 0x........: restore_sem_to_pool (in /...libc...)
+ by 0x........: pthread_join$UNIX2003 (in /...libc...)
+ by 0x........: pthread_join (drd_pthread_intercepts.c:?)
+ by 0x........: main (annotate_rwlock.c:?)
+Allocation context: Data section of /usr/lib/libSystem.B.dylib
+
+Conflicting store by thread x at 0x........ size 4
+ at 0x........: restore_sem_to_pool (in /...libc...)
+ by 0x........: pthread_join$UNIX2003 (in /...libc...)
+ by 0x........: pthread_join (drd_pthread_intercepts.c:?)
+ by 0x........: main (annotate_rwlock.c:?)
+Allocation context: Data section of /usr/lib/libSystem.B.dylib
+
+Conflicting load by thread x at 0x........ size 4
+ at 0x........: restore_sem_to_pool (in /...libc...)
+ by 0x........: pthread_join$UNIX2003 (in /...libc...)
+ by 0x........: pthread_join (drd_pthread_intercepts.c:?)
+ by 0x........: main (annotate_rwlock.c:?)
+Allocation context: Data section of /usr/lib/libSystem.B.dylib
+
+Conflicting store by thread x at 0x........ size 4
+ at 0x........: restore_sem_to_pool (in /...libc...)
+ by 0x........: pthread_join$UNIX2003 (in /...libc...)
+ by 0x........: pthread_join (drd_pthread_intercepts.c:?)
+ by 0x........: main (annotate_rwlock.c:?)
+Address 0x........ is at offset 36 from 0x......... Allocation context:
+ at 0x........: malloc (vg_replace_malloc.c:...)
+ by 0x........: realloc (vg_replace_malloc.c:...)
+ by 0x........: new_sem_from_pool (in /...libc...)
+ by 0x........: _pthread_exit (in /...libc...)
+ by 0x........: thread_start (in /...libc...)
+
+Conflicting load by thread x at 0x........ size 4
+ at 0x........: ???
+ by 0x........: pthread_join$UNIX2003 (in /...libc...)
+ by 0x........: pthread_join (drd_pthread_intercepts.c:?)
+ by 0x........: main (annotate_rwlock.c:?)
+Allocation context: Data section of /usr/lib/libSystem.B.dylib
+
Finished.
-ERROR SUMMARY: 0 errors from 0 contexts (suppressed: 0 from 0)
+ERROR SUMMARY: 7 errors from 7 contexts (suppressed: 0 from 0)
=================================================
./valgrind-new/drd/tests/annotate_smart_pointer.stderr.diff
=================================================
--- annotate_smart_pointer.stderr.exp 2012-09-11 23:56:27.000000000 -0500
+++ annotate_smart_pointer.stderr.out 2012-09-12 00:14:37.000000000 -0500
@@ -1,4 +1,64 @@
+Conflicting load by thread x at 0x........ size 4
+ at 0x........: ???
+ by 0x........: pthread_join$UNIX2003 (in /...libc...)
+ by 0x........: pthread_join (drd_pthread_intercepts.c:?)
+ by 0x........: Thread::Join() (annotate_smart_pointer.cpp:?)
+ by 0x........: main (annotate_smart_pointer.cpp:?)
+Allocation context: Data section of /usr/lib/libSystem.B.dylib
+
+Conflicting load by thread x at 0x........ size 4
+ at 0x........: ???
+ by 0x........: pthread_join$UNIX2003 (in /...libc...)
+ by 0x........: pthread_join (drd_pthread_intercepts.c:?)
+ by 0x........: Thread::Join() (annotate_smart_pointer.cpp:?)
+ by 0x........: main (annotate_smart_pointer.cpp:?)
+Allocation context: Data section of /usr/lib/libSystem.B.dylib
+
+Conflicting load by thread x at 0x........ size 4
+ at 0x........: restore_sem_to_pool (in /...libc...)
+ by 0x........: pthread_join$UNIX2003 (in /...libc...)
+ by 0x........: pthread_join (drd_pthread_intercepts.c:?)
+ by 0x........: Thread::Join() (annotate_smart_pointer.cpp:?)
+ by 0x........: main (annotate_smart_pointer.cpp:?)
+Allocation context: Data section of /usr/lib/libSystem.B.dylib
+
+Conflicting store by thread x at 0x........ size 4
+ at 0x........: restore_sem_to_pool (in /...libc...)
+ by 0x........: pthread_join$UNIX2003 (in /...libc...)
+ by 0x........: pthread_join (drd_pthread_intercepts.c:?)
+ by 0x........: Thread::Join() (annotate_smart_pointer.cpp:?)
+ by 0x........: main (annotate_smart_pointer.cpp:?)
+Allocation context: Data section of /usr/lib/libSystem.B.dylib
+
+Conflicting load by thread x at 0x........ size 4
+ at 0x........: restore_sem_to_pool (in /...libc...)
+ by 0x........: pthread_join$UNIX2003 (in /...libc...)
+ by 0x........: pthread_join (drd_pthread_intercepts.c:?)
+ by 0x........: Thread::Join() (annotate_smart_pointer.cpp:?)
+ by 0x........: main (annotate_smart_pointer.cpp:?)
+Allocation context: Data section of /usr/lib/libSystem.B.dylib
+
+Conflicting store by thread x at 0x........ size 4
+ at 0x........: restore_sem_to_pool (in /...libc...)
+ by 0x........: pthread_join$UNIX2003 (in /...libc...)
+ by 0x........: pthread_join (drd_pthread_intercepts.c:?)
+ by 0x........: Thread::Join() (annotate_smart_pointer.cpp:?)
+ by 0x........: main (annotate_smart_pointer.cpp:?)
+Address 0x........ is at offset 196 from 0x......... Allocation context:
+ at 0x........: realloc (vg_replace_malloc.c:...)
+ by 0x........: new_sem_from_pool (in /...libc...)
+ by 0x........: _pthread_exit (in /...libc...)
+ by 0x........: thread_start (in /...libc...)
+
+Conflicting load by thread x at 0x........ size 4
+ at 0x........: ???
+ by 0x........: pthread_join$UNIX2003 (in /...libc...)
+ by 0x........: pthread_join (drd_pthread_intercepts.c:?)
+ by 0x........: Thread::Join() (annotate_smart_pointer.cpp:?)
+ by 0x........: main (annotate_smart_pointer.cpp:?)
+Allocation context: Data section of /usr/lib/libSystem.B.dylib
+
Done.
-ERROR SUMMARY: 0 errors from 0 contexts (suppressed: 0 from 0)
+ERROR SUMMARY: 7 errors from 7 contexts (suppressed: 0 from 0)
=================================================
./valgrind-new/drd/tests/annotate_smart_pointer2.stderr.diff
=================================================
--- annotate_smart_pointer2.stderr.exp 2012-09-11 23:56:27.000000000 -0500
+++ annotate_smart_pointer2.stderr.out 2012-09-12 00:14:38.000000000 -0500
@@ -5,9 +5,71 @@
by 0x........: smart_ptr<counter>::operator=(counter*) (annotate_smart_pointer.cpp:?)
by 0x........: main (annotate_smart_pointer.cpp:?)
Address 0x........ is at offset ... from 0x......... Allocation context:
- at 0x........: ...operator new... (vg_replace_malloc.c:...)
+ at 0x........: malloc (vg_replace_malloc.c:...)
+ by 0x........: operator new(unsigned long) (in /usr/lib/libstdc++.6.0.9.dylib)
by 0x........: main (annotate_smart_pointer.cpp:?)
+Conflicting load by thread x at 0x........ size 4
+ at 0x........: ???
+ by 0x........: pthread_join$UNIX2003 (in /...libc...)
+ by 0x........: pthread_join (drd_pthread_intercepts.c:?)
+ by 0x........: Thread::Join() (annotate_smart_pointer.cpp:?)
+ by 0x........: main (annotate_smart_pointer.cpp:?)
+Allocation context: Data section of /usr/lib/libSystem.B.dylib
+
+Conflicting load by thread x at 0x........ size 4
+ at 0x........: ???
+ by 0x........: pthread_join$UNIX2003 (in /...libc...)
+ by 0x........: pthread_join (drd_pthread_intercepts.c:?)
+ by 0x........: Thread::Join() (annotate_smart_pointer.cpp:?)
+ by 0x........: main (annotate_smart_pointer.cpp:?)
+Allocation context: Data section of /usr/lib/libSystem.B.dylib
+
+Conflicting load by thread x at 0x........ size 4
+ at 0x........: restore_sem_to_pool (in /...libc...)
+ by 0x........: pthread_join$UNIX2003 (in /...libc...)
+ by 0x........: pthread_join (drd_pthread_intercepts.c:?)
+ by 0x........: Thread::Join() (annotate_smart_pointer.cpp:?)
+ by 0x........: main (annotate_smart_pointer.cpp:?)
+Allocation context: Data section of /usr/lib/libSystem.B.dylib
+
+Conflicting store by thread x at 0x........ size 4
+ at 0x........: restore_sem_to_pool (in /...libc...)
+ by 0x........: pthread_join$UNIX2003 (in /...libc...)
+ by 0x........: pthread_join (drd_pthread_intercepts.c:?)
+ by 0x........: Thread::Join() (annotate_smart_pointer.cpp:?)
+ by 0x........: main (annotate_smart_pointer.cpp:?)
+Allocation context: Data section of /usr/lib/libSystem.B.dylib
+
+Conflicting load by thread x at 0x........ size 4
+ at 0x........: restore_sem_to_pool (in /...libc...)
+ by 0x........: pthread_join$UNIX2003 (in /...libc...)
+ by 0x........: pthread_join (drd_pthread_intercepts.c:?)
+ by 0x........: Thread::Join() (annotate_smart_pointer.cpp:?)
+ by 0x........: main (annotate_smart_pointer.cpp:?)
+Allocation context: Data section of /usr/lib/libSystem.B.dylib
+
+Conflicting store by thread x at 0x........ size 4
+ at 0x........: restore_sem_to_pool (in /...libc...)
+ by 0x........: pthread_join$UNIX2003 (in /...libc...)
+ by 0x........: pthread_join (drd_pthread_intercepts.c:?)
+ by 0x........: Thread::Join() (annotate_smart_pointer.cpp:?)
+ by 0x........: main (annotate_smart_pointer.cpp:?)
+Address 0x........ is at offset ... from 0x......... Allocation context:
+ at 0x........: malloc (vg_replace_malloc.c:...)
+ by 0x........: realloc (vg_replace_malloc.c:...)
+ by 0x........: new_sem_from_pool (in /...libc...)
+ by 0x........: _pthread_exit (in /...libc...)
+ by 0x........: thread_start (in /...libc...)
+
+Conflicting load by thread x at 0x........ size 4
+ at 0x........: ???
+ by 0x........: pthread_join$UNIX2003 (in /...libc...)
+ by 0x........: pthread_join (drd_pthread_intercepts.c:?)
+ by 0x........: Thread::Join() (annotate_smart_pointer.cpp:?)
+ by 0x........: main (annotate_smart_pointer.cpp:?)
+Allocation context: Data section of /usr/lib/libSystem.B.dylib
+
Done.
-ERROR SUMMARY: 1 errors from 1 contexts (suppressed: 0 from 0)
+ERROR SUMMARY: 8 errors from 8 contexts (suppressed: 0 from 0)
=================================================
./valgrind-new/drd/tests/annotate_spinlock.stderr.diff
=================================================
--- annotate_spinlock.stderr.exp 2012-09-11 23:56:27.000000000 -0500
+++ annotate_spinlock.stderr.out 2012-09-12 00:14:40.000000000 -0500
@@ -1,6 +1,219 @@
FLAGS [phb=1, fm=0]
test27: negative
+Conflicting load by thread x at 0x........ size 4
+ at 0x........: ???
+ by 0x........: pthread_join$UNIX2003 (in /...libc...)
+ by 0x........: pthread_join (drd_pthread_intercepts.c:?)
+ by 0x........: MyThread::Join() (tsan_thread_wrappers_pthread.h:?)
+ by 0x........: MyThreadArray::Join() (tsan_unittest.cpp:?)
+ by 0x........: test27::Run() (tsan_unittest.cpp:?)
+ by 0x........: Test::Run() (tsan_unittest.cpp:?)
+ by 0x........: main (tsan_unittest.cpp:?)
+Allocation context: Data section of /usr/lib/libSystem.B.dylib
+
+Conflicting load by thread x at 0x........ size 4
+ at 0x........: ???
+ by 0x........: pthread_join$UNIX2003 (in /...libc...)
+ by 0x........: pthread_join (drd_pthread_intercepts.c:?)
+ by 0x........: MyThread::Join() (tsan_thread_wrappers_pthread.h:?)
+ by 0x........: MyThreadArray::Join() (tsan_unittest.cpp:?)
+ by 0x........: test27::Run() (tsan_unittest.cpp:?)
+ by 0x........: Test::Run() (tsan_unittest.cpp:?)
+ by 0x........: main (tsan_unittest.cpp:?)
+Allocation context: Data section of /usr/lib/libSystem.B.dylib
+
+Conflicting load by thread x at 0x........ size 4
+ at 0x........: new_sem_from_pool (in /...libc...)
+ by 0x........: pthread_join$UNIX2003 (in /...libc...)
+ by 0x........: pthread_join (drd_pthread_intercepts.c:?)
+ by 0x........: MyThread::Join() (tsan_thread_wrappers_pthread.h:?)
+ by 0x........: MyThreadArray::Join() (tsan_unittest.cpp:?)
+ by 0x........: test27::Run() (tsan_unittest.cpp:?)
+ by 0x........: Test::Run() (tsan_unittest.cpp:?)
+ by 0x........: main (tsan_unittest.cpp:?)
+Allocation context: Data section of /usr/lib/libSystem.B.dylib
+
+Conflicting load by thread x at 0x........ size 4
+ at 0x........: new_sem_from_pool (in /...libc...)
+ by 0x........: pthread_join$UNIX2003 (in /...libc...)
+ by 0x........: pthread_join (drd_pthr...
[truncated message content] |
|
From: Philippe W. <phi...@sk...> - 2012-09-12 03:47:24
|
valgrind revision: 12965 VEX revision: 2523 C compiler: gcc (GCC) 4.6.3 20120306 (Red Hat 4.6.3-2) Assembler: GNU assembler version 2.21.53.0.1-6.fc16 20110716 C library: GNU C Library development release version 2.14.90 uname -mrs: Linux 3.3.1-3.fc16.ppc64 ppc64 Vendor version: Fedora release 16 (Verne) Nightly build on gcc110 ( Fedora release 16 (Verne), ppc64 ) Started at 2012-09-11 20:00:11 PDT Ended at 2012-09-11 20:46:00 PDT Results unchanged from 24 hours ago Checking out valgrind source tree ... done Configuring valgrind ... done Building valgrind ... done Running regression tests ... failed Regression test results follow == 532 tests, 6 stderr failures, 2 stdout failures, 1 stderrB failure, 1 stdoutB failure, 2 post failures == gdbserver_tests/mcmain_pic (stdout) gdbserver_tests/mcmain_pic (stderr) gdbserver_tests/mcmain_pic (stdoutB) gdbserver_tests/mcmain_pic (stderrB) memcheck/tests/supp_unknown (stderr) memcheck/tests/varinfo6 (stderr) memcheck/tests/wrap8 (stdout) memcheck/tests/wrap8 (stderr) massif/tests/big-alloc (post) massif/tests/deep-D (post) helgrind/tests/tc18_semabuse (stderr) helgrind/tests/tc20_verifywrap (stderr) |
|
From: Tom H. <to...@co...> - 2012-09-12 03:09:27
|
valgrind revision: 12965 VEX revision: 2523 C compiler: gcc (GCC) 4.3.0 20080428 (Red Hat 4.3.0-8) Assembler: GNU assembler version 2.18.50.0.6-2 20080403 C library: GNU C Library stable release version 2.8 uname -mrs: Linux 3.5.3-1.fc17.x86_64 x86_64 Vendor version: Fedora release 9 (Sulphur) Nightly build on bristol ( x86_64, Fedora 9 ) Started at 2012-09-12 03:42:35 BST Ended at 2012-09-12 04:09:08 BST Results unchanged from 24 hours ago Checking out valgrind source tree ... done Configuring valgrind ... done Building valgrind ... done Running regression tests ... failed Regression test results follow == 606 tests, 1 stderr failure, 1 stdout failure, 0 stderrB failures, 0 stdoutB failures, 0 post failures == memcheck/tests/err_disable4 (stderr) none/tests/amd64/sse4-64 (stdout) |
|
From: Tom H. <to...@co...> - 2012-09-12 02:57:37
|
valgrind revision: 12965 VEX revision: 2523 C compiler: gcc (GCC) 4.4.1 20090725 (Red Hat 4.4.1-2) Assembler: GNU assembler version 2.19.51.0.14-3.fc11 20090722 C library: GNU C Library stable release version 2.10.2 uname -mrs: Linux 3.5.3-1.fc17.x86_64 x86_64 Vendor version: Fedora release 11 (Leonidas) Nightly build on bristol ( x86_64, Fedora 11 ) Started at 2012-09-12 03:31:12 BST Ended at 2012-09-12 03:57:16 BST Results unchanged from 24 hours ago Checking out valgrind source tree ... done Configuring valgrind ... done Building valgrind ... done Running regression tests ... failed Regression test results follow == 610 tests, 2 stderr failures, 1 stdout failure, 0 stderrB failures, 0 stdoutB failures, 0 post failures == memcheck/tests/err_disable4 (stderr) memcheck/tests/long_namespace_xml (stderr) none/tests/amd64/sse4-64 (stdout) |
|
From: <br...@ac...> - 2012-09-12 02:56:09
|
valgrind revision: 12965
VEX revision: 2523
C compiler: gcc (GCC) 3.4.6 20060404 (Red Hat 3.4.6-3)
Assembler: GNU assembler 2.15.92.0.2 20040927
C library: GNU C Library stable release version 2.3.4
uname -mrs: Linux 2.6.9-42.EL s390x
Vendor version: Red Hat Enterprise Linux AS release 4 (Nahant Update 4)
Nightly build on z10-ec ( s390x build on z10-EC )
Started at 2012-09-11 22:20:16 EDT
Ended at 2012-09-11 22:55:57 EDT
Results unchanged from 24 hours ago
Checking out valgrind source tree ... done
Configuring valgrind ... done
Building valgrind ... done
Running regression tests ... failed
Regression test results follow
== 531 tests, 6 stderr failures, 1 stdout failure, 0 stderrB failures, 0 stdoutB failures, 0 post failures ==
memcheck/tests/manuel3 (stderr)
memcheck/tests/partial_load_ok (stderr)
memcheck/tests/varinfo6 (stderr)
none/tests/s390x/fpconv (stdout)
helgrind/tests/tc09_bad_unlock (stderr)
helgrind/tests/tc18_semabuse (stderr)
helgrind/tests/tc20_verifywrap (stderr)
=================================================
./valgrind-new/helgrind/tests/tc09_bad_unlock.stderr.diff
=================================================
--- tc09_bad_unlock.stderr.exp 2012-09-11 22:38:48.000000000 -0400
+++ tc09_bad_unlock.stderr.out 2012-09-11 22:51:18.000000000 -0400
@@ -42,14 +42,6 @@
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)
-
---------------------
----------------------------------------------------------------
@@ -110,16 +102,8 @@
----------------------------------------------------------------
-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)
+ERROR SUMMARY: 9 errors from 9 contexts (suppressed: 0 from 0)
=================================================
./valgrind-new/helgrind/tests/tc18_semabuse.stderr.diff
=================================================
--- tc18_semabuse.stderr.exp 2012-09-11 22:38:48.000000000 -0400
+++ tc18_semabuse.stderr.out 2012-09-11 22:51:26.000000000 -0400
@@ -18,13 +18,5 @@
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)
+ERROR SUMMARY: 2 errors from 2 contexts (suppressed: 0 from 0)
=================================================
./valgrind-new/helgrind/tests/tc20_verifywrap.stderr.diff
=================================================
--- tc20_verifywrap.stderr.exp 2012-09-11 22:38:48.000000000 -0400
+++ tc20_verifywrap.stderr.out 2012-09-11 22:51:36.000000000 -0400
@@ -1,7 +1,7 @@
------- This is output for >= glibc 2.4 ------
+------ This is output for < glibc 2.4 ------
---------------- pthread_create/join ----------------
@@ -45,13 +45,6 @@
----------------------------------------------------------------
-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)
@@ -63,26 +56,8 @@
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)
+make pthread_mutex_lock fail: skipped on glibc < 2.4
----------------------------------------------------------------
@@ -90,13 +65,6 @@
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 ----------------
@@ -215,14 +183,6 @@
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
@@ -235,4 +195,4 @@
...
-ERROR SUMMARY: 23 errors from 23 contexts (suppressed: 0 from 0)
+ERROR SUMMARY: 17 errors from 17 contexts (suppressed: 0 from 0)
=================================================
./valgrind-new/memcheck/tests/manuel3.stderr.diff
=================================================
--- manuel3.stderr.exp 2012-09-11 22:39:02.000000000 -0400
+++ manuel3.stderr.out 2012-09-11 22:45:47.000000000 -0400
@@ -1,4 +1,3 @@
Conditional jump or move depends on uninitialised value(s)
- at 0x........: gcc_cant_inline_me (manuel3.c:22)
- by 0x........: main (manuel3.c:14)
+ at 0x........: main (manuel3.c:12)
=================================================
./valgrind-new/memcheck/tests/partial_load_ok.stderr.diff
=================================================
--- partial_load_ok.stderr.exp 2012-09-11 22:39:02.000000000 -0400
+++ partial_load_ok.stderr.out 2012-09-11 22:46:19.000000000 -0400
@@ -1,7 +1,13 @@
-Invalid read of size 4
+Invalid read of size 1
+ at 0x........: main (partial_load.c:16)
+ Address 0x........ is 0 bytes after a block of size 7 alloc'd
+ at 0x........: calloc (vg_replace_malloc.c:...)
+ by 0x........: main (partial_load.c:14)
+
+Invalid read of size 8
at 0x........: main (partial_load.c:23)
- Address 0x........ is 1 bytes inside a block of size 4 alloc'd
+ Address 0x........ is 1 bytes inside a block of size 8 alloc'd
at 0x........: calloc (vg_replace_malloc.c:...)
by 0x........: main (partial_load.c:20)
@@ -11,9 +17,9 @@
at 0x........: calloc (vg_replace_malloc.c:...)
by 0x........: main (partial_load.c:28)
-Invalid read of size 4
+Invalid read of size 8
at 0x........: main (partial_load.c:37)
- Address 0x........ is 0 bytes inside a block of size 4 free'd
+ Address 0x........ is 0 bytes inside a block of size 8 free'd
at 0x........: free (vg_replace_malloc.c:...)
by 0x........: main (partial_load.c:36)
@@ -25,4 +31,4 @@
For a detailed leak analysis, rerun with: --leak-check=full
For counts of detected and suppressed errors, rerun with: -v
-ERROR SUMMARY: 3 errors from 3 contexts (suppressed: 0 from 0)
+ERROR SUMMARY: 4 errors from 4 contexts (suppressed: 0 from 0)
=================================================
./valgrind-new/memcheck/tests/partial_load_ok.stderr.diff64
=================================================
--- partial_load_ok.stderr.exp64 2012-09-11 22:39:02.000000000 -0400
+++ partial_load_ok.stderr.out 2012-09-11 22:46:19.000000000 -0400
@@ -1,4 +1,10 @@
+Invalid read of size 1
+ at 0x........: main (partial_load.c:16)
+ Address 0x........ is 0 bytes after a block of size 7 alloc'd
+ at 0x........: calloc (vg_replace_malloc.c:...)
+ by 0x........: main (partial_load.c:14)
+
Invalid read of size 8
at 0x........: main (partial_load.c:23)
Address 0x........ is 1 bytes inside a block of size 8 alloc'd
@@ -25,4 +31,4 @@
For a detailed leak analysis, rerun with: --leak-check=full
For counts of detected and suppressed errors, rerun with: -v
-ERROR SUMMARY: 3 errors from 3 contexts (suppressed: 0 from 0)
+ERROR SUMMARY: 4 errors from 4 contexts (suppressed: 0 from 0)
=================================================
./valgrind-new/memcheck/tests/varinfo6.stderr.diff
=================================================
--- varinfo6.stderr.exp 2012-09-11 22:39:02.000000000 -0400
+++ varinfo6.stderr.out 2012-09-11 22:47:21.000000000 -0400
@@ -7,8 +7,7 @@
by 0x........: BZ2_bzCompress (varinfo6.c:4860)
by 0x........: BZ2_bzBuffToBuffCompress (varinfo6.c:5667)
by 0x........: main (varinfo6.c:6517)
- Location 0x........ is 2 bytes inside local var "budget"
- declared at varinfo6.c:3115, in frame #2 of thread 1
+ Address 0x........ is on thread 1's stack
Uninitialised byte(s) found during client check request
at 0x........: croak (varinfo6.c:34)
=================================================
./valgrind-new/memcheck/tests/varinfo6.stderr.diff-ppc64
=================================================
--- varinfo6.stderr.exp-ppc64 2012-09-11 22:39:02.000000000 -0400
+++ varinfo6.stderr.out 2012-09-11 22:47:21.000000000 -0400
@@ -1,5 +1,5 @@
Uninitialised byte(s) found during client check request
- at 0x........: croak (varinfo6.c:35)
+ at 0x........: croak (varinfo6.c:34)
by 0x........: mainSort (varinfo6.c:2999)
by 0x........: BZ2_blockSort (varinfo6.c:3143)
by 0x........: BZ2_compressBlock (varinfo6.c:4072)
@@ -10,7 +10,7 @@
Address 0x........ is on thread 1's stack
Uninitialised byte(s) found during client check request
- at 0x........: croak (varinfo6.c:35)
+ at 0x........: croak (varinfo6.c:34)
by 0x........: BZ2_decompress (varinfo6.c:1699)
by 0x........: BZ2_bzDecompress (varinfo6.c:5230)
by 0x........: BZ2_bzBuffToBuffDecompress (varinfo6.c:5715)
=================================================
./valgrind-new/none/tests/s390x/fpconv.stdout.diff
=================================================
--- fpconv.stdout.exp 2012-09-11 22:39:14.000000000 -0400
+++ fpconv.stdout.out 2012-09-11 22:49:31.000000000 -0400
@@ -35,137 +35,137 @@
"cdgbr" -9223372036854775808.000000
"cdgbr" 9223372036854775808.000000
"cxfbr" 0.000000
-"cxfbr" 1.000000
-"cxfbr" -1.000000
-"cxfbr" -2147483648.000000
-"cxfbr" 2147483647.000000
+"cxfbr" 1.937500
+"cxfbr" -1.937500
+"cxfbr" -7.500000
+"cxfbr" 7.500000
"cxfbr" 0.000000
-"cxfbr" -1.000000
+"cxfbr" -1.937500
"cxfbr" 0.000000
-"cxfbr" -1.000000
+"cxfbr" -1.937500
"cxgbr" 0.000000
-"cxgbr" 1.000000
-"cxgbr" 4294967295.000000
-"cxgbr" 2147483648.000000
-"cxgbr" 2147483647.000000
-"cxgbr" 4294967296.000000
-"cxgbr" -1.000000
-"cxgbr" -9223372036854775808.000000
-"cxgbr" 9223372036854775807.000000
-"cfebr" 4294967295 cc=1
-"cfebr" 0 cc=0
-"cfebr" 1 cc=2
-"cfebr" 1 cc=2
-"cfebr" 2 cc=2
-"cfebr" 2 cc=2
-"cfebr" 16000 cc=2
-"cfebr" 160000000 cc=2
-"cfebr" 2147483647 cc=3
-"cfebr" 2147483647 cc=3
-"cfebr" 2147483647 cc=3
-"cfebr" 2147483647 cc=3
-"cfebr" 0 cc=2
-"cfebr" 0 cc=2
-"cfebr" 2147483647 cc=3
-"cfebr" 0 cc=0
-"cfebr" 2147483647 cc=3
-"cfebr" 0 cc=0
-"cfebr" 2147483647 cc=3
-"cgebr" -1 cc=1
-"cgebr" 0 cc=0
-"cgebr" 1 cc=2
-"cgebr" 1 cc=2
-"cgebr" 2 cc=2
-"cgebr" 2 cc=2
-"cgebr" 16000 cc=2
-"cgebr" 160000000 cc=2
-"cgebr" 1599999967232 cc=2
-"cgebr" 9223372036854775807 cc=3
-"cgebr" 9223372036854775807 cc=3
-"cgebr" 9223372036854775807 cc=3
-"cgebr" 0 cc=2
-"cgebr" 0 cc=2
-"cgebr" 9223372036854775807 cc=3
-"cgebr" 0 cc=0
-"cgebr" 9223372036854775807 cc=3
-"cgebr" 0 cc=0
-"cgebr" 9223372036854775807 cc=3
-"cfdbr" 4294967295 cc=1
-"cfdbr" 0 cc=0
-"cfdbr" 1 cc=2
-"cfdbr" 1 cc=2
-"cfdbr" 2 cc=2
-"cfdbr" 2 cc=2
-"cfdbr" 16000 cc=2
-"cfdbr" 160000000 cc=2
-"cfdbr" 2147483647 cc=3
-"cfdbr" 2147483647 cc=3
-"cfdbr" 2147483647 cc=3
-"cfdbr" 2147483647 cc=3
-"cfdbr" 0 cc=2
-"cfdbr" 0 cc=2
-"cfdbr" 2147483647 cc=3
-"cfdbr" 0 cc=2
-"cfdbr" 2147483647 cc=3
-"cfdbr" 0 cc=0
-"cfdbr" 2147483647 cc=3
-"cgdbr" -1 cc=1
-"cgdbr" 0 cc=0
-"cgdbr" 1 cc=2
-"cgdbr" 1 cc=2
-"cgdbr" 2 cc=2
-"cgdbr" 2 cc=2
-"cgdbr" 16000 cc=2
-"cgdbr" 160000000 cc=2
-"cgdbr" 1600000000000 cc=2
-"cgdbr" 9223372036854775807 cc=3
-"cgdbr" 9223372036854775807 cc=3
-"cgdbr" 9223372036854775807 cc=3
-"cgdbr" 0 cc=2
-"cgdbr" 0 cc=2
<truncated beyond 100 lines>
=================================================
./valgrind-old/helgrind/tests/tc09_bad_unlock.stderr.diff
=================================================
--- tc09_bad_unlock.stderr.exp 2012-09-11 22:21:21.000000000 -0400
+++ tc09_bad_unlock.stderr.out 2012-09-11 22:33:32.000000000 -0400
@@ -42,14 +42,6 @@
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)
-
---------------------
----------------------------------------------------------------
@@ -110,16 +102,8 @@
----------------------------------------------------------------
-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)
+ERROR SUMMARY: 9 errors from 9 contexts (suppressed: 0 from 0)
=================================================
./valgrind-old/helgrind/tests/tc18_semabuse.stderr.diff
=================================================
--- tc18_semabuse.stderr.exp 2012-09-11 22:21:21.000000000 -0400
+++ tc18_semabuse.stderr.out 2012-09-11 22:33:40.000000000 -0400
@@ -18,13 +18,5 @@
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)
+ERROR SUMMARY: 2 errors from 2 contexts (suppressed: 0 from 0)
=================================================
./valgrind-old/helgrind/tests/tc20_verifywrap.stderr.diff
=================================================
--- tc20_verifywrap.stderr.exp 2012-09-11 22:21:21.000000000 -0400
+++ tc20_verifywrap.stderr.out 2012-09-11 22:33:50.000000000 -0400
@@ -1,7 +1,7 @@
------- This is output for >= glibc 2.4 ------
+------ This is output for < glibc 2.4 ------
---------------- pthread_create/join ----------------
@@ -45,13 +45,6 @@
----------------------------------------------------------------
-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)
@@ -63,26 +56,8 @@
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)
+make pthread_mutex_lock fail: skipped on glibc < 2.4
----------------------------------------------------------------
@@ -90,13 +65,6 @@
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 ----------------
@@ -215,14 +183,6 @@
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
@@ -235,4 +195,4 @@
...
-ERROR SUMMARY: 23 errors from 23 contexts (suppressed: 0 from 0)
+ERROR SUMMARY: 17 errors from 17 contexts (suppressed: 0 from 0)
=================================================
./valgrind-old/memcheck/tests/manuel3.stderr.diff
=================================================
--- manuel3.stderr.exp 2012-09-11 22:21:34.000000000 -0400
+++ manuel3.stderr.out 2012-09-11 22:28:10.000000000 -0400
@@ -1,4 +1,3 @@
Conditional jump or move depends on uninitialised value(s)
- at 0x........: gcc_cant_inline_me (manuel3.c:22)
- by 0x........: main (manuel3.c:14)
+ at 0x........: main (manuel3.c:12)
=================================================
./valgrind-old/memcheck/tests/partial_load_ok.stderr.diff
=================================================
--- partial_load_ok.stderr.exp 2012-09-11 22:21:34.000000000 -0400
+++ partial_load_ok.stderr.out 2012-09-11 22:28:41.000000000 -0400
@@ -1,7 +1,13 @@
-Invalid read of size 4
+Invalid read of size 1
+ at 0x........: main (partial_load.c:16)
+ Address 0x........ is 0 bytes after a block of size 7 alloc'd
+ at 0x........: calloc (vg_replace_malloc.c:...)
+ by 0x........: main (partial_load.c:14)
+
+Invalid read of size 8
at 0x........: main (partial_load.c:23)
- Address 0x........ is 1 bytes inside a block of size 4 alloc'd
+ Address 0x........ is 1 bytes inside a block of size 8 alloc'd
at 0x........: calloc (vg_replace_malloc.c:...)
by 0x........: main (partial_load.c:20)
@@ -11,9 +17,9 @@
at 0x........: calloc (vg_replace_malloc.c:...)
by 0x........: main (partial_load.c:28)
-Invalid read of size 4
+Invalid read of size 8
at 0x........: main (partial_load.c:37)
- Address 0x........ is 0 bytes inside a block of size 4 free'd
+ Address 0x........ is 0 bytes inside a block of size 8 free'd
at 0x........: free (vg_replace_malloc.c:...)
by 0x........: main (partial_load.c:36)
@@ -25,4 +31,4 @@
For a detailed leak analysis, rerun with: --leak-check=full
For counts of detected and suppressed errors, rerun with: -v
-ERROR SUMMARY: 3 errors from 3 contexts (suppressed: 0 from 0)
+ERROR SUMMARY: 4 errors from 4 contexts (suppressed: 0 from 0)
=================================================
./valgrind-old/memcheck/tests/partial_load_ok.stderr.diff64
=================================================
--- partial_load_ok.stderr.exp64 2012-09-11 22:21:34.000000000 -0400
+++ partial_load_ok.stderr.out 2012-09-11 22:28:41.000000000 -0400
@@ -1,4 +1,10 @@
+Invalid read of size 1
+ at 0x........: main (partial_load.c:16)
+ Address 0x........ is 0 bytes after a block of size 7 alloc'd
+ at 0x........: calloc (vg_replace_malloc.c:...)
+ by 0x........: main (partial_load.c:14)
+
Invalid read of size 8
at 0x........: main (partial_load.c:23)
Address 0x........ is 1 bytes inside a block of size 8 alloc'd
@@ -25,4 +31,4 @@
For a detailed leak analysis, rerun with: --leak-check=full
For counts of detected and suppressed errors, rerun with: -v
-ERROR SUMMARY: 3 errors from 3 contexts (suppressed: 0 from 0)
+ERROR SUMMARY: 4 errors from 4 contexts (suppressed: 0 from 0)
=================================================
./valgrind-old/memcheck/tests/varinfo6.stderr.diff
=================================================
--- varinfo6.stderr.exp 2012-09-11 22:21:34.000000000 -0400
+++ varinfo6.stderr.out 2012-09-11 22:29:41.000000000 -0400
@@ -7,8 +7,7 @@
by 0x........: BZ2_bzCompress (varinfo6.c:4860)
by 0x........: BZ2_bzBuffToBuffCompress (varinfo6.c:5667)
by 0x........: main (varinfo6.c:6517)
- Location 0x........ is 2 bytes inside local var "budget"
- declared at varinfo6.c:3115, in frame #2 of thread 1
+ Address 0x........ is on thread 1's stack
Uninitialised byte(s) found during client check request
at 0x........: croak (varinfo6.c:34)
=================================================
./valgrind-old/memcheck/tests/varinfo6.stderr.diff-ppc64
=================================================
--- varinfo6.stderr.exp-ppc64 2012-09-11 22:21:34.000000000 -0400
+++ varinfo6.stderr.out 2012-09-11 22:29:41.000000000 -0400
@@ -1,5 +1,5 @@
Uninitialised byte(s) found during client check request
- at 0x........: croak (varinfo6.c:35)
+ at 0x........: croak (varinfo6.c:34)
by 0x........: mainSort (varinfo6.c:2999)
by 0x........: BZ2_blockSort (varinfo6.c:3143)
by 0x........: BZ2_compressBlock (varinfo6.c:4072)
@@ -10,7 +10,7 @@
Address 0x........ is on thread 1's stack
Uninitialised byte(s) found during client check request
- at 0x........: croak (varinfo6.c:35)
+ at 0x........: croak (varinfo6.c:34)
by 0x........: BZ2_decompress (varinfo6.c:1699)
by 0x........: BZ2_bzDecompress (varinfo6.c:5230)
by 0x........: BZ2_bzBuffToBuffDecompress (varinfo6.c:5715)
=================================================
./valgrind-old/none/tests/s390x/fpconv.stdout.diff
=================================================
--- fpconv.stdout.exp 2012-09-11 22:21:45.000000000 -0400
+++ fpconv.stdout.out 2012-09-11 22:31:48.000000000 -0400
@@ -35,137 +35,137 @@
"cdgbr" -9223372036854775808.000000
"cdgbr" 9223372036854775808.000000
"cxfbr" 0.000000
-"cxfbr" 1.000000
-"cxfbr" -1.000000
-"cxfbr" -2147483648.000000
-"cxfbr" 2147483647.000000
+"cxfbr" 1.937500
+"cxfbr" -1.937500
+"cxfbr" -7.500000
+"cxfbr" 7.500000
"cxfbr" 0.000000
-"cxfbr" -1.000000
+"cxfbr" -1.937500
"cxfbr" 0.000000
-"cxfbr" -1.000000
+"cxfbr" -1.937500
"cxgbr" 0.000000
-"cxgbr" 1.000000
-"cxgbr" 4294967295.000000
-"cxgbr" 2147483648.000000
-"cxgbr" 2147483647.000000
-"cxgbr" 4294967296.000000
-"cxgbr" -1.000000
-"cxgbr" -9223372036854775808.000000
-"cxgbr" 9223372036854775807.000000
-"cfebr" 4294967295 cc=1
-"cfebr" 0 cc=0
-"cfebr" 1 cc=2
-"cfebr" 1 cc=2
-"cfebr" 2 cc=2
-"cfebr" 2 cc=2
-"cfebr" 16000 cc=2
-"cfebr" 160000000 cc=2
-"cfebr" 2147483647 cc=3
-"cfebr" 2147483647 cc=3
-"cfebr" 2147483647 cc=3
-"cfebr" 2147483647 cc=3
-"cfebr" 0 cc=2
-"cfebr" 0 cc=2
-"cfebr" 2147483647 cc=3
-"cfebr" 0 cc=0
-"cfebr" 2147483647 cc=3
-"cfebr" 0 cc=0
-"cfebr" 2147483647 cc=3
-"cgebr" -1 cc=1
-"cgebr" 0 cc=0
-"cgebr" 1 cc=2
-"cgebr" 1 cc=2
-"cgebr" 2 cc=2
-"cgebr" 2 cc=2
-"cgebr" 16000 cc=2
-"cgebr" 160000000 cc=2
-"cgebr" 1599999967232 cc=2
-"cgebr" 9223372036854775807 cc=3
-"cgebr" 9223372036854775807 cc=3
-"cgebr" 9223372036854775807 cc=3
-"cgebr" 0 cc=2
-"cgebr" 0 cc=2
-"cgebr" 9223372036854775807 cc=3
-"cgebr" 0 cc=0
-"cgebr" 9223372036854775807 cc=3
-"cgebr" 0 cc=0
-"cgebr" 9223372036854775807 cc=3
-"cfdbr" 4294967295 cc=1
-"cfdbr" 0 cc=0
-"cfdbr" 1 cc=2
-"cfdbr" 1 cc=2
-"cfdbr" 2 cc=2
-"cfdbr" 2 cc=2
-"cfdbr" 16000 cc=2
-"cfdbr" 160000000 cc=2
-"cfdbr" 2147483647 cc=3
-"cfdbr" 2147483647 cc=3
-"cfdbr" 2147483647 cc=3
-"cfdbr" 2147483647 cc=3
-"cfdbr" 0 cc=2
-"cfdbr" 0 cc=2
-"cfdbr" 2147483647 cc=3
-"cfdbr" 0 cc=2
-"cfdbr" 2147483647 cc=3
-"cfdbr" 0 cc=0
-"cfdbr" 2147483647 cc=3
-"cgdbr" -1 cc=1
-"cgdbr" 0 cc=0
-"cgdbr" 1 cc=2
-"cgdbr" 1 cc=2
-"cgdbr" 2 cc=2
-"cgdbr" 2 cc=2
-"cgdbr" 16000 cc=2
-"cgdbr" 160000000 cc=2
-"cgdbr" 1600000000000 cc=2
-"cgdbr" 9223372036854775807 cc=3
-"cgdbr" 9223372036854775807 cc=3
-"cgdbr" 9223372036854775807 cc=3
-"cgdbr" 0 cc=2
-"cgdbr" 0 cc=2
<truncated beyond 100 lines>
|
|
From: Rich C. <rc...@wi...> - 2012-09-12 02:55:13
|
valgrind revision: 12965
VEX revision: 2523
C compiler: gcc (SUSE Linux) 4.5.1 20101208 [gcc-4_5-branch revision 167585]
Assembler: GNU assembler (GNU Binutils; openSUSE 11.4) 2.21
C library: GNU C Library stable release version 2.11.3 (20110203)
uname -mrs: Linux 2.6.37.6-0.7-desktop x86_64
Vendor version: Welcome to openSUSE 11.4 "Celadon" - Kernel %r (%t).
Nightly build on ultra ( gcc 4.5.1 Linux 2.6.37.6-0.7-desktop x86_64 )
Started at 2012-09-11 21:30:01 CDT
Ended at 2012-09-11 21:55:03 CDT
Results unchanged from 24 hours ago
Checking out valgrind source tree ... done
Configuring valgrind ... done
Building valgrind ... done
Running regression tests ... failed
Regression test results follow
== 618 tests, 2 stderr failures, 0 stdout failures, 6 stderrB failures, 0 stdoutB failures, 0 post failures ==
gdbserver_tests/mcbreak (stderrB)
gdbserver_tests/mcclean_after_fork (stderrB)
gdbserver_tests/mcleak (stderrB)
gdbserver_tests/mcmain_pic (stderrB)
gdbserver_tests/mcvabits (stderrB)
gdbserver_tests/mssnapshot (stderrB)
memcheck/tests/linux/timerfd-syscall (stderr)
memcheck/tests/origin5-bz2 (stderr)
=================================================
./valgrind-new/gdbserver_tests/mcbreak.stderrB.diff
=================================================
--- mcbreak.stderrB.exp 2012-09-11 21:42:59.554182361 -0500
+++ mcbreak.stderrB.out 2012-09-11 21:46:07.102913955 -0500
@@ -1,5 +1,7 @@
relaying data between gdb and process ....
vgdb-error value changed from 0 to 999999
+
+
vgdb-error value changed from 999999 to 0
n_errs_found 1 n_errs_shown 1 (vgdb-error 0)
vgdb-error value changed from 0 to 0
=================================================
./valgrind-new/gdbserver_tests/mcclean_after_fork.stderrB.diff
=================================================
--- mcclean_after_fork.stderrB.exp 2012-09-11 21:42:59.554182361 -0500
+++ mcclean_after_fork.stderrB.out 2012-09-11 21:46:08.804111081 -0500
@@ -1,4 +1,6 @@
relaying data between gdb and process ....
vgdb-error value changed from 0 to 999999
+
+
monitor command request to kill this process
Remote connection closed
=================================================
./valgrind-new/gdbserver_tests/mcleak.stderrB.diff
=================================================
--- mcleak.stderrB.exp 2012-09-11 21:42:59.551182013 -0500
+++ mcleak.stderrB.out 2012-09-11 21:46:27.001219664 -0500
@@ -1,5 +1,7 @@
relaying data between gdb and process ....
vgdb-error value changed from 0 to 999999
+
+
10 bytes in 1 blocks are still reachable in loss record ... of ...
at 0x........: malloc (vg_replace_malloc.c:...)
by 0x........: f (leak-delta.c:14)
=================================================
./valgrind-new/gdbserver_tests/mcmain_pic.stderrB.diff
=================================================
--- mcmain_pic.stderrB.exp 2012-09-11 21:42:59.557182708 -0500
+++ mcmain_pic.stderrB.out 2012-09-11 21:46:28.605405549 -0500
@@ -1,3 +1,5 @@
relaying data between gdb and process ....
vgdb-error value changed from 0 to 999999
+
+
Remote connection closed
=================================================
./valgrind-new/gdbserver_tests/mcvabits.stderrB.diff
=================================================
--- mcvabits.stderrB.exp 2012-09-11 21:42:59.559182939 -0500
+++ mcvabits.stderrB.out 2012-09-11 21:46:33.522975372 -0500
@@ -1,5 +1,7 @@
relaying data between gdb and process ....
vgdb-error value changed from 0 to 999999
+
+
Address 0x........ len 10 addressable
Address 0x........ is 0 bytes inside data symbol "undefined"
Address 0x........ len 10 defined
=================================================
./valgrind-new/gdbserver_tests/mssnapshot.stderrB.diff
=================================================
--- mssnapshot.stderrB.exp 2012-09-11 21:42:59.558182823 -0500
+++ mssnapshot.stderrB.out 2012-09-11 21:46:36.580329644 -0500
@@ -1,5 +1,9 @@
relaying data between gdb and process ....
vgdb-error value changed from 0 to 999999
+
+
+Missing separate debuginfo for /lib64/libc.so.6
+Try: zypper install -C "debuginfo(build-id)=92ec8fe859846a62345f74696ab349721415587a"
general valgrind monitor commands:
help [debug] : monitor command help. With debug: + debugging commands
v.wait [<ms>] : sleep <ms> (default 0) then continue
=================================================
./valgrind-new/memcheck/tests/linux/timerfd-syscall.stderr.diff
=================================================
--- timerfd-syscall.stderr.exp 2012-09-11 21:42:59.829214228 -0500
+++ timerfd-syscall.stderr.out 2012-09-11 21:47:40.947788287 -0500
@@ -33,7 +33,7 @@
got timer ticks (1) after 0.5 s
absolute timer test (at 500 ms) ...
waiting timer ...
-got timer ticks (1) after 0.5 s
+got timer ticks (1) after 0.0 s
sequential timer test (100 ms clock) ...
sleeping one second ...
timerfd_gettime returned:
=================================================
./valgrind-new/memcheck/tests/origin5-bz2.stderr.diff-glibc212-s390x
=================================================
--- origin5-bz2.stderr.exp-glibc212-s390x 2012-09-11 21:43:00.294268114 -0500
+++ origin5-bz2.stderr.out 2012-09-11 21:47:56.341572075 -0500
@@ -75,17 +75,6 @@
at 0x........: main (origin5-bz2.c:6479)
Use of uninitialised value of size 8
- at 0x........: mainSort (origin5-bz2.c:2859)
- by 0x........: BZ2_blockSort (origin5-bz2.c:3105)
- by 0x........: BZ2_compressBlock (origin5-bz2.c:4034)
- by 0x........: handle_compress (origin5-bz2.c:4753)
- by 0x........: BZ2_bzCompress (origin5-bz2.c:4822)
- by 0x........: BZ2_bzBuffToBuffCompress (origin5-bz2.c:5630)
- by 0x........: main (origin5-bz2.c:6484)
- Uninitialised value was created by a client request
- at 0x........: main (origin5-bz2.c:6479)
-
-Use of uninitialised value of size 8
at 0x........: mainSort (origin5-bz2.c:2963)
by 0x........: BZ2_blockSort (origin5-bz2.c:3105)
by 0x........: BZ2_compressBlock (origin5-bz2.c:4034)
@@ -131,6 +120,12 @@
Conditional jump or move depends on uninitialised value(s)
at 0x........: main (origin5-bz2.c:6512)
- Uninitialised value was created by a client request
- at 0x........: main (origin5-bz2.c:6479)
+ Uninitialised value was created by a heap allocation
+ at 0x........: malloc (vg_replace_malloc.c:...)
+ by 0x........: g_serviceFn (origin5-bz2.c:6429)
+ by 0x........: default_bzalloc (origin5-bz2.c:4470)
+ by 0x........: BZ2_decompress (origin5-bz2.c:1578)
+ by 0x........: BZ2_bzDecompress (origin5-bz2.c:5192)
+ by 0x........: BZ2_bzBuffToBuffDecompress (origin5-bz2.c:5678)
+ by 0x........: main (origin5-bz2.c:6498)
=================================================
./valgrind-new/memcheck/tests/origin5-bz2.stderr.diff-glibc234-s390x
=================================================
--- origin5-bz2.stderr.exp-glibc234-s390x 2012-09-11 21:43:00.277266144 -0500
+++ origin5-bz2.stderr.out 2012-09-11 21:47:56.341572075 -0500
@@ -120,6 +120,12 @@
Conditional jump or move depends on uninitialised value(s)
at 0x........: main (origin5-bz2.c:6512)
- Uninitialised value was created by a client request
- at 0x........: main (origin5-bz2.c:6479)
+ Uninitialised value was created by a heap allocation
+ at 0x........: malloc (vg_replace_malloc.c:...)
+ by 0x........: g_serviceFn (origin5-bz2.c:6429)
+ by 0x........: default_bzalloc (origin5-bz2.c:4470)
+ by 0x........: BZ2_decompress (origin5-bz2.c:1578)
+ by 0x........: BZ2_bzDecompress (origin5-bz2.c:5192)
+ by 0x........: BZ2_bzBuffToBuffDecompress (origin5-bz2.c:5678)
+ by 0x........: main (origin5-bz2.c:6498)
=================================================
./valgrind-new/memcheck/tests/origin5-bz2.stderr.diff-glibc25-amd64
=================================================
--- origin5-bz2.stderr.exp-glibc25-amd64 2012-09-11 21:43:00.220259538 -0500
+++ origin5-bz2.stderr.out 2012-09-11 21:47:56.341572075 -0500
@@ -120,6 +120,12 @@
Conditional jump or move depends on uninitialised value(s)
at 0x........: main (origin5-bz2.c:6512)
- Uninitialised value was created by a client request
- at 0x........: main (origin5-bz2.c:6479)
+ Uninitialised value was created by a heap allocation
+ at 0x........: malloc (vg_replace_malloc.c:...)
+ by 0x........: g_serviceFn (origin5-bz2.c:6429)
+ by 0x........: default_bzalloc (origin5-bz2.c:4470)
+ by 0x........: BZ2_decompress (origin5-bz2.c:1578)
+ by 0x........: BZ2_bzDecompress (origin5-bz2.c:5192)
+ by 0x........: BZ2_bzBuffToBuffDecompress (origin5-bz2.c:5678)
+ by 0x........: main (origin5-bz2.c:6498)
=================================================
./valgrind-new/memcheck/tests/origin5-bz2.stderr.diff-glibc25-x86
=================================================
--- origin5-bz2.stderr.exp-glibc25-x86 2012-09-11 21:43:00.250263014 -0500
+++ origin5-bz2.stderr.out 2012-09-11 21:47:56.341572075 -0500
@@ -12,7 +12,7 @@
Uninitialised value was created by a client request
at 0x........: main (origin5-bz2.c:6479)
-Use of uninitialised value of size 4
+Use of uninitialised value of size 8
at 0x........: copy_input_until_stop (origin5-bz2.c:4686)
by 0x........: handle_compress (origin5-bz2.c:4750)
by 0x........: BZ2_bzCompress (origin5-bz2.c:4822)
@@ -21,7 +21,7 @@
Uninitialised value was created by a client request
at 0x........: main (origin5-bz2.c:6479)
-Use of uninitialised value of size 4
+Use of uninitialised value of size 8
at 0x........: copy_input_until_stop (origin5-bz2.c:4686)
by 0x........: handle_compress (origin5-bz2.c:4750)
by 0x........: BZ2_bzCompress (origin5-bz2.c:4822)
@@ -30,7 +30,7 @@
Uninitialised value was created by a client request
at 0x........: main (origin5-bz2.c:6479)
-Use of uninitialised value of size 4
+Use of uninitialised value of size 8
at 0x........: mainSort (origin5-bz2.c:2820)
by 0x........: BZ2_blockSort (origin5-bz2.c:3105)
by 0x........: BZ2_compressBlock (origin5-bz2.c:4034)
@@ -41,7 +41,7 @@
Uninitialised value was created by a client request
at 0x........: main (origin5-bz2.c:6479)
-Use of uninitialised value of size 4
+Use of uninitialised value of size 8
at 0x........: mainSort (origin5-bz2.c:2823)
by 0x........: BZ2_blockSort (origin5-bz2.c:3105)
by 0x........: BZ2_compressBlock (origin5-bz2.c:4034)
@@ -52,7 +52,7 @@
Uninitialised value was created by a client request
at 0x........: main (origin5-bz2.c:6479)
-Use of uninitialised value of size 4
+Use of uninitialised value of size 8
at 0x........: mainSort (origin5-bz2.c:2854)
by 0x........: BZ2_blockSort (origin5-bz2.c:3105)
by 0x........: BZ2_compressBlock (origin5-bz2.c:4034)
@@ -63,7 +63,7 @@
Uninitialised value was created by a client request
at 0x........: main (origin5-bz2.c:6479)
-Use of uninitialised value of size 4
+Use of uninitialised value of size 8
at 0x........: mainSort (origin5-bz2.c:2858)
by 0x........: BZ2_blockSort (origin5-bz2.c:3105)
by 0x........: BZ2_compressBlock (origin5-bz2.c:4034)
@@ -74,7 +74,7 @@
Uninitialised value was created by a client request
at 0x........: main (origin5-bz2.c:6479)
-Use of uninitialised value of size 4
+Use of uninitialised value of size 8
at 0x........: mainSort (origin5-bz2.c:2963)
by 0x........: BZ2_blockSort (origin5-bz2.c:3105)
by 0x........: BZ2_compressBlock (origin5-bz2.c:4034)
@@ -85,7 +85,7 @@
Uninitialised value was created by a client request
at 0x........: main (origin5-bz2.c:6479)
-Use of uninitialised value of size 4
+Use of uninitialised value of size 8
at 0x........: mainSort (origin5-bz2.c:2964)
by 0x........: BZ2_blockSort (origin5-bz2.c:3105)
by 0x........: BZ2_compressBlock (origin5-bz2.c:4034)
@@ -96,7 +96,7 @@
Uninitialised value was created by a client request
at 0x........: main (origin5-bz2.c:6479)
-Use of uninitialised value of size 4
+Use of uninitialised value of size 8
at 0x........: fallbackSort (origin5-bz2.c:2269)
by 0x........: BZ2_blockSort (origin5-bz2.c:3116)
by 0x........: BZ2_compressBlock (origin5-bz2.c:4034)
@@ -107,7 +107,7 @@
Uninitialised value was created by a client request
at 0x........: main (origin5-bz2.c:6479)
-Use of uninitialised value of size 4
+Use of uninitialised value of size 8
at 0x........: fallbackSort (origin5-bz2.c:2275)
by 0x........: BZ2_blockSort (origin5-bz2.c:3116)
by 0x........: BZ2_compressBlock (origin5-bz2.c:4034)
@@ -120,6 +120,12 @@
Conditional jump or move depends on uninitialised value(s)
at 0x........: main (origin5-bz2.c:6512)
- Uninitialised value was created by a client request
- at 0x........: main (origin5-bz2.c:6479)
+ Uninitialised value was created by a heap allocation
+ at 0x........: malloc (vg_replace_malloc.c:...)
<truncated beyond 100 lines>
=================================================
./valgrind-new/memcheck/tests/origin5-bz2.stderr.diff-glibc27-ppc64
=================================================
--- origin5-bz2.stderr.exp-glibc27-ppc64 2012-09-11 21:43:00.264264637 -0500
+++ origin5-bz2.stderr.out 2012-09-11 21:47:56.341572075 -0500
@@ -1,7 +1,7 @@
Conditional jump or move depends on uninitialised value(s)
at 0x........: main (origin5-bz2.c:6481)
Uninitialised value was created by a client request
- at 0x........: main (origin5-bz2.c:6481)
+ at 0x........: main (origin5-bz2.c:6479)
Conditional jump or move depends on uninitialised value(s)
at 0x........: copy_input_until_stop (origin5-bz2.c:4686)
@@ -10,7 +10,7 @@
by 0x........: BZ2_bzBuffToBuffCompress (origin5-bz2.c:5630)
by 0x........: main (origin5-bz2.c:6484)
Uninitialised value was created by a client request
- at 0x........: main (origin5-bz2.c:6481)
+ at 0x........: main (origin5-bz2.c:6479)
Use of uninitialised value of size 8
at 0x........: copy_input_until_stop (origin5-bz2.c:4686)
@@ -19,7 +19,7 @@
by 0x........: BZ2_bzBuffToBuffCompress (origin5-bz2.c:5630)
by 0x........: main (origin5-bz2.c:6484)
Uninitialised value was created by a client request
- at 0x........: main (origin5-bz2.c:6481)
+ at 0x........: main (origin5-bz2.c:6479)
Use of uninitialised value of size 8
at 0x........: copy_input_until_stop (origin5-bz2.c:4686)
@@ -28,7 +28,7 @@
by 0x........: BZ2_bzBuffToBuffCompress (origin5-bz2.c:5630)
by 0x........: main (origin5-bz2.c:6484)
Uninitialised value was created by a client request
- at 0x........: main (origin5-bz2.c:6481)
+ at 0x........: main (origin5-bz2.c:6479)
Use of uninitialised value of size 8
at 0x........: mainSort (origin5-bz2.c:2820)
@@ -39,7 +39,7 @@
by 0x........: BZ2_bzBuffToBuffCompress (origin5-bz2.c:5630)
by 0x........: main (origin5-bz2.c:6484)
Uninitialised value was created by a client request
- at 0x........: main (origin5-bz2.c:6481)
+ at 0x........: main (origin5-bz2.c:6479)
Use of uninitialised value of size 8
at 0x........: mainSort (origin5-bz2.c:2823)
@@ -50,7 +50,7 @@
by 0x........: BZ2_bzBuffToBuffCompress (origin5-bz2.c:5630)
by 0x........: main (origin5-bz2.c:6484)
Uninitialised value was created by a client request
- at 0x........: main (origin5-bz2.c:6481)
+ at 0x........: main (origin5-bz2.c:6479)
Use of uninitialised value of size 8
at 0x........: mainSort (origin5-bz2.c:2854)
@@ -61,7 +61,7 @@
by 0x........: BZ2_bzBuffToBuffCompress (origin5-bz2.c:5630)
by 0x........: main (origin5-bz2.c:6484)
Uninitialised value was created by a client request
- at 0x........: main (origin5-bz2.c:6481)
+ at 0x........: main (origin5-bz2.c:6479)
Use of uninitialised value of size 8
at 0x........: mainSort (origin5-bz2.c:2858)
@@ -72,7 +72,7 @@
by 0x........: BZ2_bzBuffToBuffCompress (origin5-bz2.c:5630)
by 0x........: main (origin5-bz2.c:6484)
Uninitialised value was created by a client request
- at 0x........: main (origin5-bz2.c:6481)
+ at 0x........: main (origin5-bz2.c:6479)
Use of uninitialised value of size 8
at 0x........: mainSort (origin5-bz2.c:2963)
@@ -83,7 +83,7 @@
by 0x........: BZ2_bzBuffToBuffCompress (origin5-bz2.c:5630)
by 0x........: main (origin5-bz2.c:6484)
Uninitialised value was created by a client request
- at 0x........: main (origin5-bz2.c:6481)
+ at 0x........: main (origin5-bz2.c:6479)
Use of uninitialised value of size 8
at 0x........: mainSort (origin5-bz2.c:2964)
@@ -94,7 +94,7 @@
by 0x........: BZ2_bzBuffToBuffCompress (origin5-bz2.c:5630)
by 0x........: main (origin5-bz2.c:6484)
Uninitialised value was created by a client request
- at 0x........: main (origin5-bz2.c:6481)
+ at 0x........: main (origin5-bz2.c:6479)
Use of uninitialised value of size 8
at 0x........: fallbackSort (origin5-bz2.c:2269)
@@ -105,7 +105,7 @@
by 0x........: BZ2_bzBuffToBuffCompress (origin5-bz2.c:5630)
by 0x........: main (origin5-bz2.c:6484)
Uninitialised value was created by a client request
- at 0x........: main (origin5-bz2.c:6481)
+ at 0x........: main (origin5-bz2.c:6479)
Use of uninitialised value of size 8
<truncated beyond 100 lines>
=================================================
./valgrind-old/gdbserver_tests/mcbreak.stderrB.diff
=================================================
--- mcbreak.stderrB.exp 2012-09-11 21:30:42.016732858 -0500
+++ mcbreak.stderrB.out 2012-09-11 21:34:00.942778297 -0500
@@ -1,5 +1,7 @@
relaying data between gdb and process ....
vgdb-error value changed from 0 to 999999
+
+
vgdb-error value changed from 999999 to 0
n_errs_found 1 n_errs_shown 1 (vgdb-error 0)
vgdb-error value changed from 0 to 0
=================================================
./valgrind-old/gdbserver_tests/mcclean_after_fork.stderrB.diff
=================================================
--- mcclean_after_fork.stderrB.exp 2012-09-11 21:30:42.016732858 -0500
+++ mcclean_after_fork.stderrB.out 2012-09-11 21:34:02.638974805 -0500
@@ -1,4 +1,6 @@
relaying data between gdb and process ....
vgdb-error value changed from 0 to 999999
+
+
monitor command request to kill this process
Remote connection closed
=================================================
./valgrind-old/gdbserver_tests/mcleak.stderrB.diff
=================================================
--- mcleak.stderrB.exp 2012-09-11 21:30:42.012732394 -0500
+++ mcleak.stderrB.out 2012-09-11 21:34:22.328255867 -0500
@@ -1,5 +1,7 @@
relaying data between gdb and process ....
vgdb-error value changed from 0 to 999999
+
+
10 bytes in 1 blocks are still reachable in loss record ... of ...
at 0x........: malloc (vg_replace_malloc.c:...)
by 0x........: f (leak-delta.c:14)
=================================================
./valgrind-old/gdbserver_tests/mcmain_pic.stderrB.diff
=================================================
--- mcmain_pic.stderrB.exp 2012-09-11 21:30:42.019733204 -0500
+++ mcmain_pic.stderrB.out 2012-09-11 21:34:23.931441601 -0500
@@ -1,3 +1,5 @@
relaying data between gdb and process ....
vgdb-error value changed from 0 to 999999
+
+
Remote connection closed
=================================================
./valgrind-old/gdbserver_tests/mcvabits.stderrB.diff
=================================================
--- mcvabits.stderrB.exp 2012-09-11 21:30:42.020733320 -0500
+++ mcvabits.stderrB.out 2012-09-11 21:34:28.853011783 -0500
@@ -1,5 +1,7 @@
relaying data between gdb and process ....
vgdb-error value changed from 0 to 999999
+
+
Address 0x........ len 10 addressable
Address 0x........ is 0 bytes inside data symbol "undefined"
Address 0x........ len 10 defined
=================================================
./valgrind-old/gdbserver_tests/mssnapshot.stderrB.diff
=================================================
--- mssnapshot.stderrB.exp 2012-09-11 21:30:42.019733204 -0500
+++ mssnapshot.stderrB.out 2012-09-11 21:34:31.999376300 -0500
@@ -1,5 +1,9 @@
relaying data between gdb and process ....
vgdb-error value changed from 0 to 999999
+
+
+Missing separate debuginfo for /lib64/libc.so.6
+Try: zypper install -C "debuginfo(build-id)=92ec8fe859846a62345f74696ab349721415587a"
general valgrind monitor commands:
help [debug] : monitor command help. With debug: + debugging commands
v.wait [<ms>] : sleep <ms> (default 0) then continue
=================================================
./valgrind-old/memcheck/tests/linux/timerfd-syscall.stderr.diff
=================================================
--- timerfd-syscall.stderr.exp 2012-09-11 21:30:42.666808166 -0500
+++ timerfd-syscall.stderr.out 2012-09-11 21:35:36.097802399 -0500
@@ -33,7 +33,7 @@
got timer ticks (1) after 0.5 s
absolute timer test (at 500 ms) ...
waiting timer ...
-got timer ticks (1) after 0.5 s
+got timer ticks (1) after 0.0 s
sequential timer test (100 ms clock) ...
sleeping one second ...
timerfd_gettime returned:
=================================================
./valgrind-old/memcheck/tests/origin5-bz2.stderr.diff-glibc212-s390x
=================================================
--- origin5-bz2.stderr.exp-glibc212-s390x 2012-09-11 21:30:43.133862272 -0500
+++ origin5-bz2.stderr.out 2012-09-11 21:35:51.233555965 -0500
@@ -75,17 +75,6 @@
at 0x........: main (origin5-bz2.c:6479)
Use of uninitialised value of size 8
- at 0x........: mainSort (origin5-bz2.c:2859)
- by 0x........: BZ2_blockSort (origin5-bz2.c:3105)
- by 0x........: BZ2_compressBlock (origin5-bz2.c:4034)
- by 0x........: handle_compress (origin5-bz2.c:4753)
- by 0x........: BZ2_bzCompress (origin5-bz2.c:4822)
- by 0x........: BZ2_bzBuffToBuffCompress (origin5-bz2.c:5630)
- by 0x........: main (origin5-bz2.c:6484)
- Uninitialised value was created by a client request
- at 0x........: main (origin5-bz2.c:6479)
-
-Use of uninitialised value of size 8
at 0x........: mainSort (origin5-bz2.c:2963)
by 0x........: BZ2_blockSort (origin5-bz2.c:3105)
by 0x........: BZ2_compressBlock (origin5-bz2.c:4034)
@@ -131,6 +120,12 @@
Conditional jump or move depends on uninitialised value(s)
at 0x........: main (origin5-bz2.c:6512)
- Uninitialised value was created by a client request
- at 0x........: main (origin5-bz2.c:6479)
+ Uninitialised value was created by a heap allocation
+ at 0x........: malloc (vg_replace_malloc.c:...)
+ by 0x........: g_serviceFn (origin5-bz2.c:6429)
+ by 0x........: default_bzalloc (origin5-bz2.c:4470)
+ by 0x........: BZ2_decompress (origin5-bz2.c:1578)
+ by 0x........: BZ2_bzDecompress (origin5-bz2.c:5192)
+ by 0x........: BZ2_bzBuffToBuffDecompress (origin5-bz2.c:5678)
+ by 0x........: main (origin5-bz2.c:6498)
=================================================
./valgrind-old/memcheck/tests/origin5-bz2.stderr.diff-glibc234-s390x
=================================================
--- origin5-bz2.stderr.exp-glibc234-s390x 2012-09-11 21:30:43.111859724 -0500
+++ origin5-bz2.stderr.out 2012-09-11 21:35:51.233555965 -0500
@@ -120,6 +120,12 @@
Conditional jump or move depends on uninitialised value(s)
at 0x........: main (origin5-bz2.c:6512)
- Uninitialised value was created by a client request
- at 0x........: main (origin5-bz2.c:6479)
+ Uninitialised value was created by a heap allocation
+ at 0x........: malloc (vg_replace_malloc.c:...)
+ by 0x........: g_serviceFn (origin5-bz2.c:6429)
+ by 0x........: default_bzalloc (origin5-bz2.c:4470)
+ by 0x........: BZ2_decompress (origin5-bz2.c:1578)
+ by 0x........: BZ2_bzDecompress (origin5-bz2.c:5192)
+ by 0x........: BZ2_bzBuffToBuffDecompress (origin5-bz2.c:5678)
+ by 0x........: main (origin5-bz2.c:6498)
=================================================
./valgrind-old/memcheck/tests/origin5-bz2.stderr.diff-glibc25-amd64
=================================================
--- origin5-bz2.stderr.exp-glibc25-amd64 2012-09-11 21:30:43.043851844 -0500
+++ origin5-bz2.stderr.out 2012-09-11 21:35:51.233555965 -0500
@@ -120,6 +120,12 @@
Conditional jump or move depends on uninitialised value(s)
at 0x........: main (origin5-bz2.c:6512)
- Uninitialised value was created by a client request
- at 0x........: main (origin5-bz2.c:6479)
+ Uninitialised value was created by a heap allocation
+ at 0x........: malloc (vg_replace_malloc.c:...)
+ by 0x........: g_serviceFn (origin5-bz2.c:6429)
+ by 0x........: default_bzalloc (origin5-bz2.c:4470)
+ by 0x........: BZ2_decompress (origin5-bz2.c:1578)
+ by 0x........: BZ2_bzDecompress (origin5-bz2.c:5192)
+ by 0x........: BZ2_bzBuffToBuffDecompress (origin5-bz2.c:5678)
+ by 0x........: main (origin5-bz2.c:6498)
=================================================
./valgrind-old/memcheck/tests/origin5-bz2.stderr.diff-glibc25-x86
=================================================
--- origin5-bz2.stderr.exp-glibc25-x86 2012-09-11 21:30:43.080856132 -0500
+++ origin5-bz2.stderr.out 2012-09-11 21:35:51.233555965 -0500
@@ -12,7 +12,7 @@
Uninitialised value was created by a client request
at 0x........: main (origin5-bz2.c:6479)
-Use of uninitialised value of size 4
+Use of uninitialised value of size 8
at 0x........: copy_input_until_stop (origin5-bz2.c:4686)
by 0x........: handle_compress (origin5-bz2.c:4750)
by 0x........: BZ2_bzCompress (origin5-bz2.c:4822)
@@ -21,7 +21,7 @@
Uninitialised value was created by a client request
at 0x........: main (origin5-bz2.c:6479)
-Use of uninitialised value of size 4
+Use of uninitialised value of size 8
at 0x........: copy_input_until_stop (origin5-bz2.c:4686)
by 0x........: handle_compress (origin5-bz2.c:4750)
by 0x........: BZ2_bzCompress (origin5-bz2.c:4822)
@@ -30,7 +30,7 @@
Uninitialised value was created by a client request
at 0x........: main (origin5-bz2.c:6479)
-Use of uninitialised value of size 4
+Use of uninitialised value of size 8
at 0x........: mainSort (origin5-bz2.c:2820)
by 0x........: BZ2_blockSort (origin5-bz2.c:3105)
by 0x........: BZ2_compressBlock (origin5-bz2.c:4034)
@@ -41,7 +41,7 @@
Uninitialised value was created by a client request
at 0x........: main (origin5-bz2.c:6479)
-Use of uninitialised value of size 4
+Use of uninitialised value of size 8
at 0x........: mainSort (origin5-bz2.c:2823)
by 0x........: BZ2_blockSort (origin5-bz2.c:3105)
by 0x........: BZ2_compressBlock (origin5-bz2.c:4034)
@@ -52,7 +52,7 @@
Uninitialised value was created by a client request
at 0x........: main (origin5-bz2.c:6479)
-Use of uninitialised value of size 4
+Use of uninitialised value of size 8
at 0x........: mainSort (origin5-bz2.c:2854)
by 0x........: BZ2_blockSort (origin5-bz2.c:3105)
by 0x........: BZ2_compressBlock (origin5-bz2.c:4034)
@@ -63,7 +63,7 @@
Uninitialised value was created by a client request
at 0x........: main (origin5-bz2.c:6479)
-Use of uninitialised value of size 4
+Use of uninitialised value of size 8
at 0x........: mainSort (origin5-bz2.c:2858)
by 0x........: BZ2_blockSort (origin5-bz2.c:3105)
by 0x........: BZ2_compressBlock (origin5-bz2.c:4034)
@@ -74,7 +74,7 @@
Uninitialised value was created by a client request
at 0x........: main (origin5-bz2.c:6479)
-Use of uninitialised value of size 4
+Use of uninitialised value of size 8
at 0x........: mainSort (origin5-bz2.c:2963)
by 0x........: BZ2_blockSort (origin5-bz2.c:3105)
by 0x........: BZ2_compressBlock (origin5-bz2.c:4034)
@@ -85,7 +85,7 @@
Uninitialised value was created by a client request
at 0x........: main (origin5-bz2.c:6479)
-Use of uninitialised value of size 4
+Use of uninitialised value of size 8
at 0x........: mainSort (origin5-bz2.c:2964)
by 0x........: BZ2_blockSort (origin5-bz2.c:3105)
by 0x........: BZ2_compressBlock (origin5-bz2.c:4034)
@@ -96,7 +96,7 @@
Uninitialised value was created by a client request
at 0x........: main (origin5-bz2.c:6479)
-Use of uninitialised value of size 4
+Use of uninitialised value of size 8
at 0x........: fallbackSort (origin5-bz2.c:2269)
by 0x........: BZ2_blockSort (origin5-bz2.c:3116)
by 0x........: BZ2_compressBlock (origin5-bz2.c:4034)
@@ -107,7 +107,7 @@
Uninitialised value was created by a client request
at 0x........: main (origin5-bz2.c:6479)
-Use of uninitialised value of size 4
+Use of uninitialised value of size 8
at 0x........: fallbackSort (origin5-bz2.c:2275)
by 0x........: BZ2_blockSort (origin5-bz2.c:3116)
by 0x........: BZ2_compressBlock (origin5-bz2.c:4034)
@@ -120,6 +120,12 @@
Conditional jump or move depends on uninitialised value(s)
at 0x........: main (origin5-bz2.c:6512)
- Uninitialised value was created by a client request
- at 0x........: main (origin5-bz2.c:6479)
+ Uninitialised value was created by a heap allocation
+ at 0x........: malloc (vg_replace_malloc.c:...)
<truncated beyond 100 lines>
=================================================
./valgrind-old/memcheck/tests/origin5-bz2.stderr.diff-glibc27-ppc64
=================================================
--- origin5-bz2.stderr.exp-glibc27-ppc64 2012-09-11 21:30:43.095857870 -0500
+++ origin5-bz2.stderr.out 2012-09-11 21:35:51.233555965 -0500
@@ -1,7 +1,7 @@
Conditional jump or move depends on uninitialised value(s)
at 0x........: main (origin5-bz2.c:6481)
Uninitialised value was created by a client request
- at 0x........: main (origin5-bz2.c:6481)
+ at 0x........: main (origin5-bz2.c:6479)
Conditional jump or move depends on uninitialised value(s)
at 0x........: copy_input_until_stop (origin5-bz2.c:4686)
@@ -10,7 +10,7 @@
by 0x........: BZ2_bzBuffToBuffCompress (origin5-bz2.c:5630)
by 0x........: main (origin5-bz2.c:6484)
Uninitialised value was created by a client request
- at 0x........: main (origin5-bz2.c:6481)
+ at 0x........: main (origin5-bz2.c:6479)
Use of uninitialised value of size 8
at 0x........: copy_input_until_stop (origin5-bz2.c:4686)
@@ -19,7 +19,7 @@
by 0x........: BZ2_bzBuffToBuffCompress (origin5-bz2.c:5630)
by 0x........: main (origin5-bz2.c:6484)
Uninitialised value was created by a client request
- at 0x........: main (origin5-bz2.c:6481)
+ at 0x........: main (origin5-bz2.c:6479)
Use of uninitialised value of size 8
at 0x........: copy_input_until_stop (origin5-bz2.c:4686)
@@ -28,7 +28,7 @@
by 0x........: BZ2_bzBuffToBuffCompress (origin5-bz2.c:5630)
by 0x........: main (origin5-bz2.c:6484)
Uninitialised value was created by a client request
- at 0x........: main (origin5-bz2.c:6481)
+ at 0x........: main (origin5-bz2.c:6479)
Use of uninitialised value of size 8
at 0x........: mainSort (origin5-bz2.c:2820)
@@ -39,7 +39,7 @@
by 0x........: BZ2_bzBuffToBuffCompress (origin5-bz2.c:5630)
by 0x........: main (origin5-bz2.c:6484)
Uninitialised value was created by a client request
- at 0x........: main (origin5-bz2.c:6481)
+ at 0x........: main (origin5-bz2.c:6479)
Use of uninitialised value of size 8
at 0x........: mainSort (origin5-bz2.c:2823)
@@ -50,7 +50,7 @@
by 0x........: BZ2_bzBuffToBuffCompress (origin5-bz2.c:5630)
by 0x........: main (origin5-bz2.c:6484)
Uninitialised value was created by a client request
- at 0x........: main (origin5-bz2.c:6481)
+ at 0x........: main (origin5-bz2.c:6479)
Use of uninitialised value of size 8
at 0x........: mainSort (origin5-bz2.c:2854)
@@ -61,7 +61,7 @@
by 0x........: BZ2_bzBuffToBuffCompress (origin5-bz2.c:5630)
by 0x........: main (origin5-bz2.c:6484)
Uninitialised value was created by a client request
- at 0x........: main (origin5-bz2.c:6481)
+ at 0x........: main (origin5-bz2.c:6479)
Use of uninitialised value of size 8
at 0x........: mainSort (origin5-bz2.c:2858)
@@ -72,7 +72,7 @@
by 0x........: BZ2_bzBuffToBuffCompress (origin5-bz2.c:5630)
by 0x........: main (origin5-bz2.c:6484)
Uninitialised value was created by a client request
- at 0x........: main (origin5-bz2.c:6481)
+ at 0x........: main (origin5-bz2.c:6479)
Use of uninitialised value of size 8
at 0x........: mainSort (origin5-bz2.c:2963)
@@ -83,7 +83,7 @@
by 0x........: BZ2_bzBuffToBuffCompress (origin5-bz2.c:5630)
by 0x........: main (origin5-bz2.c:6484)
Uninitialised value was created by a client request
- at 0x........: main (origin5-bz2.c:6481)
+ at 0x........: main (origin5-bz2.c:6479)
Use of uninitialised value of size 8
at 0x........: mainSort (origin5-bz2.c:2964)
@@ -94,7 +94,7 @@
by 0x........: BZ2_bzBuffToBuffCompress (origin5-bz2.c:5630)
by 0x........: main (origin5-bz2.c:6484)
Uninitialised value was created by a client request
- at 0x........: main (origin5-bz2.c:6481)
+ at 0x........: main (origin5-bz2.c:6479)
Use of uninitialised value of size 8
at 0x........: fallbackSort (origin5-bz2.c:2269)
@@ -105,7 +105,7 @@
by 0x........: BZ2_bzBuffToBuffCompress (origin5-bz2.c:5630)
by 0x........: main (origin5-bz2.c:6484)
Uninitialised value was created by a client request
- at 0x........: main (origin5-bz2.c:6481)
+ at 0x........: main (origin5-bz2.c:6479)
Use of uninitialised value of size 8
<truncated beyond 100 lines>
|
|
From: Tom H. <to...@co...> - 2012-09-12 02:50:25
|
valgrind revision: 12965 VEX revision: 2523 C compiler: gcc (GCC) 4.4.5 20101112 (Red Hat 4.4.5-2) Assembler: GNU assembler version 2.20.51.0.2-20.fc13 20091009 C library: GNU C Library stable release version 2.12.2 uname -mrs: Linux 3.5.3-1.fc17.x86_64 x86_64 Vendor version: Fedora release 13 (Goddard) Nightly build on bristol ( x86_64, Fedora 13 ) Started at 2012-09-12 03:21:53 BST Ended at 2012-09-12 03:50:10 BST Results unchanged from 24 hours ago Checking out valgrind source tree ... done Configuring valgrind ... done Building valgrind ... done Running regression tests ... failed Regression test results follow == 610 tests, 2 stderr failures, 0 stdout failures, 0 stderrB failures, 0 stdoutB failures, 0 post failures == memcheck/tests/err_disable4 (stderr) helgrind/tests/pth_barrier3 (stderr) |
|
From: Tom H. <to...@co...> - 2012-09-12 02:42:13
|
valgrind revision: 12965 VEX revision: 2523 C compiler: gcc (GCC) 4.5.1 20100924 (Red Hat 4.5.1-4) Assembler: GNU assembler version 2.20.51.0.7-8.fc14 20100318 C library: GNU C Library stable release version 2.13 uname -mrs: Linux 3.5.3-1.fc17.x86_64 x86_64 Vendor version: Fedora release 14 (Laughlin) Nightly build on bristol ( x86_64, Fedora 14 ) Started at 2012-09-12 03:12:16 BST Ended at 2012-09-12 03:41:57 BST Results unchanged from 24 hours ago Checking out valgrind source tree ... done Configuring valgrind ... done Building valgrind ... done Running regression tests ... failed Regression test results follow == 625 tests, 2 stderr failures, 0 stdout failures, 1 stderrB failure, 2 stdoutB failures, 0 post failures == gdbserver_tests/mcinfcallWSRU (stderrB) gdbserver_tests/nlcontrolc (stdoutB) gdbserver_tests/nlpasssigalrm (stdoutB) memcheck/tests/err_disable4 (stderr) memcheck/tests/origin5-bz2 (stderr) |
|
From: Tom H. <to...@co...> - 2012-09-12 02:32:58
|
valgrind revision: 12965 VEX revision: 2523 C compiler: gcc (GCC) 4.6.3 20120306 (Red Hat 4.6.3-2) Assembler: GNU assembler version 2.21.51.0.6-6.fc15 20110118 C library: GNU C Library stable release version 2.14.1 uname -mrs: Linux 3.5.3-1.fc17.x86_64 x86_64 Vendor version: Fedora release 15 (Lovelock) Nightly build on bristol ( x86_64, Fedora 15 ) Started at 2012-09-12 03:02:48 BST Ended at 2012-09-12 03:32:40 BST Results unchanged from 24 hours ago Checking out valgrind source tree ... done Configuring valgrind ... done Building valgrind ... done Running regression tests ... failed Regression test results follow == 627 tests, 3 stderr failures, 0 stdout failures, 1 stderrB failure, 2 stdoutB failures, 0 post failures == gdbserver_tests/mcinfcallWSRU (stderrB) gdbserver_tests/nlcontrolc (stdoutB) gdbserver_tests/nlpasssigalrm (stdoutB) memcheck/tests/err_disable4 (stderr) memcheck/tests/origin5-bz2 (stderr) memcheck/tests/overlap (stderr) |
|
From: Tom H. <to...@co...> - 2012-09-12 02:22:20
|
valgrind revision: 12965 VEX revision: 2523 C compiler: gcc (GCC) 4.6.3 20120306 (Red Hat 4.6.3-2) Assembler: GNU assembler version 2.21.53.0.1-6.fc16 20110716 C library: GNU C Library development release version 2.14.90 uname -mrs: Linux 3.5.3-1.fc17.x86_64 x86_64 Vendor version: Fedora release 16 (Verne) Nightly build on bristol ( x86_64, Fedora 16 ) Started at 2012-09-12 02:51:48 BST Ended at 2012-09-12 03:22:04 BST Results unchanged from 24 hours ago Checking out valgrind source tree ... done Configuring valgrind ... done Building valgrind ... done Running regression tests ... failed Regression test results follow == 627 tests, 3 stderr failures, 0 stdout failures, 1 stderrB failure, 2 stdoutB failures, 0 post failures == gdbserver_tests/mcinfcallWSRU (stderrB) gdbserver_tests/nlcontrolc (stdoutB) gdbserver_tests/nlpasssigalrm (stdoutB) memcheck/tests/err_disable4 (stderr) memcheck/tests/origin5-bz2 (stderr) memcheck/tests/overlap (stderr) |
|
From: Christian B. <bor...@de...> - 2012-09-12 02:12:32
|
valgrind revision: 12965 VEX revision: 2523 C compiler: gcc (SUSE Linux) 4.3.4 [gcc-4_3-branch revision 152973] Assembler: GNU assembler (GNU Binutils; SUSE Linux Enterprise 11) 2.21.1 C library: GNU C Library stable release version 2.11.3 (20110527) uname -mrs: Linux 3.0.38-0.5-default s390x Vendor version: Welcome to SUSE Linux Enterprise Server 11 SP2 (s390x) - Kernel %r (%t). Nightly build on sless390 ( SUSE Linux Enterprise Server 11 SP1 gcc 4.3.4 on z196 (s390x) ) Started at 2012-09-12 03:45:01 CEST Ended at 2012-09-12 04:12:22 CEST Results unchanged from 24 hours ago Checking out valgrind source tree ... done Configuring valgrind ... done Building valgrind ... done Running regression tests ... failed Regression test results follow == 566 tests, 2 stderr failures, 0 stdout failures, 0 stderrB failures, 0 stdoutB failures, 0 post failures == helgrind/tests/tc18_semabuse (stderr) helgrind/tests/tc20_verifywrap (stderr) |
|
From: Tom H. <to...@co...> - 2012-09-12 02:12:06
|
valgrind revision: 12965 VEX revision: 2523 C compiler: gcc (GCC) 4.7.0 20120507 (Red Hat 4.7.0-5) Assembler: GNU assembler version 2.22.52.0.1-10.fc17 20120131 C library: GNU C Library stable release version 2.15 uname -mrs: Linux 3.5.3-1.fc17.x86_64 x86_64 Vendor version: Fedora release 17 (Beefy Miracle) Nightly build on bristol ( x86_64, Fedora 17 (Beefy Miracle) ) Started at 2012-09-12 02:41:13 BST Ended at 2012-09-12 03:11:51 BST Results unchanged from 24 hours ago Checking out valgrind source tree ... done Configuring valgrind ... done Building valgrind ... done Running regression tests ... failed Regression test results follow == 627 tests, 7 stderr failures, 1 stdout failure, 1 stderrB failure, 2 stdoutB failures, 0 post failures == gdbserver_tests/mcinfcallRU (stderr) gdbserver_tests/mcinfcallWSRU (stderr) gdbserver_tests/mcinfcallWSRU (stderrB) gdbserver_tests/mcmain_pic (stderr) gdbserver_tests/nlcontrolc (stdoutB) gdbserver_tests/nlpasssigalrm (stdoutB) memcheck/tests/err_disable4 (stderr) memcheck/tests/origin5-bz2 (stderr) memcheck/tests/overlap (stderr) exp-sgcheck/tests/preen_invars (stdout) exp-sgcheck/tests/preen_invars (stderr) |