You can subscribe to this list here.
| 2002 |
Jan
|
Feb
|
Mar
|
Apr
|
May
|
Jun
|
Jul
|
Aug
|
Sep
(1) |
Oct
(122) |
Nov
(152) |
Dec
(69) |
|---|---|---|---|---|---|---|---|---|---|---|---|---|
| 2003 |
Jan
(6) |
Feb
(25) |
Mar
(73) |
Apr
(82) |
May
(24) |
Jun
(25) |
Jul
(10) |
Aug
(11) |
Sep
(10) |
Oct
(54) |
Nov
(203) |
Dec
(182) |
| 2004 |
Jan
(307) |
Feb
(305) |
Mar
(430) |
Apr
(312) |
May
(187) |
Jun
(342) |
Jul
(487) |
Aug
(637) |
Sep
(336) |
Oct
(373) |
Nov
(441) |
Dec
(210) |
| 2005 |
Jan
(385) |
Feb
(480) |
Mar
(636) |
Apr
(544) |
May
(679) |
Jun
(625) |
Jul
(810) |
Aug
(838) |
Sep
(634) |
Oct
(521) |
Nov
(965) |
Dec
(543) |
| 2006 |
Jan
(494) |
Feb
(431) |
Mar
(546) |
Apr
(411) |
May
(406) |
Jun
(322) |
Jul
(256) |
Aug
(401) |
Sep
(345) |
Oct
(542) |
Nov
(308) |
Dec
(481) |
| 2007 |
Jan
(427) |
Feb
(326) |
Mar
(367) |
Apr
(255) |
May
(244) |
Jun
(204) |
Jul
(223) |
Aug
(231) |
Sep
(354) |
Oct
(374) |
Nov
(497) |
Dec
(362) |
| 2008 |
Jan
(322) |
Feb
(482) |
Mar
(658) |
Apr
(422) |
May
(476) |
Jun
(396) |
Jul
(455) |
Aug
(267) |
Sep
(280) |
Oct
(253) |
Nov
(232) |
Dec
(304) |
| 2009 |
Jan
(486) |
Feb
(470) |
Mar
(458) |
Apr
(423) |
May
(696) |
Jun
(461) |
Jul
(551) |
Aug
(575) |
Sep
(134) |
Oct
(110) |
Nov
(157) |
Dec
(102) |
| 2010 |
Jan
(226) |
Feb
(86) |
Mar
(147) |
Apr
(117) |
May
(107) |
Jun
(203) |
Jul
(193) |
Aug
(238) |
Sep
(300) |
Oct
(246) |
Nov
(23) |
Dec
(75) |
| 2011 |
Jan
(133) |
Feb
(195) |
Mar
(315) |
Apr
(200) |
May
(267) |
Jun
(293) |
Jul
(353) |
Aug
(237) |
Sep
(278) |
Oct
(611) |
Nov
(274) |
Dec
(260) |
| 2012 |
Jan
(303) |
Feb
(391) |
Mar
(417) |
Apr
(441) |
May
(488) |
Jun
(655) |
Jul
(590) |
Aug
(610) |
Sep
(526) |
Oct
(478) |
Nov
(359) |
Dec
(372) |
| 2013 |
Jan
(467) |
Feb
(226) |
Mar
(391) |
Apr
(281) |
May
(299) |
Jun
(252) |
Jul
(311) |
Aug
(352) |
Sep
(481) |
Oct
(571) |
Nov
(222) |
Dec
(231) |
| 2014 |
Jan
(185) |
Feb
(329) |
Mar
(245) |
Apr
(238) |
May
(281) |
Jun
(399) |
Jul
(382) |
Aug
(500) |
Sep
(579) |
Oct
(435) |
Nov
(487) |
Dec
(256) |
| 2015 |
Jan
(338) |
Feb
(357) |
Mar
(330) |
Apr
(294) |
May
(191) |
Jun
(108) |
Jul
(142) |
Aug
(261) |
Sep
(190) |
Oct
(54) |
Nov
(83) |
Dec
(22) |
| 2016 |
Jan
(49) |
Feb
(89) |
Mar
(33) |
Apr
(50) |
May
(27) |
Jun
(34) |
Jul
(53) |
Aug
(53) |
Sep
(98) |
Oct
(206) |
Nov
(93) |
Dec
(53) |
| 2017 |
Jan
(65) |
Feb
(82) |
Mar
(102) |
Apr
(86) |
May
(187) |
Jun
(67) |
Jul
(23) |
Aug
(93) |
Sep
(65) |
Oct
(45) |
Nov
(35) |
Dec
(17) |
| 2018 |
Jan
(26) |
Feb
(35) |
Mar
(38) |
Apr
(32) |
May
(8) |
Jun
(43) |
Jul
(27) |
Aug
(30) |
Sep
(43) |
Oct
(42) |
Nov
(38) |
Dec
(67) |
| 2019 |
Jan
(32) |
Feb
(37) |
Mar
(53) |
Apr
(64) |
May
(49) |
Jun
(18) |
Jul
(14) |
Aug
(53) |
Sep
(25) |
Oct
(30) |
Nov
(49) |
Dec
(31) |
| 2020 |
Jan
(87) |
Feb
(45) |
Mar
(37) |
Apr
(51) |
May
(99) |
Jun
(36) |
Jul
(11) |
Aug
(14) |
Sep
(20) |
Oct
(24) |
Nov
(40) |
Dec
(23) |
| 2021 |
Jan
(14) |
Feb
(53) |
Mar
(85) |
Apr
(15) |
May
(19) |
Jun
(3) |
Jul
(14) |
Aug
(1) |
Sep
(57) |
Oct
(73) |
Nov
(56) |
Dec
(22) |
| 2022 |
Jan
(3) |
Feb
(22) |
Mar
(6) |
Apr
(55) |
May
(46) |
Jun
(39) |
Jul
(15) |
Aug
(9) |
Sep
(11) |
Oct
(34) |
Nov
(20) |
Dec
(36) |
| 2023 |
Jan
(79) |
Feb
(41) |
Mar
(99) |
Apr
(169) |
May
(48) |
Jun
(16) |
Jul
(16) |
Aug
(57) |
Sep
(32) |
Oct
|
Nov
|
Dec
|
| S | M | T | W | T | F | S |
|---|---|---|---|---|---|---|
|
|
|
|
|
|
|
1
(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-03 11:39:06
|
Author: sewardj
Date: 2005-10-03 12:39:02 +0100 (Mon, 03 Oct 2005)
New Revision: 1409
Log:
Implement LAHF.
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-03 02:44:01 UTC (rev 1408)
+++ trunk/priv/guest-x86/toIR.c 2005-10-03 11:39:02 UTC (rev 1409)
@@ -5978,27 +5978,31 @@
}
=20
=20
-//-- static=20
-//-- void codegen_LAHF ( UCodeBlock* cb )
-//-- {
-//-- Int t =3D newTemp(cb);
-//--=20
-//-- /* Pushed arg is ignored, it just provides somewhere to put the
-//-- return value. */
-//-- uInstr2(cb, GET, 4, ArchReg, R_EAX, TempReg, t);
-//-- uInstr0(cb, CALLM_S, 0);
-//-- uInstr1(cb, PUSH, 4, TempReg, t);
-//-- uInstr1(cb, CALLM, 0, Lit16, VGOFF_(helper_LAHF));
-//-- uFlagsRWU(cb, FlagsSZACP, FlagsEmpty, FlagsEmpty);
-//-- uInstr1(cb, POP, 4, TempReg, t);
-//-- uInstr0(cb, CALLM_E, 0);
-//--=20
-//-- /* At this point, the %ah sub-register in %eax has been updated,
-//-- the rest is the same, so do a PUT of the whole thing. */
-//-- uInstr2(cb, PUT, 4, TempReg, t, ArchReg, R_EAX);
-//-- }
-//--=20
+static=20
+void codegen_LAHF ( void )
+{
+ /* AH <- EFLAGS(SF:ZF:0:AF:0:PF:1:CF) */
+ IRExpr* eax_with_hole;
+ IRExpr* new_byte;
+ IRExpr* new_eax;
+ UInt mask_SZACP =3D X86G_CC_MASK_S|X86G_CC_MASK_Z|X86G_CC_MASK_A
+ |X86G_CC_MASK_C|X86G_CC_MASK_P;
=20
+ IRTemp flags =3D newTemp(Ity_I32);
+ assign( flags, mk_x86g_calculate_eflags_all() );
+
+ eax_with_hole=20
+ =3D binop(Iop_And32, getIReg(4, R_EAX), mkU32(0xFFFF00FF));
+ new_byte=20
+ =3D binop(Iop_Or32, binop(Iop_And32, mkexpr(flags), mkU32(mask_SZA=
CP)),
+ mkU32(1<<1));
+ new_eax=20
+ =3D binop(Iop_Or32, eax_with_hole,
+ binop(Iop_Shl32, new_byte, mkU8(8)));
+ putIReg(4, R_EAX, new_eax);
+}
+
+
static
UInt dis_cmpxchg_G_E ( UChar sorb,
Int size,=20
@@ -10458,11 +10462,11 @@
DIP("sahf\n");
break;
=20
-//-- case 0x9F: /* LAHF */
-//-- codegen_LAHF ( cb );
-//-- DIP("lahf\n");
-//-- break;
-//--=20
+ case 0x9F: /* LAHF */
+ codegen_LAHF();
+ DIP("lahf\n");
+ break;
+
case 0x9B: /* FWAIT */
/* ignore? */
DIP("fwait\n");
|
|
From: Tom H. <to...@co...> - 2005-10-03 09:21:08
|
In message <200...@ac...>
Julian Seward <js...@ac...> wrote:
> This is a good thing; however I'm not sure I understand the logic.
>
> - the first conditional reads
>
> if ( (fd < 0 || fd >= VG_(fd_hard_limit) || fd == VG_(clo_log_fd))
> && VG_(showing_core_errors)() ) {
> ... stuff ...
> return False;
> }
>
> which seems to imply that some part of the decision rests on
> what VG_(showing_core_errors)() produces, iow on what sounds
> like a setting in the error-displaying options. That seems a
> little odd.
I guess it does that test so that it doesn't print the message if
it is not supposed to be showing errors, but it should probably still
return false and it doesn't at the moment.
> - what does the "Bool soft" parameter mean?
Whether or not to consider a file descriptor invalid if it is above
the current soft limit.
Basically if we are testing whether a newly created file descriptor is
valid (in a post handler) then we set soft to true, and if we are
testing whether a file descriptor that is about to be used (in a pre
handler) is valid then we set it to false.
The point is that if the (virtual) soft limit is lowered then any
existing descriptors can still be read/written/closed etc (so long as
they are below the valgrind reserved descriptors) but no new
descriptors can be created above the new soft limit.
Tom
--
Tom Hughes (to...@co...)
http://www.compton.nu/
|
|
From: <sv...@va...> - 2005-10-03 09:06:43
|
Author: tom
Date: 2005-10-03 10:06:36 +0100 (Mon, 03 Oct 2005)
New Revision: 4849
Log:
Allow scripts less that a page in length to be executed.
Modified:
trunk/coregrind/m_ume.c
Modified: trunk/coregrind/m_ume.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_ume.c 2005-10-03 02:23:17 UTC (rev 4848)
+++ trunk/coregrind/m_ume.c 2005-10-03 09:06:36 UTC (rev 4849)
@@ -794,8 +794,12 @@
return err;
}
=20
- sres =3D VG_(pread)(fd, buf, sizeof(buf), 0);
- if (sres.isError || sres.val !=3D sizeof(buf)) {
+ bufsz =3D VG_(fsize)(fd);
+ if (bufsz > sizeof(buf))
+ bufsz =3D sizeof(buf);
+
+ sres =3D VG_(pread)(fd, buf, bufsz, 0);
+ if (sres.isError || sres.val !=3D bufsz) {
VG_(printf)("Can't read executable header: %s\n",
VG_(strerror)(sres.val));
VG_(close)(fd);
|
|
From: Nicholas N. <nj...@cs...> - 2005-10-03 03:01:22
|
On Fri, 30 Sep 2005, Julian Seward wrote:
> I've been looking a little at ML_(fd_allowed), in syswrap-generic.c.
> This function decides which fds syscalls are allowed to create/use,
> so that V's own fds don't get trashed.
>
> This is a good thing; however I'm not sure I understand the logic.
>
> - the first conditional reads
>
> if ( (fd < 0 || fd >= VG_(fd_hard_limit) || fd == VG_(clo_log_fd))
> && VG_(showing_core_errors)() ) {
> ... stuff ...
> return False;
> }
>
> which seems to imply that some part of the decision rests on
> what VG_(showing_core_errors)() produces, iow on what sounds
> like a setting in the error-displaying options. That seems a
> little odd.
It does look odd. Some of the subsequent "else if" cases cover some of
these cases, but not all. I think it should really be something like
this:
if (some conditions) {
if (showing_core_erros && more specific conditions) {
print error msg
}
return False;
} else {
return True;
}
> - what does the "Bool soft" parameter mean?
There are two fd limits, the soft and hard limits. I think the client can
only access those below the soft limit, and Valgrind can access those
below the hard limit? Something like that.
Nick
|
|
From: <js...@ac...> - 2005-10-03 03:00:50
|
Nightly build on phoenix ( SuSE 9.1 ) started at 2005-10-03 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) ================================================= == Results from 24 hours ago == ================================================= 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 == 186 tests, 2 stderr failures, 0 stdout failures ================= none/tests/faultstatus (stderr) none/tests/x86/int (stderr) ================================================= == Difference between 24 hours ago and now == ================================================= *** old.short Mon Oct 3 03:47:27 2005 --- new.short Mon Oct 3 04:00:43 2005 *************** *** 10,12 **** ! == 186 tests, 2 stderr failures, 0 stdout failures ================= none/tests/faultstatus (stderr) --- 10,12 ---- ! == 188 tests, 2 stderr failures, 0 stdout failures ================= none/tests/faultstatus (stderr) |
|
From: <sv...@va...> - 2005-10-03 02:44:05
|
Author: sewardj
Date: 2005-10-03 03:44:01 +0100 (Mon, 03 Oct 2005)
New Revision: 1408
Log:
Implement the 0F 7F encoding for movq mmreg, mmreg.
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-03 02:16:02 UTC (rev 1407)
+++ trunk/priv/guest-x86/toIR.c 2005-10-03 02:44:01 UTC (rev 1408)
@@ -5334,9 +5334,10 @@
goto mmx_decode_failure;
modrm =3D getIByte(delta);
if (epartIsReg(modrm)) {
- /* Fall through. The assembler doesn't appear to generate
- these. */
- goto mmx_decode_failure;
+ delta++;
+ putMMXReg( eregOfRM(modrm), getMMXReg(gregOfRM(modrm)) );
+ DIP("movq %s, %s\n",=20
+ nameMMXReg(gregOfRM(modrm)), nameMMXReg(eregOfRM(modrm))=
);
} else {
IRTemp addr =3D disAMode( &len, sorb, delta, dis_buf );
delta +=3D len;
|
|
From: Tom H. <to...@co...> - 2005-10-03 02:40:42
|
Nightly build on dunsmere ( athlon, Fedora Core 4 ) started at 2005-10-03 03:30:04 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, 9 stderr failures, 0 stdout failures ================= 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/fcntl_setown (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 == 188 tests, 9 stderr failures, 1 stdout failure ================= memcheck/tests/clientperm (stdout) memcheck/tests/clientperm (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 Mon Oct 3 03:35:22 2005 --- new.short Mon Oct 3 03:40:34 2005 *************** *** 8,12 **** ! == 188 tests, 9 stderr failures, 1 stdout failure ================= ! memcheck/tests/clientperm (stdout) ! memcheck/tests/clientperm (stderr) memcheck/tests/leak-tree (stderr) --- 8,10 ---- ! == 190 tests, 9 stderr failures, 0 stdout failures ================= memcheck/tests/leak-tree (stderr) *************** *** 18,19 **** --- 16,18 ---- none/tests/faultstatus (stderr) + none/tests/fcntl_setown (stderr) none/tests/x86/int (stderr) |
|
From: Tom H. <th...@cy...> - 2005-10-03 02:27:47
|
Nightly build on alvis ( i686, Red Hat 7.3 ) started at 2005-10-03 03:15:03 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 == 188 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) ================================================= == 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 == 187 tests, 16 stderr failures, 1 stdout failure ================= 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) none/tests/x86/yield (stdout) ================================================= == Difference between 24 hours ago and now == ================================================= *** old.short Mon Oct 3 03:21:44 2005 --- new.short Mon Oct 3 03:27:38 2005 *************** *** 8,10 **** ! == 187 tests, 16 stderr failures, 1 stdout failure ================= memcheck/tests/addressable (stderr) --- 8,10 ---- ! == 188 tests, 16 stderr failures, 0 stdout failures ================= memcheck/tests/addressable (stderr) *************** *** 25,27 **** none/tests/x86/int (stderr) - none/tests/x86/yield (stdout) --- 25,26 ---- |
|
From: Tom H. <th...@cy...> - 2005-10-03 02:25:23
|
Nightly build on ginetta ( i686, Red Hat 8.0 ) started at 2005-10-03 03:10:13 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 == 188 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) ================================================= == 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 == 187 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) ================================================= == Difference between 24 hours ago and now == ================================================= *** old.short Mon Oct 3 03:18:58 2005 --- new.short Mon Oct 3 03:25:17 2005 *************** *** 8,10 **** ! == 187 tests, 4 stderr failures, 0 stdout failures ================= memcheck/tests/mempool (stderr) --- 8,10 ---- ! == 188 tests, 4 stderr failures, 1 stdout failure ================= memcheck/tests/mempool (stderr) *************** *** 13,14 **** --- 13,15 ---- none/tests/x86/int (stderr) + none/tests/x86/yield (stdout) |
|
From: <sv...@va...> - 2005-10-03 02:23:25
|
Author: sewardj
Date: 2005-10-03 03:23:17 +0100 (Mon, 03 Oct 2005)
New Revision: 4848
Log:
Test misc sbb/adc insns.
Added:
trunk/none/tests/x86/sbbmisc.c
trunk/none/tests/x86/sbbmisc.stderr.exp
trunk/none/tests/x86/sbbmisc.stdout.exp
trunk/none/tests/x86/sbbmisc.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-03 01:22:29 UTC (rev 4847)
+++ trunk/none/tests/x86/Makefile.am 2005-10-03 02:23:17 UTC (rev 4848)
@@ -19,6 +19,7 @@
$(addsuffix .vgtest,$(INSN_TESTS)) \
looper.stderr.exp looper.stdout.exp looper.vgtest \
pushpopseg.stderr.exp pushpopseg.stdout.exp pushpopseg.vgtest \
+ sbbmisc.stderr.exp sbbmisc.stdout.exp sbbmisc.vgtest \
seg_override.stderr.exp seg_override.stdout.exp seg_override.vgtest \
sigcontext.stdout.exp sigcontext.stderr.exp sigcontext.vgtest \
smc1.stderr.exp smc1.stdout.exp smc1.vgtest \
@@ -28,7 +29,8 @@
badseg bt_everything bt_literal cmpxchg8b cpuid fpu_lazy_eflags \
fxtract \
getseg $(INSN_TESTS) \
- looper int pushpopseg seg_override sigcontext smc1 yield
+ looper int pushpopseg sbbmisc \
+ seg_override sigcontext smc1 yield
=20
AM_CFLAGS =3D $(WERROR) -Winline -Wall -Wshadow \
-g -I$(top_srcdir)/include \
Added: trunk/none/tests/x86/sbbmisc.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/sbbmisc.c 2005-10-03 01:22:29 UTC (rev 4847)
+++ trunk/none/tests/x86/sbbmisc.c 2005-10-03 02:23:17 UTC (rev 4848)
@@ -0,0 +1,181 @@
+
+#include <stdio.h>
+
+char in_b, out_b1, out_b2, in_b2;
+
+short in_w, out_w1, out_w2;
+
+int in_l, out_l1, out_l2;
+
+extern void sbb_ib_al ( void );
+asm("\n"
+"sbb_ib_al:\n"
+
+"\tmovb in_b, %al\n"
+"\tclc\n"
+"\tsbbb $5, %al\n"
+"\tmovb %al, out_b1\n"
+
+"\tmovb in_b, %al\n"
+"\tstc\n"
+"\tsbbb $5, %al\n"
+"\tmovb %al, out_b2\n"
+
+"\tret\n"
+);
+
+
+extern void sbb_iw_ax ( void );
+asm("\n"
+"sbb_iw_ax:\n"
+
+"\tmovw in_w, %ax\n"
+"\tclc\n"
+"\tsbbw $555, %ax\n"
+"\tmovw %ax, out_w1\n"
+
+"\tmovw in_w, %ax\n"
+"\tstc\n"
+"\tsbbw $555, %ax\n"
+"\tmovw %ax, out_w2\n"
+
+"\tret\n"
+);
+
+
+extern void sbb_il_eax ( void );
+asm("\n"
+"sbb_il_eax:\n"
+
+"\tmovl in_l, %eax\n"
+"\tclc\n"
+"\tsbbl $555666, %eax\n"
+"\tmovl %eax, out_l1\n"
+
+"\tmovl in_l, %eax\n"
+"\tstc\n"
+"\tsbbl $555666, %eax\n"
+"\tmovl %eax, out_l2\n"
+
+"\tret\n"
+);
+
+
+extern void sbb_eb_gb ( void );
+asm("\n"
+"sbb_eb_gb:\n"
+
+"\tmovb in_b, %al\n"
+"\tclc\n"
+"\tsbbb in_b2, %al\n"
+"\tmovb %al, out_b1\n"
+
+"\tmovb in_b, %al\n"
+"\tstc\n"
+"\tsbbb in_b2, %al\n"
+"\tmovb %al, out_b2\n"
+
+"\tret\n"
+);
+
+
+extern void sbb_eb_gb_2 ( void );
+asm("\n"
+"sbb_eb_gb_2:\n"
+"\tpushl %ecx\n"
+
+"\tmovb in_b, %cl\n"
+"\tmovb in_b2, %dh\n"
+"\tclc\n"
+"\tsbbb %dh,%cl\n"
+"\tmovb %cl, out_b1\n"
+
+"\tmovb in_b, %cl\n"
+"\tmovb in_b2, %dh\n"
+"\tstc\n"
+"\tsbbb %dh,%cl\n"
+"\tmovb %cl, out_b2\n"
+
+"\tpopl %ecx\n"
+"\tret\n"
+);
+
+
+extern void adc_eb_gb ( void );
+asm("\n"
+"adc_eb_gb:\n"
+
+"\tmovb in_b, %al\n"
+"\tclc\n"
+"\tadcb in_b2, %al\n"
+"\tmovb %al, out_b1\n"
+
+"\tmovb in_b, %al\n"
+"\tstc\n"
+"\tadcb in_b2, %al\n"
+"\tmovb %al, out_b2\n"
+
+"\tret\n"
+);
+
+
+extern void adc_eb_gb_2 ( void );
+asm("\n"
+"adc_eb_gb_2:\n"
+"\tpushl %ecx\n"
+
+"\tmovb in_b, %cl\n"
+"\tmovb in_b2, %dh\n"
+"\tclc\n"
+"\tadcb %dh,%cl\n"
+"\tmovb %cl, out_b1\n"
+
+"\tmovb in_b, %cl\n"
+"\tmovb in_b2, %dh\n"
+"\tstc\n"
+"\tadcb %dh,%cl\n"
+"\tmovb %cl, out_b2\n"
+
+"\tpopl %ecx\n"
+"\tret\n"
+);
+
+
+
+
+int main ( void )
+{
+ in_b =3D 99;
+ sbb_ib_al();
+ printf("r1 =3D %d %d\n", (int)out_b1, (int)out_b2);
+
+ in_w =3D 49999;
+ sbb_iw_ax();
+ printf("r2 =3D %d %d\n", (int)out_w1, (int)out_w2);
+
+ in_l =3D 0xF0000000;
+ sbb_il_eax();
+ printf("r3 =3D %d %d\n", (int)out_l1, (int)out_l2);
+
+ in_b =3D 99;
+ in_b2 =3D 88;
+ sbb_eb_gb();
+ printf("r4 =3D %d %d\n", (int)out_b1, (int)out_b2);
+
+ in_b =3D 66;
+ in_b2 =3D 77;
+ sbb_eb_gb_2();
+ printf("r5 =3D %d %d\n", (int)out_b1, (int)out_b2);
+
+ in_b =3D 99;
+ in_b2 =3D 88;
+ adc_eb_gb();
+ printf("r6 =3D %d %d\n", (int)out_b1, (int)out_b2);
+
+ in_b =3D 66;
+ in_b2 =3D 77;
+ adc_eb_gb_2();
+ printf("r7 =3D %d %d\n", (int)out_b1, (int)out_b2);
+
+ return 0;
+}
Added: trunk/none/tests/x86/sbbmisc.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/sbbmisc.stderr.exp 2005-10-03 01:22:29 UTC (rev =
4847)
+++ trunk/none/tests/x86/sbbmisc.stderr.exp 2005-10-03 02:23:17 UTC (rev =
4848)
@@ -0,0 +1,2 @@
+
+
Added: trunk/none/tests/x86/sbbmisc.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/sbbmisc.stdout.exp 2005-10-03 01:22:29 UTC (rev =
4847)
+++ trunk/none/tests/x86/sbbmisc.stdout.exp 2005-10-03 02:23:17 UTC (rev =
4848)
@@ -0,0 +1,7 @@
+r1 =3D 94 93
+r2 =3D -16092 -16093
+r3 =3D -268991122 -268991123
+r4 =3D 11 10
+r5 =3D -11 -12
+r6 =3D -69 -68
+r7 =3D -113 -112
Added: trunk/none/tests/x86/sbbmisc.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/sbbmisc.vgtest 2005-10-03 01:22:29 UTC (rev 4847=
)
+++ trunk/none/tests/x86/sbbmisc.vgtest 2005-10-03 02:23:17 UTC (rev 4848=
)
@@ -0,0 +1 @@
+prog: sbbmisc
|
|
From: Tom H. <th...@cy...> - 2005-10-03 02:21:22
|
Nightly build on dellow ( x86_64, Fedora Core 4 ) started at 2005-10-03 03:10:13 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-03 02:19:21
|
Nightly build on aston ( x86_64, Fedora Core 3 ) started at 2005-10-03 03:05:05 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: <sv...@va...> - 2005-10-03 02:16:11
|
Author: sewardj
Date: 2005-10-03 03:16:02 +0100 (Mon, 03 Oct 2005)
New Revision: 1407
Log:
Enable Xin_MFence on VexSubArchX86_sse0.
Modified:
trunk/priv/host-x86/hdefs.c
Modified: trunk/priv/host-x86/hdefs.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/host-x86/hdefs.c 2005-10-03 02:07:08 UTC (rev 1406)
+++ trunk/priv/host-x86/hdefs.c 2005-10-03 02:16:02 UTC (rev 1407)
@@ -2315,7 +2315,6 @@
if (0) vex_printf("EMIT FENCE\n");
switch (i->Xin.MFence.subarch) {
case VexSubArchX86_sse0:
- vassert(0); /* awaiting test case */
/* lock addl $0,0(%esp) */
*p++ =3D 0xF0; *p++ =3D 0x83; *p++ =3D 0x44;=20
*p++ =3D 0x24; *p++ =3D 0x00; *p++ =3D 0x00;
|
|
From: Tom H. <th...@cy...> - 2005-10-03 02:14:36
|
Nightly build on gill ( x86_64, Fedora Core 2 ) started at 2005-10-03 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) |
|
From: <sv...@va...> - 2005-10-03 02:07:44
|
Author: sewardj
Date: 2005-10-03 03:07:08 +0100 (Mon, 03 Oct 2005)
New Revision: 1406
Log:
Fix various adc/sbb instruction variants.
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-03 01:02:40 UTC (rev 1405)
+++ trunk/priv/guest-x86/toIR.c 2005-10-03 02:07:08 UTC (rev 1406)
@@ -1976,6 +1976,10 @@
helper_ADC( size, dst1, dst0, src );
}
else
+ if (op8 =3D=3D Iop_Sub8 && carrying) {
+ helper_SBB( size, dst1, dst0, src );
+ }
+ else
vpanic("dis_op_imm_A(x86,guest)");
=20
if (keep)
@@ -10810,13 +10814,13 @@
delta =3D dis_op_imm_A( sz, True, Iop_Add8, True, delta, "adc" );
break;
=20
-//-- case 0x1C: /* SBB Ib, AL */
-//-- delta =3D dis_op_imm_A( 1, SBB, True, delta, "sbb" );
-//-- break;
-//-- case 0x1D: /* SBB Iv, eAX */
-//-- delta =3D dis_op_imm_A( sz, SBB, True, delta, "sbb" );
-//-- break;
-//--=20
+ case 0x1C: /* SBB Ib, AL */
+ delta =3D dis_op_imm_A( 1, True, Iop_Sub8, True, delta, "sbb" );
+ break;
+ case 0x1D: /* SBB Iv, eAX */
+ delta =3D dis_op_imm_A( sz, True, Iop_Sub8, True, delta, "sbb" );
+ break;
+
case 0x24: /* AND Ib, AL */
delta =3D dis_op_imm_A( 1, False, Iop_And8, True, delta, "and" );
break;
@@ -10867,17 +10871,17 @@
case 0x0B: /* OR Ev,Gv */
delta =3D dis_op2_E_G ( sorb, False, Iop_Or8, True, sz, delta, "or=
" );
break;
-//--=20
-//-- case 0x12: /* ADC Eb,Gb */
-//-- delta =3D dis_op2_E_G ( sorb, True, ADC, True, 1, delta, "adc=
" );
-//-- break;
+
+ case 0x12: /* ADC Eb,Gb */
+ delta =3D dis_op2_E_G ( sorb, True, Iop_Add8, True, 1, delta, "adc=
" );
+ break;
case 0x13: /* ADC Ev,Gv */
delta =3D dis_op2_E_G ( sorb, True, Iop_Add8, True, sz, delta, "ad=
c" );
break;
=20
-//-- case 0x1A: /* SBB Eb,Gb */
-//-- delta =3D dis_op2_E_G ( sorb, True, SBB, True, 1, delta, "sbb=
" );
-//-- break;
+ case 0x1A: /* SBB Eb,Gb */
+ delta =3D dis_op2_E_G ( sorb, True, Iop_Sub8, True, 1, delta, "sbb=
" );
+ break;
case 0x1B: /* SBB Ev,Gv */
delta =3D dis_op2_E_G ( sorb, True, Iop_Sub8, True, sz, delta, "sb=
b" );
break;
|
|
From: <sv...@va...> - 2005-10-03 01:22:36
|
Author: sewardj
Date: 2005-10-03 02:22:29 +0100 (Mon, 03 Oct 2005)
New Revision: 4847
Log:
Test simulation of x86 'fxtract'.
Added:
trunk/none/tests/x86/fxtract.c
trunk/none/tests/x86/fxtract.stderr.exp
trunk/none/tests/x86/fxtract.stdout.exp
trunk/none/tests/x86/fxtract.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-02 17:50:31 UTC (rev 4846)
+++ trunk/none/tests/x86/Makefile.am 2005-10-03 01:22:29 UTC (rev 4847)
@@ -11,6 +11,7 @@
cmpxchg8b.stderr.exp cmpxchg8b.stdout.exp cmpxchg8b.vgtest \
fpu_lazy_eflags.stderr.exp fpu_lazy_eflags.stdout.exp \
fpu_lazy_eflags.vgtest \
+ fxtract.stdout.exp fxtract.stderr.exp fxtract.vgtest \
getseg.stdout.exp getseg.stderr.exp getseg.vgtest \
int.stderr.exp int.stdout.exp int.vgtest \
$(addsuffix .stderr.exp,$(INSN_TESTS)) \
@@ -25,6 +26,7 @@
=20
check_PROGRAMS =3D \
badseg bt_everything bt_literal cmpxchg8b cpuid fpu_lazy_eflags \
+ fxtract \
getseg $(INSN_TESTS) \
looper int pushpopseg seg_override sigcontext smc1 yield
=20
@@ -38,6 +40,7 @@
cpuid_SOURCES =3D cpuid_c.c cpuid_s.s
# fpu_lazy_eflags must use these flags -- the bug only occurred with the=
m
fpu_lazy_eflags_CFLAGS =3D -O2 -march=3Dpentiumpro
+fxtract_LDADD =3D -lm
insn_basic_SOURCES =3D insn_basic.def
insn_basic_LDADD =3D -lm
insn_fpu_SOURCES =3D insn_fpu.def
Added: trunk/none/tests/x86/fxtract.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/fxtract.c 2005-10-02 17:50:31 UTC (rev 4846)
+++ trunk/none/tests/x86/fxtract.c 2005-10-03 01:22:29 UTC (rev 4847)
@@ -0,0 +1,99 @@
+
+#include <stdio.h>
+#include <math.h>
+
+double arg, res1, res2;
+
+extern void do_fxtract ( void );
+asm("\n"
+".global do_fxtract\n"
+"do_fxtract:\n"
+"\tfinit\n"
+"\tfldl arg\n"
+"\tfxtract\n"
+"\tfstpl res1\n"
+"\tfstpl res2\n"
+"\tret"
+);
+
+void try ( double x )
+{
+ arg =3D x * 1.414213562373049;
+ res1 =3D res2 =3D 0.0;
+ do_fxtract();
+ printf("%17.10e -> %14.10f %14.10f\n", arg, res1, res2);
+}
+
+int main ( void )
+{
+ int i;
+
+ /* positives */
+
+ for (i =3D 0; i < 40; i++)
+ try( 1.27 + (double)(i*10 - 200) );
+
+ try(+0.0);
+ try(1.0 / 0.0);
+ try(sqrt(-1.0));
+
+ try(5.1e-308);
+ try(4.1e-308);
+ try(3.1e-308);
+ try(2.1e-308);
+ try(1.1e-308);
+ try(0.9e-308);
+ try(0.7e-308);
+ try(0.6e-308);
+ try(0.5e-308);
+ try(0.4e-308);
+ try(0.3e-308);
+ try(0.1e-308);
+
+ try(1.3e-320);
+ try(1.3e-321);
+ try(1.3e-322);
+ try(1.3e-323);
+ try(0.9e-323);
+ try(0.7e-323);
+ try(0.5e-323);
+ try(0.3e-323);
+ try(0.2e-323);
+ try(1.3e-324);
+
+ /* negatives */
+
+ printf("\n");
+ for (i =3D 0; i < 40; i++)
+ try( - (1.27 + (double)(i*10 - 200)) );
+
+ try(-0.0);
+ try(-(1.0 / 0.0));
+ try(-sqrt(-1.0));
+
+ try(-5.1e-308);
+ try(-4.1e-308);
+ try(-3.1e-308);
+ try(-2.1e-308);
+ try(-1.1e-308);
+ try(-0.9e-308);
+ try(-0.7e-308);
+ try(-0.6e-308);
+ try(-0.5e-308);
+ try(-0.4e-308);
+ try(-0.3e-308);
+ try(-0.1e-308);
+
+ try(-1.3e-320);
+ try(-1.3e-321);
+ try(-1.3e-322);
+ try(-1.3e-323);
+ try(-0.9e-323);
+ try(-0.7e-323);
+ try(-0.5e-323);
+ try(-0.3e-323);
+ try(-0.2e-323);
+ try(-1.3e-324);
+
+ return 0;
+}
Added: trunk/none/tests/x86/fxtract.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/fxtract.stderr.exp 2005-10-02 17:50:31 UTC (rev =
4846)
+++ trunk/none/tests/x86/fxtract.stderr.exp 2005-10-03 01:22:29 UTC (rev =
4847)
@@ -0,0 +1,2 @@
+
+
Added: trunk/none/tests/x86/fxtract.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/fxtract.stdout.exp 2005-10-02 17:50:31 UTC (rev =
4846)
+++ trunk/none/tests/x86/fxtract.stdout.exp 2005-10-03 01:22:29 UTC (rev =
4847)
@@ -0,0 +1,131 @@
+-2.8104666125e+02 -> -1.0978385205 8.0000000000
+-2.6690452563e+02 -> -1.0425958032 8.0000000000
+-2.5276239000e+02 -> -1.9747061719 7.0000000000
+-2.3862025438e+02 -> -1.8642207373 7.0000000000
+-2.2447811876e+02 -> -1.7537353028 7.0000000000
+-2.1033598313e+02 -> -1.6432498682 7.0000000000
+-1.9619384751e+02 -> -1.5327644337 7.0000000000
+-1.8205171188e+02 -> -1.4222789991 7.0000000000
+-1.6790957626e+02 -> -1.3117935645 7.0000000000
+-1.5376744064e+02 -> -1.2013081300 7.0000000000
+-1.3962530501e+02 -> -1.0908226954 7.0000000000
+-1.2548316939e+02 -> -1.9606745217 6.0000000000
+-1.1134103377e+02 -> -1.7397036526 6.0000000000
+-9.7198898142e+01 -> -1.5187327835 6.0000000000
+-8.3056762518e+01 -> -1.2977619143 6.0000000000
+-6.8914626894e+01 -> -1.0767910452 6.0000000000
+-5.4772491271e+01 -> -1.7116403522 5.0000000000
+-4.0630355647e+01 -> -1.2696986140 5.0000000000
+-2.6488220023e+01 -> -1.6555137515 4.0000000000
+-1.2346084400e+01 -> -1.5432605499 3.0000000000
+ 1.7960512242e+00 -> 1.7960512242 0.0000000000
+ 1.5938186848e+01 -> 1.9922733560 3.0000000000
+ 3.0080322472e+01 -> 1.8800201545 4.0000000000
+ 4.4222458095e+01 -> 1.3819518155 5.0000000000
+ 5.8364593719e+01 -> 1.8238935537 5.0000000000
+ 7.2506729343e+01 -> 1.1329176460 6.0000000000
+ 8.6648864967e+01 -> 1.3538885151 6.0000000000
+ 1.0079100059e+02 -> 1.5748593842 6.0000000000
+ 1.1493313621e+02 -> 1.7958302533 6.0000000000
+ 1.2907527184e+02 -> 1.0084005612 7.0000000000
+ 1.4321740746e+02 -> 1.1188859958 7.0000000000
+ 1.5735954309e+02 -> 1.2293714304 7.0000000000
+ 1.7150167871e+02 -> 1.3398568649 7.0000000000
+ 1.8564381433e+02 -> 1.4503422995 7.0000000000
+ 1.9978594996e+02 -> 1.5608277340 7.0000000000
+ 2.1392808558e+02 -> 1.6713131686 7.0000000000
+ 2.2807022120e+02 -> 1.7817986032 7.0000000000
+ 2.4221235683e+02 -> 1.8922840377 7.0000000000
+ 2.5635449245e+02 -> 1.0013847361 8.0000000000
+ 2.7049662808e+02 -> 1.0566274534 8.0000000000
+ 0.0000000000e+00 -> 0.0000000000 -inf
+ inf -> inf inf
+ nan -> nan nan
+7.2124891681e-308 -> 1.6207302828 -1021.0000000000
+5.7982756057e-308 -> 1.3029400313 -1021.0000000000
+4.3840620434e-308 -> 1.9702995595 -1022.0000000000
+2.9698484810e-308 -> 1.3347190565 -1022.0000000000
+1.5556349186e-308 -> 1.3982771068 -1023.0000000000
+1.2727922061e-308 -> 1.1440449055 -1023.0000000000
+9.8994949366e-309 -> 1.7796254086 -1024.0000000000
+8.4852813742e-309 -> 1.5253932074 -1024.0000000000
+7.0710678119e-309 -> 1.2711610062 -1024.0000000000
+5.6568542495e-309 -> 1.0169288049 -1024.0000000000
+4.2426406871e-309 -> 1.5253932074 -1025.0000000000
+1.4142135624e-309 -> 1.0169288049 -1026.0000000000
+1.8384182682e-320 -> 1.8168945312 -1063.0000000000
+1.8379242025e-321 -> 1.4531250000 -1066.0000000000
+1.8280428896e-322 -> 1.1562500000 -1069.0000000000
+1.9762625834e-323 -> 1.0000000000 -1072.0000000000
+1.4821969375e-323 -> 1.5000000000 -1073.0000000000
+4.9406564584e-324 -> 1.0000000000 -1074.0000000000
+4.9406564584e-324 -> 1.0000000000 -1074.0000000000
+4.9406564584e-324 -> 1.0000000000 -1074.0000000000
+ 0.0000000000e+00 -> 0.0000000000 -inf
+ 0.0000000000e+00 -> 0.0000000000 -inf
+
+ 2.8104666125e+02 -> 1.0978385205 8.0000000000
+ 2.6690452563e+02 -> 1.0425958032 8.0000000000
+ 2.5276239000e+02 -> 1.9747061719 7.0000000000
+ 2.3862025438e+02 -> 1.8642207373 7.0000000000
+ 2.2447811876e+02 -> 1.7537353028 7.0000000000
+ 2.1033598313e+02 -> 1.6432498682 7.0000000000
+ 1.9619384751e+02 -> 1.5327644337 7.0000000000
+ 1.8205171188e+02 -> 1.4222789991 7.0000000000
+ 1.6790957626e+02 -> 1.3117935645 7.0000000000
+ 1.5376744064e+02 -> 1.2013081300 7.0000000000
+ 1.3962530501e+02 -> 1.0908226954 7.0000000000
+ 1.2548316939e+02 -> 1.9606745217 6.0000000000
+ 1.1134103377e+02 -> 1.7397036526 6.0000000000
+ 9.7198898142e+01 -> 1.5187327835 6.0000000000
+ 8.3056762518e+01 -> 1.2977619143 6.0000000000
+ 6.8914626894e+01 -> 1.0767910452 6.0000000000
+ 5.4772491271e+01 -> 1.7116403522 5.0000000000
+ 4.0630355647e+01 -> 1.2696986140 5.0000000000
+ 2.6488220023e+01 -> 1.6555137515 4.0000000000
+ 1.2346084400e+01 -> 1.5432605499 3.0000000000
+-1.7960512242e+00 -> -1.7960512242 0.0000000000
+-1.5938186848e+01 -> -1.9922733560 3.0000000000
+-3.0080322472e+01 -> -1.8800201545 4.0000000000
+-4.4222458095e+01 -> -1.3819518155 5.0000000000
+-5.8364593719e+01 -> -1.8238935537 5.0000000000
+-7.2506729343e+01 -> -1.1329176460 6.0000000000
+-8.6648864967e+01 -> -1.3538885151 6.0000000000
+-1.0079100059e+02 -> -1.5748593842 6.0000000000
+-1.1493313621e+02 -> -1.7958302533 6.0000000000
+-1.2907527184e+02 -> -1.0084005612 7.0000000000
+-1.4321740746e+02 -> -1.1188859958 7.0000000000
+-1.5735954309e+02 -> -1.2293714304 7.0000000000
+-1.7150167871e+02 -> -1.3398568649 7.0000000000
+-1.8564381433e+02 -> -1.4503422995 7.0000000000
+-1.9978594996e+02 -> -1.5608277340 7.0000000000
+-2.1392808558e+02 -> -1.6713131686 7.0000000000
+-2.2807022120e+02 -> -1.7817986032 7.0000000000
+-2.4221235683e+02 -> -1.8922840377 7.0000000000
+-2.5635449245e+02 -> -1.0013847361 8.0000000000
+-2.7049662808e+02 -> -1.0566274534 8.0000000000
+-0.0000000000e+00 -> -0.0000000000 -inf
+ -inf -> -inf inf
+ nan -> nan nan
+-7.2124891681e-308 -> -1.6207302828 -1021.0000000000
+-5.7982756057e-308 -> -1.3029400313 -1021.0000000000
+-4.3840620434e-308 -> -1.9702995595 -1022.0000000000
+-2.9698484810e-308 -> -1.3347190565 -1022.0000000000
+-1.5556349186e-308 -> -1.3982771068 -1023.0000000000
+-1.2727922061e-308 -> -1.1440449055 -1023.0000000000
+-9.8994949366e-309 -> -1.7796254086 -1024.0000000000
+-8.4852813742e-309 -> -1.5253932074 -1024.0000000000
+-7.0710678119e-309 -> -1.2711610062 -1024.0000000000
+-5.6568542495e-309 -> -1.0169288049 -1024.0000000000
+-4.2426406871e-309 -> -1.5253932074 -1025.0000000000
+-1.4142135624e-309 -> -1.0169288049 -1026.0000000000
+-1.8384182682e-320 -> -1.8168945312 -1063.0000000000
+-1.8379242025e-321 -> -1.4531250000 -1066.0000000000
+-1.8280428896e-322 -> -1.1562500000 -1069.0000000000
+-1.9762625834e-323 -> -1.0000000000 -1072.0000000000
+-1.4821969375e-323 -> -1.5000000000 -1073.0000000000
+-4.9406564584e-324 -> -1.0000000000 -1074.0000000000
+-4.9406564584e-324 -> -1.0000000000 -1074.0000000000
+-4.9406564584e-324 -> -1.0000000000 -1074.0000000000
+-0.0000000000e+00 -> -0.0000000000 -inf
+-0.0000000000e+00 -> -0.0000000000 -inf
Added: trunk/none/tests/x86/fxtract.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/fxtract.vgtest 2005-10-02 17:50:31 UTC (rev 4846=
)
+++ trunk/none/tests/x86/fxtract.vgtest 2005-10-03 01:22:29 UTC (rev 4847=
)
@@ -0,0 +1 @@
+prog: fxtract
|
|
From: <sv...@va...> - 2005-10-03 01:02:46
|
Author: sewardj
Date: 2005-10-03 02:02:40 +0100 (Mon, 03 Oct 2005)
New Revision: 1405
Log:
x86 front end: implement FXTRACT. I knew there was a reason I'd been
avoiding this ...
Modified:
trunk/priv/guest-x86/gdefs.h
trunk/priv/guest-x86/ghelpers.c
trunk/priv/guest-x86/toIR.c
Modified: trunk/priv/guest-x86/gdefs.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/priv/guest-x86/gdefs.h 2005-09-16 16:02:11 UTC (rev 1404)
+++ trunk/priv/guest-x86/gdefs.h 2005-10-03 01:02:40 UTC (rev 1405)
@@ -119,6 +119,9 @@
=20
extern UInt x86g_create_mxcsr ( UInt sseround );
=20
+extern ULong x86g_calculate_FXTRACT ( ULong arg, UInt getExp );
+
+
/* Translate a guest virtual_addr into a guest linear address by
consulting the supplied LDT/GDT structures. Their representation
must be as specified in pub/libvex_guest_x86.h. To indicate a
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 2005-09-16 16:02:11 UTC (rev 1404)
+++ trunk/priv/guest-x86/ghelpers.c 2005-10-03 01:02:40 UTC (rev 1405)
@@ -1243,6 +1243,90 @@
}
=20
=20
+/* CALLED FROM GENERATED CODE: CLEAN HELPER */
+/* Extract the signed significand or exponent component as per
+ fxtract. Arg and result are doubles travelling under the guise of
+ ULongs. Returns significand when getExp is zero and exponent
+ otherwise. */
+ULong x86g_calculate_FXTRACT ( ULong arg, UInt getExp )
+{
+ ULong uSig;
+ Long sSig;
+ Double dSig, dExp;
+ Int sExp, i;
+ UInt sign;
+
+ /*
+ S 7FF 0------0 infinity
+ S 7FF 0X-----X snan
+ S 7FF 1X-----X qnan
+ */
+ const ULong posInf =3D 0x7FF0000000000000ULL;
+ const ULong negInf =3D 0xFFF0000000000000ULL;
+ const ULong nanMask =3D 0x7FF0000000000000ULL;
+ const ULong qNan =3D 0x7FF8000000000000ULL;
+ const ULong posZero =3D 0x0000000000000000ULL;
+ const ULong negZero =3D 0x8000000000000000ULL;
+ const ULong bit51 =3D 1ULL << 51;
+ const ULong bit52 =3D 1ULL << 52;
+
+ /* Mimic PIII behaviour for special cases. */
+ if (arg =3D=3D posInf)
+ return getExp ? posInf : posInf;
+ if (arg =3D=3D negInf)
+ return getExp ? posInf : negInf;
+ if ((arg & nanMask) =3D=3D nanMask)
+ return qNan;
+ if (arg =3D=3D posZero)
+ return getExp ? negInf : posZero;
+ if (arg =3D=3D negZero)
+ return getExp ? negInf : negZero;
+
+ /* Split into sign, exponent and significand. */
+ sign =3D ((UInt)(arg >> 63)) & 1;
+
+ /* Mask off exponent & sign. uSig is in range 0 .. 2^52-1. */
+ uSig =3D arg & (bit52 - 1);
+
+ /* Get the exponent. */
+ sExp =3D ((Int)(arg >> 52)) & 0x7FF;
+
+ /* Deal with denormals: if the exponent is zero, then the
+ significand cannot possibly be zero (negZero/posZero are handled
+ above). Shift the significand left until bit 51 of it becomes
+ 1, and decrease the exponent accordingly.
+ */
+ if (sExp =3D=3D 0) {
+ for (i =3D 0; i < 52; i++) {
+ if (uSig & bit51)
+ break;
+ uSig <<=3D 1;
+ sExp--;
+ }
+ uSig <<=3D 1;
+ } else {
+ /* Add the implied leading-1 in the significand. */
+ uSig |=3D bit52;
+ }
+
+ /* Roll in the sign. */
+ sSig =3D uSig;
+ if (sign) sSig =3D- sSig;
+
+ /* Convert sig into a double. This should be an exact conversion.
+ Then divide by 2^52, which should give a value in the range 1.0
+ to 2.0-epsilon, at least for normalised args. */
+ dSig =3D (Double)sSig;
+ dSig /=3D 67108864.0; /* 2^26 */
+ dSig /=3D 67108864.0; /* 2^26 */
+
+ /* Convert exp into a double. Also an exact conversion. */
+ dExp =3D (Double)(sExp - 1023);
+
+ return *(ULong*)(getExp ? &dExp : &dSig);
+}
+
+
/*----------------------------------------------*/
/*--- The exported fns .. ---*/
/*----------------------------------------------*/
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-09-16 16:02:11 UTC (rev 1404)
+++ trunk/priv/guest-x86/toIR.c 2005-10-03 01:02:40 UTC (rev 1405)
@@ -3863,6 +3863,38 @@
fp_pop();
break;
=20
+ case 0xF4: {
+ IRTemp argF =3D newTemp(Ity_F64);
+ IRTemp sigF =3D newTemp(Ity_F64);
+ IRTemp expF =3D newTemp(Ity_F64);
+ IRTemp argI =3D newTemp(Ity_I64);
+ IRTemp sigI =3D newTemp(Ity_I64);
+ IRTemp expI =3D newTemp(Ity_I64);
+ DIP("fxtract\n");
+ assign( argF, get_ST(0) );
+ assign( argI, unop(Iop_ReinterpF64asI64, mkexpr(argF)));
+ assign( sigI,=20
+ mkIRExprCCall(Ity_I64, 0/*regparms*/,=20
+ "x86g_calculate_FXTRACT",=20
+ &x86g_calculate_FXTRACT,=20
+ mkIRExprVec_2( mkexpr(argI),=20
+ mkU32(0)/*sig*/ )) )=
;
+ assign( expI,=20
+ mkIRExprCCall(Ity_I64, 0/*regparms*/,=20
+ "x86g_calculate_FXTRACT",=20
+ &x86g_calculate_FXTRACT,=20
+ mkIRExprVec_2( mkexpr(argI),=20
+ mkU32(1)/*exp*/ )) )=
;
+ assign( sigF, unop(Iop_ReinterpI64asF64, mkexpr(sigI)) );
+ assign( expF, unop(Iop_ReinterpI64asF64, mkexpr(expI)) );
+ /* exponent */
+ put_ST_UNCHECKED(0, mkexpr(expF) );
+ fp_push();
+ /* significand */
+ put_ST(0, mkexpr(sigF) );
+ break;
+ }
+
case 0xF5: { /* FPREM1 -- IEEE compliant */
IRTemp a1 =3D newTemp(Ity_F64);
IRTemp a2 =3D newTemp(Ity_F64);
|
|
From: <js...@ac...> - 2005-10-02 23:52:09
|
Nightly build on phoenix ( SuSE 9.1 ) started at 2005-10-01 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 == 186 tests, 2 stderr failures, 0 stdout failures ================= none/tests/faultstatus (stderr) none/tests/x86/int (stderr) |
|
From: Tom H. <th...@cy...> - 2005-10-02 23:41:16
|
Nightly build on alvis ( i686, Red Hat 7.3 ) started at 2005-10-01 03:15:01 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 == 187 tests, 16 stderr failures, 1 stdout failure ================= 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) none/tests/x86/yield (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 == 187 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) ================================================= == Difference between 24 hours ago and now == ================================================= *** old.short Sat Oct 1 03:21:46 2005 --- new.short Sat Oct 1 03:28:01 2005 *************** *** 8,10 **** ! == 187 tests, 16 stderr failures, 0 stdout failures ================= memcheck/tests/addressable (stderr) --- 8,10 ---- ! == 187 tests, 16 stderr failures, 1 stdout failure ================= memcheck/tests/addressable (stderr) *************** *** 25,26 **** --- 25,27 ---- none/tests/x86/int (stderr) + none/tests/x86/yield (stdout) |
|
From: <js...@ac...> - 2005-10-02 23:35:42
|
Nightly build on phoenix ( SuSE 9.1 ) started at 2005-10-02 03:30:01 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 == 186 tests, 2 stderr failures, 0 stdout failures ================= none/tests/faultstatus (stderr) none/tests/x86/int (stderr) |
|
From: <sv...@va...> - 2005-10-02 23:30:27
|
Author: sewardj
Date: 2005-10-02 14:10:41 +0100 (Sun, 02 Oct 2005)
New Revision: 4842
Log:
Update the depressingly long list of bugs.
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-01 19:12:08 UTC (rev 4=
841)
+++ trunk/docs/internals/3_0_BUGSTATUS.txt 2005-10-02 13:10:41 UTC (rev 4=
842)
@@ -8,19 +8,23 @@
----------------------------------------------------------------
109861 amd64 hangs at startup
110301 ditto
+111554 valgrind crashes with Cannot allocate memory
+111809 Memcheck tool doesn't start java
+111901 cross-platform run of cachegrind fails on opteron
+113468 (vgPlain_mprotect_range): Assertion 'r !=3D -1' failed.
+ 92071 Reading debugging info uses too much memory
=20
Will fix in 3.1. Long delay seems to be caused by amd64-Gentoo kernel
-not liking large mmap/munmap requests.
+not liking large mmap/munmap requests. Other bugs also look like
+aspacem problems.
=20
-FIXED-TRUNK: TODO (background hacking is in progress)
+FIXED-TRUNK: now done (many many commits)
=20
----------------------------------------------------------------
109323 ppc32: dispatch.S uses Altivec insn, which doesn't work on POWER=
.=20
=20
-Should fix for 3.1. Any fix would be similar to that for 110274.
+FIXED-TRUNK: 4636 (needs verification)
=20
-FIXED-TRUNK: TODO
-
----------------------------------------------------------------
109345 ppc32 ptrace patch available should be applied
=20
@@ -68,7 +72,69 @@
=20
FIXED-TRUNK: TODO
=20
+----------------------------------------------------------------
+111781 compile of valgrind-3.0.0 fails on my linux (gcc 2.X prob)
=20
+FIXED-TRUNK: requires policy decision
+
+----------------------------------------------------------------
+112163 MASSIF crashed with signal 7 (SIGBUS) after running 2 days
+
+FIXED-TRUNK: unconfirmed (insufficient info from reporter)
+
+----------------------------------------------------------------
+112432 vex amd64->IR: unhandled instruction bytes: 0x4F 0x62 0x6A 0x65
+ (bound, possibly invalid bug)
+
+FIXED-TRUNK: TODO
+
+----------------------------------------------------------------
+112538 memalign crash
+
+FIXED-TRUNK: uninvestigated
+
+----------------------------------------------------------------
+112670 Cachegrind: cg_main.c:486 (handleOneStatement ...
+
+FIXED-TRUNK: the canonical cachegrind-doesn-like-multi-mem bug
+
+----------------------------------------------------------------
+112687 Fatal run error (segfault in client request)
+
+FIXED-TRUNK: unconfirmed
+
+----------------------------------------------------------------
+112941 vex x86: 0xD9 0xF4 (fxtract)
+110201 =3D=3D
+
+FIXED-TRUNK: TODO
+
+----------------------------------------------------------------
+113015 vex amd64->IR: 0xE3 0x14 0x48 0x83
+
+FIXED-TRUNK: TODO
+
+----------------------------------------------------------------
+113126 Crash with binaries built with -gstabs+/-ggdb
+
+FIXED-TRUNK: TODO
+
+----------------------------------------------------------------
+113403 Looks like a segfault in realloc?
+
+FIXED-TRUNK: TODO
+
+----------------------------------------------------------------
+113541 vex: the `impossible' happened: Grp5(x86)
+
+FIXED-TRUNK: TODO
+
+----------------------------------------------------------------
+113642 New: valgrind crashes when trying to read debug information
+
+FIXED-TRUNK: unconfirmed (Bryan suspects bug is invalid)
+
+
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D
=3D=3D=3D Bugs targeted for 3.1.0 and 3.0.2 =
=3D=3D=3D
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D
@@ -97,6 +163,7 @@
----------------------------------------------------------------
111724 vex amd64->IR: unhandled instruction bytes: 0x41 0xF 0xAB
(more BT{,S,R,C} fun n games)
+Also 0xF 0xBB 0x10 0x44
=20
FIXED-TRUNK: TODO
FIXED-30BRANCH: TODO
@@ -142,7 +209,8 @@
=20
----------------------------------------------------------------
112152 code generation for Xin_MFence on x86 with SSE0 subarch
-112167 ditto
+112167 =3D=3D
+112789 =3D=3D
=20
FIXED-TRUNK: TODO
FIXED-30BRANCH: TODO
@@ -154,7 +222,8 @@
FIXED-30BRANCH: TODO
=20
----------------------------------------------------------------
-112501 vex x86->IR: movq (0xF 0x7F 0xC1 0xF)
+112501 vex x86->IR: movq (0xF 0x7F 0xC1 0xF) (mmx MOVQ)
+113583 =3D=3D
=20
FIXED-TRUNK: TODO
FIXED-30BRANCH: TODO
@@ -179,12 +248,7 @@
FIXED-TRUNK: vg:4769
FIXED-30BRANCH: TODO
=20
-----------------------------------------------------------------
-n-i-bz enable sys_iopl on AMD64
=20
-FIXED-TRUNK: vg:4826
-
-
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D
=3D=3D=3D Bugs targeted for 3.1.0 and 3.0.1 (all done, 3.0.1 released) =
=3D=3D=3D
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D
@@ -228,6 +292,7 @@
=20
----------------------------------------------------------------
110274 SSE1 now mandatory for x86
+111739 =3D=3D
=20
FIXED-TRUNK: vex:1321, vg:4339
FIXED-30BRANCH: vex:1327, vg:4374
@@ -331,6 +396,8 @@
=20
----------------------------------------------------------------
111090 Internal Error running Massif
+111808 =3D=3D
+112098 =3D=3D
=20
FIXED-TRUNK: vg:4492
FIXED-30BRANCH: vg:4509
@@ -475,13 +542,6 @@
FIXED-TRUNK: TODO?
=20
----------------------------------------------------------------
-110201 x86 FXTRACT
-
-Could fix if important.
-
-FIXED-TRUNK: TODO?
-
-----------------------------------------------------------------
110207 mpn accuracy +
110240 x86 FP differences
=20
@@ -497,3 +557,7 @@
=20
FIXED-TRUNK: TODO?
=20
+----------------------------------------------------------------
+111898 Need to control file name that cachegrind writes into
+
+FIXED-TRUNK: TODO?
|
|
From: <sv...@va...> - 2005-10-02 23:24:49
|
Author: sewardj
Date: 2005-10-01 20:12:08 +0100 (Sat, 01 Oct 2005)
New Revision: 4841
Log:
ppc32-linux only: redirect strcmp right from the start.
Modified:
trunk/coregrind/m_redir.c
trunk/coregrind/m_trampoline.S
trunk/coregrind/pub_core_trampoline.h
Modified: trunk/coregrind/m_redir.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_redir.c 2005-09-30 16:09:12 UTC (rev 4840)
+++ trunk/coregrind/m_redir.c 2005-10-01 19:12:08 UTC (rev 4841)
@@ -360,7 +360,6 @@
0xFFFFFFFFFF600000ULL,
(Addr)&VG_(amd64_linux_REDIR_FOR_vgettimeofday)=20
);
-
add_redirect_addr_to_addr(=20
0xFFFFFFFFFF600400ULL,
(Addr)&VG_(amd64_linux_REDIR_FOR_vtime)=20
@@ -372,6 +371,10 @@
"soname:ld.so.1", "strlen",
(Addr)&VG_(ppc32_linux_REDIR_FOR_strlen)
); =20
+ add_redirect_sym_to_addr(
+ "soname:ld.so.1", "strcmp",
+ (Addr)&VG_(ppc32_linux_REDIR_FOR_strcmp)
+ ); =20
=20
#else
# error Unknown platform
Modified: trunk/coregrind/m_trampoline.S
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=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_trampoline.S 2005-09-30 16:09:12 UTC (rev 4840)
+++ trunk/coregrind/m_trampoline.S 2005-10-01 19:12:08 UTC (rev 4841)
@@ -159,16 +159,53 @@
lbz 4,0(3)
li 9,0
cmpwi 0,4,0
- beq- 0,.L8
-.L9:
+ beq- 0,.L18
+.L19:
lbzu 5,1(3)
addi 9,9,1
cmpwi 0,5,0
- bne+ 0,.L9
-.L8:
+ bne+ 0,.L19
+.L18:
mr 3,9
blr
=20
+/* Ditto strcmp */
+.global VG_(ppc32_linux_REDIR_FOR_strcmp)
+VG_(ppc32_linux_REDIR_FOR_strcmp):
+.L20:
+ lbz 0,0(3)
+ cmpwi 7,0,0
+ bne- 7,.L21
+ lbz 0,0(4)
+ li 11,0
+ cmpwi 7,0,0
+ beq- 7,.L22
+.L21:
+ lbz 0,0(3)
+ li 11,-1
+ cmpwi 7,0,0
+ beq- 7,.L22
+ lbz 0,0(4)
+ li 11,1
+ cmpwi 7,0,0
+ beq- 7,.L22
+ lbz 9,0(3)
+ lbz 0,0(4)
+ li 11,-1
+ cmplw 7,9,0
+ blt- 7,.L22
+ lbz 9,0(3)
+ lbz 0,0(4)
+ li 11,1
+ addi 3,3,1
+ addi 4,4,1
+ cmplw 7,9,0
+ ble+ 7,.L20
+.L22:
+ mr 3,11
+ blr
+
+
.global VG_(trampoline_stuff_end)
VG_(trampoline_stuff_end):
=20
Modified: trunk/coregrind/pub_core_trampoline.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_trampoline.h 2005-09-30 16:09:12 UTC (rev 48=
40)
+++ trunk/coregrind/pub_core_trampoline.h 2005-10-01 19:12:08 UTC (rev 48=
41)
@@ -61,6 +61,7 @@
=20
#if defined(VGP_ppc32_linux)
extern UInt VG_(ppc32_linux_REDIR_FOR_strlen)( void* );
+extern UInt VG_(ppc32_linux_REDIR_FOR_strcmp)( void*, void* );
#endif
=20
#endif // __PUB_CORE_TRAMPOLINE_H
|
|
From: Tom H. <to...@co...> - 2005-10-02 23:15:29
|
Nightly build on dunsmere ( athlon, Fedora Core 4 ) started at 2005-10-01 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 == 188 tests, 8 stderr failures, 0 stdout failures ================= 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) ================================================= == 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 == 188 tests, 10 stderr failures, 1 stdout failure ================= memcheck/tests/leak-tree (stderr) memcheck/tests/mempool (stderr) memcheck/tests/new_override (stdout) memcheck/tests/new_override (stderr) memcheck/tests/pointer-trace (stderr) memcheck/tests/weirdioctl (stderr) memcheck/tests/x86/scalar (stderr) memcheck/tests/xml1 (stderr) none/tests/execve (stderr) none/tests/faultstatus (stderr) none/tests/x86/int (stderr) ================================================= == Difference between 24 hours ago and now == ================================================= *** old.short Sat Oct 1 03:35:23 2005 --- new.short Sat Oct 1 03:40:31 2005 *************** *** 8,14 **** ! == 188 tests, 10 stderr failures, 1 stdout failure ================= memcheck/tests/leak-tree (stderr) memcheck/tests/mempool (stderr) - memcheck/tests/new_override (stdout) - memcheck/tests/new_override (stderr) memcheck/tests/pointer-trace (stderr) --- 8,12 ---- ! == 188 tests, 8 stderr failures, 0 stdout failures ================= memcheck/tests/leak-tree (stderr) memcheck/tests/mempool (stderr) memcheck/tests/pointer-trace (stderr) *************** *** 17,19 **** memcheck/tests/xml1 (stderr) - none/tests/execve (stderr) none/tests/faultstatus (stderr) --- 15,16 ---- |
|
From: Josef W. <Jos...@gm...> - 2005-10-02 23:06:34
|
On Saturday 01 October 2005 00:15, Josef Weidendorfer wrote: > Better would be to use GOT[1], as John Reiser pointed out, as this > has to contain a pointer to runtime_resolve, according to the ABI. Is there an easy way to get GOT[1] from a tool? I can sweep through the whole segment, checking with VG_(seginfo_sect_kind)(Addr) for the first address returning Vg_SectGOT, but that seems like wasting of time, as gotstart is a member of SegInfo. VG probably should provide iterator functions to allow a tool to browse through available debuginfo (as PIN has). Currently, we only have this for SegInfo via VG_(next_seginfo). What about SectInfo* VG_(first_sectinfo)(const SegInfo*); SectInfo* VG_(next_sectinfo)(const SectInfo*); Addr VG_(sectinfo_start)(const SectInfo*); SizeT VG_(sectinfo_size)(const SectInfo*); VgSectKind VG_(sectinfo_kind)(const SectInfo*); ? Similar for source files, debug lines, function symbols, data symbols... Perhaps this is overkill, and it should be only added when a tool ever will need it, as it probably has overhead. Another way would be to provide hooks for a tool to be notified about a debug info entry when being loaded, like SK_gotSymbol(const SegInfo*, const SymbolInfo*) with VG_(symbolinfo_name/kind/start/size). The tool could return a boolean to request that the SymbolInfo should be allocated until the segment is discarded. I really would like to add a callgrind mode being able to provide the info how often some data structure was accessed from which code. For this, I need above way to build up a structure for fast mapping of data addresses to data structure names. What is the general opinion here? Josef > I will look into this before the release. > > Josef > > > ------------------------------------------------------- > This SF.Net email is sponsored by: > Power Architecture Resource Center: Free content, downloads, discussions, > and more. http://solutions.newsforge.com/ibmarch.tmpl > _______________________________________________ > Valgrind-developers mailing list > Val...@li... > https://lists.sourceforge.net/lists/listinfo/valgrind-developers |
|
From: Jeroen N. W. <jn...@xs...> - 2005-10-02 23:01:11
|
Greetings, FYI the regression test results on Debian GNU/Linux 3.1 (a.k.a. sarge) running Valgrind-3.1.SVN, revision 4840, VEX revision 1404. == 186 tests, 5 stderr failures, 1 stdout failure ================= memcheck/tests/pointer-trace (stderr) memcheck/tests/writev (stderr) none/tests/faultstatus (stderr) none/tests/fdleak_fcntl (stderr) none/tests/mremap2 (stdout) none/tests/x86/int (stderr) The failures of memcheck/tests/writev and none/tests/fdleak_fcntl can be fixed with additional .exp files. IIRC, the failures of none/tests/faultstatus and none/tests/x86/int are current restrictions in VEX. The failures of memcheck/tests/pointer-trace and none/tests/mremap2 are new ones that appeared after the merging in of the ASPACEM branch. The .out files from these failures are attached to this email. Do let me know if more information or a bug report is needed. I hope this helps in a small way to improve a great product. Jeroen. $ cat /proc/version Linux version 2.4.26-1-386 (horms@tabatha) (gcc version 3.2.3 (Debian)) #1 Tue Aug 24 13:31:19 JST 2004 $ cat /proc/cpuinfo processor : 0 vendor_id : GenuineIntel cpu family : 6 model : 7 model name : Pentium III (Katmai) stepping : 3 cpu MHz : 448.058 cache size : 512 KB fdiv_bug : no hlt_bug : no f00f_bug : no coma_bug : no fpu : yes fpu_exception : yes cpuid level : 2 wp : yes flags : fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 mmx fxsr sse bogomips : 894.56 |