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
(14) |
2
(8) |
3
(7) |
|
4
(7) |
5
(7) |
6
(6) |
7
(11) |
8
(10) |
9
(14) |
10
(10) |
|
11
(13) |
12
(15) |
13
(6) |
14
(8) |
15
(6) |
16
(6) |
17
(6) |
|
18
(6) |
19
(11) |
20
(15) |
21
(14) |
22
(11) |
23
(7) |
24
(17) |
|
25
(14) |
26
(28) |
27
(21) |
28
(23) |
29
(21) |
30
(17) |
31
(8) |
|
From: <sv...@va...> - 2007-03-20 22:34:42
|
Author: njn
Date: 2007-03-20 22:32:07 +0000 (Tue, 20 Mar 2007)
New Revision: 316
Log:
Added the VEE paper details.
Modified:
trunk/docs/pubs.html
Modified: trunk/docs/pubs.html
===================================================================
--- trunk/docs/pubs.html 2007-03-02 23:19:58 UTC (rev 315)
+++ trunk/docs/pubs.html 2007-03-20 22:32:07 UTC (rev 316)
@@ -10,10 +10,9 @@
<ul>
<li><p>
- <b>Valgrind: A Framework for Heavyweight
- Dynamic Binary Instrumentation.<br>
+ <b>Valgrind: A Framework for Heavyweight Dynamic Binary Instrumentation.<br>
Nicholas Nethercote and Julian Seward.<br>
- Proceedings of the PLDI 2007, San Diego, California, USA, June 2007.</b><br>
+ Proceedings of PLDI 2007, San Diego, California, USA, June 2007.</b><br>
(Final version not yet available)<br>
This paper describes how Valgrind works, and how it differs from other
DBI frameworks such as Pin and DynamoRIO.
@@ -23,6 +22,18 @@
</p></li>
<li><p>
+ <b>How to Shadow Every Byte of Memory Used by a Program.<br>
+ Nicholas Nethercote and Julian Seward.<br>
+ Proceedings of VEE 2007, San Diego, California, USA, June 2007.</b><br>
+ (Final version not yet available)<br>
+ This paper describes in detail how Memcheck's shadow memory is
+ implemented, and compares it to other alternative approaches.
+ Please cite this paper if you are discussing shadow memory
+ implementations. You could also cite it when discussing Memcheck, but
+ please cite the USENIX paper in preference.
+ </p></li>
+
+ <li><p>
<b><a href="/docs/iiswc2006.pdf">Building Workload Characterization Tools
with Valgrind.</a><br>
Nicholas Nethercote, Robert Walsh and Jeremy Fitzhardinge.<br>
|
|
From: Julian S. <js...@ac...> - 2007-03-20 19:43:53
|
On Tuesday 20 March 2007 18:51, Josef Weidendorfer wrote:
> On Tuesday 20 March 2007, Julian Seward wrote:
> > > The problem is that it only returns the correct segment if the text
> > > segment
> > > overlaps the other segments, wich is quite unusual. I have replaced the
> > > functions for this and everything seems to work ok on Ubuntu 6.10:
> >
> > Um, yes. (!)
>
> Why?
Not sure what you're asking here.
> In r6506 and r6508, you renamed some variables without
> any functional change: in SegInfo struct, you renamed
> "start" to "text_start_avma", and "size" to "text_size".
> Why should this introduce bugs?
I don't think the renaming introduced any bugs and it would not have
changed the behaviour of this function either. All it does it to
make it easier to see that the ELF section management stuff is
basically broken for all sections != the text section, and needs
redesign. It assumes that the data and bss sections immediately
follow the text section, which happens to be what ld.so on x86-linux
does, but is essentially unjustifiable.
I think the conditional starting at readelf.c:965
("if (VG_(needs).data_syms" ...) is something to do with this. And
I believe this conditional is the probable cause of why Alberto
says
i found that the .text in
vgpreload_core.so overlapped the .bss and .data segments
Hmm. Alberto's change seems like a step in the right direction,
and the result might still work for drd, but the real problem is in
the assumptions about the relationship between SegInfos and mapped
segments. This is a swamp we've been in before
(see docs/internals/segments-seginfos.txt) but it might be easier
to get out of this time, given the increased sophistication of address
space management now.
J
|
|
From: Josef W. <Jos...@gm...> - 2007-03-20 18:51:25
|
On Tuesday 20 March 2007, Julian Seward wrote: > > > The problem is that it only returns the correct segment if the text > > segment > > overlaps the other segments, wich is quite unusual. I have replaced the > > functions for this and everything seems to work ok on Ubuntu 6.10: > > Um, yes. (!) Why? In r6506 and r6508, you renamed some variables without any functional change: in SegInfo struct, you renamed "start" to "text_start_avma", and "size" to "text_size". Why should this introduce bugs? However, I have no idea why every segment now is defined to be a text segment ;-) Josef |
|
From:
<a.g...@st...> - 2007-03-20 18:13:35
|
> Yes, i've also noticed that it sometimes works (it always works if =20 > you look for type text). For the other types, the .text segment =20 > must overlap the others (in my case i found that the .text in =20 > vgpreload_core.so overlapped the .bss and .data segments). > > Alberto El 20/03/2007, a las 18:50, Bart Van Assche escribi=F3: > On 3/20/07, Julian Seward <js...@ac...> wrote: > > > The problem is that it only returns the correct segment if the text > > segment > > overlaps the other segments, wich is quite unusual. I have =20 > replaced the > > functions for this and everything seems to work ok on Ubuntu 6.10: > > Um, yes. (!) My first reaction to the existing implementation is > that it is completely broken. Can you send a diff (svn diff -rHEAD > coregrind/m_debuginfo/debuginfo.c) ? Thanks. > > I use VG_(seginfo_sect_kind)() in drd, and it works at least on X86 =20= > and AMD64. > > Bart Van Assche. > ----------------------------------------------------------------------=20= > --- > Take Surveys. Earn Cash. Influence the Future of IT > Join SourceForge.net's Techsay panel and you'll get the chance to =20 > share your > opinions on IT & business topics through brief surveys-and earn cash > http://www.techsay.com/default.php?=20 > page=3Djoin.php&p=3Dsourceforge&CID=3DDEVDEV____________________________= ____=20 > _______________ > Valgrind-developers mailing list > Val...@li... > https://lists.sourceforge.net/lists/listinfo/valgrind-developers |
|
From: Bart V. A. <bar...@gm...> - 2007-03-20 17:50:21
|
On 3/20/07, Julian Seward <js...@ac...> wrote: > > > > The problem is that it only returns the correct segment if the text > > segment > > overlaps the other segments, wich is quite unusual. I have replaced the > > functions for this and everything seems to work ok on Ubuntu 6.10: > > Um, yes. (!) My first reaction to the existing implementation is > that it is completely broken. Can you send a diff (svn diff -rHEAD > coregrind/m_debuginfo/debuginfo.c) ? Thanks. > I use VG_(seginfo_sect_kind)() in drd, and it works at least on X86 and AMD64. Bart Van Assche. |
|
From:
<a.g...@st...> - 2007-03-20 17:34:27
|
I think there are quite more broken functions there. I will fix all i =20= can (basically all i use and can test that's well fixed) and then =20 submit the diff. (If you want the diff just for that function for =20 now, just ask and i'll send it). Alberto El 20/03/2007, a las 18:08, Julian Seward escribi=F3: > >> The problem is that it only returns the correct segment if the text >> segment >> overlaps the other segments, wich is quite unusual. I have =20 >> replaced the >> functions for this and everything seems to work ok on Ubuntu 6.10: > > Um, yes. (!) My first reaction to the existing implementation is > that it is completely broken. Can you send a diff (svn diff -rHEAD > coregrind/m_debuginfo/debuginfo.c) ? Thanks. > > J |
|
From: Julian S. <js...@ac...> - 2007-03-20 17:13:44
|
> The problem is that it only returns the correct segment if the text > segment > overlaps the other segments, wich is quite unusual. I have replaced the > functions for this and everything seems to work ok on Ubuntu 6.10: Um, yes. (!) My first reaction to the existing implementation is that it is completely broken. Can you send a diff (svn diff -rHEAD coregrind/m_debuginfo/debuginfo.c) ? Thanks. J |
|
From:
<a.g...@st...> - 2007-03-20 16:58:28
|
I don't know if this is a bug, because i don't have much knowledge of
the
internals of ELF. I'm coding a valgrind tool, and i wanted to use
VG_(seginfo_sect_kind). It always returns Vg_SectUnknown.
(line 953)
for(si = segInfo_list; si != NULL; si = si->next) {
if (a >= si->text_start_avma
&& a < si->text_start_avma + si->text_size) {
ret = Vg_SectText;
if (a >= si->data_start_avma && a < si->data_start_avma + si-
>data_size)
ret = Vg_SectData;
else
if (a >= si->bss_start_avma && a < si->bss_start_avma + si-
>bss_size)
ret = Vg_SectBSS;
else
if (a >= si->plt_start_avma && a < si->plt_start_avma + si-
>plt_size)
ret = Vg_SectPLT;
else
if (a >= si->got_start_avma && a < si->got_start_avma + si-
>got_size)
ret = Vg_SectGOT;
}
}
The problem is that it only returns the correct segment if the text
segment
overlaps the other segments, wich is quite unusual. I have replaced the
functions for this and everything seems to work ok on Ubuntu 6.10:
VgSectKind VG_(seginfo_sect_kind)(Addr a)
{
SegInfo* si;
for(si = segInfo_list; si != NULL; si = si->next) {
if (a >= si->text_start_avma && a < si->text_start_avma + si-
>text_size)
return Vg_SectText;
if (a >= si->data_start_avma && a < si->data_start_avma + si-
>data_size)
return Vg_SectData;
if (a >= si->bss_start_avma && a < si->bss_start_avma + si-
>bss_size)
return Vg_SectBSS;
if (a >= si->plt_start_avma && a < si->plt_start_avma + si-
>plt_size)
return Vg_SectPLT;
if (a >= si->got_start_avma && a < si->got_start_avma + si-
>got_size)
return Vg_SectGOT;
}
return Vg_SectUnknown;
}
Cheers, Alberto |
|
From: <sv...@va...> - 2007-03-20 14:19:08
|
Author: sewardj
Date: 2007-03-20 14:18:45 +0000 (Tue, 20 Mar 2007)
New Revision: 1742
Log:
x86 front end: synthesise SIGILL in the normal way for some obscure
invalid instruction cases, rather than asserting, as happened in
#143079 and #142279. amd64 equivalents to follow.
Modified:
trunk/priv/guest-x86/toIR.c
Modified: trunk/priv/guest-x86/toIR.c
===================================================================
--- trunk/priv/guest-x86/toIR.c 2007-03-12 00:43:59 UTC (rev 1741)
+++ trunk/priv/guest-x86/toIR.c 2007-03-20 14:18:45 UTC (rev 1742)
@@ -2126,6 +2126,7 @@
case 3: break; // SBB
case 4: op8 = Iop_And8; break; case 5: op8 = Iop_Sub8; break;
case 6: op8 = Iop_Xor8; break; case 7: op8 = Iop_Sub8; break;
+ /*NOTREACHED*/
default: vpanic("dis_Grp1: unhandled case");
}
@@ -2191,7 +2192,7 @@
UInt dis_Grp2 ( UChar sorb,
Int delta, UChar modrm,
Int am_sz, Int d_sz, Int sz, IRExpr* shift_expr,
- HChar* shift_expr_txt )
+ HChar* shift_expr_txt, Bool* decode_OK )
{
/* delta on entry points at the modrm byte. */
HChar dis_buf[50];
@@ -2202,6 +2203,8 @@
IRTemp dst1 = newTemp(ty);
IRTemp addr = IRTemp_INVALID;
+ *decode_OK = True;
+
vassert(sz == 1 || sz == 2 || sz == 4);
/* Put value to shift/rotate in dst0. */
@@ -2223,8 +2226,13 @@
isRotateC = False;
switch (gregOfRM(modrm)) { case 2: case 3: isRotateC = True; }
+ if (gregOfRM(modrm) == 6) {
+ *decode_OK = False;
+ return delta;
+ }
+
if (!isShift && !isRotate && !isRotateC) {
- vex_printf("\ncase %d\n", gregOfRM(modrm));
+ /*NOTREACHED*/
vpanic("dis_Grp2(Reg): unhandled case(x86)");
}
@@ -2268,6 +2276,7 @@
case 4: op32 = Iop_Shl32; break;
case 5: op32 = Iop_Shr32; break;
case 7: op32 = Iop_Sar32; break;
+ /*NOTREACHED*/
default: vpanic("dis_Grp2:shift"); break;
}
@@ -2583,7 +2592,7 @@
/* Group 3 extended opcodes. */
static
-UInt dis_Grp3 ( UChar sorb, Int sz, Int delta )
+UInt dis_Grp3 ( UChar sorb, Int sz, Int delta, Bool* decode_OK )
{
UInt d32;
UChar modrm;
@@ -2592,8 +2601,10 @@
IRTemp addr;
IRType ty = szToITy(sz);
IRTemp t1 = newTemp(ty);
- // IRTemp t2 = IRTemp_INVALID;
IRTemp dst1, src, dst0;
+
+ *decode_OK = True; /* may change this later */
+
modrm = getIByte(delta);
if (epartIsReg(modrm)) {
switch (gregOfRM(modrm)) {
@@ -2608,6 +2619,13 @@
nameIReg(sz, eregOfRM(modrm)));
break;
}
+ case 1: /* UNDEFINED */
+ /* The Intel docs imply this insn is undefined and binutils
+ agrees. Unfortunately Core 2 will run it (with who
+ knows what result?) sandpile.org reckons it's an alias
+ for case 0. We play safe. */
+ *decode_OK = False;
+ break;
case 2: /* NOT */
delta++;
putIReg(sz, eregOfRM(modrm),
@@ -2652,8 +2670,7 @@
DIP("idiv%c %s\n", nameISize(sz), nameIReg(sz, eregOfRM(modrm)));
break;
default:
- vex_printf(
- "unhandled Grp3(R) case %d\n", (Int)gregOfRM(modrm));
+ /* This can't happen - gregOfRM should return 0 .. 7 only */
vpanic("Grp3(x86)");
}
} else {
@@ -2671,6 +2688,10 @@
DIP("test%c $0x%x, %s\n", nameISize(sz), d32, dis_buf);
break;
}
+ case 1: /* UNDEFINED */
+ /* See comment above on R case */
+ *decode_OK = False;
+ break;
case 2: /* NOT */
storeLE( mkexpr(addr), unop(mkSizedOp(ty,Iop_Not8), mkexpr(t1)));
DIP("not%c %s\n", nameISize(sz), dis_buf);
@@ -2701,8 +2722,7 @@
DIP("idiv%c %s\n", nameISize(sz), dis_buf);
break;
default:
- vex_printf(
- "unhandled Grp3(M) case %d\n", (Int)gregOfRM(modrm));
+ /* This can't happen - gregOfRM should return 0 .. 7 only */
vpanic("Grp3(x86)");
}
}
@@ -2712,7 +2732,7 @@
/* Group 4 extended opcodes. */
static
-UInt dis_Grp4 ( UChar sorb, Int delta )
+UInt dis_Grp4 ( UChar sorb, Int delta, Bool* decode_OK )
{
Int alen;
UChar modrm;
@@ -2721,6 +2741,8 @@
IRTemp t1 = newTemp(ty);
IRTemp t2 = newTemp(ty);
+ *decode_OK = True;
+
modrm = getIByte(delta);
if (epartIsReg(modrm)) {
assign(t1, getIReg(1, eregOfRM(modrm)));
@@ -2736,9 +2758,8 @@
setFlags_INC_DEC( False, t2, ty );
break;
default:
- vex_printf(
- "unhandled Grp4(R) case %d\n", (Int)gregOfRM(modrm));
- vpanic("Grp4(x86,R)");
+ *decode_OK = False;
+ return delta;
}
delta++;
DIP("%sb %s\n", nameGrp4(gregOfRM(modrm)),
@@ -2758,9 +2779,8 @@
setFlags_INC_DEC( False, t2, ty );
break;
default:
- vex_printf(
- "unhandled Grp4(M) case %d\n", (Int)gregOfRM(modrm));
- vpanic("Grp4(x86,M)");
+ *decode_OK = False;
+ return delta;
}
delta += alen;
DIP("%sb %s\n", nameGrp4(gregOfRM(modrm)), dis_buf);
@@ -2771,7 +2791,8 @@
/* Group 5 extended opcodes. */
static
-UInt dis_Grp5 ( UChar sorb, Int sz, Int delta, DisResult* dres )
+UInt dis_Grp5 ( UChar sorb, Int sz, Int delta,
+ DisResult* dres, Bool* decode_OK )
{
Int len;
UChar modrm;
@@ -2781,6 +2802,8 @@
IRTemp t1 = newTemp(ty);
IRTemp t2 = IRTemp_INVALID;
+ *decode_OK = True;
+
modrm = getIByte(delta);
if (epartIsReg(modrm)) {
assign(t1, getIReg(sz,eregOfRM(modrm)));
@@ -2823,9 +2846,8 @@
storeLE( mkexpr(t2), mkexpr(t1) );
break;
default:
- vex_printf(
- "unhandled Grp5(R) case %d\n", (Int)gregOfRM(modrm));
- vpanic("Grp5(x86)");
+ *decode_OK = False;
+ return delta;
}
delta++;
DIP("%s%c %s\n", nameGrp5(gregOfRM(modrm)),
@@ -2870,9 +2892,8 @@
storeLE( mkexpr(t2), mkexpr(t1) );
break;
default:
- vex_printf(
- "unhandled Grp5(M) case %d\n", (Int)gregOfRM(modrm));
- vpanic("Grp5(x86)");
+ *decode_OK = False;
+ return delta;
}
delta += len;
DIP("%s%c %s\n", nameGrp5(gregOfRM(modrm)),
@@ -12331,81 +12352,116 @@
/* ------------------------ (Grp2 extensions) ---------- */
- case 0xC0: /* Grp2 Ib,Eb */
+ case 0xC0: { /* Grp2 Ib,Eb */
+ Bool decode_OK = True;
modrm = getIByte(delta);
am_sz = lengthAMode(delta);
d_sz = 1;
d32 = getUChar(delta + am_sz);
sz = 1;
delta = dis_Grp2 ( sorb, delta, modrm, am_sz, d_sz, sz,
- mkU8(d32 & 0xFF), NULL );
+ mkU8(d32 & 0xFF), NULL, &decode_OK );
+ if (!decode_OK)
+ goto decode_failure;
break;
-
- case 0xC1: /* Grp2 Ib,Ev */
+ }
+ case 0xC1: { /* Grp2 Ib,Ev */
+ Bool decode_OK = True;
modrm = getIByte(delta);
am_sz = lengthAMode(delta);
d_sz = 1;
d32 = getUChar(delta + am_sz);
delta = dis_Grp2 ( sorb, delta, modrm, am_sz, d_sz, sz,
- mkU8(d32 & 0xFF), NULL );
+ mkU8(d32 & 0xFF), NULL, &decode_OK );
+ if (!decode_OK)
+ goto decode_failure;
break;
-
- case 0xD0: /* Grp2 1,Eb */
+ }
+ case 0xD0: { /* Grp2 1,Eb */
+ Bool decode_OK = True;
modrm = getIByte(delta);
am_sz = lengthAMode(delta);
d_sz = 0;
d32 = 1;
sz = 1;
delta = dis_Grp2 ( sorb, delta, modrm, am_sz, d_sz, sz,
- mkU8(d32), NULL );
+ mkU8(d32), NULL, &decode_OK );
+ if (!decode_OK)
+ goto decode_failure;
break;
-
- case 0xD1: /* Grp2 1,Ev */
+ }
+ case 0xD1: { /* Grp2 1,Ev */
+ Bool decode_OK = True;
modrm = getUChar(delta);
am_sz = lengthAMode(delta);
d_sz = 0;
d32 = 1;
delta = dis_Grp2 ( sorb, delta, modrm, am_sz, d_sz, sz,
- mkU8(d32), NULL );
+ mkU8(d32), NULL, &decode_OK );
+ if (!decode_OK)
+ goto decode_failure;
break;
-
- case 0xD2: /* Grp2 CL,Eb */
+ }
+ case 0xD2: { /* Grp2 CL,Eb */
+ Bool decode_OK = True;
modrm = getUChar(delta);
am_sz = lengthAMode(delta);
d_sz = 0;
sz = 1;
delta = dis_Grp2 ( sorb, delta, modrm, am_sz, d_sz, sz,
- getIReg(1,R_ECX), "%cl" );
+ getIReg(1,R_ECX), "%cl", &decode_OK );
+ if (!decode_OK)
+ goto decode_failure;
break;
-
- case 0xD3: /* Grp2 CL,Ev */
+ }
+ case 0xD3: { /* Grp2 CL,Ev */
+ Bool decode_OK = True;
modrm = getIByte(delta);
am_sz = lengthAMode(delta);
d_sz = 0;
delta = dis_Grp2 ( sorb, delta, modrm, am_sz, d_sz, sz,
- getIReg(1,R_ECX), "%cl" );
+ getIReg(1,R_ECX), "%cl", &decode_OK );
+ if (!decode_OK)
+ goto decode_failure;
break;
+ }
/* ------------------------ (Grp3 extensions) ---------- */
- case 0xF6: /* Grp3 Eb */
- delta = dis_Grp3 ( sorb, 1, delta );
+ case 0xF6: { /* Grp3 Eb */
+ Bool decode_OK = True;
+ delta = dis_Grp3 ( sorb, 1, delta, &decode_OK );
+ if (!decode_OK)
+ goto decode_failure;
break;
- case 0xF7: /* Grp3 Ev */
- delta = dis_Grp3 ( sorb, sz, delta );
+ }
+ case 0xF7: { /* Grp3 Ev */
+ Bool decode_OK = True;
+ delta = dis_Grp3 ( sorb, sz, delta, &decode_OK );
+ if (!decode_OK)
+ goto decode_failure;
break;
+ }
/* ------------------------ (Grp4 extensions) ---------- */
- case 0xFE: /* Grp4 Eb */
- delta = dis_Grp4 ( sorb, delta );
+ case 0xFE: { /* Grp4 Eb */
+ Bool decode_OK = True;
+ delta = dis_Grp4 ( sorb, delta, &decode_OK );
+ if (!decode_OK)
+ goto decode_failure;
break;
+ }
/* ------------------------ (Grp5 extensions) ---------- */
- case 0xFF: /* Grp5 Ev */
- delta = dis_Grp5 ( sorb, sz, delta, &dres );
+ case 0xFF: { /* Grp5 Ev */
+ Bool decode_OK = True;
+ delta = dis_Grp5 ( sorb, sz, delta, &dres, &decode_OK );
+ if (!decode_OK)
+ goto decode_failure;
break;
+ }
/* ------------------------ Escapes to 2-byte opcodes -- */
|
|
From: <js...@ac...> - 2007-03-20 11:33:29
|
Nightly build on minnie ( SuSE 10.0, ppc32 ) started at 2007-03-20 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 == 219 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: Tom H. <th...@cy...> - 2007-03-20 04:11:34
|
Nightly build on gill ( x86_64, Fedora Core 2 ) started at 2007-03-20 03:00:02 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 == 293 tests, 6 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/x86/scalar_supp (stderr) none/tests/fdleak_fcntl (stderr) none/tests/mremap (stderr) none/tests/mremap2 (stdout) none/tests/tls (stdout) |
|
From: Tom H. <th...@cy...> - 2007-03-20 03:23:34
|
Nightly build on dellow ( x86_64, Fedora Core 6 ) started at 2007-03-20 03:10: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 == 291 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: Tom H. <th...@cy...> - 2007-03-20 03:22:52
|
Nightly build on alvis ( i686, Red Hat 7.3 ) started at 2007-03-20 03:15:02 GMT Results differ from 24 hours ago Checking out valgrind source tree ... done Configuring valgrind ... done Building valgrind ... done Running regression tests ... failed Last 20 lines of verbose log follow echo /tmp/ccoRQvWj.s:4393: Error: no such instruction: `fisttpq -56(%ebp)' /tmp/ccoRQvWj.s:4513: Error: no such instruction: `fisttpq -56(%ebp)' /tmp/ccoRQvWj.s:4633: Error: no such instruction: `fisttpq -56(%ebp)' /tmp/ccoRQvWj.s:4753: Error: no such instruction: `fisttpq -56(%ebp)' /tmp/ccoRQvWj.s:4873: Error: no such instruction: `fisttpq -56(%ebp)' /tmp/ccoRQvWj.s:4993: Error: no such instruction: `fisttpq -56(%ebp)' /tmp/ccoRQvWj.s:5113: Error: no such instruction: `fisttpq -56(%ebp)' /tmp/ccoRQvWj.s:5233: Error: no such instruction: `fisttpq -56(%ebp)' make[5]: *** [insn_sse3.o] Error 1 rm insn_mmx.c insn_sse2.c insn_fpu.c insn_mmxext.c insn_sse.c insn_sse3.c insn_cmov.c insn_basic.c make[5]: Leaving directory `/tmp/vgtest/2007-03-20/valgrind/none/tests/x86' make[4]: *** [check-am] Error 2 make[4]: Leaving directory `/tmp/vgtest/2007-03-20/valgrind/none/tests/x86' make[3]: *** [check-recursive] Error 1 make[3]: Leaving directory `/tmp/vgtest/2007-03-20/valgrind/none/tests' make[2]: *** [check-recursive] Error 1 make[2]: Leaving directory `/tmp/vgtest/2007-03-20/valgrind/none' make[1]: *** [check-recursive] Error 1 make[1]: Leaving directory `/tmp/vgtest/2007-03-20/valgrind' make: *** [check] Error 2 ================================================= == Results from 24 hours ago == ================================================= Checking out valgrind source tree ... done Configuring valgrind ... done Building valgrind ... done Running regression tests ... failed Last 20 lines of verbose log follow echo /tmp/ccCbuK4m.s:4393: Error: no such instruction: `fisttpq -56(%ebp)' /tmp/ccCbuK4m.s:4513: Error: no such instruction: `fisttpq -56(%ebp)' /tmp/ccCbuK4m.s:4633: Error: no such instruction: `fisttpq -56(%ebp)' /tmp/ccCbuK4m.s:4753: Error: no such instruction: `fisttpq -56(%ebp)' /tmp/ccCbuK4m.s:4873: Error: no such instruction: `fisttpq -56(%ebp)' /tmp/ccCbuK4m.s:4993: Error: no such instruction: `fisttpq -56(%ebp)' /tmp/ccCbuK4m.s:5113: Error: no such instruction: `fisttpq -56(%ebp)' /tmp/ccCbuK4m.s:5233: Error: no such instruction: `fisttpq -56(%ebp)' make[5]: *** [insn_sse3.o] Error 1 rm insn_mmx.c insn_sse2.c insn_fpu.c insn_mmxext.c insn_sse.c insn_sse3.c insn_cmov.c insn_basic.c make[5]: Leaving directory `/tmp/vgtest/2007-03-20/valgrind/none/tests/x86' make[4]: *** [check-am] Error 2 make[4]: Leaving directory `/tmp/vgtest/2007-03-20/valgrind/none/tests/x86' make[3]: *** [check-recursive] Error 1 make[3]: Leaving directory `/tmp/vgtest/2007-03-20/valgrind/none/tests' make[2]: *** [check-recursive] Error 1 make[2]: Leaving directory `/tmp/vgtest/2007-03-20/valgrind/none' make[1]: *** [check-recursive] Error 1 make[1]: Leaving directory `/tmp/vgtest/2007-03-20/valgrind' make: *** [check] Error 2 ================================================= == Difference between 24 hours ago and now == ================================================= *** old.short Tue Mar 20 03:18:53 2007 --- new.short Tue Mar 20 03:22:43 2007 *************** *** 7,16 **** Last 20 lines of verbose log follow echo ! /tmp/ccCbuK4m.s:4393: Error: no such instruction: `fisttpq -56(%ebp)' ! /tmp/ccCbuK4m.s:4513: Error: no such instruction: `fisttpq -56(%ebp)' ! /tmp/ccCbuK4m.s:4633: Error: no such instruction: `fisttpq -56(%ebp)' ! /tmp/ccCbuK4m.s:4753: Error: no such instruction: `fisttpq -56(%ebp)' ! /tmp/ccCbuK4m.s:4873: Error: no such instruction: `fisttpq -56(%ebp)' ! /tmp/ccCbuK4m.s:4993: Error: no such instruction: `fisttpq -56(%ebp)' ! /tmp/ccCbuK4m.s:5113: Error: no such instruction: `fisttpq -56(%ebp)' ! /tmp/ccCbuK4m.s:5233: Error: no such instruction: `fisttpq -56(%ebp)' make[5]: *** [insn_sse3.o] Error 1 --- 7,16 ---- Last 20 lines of verbose log follow echo ! /tmp/ccoRQvWj.s:4393: Error: no such instruction: `fisttpq -56(%ebp)' ! /tmp/ccoRQvWj.s:4513: Error: no such instruction: `fisttpq -56(%ebp)' ! /tmp/ccoRQvWj.s:4633: Error: no such instruction: `fisttpq -56(%ebp)' ! /tmp/ccoRQvWj.s:4753: Error: no such instruction: `fisttpq -56(%ebp)' ! /tmp/ccoRQvWj.s:4873: Error: no such instruction: `fisttpq -56(%ebp)' ! /tmp/ccoRQvWj.s:4993: Error: no such instruction: `fisttpq -56(%ebp)' ! /tmp/ccoRQvWj.s:5113: Error: no such instruction: `fisttpq -56(%ebp)' ! /tmp/ccoRQvWj.s:5233: Error: no such instruction: `fisttpq -56(%ebp)' make[5]: *** [insn_sse3.o] Error 1 |
|
From: Tom H. <th...@cy...> - 2007-03-20 03:17:40
|
Nightly build on lloyd ( x86_64, Fedora Core 3 ) started at 2007-03-20 03:05:04 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 == 291 tests, 6 stderr failures, 1 stdout failure, 0 posttest failures == memcheck/tests/pointer-trace (stderr) memcheck/tests/stack_switch (stderr) memcheck/tests/x86/scalar (stderr) memcheck/tests/x86/scalar_supp (stderr) memcheck/tests/xml1 (stderr) none/tests/mremap (stderr) none/tests/mremap2 (stdout) |
|
From: <js...@ac...> - 2007-03-20 01:38:34
|
Nightly build on g5 ( SuSE 10.1, ppc970 ) started at 2007-03-20 02:00:01 CET Results differ from 24 hours ago Checking out valgrind source tree ... failed Last 20 lines of verbose log follow echo Checking out valgrind source tree ... svn co svn://svn.valgrind.org/valgrind/trunk -r {2007-03-20T02:00:01} valgrind svn: Can't connect to host 'svn.valgrind.org': No route to host ================================================= == Results from 24 hours ago == ================================================= Checking out valgrind source tree ... done Configuring valgrind ... done Building valgrind ... done Running regression tests ... failed Regression test results follow == 226 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) ================================================= == Difference between 24 hours ago and now == ================================================= *** old.short Tue Mar 20 02:08:10 2007 --- new.short Tue Mar 20 02:08:11 2007 *************** *** 1,18 **** ! Checking out valgrind source tree ... done ! Configuring valgrind ... done ! Building valgrind ... done ! Running regression tests ... failed ! Regression test results follow ! ! == 226 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) --- 1,7 ---- ! Checking out valgrind source tree ... failed ! Last 20 lines of verbose log follow echo + Checking out valgrind source tree ... svn co svn://svn.valgrind.org/valgrind/trunk -r {2007-03-20T02:00:01} valgrind + svn: Can't connect to host 'svn.valgrind.org': No route to host |