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
(32) |
Oct
|
Nov
|
Dec
|
| S | M | T | W | T | F | S |
|---|---|---|---|---|---|---|
|
|
|
|
|
|
1
(11) |
2
(8) |
|
3
(8) |
4
(8) |
5
(8) |
6
(19) |
7
(17) |
8
(12) |
9
(10) |
|
10
(15) |
11
(18) |
12
(14) |
13
(16) |
14
(24) |
15
(16) |
16
(12) |
|
17
(25) |
18
(23) |
19
(12) |
20
(10) |
21
(9) |
22
(12) |
23
(13) |
|
24
(19) |
25
(7) |
26
(39) |
27
(22) |
28
(22) |
29
(16) |
30
(13) |
|
31
(23) |
|
|
|
|
|
|
|
From: <sv...@va...> - 2006-12-26 02:25:49
|
Author: sewardj
Date: 2006-12-26 02:25:46 +0000 (Tue, 26 Dec 2006)
New Revision: 1698
Log:
Merge r1678 (jcxz (x86))
Modified:
branches/VEX_3_2_BRANCH/priv/guest-x86/toIR.c
Modified: branches/VEX_3_2_BRANCH/priv/guest-x86/toIR.c
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D
--- branches/VEX_3_2_BRANCH/priv/guest-x86/toIR.c 2006-12-26 02:24:12 UTC=
(rev 1697)
+++ branches/VEX_3_2_BRANCH/priv/guest-x86/toIR.c 2006-12-26 02:25:46 UTC=
(rev 1698)
@@ -10834,6 +10834,28 @@
=20
after_sse_decoders:
=20
+ /* ---------------------------------------------------- */
+ /* --- deal with misc 0x67 pfxs (addr size override) -- */
+ /* ---------------------------------------------------- */
+
+ /* 67 E3 =3D JCXZ (for JECXZ see below) */
+ if (insn[0] =3D=3D 0x67 && insn[1] =3D=3D 0xE3 && sz =3D=3D 4) {
+ delta +=3D 2;
+ d32 =3D (((Addr32)guest_EIP_bbstart)+delta+1) + getSDisp8(delta);
+ delta ++;
+ stmt( IRStmt_Exit(
+ binop(Iop_CmpEQ16, getIReg(2,R_ECX), mkU16(0)),
+ Ijk_Boring,
+ IRConst_U32(d32)
+ ));
+ DIP("jcxz 0x%x\n", d32);
+ goto decode_success;
+ }
+
+ /* ---------------------------------------------------- */
+ /* --- start of the baseline insn decoder -- */
+ /* ---------------------------------------------------- */
+
/* Get the primary opcode. */
opc =3D getIByte(delta); delta++;
=20
@@ -11164,21 +11186,16 @@
DIP("j%s-8 0x%x\n", name_X86Condcode(opc - 0x70), d32);
break;
=20
- case 0xE3: /* JECXZ or perhaps JCXZ, depending on OSO ? Intel
- manual says it depends on address size override. */
+ case 0xE3: /* JECXZ (for JCXZ see above) */
if (sz !=3D 4) goto decode_failure;
d32 =3D (((Addr32)guest_EIP_bbstart)+delta+1) + getSDisp8(delta);
- delta++;
- ty =3D szToITy(sz);
+ delta ++;
stmt( IRStmt_Exit(
- binop(mkSizedOp(ty,Iop_CmpEQ8),
- getIReg(sz,R_ECX),
- mkU(ty,0)),
+ binop(Iop_CmpEQ32, getIReg(4,R_ECX), mkU32(0)),
Ijk_Boring,
- IRConst_U32(d32))=20
- );
-
- DIP("j%sz 0x%x\n", nameIReg(sz, R_ECX), d32);
+ IRConst_U32(d32)
+ ));
+ DIP("jecxz 0x%x\n", d32);
break;
=20
case 0xE0: /* LOOPNE disp8: decrement count, jump if count !=3D 0 && =
ZF=3D=3D0 */
|
|
From: <sv...@va...> - 2006-12-26 02:24:14
|
Author: sewardj
Date: 2006-12-26 02:24:12 +0000 (Tue, 26 Dec 2006)
New Revision: 1697
Log:
Merge r1675 (x86 COPY-CondP rule)
Modified:
branches/VEX_3_2_BRANCH/priv/guest-x86/ghelpers.c
Modified: branches/VEX_3_2_BRANCH/priv/guest-x86/ghelpers.c
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D
--- branches/VEX_3_2_BRANCH/priv/guest-x86/ghelpers.c 2006-12-26 02:22:38=
UTC (rev 1696)
+++ branches/VEX_3_2_BRANCH/priv/guest-x86/ghelpers.c 2006-12-26 02:24:12=
UTC (rev 1697)
@@ -1161,6 +1161,23 @@
);
}
=20
+ if (isU32(cc_op, X86G_CC_OP_COPY) && isU32(cond, X86CondP)) {
+ /* COPY, then P --> extract P from dep1, and test (P =3D=3D 1).=
*/
+ return
+ unop(
+ Iop_1Uto32,
+ binop(
+ Iop_CmpNE32,
+ binop(
+ Iop_And32,
+ binop(Iop_Shr32, cc_dep1, mkU8(X86G_CC_SHIFT_P)),
+ mkU32(1)
+ ),
+ mkU32(0)
+ )
+ );
+ }
+
return NULL;
}
=20
|
|
From: <sv...@va...> - 2006-12-26 02:22:40
|
Author: sewardj
Date: 2006-12-26 02:22:38 +0000 (Tue, 26 Dec 2006)
New Revision: 1696
Log:
Duh; fix compile breakage caused by r1694.
Modified:
branches/VEX_3_2_BRANCH/priv/guest-amd64/toIR.c
Modified: branches/VEX_3_2_BRANCH/priv/guest-amd64/toIR.c
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D
--- branches/VEX_3_2_BRANCH/priv/guest-amd64/toIR.c 2006-12-26 02:08:21 U=
TC (rev 1695)
+++ branches/VEX_3_2_BRANCH/priv/guest-amd64/toIR.c 2006-12-26 02:22:38 U=
TC (rev 1696)
@@ -12170,7 +12170,7 @@
if (have66orF2orF3(pfx)) goto decode_failure;
d64 =3D getUDisp16(delta);=20
delta +=3D 2;
- dis_ret(vmi, d64);
+ dis_ret(d64);
dres.whatNext =3D Dis_StopHere;
DIP("ret %lld\n", d64);
break;
|
|
From: <sv...@va...> - 2006-12-26 02:08:23
|
Author: sewardj
Date: 2006-12-26 02:08:21 +0000 (Tue, 26 Dec 2006)
New Revision: 1695
Log:
Merge r1679 (x86 Grp5(R) case 6)
Modified:
branches/VEX_3_2_BRANCH/priv/guest-x86/toIR.c
Modified: branches/VEX_3_2_BRANCH/priv/guest-x86/toIR.c
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D
--- branches/VEX_3_2_BRANCH/priv/guest-x86/toIR.c 2006-12-26 02:06:09 UTC=
(rev 1694)
+++ branches/VEX_3_2_BRANCH/priv/guest-x86/toIR.c 2006-12-26 02:08:21 UTC=
(rev 1695)
@@ -2815,6 +2815,13 @@
jmp_treg(Ijk_Boring,t1);
dres->whatNext =3D Dis_StopHere;
break;
+ case 6: /* PUSH Ev */
+ vassert(sz =3D=3D 4 || sz =3D=3D 2);
+ t2 =3D newTemp(Ity_I32);
+ assign( t2, binop(Iop_Sub32,getIReg(4,R_ESP),mkU32(sz)) );
+ putIReg(4, R_ESP, mkexpr(t2) );
+ storeLE( mkexpr(t2), mkexpr(t1) );
+ break;
default:=20
vex_printf(
"unhandled Grp5(R) case %d\n", (Int)gregOfRM(modrm));
|
|
From: <sv...@va...> - 2006-12-26 02:06:10
|
Author: sewardj
Date: 2006-12-26 02:06:09 +0000 (Tue, 26 Dec 2006)
New Revision: 1694
Log:
Merge r1676 (amd64 ret imm16)
Modified:
branches/VEX_3_2_BRANCH/priv/guest-amd64/toIR.c
Modified: branches/VEX_3_2_BRANCH/priv/guest-amd64/toIR.c
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D
--- branches/VEX_3_2_BRANCH/priv/guest-amd64/toIR.c 2006-12-26 02:04:04 U=
TC (rev 1693)
+++ branches/VEX_3_2_BRANCH/priv/guest-amd64/toIR.c 2006-12-26 02:06:09 U=
TC (rev 1694)
@@ -514,13 +514,13 @@
return v;
}
=20
-//.. static UInt getUDisp16 ( Long delta )
-//.. {
-//.. UInt v =3D guest_code[delta+1]; v <<=3D 8;
-//.. v |=3D guest_code[delta+0];
-//.. return v & 0xFFFF;
-//.. }
-//..=20
+static UInt getUDisp16 ( Long delta )
+{
+ UInt v =3D guest_code[delta+1]; v <<=3D 8;
+ v |=3D guest_code[delta+0];
+ return v & 0xFFFF;
+}
+
//.. static UInt getUDisp ( Int size, Long delta )
//.. {
//.. switch (size) {
@@ -733,6 +733,12 @@
return toBool( ! haveNo66noF2noF3(pfx) );
}
=20
+/* Return True iff pfx has 66 or F2 set */
+static Bool have66orF2 ( Prefix pfx )
+{
+ return toBool((pfx & (PFX_66|PFX_F2)) > 0);
+}
+
/* Clear all the segment-override bits in a prefix. */
static Prefix clearSegBits ( Prefix p )
{
@@ -12160,15 +12166,17 @@
=20
/* ------------------------ Control flow --------------- */
=20
-//.. case 0xC2: /* RET imm16 */
-//.. d32 =3D getUDisp16(delta);=20
-//.. delta +=3D 2;
-//.. dis_ret(d32);
-//.. whatNext =3D Dis_StopHere;
-//.. DIP("ret %d\n", d32);
-//.. break;
+ case 0xC2: /* RET imm16 */
+ if (have66orF2orF3(pfx)) goto decode_failure;
+ d64 =3D getUDisp16(delta);=20
+ delta +=3D 2;
+ dis_ret(vmi, d64);
+ dres.whatNext =3D Dis_StopHere;
+ DIP("ret %lld\n", d64);
+ break;
+
case 0xC3: /* RET */
- if (haveF2(pfx)) goto decode_failure;
+ if (have66orF2(pfx)) goto decode_failure;
/* F3 is acceptable on AMD. */
dis_ret(0);
dres.whatNext =3D Dis_StopHere;
|
|
From: <sv...@va...> - 2006-12-26 02:04:09
|
Author: sewardj
Date: 2006-12-26 02:04:04 +0000 (Tue, 26 Dec 2006)
New Revision: 1693
Log:
Merge r1673/4 (x86 repne movsw)
Modified:
branches/VEX_3_2_BRANCH/priv/guest-x86/toIR.c
Modified: branches/VEX_3_2_BRANCH/priv/guest-x86/toIR.c
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D
--- branches/VEX_3_2_BRANCH/priv/guest-x86/toIR.c 2006-12-26 02:01:37 UTC=
(rev 1692)
+++ branches/VEX_3_2_BRANCH/priv/guest-x86/toIR.c 2006-12-26 02:04:04 UTC=
(rev 1693)
@@ -11919,17 +11919,22 @@
/* According to the Intel manual, "repne movs" should never occur,=
but
* in practice it has happened, so allow for it here... */
case 0xA4: sz =3D 1; /* REPNE MOVS<sz> */
- goto decode_failure;
-//-- case 0xA5:=20
- // dis_REP_op ( CondNZ, dis_MOVS, sz, eip_orig,
- // guest_eip_bbstart+delta, "repne =
movs" );
- // break;
+ case 0xA5:=20
+ dis_REP_op ( X86CondNZ, dis_MOVS, sz, eip_orig,
+ guest_EIP_bbstart+delta, "repne movs" )=
;
+ break;
//--=20
//-- case 0xA6: sz =3D 1; /* REPNE CMPS<sz> */
//-- case 0xA7:
//-- dis_REP_op ( cb, CondNZ, dis_CMPS, sz, eip_orig, eip, "rep=
ne cmps" );
//-- break;
//--=20
+ case 0xAA: sz =3D 1; /* REPNE STOS<sz> */
+ case 0xAB:
+ dis_REP_op ( X86CondNZ, dis_STOS, sz, eip_orig,=20
+ guest_EIP_bbstart+delta, "repne stos" )=
;
+ break;
+
case 0xAE: sz =3D 1; /* REPNE SCAS<sz> */
case 0xAF:
dis_REP_op ( X86CondNZ, dis_SCAS, sz, eip_orig,
|
|
From: <sv...@va...> - 2006-12-26 02:01:39
|
Author: sewardj
Date: 2006-12-26 02:01:37 +0000 (Tue, 26 Dec 2006)
New Revision: 1692
Log:
Merge r1672 (x86 xlat)
Modified:
branches/VEX_3_2_BRANCH/priv/guest-x86/toIR.c
Modified: branches/VEX_3_2_BRANCH/priv/guest-x86/toIR.c
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D
--- branches/VEX_3_2_BRANCH/priv/guest-x86/toIR.c 2006-12-26 01:58:54 UTC=
(rev 1691)
+++ branches/VEX_3_2_BRANCH/priv/guest-x86/toIR.c 2006-12-26 02:01:37 UTC=
(rev 1692)
@@ -12041,23 +12041,23 @@
codegen_xchg_eAX_Reg ( sz, opc - 0x90 );
break;
=20
-//-- /* ------------------------ XLAT ----------------------- */
-//--=20
-//-- case 0xD7: /* XLAT */
-//-- t1 =3D newTemp(cb); t2 =3D newTemp(cb);
-//-- uInstr2(cb, GET, sz, ArchReg, R_EBX, TempReg, t1); /* get eBX=
*/
-//-- handleSegOverride( cb, sorb, t1 ); /* make t1 D=
S:eBX */
-//-- uInstr2(cb, GET, 1, ArchReg, R_AL, TempReg, t2); /* get AL */
-//-- /* Widen %AL to 32 bits, so it's all defined when we add it. =
*/
-//-- uInstr1(cb, WIDEN, 4, TempReg, t2);
-//-- uWiden(cb, 1, False);
-//-- uInstr2(cb, ADD, sz, TempReg, t2, TempReg, t1); /* add AL to=
eBX */
-//-- uInstr2(cb, LOAD, 1, TempReg, t1, TempReg, t2); /* get byte =
at t1 into t2 */
-//-- uInstr2(cb, PUT, 1, TempReg, t2, ArchReg, R_AL); /* put byte =
into AL */
-//--=20
-//-- DIP("xlat%c [ebx]\n", nameISize(sz));
-//-- break;
+ /* ------------------------ XLAT ----------------------- */
=20
+ case 0xD7: /* XLAT */
+ if (sz !=3D 4) goto decode_failure; /* sz =3D=3D 2 is also allowed=
(0x66) */
+ putIReg(=20
+ 1,=20
+ R_EAX/*AL*/,
+ loadLE(Ity_I8,=20
+ handleSegOverride(=20
+ sorb,=20
+ binop(Iop_Add32,=20
+ getIReg(4, R_EBX),=20
+ unop(Iop_8Uto32, getIReg(1, R_EAX/*AL*/))))));
+
+ DIP("xlat%c [ebx]\n", nameISize(sz));
+ break;
+
/* ------------------------ IN / OUT ----------------------- */
=20
case 0xE4: /* IN imm8, AL */
|
|
From: <sv...@va...> - 2006-12-26 01:58:55
|
Author: sewardj
Date: 2006-12-26 01:58:54 +0000 (Tue, 26 Dec 2006)
New Revision: 1691
Log:
Merge r1667 (ppc32/64: support mcrfs)
Modified:
branches/VEX_3_2_BRANCH/priv/guest-ppc/toIR.c
Modified: branches/VEX_3_2_BRANCH/priv/guest-ppc/toIR.c
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D
--- branches/VEX_3_2_BRANCH/priv/guest-ppc/toIR.c 2006-12-26 01:56:49 UTC=
(rev 1690)
+++ branches/VEX_3_2_BRANCH/priv/guest-ppc/toIR.c 2006-12-26 01:58:54 UTC=
(rev 1691)
@@ -6497,23 +6497,27 @@
break;
}
=20
-//zz case 0x040: { // mcrfs (Move to Condition Register from FPSCR, P=
PC32 p465)
-//zz UChar crfD =3D toUChar( IFIELD( theInstr, 23, 3 ) );
-//zz UChar b21to22 =3D toUChar( IFIELD( theInstr, 21, 2 ) );
-//zz UChar crfS =3D toUChar( IFIELD( theInstr, 18, 3 ) );
-//zz UChar b11to17 =3D toUChar( IFIELD( theInstr, 11, 7 ) );
-//zz=20
-//zz IRTemp tmp =3D newTemp(Ity_I32);
-//zz=20
-//zz if (b21to22 !=3D 0 || b11to17 !=3D 0 || flag_rC !=3D 0) {
-//zz vex_printf("dis_fp_scr(ppc)(instr,mcrfs)\n");
-//zz return False;
-//zz }
-//zz DIP("mcrfs crf%d,crf%d\n", crfD, crfS);
-//zz assign( tmp, getGST_field( PPC_GST_FPSCR, crfS ) );
-//zz putGST_field( PPC_GST_CR, mkexpr(tmp), crfD );
-//zz break;
-//zz }
+ case 0x040: { // mcrfs (Move to Condition Register from FPSCR, PPC32 =
p465)
+ UChar crfD =3D toUChar( IFIELD( theInstr, 23, 3 ) );
+ UChar b21to22 =3D toUChar( IFIELD( theInstr, 21, 2 ) );
+ UChar crfS =3D toUChar( IFIELD( theInstr, 18, 3 ) );
+ UChar b11to17 =3D toUChar( IFIELD( theInstr, 11, 7 ) );
+ IRTemp tmp =3D newTemp(Ity_I32);
+ IRExpr* fpscr_all;
+ if (b21to22 !=3D 0 || b11to17 !=3D 0 || flag_rC !=3D 0) {
+ vex_printf("dis_fp_scr(ppc)(instr,mcrfs)\n");
+ return False;
+ }
+ DIP("mcrfs crf%d,crf%d\n", crfD, crfS);
+ vassert(crfD < 8);
+ vassert(crfS < 8);
+ fpscr_all =3D getGST_masked( PPC_GST_FPSCR, MASK_FPSCR_RN );
+ assign( tmp, binop(Iop_And32,
+ binop(Iop_Shr32,fpscr_all,mkU8(4 * (7-crfS))),
+ mkU32(0xF)) );
+ putGST_field( PPC_GST_CR, mkexpr(tmp), crfD );
+ break;
+ }
=20
case 0x046: { // mtfsb0 (Move to FPSCR Bit 0, PPC32 p478)
// Bit crbD of the FPSCR is cleared.
@@ -6545,8 +6549,9 @@
}
=20
case 0x247: { // mffs (Move from FPSCR, PPC32 p468)
- UChar frD_addr =3D ifieldRegDS(theInstr);
- UInt b11to20 =3D IFIELD(theInstr, 11, 10);
+ UChar frD_addr =3D ifieldRegDS(theInstr);
+ UInt b11to20 =3D IFIELD(theInstr, 11, 10);
+ IRExpr* fpscr_all =3D getGST_masked( PPC_GST_FPSCR, MASK_FPSCR_RN =
);
=20
if (b11to20 !=3D 0) {
vex_printf("dis_fp_scr(ppc)(instr,mffs)\n");
@@ -6555,8 +6560,7 @@
DIP("mffs%s fr%u\n", flag_rC ? ".":"", frD_addr);
putFReg( frD_addr,
unop( Iop_ReinterpI64asF64,
- unop( Iop_32Uto64,=20
- getGST_masked( PPC_GST_FPSCR, MASK_FPSCR_RN ) )));
+ unop( Iop_32Uto64, fpscr_all )));
break;
}
=20
@@ -9004,7 +9008,7 @@
=20
/* Floating Point Status/Control Register Instructions */ =20
case 0x026: // mtfsb1
- /* case 0x040: // mcrfs */
+ case 0x040: // mcrfs
case 0x046: // mtfsb0
case 0x086: // mtfsfi
case 0x247: // mffs
|
|
From: <sv...@va...> - 2006-12-26 01:56:51
|
Author: sewardj
Date: 2006-12-26 01:56:49 +0000 (Tue, 26 Dec 2006)
New Revision: 1690
Log:
Merge r1660 (%eflags rule for SUBL-CondNLE)
Modified:
branches/VEX_3_2_BRANCH/priv/guest-x86/ghelpers.c
Modified: branches/VEX_3_2_BRANCH/priv/guest-x86/ghelpers.c
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D
--- branches/VEX_3_2_BRANCH/priv/guest-x86/ghelpers.c 2006-12-24 02:20:24=
UTC (rev 1689)
+++ branches/VEX_3_2_BRANCH/priv/guest-x86/ghelpers.c 2006-12-26 01:56:49=
UTC (rev 1690)
@@ -853,6 +853,16 @@
binop(Iop_CmpLE32S, cc_dep1, cc_dep2));
}
=20
+ if (isU32(cc_op, X86G_CC_OP_SUBL) && isU32(cond, X86CondNLE)) {
+ /* long sub/cmp, then LE (signed not less than or equal)
+ --> test dst >s src=20
+ --> test !(dst <=3Ds src) */
+ return binop(Iop_Xor32,
+ unop(Iop_1Uto32,
+ binop(Iop_CmpLE32S, cc_dep1, cc_dep2)),
+ mkU32(1));
+ }
+
if (isU32(cc_op, X86G_CC_OP_SUBL) && isU32(cond, X86CondBE)) {
/* long sub/cmp, then BE (unsigned less than or equal)
--> test dst <=3Du src */
|
|
From: <js...@ac...> - 2006-12-26 01:16:07
|
Nightly build on g5 ( SuSE 10.1, ppc970 ) started at 2006-12-26 02:00:01 CET 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 == 221 tests, 6 stderr failures, 2 stdout failures, 0 posttest failures == memcheck/tests/deep_templates (stdout) memcheck/tests/leak-cycle (stderr) memcheck/tests/leak-tree (stderr) memcheck/tests/pointer-trace (stderr) none/tests/faultstatus (stderr) none/tests/fdleak_cmsg (stderr) none/tests/mremap (stderr) none/tests/mremap2 (stdout) |
|
From: <sv...@va...> - 2006-12-25 23:32:50
|
Author: sewardj
Date: 2006-12-25 23:32:41 +0000 (Mon, 25 Dec 2006)
New Revision: 6420
Log:
Update, and make first attempt at deciding which bugs to fix for 3.2.2.
Modified:
trunk/docs/internals/3_2_BUGSTATUS.txt
Modified: trunk/docs/internals/3_2_BUGSTATUS.txt
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D
--- trunk/docs/internals/3_2_BUGSTATUS.txt 2006-12-24 07:54:19 UTC (rev 6=
419)
+++ trunk/docs/internals/3_2_BUGSTATUS.txt 2006-12-25 23:32:41 UTC (rev 6=
420)
@@ -5,8 +5,11 @@
many =3D fix composed of many commits
sse3fix =3D fixed by the SSE3 commits
[W] =3D waiting for feedback from bug reporter
-Vfd =3D fix has been verified on 3.2.X branch
=20
+PRI: 32 =3D fix this for 3.2.2
+ Vfd =3D fix has been verified on 3.2.X branch
+ s93 =3D possible SuSE 9.3 amd64 assembler bug
+
------- Bugs reported after (in) 3.2.1, or ------
------- reported in 3.2.0 but not fixed in 3.2.1 ------
=20
@@ -17,24 +20,33 @@
pending pending 129968 amd64->IR: 0xF 0xAE 0x0 (fxsave)
=3D=3D134319
=20
-pending pending 133054 'make install' fails with syntax errors
+pending pending 32 133054 'make install' fails with syntax errors
+ =3D=3D118903
=20
pending wontfix 133154 crash when using client requests to=20
register/deregister stack
=20
-pending pending 132998 startup fails in when running on UML
+pending pending 32 132998 startup fails in when running on UML
+ (/proc/self/map start=3D=3Dend problem)
=20
-pending pending 133327 support for voicetronix ioctl (w/patch)
+pending pending 32 133327 support for voicetronix ioctl (w/patch)
=20
-pending pending 133679 Callgrind does not write path names to=20
+pending pending 32 133679 Callgrind does not write path names to=20
sources with dwarf debug info
+ (dirnames)
=20
-pending pending [W] 133962 amd64->IR: 0xF2 0x4C 0xF 0x10 (rex64X ...=
)
+pending pending s93 133962 amd64->IR: 0xF2 0x4C 0xF 0x10 (rex64X ...=
)
=20
-pending pending [W] 134207 pkg-config output contains @VG_PLATFORM@
+pending pending s93 135023 amd64->IR: 0x49 0xDD 0x86 0xE0=20
+ (rex64Z fldl 0xe0(%r14))
=20
-vx1660 pending n-i-bz %eflags rule for SUBL-CondNLE
+pending pending s93 136529 Unhandled instruction error for legal
+ instruction
=20
+pending pending 32 134207 pkg-config output contains @VG_PLATFORM@
+
+vx1660 pending 32 n-i-bz %eflags rule for SUBL-CondNLE
+
Signal race condition (users list, 13 June, Johannes Berg)
=20
Unrecognised instruction at address 0x70198EC2 (users, 19 July, Bennee)
@@ -50,78 +62,101 @@
pending pending 134316 Callgrind does not distinguish between
parent and child
=20
-v6084 pending 134727 valgrind exits with "Value too large
+v6084 pending 32 134727 valgrind exits with "Value too large
for defined data type"
=20
-vx1667 pending n-i-bz ppc32/64: support mcrfs
+vx1667 pending 32 n-i-bz ppc32/64: support mcrfs
=20
-v6211 pending n-i-bz Cachegrind: Update cache parameter detect=
ion
+v6211 pending 32 n-i-bz Cachegrind: Update cache parameter detect=
ion
=20
-vx1672 pending 135012 x86->IR: 0xD7 0x8A 0xE0 0xD0 (xlat)
+vx1672 pending 32 135012 x86->IR: 0xD7 0x8A 0xE0 0xD0 (xlat)
=3D=3D125959
=20
-pending pending [W] 135023 amd64->IR: 0x49 0xDD 0x86 0xE0=20
- (rex64Z fldl 0xe0(%r14))
-
-vx1673/4 pending [W] 126147 x86->IR: 0xF2 0xA5 0xF 0x77 (repne
+vx1673/4 pending 32 126147 x86->IR: 0xF2 0xA5 0xF 0x77 (repne
movsw) w/test
=20
-vx1676 pending [W] 136650 amd64->IR: 0xC2 0x8 0x0
+vx1676 pending 32 136650 amd64->IR: 0xC2 0x8 0x0
=20
-vx1679 pending 135421 x86->IR: unhandled Grp5(R) case 6 [ok]
+vx1679 pending 32 135421 x86->IR: unhandled Grp5(R) case 6 [ok]
=20
-vx1675 pending n-i-bz x86 COPY-CondP (Espindola #2, users, Nov =
1)
+vx1675 pending 32 n-i-bz x86 COPY-CondP (Espindola #2, users, Nov =
1)
(NEEDS VERIFICATION; regtest =3D espindol=
a2.c)
=20
vx1677 pending n-i-bz IR comments
=20
-vx1678 pending [W] n-i-bz jcxz (x86) (users, 8 Nov)
+vx1678 pending 32 n-i-bz jcxz (x86) (users, 8 Nov)
=20
-r6341 pending n-i-bz ExeContext hashing fix
+r6341 pending 32 n-i-bz ExeContext hashing fix
=20
-r6356 pending n-i-bz Dwarf CFI 0:24 0:32 0:48 0:7 (Nov 8)
+r6356 pending 32 n-i-bz Dwarf CFI 0:24 0:32 0:48 0:7 (Nov 8)
=20
-r6365 pending n-i-bz Drepper: obscure Cachegrind simulation bu=
g
-r6367 pending n-i-bz Same fix as r6365, but for Callgrind simu=
lation.
+r6365 pending 32 n-i-bz Drepper: obscure Cachegrind simulation bu=
g
+
+r6367 pending 32 n-i-bz Same fix as r6365, but for Callgrind simu=
lation.
+
XXX: check status of Core2 cpuid code
=20
-r6371 pending n-i-bz libmpiwrap.c: fix handling of MPI_LONG_DO=
UBLE
+r6371 pending 32 n-i-bz libmpiwrap.c: fix handling of MPI_LONG_DO=
UBLE
=20
-r6374 pending n-i-bz make User errors suppressible (XXX: DOCS!=
)
+r6374 pending 32 n-i-bz make User errors suppressible (XXX: DOCS!=
)
=20
-r6377/8 pending 136844 corrupted malloc line when using=20
+r6377/8 pending 32 136844 corrupted malloc line when using=20
=3D=3D138507 --gen-suppressions=3Dyes
=20
-vx1686 pending n-i-bz Reg-alloc speedups
+vx1686 pending 32 n-i-bz Reg-alloc speedups
=20
-r6382/3 pending n-i-bz Fix confusing leak-checker flag hints
+r6382/3 pending 32 n-i-bz Fix confusing leak-checker flag hints
=20
-r6384 r6385 n-i-bz Support recent autoswamp versions
+r6384 r6385 32 n-i-bz Support recent autoswamp versions
=20
+pending pending ? 135026 incorrect complaint that shm_nattch is=20
+ uninitialized
=20
-135026 valgrind incorrectly complain that shm_nattch is uninitialized
-135264 dcbzl instruction missing
-136059 patch to add better support for some USB ioctls
-136300 valgrind doesn't work on ppc{,64} with 64K pages
-136401 off-by-one in ESP checking
-118903 old bash (2.05) doesn't support empty list in for-loop
-136529 Unhandled instruction error for legal instruction
-Espindola #3 (dev, Nov 7)
-OOo folks want full pathnames
+pending pending ? 135264 ppc->IR: dcbzl instruction missing
=20
-x86 'int 3'
-expr_wont_match_me hack -> stable (118903)
-amd64 INCW-CondZ (Andr=C3=A9 W=C3=B6bbeking, users, Oct 19) (=3D=3D Espi=
ndola #1)
+pending pending ? 136401 off-by-one in ESP checking
=20
-ppc32/64 dispatcher speedups -> stable
-ppc64 vex fe/be improvements -> stable?
-check gcc-4.2 build
-ppc64 bigpage stuff
-lackey trace-mem patch ? (6 dec, dev)
+pending pending 32 n-i-bz amd64 INCW-CondZ (Andr=C3=A9 W=C3=B6bbeki=
ng,=20
+ users, Oct 19) (=3D=3D Espindola #1)
=20
-jm-insns fixes (r6404/5) -> stable
+r6291 pending 32 n-i-bz ppc32/64 dispatcher speedups
=20
+r1670/1 pending 32 n-i-bz ppc64 fe rld/rlw improvements
=20
+r1669 pending 32 n-i-bz ppc64 be imm64 improvement (hdefs.c only)
+
+pending pending 32 136300 support 64K pages on ppc64-linux
+ =3D=3D 139124
+
+r6404/5 pending 32 n-i-bz fix ppc insn set tests for gcc >=3D 4.1
+
+pending pending 32 137493 x86->IR: recent binutils no-ops
+
+pending pending 32 137714 x86->IR: 0x66 0xF 0xF7 0xC6 (maskmovdqu)
+
+pending pending 32 137830 crash upon delivery of SIGALRM (NPTL)
+
+pending pending 138019 valgrind memcheck crashes with SIGSEGV
+
+pending pending 32 138424 "failed in UME with error 22"
+ (at least produce a better error msg)
+ =3D=3D 138856
+
+r6410 pending 32 138627 Enhancement of prctl ioctl
+
+pending pending 32 138702 amd64->IR: 0xF0 0xF 0xC0 0x90
+ (lock xadd %dl,0xb5(%rax))
+
+r6411 pending 32 138896 usb ioctl handling
+ =3D=3D 136059 =20
+
+pending pending 32 139050 ppc32->IR: mftb/mftbu instructions not ha=
ndled
+
+pending pending 32 139076 valgrind VT_GETSTATE error
+
+Test/make run cleanly on SuSE 10.2 x86/amd64/ppc32 and FC6 ditto
+
+
------- Bugs reported and fixed in 3.2.0 ------
=20
SSE3 commits: vx1635,1636, v5997
|
|
From: Josef W. <Jos...@gm...> - 2006-12-25 14:14:53
|
On Sunday 24 December 2006 15:36, Julian Seward wrote: > So can I delete them? No concern from my side. Josef |
|
From: <js...@ac...> - 2006-12-25 05:39:22
|
Nightly build on minnie ( SuSE 10.0, ppc32 ) started at 2006-12-25 09:00:01 GMT 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 == 215 tests, 10 stderr failures, 6 stdout failures, 0 posttest failures == memcheck/tests/leak-tree (stderr) memcheck/tests/leakotron (stdout) memcheck/tests/pointer-trace (stderr) memcheck/tests/stack_changes (stderr) memcheck/tests/xml1 (stderr) none/tests/faultstatus (stderr) none/tests/fdleak_cmsg (stderr) none/tests/mremap (stderr) none/tests/mremap2 (stdout) none/tests/ppc32/jm-fp (stdout) none/tests/ppc32/jm-fp (stderr) none/tests/ppc32/round (stdout) none/tests/ppc32/round (stderr) none/tests/ppc32/test_fx (stdout) none/tests/ppc32/test_fx (stderr) none/tests/ppc32/test_gx (stdout) |
|
From: <js...@ac...> - 2006-12-25 05:04:18
|
Nightly build on phoenix ( SuSE 10.0 ) started at 2006-12-25 04:30:01 GMT Checking out vex source tree ... done Building vex ... done Checking out valgrind source tree ... done Configuring valgrind ... done Building valgrind ... done Running regression tests ... failed Regression test results follow == 250 tests, 6 stderr failures, 2 stdout failures, 0 posttest failures == memcheck/tests/leak-tree (stderr) memcheck/tests/pointer-trace (stderr) memcheck/tests/stack_switch (stderr) memcheck/tests/x86/scalar (stderr) memcheck/tests/x86/scalar_supp (stderr) none/tests/mremap (stderr) none/tests/mremap2 (stdout) none/tests/pth_detached (stdout) |
|
From: Tom H. <to...@co...> - 2006-12-25 03:53:55
|
Nightly build on dunsmere ( athlon, Fedora Core 6 ) started at 2006-12-25 03:30:05 GMT 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 == 252 tests, 5 stderr failures, 2 stdout failures, 0 posttest failures == memcheck/tests/pointer-trace (stderr) memcheck/tests/stack_switch (stderr) memcheck/tests/x86/scalar (stderr) memcheck/tests/xml1 (stderr) none/tests/mremap (stderr) none/tests/mremap2 (stdout) none/tests/pth_detached (stdout) |
|
From: Tom H. <th...@cy...> - 2006-12-25 03:24:27
|
Nightly build on dellow ( x86_64, Fedora Core 6 ) started at 2006-12-25 03:10:06 GMT 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 == 280 tests, 4 stderr failures, 2 stdout failures, 0 posttest failures == memcheck/tests/pointer-trace (stderr) memcheck/tests/x86/scalar (stderr) memcheck/tests/xml1 (stderr) none/tests/mremap (stderr) none/tests/mremap2 (stdout) none/tests/pth_detached (stdout) |
|
From: <js...@ac...> - 2006-12-25 01:09:12
|
Nightly build on g5 ( SuSE 10.1, ppc970 ) started at 2006-12-25 02:00:01 CET
Results differ from 24 hours ago
Checking out valgrind source tree ... done
Configuring valgrind ... done
Building valgrind ... done
Running regression tests ... failed
Regression test results follow
== 221 tests, 6 stderr failures, 2 stdout failures, 0 posttest failures ==
memcheck/tests/deep_templates (stdout)
memcheck/tests/leak-cycle (stderr)
memcheck/tests/leak-tree (stderr)
memcheck/tests/pointer-trace (stderr)
none/tests/faultstatus (stderr)
none/tests/fdleak_cmsg (stderr)
none/tests/mremap (stderr)
none/tests/mremap2 (stdout)
=================================================
== Results from 24 hours ago ==
=================================================
Checking out valgrind source tree ... done
Configuring valgrind ... done
Building valgrind ... failed
Last 20 lines of verbose log follow echo
m_errormgr.c:1028: error: 'VgToolInterface' has no member named 'tool_recognised_suppression'
m_errormgr.c:1028: error: 'VgToolInterface' has no member named 'tool_recognised_suppression'
m_errormgr.c:1028: warning: left-hand operand of comma expression has no effect
m_errormgr.c:1046: error: 'VgToolInterface' has no member named 'tool_read_extra_suppression_info'
m_errormgr.c:1046: error: 'VgToolInterface' has no member named 'tool_read_extra_suppression_info'
m_errormgr.c:1046: warning: left-hand operand of comma expression has no effect
m_errormgr.c: In function 'supp_matches_error':
m_errormgr.c:1131: error: 'VgToolInterface' has no member named 'tool_error_matches_suppression'
m_errormgr.c:1131: error: 'VgToolInterface' has no member named 'tool_error_matches_suppression'
m_errormgr.c:1131: warning: left-hand operand of comma expression has no effect
m_errormgr.c:1140: warning: control reaches end of non-void function
m_errormgr.c: In function 'eq_Error':
m_errormgr.c:286: warning: control reaches end of non-void function
make[3]: *** [libcoregrind_ppc32_linux_a-m_errormgr.o] Error 1
make[3]: Leaving directory `/home/sewardj/Nightly/valgrind/coregrind'
make[2]: *** [all] Error 2
make[2]: Leaving directory `/home/sewardj/Nightly/valgrind/coregrind'
make[1]: *** [all-recursive] Error 1
make[1]: Leaving directory `/home/sewardj/Nightly/valgrind'
make: *** [all] Error 2
=================================================
== Difference between 24 hours ago and now ==
=================================================
*** old.short Mon Dec 25 02:01:13 2006
--- new.short Mon Dec 25 02:09:07 2006
***************
*** 3,26 ****
Configuring valgrind ... done
! Building valgrind ... failed
- Last 20 lines of verbose log follow echo
- m_errormgr.c:1028: error: 'VgToolInterface' has no member named 'tool_recognised_suppression'
- m_errormgr.c:1028: error: 'VgToolInterface' has no member named 'tool_recognised_suppression'
- m_errormgr.c:1028: warning: left-hand operand of comma expression has no effect
- m_errormgr.c:1046: error: 'VgToolInterface' has no member named 'tool_read_extra_suppression_info'
- m_errormgr.c:1046: error: 'VgToolInterface' has no member named 'tool_read_extra_suppression_info'
- m_errormgr.c:1046: warning: left-hand operand of comma expression has no effect
- m_errormgr.c: In function 'supp_matches_error':
- m_errormgr.c:1131: error: 'VgToolInterface' has no member named 'tool_error_matches_suppression'
- m_errormgr.c:1131: error: 'VgToolInterface' has no member named 'tool_error_matches_suppression'
- m_errormgr.c:1131: warning: left-hand operand of comma expression has no effect
- m_errormgr.c:1140: warning: control reaches end of non-void function
- m_errormgr.c: In function 'eq_Error':
- m_errormgr.c:286: warning: control reaches end of non-void function
- make[3]: *** [libcoregrind_ppc32_linux_a-m_errormgr.o] Error 1
- make[3]: Leaving directory `/home/sewardj/Nightly/valgrind/coregrind'
- make[2]: *** [all] Error 2
- make[2]: Leaving directory `/home/sewardj/Nightly/valgrind/coregrind'
- make[1]: *** [all-recursive] Error 1
- make[1]: Leaving directory `/home/sewardj/Nightly/valgrind'
- make: *** [all] Error 2
--- 3,18 ----
Configuring valgrind ... done
! Building valgrind ... done
! Running regression tests ... failed
!
! Regression test results follow
!
! == 221 tests, 6 stderr failures, 2 stdout failures, 0 posttest failures ==
! memcheck/tests/deep_templates (stdout)
! memcheck/tests/leak-cycle (stderr)
! memcheck/tests/leak-tree (stderr)
! memcheck/tests/pointer-trace (stderr)
! none/tests/faultstatus (stderr)
! none/tests/fdleak_cmsg (stderr)
! none/tests/mremap (stderr)
! none/tests/mremap2 (stdout)
|
|
From: Nicholas N. <nj...@cs...> - 2006-12-24 21:02:13
|
On Sun, 24 Dec 2006, Julian Seward wrote: > While we're on the topic of thread-related stuff in the core-tool > interface: I saw these in include/pub_tool_tooliface.h: > > void VG_(track_pre_mutex_lock)(void(*f)(ThreadId tid, Addr mutex)); > void VG_(track_post_mutex_lock)(void(*f)(ThreadId tid, Addr mutex)); > void VG_(track_post_mutex_unlock)(void(*f)(ThreadId tid, Addr mutex)); > > I'm pretty sure these are not used. From grepping I see there are > no places where the core calls these (iow, no VG_TRACK(..)) calls for > them. And there is no way there could be, because the core isn't > intercepting pth_mutex_lock/unlock any more so it doesn't know when > these events happen. > > So can I delete them? Bart, I presume you don't need them since drd > intercepts pth_mutex_lock/unlock itself and doesn't rely on the core > for that. Fine by me. Nick |
|
From: Bart V. A. <bar...@gm...> - 2006-12-24 16:34:03
|
On 12/24/06, Julian Seward <js...@ac...> wrote: > > > While we're on the topic of thread-related stuff in the core-tool > interface: I saw these in include/pub_tool_tooliface.h: > > void VG_(track_pre_mutex_lock)(void(*f)(ThreadId tid, Addr mutex)); > void VG_(track_post_mutex_lock)(void(*f)(ThreadId tid, Addr mutex)); > void VG_(track_post_mutex_unlock)(void(*f)(ThreadId tid, Addr mutex)); > > I'm pretty sure these are not used. From grepping I see there are > no places where the core calls these (iow, no VG_TRACK(..)) calls for > them. And there is no way there could be, because the core isn't > intercepting pth_mutex_lock/unlock any more so it doesn't know when > these events happen. > > So can I delete them? Bart, I presume you don't need them since drd > intercepts pth_mutex_lock/unlock itself and doesn't rely on the core > for that. > > J > I think at this time only helgrind uses these tracking functions. If you have a look at the drd patch, you will see that I have removed the mutex tracking functions in the drd patch. Bart. |
|
From: Julian S. <js...@ac...> - 2006-12-24 14:26:32
|
While we're on the topic of thread-related stuff in the core-tool interface: I saw these in include/pub_tool_tooliface.h: void VG_(track_pre_mutex_lock)(void(*f)(ThreadId tid, Addr mutex)); void VG_(track_post_mutex_lock)(void(*f)(ThreadId tid, Addr mutex)); void VG_(track_post_mutex_unlock)(void(*f)(ThreadId tid, Addr mutex)); I'm pretty sure these are not used. From grepping I see there are no places where the core calls these (iow, no VG_TRACK(..)) calls for them. And there is no way there could be, because the core isn't intercepting pth_mutex_lock/unlock any more so it doesn't know when these events happen. So can I delete them? Bart, I presume you don't need them since drd intercepts pth_mutex_lock/unlock itself and doesn't rely on the core for that. J On Saturday 23 December 2006 23:06, Josef Weidendorfer wrote: > On Saturday 23 December 2006 02:35, Julian Seward wrote: > > Josef, there may be some cleaning up possible w.r.t > > clg_thread_runstate_callback > > that I created. I did not want to modify CLG_(run_thread) because > > it is called from various places, not just as a callback, so I added > > this 'impedance matching' function instead. > > Yes, thanks. > > Regarding the frequency, I just checked how often the polling of > callgrind's command file was done before and after this change. > > This is for startup and directly quitting xclock. > > Before r6413: > :~> time strace -e open valgrind --tool=callgrind xclock &> z > > real 0m8.028s > user 0m4.132s > sys 0m0.156s > > :~> grep callgrind.cmd z | wc > > 709 7090 69130 > > After r6413: > :~> time strace -e open valgrind --tool=callgrind xclock &> z2 > > real 0m10.266s > user 0m4.840s > sys 0m1.784s > > :~> grep callgrind.cmd z2 | wc > > 39003 390030 3822297 > > There were around 10 million BBs executed. > So yes, this needs some fine tuning. Polling around 200 times per user > second was already a lot, but 10000 per second is _way_ too much. > > After calling CLG_(run_thread) only every 5000 BBs executed, I get > > back to the old behavior: > :~> time strace -e open valgrind -v --tool=callgrind xclock &> z3 > > real 0m6.452s > user 0m4.132s > sys 0m0.180s > weidendo@linux:~/tmp/clg> grep callgrind.cmd z3 | wc > 805 8050 78893 > > A lower polling frequency has to problem that the "interactivity" > gets lost if a client program is sleeping most of the time; and > that is the reason I should get rid of this polling method :-( > > Josef > > ------------------------------------------------------------------------- > Take Surveys. Earn Cash. Influence the Future of IT > Join SourceForge.net's Techsay panel and you'll get the chance to share > your opinions on IT & business topics through brief surveys - and earn cash > http://www.techsay.com/default.php?page=join.php&p=sourceforge&CID=DEVDEV > _______________________________________________ > Valgrind-developers mailing list > Val...@li... > https://lists.sourceforge.net/lists/listinfo/valgrind-developers |
|
From: Julian S. <js...@ac...> - 2006-12-24 14:20:47
|
> I think allowing thread naming is a good idea. Yes, me too. Seems like a small but helpful thing that the core can offer to thread-related tools. J |
|
From: Bart V. A. <bar...@gm...> - 2006-12-24 09:35:35
|
On 12/24/06, Nicholas Nethercote <nj...@cs...> wrote: > > Some error messages already print a thread ID, eg. "address X is on thread > 1's stack" -- which of these three does it correspond to? As far as I know only memcheck prints this kind of messages, and memcheck then prints Valgrind's thread ID's (ThreadId, I did not even mention these in my list). These are ID's that are not known by the client, and hence which are hard to correlate to thread ID's printed by the client. Bart. |
|
From: <sv...@va...> - 2006-12-24 07:54:20
|
Author: njn Date: 2006-12-24 07:54:19 +0000 (Sun, 24 Dec 2006) New Revision: 6419 Log: Add a NEWS item about Vex type/function name changes. Modified: trunk/NEWS Modified: trunk/NEWS =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D --- trunk/NEWS 2006-12-24 07:51:17 UTC (rev 6418) +++ trunk/NEWS 2006-12-24 07:54:19 UTC (rev 6419) @@ -20,6 +20,15 @@ they just return 3 (as before). Also, SET_VBITS doesn't report definedness errors if any of the V bits are undefined. =20 +Developer-visible changes: + +- The names of some functions and types within the Vex IR have changed. + So any existing tools will have to be updated to reflect these + changes. The new names should be clearer. The file + VEX/pub/libvex_ir.h is also much better commented, and serves as the + best documentation about Vex. + + Release 3.2.1 (16 Sept 2006) ~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 3.2.1 adds x86/amd64 support for all SSE3 instructions except monitor |
|
From: <sv...@va...> - 2006-12-24 07:51:24
|
Author: njn
Date: 2006-12-24 07:51:17 +0000 (Sun, 24 Dec 2006)
New Revision: 6418
Log:
Split the thread_runstate event into two, start_client_code and
stop_client_code, which is a bit clearer and easier to work with.
Modified:
trunk/callgrind/main.c
trunk/coregrind/m_scheduler/scheduler.c
trunk/coregrind/m_tooliface.c
trunk/coregrind/pub_core_tooliface.h
trunk/include/pub_tool_tooliface.h
Modified: trunk/callgrind/main.c
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D
--- trunk/callgrind/main.c 2006-12-24 03:02:18 UTC (rev 6417)
+++ trunk/callgrind/main.c 2006-12-24 07:51:17 UTC (rev 6418)
@@ -1022,18 +1022,13 @@
/*--- Setup ---*/
/*--------------------------------------------------------------------*/
=20
-static void clg_thread_runstate_callback ( ThreadId tid,
- Bool is_running,=20
- ULong blocks_done )
+static void clg_start_client_code_callback ( ThreadId tid, ULong blocks_=
done )
{
static ULong last_blocks_done =3D 0;
=20
if (0)
- VG_(printf)("%d %c %llu\n",=20
- (Int)tid, is_running ? 'R' : 's', blocks_done);
+ VG_(printf)("%d R %llu\n", (Int)tid, blocks_done);
=20
- if (!is_running) return;
-
/* throttle calls to CLG_(run_thread) by number of BBs executed */
if (blocks_done - last_blocks_done < 5000) return;
last_blocks_done =3D blocks_done;
@@ -1107,9 +1102,9 @@
VG_(needs_syscall_wrapper)(CLG_(pre_syscalltime),
CLG_(post_syscalltime));
=20
- VG_(track_thread_runstate) ( & clg_thread_runstate_callback );
- VG_(track_pre_deliver_signal) ( & CLG_(pre_signal) );
- VG_(track_post_deliver_signal) ( & CLG_(post_signal) );
+ VG_(track_start_client_code) ( & clg_start_client_code_callback );
+ VG_(track_pre_deliver_signal) ( & CLG_(pre_signal) );
+ VG_(track_post_deliver_signal)( & CLG_(post_signal) );
=20
CLG_(set_clo_defaults)();
}
Modified: trunk/coregrind/m_scheduler/scheduler.c
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D
--- trunk/coregrind/m_scheduler/scheduler.c 2006-12-24 03:02:18 UTC (rev =
6417)
+++ trunk/coregrind/m_scheduler/scheduler.c 2006-12-24 07:51:17 UTC (rev =
6418)
@@ -613,7 +613,7 @@
}
=20
// Tell the tool this thread is about to run client code
- VG_TRACK( thread_runstate, tid, True, bbs_done );
+ VG_TRACK( start_client_code, tid, bbs_done );
=20
vg_assert(VG_(in_generated_code) =3D=3D False);
VG_(in_generated_code) =3D True;
@@ -641,7 +641,7 @@
bbs_done +=3D (ULong)done_this_time;
=20
// Tell the tool this thread has stopped running client code
- VG_TRACK( thread_runstate, tid, False, bbs_done );
+ VG_TRACK( stop_client_code, tid, bbs_done );
=20
return trc;
}
@@ -690,7 +690,7 @@
argblock[3] =3D 0; /* guest state ptr afterwards is written here */
=20
// Tell the tool this thread is about to run client code
- VG_TRACK( thread_runstate, tid, True, bbs_done );
+ VG_TRACK( start_client_code, tid, bbs_done );
=20
vg_assert(VG_(in_generated_code) =3D=3D False);
VG_(in_generated_code) =3D True;
@@ -723,7 +723,7 @@
bbs_done++;
=20
// Tell the tool this thread has stopped running client code
- VG_TRACK( thread_runstate, tid, False, bbs_done );
+ VG_TRACK( stop_client_code, tid, bbs_done );
=20
return retval;
}
Modified: trunk/coregrind/m_tooliface.c
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D
--- trunk/coregrind/m_tooliface.c 2006-12-24 03:02:18 UTC (rev 6417)
+++ trunk/coregrind/m_tooliface.c 2006-12-24 07:51:17 UTC (rev 6418)
@@ -321,7 +321,8 @@
=20
DEF(track_post_reg_write_clientcall_return, ThreadId, OffT, SizeT, Addr)
=20
-DEF(track_thread_runstate, ThreadId, Bool, ULong)
+DEF(track_start_client_code, ThreadId, ULong)
+DEF(track_stop_client_code, ThreadId, ULong)
=20
DEF(track_post_thread_create, ThreadId, ThreadId)
DEF(track_post_thread_join, ThreadId, ThreadId)
Modified: trunk/coregrind/pub_core_tooliface.h
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D
--- trunk/coregrind/pub_core_tooliface.h 2006-12-24 03:02:18 UTC (rev 641=
7)
+++ trunk/coregrind/pub_core_tooliface.h 2006-12-24 07:51:17 UTC (rev 641=
8)
@@ -200,7 +200,8 @@
void (*track_post_reg_write)(CorePart, ThreadId, OffT, SizeT);
void (*track_post_reg_write_clientcall_return)(ThreadId, OffT, SizeT,=
Addr);
=20
- void (*track_thread_runstate)(ThreadId, Bool, ULong);
+ void (*track_start_client_code)(ThreadId, ULong);
+ void (*track_stop_client_code) (ThreadId, ULong);
=20
void (*track_post_thread_create)(ThreadId, ThreadId);
void (*track_post_thread_join) (ThreadId, ThreadId);
Modified: trunk/include/pub_tool_tooliface.h
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D
--- trunk/include/pub_tool_tooliface.h 2006-12-24 03:02:18 UTC (rev 6417)
+++ trunk/include/pub_tool_tooliface.h 2006-12-24 07:51:17 UTC (rev 6418)
@@ -539,17 +539,20 @@
/* Scheduler events (not exhaustive) */
=20
/* Called when 'tid' starts or stops running client code blocks.
- Gives the total dispatched block count at that event. Note, this
- is not the same as 'tid' holding the BigLock: a thread can hold the
- lock for other purposes (making translations, etc) yet not be
- running client blocks. Obviously though, a thread must hold the
- lock in order to run client code blocks, so the times bracketed by
- thread_runstate(tid, True, ..) .. thread_runstate(tid, False, ..)
- are a subset of the times when 'tid' holds the cpu lock.
+ Gives the total dispatched block count at that event. Note, this is
+ not the same as 'tid' holding the BigLock (the lock that ensures that
+ only one thread runs at a time): a thread can hold the lock for other
+ purposes (making translations, etc) yet not be running client blocks.
+ Obviously though, a thread must hold the lock in order to run client
+ code blocks, so the times bracketed by 'thread_run'..'thread_runstate=
'
+ are a subset of the times when thread 'tid' holds the cpu lock.
*/
-void VG_(track_thread_runstate)(
- void(*f)(ThreadId tid, Bool running, ULong blocks_dispatched)
+void VG_(track_start_client_code)(
+ void(*f)(ThreadId tid, ULong blocks_dispatched)
);
+void VG_(track_stop_client_code)(
+ void(*f)(ThreadId tid, ULong blocks_dispatched)
+ );
=20
=20
/* Thread events (not exhaustive)
@@ -560,6 +563,7 @@
void VG_(track_post_thread_create)(void(*f)(ThreadId tid, ThreadId child=
));
void VG_(track_post_thread_join) (void(*f)(ThreadId joiner, ThreadId jo=
inee));
=20
+
/* Mutex events (not exhaustive)
"void *mutex" is really a pthread_mutex *
=20
@@ -587,10 +591,6 @@
handler longjmps, this won't be called. */
void VG_(track_post_deliver_signal)(void(*f)(ThreadId tid, Int sigNo));
=20
-/* Others... condition variables...
- ...
- */
-
#endif // __PUB_TOOL_TOOLIFACE_H
=20
/*--------------------------------------------------------------------*/
|
|
From: <js...@ac...> - 2006-12-24 05:26:04
|
Nightly build on minnie ( SuSE 10.0, ppc32 ) started at 2006-12-24 09:00:01 GMT
Results differ from 24 hours ago
Checking out valgrind source tree ... done
Configuring valgrind ... done
Building valgrind ... done
Running regression tests ... failed
Regression test results follow
== 215 tests, 10 stderr failures, 6 stdout failures, 0 posttest failures ==
memcheck/tests/leak-tree (stderr)
memcheck/tests/leakotron (stdout)
memcheck/tests/pointer-trace (stderr)
memcheck/tests/stack_changes (stderr)
memcheck/tests/xml1 (stderr)
none/tests/faultstatus (stderr)
none/tests/fdleak_cmsg (stderr)
none/tests/mremap (stderr)
none/tests/mremap2 (stdout)
none/tests/ppc32/jm-fp (stdout)
none/tests/ppc32/jm-fp (stderr)
none/tests/ppc32/round (stdout)
none/tests/ppc32/round (stderr)
none/tests/ppc32/test_fx (stdout)
none/tests/ppc32/test_fx (stderr)
none/tests/ppc32/test_gx (stdout)
=================================================
== Results from 24 hours ago ==
=================================================
Checking out valgrind source tree ... done
Configuring valgrind ... done
Building valgrind ... failed
Last 20 lines of verbose log follow echo
m_errormgr.c:1028: error: 'VgToolInterface' has no member named 'tool_recognised_suppression'
m_errormgr.c:1028: error: 'VgToolInterface' has no member named 'tool_recognised_suppression'
m_errormgr.c:1028: warning: left-hand operand of comma expression has no effect
m_errormgr.c:1046: error: 'VgToolInterface' has no member named 'tool_read_extra_suppression_info'
m_errormgr.c:1046: error: 'VgToolInterface' has no member named 'tool_read_extra_suppression_info'
m_errormgr.c:1046: warning: left-hand operand of comma expression has no effect
m_errormgr.c: In function 'supp_matches_error':
m_errormgr.c:1131: error: 'VgToolInterface' has no member named 'tool_error_matches_suppression'
m_errormgr.c:1131: error: 'VgToolInterface' has no member named 'tool_error_matches_suppression'
m_errormgr.c:1131: warning: left-hand operand of comma expression has no effect
m_errormgr.c:1140: warning: control reaches end of non-void function
m_errormgr.c: In function 'eq_Error':
m_errormgr.c:286: warning: control reaches end of non-void function
make[3]: *** [libcoregrind_ppc32_linux_a-m_errormgr.o] Error 1
make[3]: Leaving directory `/home/sewardj/Nightly/valgrind/coregrind'
make[2]: *** [all] Error 2
make[2]: Leaving directory `/home/sewardj/Nightly/valgrind/coregrind'
make[1]: *** [all-recursive] Error 1
make[1]: Leaving directory `/home/sewardj/Nightly/valgrind'
make: *** [all] Error 2
=================================================
== Difference between 24 hours ago and now ==
=================================================
*** old.short Sun Dec 24 09:02:14 2006
--- new.short Sun Dec 24 09:13:52 2006
***************
*** 3,26 ****
Configuring valgrind ... done
! Building valgrind ... failed
- Last 20 lines of verbose log follow echo
- m_errormgr.c:1028: error: 'VgToolInterface' has no member named 'tool_recognised_suppression'
- m_errormgr.c:1028: error: 'VgToolInterface' has no member named 'tool_recognised_suppression'
- m_errormgr.c:1028: warning: left-hand operand of comma expression has no effect
- m_errormgr.c:1046: error: 'VgToolInterface' has no member named 'tool_read_extra_suppression_info'
- m_errormgr.c:1046: error: 'VgToolInterface' has no member named 'tool_read_extra_suppression_info'
- m_errormgr.c:1046: warning: left-hand operand of comma expression has no effect
- m_errormgr.c: In function 'supp_matches_error':
- m_errormgr.c:1131: error: 'VgToolInterface' has no member named 'tool_error_matches_suppression'
- m_errormgr.c:1131: error: 'VgToolInterface' has no member named 'tool_error_matches_suppression'
- m_errormgr.c:1131: warning: left-hand operand of comma expression has no effect
- m_errormgr.c:1140: warning: control reaches end of non-void function
- m_errormgr.c: In function 'eq_Error':
- m_errormgr.c:286: warning: control reaches end of non-void function
- make[3]: *** [libcoregrind_ppc32_linux_a-m_errormgr.o] Error 1
- make[3]: Leaving directory `/home/sewardj/Nightly/valgrind/coregrind'
- make[2]: *** [all] Error 2
- make[2]: Leaving directory `/home/sewardj/Nightly/valgrind/coregrind'
- make[1]: *** [all-recursive] Error 1
- make[1]: Leaving directory `/home/sewardj/Nightly/valgrind'
- make: *** [all] Error 2
--- 3,26 ----
Configuring valgrind ... done
! Building valgrind ... done
! Running regression tests ... failed
!
! Regression test results follow
!
! == 215 tests, 10 stderr failures, 6 stdout failures, 0 posttest failures ==
! memcheck/tests/leak-tree (stderr)
! memcheck/tests/leakotron (stdout)
! memcheck/tests/pointer-trace (stderr)
! memcheck/tests/stack_changes (stderr)
! memcheck/tests/xml1 (stderr)
! none/tests/faultstatus (stderr)
! none/tests/fdleak_cmsg (stderr)
! none/tests/mremap (stderr)
! none/tests/mremap2 (stdout)
! none/tests/ppc32/jm-fp (stdout)
! none/tests/ppc32/jm-fp (stderr)
! none/tests/ppc32/round (stdout)
! none/tests/ppc32/round (stderr)
! none/tests/ppc32/test_fx (stdout)
! none/tests/ppc32/test_fx (stderr)
! none/tests/ppc32/test_gx (stdout)
|