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
(1) |
|
2
(28) |
3
(21) |
4
(27) |
5
(22) |
6
(24) |
7
(25) |
8
(21) |
|
9
(18) |
10
(20) |
11
(10) |
12
(36) |
13
(18) |
14
(18) |
15
(29) |
|
16
(17) |
17
(7) |
18
(11) |
19
(17) |
20
(18) |
21
(12) |
22
(13) |
|
23
(9) |
24
(8) |
25
(7) |
26
(22) |
27
(18) |
28
(9) |
29
(15) |
|
30
(13) |
31
(7) |
|
|
|
|
|
|
From: <sv...@va...> - 2005-10-05 18:05:24
|
Author: sewardj
Date: 2005-10-05 19:05:01 +0100 (Wed, 05 Oct 2005)
New Revision: 4870
Log:
Update.
Modified:
trunk/docs/internals/3_0_BUGSTATUS.txt
Modified: trunk/docs/internals/3_0_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_0_BUGSTATUS.txt 2005-10-05 17:12:23 UTC (rev 4=
869)
+++ trunk/docs/internals/3_0_BUGSTATUS.txt 2005-10-05 18:05:01 UTC (rev 4=
870)
@@ -110,9 +110,9 @@
FIXED-TRUNK: vex:1405
=20
----------------------------------------------------------------
-113015 vex amd64->IR: 0xE3 0x14 0x48 0x83
+113015 vex amd64->IR: 0xE3 0x14 0x48 0x83 (jrcxz)
=20
-FIXED-TRUNK: TODO
+FIXED-TRUNK: vex:1413
=20
----------------------------------------------------------------
113126 Crash with binaries built with -gstabs+/-ggdb
@@ -185,7 +185,7 @@
(more BT{,S,R,C} fun n games)
Also 0xF 0xBB 0x10 0x44
=20
-FIXED-TRUNK: TODO
+FIXED-TRUNK: vex:1414
FIXED-30BRANCH: TODO
=20
----------------------------------------------------------------
@@ -199,7 +199,7 @@
111748 vex amd64->IR: unhandled instruction bytes: fucom =20
(0xDD 0xE2 0xDF 0xE0)
=20
-FIXED-TRUNK: TODO
+FIXED-TRUNK: vex:1415
FIXED-30BRANCH: TODO
=20
----------------------------------------------------------------
|
|
From: <sv...@va...> - 2005-10-05 17:59:22
|
Author: sewardj
Date: 2005-10-05 18:58:32 +0100 (Wed, 05 Oct 2005)
New Revision: 1415
Log:
Handle FUCOM %st(0),%st(?).
Modified:
trunk/priv/guest-amd64/toIR.c
Modified: trunk/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
--- trunk/priv/guest-amd64/toIR.c 2005-10-05 17:19:11 UTC (rev 1414)
+++ trunk/priv/guest-amd64/toIR.c 2005-10-05 17:58:32 UTC (rev 1415)
@@ -5404,19 +5404,20 @@
fp_pop();
break;
=20
-//.. case 0xE0 ... 0xE7: /* FUCOM %st(0),%st(?) */
-//.. r_dst =3D (UInt)modrm - 0xE0;
-//.. DIP("fucom %%st(0),%%st(%d)\n", r_dst);
-//.. /* This forces C1 to zero, which isn't right. */
-//.. put_C3210(=20
-//.. binop( Iop_And32,
-//.. binop(Iop_Shl32,=20
-//.. binop(Iop_CmpF64, get_ST(0), get_ST=
(r_dst)),
-//.. mkU8(8)),
-//.. mkU32(0x4500)
-//.. ));
-//.. break;
-//..=20
+ case 0xE0 ... 0xE7: /* FUCOM %st(0),%st(?) */
+ r_dst =3D (UInt)modrm - 0xE0;
+ DIP("fucom %%st(0),%%st(%d)\n", r_dst);
+ /* This forces C1 to zero, which isn't right. */
+ put_C3210(
+ unop(Iop_32Uto64,=20
+ binop( Iop_And32,
+ binop(Iop_Shl32,=20
+ binop(Iop_CmpF64, get_ST(0), get_ST(r_ds=
t)),
+ mkU8(8)),
+ mkU32(0x4500)
+ )));
+ break;
+
//.. case 0xE8 ... 0xEF: /* FUCOMP %st(0),%st(?) */
//.. r_dst =3D (UInt)modrm - 0xE8;
//.. DIP("fucomp %%st(0),%%st(%d)\n", r_dst);
|
|
From: <sv...@va...> - 2005-10-05 17:19:13
|
Author: sewardj
Date: 2005-10-05 18:19:11 +0100 (Wed, 05 Oct 2005)
New Revision: 1414
Log:
Handle BT/BTS/BTR/BTC at size 4 as well as 8.
Modified:
trunk/priv/guest-amd64/toIR.c
Modified: trunk/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
--- trunk/priv/guest-amd64/toIR.c 2005-10-05 16:58:23 UTC (rev 1413)
+++ trunk/priv/guest-amd64/toIR.c 2005-10-05 17:19:11 UTC (rev 1414)
@@ -12907,27 +12907,27 @@
=20
/* =3D-=3D-=3D-=3D-=3D-=3D-=3D-=3D-=3D- BT/BTS/BTR/BTC =3D-=3D-=3D=
-=3D-=3D-=3D-=3D */
=20
- /* All of these are possible at sizes 2, 4 and 8, but until size
- 2 and 4 test cases show up, only handle size 8. */
+ /* All of these are possible at sizes 2, 4 and 8, but until a
+ size 2 test case shows up, only handle sizes 4 and 8. */
=20
case 0xA3: /* BT Gv,Ev */
if (haveF2orF3(pfx)) goto decode_failure;
- if (sz !=3D 8) goto decode_failure;
+ if (sz !=3D 8 && sz !=3D 4) goto decode_failure;
delta =3D dis_bt_G_E ( pfx, sz, delta, BtOpNone );
break;
case 0xB3: /* BTR Gv,Ev */
if (haveF2orF3(pfx)) goto decode_failure;
- if (sz !=3D 8) goto decode_failure;
+ if (sz !=3D 8 && sz !=3D 4) goto decode_failure;
delta =3D dis_bt_G_E ( pfx, sz, delta, BtOpReset );
break;
case 0xAB: /* BTS Gv,Ev */
if (haveF2orF3(pfx)) goto decode_failure;
- if (sz !=3D 8) goto decode_failure;
+ if (sz !=3D 8 && sz !=3D 4) goto decode_failure;
delta =3D dis_bt_G_E ( pfx, sz, delta, BtOpSet );
break;
case 0xBB: /* BTC Gv,Ev */
if (haveF2orF3(pfx)) goto decode_failure;
- if (sz !=3D 8) goto decode_failure;
+ if (sz !=3D 8 && sz !=3D 4) goto decode_failure;
delta =3D dis_bt_G_E ( pfx, sz, delta, BtOpComp );
break;
=20
|
|
From: <sv...@va...> - 2005-10-05 17:12:34
|
Author: sewardj
Date: 2005-10-05 18:12:23 +0100 (Wed, 05 Oct 2005)
New Revision: 4869
Log:
Test for jrcxz.
Added:
trunk/none/tests/amd64/jrcxz.c
trunk/none/tests/amd64/jrcxz.stderr.exp
trunk/none/tests/amd64/jrcxz.stdout.exp
trunk/none/tests/amd64/jrcxz.vgtest
Modified:
trunk/none/tests/amd64/Makefile.am
Modified: trunk/none/tests/amd64/Makefile.am
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=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/none/tests/amd64/Makefile.am 2005-10-05 11:03:19 UTC (rev 4868)
+++ trunk/none/tests/amd64/Makefile.am 2005-10-05 17:12:23 UTC (rev 4869)
@@ -8,11 +8,12 @@
$(addsuffix .stderr.exp,$(INSN_TESTS)) \
$(addsuffix .stdout.exp,$(INSN_TESTS)) \
$(addsuffix .vgtest,$(INSN_TESTS)) \
+ jrcxz.stderr.exp jrcxz.stdout.exp jrcxz.vgtest \
looper.stderr.exp looper.stdout.exp looper.vgtest \
smc1.stderr.exp smc1.stdout.exp smc1.vgtest
=20
check_PROGRAMS =3D \
- $(INSN_TESTS) looper smc1
+ $(INSN_TESTS) looper jrcxz smc1
=20
AM_CFLAGS =3D $(WERROR) -Winline -Wall -Wshadow -g -I$(top_srcdir)/inc=
lude
AM_CXXFLAGS =3D $(AM_CFLAGS)
Added: trunk/none/tests/amd64/jrcxz.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/none/tests/amd64/jrcxz.c 2005-10-05 11:03:19 UTC (rev 4868)
+++ trunk/none/tests/amd64/jrcxz.c 2005-10-05 17:12:23 UTC (rev 4869)
@@ -0,0 +1,36 @@
+
+#include <stdio.h>
+
+typedef unsigned long long int ULong;
+
+ULong arg, res;
+
+extern void foo ( void );
+asm("\n"
+"foo:\n"
+"\tpushq %rcx\n"
+
+"\tmovq $0, %rax\n"
+"\tmovq arg, %rcx\n"
+
+"Lagain:\n"
+"\taddq $177, %rax\n"
+"\tdecq %rcx\n"
+"\tjrcxz Lout\n"
+"\tjmp Lagain\n"
+
+"Lout:\n"
+"\tmovq %rax, res\n"
+
+"\tpopq %rcx\n"
+"\tret\n"
+);
+
+int main ( void )
+{
+ arg =3D 100;
+ res =3D 0;
+ foo();
+ printf("%lld\n", res);
+ return 0;
+}
Added: trunk/none/tests/amd64/jrcxz.stderr.exp
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=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/none/tests/amd64/jrcxz.stderr.exp 2005-10-05 11:03:19 UTC (rev =
4868)
+++ trunk/none/tests/amd64/jrcxz.stderr.exp 2005-10-05 17:12:23 UTC (rev =
4869)
@@ -0,0 +1,2 @@
+
+
Added: trunk/none/tests/amd64/jrcxz.stdout.exp
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=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/none/tests/amd64/jrcxz.stdout.exp 2005-10-05 11:03:19 UTC (rev =
4868)
+++ trunk/none/tests/amd64/jrcxz.stdout.exp 2005-10-05 17:12:23 UTC (rev =
4869)
@@ -0,0 +1 @@
+17700
Added: trunk/none/tests/amd64/jrcxz.vgtest
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=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/none/tests/amd64/jrcxz.vgtest 2005-10-05 11:03:19 UTC (rev 4868=
)
+++ trunk/none/tests/amd64/jrcxz.vgtest 2005-10-05 17:12:23 UTC (rev 4869=
)
@@ -0,0 +1 @@
+prog: jrcxz
|
|
From: <sv...@va...> - 2005-10-05 16:58:44
|
Author: sewardj
Date: 2005-10-05 17:58:23 +0100 (Wed, 05 Oct 2005)
New Revision: 1413
Log:
Implement JRCXZ.
Modified:
trunk/priv/guest-amd64/toIR.c
Modified: trunk/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
--- trunk/priv/guest-amd64/toIR.c 2005-10-05 10:39:58 UTC (rev 1412)
+++ trunk/priv/guest-amd64/toIR.c 2005-10-05 16:58:23 UTC (rev 1413)
@@ -11573,23 +11573,20 @@
DIP("j%s-8 0x%llx\n", name_AMD64Condcode(opc - 0x70), d64);
break;
=20
-//.. case 0xE3: /* JECXZ or perhaps JCXZ, depending on OSO ? Intel
-//.. manual says it depends on address size override,
-//.. which doesn't sound right to me. */
-//.. vassert(sz=3D=3D4); /* possibly also OK for sz=3D=3D2 */
-//.. d32 =3D (((Addr32)guest_eip_bbstart)+delta+1) + getSDisp8(del=
ta);
-//.. delta++;
-//.. ty =3D szToITy(sz);
-//.. stmt( IRStmt_Exit(
-//.. binop(mkSizedOp(ty,Iop_CmpEQ8),
-//.. getIReg(sz,R_ECX),
-//.. mkU(ty,0)),
-//.. Ijk_Boring,
-//.. IRConst_U32(d32))=20
-//.. );
-//..=20
-//.. DIP("j%sz 0x%x\n", nameIReg(sz, R_ECX), d32);
-//.. break;
+ case 0xE3: /* JRCXZ or perhaps JECXZ, depending on OSO ? Intel
+ manual says it depends on address size override,
+ which doesn't sound right to me. But the amd manual
+ alsay says that, so I guess it is. In which case 8
+ is the only valid size. */
+ if (have66orF2orF3(pfx) || haveASO(pfx)) goto decode_failure;
+ d64 =3D (guest_RIP_bbstart+delta+1) + getSDisp8(delta);=20
+ delta++;
+ stmt( IRStmt_Exit( binop(Iop_CmpEQ64, getIReg64(R_RCX), mkU64(0)),
+ Ijk_Boring,
+ IRConst_U64(d64))=20
+ );
+ DIP("jrcxz 0x%llx\n", d64);
+ break;
=20
case 0xE0: /* LOOPNE disp8: decrement count, jump if count !=3D 0 && =
ZF=3D=3D0 */
case 0xE1: /* LOOPE disp8: decrement count, jump if count !=3D 0 && =
ZF=3D=3D1 */
|
|
From: Mads K. <kii...@gm...> - 2005-10-05 12:14:47
|
The description on http://valgrind.org/devel/cvs_svn.html didn't work for m= e. I'm behind a firewall which doesn't allow the svn protocol - but http works fine. The following did it for me, using svn, version 1.2.3 (r15833). I suggest adding a note to cvs_svn.html. svn co --ignore-externals http://svn.valgrind.org/valgrind/trunk cd trunk svn propedit svn:externals . # change: VEX svn://svn.valgrind.org/vex/trunk # to: VEX http://svn.valgrind.org/vex/trunk svn up Regards, Mads |
|
From: <sv...@va...> - 2005-10-05 11:03:30
|
Author: sewardj
Date: 2005-10-05 12:03:19 +0100 (Wed, 05 Oct 2005)
New Revision: 4868
Log:
Update
Modified:
trunk/docs/internals/3_0_BUGSTATUS.txt
Modified: trunk/docs/internals/3_0_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_0_BUGSTATUS.txt 2005-10-05 11:02:00 UTC (rev 4=
867)
+++ trunk/docs/internals/3_0_BUGSTATUS.txt 2005-10-05 11:03:19 UTC (rev 4=
868)
@@ -127,7 +127,7 @@
----------------------------------------------------------------
113541 vex: the `impossible' happened: Grp5(x86) (alt encoding inc/dec)
case 1
-FIXED-TRUNK: TODO
+FIXED-TRUNK: vex:1412
=20
----------------------------------------------------------------
113642 New: valgrind crashes when trying to read debug information
@@ -152,6 +152,7 @@
113851 vex x86->IR: unhandled instruction bytes: 0x66 0xF 0xF5 0xC7
(pmaddwd)
=20
+FIXED-TRUNK: vex:1411, test in valgrind:4859
=20
=20
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D
|
|
From: <sv...@va...> - 2005-10-05 11:02:07
|
Author: sewardj
Date: 2005-10-05 12:02:00 +0100 (Wed, 05 Oct 2005)
New Revision: 4867
Log:
Even more regtests
Added:
trunk/none/tests/x86/incdec_alt.c
trunk/none/tests/x86/incdec_alt.stderr.exp
trunk/none/tests/x86/incdec_alt.stdout.exp
trunk/none/tests/x86/incdec_alt.vgtest
trunk/none/tests/x86/lahf.c
trunk/none/tests/x86/lahf.stderr.exp
trunk/none/tests/x86/lahf.stdout.exp
trunk/none/tests/x86/lahf.vgtest
Modified:
trunk/none/tests/x86/Makefile.am
Modified: trunk/none/tests/x86/Makefile.am
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=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/none/tests/x86/Makefile.am 2005-10-05 08:28:59 UTC (rev 4866)
+++ trunk/none/tests/x86/Makefile.am 2005-10-05 11:02:00 UTC (rev 4867)
@@ -13,10 +13,12 @@
fpu_lazy_eflags.vgtest \
fxtract.stdout.exp fxtract.stderr.exp fxtract.vgtest \
getseg.stdout.exp getseg.stderr.exp getseg.vgtest \
+ incdec_alt.stdout.exp incdec_alt.stderr.exp incdec_alt.vgtest \
int.stderr.exp int.stdout.exp int.vgtest \
$(addsuffix .stderr.exp,$(INSN_TESTS)) \
$(addsuffix .stdout.exp,$(INSN_TESTS)) \
$(addsuffix .vgtest,$(INSN_TESTS)) \
+ lahf.stdout.exp lahf.stderr.exp lahf.vgtest \
looper.stderr.exp looper.stdout.exp looper.vgtest \
pushpopseg.stderr.exp pushpopseg.stdout.exp pushpopseg.vgtest \
sbbmisc.stderr.exp sbbmisc.stdout.exp sbbmisc.vgtest \
@@ -28,8 +30,8 @@
check_PROGRAMS =3D \
badseg bt_everything bt_literal cmpxchg8b cpuid fpu_lazy_eflags \
fxtract \
- getseg $(INSN_TESTS) \
- looper int pushpopseg sbbmisc \
+ getseg incdec_alt $(INSN_TESTS) \
+ lahf looper int pushpopseg sbbmisc \
seg_override sigcontext smc1 yield
=20
AM_CFLAGS =3D $(WERROR) -Winline -Wall -Wshadow \
Added: trunk/none/tests/x86/incdec_alt.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/none/tests/x86/incdec_alt.c 2005-10-05 08:28:59 UTC (rev 4866)
+++ trunk/none/tests/x86/incdec_alt.c 2005-10-05 11:02:00 UTC (rev 4867)
@@ -0,0 +1,68 @@
+
+/* A test of the alternative (redundant) encodings for {inc,dec}{w,l}. *=
/
+
+#include <stdio.h>
+
+int r1,r2,r3,r4,r5,r6,r7,r8,a1,a2;
+
+extern void foo ( void );
+asm("\n"
+"foo:\n"
+"\tpushl $0\n"
+"\tpopfl\n"
+"\tmovl a1,%eax\n"
+"\tmovl a2,%edx\n"
+
+/* inc %eax */
+"\t.byte 0xFF\n"
+"\t.byte 0xC0\n"
+
+"\tmovl %eax,r1\n"
+"\tpushfl\n"
+"\tpopl r2\n"
+
+/* inc %dx */
+"\t.byte 0x66\n"
+"\t.byte 0xFF\n"
+"\t.byte 0xC2\n"
+
+"\tmovl %edx,r3\n"
+"\tpushfl\n"
+"\tpopl r4\n"
+
+/* dec %edx */
+"\t.byte 0xFF\n"
+"\t.byte 0xCA\n"
+
+"\tmovl %edx,r5\n"
+"\tpushfl\n"
+"\tpopl r6\n"
+
+/* dec %ax */
+"\t.byte 0x66\n"
+"\t.byte 0xFF\n"
+"\t.byte 0xC8\n"
+
+"\tmovl %eax,r7\n"
+"\tpushfl\n"
+"\tpopl r8\n"
+
+"\tret\n"
+);
+
+int main ( void )
+{
+ a1 =3D 0x77777777;
+ a2 =3D 0x88888888;
+ r1=3Dr2=3Dr3=3Dr4=3Dr5=3Dr6=3Dr7=3Dr8=3D0;
+ foo();
+ printf("0x%08x\n",r1);
+ printf("0x%08x\n",r2);
+ printf("0x%08x\n",r3);
+ printf("0x%08x\n",r4);
+ printf("0x%08x\n",r5);
+ printf("0x%08x\n",r6);
+ printf("0x%08x\n",r7);
+ printf("0x%08x\n",r8);
+ return 0;
+}
Added: trunk/none/tests/x86/incdec_alt.stderr.exp
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=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/none/tests/x86/incdec_alt.stderr.exp 2005-10-05 08:28:59 UTC (r=
ev 4866)
+++ trunk/none/tests/x86/incdec_alt.stderr.exp 2005-10-05 11:02:00 UTC (r=
ev 4867)
@@ -0,0 +1,2 @@
+
+
Added: trunk/none/tests/x86/incdec_alt.stdout.exp
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=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/none/tests/x86/incdec_alt.stdout.exp 2005-10-05 08:28:59 UTC (r=
ev 4866)
+++ trunk/none/tests/x86/incdec_alt.stdout.exp 2005-10-05 11:02:00 UTC (r=
ev 4867)
@@ -0,0 +1,8 @@
+0x77777778
+0x00000206
+0x88888889
+0x00000282
+0x88888888
+0x00000286
+0x77777777
+0x00000206
Added: trunk/none/tests/x86/incdec_alt.vgtest
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=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/none/tests/x86/incdec_alt.vgtest 2005-10-05 08:28:59 UTC (rev 4=
866)
+++ trunk/none/tests/x86/incdec_alt.vgtest 2005-10-05 11:02:00 UTC (rev 4=
867)
@@ -0,0 +1 @@
+prog: incdec_alt
Added: trunk/none/tests/x86/lahf.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/none/tests/x86/lahf.c 2005-10-05 08:28:59 UTC (rev 4866)
+++ trunk/none/tests/x86/lahf.c 2005-10-05 11:02:00 UTC (rev 4867)
@@ -0,0 +1,33 @@
+
+#include <stdio.h>
+
+extern int foo_1 ( void );
+asm("\n"
+"foo_1:\n"
+"\tpushl $0\n"
+"\tpopfl\n"
+"\tmovl $0xFFFFFFFF, %eax\n"
+"\tmovl $0x12345678, %edx\n"
+"\tsubl %eax, %edx\n"
+"\tlahf\n"
+"\tret\n"
+);
+
+extern int foo_0 ( void );
+asm("\n"
+"foo_0:\n"
+"\tpushl $0\n"
+"\tpopfl\n"
+"\tmovl $0x0, %eax\n"
+"\tmovl $0x12345678, %edx\n"
+"\tsubl %eax, %edx\n"
+"\tlahf\n"
+"\tret\n"
+);
+
+int main ( void )
+{
+ printf("0x%x\n", foo_0());
+ printf("0x%x\n", foo_1());
+ return 0;
+}
Added: trunk/none/tests/x86/lahf.stderr.exp
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=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/none/tests/x86/lahf.stderr.exp 2005-10-05 08:28:59 UTC (rev 486=
6)
+++ trunk/none/tests/x86/lahf.stderr.exp 2005-10-05 11:02:00 UTC (rev 486=
7)
@@ -0,0 +1,2 @@
+
+
Added: trunk/none/tests/x86/lahf.stdout.exp
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=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/none/tests/x86/lahf.stdout.exp 2005-10-05 08:28:59 UTC (rev 486=
6)
+++ trunk/none/tests/x86/lahf.stdout.exp 2005-10-05 11:02:00 UTC (rev 486=
7)
@@ -0,0 +1,2 @@
+0x600
+0xffff13ff
Added: trunk/none/tests/x86/lahf.vgtest
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=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/none/tests/x86/lahf.vgtest 2005-10-05 08:28:59 UTC (rev 4866)
+++ trunk/none/tests/x86/lahf.vgtest 2005-10-05 11:02:00 UTC (rev 4867)
@@ -0,0 +1 @@
+prog: lahf
|
|
From: <sv...@va...> - 2005-10-05 10:40:05
|
Author: sewardj
Date: 2005-10-05 11:39:58 +0100 (Wed, 05 Oct 2005)
New Revision: 1412
Log:
Handle the redundant-encoding (Grp5) versions of {inc,dec}{b,w}.
Modified:
trunk/priv/guest-x86/toIR.c
Modified: trunk/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
--- trunk/priv/guest-x86/toIR.c 2005-10-04 20:00:49 UTC (rev 1411)
+++ trunk/priv/guest-x86/toIR.c 2005-10-05 10:39:58 UTC (rev 1412)
@@ -2751,16 +2751,22 @@
if (epartIsReg(modrm)) {
assign(t1, getIReg(sz,eregOfRM(modrm)));
switch (gregOfRM(modrm)) {
-//-- case 0: /* INC */
-//-- uInstr1(cb, INC, sz, TempReg, t1);
-//-- setFlagsFromUOpcode(cb, INC);
-//-- uInstr2(cb, PUT, sz, TempReg, t1, ArchReg, eregOfRM(mod=
rm));
-//-- break;
-//-- case 1: /* DEC */
-//-- uInstr1(cb, DEC, sz, TempReg, t1);
-//-- setFlagsFromUOpcode(cb, DEC);
-//-- uInstr2(cb, PUT, sz, TempReg, t1, ArchReg, eregOfRM(mod=
rm));
-//-- break;
+ case 0: /* INC */=20
+ vassert(sz =3D=3D 2 || sz =3D=3D 4);
+ t2 =3D newTemp(ty);
+ assign(t2, binop(mkSizedOp(ty,Iop_Add8),
+ mkexpr(t1), mkU(ty,1)));
+ setFlags_INC_DEC( True, t2, ty );
+ putIReg(sz,eregOfRM(modrm),mkexpr(t2));
+ break;
+ case 1: /* DEC */=20
+ vassert(sz =3D=3D 2 || sz =3D=3D 4);
+ t2 =3D newTemp(ty);
+ assign(t2, binop(mkSizedOp(ty,Iop_Sub8),
+ mkexpr(t1), mkU(ty,1)));
+ setFlags_INC_DEC( False, t2, ty );
+ putIReg(sz,eregOfRM(modrm),mkexpr(t2));
+ break;
case 2: /* call Ev */
vassert(sz =3D=3D 4);
t2 =3D newTemp(Ity_I32);
|
|
From: <sv...@va...> - 2005-10-05 08:29:06
|
Author: tom Date: 2005-10-05 09:28:59 +0100 (Wed, 05 Oct 2005) New Revision: 4866 Log: Fix for 112031 is actually in two parts. Modified: trunk/docs/internals/3_0_BUGSTATUS.txt Modified: trunk/docs/internals/3_0_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_0_BUGSTATUS.txt 2005-10-05 08:27:36 UTC (rev 4= 865) +++ trunk/docs/internals/3_0_BUGSTATUS.txt 2005-10-05 08:28:59 UTC (rev 4= 866) @@ -223,8 +223,8 @@ ---------------------------------------------------------------- 112031 iopl on AMD64 and README_MISSING_SYSCALL_OR_IOCTL update =20 -FIXED-TRUNK: 4826 -FIXED-30BRANCH: 4862 +FIXED-TRUNK: 4826, 4864 +FIXED-30BRANCH: 4862, 4865 =20 ---------------------------------------------------------------- 112152 code generation for Xin_MFence on x86 with SSE0 subarch |
|
From: <sv...@va...> - 2005-10-05 08:27:39
|
Author: tom
Date: 2005-10-05 09:27:36 +0100 (Wed, 05 Oct 2005)
New Revision: 4865
Log:
Merge update for README_MISSING_SYSCALL_OR_IOCTL from trunk.
Modified:
branches/VALGRIND_3_0_BRANCH/README_MISSING_SYSCALL_OR_IOCTL
Modified: branches/VALGRIND_3_0_BRANCH/README_MISSING_SYSCALL_OR_IOCTL
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=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/VALGRIND_3_0_BRANCH/README_MISSING_SYSCALL_OR_IOCTL 2005-10-=
05 08:27:08 UTC (rev 4864)
+++ branches/VALGRIND_3_0_BRANCH/README_MISSING_SYSCALL_OR_IOCTL 2005-10-=
05 08:27:36 UTC (rev 4865)
@@ -12,7 +12,7 @@
there's not a lot of need to distinguish them (at least conceptually)
in the discussion that follows.
=20
-All this machinery is in coregrind/vg_syscalls.c.
+All this machinery is in coregrind/m_syswrap.
=20
=20
What are syscall/ioctl wrappers? What do they do?
@@ -101,7 +101,7 @@
grep NNN /usr/include/asm/unistd.h
=20
This should tell you something like __NR_mysyscallname.
- Copy this entry to coregrind/$(VG_PLATFORM)/vki_unistd.h.
+ Copy this entry to coregrind/vki_unistd-$(VG_PLATFORM).h.
=20
=20
2. Do 'man 2 mysyscallname' to get some idea of what the syscall
@@ -115,8 +115,9 @@
=20
=20
3. Add a case to the already-huge collection of wrappers in=20
- coregrind/vg_syscalls.c. For each in-memory parameter which is=20
- read or written by the syscall, do one of
+ the coregrind/m_syswrap/syswrap-*.c files.=20
+ For each in-memory parameter which is read or written by
+ the syscall, do one of
=20
PRE_MEM_READ( ... )
PRE_MEM_RASCIIZ( ... )=20
@@ -126,8 +127,13 @@
succeeds, issue suitable POST_MEM_WRITE( ... ) calls.
(There's no need for POST_MEM_READ calls.)
=20
- Also, add it to the sys_info[] array; use SYSBA if it requires a
- PRE() and POST() function, and SYSB_ if it only requires a PRE()
+ Also, add it to the syscall_table[] array; use one of GENX_, GENXY
+ LINX_, LINXY, PLAX_, PLAXY.
+ GEN* for generic syscalls (in syswrap-generic.c), LIN* for linux
+ specific ones (in syswrap-linux.c) and PLA* for the platform
+ dependant ones (in syswrap-$(PLATFORM)-linux.c).
+ The *XY variant if it requires a PRE() and POST() function, and
+ the *X_ variant if it only requires a PRE()
function. The 2nd arg of these macros indicate if the syscall
could possibly block.
=20
|
|
From: <sv...@va...> - 2005-10-05 08:27:16
|
Author: tom
Date: 2005-10-05 09:27:08 +0100 (Wed, 05 Oct 2005)
New Revision: 4864
Log:
Update README_MISSING_SYSCALL_OR_IOCTL to reflect reality - patch
from Reimar D?\195?\182ffinger via bug 112031.
Modified:
trunk/README_MISSING_SYSCALL_OR_IOCTL
Modified: trunk/README_MISSING_SYSCALL_OR_IOCTL
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=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/README_MISSING_SYSCALL_OR_IOCTL 2005-10-05 08:24:20 UTC (rev 48=
63)
+++ trunk/README_MISSING_SYSCALL_OR_IOCTL 2005-10-05 08:27:08 UTC (rev 48=
64)
@@ -12,7 +12,7 @@
there's not a lot of need to distinguish them (at least conceptually)
in the discussion that follows.
=20
-All this machinery is in coregrind/vg_syscalls.c.
+All this machinery is in coregrind/m_syswrap.
=20
=20
What are syscall/ioctl wrappers? What do they do?
@@ -101,7 +101,7 @@
grep NNN /usr/include/asm/unistd.h
=20
This should tell you something like __NR_mysyscallname.
- Copy this entry to coregrind/$(VG_PLATFORM)/vki_unistd.h.
+ Copy this entry to coregrind/vki_unistd-$(VG_PLATFORM).h.
=20
=20
2. Do 'man 2 mysyscallname' to get some idea of what the syscall
@@ -115,8 +115,9 @@
=20
=20
3. Add a case to the already-huge collection of wrappers in=20
- coregrind/vg_syscalls.c. For each in-memory parameter which is=20
- read or written by the syscall, do one of
+ the coregrind/m_syswrap/syswrap-*.c files.=20
+ For each in-memory parameter which is read or written by
+ the syscall, do one of
=20
PRE_MEM_READ( ... )
PRE_MEM_RASCIIZ( ... )=20
@@ -126,8 +127,13 @@
succeeds, issue suitable POST_MEM_WRITE( ... ) calls.
(There's no need for POST_MEM_READ calls.)
=20
- Also, add it to the sys_info[] array; use SYSBA if it requires a
- PRE() and POST() function, and SYSB_ if it only requires a PRE()
+ Also, add it to the syscall_table[] array; use one of GENX_, GENXY
+ LINX_, LINXY, PLAX_, PLAXY.
+ GEN* for generic syscalls (in syswrap-generic.c), LIN* for linux
+ specific ones (in syswrap-linux.c) and PLA* for the platform
+ dependant ones (in syswrap-$(PLATFORM)-linux.c).
+ The *XY variant if it requires a PRE() and POST() function, and
+ the *X_ variant if it only requires a PRE()
function. The 2nd arg of these macros indicate if the syscall
could possibly block.
=20
|
|
From: <sv...@va...> - 2005-10-05 08:24:23
|
Author: tom Date: 2005-10-05 09:24:20 +0100 (Wed, 05 Oct 2005) New Revision: 4863 Log: Document fix for 112031. Modified: trunk/docs/internals/3_0_BUGSTATUS.txt Modified: trunk/docs/internals/3_0_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_0_BUGSTATUS.txt 2005-10-05 08:23:54 UTC (rev 4= 862) +++ trunk/docs/internals/3_0_BUGSTATUS.txt 2005-10-05 08:24:20 UTC (rev 4= 863) @@ -223,8 +223,8 @@ ---------------------------------------------------------------- 112031 iopl on AMD64 and README_MISSING_SYSCALL_OR_IOCTL update =20 -FIXED-TRUNK: TODO -FIXED-30BRANCH: TODO +FIXED-TRUNK: 4826 +FIXED-30BRANCH: 4862 =20 ---------------------------------------------------------------- 112152 code generation for Xin_MFence on x86 with SSE0 subarch |
|
From: <sv...@va...> - 2005-10-05 08:23:59
|
Author: tom
Date: 2005-10-05 09:23:54 +0100 (Wed, 05 Oct 2005)
New Revision: 4862
Log:
Merge fix for 112031 - enable iopl on amd64.
Modified:
branches/VALGRIND_3_0_BRANCH/coregrind/m_syswrap/syswrap-amd64-linux.c
Modified: branches/VALGRIND_3_0_BRANCH/coregrind/m_syswrap/syswrap-amd64-=
linux.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/VALGRIND_3_0_BRANCH/coregrind/m_syswrap/syswrap-amd64-linux.=
c 2005-10-04 23:07:33 UTC (rev 4861)
+++ branches/VALGRIND_3_0_BRANCH/coregrind/m_syswrap/syswrap-amd64-linux.=
c 2005-10-05 08:23:54 UTC (rev 4862)
@@ -1382,7 +1382,7 @@
=20
// (__NR_sethostname, sys_sethostname), // 170=20
// (__NR_setdomainname, sys_setdomainname), // 171=20
- // (__NR_iopl, stub_iopl), // 172=20
+ GENX_(__NR_iopl, sys_iopl), // 172=20
LINX_(__NR_ioperm, sys_ioperm), // 173=20
// (__NR_create_module, sys_ni_syscall), // 174=20
=20
|
|
From: Oswald B. <os...@kd...> - 2005-10-05 07:50:02
|
On Wed, Oct 05, 2005 at 12:07:34AM +0100, sv...@va... wrote:
> If the launcher can't figure out what it's own name is, don't bail
> out. Instead, print a warning message, continue, and cause any
> attempt to trace into a child process to fail with ECHILD.
>
that's no valid error code for execve() - not that any app i know would
care. apart from that the situation doesn't really match the intended
interpretation of this error code. ENOENT is very generic and certainly
confusing when shown to the user ("huh? <program> *is* there ..."),
but the explanation in the linux execve() man page fits pretty well.
</pedant>
--
Hi! I'm a .signature virus! Copy me into your ~/.signature, please!
--
Chaos, panic, and disorder - my work here is done.
|
|
From: <js...@ac...> - 2005-10-05 02:59:05
|
Nightly build on phoenix ( SuSE 9.1 ) started at 2005-10-05 03:30:00 BST 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 == 188 tests, 2 stderr failures, 0 stdout failures ================= none/tests/faultstatus (stderr) none/tests/x86/int (stderr) |
|
From: Tom H. <to...@co...> - 2005-10-05 02:40:27
|
Nightly build on dunsmere ( athlon, Fedora Core 4 ) started at 2005-10-05 03:30:05 BST 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 == 190 tests, 14 stderr failures, 4 stdout failures ================= memcheck/tests/leak-tree (stderr) memcheck/tests/mempool (stderr) memcheck/tests/pointer-trace (stderr) memcheck/tests/realloc2 (stderr) memcheck/tests/weirdioctl (stderr) memcheck/tests/x86/scalar (stderr) memcheck/tests/xml1 (stderr) none/tests/faultstatus (stderr) none/tests/fdleak_pipe (stderr) none/tests/map_unmap (stdout) none/tests/map_unmap (stderr) none/tests/sigstackgrowth (stdout) none/tests/sigstackgrowth (stderr) none/tests/stackgrowth (stdout) none/tests/stackgrowth (stderr) none/tests/thread-exits (stdout) none/tests/thread-exits (stderr) none/tests/x86/int (stderr) ================================================= == 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 == 190 tests, 9 stderr failures, 0 stdout failures ================= memcheck/tests/doublefree (stderr) memcheck/tests/leak-tree (stderr) memcheck/tests/mempool (stderr) memcheck/tests/pointer-trace (stderr) memcheck/tests/weirdioctl (stderr) memcheck/tests/x86/scalar (stderr) memcheck/tests/xml1 (stderr) none/tests/faultstatus (stderr) none/tests/x86/int (stderr) ================================================= == Difference between 24 hours ago and now == ================================================= *** old.short Wed Oct 5 03:35:29 2005 --- new.short Wed Oct 5 03:40:19 2005 *************** *** 8,11 **** ! == 190 tests, 9 stderr failures, 0 stdout failures ================= ! memcheck/tests/doublefree (stderr) memcheck/tests/leak-tree (stderr) --- 8,10 ---- ! == 190 tests, 14 stderr failures, 4 stdout failures ================= memcheck/tests/leak-tree (stderr) *************** *** 13,14 **** --- 12,14 ---- memcheck/tests/pointer-trace (stderr) + memcheck/tests/realloc2 (stderr) memcheck/tests/weirdioctl (stderr) *************** *** 17,18 **** --- 17,27 ---- none/tests/faultstatus (stderr) + none/tests/fdleak_pipe (stderr) + none/tests/map_unmap (stdout) + none/tests/map_unmap (stderr) + none/tests/sigstackgrowth (stdout) + none/tests/sigstackgrowth (stderr) + none/tests/stackgrowth (stdout) + none/tests/stackgrowth (stderr) + none/tests/thread-exits (stdout) + none/tests/thread-exits (stderr) none/tests/x86/int (stderr) |
|
From: Tom H. <th...@cy...> - 2005-10-05 02:27:23
|
Nightly build on alvis ( i686, Red Hat 7.3 ) started at 2005-10-05 03:15: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 == 189 tests, 16 stderr failures, 0 stdout failures ================= memcheck/tests/addressable (stderr) memcheck/tests/describe-block (stderr) memcheck/tests/erringfds (stderr) memcheck/tests/leak-0 (stderr) memcheck/tests/leak-cycle (stderr) memcheck/tests/leak-regroot (stderr) memcheck/tests/leak-tree (stderr) memcheck/tests/match-overrun (stderr) memcheck/tests/mempool (stderr) memcheck/tests/nanoleak (stderr) memcheck/tests/partiallydefinedeq (stderr) memcheck/tests/pointer-trace (stderr) memcheck/tests/sigkill (stderr) memcheck/tests/stack_changes (stderr) none/tests/faultstatus (stderr) none/tests/x86/int (stderr) |
|
From: Tom H. <th...@cy...> - 2005-10-05 02:24:52
|
Nightly build on ginetta ( i686, Red Hat 8.0 ) started at 2005-10-05 03:10:07 BST 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 == 189 tests, 4 stderr failures, 0 stdout failures ================= memcheck/tests/mempool (stderr) memcheck/tests/pointer-trace (stderr) none/tests/faultstatus (stderr) none/tests/x86/int (stderr) ================================================= == 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 == 189 tests, 4 stderr failures, 1 stdout failure ================= memcheck/tests/mempool (stderr) memcheck/tests/pointer-trace (stderr) none/tests/faultstatus (stderr) none/tests/x86/int (stderr) none/tests/x86/yield (stdout) ================================================= == Difference between 24 hours ago and now == ================================================= *** old.short Wed Oct 5 03:18:49 2005 --- new.short Wed Oct 5 03:24:46 2005 *************** *** 8,10 **** ! == 189 tests, 4 stderr failures, 1 stdout failure ================= memcheck/tests/mempool (stderr) --- 8,10 ---- ! == 189 tests, 4 stderr failures, 0 stdout failures ================= memcheck/tests/mempool (stderr) *************** *** 13,15 **** none/tests/x86/int (stderr) - none/tests/x86/yield (stdout) --- 13,14 ---- |
|
From: Tom H. <th...@cy...> - 2005-10-05 02:20:51
|
Nightly build on dellow ( x86_64, Fedora Core 4 ) started at 2005-10-05 03:10:07 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 == 165 tests, 7 stderr failures, 2 stdout failures ================= memcheck/tests/sigprocmask (stderr) memcheck/tests/strchr (stderr) memcheck/tests/weirdioctl (stderr) memcheck/tests/xml1 (stderr) none/tests/as_mmap (stderr) none/tests/as_shm (stdout) none/tests/as_shm (stderr) none/tests/faultstatus (stderr) none/tests/mremap2 (stdout) |
|
From: Tom H. <th...@cy...> - 2005-10-05 02:17:42
|
Nightly build on aston ( x86_64, Fedora Core 3 ) started at 2005-10-05 03:05: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 == 165 tests, 7 stderr failures, 2 stdout failures ================= memcheck/tests/sigprocmask (stderr) memcheck/tests/strchr (stderr) memcheck/tests/weirdioctl (stderr) memcheck/tests/xml1 (stderr) none/tests/as_mmap (stderr) none/tests/as_shm (stdout) none/tests/as_shm (stderr) none/tests/faultstatus (stderr) none/tests/mremap2 (stdout) |
|
From: Tom H. <th...@cy...> - 2005-10-05 02:13:49
|
Nightly build on gill ( x86_64, Fedora Core 2 ) started at 2005-10-05 03:00:03 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 == 165 tests, 8 stderr failures, 1 stdout failure ================= memcheck/tests/sigprocmask (stderr) memcheck/tests/strchr (stderr) memcheck/tests/weirdioctl (stderr) memcheck/tests/xml1 (stderr) none/tests/as_mmap (stderr) none/tests/as_shm (stdout) none/tests/as_shm (stderr) none/tests/faultstatus (stderr) none/tests/fdleak_fcntl (stderr) |