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
(12) |
2
(10) |
3
(13) |
4
(10) |
|
5
(8) |
6
(7) |
7
(8) |
8
(8) |
9
(7) |
10
(8) |
11
(8) |
|
12
(9) |
13
(8) |
14
(17) |
15
(13) |
16
(13) |
17
(11) |
18
(11) |
|
19
(14) |
20
(11) |
21
(8) |
22
(17) |
23
(10) |
24
(9) |
25
(10) |
|
26
(12) |
27
(11) |
28
(10) |
29
(8) |
30
(7) |
|
|
|
From: <sv...@va...> - 2006-11-14 18:36:12
|
Author: sewardj
Date: 2006-11-14 18:36:02 +0000 (Tue, 14 Nov 2006)
New Revision: 6354
Log:
Add a regtest for the false-uninitialised-value-report bug fixed by
vex r1675.
Added:
trunk/memcheck/tests/x86/espindola2.c
trunk/memcheck/tests/x86/espindola2.stderr.exp
trunk/memcheck/tests/x86/espindola2.vgtest
Modified:
trunk/memcheck/tests/x86/Makefile.am
Modified: trunk/memcheck/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/memcheck/tests/x86/Makefile.am 2006-11-14 15:58:04 UTC (rev 635=
3)
+++ trunk/memcheck/tests/x86/Makefile.am 2006-11-14 18:36:02 UTC (rev 635=
4)
@@ -6,6 +6,7 @@
=20
EXTRA_DIST =3D $(noinst_SCRIPTS) \
bug133694.vgtest bug133694.stderr.exp bug133694.stdout.exp \
+ espindola2.vgtest espindola2.stderr.exp \
fpeflags.stderr.exp fpeflags.vgtest \
$(addsuffix .stderr.exp,$(INSN_TESTS)) \
$(addsuffix .stdout.exp,$(INSN_TESTS)) \
@@ -27,6 +28,7 @@
=20
check_PROGRAMS =3D \
bug133694 \
+ espindola2 \
scalar_exit_group scalar_fork scalar_supp scalar_vfork \
fpeflags pushfpopf pushpopmem scalar sse_memory tronical \
more_x86_fp fprem
Added: trunk/memcheck/tests/x86/espindola2.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/memcheck/tests/x86/espindola2.c (rev 0)
+++ trunk/memcheck/tests/x86/espindola2.c 2006-11-14 18:36:02 UTC (rev 63=
54)
@@ -0,0 +1,36 @@
+
+#include <stdlib.h>
+#include <assert.h>
+
+/* This should run without comment, but 3.2.1 (and presumably earlier)
+ give a false uninit-value warning. This was fixed by vex r1675
+ which is a spec rule for COPY-CondP. */
+
+int main ( void )
+{
+ int* x =3D malloc(4);
+ assert(x);
+ __asm__ __volatile__(
+ "finit\n\t"
+ "ffree %%st(0)\n\t"
+ "ffree %%st(1)\n\t"
+ "ffree %%st(2)\n\t"
+ "ffree %%st(3)\n\t"
+ "ffree %%st(4)\n\t"
+ "ffree %%st(5)\n\t"
+ "ffree %%st(6)\n\t"
+ "ffree %%st(7)\n\t"
+ "andb $128, (%0)\n\t"
+ "fldz\n\t"
+ "fldz\n\t"
+ "fucompp\n\t"
+ "fnstsw %%ax\n\t"
+ "sahf\n\t"
+ "jp .Lfoobar\n"
+ ".Lfoobar:\n\t"
+ "nop"
+ : : "r"(x) : "eax", "cc"
+ );
+ free(x);
+ return 0;
+}
Added: trunk/memcheck/tests/x86/espindola2.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
Added: trunk/memcheck/tests/x86/espindola2.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/memcheck/tests/x86/espindola2.vgtest (r=
ev 0)
+++ trunk/memcheck/tests/x86/espindola2.vgtest 2006-11-14 18:36:02 UTC (r=
ev 6354)
@@ -0,0 +1,2 @@
+prog: espindola2
+vgopts: -q
|
|
From: <sv...@va...> - 2006-11-14 17:50:21
|
Author: sewardj
Date: 2006-11-14 17:50:16 +0000 (Tue, 14 Nov 2006)
New Revision: 1676
Log:
Handle 'ret imm16'. Fixes #136650.
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 2006-11-14 17:46:12 UTC (rev 1675)
+++ trunk/priv/guest-amd64/toIR.c 2006-11-14 17:50:16 UTC (rev 1676)
@@ -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 )
{
@@ -12172,15 +12178,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(vmi, 0);
dres.whatNext =3D Dis_StopHere;
|
|
From: <sv...@va...> - 2006-11-14 17:46:25
|
Author: sewardj
Date: 2006-11-14 17:46:12 +0000 (Tue, 14 Nov 2006)
New Revision: 1675
Log:
Add an %eflags rule for COPY-CondP.
Modified:
trunk/priv/guest-x86/ghelpers.c
Modified: trunk/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
--- trunk/priv/guest-x86/ghelpers.c 2006-11-14 15:33:05 UTC (rev 1674)
+++ trunk/priv/guest-x86/ghelpers.c 2006-11-14 17:46:12 UTC (rev 1675)
@@ -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-11-14 15:58:13
|
Author: sewardj
Date: 2006-11-14 15:58:04 +0000 (Tue, 14 Nov 2006)
New Revision: 6353
Log:
Update.
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-11-14 15:50:44 UTC (rev 6=
352)
+++ trunk/docs/internals/3_2_BUGSTATUS.txt 2006-11-14 15:58:04 UTC (rev 6=
353)
@@ -11,40 +11,75 @@
------- reported in 3.2.0 but not fixed in 3.2.1 ------
=20
pending pending 129390 ppc?->IR: some kind of VMX prefetch (dstt=
)
+
pending pending 129968 amd64->IR: 0xF 0xAE 0x0 (fxsave)
=3D=3D134319
+
pending pending 133054 'make install' fails with syntax errors
+
pending wontfix 133154 crash when using client requests to=20
register/deregister stack
+
pending pending 132998 startup fails in when running on UML
+
pending pending 133327 support for voicetronix ioctl (w/patch)
+
pending pending 133679 Callgrind does not write path names to=20
sources with dwarf debug info
-pending pending 133962 amd64->IR: 0xF2 0x4C 0xF 0x10
+
+pending pending [W] 133962 amd64->IR: 0xF2 0x4C 0xF 0x10 (rex64X ...=
)
+
pending pending 134207 pkg-config output contains @VG_PLATFORM@
+
vx1660 pending n-i-bz %eflags rule for SUBL-CondNLE
+
Signal race condition (users list, 13 June, Johannes Berg)
+
Unrecognised instruction at address 0x70198EC2 (users, 19 July, Bennee)
-pending pending 133984 unhandled instruction bytes: 0xCC 0x89 0x=
EC 0x31 (int3)
+
+pending pending 133984 unhandled instruction bytes:=20
+ 0xCC 0x89 0xEC 0x31 (int3)
+
pending pending 134138 Stale default library used after reconfig=
uring
-pending pending 134219 Launcher defaults to ppc32-linux even wit=
h --enable-only64bit
-pending pending 134316 Callgrind does not distinguish between pa=
rent and child
-v6084 pending 134727 valgrind exits with "Value too large for =
defined data type"
+
+pending pending 134219 Launcher defaults to ppc32-linux even
+ with --enable-only64bit
+
+pending pending 134316 Callgrind does not distinguish between
+ parent and child
+
+v6084 pending 134727 valgrind exits with "Value too large
+ for defined data type"
+
vx1667 pending n-i-bz ppc32/64: support mcrfs
+
v6211 pending n-i-bz Cachegrind: Update cache parameter detect=
ion
=20
-135012 x86->IR: 0xD7 0x8A 0xE0 0xD0
-135023 amd64->IR: 0x49 0xDD 0x86 0xE0
+vx1672 pending 135012 x86->IR: 0xD7 0x8A 0xE0 0xD0 (xlat)
+ =3D=3D125959
+
+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
+ movsw) w/test
+
+pending pending [W] 136650 amd64->IR: 0xC2 0x8 0x0
+
+pending pending 135421 x86->IR: unhandled Grp5(R) case 6 [ok]
+
+
135026 valgrind incorrectly complain that shm_nattch is uninitialized
135264 dcbzl instruction missing
-126147 unhandled instruction bytes: 0xF2 0xA5 0xF 0x77 (repne movsw) w/t=
est
-135421 unhandled Grp5(R) case 6
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
-136650 vex amd64->IR: unhandled instruction bytes: 0xC2 0x8 0x0
+Drepper cachegrind bug (also callgrind?) (users, Nov 7)
+Drepper Core 2 stuff (also callgrind?) (users, Nov 7)
+Espindola #3 (dev, Nov 7)
+Dwarf CFI 0:24 0:32 0:48 0:7 (Nov 8)
=20
x86 'int 3'
expr_wont_match_me hack -> stable (118903)
|
|
From: <sv...@va...> - 2006-11-14 15:50:50
|
Author: sewardj
Date: 2006-11-14 15:50:44 +0000 (Tue, 14 Nov 2006)
New Revision: 6352
Log:
Add a regtest for #126147.
Added:
trunk/none/tests/x86/bug126147-x86.c
trunk/none/tests/x86/bug126147-x86.stderr.exp
trunk/none/tests/x86/bug126147-x86.stdout.exp
trunk/none/tests/x86/bug126147-x86.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 2006-11-14 15:07:57 UTC (rev 6351)
+++ trunk/none/tests/x86/Makefile.am 2006-11-14 15:50:44 UTC (rev 6352)
@@ -9,6 +9,7 @@
bt_everything.stderr.exp bt_everything.stdout.exp bt_everything.vgtest =
\
bt_literal.stderr.exp bt_literal.stdout.exp bt_literal.vgtest \
bug125959-x86.stderr.exp bug125959-x86.stdout.exp bug125959-x86.vgtest =
\
+ bug126147-x86.stderr.exp bug126147-x86.stdout.exp bug126147-x86.vgtest =
\
bug132813-x86.stderr.exp bug132813-x86.stdout.exp bug132813-x86.vgtest =
\
cpuid.stderr.exp cpuid.stdout.exp cpuid.vgtest \
cmpxchg8b.stderr.exp cmpxchg8b.stdout.exp cmpxchg8b.vgtest \
@@ -36,6 +37,7 @@
check_PROGRAMS =3D \
badseg bt_everything bt_literal \
bug125959-x86 \
+ bug126147-x86 \
bug132813-x86 \
cmpxchg8b cpuid \
faultstatus fcmovnu fpu_lazy_eflags fxtract \
Added: trunk/none/tests/x86/bug126147-x86.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/bug126147-x86.c (rev 0)
+++ trunk/none/tests/x86/bug126147-x86.c 2006-11-14 15:50:44 UTC (rev 635=
2)
@@ -0,0 +1,211 @@
+
+#include <stdio.h>
+#include <stdlib.h>
+#include <string.h>
+#include <assert.h>
+
+/* These fns taken from dietlibc-0.30 (is GPL v2'd) */
+
+/*
+ Copyright (C) 2002 Thomas M. Ogrisegg
+
+ This is free software. You can redistribute and
+ modify it under the terms of the GNU General Public
+ Public License.
+
+ strncpy.S
+ i386 assembler implementation of strncpy(3)
+*/
+extern char *mystrncpy(char *dest, const char *src, size_t n);
+asm(
+".text\n"
+".globl mystrncpy\n"
+".type mystrncpy,@function\n"
+"\n"
+"mystrncpy:\n"
+" pushl %esi\n"
+" pushl %edi\n"
+" movl %esp, %ecx\n"
+" movl 0x0c(%ecx), %edi\n"
+" movl 0x10(%ecx), %esi\n"
+" movl 0x14(%ecx), %ecx\n"
+"\n"
+" movl %edi, %edx\n"
+" cld\n"
+".Lzzloop:\n"
+" dec %ecx\n"
+" js .Lzzout\n"
+" lodsb\n"
+" stosb\n"
+" or %al, %al\n"
+" jnz .Lzzloop\n"
+" repnz stosb\n"
+".Lzzout:\n"
+" movl %edx, %eax\n"
+" popl %edi\n"
+" popl %esi\n"
+" ret\n"
+".previous\n"
+"\n"
+);
+
+
+/*
+ Copyright (C) 2002 Thomas M. Ogrisegg
+
+ __ltostr.S -- convert an integer into a string
+
+ %eax =3D dividend
+ %ebx =3D divisor
+ %ecx =3D size of output-buffer
+ %edi =3D output-buffer
+ %ebp =3D if uppercase is set, then %ebp is 'A'-10 else %ebp is 'a'-10
+
+*/
+extern int __ltostr(char *s, unsigned int size, unsigned long i,=20
+ unsigned int base, int UpCase);
+asm(
+".text\n"
+".globl __ltostr\n"
+"__ltostr:\n"
+" pushl %esi\n"
+" pushl %edi # destination\n"
+" pushl %ebp\n"
+" pushl %ebx\n"
+" movl %esp, %eax\n"
+" movl 0x14(%eax), %edi\n"
+" movl 0x18(%eax), %ecx # size\n"
+" movl 0x20(%eax), %ebx # divisor\n"
+" movl 0x1c(%eax), %eax # dividend\n"
+" decl %ecx\n"
+" movl %ecx, %esi\n"
+" movl $('A'-0xa), %ebp\n"
+" xorl %edx, %edx # must be 0 -- used by idiv\n"
+" cmpl $0x0, 36(%esp) # check for uppercase\n"
+" jnz .Lyynext\n"
+" addl $0x20, %ebp # set lowercase\n"
+".Lyynext:\n"
+" idiv %ebx, %eax\n"
+" cmpb $0x9, %dl\n"
+" jg .Lyynext2\n"
+" addb $'0', %dl\n"
+" jmp .Lyystos\n"
+".Lyynext2:\n"
+" addl %ebp, %edx\n"
+".Lyystos:\n"
+" movb %dl, (%edi, %ecx)\n"
+" xorl %edx, %edx\n"
+" decl %ecx\n"
+" jz .Lyyout\n"
+" orl %eax, %eax\n"
+" jnz .Lyynext\n"
+".Lyyout:\n"
+" cld\n"
+" movl %esi, %ebx\n"
+" leal 1(%edi, %ecx), %esi\n"
+" subl %ebx, %ecx\n"
+" negl %ecx\n"
+" movl %ecx, %eax\n"
+" repnz movsb\n"
+" movb $0x0, (%edi)\n"
+" popl %ebx\n"
+" popl %ebp\n"
+" popl %edi\n"
+" popl %esi\n"
+" ret\n"
+".previous\n"
+);
+
+#define STREQ(a, b) (strcmp((a), (b)) =3D=3D 0)
+
+const char *it =3D "<UNSET>"; /* Routine name for message routines. =
*/
+size_t errors =3D 0;
+
+/* Complain if condition is not true. */
+static void
+check (int thing, int number)
+{
+ if (!thing)
+ {
+ printf("%s flunked test %d\n", it, number);
+ ++errors;
+ }
+}
+
+/* Complain if first two args don't strcmp as equal. */
+static void
+equal (const char *a, const char *b, int number)
+{
+ check(a !=3D NULL && b !=3D NULL && STREQ (a, b), number);
+}
+
+char one[50];
+char two[50];
+char *cp;
+
+static void
+test_strncpy (void)
+{
+ /* Testing is a bit different because of odd semantics. */
+ it =3D "strncpy";
+ check (mystrncpy (one, "abc", 4) =3D=3D one, 1); /* Returned value.=
*/
+ equal (one, "abc", 2); /* Did the copy go right=
? */
+
+ (void) strcpy (one, "abcdefgh");
+ (void) mystrncpy (one, "xyz", 2);
+ equal (one, "xycdefgh", 3); /* Copy cut by count. */
+
+ (void) strcpy (one, "abcdefgh");
+ (void) mystrncpy (one, "xyz", 3); /* Copy cut just befor=
e NUL. */
+ equal (one, "xyzdefgh", 4);
+
+ (void) strcpy (one, "abcdefgh");
+ (void) mystrncpy (one, "xyz", 4); /* Copy just includes =
NUL. */
+ equal (one, "xyz", 5);
+ equal (one+4, "efgh", 6); /* Wrote too much? */
+
+ (void) strcpy (one, "abcdefgh");
+ (void) mystrncpy (one, "xyz", 5); /* Copy includes paddi=
ng. */
+ equal (one, "xyz", 7);
+ equal (one+4, "", 8);
+ equal (one+5, "fgh", 9);
+
+ (void) strcpy (one, "abc");
+ (void) mystrncpy (one, "xyz", 0); /* Zero-length copy. *=
/
+ equal (one, "abc", 10);
+
+ (void) mystrncpy (one, "", 2); /* Zero-length source. */
+ equal (one, "", 11);
+ equal (one+1, "", 12);
+ equal (one+2, "c", 13);
+
+ (void) strcpy (one, "hi there");
+ (void) mystrncpy (two, one, 9);
+ equal (two, "hi there", 14); /* Just paranoia. */
+ equal (one, "hi there", 15); /* Stomped on source? */
+}
+
+
+int main ( void )
+{
+ char buf[1024];
+
+ /* test strncpy, hence repnz stosb */
+ test_strncpy();
+ if (errors =3D=3D 0)
+ {
+ printf("No errors.\n");
+ }
+ else
+ {
+ printf("%d errors.\n", (int)errors);
+ }
+
+ /* test __ltostr, hence repnz stosb */=20
+ assert(__ltostr(buf,10,1723,10,0)=3D=3D4); assert(!strcmp(buf,"1723"))=
;
+ assert(__ltostr(buf,3,1723,10,0)=3D=3D2); assert(!strcmp(buf,"23"));
+ assert(__ltostr(buf,2,0x1234,16,0)=3D=3D1); assert(!strcmp(buf,"4"));
+ assert(__ltostr(buf,3,0xFEFE,16,1)=3D=3D2); assert(!strcmp(buf,"FE"));
+
+ return 0;
+}
Added: trunk/none/tests/x86/bug126147-x86.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/bug126147-x86.stderr.exp =
(rev 0)
+++ trunk/none/tests/x86/bug126147-x86.stderr.exp 2006-11-14 15:50:44 UTC=
(rev 6352)
@@ -0,0 +1,2 @@
+
+
Added: trunk/none/tests/x86/bug126147-x86.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/bug126147-x86.stdout.exp =
(rev 0)
+++ trunk/none/tests/x86/bug126147-x86.stdout.exp 2006-11-14 15:50:44 UTC=
(rev 6352)
@@ -0,0 +1 @@
+No errors.
Added: trunk/none/tests/x86/bug126147-x86.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/bug126147-x86.vgtest (re=
v 0)
+++ trunk/none/tests/x86/bug126147-x86.vgtest 2006-11-14 15:50:44 UTC (re=
v 6352)
@@ -0,0 +1 @@
+prog: bug126147-x86
|
|
From: <sv...@va...> - 2006-11-14 15:33:12
|
Author: sewardj
Date: 2006-11-14 15:33:05 +0000 (Tue, 14 Nov 2006)
New Revision: 1674
Log:
Re-enable 'repne movs' (fix for original bug in #126147).
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 2006-11-14 15:13:55 UTC (rev 1673)
+++ trunk/priv/guest-x86/toIR.c 2006-11-14 15:33:05 UTC (rev 1674)
@@ -11919,11 +11919,10 @@
/* 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:
|
|
From: <sv...@va...> - 2006-11-14 15:14:17
|
Author: sewardj
Date: 2006-11-14 15:13:55 +0000 (Tue, 14 Nov 2006)
New Revision: 1673
Log:
Re-enable 'repne stos' (fix for Gernot Tenchio's part of #126147).
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 2006-11-12 22:25:21 UTC (rev 1672)
+++ trunk/priv/guest-x86/toIR.c 2006-11-14 15:13:55 UTC (rev 1673)
@@ -11930,6 +11930,12 @@
//-- 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-11-14 15:10:23
|
Author: sewardj
Date: 2006-11-14 15:07:57 +0000 (Tue, 14 Nov 2006)
New Revision: 6351
Log:
Add a regtest for #125959.
Added:
trunk/none/tests/x86/bug125959-x86.c
trunk/none/tests/x86/bug125959-x86.stderr.exp
trunk/none/tests/x86/bug125959-x86.stdout.exp
trunk/none/tests/x86/bug125959-x86.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 2006-11-14 14:32:46 UTC (rev 6350)
+++ trunk/none/tests/x86/Makefile.am 2006-11-14 15:07:57 UTC (rev 6351)
@@ -8,6 +8,7 @@
badseg.stderr.exp badseg.stdout.exp badseg.vgtest \
bt_everything.stderr.exp bt_everything.stdout.exp bt_everything.vgtest =
\
bt_literal.stderr.exp bt_literal.stdout.exp bt_literal.vgtest \
+ bug125959-x86.stderr.exp bug125959-x86.stdout.exp bug125959-x86.vgtest =
\
bug132813-x86.stderr.exp bug132813-x86.stdout.exp bug132813-x86.vgtest =
\
cpuid.stderr.exp cpuid.stdout.exp cpuid.vgtest \
cmpxchg8b.stderr.exp cmpxchg8b.stdout.exp cmpxchg8b.vgtest \
@@ -34,6 +35,7 @@
=20
check_PROGRAMS =3D \
badseg bt_everything bt_literal \
+ bug125959-x86 \
bug132813-x86 \
cmpxchg8b cpuid \
faultstatus fcmovnu fpu_lazy_eflags fxtract \
Added: trunk/none/tests/x86/bug125959-x86.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/bug125959-x86.c (rev 0)
+++ trunk/none/tests/x86/bug125959-x86.c 2006-11-14 15:07:57 UTC (rev 635=
1)
@@ -0,0 +1,36 @@
+
+#include <stdio.h>
+
+unsigned char buf[256];=20
+
+static int lookup ( int i )
+{
+ int block[3];
+ block[0] =3D (int)&buf[0];
+ block[1] =3D i;
+ block[2] =3D 0;
+ __asm__ __volatile__(
+ "movl %0,%%esi\n\t"
+ "movl 0(%%esi),%%ebx\n\t"
+ "movl 4(%%esi),%%eax\n\t"
+ "xlat\n\t"
+ "movl %%eax,8(%%esi)\n\t"
+ : : /*in*/"r"(block) : "esi", "ebx", "eax", "memory", "cc"
+ );
+ return block[2];
+}
+
+int main(void)=20
+{=20
+ int i, j;
+ for (i =3D 0; i < 256; i++)=20
+ buf[i] =3D (unsigned char) i;
+
+ j =3D 0;
+ for (i =3D 0; i < 130; i++) {
+ printf("%08x\n", lookup(j));
+ j +=3D 0x01000001;
+ }
+
+ return 0;=20
+}
Added: trunk/none/tests/x86/bug125959-x86.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/bug125959-x86.stderr.exp =
(rev 0)
+++ trunk/none/tests/x86/bug125959-x86.stderr.exp 2006-11-14 15:07:57 UTC=
(rev 6351)
@@ -0,0 +1,2 @@
+
+
Added: trunk/none/tests/x86/bug125959-x86.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/bug125959-x86.stdout.exp =
(rev 0)
+++ trunk/none/tests/x86/bug125959-x86.stdout.exp 2006-11-14 15:07:57 UTC=
(rev 6351)
@@ -0,0 +1,130 @@
+00000000
+01000001
+02000002
+03000003
+04000004
+05000005
+06000006
+07000007
+08000008
+09000009
+0a00000a
+0b00000b
+0c00000c
+0d00000d
+0e00000e
+0f00000f
+10000010
+11000011
+12000012
+13000013
+14000014
+15000015
+16000016
+17000017
+18000018
+19000019
+1a00001a
+1b00001b
+1c00001c
+1d00001d
+1e00001e
+1f00001f
+20000020
+21000021
+22000022
+23000023
+24000024
+25000025
+26000026
+27000027
+28000028
+29000029
+2a00002a
+2b00002b
+2c00002c
+2d00002d
+2e00002e
+2f00002f
+30000030
+31000031
+32000032
+33000033
+34000034
+35000035
+36000036
+37000037
+38000038
+39000039
+3a00003a
+3b00003b
+3c00003c
+3d00003d
+3e00003e
+3f00003f
+40000040
+41000041
+42000042
+43000043
+44000044
+45000045
+46000046
+47000047
+48000048
+49000049
+4a00004a
+4b00004b
+4c00004c
+4d00004d
+4e00004e
+4f00004f
+50000050
+51000051
+52000052
+53000053
+54000054
+55000055
+56000056
+57000057
+58000058
+59000059
+5a00005a
+5b00005b
+5c00005c
+5d00005d
+5e00005e
+5f00005f
+60000060
+61000061
+62000062
+63000063
+64000064
+65000065
+66000066
+67000067
+68000068
+69000069
+6a00006a
+6b00006b
+6c00006c
+6d00006d
+6e00006e
+6f00006f
+70000070
+71000071
+72000072
+73000073
+74000074
+75000075
+76000076
+77000077
+78000078
+79000079
+7a00007a
+7b00007b
+7c00007c
+7d00007d
+7e00007e
+7f00007f
+80000080
+81000081
Added: trunk/none/tests/x86/bug125959-x86.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/bug125959-x86.vgtest (re=
v 0)
+++ trunk/none/tests/x86/bug125959-x86.vgtest 2006-11-14 15:07:57 UTC (re=
v 6351)
@@ -0,0 +1 @@
+prog: bug125959-x86
|
|
From: <sv...@va...> - 2006-11-14 14:32:54
|
Author: dirk
Date: 2006-11-14 14:32:46 +0000 (Tue, 14 Nov 2006)
New Revision: 6350
Log:
change void* to Addr in mutex helpers. patch by Bard Van Assche.=20
I've bumped the tool interface version because it seems binary
incompatible.
Modified:
trunk/coregrind/m_threadmodel.c
trunk/coregrind/m_tooliface.c
trunk/coregrind/pub_core_tooliface.h
trunk/helgrind/hg_main.c
trunk/include/pub_tool_tooliface.h
Modified: trunk/coregrind/m_threadmodel.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_threadmodel.c 2006-11-10 22:47:27 UTC (rev 6349)
+++ trunk/coregrind/m_threadmodel.c 2006-11-14 14:32:46 UTC (rev 6350)
@@ -808,7 +808,7 @@
if (mx->state =3D=3D MX_Locked && mx->owner =3D=3D tid) /* deadlock *=
/
mutex_report(tid, mutexp, MXE_Deadlock, "trylocking");
=20
- VG_TRACK( pre_mutex_lock, tid, (void *)mutexp );
+ VG_TRACK( pre_mutex_lock, tid, mutexp );
}
=20
/* Give up waiting for a mutex. Fails if:
@@ -835,7 +835,7 @@
=20
switch(mx->state) {
case MX_Unlocking: /* ownership transfer or relock */
- VG_TRACK( post_mutex_unlock, mx->owner, (void *)mutexp );
+ VG_TRACK( post_mutex_unlock, mx->owner, mutexp );
if (mx->owner !=3D tid)
thread_unblock_mutex(tid, mx, "acquiring mutex");
break;
@@ -847,7 +847,7 @@
case MX_Locked:
if (debug_mutex)
VG_(printf)("mutex=3D%p mx->state=3D%s\n", mutexp, pp_mutexstate(mx));
- VG_TRACK( post_mutex_unlock, mx->owner, (void *)mutexp );
+ VG_TRACK( post_mutex_unlock, mx->owner, mutexp );
mutex_report(tid, mutexp, MXE_Locked, "acquiring");
thread_unblock_mutex(tid, mx, "acquiring mutex");
break;
@@ -860,7 +860,7 @@
mx->owner =3D tid;
mutex_setstate(tid, mx, MX_Locked);
=20
- VG_TRACK( post_mutex_lock, tid, (void *)mutexp );
+ VG_TRACK( post_mutex_lock, tid, mutexp );
}
=20
/* Try unlocking a lock. This will move it into a state where it can
@@ -969,7 +969,7 @@
=20
case MX_Unlocking:
/* OK - we need to complete the unlock */
- VG_TRACK( post_mutex_unlock, tid, (void *)mutexp );
+ VG_TRACK( post_mutex_unlock, tid, mutexp );
mutex_setstate(tid, mx, MX_Free);
break;
=20
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-11-10 22:47:27 UTC (rev 6349)
+++ trunk/coregrind/m_tooliface.c 2006-11-14 14:32:46 UTC (rev 6350)
@@ -326,9 +326,9 @@
DEF(track_post_thread_create, ThreadId, ThreadId)
DEF(track_post_thread_join, ThreadId, ThreadId)
=20
-DEF(track_pre_mutex_lock, ThreadId, void*)
-DEF(track_post_mutex_lock, ThreadId, void*)
-DEF(track_post_mutex_unlock, ThreadId, void*)
+DEF(track_pre_mutex_lock, ThreadId, Addr)
+DEF(track_post_mutex_lock, ThreadId, Addr)
+DEF(track_post_mutex_unlock, ThreadId, Addr)
=20
DEF(track_pre_deliver_signal, ThreadId, Int sigNo, Bool)
DEF(track_post_deliver_signal, ThreadId, Int sigNo)
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-11-10 22:47:27 UTC (rev 634=
9)
+++ trunk/coregrind/pub_core_tooliface.h 2006-11-14 14:32:46 UTC (rev 635=
0)
@@ -205,9 +205,9 @@
void (*track_post_thread_create)(ThreadId, ThreadId);
void (*track_post_thread_join) (ThreadId, ThreadId);
=20
- void (*track_pre_mutex_lock) (ThreadId, void*);
- void (*track_post_mutex_lock) (ThreadId, void*);
- void (*track_post_mutex_unlock)(ThreadId, void*);
+ void (*track_pre_mutex_lock) (ThreadId, Addr);
+ void (*track_post_mutex_lock) (ThreadId, Addr);
+ void (*track_post_mutex_unlock)(ThreadId, Addr);
=20
void (*track_pre_deliver_signal) (ThreadId, Int sigNo, Bool);
void (*track_post_deliver_signal)(ThreadId, Int sigNo);
Modified: trunk/helgrind/hg_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/helgrind/hg_main.c 2006-11-10 22:47:27 UTC (rev 6349)
+++ trunk/helgrind/hg_main.c 2006-11-14 14:32:46 UTC (rev 6350)
@@ -2858,17 +2858,17 @@
/* Do nothing */
}
=20
-static void hg_pre_mutex_lock(ThreadId tid, void* void_mutex)
+static void hg_pre_mutex_lock(ThreadId tid, Addr client_mutex)
{
- Mutex *mutex =3D get_mutex((Addr)void_mutex);
+ Mutex *mutex =3D get_mutex(client_mutex);
=20
test_mutex_state(mutex, MxLocked, tid);
}
=20
-static void hg_post_mutex_lock(ThreadId tid, void* void_mutex)
+static void hg_post_mutex_lock(ThreadId tid, Addr client_mutex)
{
static const Bool debug =3D False;
- Mutex *mutex =3D get_mutex((Addr)void_mutex);
+ Mutex *mutex =3D get_mutex(client_mutex);
const LockSet* ls;
=20
set_mutex_state(mutex, MxLocked, tid);
@@ -2899,11 +2899,11 @@
}
=20
=20
-static void hg_post_mutex_unlock(ThreadId tid, void* void_mutex)
+static void hg_post_mutex_unlock(ThreadId tid, Addr client_mutex)
{
static const Bool debug =3D False;
Int i =3D 0;
- Mutex *mutex =3D get_mutex((Addr)void_mutex);
+ Mutex *mutex =3D get_mutex(client_mutex);
const LockSet *ls;
=20
test_mutex_state(mutex, MxUnlocked, tid);
@@ -3260,14 +3260,14 @@
static void bus_lock(void)
{
ThreadId tid =3D VG_(get_running_tid)();
- hg_pre_mutex_lock(tid, &__BUS_HARDWARE_LOCK__);
- hg_post_mutex_lock(tid, &__BUS_HARDWARE_LOCK__);
+ hg_pre_mutex_lock(tid, (Addr)&__BUS_HARDWARE_LOCK__);
+ hg_post_mutex_lock(tid, (Addr)&__BUS_HARDWARE_LOCK__);
}
=20
static void bus_unlock(void)
{
ThreadId tid =3D VG_(get_running_tid)();
- hg_post_mutex_unlock(tid, &__BUS_HARDWARE_LOCK__);
+ hg_post_mutex_unlock(tid, (Addr)&__BUS_HARDWARE_LOCK__);
}
=20
/*--------------------------------------------------------------------*/
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-11-10 22:47:27 UTC (rev 6349)
+++ trunk/include/pub_tool_tooliface.h 2006-11-14 14:32:46 UTC (rev 6350)
@@ -40,7 +40,7 @@
/* The version number indicates binary-incompatible changes to the
interface; if the core and tool versions don't match, Valgrind
will abort. */
-#define VG_CORE_INTERFACE_VERSION 9
+#define VG_CORE_INTERFACE_VERSION 10
=20
typedef struct _ToolInfo {
Int sizeof_ToolInfo;
@@ -553,15 +553,15 @@
=20
Called before a thread can block while waiting for a mutex (called
regardless of whether the thread will block or not). */
-void VG_(track_pre_mutex_lock)(void(*f)(ThreadId tid, void* mutex));
+void VG_(track_pre_mutex_lock)(void(*f)(ThreadId tid, Addr mutex));
=20
/* Called once the thread actually holds the mutex (always paired with
pre_mutex_lock). */
-void VG_(track_post_mutex_lock)(void(*f)(ThreadId tid, void* mutex));
+void VG_(track_post_mutex_lock)(void(*f)(ThreadId tid, Addr mutex));
=20
/* Called after a thread has released a mutex (no need for a correspondi=
ng
pre_mutex_unlock, because unlocking can't block). */
-void VG_(track_post_mutex_unlock)(void(*f)(ThreadId tid, void* mutex));
+void VG_(track_post_mutex_unlock)(void(*f)(ThreadId tid, Addr mutex));
=20
/* Signal events (not exhaustive)
=20
|
|
From: <js...@ac...> - 2006-11-14 05:05:04
|
Nightly build on phoenix ( SuSE 10.0 ) started at 2006-11-14 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 == 244 tests, 8 stderr failures, 1 stdout failure, 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/blockfault (stderr) none/tests/fdleak_cmsg (stderr) none/tests/mremap (stderr) none/tests/mremap2 (stdout) |
|
From: Tom H. <to...@co...> - 2006-11-14 03:47:27
|
Nightly build on dunsmere ( athlon, Fedora Core 6 ) started at 2006-11-14 03:30: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 == 246 tests, 7 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/xml1 (stderr) none/tests/blockfault (stderr) none/tests/fdleak_cmsg (stderr) none/tests/mremap (stderr) none/tests/mremap2 (stdout) |
|
From: Tom H. <th...@cy...> - 2006-11-14 03:28:01
|
Nightly build on dellow ( x86_64, Fedora Core 6 ) started at 2006-11-14 03:10:07 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 == 274 tests, 13 stderr failures, 1 stdout failure, 0 posttest failures == memcheck/tests/leak-pool-0 (stderr) memcheck/tests/leak-pool-1 (stderr) memcheck/tests/leak-pool-2 (stderr) memcheck/tests/leak-pool-3 (stderr) memcheck/tests/leak-pool-4 (stderr) memcheck/tests/leak-pool-5 (stderr) memcheck/tests/mempool (stderr) memcheck/tests/pointer-trace (stderr) memcheck/tests/x86/scalar (stderr) memcheck/tests/xml1 (stderr) none/tests/blockfault (stderr) none/tests/fdleak_cmsg (stderr) none/tests/mremap (stderr) none/tests/mremap2 (stdout) |
|
From: Tom H. <th...@cy...> - 2006-11-14 03:26:51
|
Nightly build on alvis ( i686, Red Hat 7.3 ) started at 2006-11-14 03:15:04 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/ccG1YMqk.s:4393: Error: no such instruction: `fisttpq -56(%ebp)' /tmp/ccG1YMqk.s:4513: Error: no such instruction: `fisttpq -56(%ebp)' /tmp/ccG1YMqk.s:4633: Error: no such instruction: `fisttpq -56(%ebp)' /tmp/ccG1YMqk.s:4753: Error: no such instruction: `fisttpq -56(%ebp)' /tmp/ccG1YMqk.s:4873: Error: no such instruction: `fisttpq -56(%ebp)' /tmp/ccG1YMqk.s:4993: Error: no such instruction: `fisttpq -56(%ebp)' /tmp/ccG1YMqk.s:5113: Error: no such instruction: `fisttpq -56(%ebp)' /tmp/ccG1YMqk.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/valgrind.7628/valgrind/none/tests/x86' make[4]: *** [check-am] Error 2 make[4]: Leaving directory `/tmp/valgrind.7628/valgrind/none/tests/x86' make[3]: *** [check-recursive] Error 1 make[3]: Leaving directory `/tmp/valgrind.7628/valgrind/none/tests' make[2]: *** [check-recursive] Error 1 make[2]: Leaving directory `/tmp/valgrind.7628/valgrind/none' make[1]: *** [check-recursive] Error 1 make[1]: Leaving directory `/tmp/valgrind.7628/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/ccTcigR0.s:4393: Error: no such instruction: `fisttpq -56(%ebp)' /tmp/ccTcigR0.s:4513: Error: no such instruction: `fisttpq -56(%ebp)' /tmp/ccTcigR0.s:4633: Error: no such instruction: `fisttpq -56(%ebp)' /tmp/ccTcigR0.s:4753: Error: no such instruction: `fisttpq -56(%ebp)' /tmp/ccTcigR0.s:4873: Error: no such instruction: `fisttpq -56(%ebp)' /tmp/ccTcigR0.s:4993: Error: no such instruction: `fisttpq -56(%ebp)' /tmp/ccTcigR0.s:5113: Error: no such instruction: `fisttpq -56(%ebp)' /tmp/ccTcigR0.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/valgrind.7628/valgrind/none/tests/x86' make[4]: *** [check-am] Error 2 make[4]: Leaving directory `/tmp/valgrind.7628/valgrind/none/tests/x86' make[3]: *** [check-recursive] Error 1 make[3]: Leaving directory `/tmp/valgrind.7628/valgrind/none/tests' make[2]: *** [check-recursive] Error 1 make[2]: Leaving directory `/tmp/valgrind.7628/valgrind/none' make[1]: *** [check-recursive] Error 1 make[1]: Leaving directory `/tmp/valgrind.7628/valgrind' make: *** [check] Error 2 ================================================= == Difference between 24 hours ago and now == ================================================= *** old.short Tue Nov 14 03:20:53 2006 --- new.short Tue Nov 14 03:26:40 2006 *************** *** 7,16 **** Last 20 lines of verbose log follow echo ! /tmp/ccTcigR0.s:4393: Error: no such instruction: `fisttpq -56(%ebp)' ! /tmp/ccTcigR0.s:4513: Error: no such instruction: `fisttpq -56(%ebp)' ! /tmp/ccTcigR0.s:4633: Error: no such instruction: `fisttpq -56(%ebp)' ! /tmp/ccTcigR0.s:4753: Error: no such instruction: `fisttpq -56(%ebp)' ! /tmp/ccTcigR0.s:4873: Error: no such instruction: `fisttpq -56(%ebp)' ! /tmp/ccTcigR0.s:4993: Error: no such instruction: `fisttpq -56(%ebp)' ! /tmp/ccTcigR0.s:5113: Error: no such instruction: `fisttpq -56(%ebp)' ! /tmp/ccTcigR0.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/ccG1YMqk.s:4393: Error: no such instruction: `fisttpq -56(%ebp)' ! /tmp/ccG1YMqk.s:4513: Error: no such instruction: `fisttpq -56(%ebp)' ! /tmp/ccG1YMqk.s:4633: Error: no such instruction: `fisttpq -56(%ebp)' ! /tmp/ccG1YMqk.s:4753: Error: no such instruction: `fisttpq -56(%ebp)' ! /tmp/ccG1YMqk.s:4873: Error: no such instruction: `fisttpq -56(%ebp)' ! /tmp/ccG1YMqk.s:4993: Error: no such instruction: `fisttpq -56(%ebp)' ! /tmp/ccG1YMqk.s:5113: Error: no such instruction: `fisttpq -56(%ebp)' ! /tmp/ccG1YMqk.s:5233: Error: no such instruction: `fisttpq -56(%ebp)' make[5]: *** [insn_sse3.o] Error 1 |
|
From: Tom H. <th...@cy...> - 2006-11-14 03:21:34
|
Nightly build on lloyd ( x86_64, Fedora Core 3 ) started at 2006-11-14 03:05: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 == 274 tests, 14 stderr failures, 1 stdout failure, 0 posttest failures == memcheck/tests/leak-pool-0 (stderr) memcheck/tests/leak-pool-1 (stderr) memcheck/tests/leak-pool-2 (stderr) memcheck/tests/leak-pool-3 (stderr) memcheck/tests/leak-pool-4 (stderr) memcheck/tests/leak-pool-5 (stderr) memcheck/tests/mempool (stderr) memcheck/tests/pointer-trace (stderr) memcheck/tests/stack_switch (stderr) memcheck/tests/x86/scalar (stderr) memcheck/tests/x86/scalar_supp (stderr) none/tests/blockfault (stderr) none/tests/fdleak_cmsg (stderr) none/tests/mremap (stderr) none/tests/mremap2 (stdout) |
|
From: Tom H. <th...@cy...> - 2006-11-14 03:19:36
|
Nightly build on gill ( x86_64, Fedora Core 2 ) started at 2006-11-14 03:00:03 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 == 276 tests, 15 stderr failures, 2 stdout failures, 0 posttest failures == memcheck/tests/leak-pool-0 (stderr) memcheck/tests/leak-pool-1 (stderr) memcheck/tests/leak-pool-2 (stderr) memcheck/tests/leak-pool-3 (stderr) memcheck/tests/leak-pool-4 (stderr) memcheck/tests/leak-pool-5 (stderr) memcheck/tests/mempool (stderr) memcheck/tests/pointer-trace (stderr) memcheck/tests/stack_switch (stderr) memcheck/tests/x86/scalar (stderr) memcheck/tests/x86/scalar_supp (stderr) none/tests/blockfault (stderr) none/tests/fdleak_cmsg (stderr) none/tests/fdleak_fcntl (stderr) none/tests/mremap (stderr) none/tests/mremap2 (stdout) none/tests/tls (stdout) ================================================= == 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 == 276 tests, 15 stderr failures, 1 stdout failure, 0 posttest failures == memcheck/tests/leak-pool-0 (stderr) memcheck/tests/leak-pool-1 (stderr) memcheck/tests/leak-pool-2 (stderr) memcheck/tests/leak-pool-3 (stderr) memcheck/tests/leak-pool-4 (stderr) memcheck/tests/leak-pool-5 (stderr) memcheck/tests/mempool (stderr) memcheck/tests/pointer-trace (stderr) memcheck/tests/stack_switch (stderr) memcheck/tests/x86/scalar (stderr) memcheck/tests/x86/scalar_supp (stderr) none/tests/blockfault (stderr) none/tests/fdleak_cmsg (stderr) none/tests/fdleak_fcntl (stderr) none/tests/mremap (stderr) none/tests/mremap2 (stdout) ================================================= == Difference between 24 hours ago and now == ================================================= *** old.short Tue Nov 14 03:08:47 2006 --- new.short Tue Nov 14 03:19:21 2006 *************** *** 8,10 **** ! == 276 tests, 15 stderr failures, 1 stdout failure, 0 posttest failures == memcheck/tests/leak-pool-0 (stderr) --- 8,10 ---- ! == 276 tests, 15 stderr failures, 2 stdout failures, 0 posttest failures == memcheck/tests/leak-pool-0 (stderr) *************** *** 25,26 **** --- 25,27 ---- none/tests/mremap2 (stdout) + none/tests/tls (stdout) |
|
From: <js...@ac...> - 2006-11-14 02:51:17
|
Nightly build on minnie ( SuSE 10.0, ppc32 ) started at 2006-11-14 09: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 == 214 tests, 12 stderr failures, 7 stdout failures, 0 posttest failures == memcheck/tests/leak-cycle (stderr) 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/blockfault (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/jm-int (stdout) 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-11-14 01:16:43
|
Nightly build on g5 ( SuSE 10.1, ppc970 ) started at 2006-11-14 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 == 220 tests, 14 stderr failures, 4 stdout failures, 0 posttest failures == memcheck/tests/deep_templates (stdout) memcheck/tests/leak-cycle (stderr) memcheck/tests/leak-pool-0 (stderr) memcheck/tests/leak-pool-1 (stderr) memcheck/tests/leak-pool-2 (stderr) memcheck/tests/leak-pool-3 (stderr) memcheck/tests/leak-pool-4 (stderr) memcheck/tests/leak-pool-5 (stderr) memcheck/tests/leak-tree (stderr) memcheck/tests/mempool (stderr) memcheck/tests/pointer-trace (stderr) none/tests/blockfault (stderr) none/tests/faultstatus (stderr) none/tests/fdleak_cmsg (stderr) none/tests/mremap (stderr) none/tests/mremap2 (stdout) none/tests/ppc32/jm-int (stdout) none/tests/ppc64/jm-int (stdout) |