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-17 20:04:49
|
Author: sewardj
Date: 2006-11-17 20:04:43 +0000 (Fri, 17 Nov 2006)
New Revision: 6358
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-17 20:00:57 UTC (rev 6=
357)
+++ trunk/docs/internals/3_2_BUGSTATUS.txt 2006-11-17 20:04:43 UTC (rev 6=
358)
@@ -10,6 +10,8 @@
------- Bugs reported after (in) 3.2.1, or ------
------- reported in 3.2.0 but not fixed in 3.2.1 ------
=20
+TRUNK 32BRANCH PRI BUG# WHAT
+
pending pending 129390 ppc?->IR: some kind of VMX prefetch (dstt=
)
=20
pending pending 129968 amd64->IR: 0xF 0xAE 0x0 (fxsave)
@@ -29,7 +31,7 @@
=20
pending pending [W] 133962 amd64->IR: 0xF2 0x4C 0xF 0x10 (rex64X ...=
)
=20
-pending pending 134207 pkg-config output contains @VG_PLATFORM@
+pending pending [W] 134207 pkg-config output contains @VG_PLATFORM@
=20
vx1660 pending n-i-bz %eflags rule for SUBL-CondNLE
=20
@@ -61,14 +63,24 @@
pending pending [W] 135023 amd64->IR: 0x49 0xDD 0x86 0xE0=20
(rex64Z fldl 0xe0(%r14))
=20
-vx1673/4 pending [W] 126147 x86->IR 0xF2 0xA5 0xF 0x77 (repne
+vx1673/4 pending [W] 126147 x86->IR: 0xF2 0xA5 0xF 0x77 (repne
movsw) w/test
=20
-pending pending [W] 136650 amd64->IR: 0xC2 0x8 0x0
+vx1676 pending [W] 136650 amd64->IR: 0xC2 0x8 0x0
=20
pending pending 135421 x86->IR: unhandled Grp5(R) case 6 [ok]
=20
+vx1675 pending n-i-bz x86 COPY-CondP (Espindola #2, users, Nov =
1)
+ (NEEDS VERIFICATION; regtest =3D espindol=
a2.c)
=20
+vx1677 pending n-i-bz IR comments
+
+vx1678 pending [W] n-i-bz jcxz (x86) (users, 8 Nov)
+
+r6341 pending n-i-bz ExeContext hashing fix
+
+r6356 pending n-i-bz Dwarf CFI 0:24 0:32 0:48 0:7 (Nov 8)
+
135026 valgrind incorrectly complain that shm_nattch is uninitialized
135264 dcbzl instruction missing
136059 patch to add better support for some USB ioctls
@@ -79,18 +91,18 @@
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)
+OOo folks want full pathnames
=20
x86 'int 3'
expr_wont_match_me hack -> stable (118903)
amd64 INCW-CondZ (Andr=C3=A9 W=C3=B6bbeking, users, Oct 19) (=3D=3D Espi=
ndola #1)
-ExeContext hashing fix (r6341) if it causes no problems
-x86 COPY-CondP (Rafael Espindola #2, users, Nov 1)
+
ppc32/64 dispatcher speedups -> stable
ppc64 vex fe/be improvements -> stable?
check gcc-4.2 build
ppc64 bigpage stuff
=20
+Floyd overlap suppression, users 15 Nov
=20
------- Bugs reported and fixed in 3.2.0 ------
=20
|
|
From: <sv...@va...> - 2006-11-17 20:01:05
|
Author: sewardj
Date: 2006-11-17 20:00:57 +0000 (Fri, 17 Nov 2006)
New Revision: 6357
Log:
Redo the interface to m_initimg (module for setting up the initial
client image) so it's less of an incomprehensible mess. Basically the
idea is to have two standard functions, VG_(ii_create_image) and
VG_(ii_finalise_image), which communicate using the structure types
IICreateImageInfo and IIFinaliseImageInfo. The types hold various
OS-specific bits of info. A nice side effect is that m_main is tidied
up somewhat.
Modified:
trunk/coregrind/m_initimg/initimg-aix5.c
trunk/coregrind/m_initimg/initimg-linux.c
trunk/coregrind/m_main.c
trunk/coregrind/m_scheduler/scheduler.c
trunk/coregrind/pub_core_initimg.h
Modified: trunk/coregrind/m_initimg/initimg-aix5.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_initimg/initimg-aix5.c 2006-11-16 12:21:52 UTC (rev=
6356)
+++ trunk/coregrind/m_initimg/initimg-aix5.c 2006-11-17 20:00:57 UTC (rev=
6357)
@@ -61,17 +61,8 @@
=20
/* --- Create the client's initial memory image. --- */
=20
-ClientInitImgInfo
- VG_(setup_client_initial_image)(
- /*IN*/ HChar** argv,
- /*IN*/ HChar** envp,
- /*IN*/ HChar* toolname,
- /*IN*/ Addr clstack_top,
- /*IN*/ SizeT clstack_max_size
- )
+IIFinaliseImageInfo VG_(ii_create_image)( IICreateImageInfo iicii )
{
- ClientInitImgInfo ciii;
-
/* Set up an AIX5PreloadPage structure with the names of
=20
$VALGRIND_LIB/PLATFORM/vgpreload_core.so
@@ -101,13 +92,16 @@
Int szB, szPG;
SysRes sres;
=20
- vg_assert( toolname );
+ IIFinaliseImageInfo iifii;
+ VG_(memset)( &iifii, 0, sizeof(iifii) );
+
+ vg_assert( iicii.toolname );
pltool_len =3D VG_(strlen)( VG_(libdir) )=20
+ 1 /*slash*/
+ VG_(strlen)(VG_PLATFORM)
+ 1 /*slash*/
+ VG_(strlen)( vgpreload_ )
- + VG_(strlen)( toolname )
+ + VG_(strlen)( iicii.toolname )
+ VG_(strlen)( _so )
+ 1 /*NUL*/;
vg_assert(pltool_len > 0);
@@ -118,7 +112,7 @@
VG_(strcat)( pltool_str, VG_PLATFORM );
VG_(strcat)( pltool_str, "/" );
VG_(strcat)( pltool_str, vgpreload_ );
- VG_(strcat)( pltool_str, toolname );
+ VG_(strcat)( pltool_str, iicii.toolname );
VG_(strcat)( pltool_str, _so );
vg_assert( pltool_str[pltool_len-1] =3D=3D 0);
vg_assert( VG_(strlen)(pltool_str) =3D=3D pltool_len-1 );
@@ -178,7 +172,8 @@
+ (have_ld_pre ? ld_pre_len : 0)
+ errmsg_len;
szPG =3D VG_PGROUNDUP(szB+1) / VKI_PAGE_SIZE;
- VG_(debugLog)(2, "initimg", "preload page size: %d bytes, %d pages\n"=
, szB, szPG);
+ VG_(debugLog)(2, "initimg",=20
+ "preload page size: %d bytes, %d pages\n", szB, szPG=
);
=20
vg_assert(szB > 0);
vg_assert(szB < szPG * VKI_PAGE_SIZE);
@@ -239,9 +234,13 @@
=20
pp->p_diagnose_load_failure =3D &diagnose_load_failure;
=20
- ciii.preloadpage =3D pp;
- ciii.intregs37 =3D 0; /* filled in in m_main.c */
- return ciii;
+ iifii.preloadpage =3D pp;
+ iifii.intregs37 =3D iicii.intregs37;
+ iifii.initial_client_SP =3D iicii.intregs37[1]; /* r1 */
+ iifii.compressed_page =3D VG_PGROUNDDN((Addr)iicii.bootblock);
+ iifii.adler32_exp =3D iicii.adler32_exp;
+ iifii.clstack_max_size =3D 0; /* we don't know yet */
+ return iifii;
}
=20
=20
@@ -265,15 +264,22 @@
return (s2 << 16) + s1;
}
=20
-void VG_(finalise_thread1state)( /*MOD*/ThreadArchState* arch,
- ClientInitImgInfo ciii )
+/* Just before starting the client, we may need to make final
+ adjustments to its initial image. Also we need to set up the VEX
+ guest state for thread 1 (the root thread) and copy in essential
+ starting values. This is handed the IIFinaliseImageInfo created by
+ VG_(ii_create_image).
+*/
+void VG_(ii_finalise_image)( IIFinaliseImageInfo iifii )
{
- UInt adler32_act;
+ UInt adler32_act;
SysRes sres;
/* On AIX we get a block of 37 words telling us the initial state
for (GPR0 .. GPR31, PC, CR, LR, CTR, XER), and we start with all
the other registers zeroed. */
=20
+ ThreadArchState* arch =3D &VG_(threads)[1].arch;
+
# if defined(VGP_ppc32_aix5)
=20
vg_assert(0 =3D=3D sizeof(VexGuestPPC32State) % 8);
@@ -298,61 +304,61 @@
=20
# endif
=20
- /* ciii.intregs37 contains the integer register state as it needs
+ /* iifii.intregs37 contains the integer register state as it needs
to be at client startup. These values are supplied by the
launcher. The 37 regs are:initial values from launcher for:
GPR0 .. GPR31, PC, CR, LR, CTR, XER. */
=20
/* Put essential stuff into the new state. */
- arch->vex.guest_GPR0 =3D (UWord)ciii.intregs37[0];
- arch->vex.guest_GPR1 =3D (UWord)ciii.intregs37[1];
- arch->vex.guest_GPR2 =3D (UWord)ciii.intregs37[2];
- arch->vex.guest_GPR3 =3D (UWord)ciii.intregs37[3];
- arch->vex.guest_GPR4 =3D (UWord)ciii.intregs37[4];
- arch->vex.guest_GPR5 =3D (UWord)ciii.intregs37[5];
- arch->vex.guest_GPR6 =3D (UWord)ciii.intregs37[6];
- arch->vex.guest_GPR7 =3D (UWord)ciii.intregs37[7];
- arch->vex.guest_GPR8 =3D (UWord)ciii.intregs37[8];
- arch->vex.guest_GPR9 =3D (UWord)ciii.intregs37[9];
- arch->vex.guest_GPR10 =3D (UWord)ciii.intregs37[10];
- arch->vex.guest_GPR11 =3D (UWord)ciii.intregs37[11];
- arch->vex.guest_GPR12 =3D (UWord)ciii.intregs37[12];
- arch->vex.guest_GPR13 =3D (UWord)ciii.intregs37[13];
- arch->vex.guest_GPR14 =3D (UWord)ciii.intregs37[14];
- arch->vex.guest_GPR15 =3D (UWord)ciii.intregs37[15];
- arch->vex.guest_GPR16 =3D (UWord)ciii.intregs37[16];
- arch->vex.guest_GPR17 =3D (UWord)ciii.intregs37[17];
- arch->vex.guest_GPR18 =3D (UWord)ciii.intregs37[18];
- arch->vex.guest_GPR19 =3D (UWord)ciii.intregs37[19];
- arch->vex.guest_GPR20 =3D (UWord)ciii.intregs37[20];
- arch->vex.guest_GPR21 =3D (UWord)ciii.intregs37[21];
- arch->vex.guest_GPR22 =3D (UWord)ciii.intregs37[22];
- arch->vex.guest_GPR23 =3D (UWord)ciii.intregs37[23];
- arch->vex.guest_GPR24 =3D (UWord)ciii.intregs37[24];
- arch->vex.guest_GPR25 =3D (UWord)ciii.intregs37[25];
- arch->vex.guest_GPR26 =3D (UWord)ciii.intregs37[26];
- arch->vex.guest_GPR27 =3D (UWord)ciii.intregs37[27];
- arch->vex.guest_GPR28 =3D (UWord)ciii.intregs37[28];
- arch->vex.guest_GPR29 =3D (UWord)ciii.intregs37[29];
- arch->vex.guest_GPR30 =3D (UWord)ciii.intregs37[30];
- arch->vex.guest_GPR31 =3D (UWord)ciii.intregs37[31];
+ arch->vex.guest_GPR0 =3D (UWord)iifii.intregs37[0];
+ arch->vex.guest_GPR1 =3D (UWord)iifii.intregs37[1];
+ arch->vex.guest_GPR2 =3D (UWord)iifii.intregs37[2];
+ arch->vex.guest_GPR3 =3D (UWord)iifii.intregs37[3];
+ arch->vex.guest_GPR4 =3D (UWord)iifii.intregs37[4];
+ arch->vex.guest_GPR5 =3D (UWord)iifii.intregs37[5];
+ arch->vex.guest_GPR6 =3D (UWord)iifii.intregs37[6];
+ arch->vex.guest_GPR7 =3D (UWord)iifii.intregs37[7];
+ arch->vex.guest_GPR8 =3D (UWord)iifii.intregs37[8];
+ arch->vex.guest_GPR9 =3D (UWord)iifii.intregs37[9];
+ arch->vex.guest_GPR10 =3D (UWord)iifii.intregs37[10];
+ arch->vex.guest_GPR11 =3D (UWord)iifii.intregs37[11];
+ arch->vex.guest_GPR12 =3D (UWord)iifii.intregs37[12];
+ arch->vex.guest_GPR13 =3D (UWord)iifii.intregs37[13];
+ arch->vex.guest_GPR14 =3D (UWord)iifii.intregs37[14];
+ arch->vex.guest_GPR15 =3D (UWord)iifii.intregs37[15];
+ arch->vex.guest_GPR16 =3D (UWord)iifii.intregs37[16];
+ arch->vex.guest_GPR17 =3D (UWord)iifii.intregs37[17];
+ arch->vex.guest_GPR18 =3D (UWord)iifii.intregs37[18];
+ arch->vex.guest_GPR19 =3D (UWord)iifii.intregs37[19];
+ arch->vex.guest_GPR20 =3D (UWord)iifii.intregs37[20];
+ arch->vex.guest_GPR21 =3D (UWord)iifii.intregs37[21];
+ arch->vex.guest_GPR22 =3D (UWord)iifii.intregs37[22];
+ arch->vex.guest_GPR23 =3D (UWord)iifii.intregs37[23];
+ arch->vex.guest_GPR24 =3D (UWord)iifii.intregs37[24];
+ arch->vex.guest_GPR25 =3D (UWord)iifii.intregs37[25];
+ arch->vex.guest_GPR26 =3D (UWord)iifii.intregs37[26];
+ arch->vex.guest_GPR27 =3D (UWord)iifii.intregs37[27];
+ arch->vex.guest_GPR28 =3D (UWord)iifii.intregs37[28];
+ arch->vex.guest_GPR29 =3D (UWord)iifii.intregs37[29];
+ arch->vex.guest_GPR30 =3D (UWord)iifii.intregs37[30];
+ arch->vex.guest_GPR31 =3D (UWord)iifii.intregs37[31];
=20
- arch->vex.guest_CIA =3D (UWord)ciii.intregs37[32+0];
- arch->vex.guest_LR =3D (UWord)ciii.intregs37[32+2];
- arch->vex.guest_CTR =3D (UWord)ciii.intregs37[32+3];
+ arch->vex.guest_CIA =3D (UWord)iifii.intregs37[32+0];
+ arch->vex.guest_LR =3D (UWord)iifii.intregs37[32+2];
+ arch->vex.guest_CTR =3D (UWord)iifii.intregs37[32+3];
=20
# if defined(VGP_ppc32_aix5)
=20
- LibVEX_GuestPPC32_put_CR( (UWord)ciii.intregs37[32+1], &arch->vex );
- LibVEX_GuestPPC32_put_XER( (UWord)ciii.intregs37[32+4], &arch->vex );
+ LibVEX_GuestPPC32_put_CR( (UWord)iifii.intregs37[32+1], &arch->vex )=
;
+ LibVEX_GuestPPC32_put_XER( (UWord)iifii.intregs37[32+4], &arch->vex )=
;
=20
/* Set the cache line size (KLUDGE) */
VG_(machine_ppc32_set_clszB)( 128 );
=20
# else /* defined(VGP_ppc64_aix5) */
=20
- LibVEX_GuestPPC64_put_CR( (UWord)ciii.intregs37[32+1], &arch->vex );
- LibVEX_GuestPPC64_put_XER( (UWord)ciii.intregs37[32+4], &arch->vex );
+ LibVEX_GuestPPC64_put_CR( (UWord)iifii.intregs37[32+1], &arch->vex )=
;
+ LibVEX_GuestPPC64_put_XER( (UWord)iifii.intregs37[32+4], &arch->vex )=
;
=20
/* Set the cache line size (KLUDGE) */
VG_(machine_ppc64_set_clszB)( 128 );
@@ -382,22 +388,22 @@
=20
/* At this point the guest register state is correct for client
startup. However, that's not where we want to start; in fact we
- want to start at VG_(ppc{3,64}2_aix5_do_preloads_then_start_client=
),
- passing it ciii.preloadpage in r3. This will load the core/tool
+ want to start at VG_(ppc{32,64}_aix5_do_preloads_then_start_client=
),
+ passing it iifii.preloadpage in r3. This will load the core/tool
preload .so's, then restore r2-r10 from what's stashed in the
preloadpage, and then start the client really. Hence: */
=20
/* Save r2-r10 and the client start point in preloadpage */
- ciii.preloadpage->r2 =3D (ULong)arch->vex.guest_GPR2;
- ciii.preloadpage->r3 =3D (ULong)arch->vex.guest_GPR3;
- ciii.preloadpage->r4 =3D (ULong)arch->vex.guest_GPR4;
- ciii.preloadpage->r5 =3D (ULong)arch->vex.guest_GPR5;
- ciii.preloadpage->r6 =3D (ULong)arch->vex.guest_GPR6;
- ciii.preloadpage->r7 =3D (ULong)arch->vex.guest_GPR7;
- ciii.preloadpage->r8 =3D (ULong)arch->vex.guest_GPR8;
- ciii.preloadpage->r9 =3D (ULong)arch->vex.guest_GPR9;
- ciii.preloadpage->r10 =3D (ULong)arch->vex.guest_GPR10;
- ciii.preloadpage->client_start =3D (ULong)arch->vex.guest_CIA;
+ iifii.preloadpage->r2 =3D (ULong)arch->vex.guest_GPR2;
+ iifii.preloadpage->r3 =3D (ULong)arch->vex.guest_GPR3;
+ iifii.preloadpage->r4 =3D (ULong)arch->vex.guest_GPR4;
+ iifii.preloadpage->r5 =3D (ULong)arch->vex.guest_GPR5;
+ iifii.preloadpage->r6 =3D (ULong)arch->vex.guest_GPR6;
+ iifii.preloadpage->r7 =3D (ULong)arch->vex.guest_GPR7;
+ iifii.preloadpage->r8 =3D (ULong)arch->vex.guest_GPR8;
+ iifii.preloadpage->r9 =3D (ULong)arch->vex.guest_GPR9;
+ iifii.preloadpage->r10 =3D (ULong)arch->vex.guest_GPR10;
+ iifii.preloadpage->client_start =3D (ULong)arch->vex.guest_CIA;
=20
=20
# if defined(VGP_ppc32_aix5)
@@ -412,29 +418,29 @@
=20
# endif
=20
- arch->vex.guest_GPR3 =3D (UWord)ciii.preloadpage;
+ arch->vex.guest_GPR3 =3D (UWord)iifii.preloadpage;
=20
/* The rest of the preloadpage fields will already have been filled
in by VG_(setup_client_initial_image). So we're done. */
=20
/* Finally, decompress the page compressed by the launcher. We
can't do this any earlier, because the page is (effectively)
- decompressed in place, which trashes ciii.intregs37. So we have
- to wait till this point, at which we're done with ciii.intregs37
+ decompressed in place, which trashes iifii.intregs37. So we have
+ to wait till this point, at which we're done with iifii.intregs37
(to be precise, with what it points at). */
VG_(debugLog)(1, "initimg", "decompressing page at %p\n",=20
- (void*)ciii.compressed_page);
- vg_assert(VG_IS_PAGE_ALIGNED(ciii.compressed_page));
+ (void*)iifii.compressed_page);
+ vg_assert(VG_IS_PAGE_ALIGNED(iifii.compressed_page));
=20
- Huffman_Uncompress( (void*)ciii.compressed_page, unz_page,
+ Huffman_Uncompress( (void*)iifii.compressed_page, unz_page,
VKI_PAGE_SIZE, VKI_PAGE_SIZE );
adler32_act =3D compute_adler32(unz_page, VKI_PAGE_SIZE);
=20
VG_(debugLog)(1, "initimg",=20
"decompress done, adler32s: act 0x%x, exp 0x%x\n",
- adler32_act, ciii.adler32_exp );
+ adler32_act, iifii.adler32_exp );
=20
- VG_(memcpy)((void*)ciii.compressed_page, unz_page, VKI_PAGE_SIZE);
+ VG_(memcpy)((void*)iifii.compressed_page, unz_page, VKI_PAGE_SIZE);
=20
VG_(debugLog)(1, "initimg", "copy back done\n");
=20
Modified: trunk/coregrind/m_initimg/initimg-linux.c
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D
--- trunk/coregrind/m_initimg/initimg-linux.c 2006-11-16 12:21:52 UTC (re=
v 6356)
+++ trunk/coregrind/m_initimg/initimg-linux.c 2006-11-17 20:00:57 UTC (re=
v 6357)
@@ -818,20 +818,14 @@
/*=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D*/
=20
/* Create the client's initial memory image. */
-
-ClientInitImgInfo
- VG_(setup_client_initial_image)(
- /*IN*/ HChar** argv,
- /*IN*/ HChar** envp,
- /*IN*/ HChar* toolname,
- /*IN*/ Addr clstack_top,
- /*IN*/ SizeT clstack_max_size
- )
+IIFinaliseImageInfo VG_(ii_create_image)( IICreateImageInfo iicii )
{
- ClientInitImgInfo ciii =3D { 0, 0, 0, NULL };
- ExeInfo info;
- HChar** env =3D NULL;
+ ExeInfo info;
+ HChar** env =3D NULL;
=20
+ IIFinaliseImageInfo iifii;
+ VG_(memset)( &iifii, 0, sizeof(iifii) );
+
//--------------------------------------------------------------
// Load client executable, finding in $PATH if necessary
// p: get_helprequest_and_toolname() [for 'exec', 'need_help']
@@ -842,7 +836,7 @@
if (VG_(args_the_exename) =3D=3D NULL)
VG_(err_missing_prog)();
=20
- load_client(&info, &ciii.initial_client_IP, &ciii.initial_client_TOC)=
;
+ load_client(&info, &iifii.initial_client_IP, &iifii.initial_client_TO=
C);
=20
//--------------------------------------------------------------
// Set up client's environment
@@ -850,7 +844,7 @@
// p: get_helprequest_and_toolname [for toolname]
//--------------------------------------------------------------
VG_(debugLog)(1, "initimg", "Setup client env\n");
- env =3D setup_client_env(envp, toolname);
+ env =3D setup_client_env(iicii.envp, iicii.toolname);
=20
//--------------------------------------------------------------
// Setup client stack, eip, and VG_(client_arg[cv])
@@ -858,28 +852,28 @@
// p: fix_environment() [for 'env']
//--------------------------------------------------------------
{
- void* init_sp =3D argv - 1;
+ void* init_sp =3D iicii.argv - 1;
SizeT m1 =3D 1024 * 1024;
SizeT m16 =3D 16 * m1;
VG_(debugLog)(1, "initimg", "Setup client stack\n");
- clstack_max_size =3D (SizeT)VG_(client_rlimit_stack).rlim_cur;
- if (clstack_max_size < m1) clstack_max_size =3D m1;
- if (clstack_max_size > m16) clstack_max_size =3D m16;
- clstack_max_size =3D VG_PGROUNDUP(clstack_max_size);
+ iifii.clstack_max_size =3D (SizeT)VG_(client_rlimit_stack).rlim_cu=
r;
+ if (iifii.clstack_max_size < m1) iifii.clstack_max_size =3D m1;
+ if (iifii.clstack_max_size > m16) iifii.clstack_max_size =3D m16;
+ iifii.clstack_max_size =3D VG_PGROUNDUP(iifii.clstack_max_size);
=20
- ciii.initial_client_SP
+ iifii.initial_client_SP
=3D setup_client_stack( init_sp, env,=20
- &info, &ciii.client_auxv,=20
- clstack_top, clstack_max_size );
+ &info, &iifii.client_auxv,=20
+ iicii.clstack_top, iifii.clstack_max_size=
);
=20
VG_(free)(env);
=20
VG_(debugLog)(2, "initimg",
"Client info: "
"initial_IP=3D%p initial_SP=3D%p initial_TOC=3D%p=
brk_base=3D%p\n",
- (void*)(ciii.initial_client_IP),=20
- (void*)(ciii.initial_client_SP),
- (void*)(ciii.initial_client_TOC),
+ (void*)(iifii.initial_client_IP),=20
+ (void*)(iifii.initial_client_SP),
+ (void*)(iifii.initial_client_TOC),
(void*)VG_(brk_base) );
}
=20
@@ -900,7 +894,7 @@
setup_client_dataseg( dseg_max_size );
}
=20
- return ciii;
+ return iifii;
}
=20
=20
@@ -908,15 +902,16 @@
/*=3D=3D=3D TOP-LEVEL: VG_(finalise_thread1state) =
=3D=3D=3D*/
/*=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D*/
=20
-/* Make final adjustments to the initial image. Also, initialise the
- VEX guest state for thread 1 (the root thread) and copy in
- essential starting values. Is handed the ClientInitImgInfo created
- by VG_(setup_client_initial_image). Upon return, the client's
- memory and register state should be ready to start the JIT. */
-extern=20
-void VG_(finalise_thread1state)( /*MOD*/ThreadArchState* arch,
- ClientInitImgInfo ciii )
+/* Just before starting the client, we may need to make final
+ adjustments to its initial image. Also we need to set up the VEX
+ guest state for thread 1 (the root thread) and copy in essential
+ starting values. This is handed the IIFinaliseImageInfo created by
+ VG_(ii_create_image).
+*/
+void VG_(ii_finalise_image)( IIFinaliseImageInfo iifii )
{
+ ThreadArchState* arch =3D &VG_(threads)[1].arch;
+
/* On Linux we get client_{ip/sp/toc}, and start the client with
all other registers zeroed. */
=20
@@ -931,8 +926,8 @@
VG_(memset)(&arch->vex_shadow, 0, sizeof(VexGuestX86State));
=20
/* Put essential stuff into the new state. */
- arch->vex.guest_ESP =3D ciii.initial_client_SP;
- arch->vex.guest_EIP =3D ciii.initial_client_IP;
+ arch->vex.guest_ESP =3D iifii.initial_client_SP;
+ arch->vex.guest_EIP =3D iifii.initial_client_IP;
=20
/* initialise %cs, %ds and %ss to point at the operating systems
default code, data and stack segments */
@@ -951,8 +946,8 @@
VG_(memset)(&arch->vex_shadow, 0, sizeof(VexGuestAMD64State));
=20
/* Put essential stuff into the new state. */
- arch->vex.guest_RSP =3D ciii.initial_client_SP;
- arch->vex.guest_RIP =3D ciii.initial_client_IP;
+ arch->vex.guest_RSP =3D iifii.initial_client_SP;
+ arch->vex.guest_RIP =3D iifii.initial_client_IP;
=20
# elif defined(VGP_ppc32_linux)
vg_assert(0 =3D=3D sizeof(VexGuestPPC32State) % 8);
@@ -965,8 +960,8 @@
VG_(memset)(&arch->vex_shadow, 0, sizeof(VexGuestPPC32State));
=20
/* Put essential stuff into the new state. */
- arch->vex.guest_GPR1 =3D ciii.initial_client_SP;
- arch->vex.guest_CIA =3D ciii.initial_client_IP;
+ arch->vex.guest_GPR1 =3D iifii.initial_client_SP;
+ arch->vex.guest_CIA =3D iifii.initial_client_IP;
=20
# elif defined(VGP_ppc64_linux)
vg_assert(0 =3D=3D sizeof(VexGuestPPC64State) % 16);
@@ -979,9 +974,9 @@
VG_(memset)(&arch->vex_shadow, 0, sizeof(VexGuestPPC64State));
=20
/* Put essential stuff into the new state. */
- arch->vex.guest_GPR1 =3D ciii.initial_client_SP;
- arch->vex.guest_GPR2 =3D ciii.initial_client_TOC;
- arch->vex.guest_CIA =3D ciii.initial_client_IP;
+ arch->vex.guest_GPR1 =3D iifii.initial_client_SP;
+ arch->vex.guest_GPR2 =3D iifii.initial_client_TOC;
+ arch->vex.guest_CIA =3D iifii.initial_client_IP;
=20
# else
# error Unknown platform
Modified: trunk/coregrind/m_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/coregrind/m_main.c 2006-11-16 12:21:52 UTC (rev 6356)
+++ trunk/coregrind/m_main.c 2006-11-17 20:00:57 UTC (rev 6357)
@@ -1048,15 +1048,26 @@
=20
/*static*/ VgStack VG_(interim_stack);
=20
-/* This should get some address inside the stack on which we gained
+/* These are the structures used to hold info for creating the initial
+ client image.
+
+ 'iicii' mostly holds important register state present at system
+ startup (_start_valgrind). valgrind_main() then fills in the rest
+ of it and passes it to VG_(ii_create_image)(). That produces
+ 'iifii', which is later handed to VG_(ii_finalise_image). */
+
+/* In all OS-instantiations, the_iicii has a field .sp_at_startup.
+ This should get some address inside the stack on which we gained
control (eg, it could be the SP at startup). It doesn't matter
exactly where in the stack it is. This value is passed to the
- address space manager at startup, which uses it to identify the
- initial stack segment and hence the upper end of the usable address
- space. */
+ address space manager at startup. On Linux, aspacem then uses it
+ to identify the initial stack segment and hence the upper end of
+ the usable address space. */
=20
-static Addr sp_at_startup =3D 0;
+static IICreateImageInfo the_iicii;
+static IIFinaliseImageInfo the_iifii;
=20
+
/* --- Forwards decls to do with shutdown --- */
=20
static void final_tidyup(ThreadId tid);=20
@@ -1103,24 +1114,20 @@
}
=20
=20
+/* By the time we get to valgrind_main, the_iicii should already have
+ been filled in with any important details as required by whatever
+ OS we have been built for.
+*/
static
-Int valgrind_main ( Int argc, HChar **argv, HChar **envp,
- ULong* ppc_aix_initial_client_intregs37,
- void* ppc_aix_bootblock,
- UInt ppc_aix_adler32_for_compressed_page )
+Int valgrind_main ( Int argc, HChar **argv, HChar **envp )
{
HChar* toolname =3D "memcheck"; // default to Memcheck
Int need_help =3D 0; // 0 =3D no, 1 =3D --help, 2 =3D --=
help-debug
- Addr clstack_top =3D 0;
- SizeT clstack_max_size =3D 0;
UInt* client_auxv =3D NULL;
Int loglevel, i;
Bool logging_to_fd;
struct vki_rlimit zero =3D { 0, 0 };
=20
- ClientInitImgInfo ciii;
- VG_(memset)(&ciii, 0, sizeof(ClientInitImgInfo));
-
//=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D
//
// Nb: startup is complex. Prerequisites are shown at every step.
@@ -1236,7 +1243,7 @@
// p: logging
//--------------------------------------------------------------
VG_(debugLog)(1, "main", "Checking initial stack was noted\n");
- if (sp_at_startup =3D=3D 0) {
+ if (the_iicii.sp_at_startup =3D=3D 0) {
VG_(debugLog)(0, "main", "Valgrind: FATAL: "
"Initial stack was not noted.\n");
VG_(debugLog)(0, "main", " Cannot continue. Sorry.\n");
@@ -1249,7 +1256,7 @@
// p: logging, plausible-stack
//--------------------------------------------------------------
VG_(debugLog)(1, "main", "Starting the address space manager\n");
- clstack_top =3D VG_(am_startup)( sp_at_startup );
+ the_iicii.clstack_top =3D VG_(am_startup)( the_iicii.sp_at_startup );
VG_(debugLog)(1, "main", "Address space manager is running\n");
=20
//--------------------------------------------------------------
@@ -1377,22 +1384,45 @@
// Setup client data (brk) segment. Initially a 1-page segment
// which abuts a shrinkable reservation.=20
// p: load_client() [for 'info' and hence VG_(brk_base)]
+ //
+ // p: _start_in_C (for zeroing out the_iicii and putting some
+ // initial values into it)
//--------------------------------------------------------------
if (!need_help) {
- VG_(debugLog)(1, "main", "Setting up initial image\n");
- ciii =3D VG_(setup_client_initial_image)(=20
- argv, envp, toolname,=20
- clstack_top, clstack_max_size=20
- );
+ VG_(debugLog)(1, "main", "Create initial image\n");
+
+# if defined(VGO_linux)
+ the_iicii.argv =3D argv;
+ the_iicii.envp =3D envp;
+ the_iicii.toolname =3D toolname;
+# elif defined(VGO_aix5)
+ /* the_iicii.intregs37 already set up */
+ /* the_iicii.bootblock already set up */
+ /* the_iicii.adler32_exp already set up */
+ /* the_iicii.sp_at_startup is irrelevant */
+ /* the_iicii.clstack_top is irrelevant */
+ the_iicii.toolname =3D toolname;
+# else
+# error "Uknown platform"
+# endif
+
+ the_iifii =3D VG_(ii_create_image)( the_iicii );
+
# if defined(VGO_aix5)
- ciii.adler32_exp =3D ppc_aix_adler32_for_compressed_page;
- ciii.compressed_page =3D VG_PGROUNDDN((Addr)ppc_aix_bootblock);
- ciii.intregs37 =3D ppc_aix_initial_client_intregs37;
- ciii.initial_client_SP =3D ciii.intregs37[1]; /* r1 */
/* Tell aspacem where the initial client stack is, so that it
can later produce a faked-up NSegment in response to
VG_(am_find_nsegment) for that address range, if asked. */
- VG_(am_aix5_set_initial_client_sp)( ciii.initial_client_SP );
+ VG_(am_aix5_set_initial_client_sp)( the_iifii.initial_client_SP );
+ /* Now have a look at said fake segment, so we can find out
+ the size of it. */
+ { SizeT sz;
+ NSegment const* seg=20
+ =3D VG_(am_find_nsegment)( the_iifii.initial_client_SP );
+ vg_assert(seg);
+ sz =3D seg->end - seg->start + 1;
+ vg_assert(sz >=3D 0 && sz <=3D 64*1024*1024); /* stay sane */
+ the_iifii.clstack_max_size =3D sz;
+ }
# endif
}
=20
@@ -1678,11 +1708,11 @@
=20
/* Also do the initial stack permissions. */
{ NSegment const* seg=20
- =3D VG_(am_find_nsegment)( ciii.initial_client_SP );
+ =3D VG_(am_find_nsegment)( the_iifii.initial_client_SP );
vg_assert(seg);
vg_assert(seg->kind =3D=3D SkAnonC);
- vg_assert(ciii.initial_client_SP >=3D seg->start);
- vg_assert(ciii.initial_client_SP <=3D seg->end);
+ vg_assert(the_iifii.initial_client_SP >=3D seg->start);
+ vg_assert(the_iifii.initial_client_SP <=3D seg->end);
# if defined(VGO_aix5)
VG_(clstk_base) =3D seg->start;
VG_(clstk_end) =3D seg->end;
@@ -1693,14 +1723,15 @@
is required (VG_STACK_REDZONE_SZB). setup_client_stack()
will have allocated an extra page if a red zone is required,
to be on the safe side. */
- vg_assert(ciii.initial_client_SP - VG_STACK_REDZONE_SZB >=3D seg-=
>start);
+ vg_assert(the_iifii.initial_client_SP - VG_STACK_REDZONE_SZB=20
+ >=3D seg->start);
VG_TRACK( die_mem_stack,=20
seg->start,=20
- ciii.initial_client_SP - VG_STACK_REDZONE_SZB=20
- - seg->start );
+ the_iifii.initial_client_SP - VG_STACK_REDZONE_SZB=20
+ - seg->start );
VG_(debugLog)(2, "main", "mark stack inaccessible %010lx-%010lx\n=
",
seg->start,=20
- ciii.initial_client_SP-1 - VG_STACK_REDZONE_SZB)=
;
+ the_iifii.initial_client_SP-1 - VG_STACK_REDZONE=
_SZB);
}
=20
/* Also the assembly helpers. */
@@ -1720,23 +1751,22 @@
//--------------------------------------------------------------
VG_(debugLog)(1, "main", "Initialise scheduler\n");
{ NSegment const* seg=20
- =3D VG_(am_find_nsegment)( ciii.initial_client_SP );
+ =3D VG_(am_find_nsegment)( the_iifii.initial_client_SP );
vg_assert(seg);
vg_assert(seg->kind =3D=3D SkAnonC);
- vg_assert(ciii.initial_client_SP >=3D seg->start);
- vg_assert(ciii.initial_client_SP <=3D seg->end);
- VG_(scheduler_init)( seg->end, clstack_max_size );
+ vg_assert(the_iifii.initial_client_SP >=3D seg->start);
+ vg_assert(the_iifii.initial_client_SP <=3D seg->end);
+ VG_(scheduler_init)( seg->end, the_iifii.clstack_max_size );
}
=20
//--------------------------------------------------------------
// Set up state for the root thread
// p: ?
// setup_scheduler() [for sched-specific thread 1 stuff]
- // VG_(setup_client_initial_image)
- // [for 'ciii' initial layout info]
+ // VG_(ii_create_image) [for 'the_iicii' initial info]
//--------------------------------------------------------------
- VG_(debugLog)(1, "main", "Finalise thread 1's state\n");
- VG_(finalise_thread1state)( &VG_(threads)[1].arch, ciii );
+ VG_(debugLog)(1, "main", "Finalise initial image\n");
+ VG_(ii_finalise_image)( the_iifii );
=20
//--------------------------------------------------------------
// Initialise the pthread model
@@ -2228,11 +2258,13 @@
Word argc =3D pArgc[0];
HChar** argv =3D (HChar**)&pArgc[1];
HChar** envp =3D (HChar**)&pArgc[1+argc+1];
- sp_at_startup =3D (Addr)pArgc;
- r =3D valgrind_main( (Int)argc, argv, envp,=20
- NULL/*aix5-specific stuff*/,
- NULL/*aix5-specific stuff*/,
- 0/*aix5-specific stuff*/ );
+
+ VG_(memset)( &the_iicii, 0, sizeof(the_iicii) );
+ VG_(memset)( &the_iifii, 0, sizeof(the_iifii) );
+
+ the_iicii.sp_at_startup =3D (Addr)pArgc;
+
+ r =3D valgrind_main( (Int)argc, argv, envp );
/* NOTREACHED */
VG_(exit)(r);
}
@@ -2293,7 +2325,18 @@
__NR_open =3D bootblock->__NR_open;
__NR_read =3D bootblock->__NR_read;
__NR_close =3D bootblock->__NR_close;
+
+ VG_(memset)( &the_iicii, 0, sizeof(the_iicii) );
+ VG_(memset)( &the_iifii, 0, sizeof(the_iifii) );
+
intregs37 =3D &bootblock->iregs_pc_cr_lr_ctr_xer[0];
+ the_iicii.intregs37 =3D intregs37;
+ the_iicii.bootblock =3D (void*)bootblock;
+ the_iicii.adler32_exp =3D bootblock->adler32;
+
+ /* Not important on AIX. */
+ the_iicii.sp_at_startup =3D (Addr)0x31415927ULL;
+
# if defined(VGP_ppc32_aix5)
argc =3D (UWord)intregs37[3]; /* client's r3 =3D=3D argc */
argv =3D (UWord)intregs37[4];
@@ -2303,11 +2346,9 @@
argv =3D (UWord)intregs37[15];
envp =3D (UWord)intregs37[16];
# endif
- sp_at_startup =3D (Addr)0xDeadBeefDeadBeefULL; /* Not important on AI=
X. */
- r =3D valgrind_main( (Int)argc, (HChar**)argv, (HChar**)envp,=20
- intregs37,=20
- (void*)bootblock,
- bootblock->adler32 );
+
+ r =3D valgrind_main( (Int)argc, (HChar**)argv, (HChar**)envp );
+
/* NOTREACHED */
VG_(exit)(r);
}
Modified: trunk/coregrind/m_scheduler/scheduler.c
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D
--- trunk/coregrind/m_scheduler/scheduler.c 2006-11-16 12:21:52 UTC (rev =
6356)
+++ trunk/coregrind/m_scheduler/scheduler.c 2006-11-17 20:00:57 UTC (rev =
6357)
@@ -58,6 +58,7 @@
*/
=20
#include "pub_core_basics.h"
+#include "pub_core_debuglog.h"
#include "pub_core_vki.h"
#include "pub_core_vkiscnums.h" // __NR_sched_yield
#include "pub_core_threadstate.h"
@@ -450,6 +451,9 @@
Int i;
ThreadId tid_main;
=20
+ VG_(debugLog)(1,"sched","sched_init: cls_end=3D0x%lx, cls_sz=3D%ld\n"=
,
+ clstack_end, clstack_size);
+
vg_assert(VG_IS_PAGE_ALIGNED(clstack_end+1));
vg_assert(VG_IS_PAGE_ALIGNED(clstack_size));
=20
Modified: trunk/coregrind/pub_core_initimg.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_initimg.h 2006-11-16 12:21:52 UTC (rev 6356)
+++ trunk/coregrind/pub_core_initimg.h 2006-11-17 20:00:57 UTC (rev 6357)
@@ -32,6 +32,7 @@
#ifndef __PUB_CORE_INITIMG_H
#define __PUB_CORE_INITIMG_H
=20
+
//--------------------------------------------------------------------
// PURPOSE: Map the client executable into memory, then set up its
// stack, environment and data section, ready for execution. Quite a
@@ -39,17 +40,61 @@
// the AIX kernel does most of the work for us.
//--------------------------------------------------------------------
=20
+/* These are OS-specific and defined below. */
+typedef struct _IICreateImageInfo IICreateImageInfo;
+typedef struct _IIFinaliseImageInfo IIFinaliseImageInfo;
+
+/* This is a two stage process. The first stage, which is most of the
+ work, creates the initial image in memory to the extent possible.
+ To do this it takes a bundle of information in an IICreateImageInfo
+ structure, which is gathered in an OS-specific way at startup.
+ This returns an IIFinaliseImageInfo structure: */
+extern=20
+IIFinaliseImageInfo VG_(ii_create_image)( IICreateImageInfo );
+
+/* Just before starting the client, we may need to make final
+ adjustments to its initial image. Also we need to set up the VEX
+ guest state for thread 1 (the root thread) and copy in essential
+ starting values. This is handed the IIFinaliseImageInfo created by
+ VG_(ii_create_image). */
+extern=20
+void VG_(ii_finalise_image)( IIFinaliseImageInfo );
+
+
+/* Note that both IICreateImageInfo and IIFinaliseImageInfo are
+ OS-specific. We now go on to give instantiations of them
+ for supported OSes. */
+
+/* ------------------------- Linux ------------------------- */
+
#if defined(VGO_linux)
-typedef
- struct {
- Addr initial_client_SP;
- Addr initial_client_IP;
- Addr initial_client_TOC;
- UInt* client_auxv;
- }
- ClientInitImgInfo;
=20
+struct _IICreateImageInfo {
+ /* ------ Mandatory fields ------ */
+ HChar* toolname;
+ Addr sp_at_startup;
+ Addr clstack_top;
+ /* ------ Per-OS fields ------ */
+ HChar** argv;
+ HChar** envp;
+};
+
+struct _IIFinaliseImageInfo {
+ /* ------ Mandatory fields ------ */
+ SizeT clstack_max_size;
+ /* ------ Per-OS fields ------ */
+ Addr initial_client_SP;
+ Addr initial_client_IP;
+ Addr initial_client_TOC;
+ UInt* client_auxv;
+};
+
+
+/* ------------------------- AIX5 ------------------------- */
+
#elif defined(VGO_aix5)
+
+/* First we need to define this auxiliary structure. */
typedef
struct {
/* NOTE: VG_(ppc32/64_aix5_do_preloads_then_start_client) has
@@ -85,53 +130,50 @@
/* If the loading fails, we'll want to call a diagnostic
function in C to figure out what happened. Here's it's
function descriptor. Note, this runs on the simd cpu
- (another nasty AIX kludge) */
+ (a kludge, and will segfault in 64-bit mode). */
/* 112 */ void* p_diagnose_load_failure;
}
AIX5PreloadPage;
=20
-typedef
- struct {
- /* Pointer to the preload page. This is set up by
- VG_(setup_client_initial_image). */
- AIX5PreloadPage* preloadpage;
- /* Initial values for guest int registers (GPR0 .. GPR31, PC,
- CR, LR, CTR, XER). Passed to us from the launcher. */
- ULong* intregs37;
- /* Initial value for SP (which is merely a copy of r1's value,
- intregs37[1]). */
- Addr initial_client_SP;
- /* Address of the page compressed by the launcher. */
- Addr compressed_page;
- /* Adler32 checksum of uncompressed data of said page. */
- UInt adler32_exp;
- }
- ClientInitImgInfo;
+struct _IICreateImageInfo {
+ /* ------ Mandatory fields ------ */
+ HChar* toolname;=20
+ Addr sp_at_startup; /* Not used on AIX. */
+ Addr clstack_top; /* Not used on AIX. */
+ /* ------ Per-OS fields ------ */
+ /* Initial values for guest int registers (GPR0 .. GPR31, PC, CR,
+ LR, CTR, XER). Passed to us from the launcher. */
+ ULong* intregs37;
+ /* AIX5Bootblock*, really */
+ void* bootblock;
+ /* Adler32 checksum of uncompressed data of compressed page. */
+ UInt adler32_exp;
+};
=20
+struct _IIFinaliseImageInfo {
+ /* ------ Mandatory fields ------ */
+ SizeT clstack_max_size;
+ /* ------ Per-OS fields ------ */
+ /* Pointer to the preload page. The preload page and this pointer
+ to it are set up by VG_(ii_create_image). */
+ AIX5PreloadPage* preloadpage;
+ /* Initial values for guest int registers (GPR0 .. GPR31, PC,
+ CR, LR, CTR, XER). Copied from the CII. */
+ ULong* intregs37;
+ /* Initial value for SP (which is merely a copy of r1's value,
+ intregs37[1]). */
+ Addr initial_client_SP;
+ /* Address of the page compressed by the launcher. */
+ Addr compressed_page;
+ /* Adler32 checksum of uncompressed data of said page. */
+ UInt adler32_exp;
+};
+
#else
-# error Unknown OS
+# error "Unknown OS"
#endif
=20
-/* Load the client, create the initial image (stack, etc), and
- return a bundle of info in a ClientInitImgInfo. */
-extern ClientInitImgInfo
- VG_(setup_client_initial_image)(
- /*IN*/ HChar** argv,
- /*IN*/ HChar** envp,
- /*IN*/ HChar* toolname,
- /*IN*/ Addr clstack_top,
- /*IN*/ SizeT clstack_max_size
- );
=20
-/* Make final adjustments to the initial image. Also, initialise the
- VEX guest state for thread 1 (the root thread) and copy in
- essential starting values. Is handed the ClientInitImgInfo created
- by VG_(setup_client_initial_image). Upon return, the client's
- memory and register state should be ready to start the JIT. */
-extern=20
-void VG_(finalise_thread1state)( /*MOD*/ThreadArchState* arch,
- ClientInitImgInfo ciii );
-
#endif // __PUB_CORE_INITIMG_H
=20
/*--------------------------------------------------------------------*/
|
|
From: Julian S. <js...@ac...> - 2006-11-17 13:38:15
|
Rafael, I am trying but failing to reproduce this. Can you send a complete program that demonstrates it? The fragment below isn't=20 runnable (what args should I pass to this function?) and despite trying out variants of a test for your previous false-positive report I can't make it fail. J On Tuesday 07 November 2006 02:47, Rafael Esp=EDndola wrote: > Hi, I believe that I have found another false positive. A log is > attached, and the reduced code is > > ------------------------------------------ > movl 4(%esp), %ecx > .LCFI202: > > fldz > fldz > fxch %st(1) > fucompp > fnstsw %ax > sahf > je .L334 > .L334: > jp .L335 > .L335: > andb $-2, 68(%ecx) > fldz > fldz > fxch %st(1) > fucompp > fnstsw %ax > sahf > je .L345 > .L345: > jp .L344 > .L344: > ret > ----------------------------------------- > > Best Regards, > Rafael |
|
From: <js...@ac...> - 2006-11-17 05:04:23
|
Nightly build on phoenix ( SuSE 10.0 ) started at 2006-11-17 04:30:02 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 == 248 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) ================================================= == 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 == 247 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) ================================================= == Difference between 24 hours ago and now == ================================================= *** old.short Fri Nov 17 04:48:20 2006 --- new.short Fri Nov 17 05:04:18 2006 *************** *** 10,12 **** ! == 247 tests, 8 stderr failures, 1 stdout failure, 0 posttest failures == memcheck/tests/leak-tree (stderr) --- 10,12 ---- ! == 248 tests, 8 stderr failures, 1 stdout failure, 0 posttest failures == memcheck/tests/leak-tree (stderr) |
|
From: Tom H. <to...@co...> - 2006-11-17 03:47:18
|
Nightly build on dunsmere ( athlon, Fedora Core 6 ) started at 2006-11-17 03:30:05 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 == 250 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) ================================================= == 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 == 249 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) ================================================= == Difference between 24 hours ago and now == ================================================= *** old.short Fri Nov 17 03:38:42 2006 --- new.short Fri Nov 17 03:47:13 2006 *************** *** 8,10 **** ! == 249 tests, 7 stderr failures, 1 stdout failure, 0 posttest failures == memcheck/tests/pointer-trace (stderr) --- 8,10 ---- ! == 250 tests, 7 stderr failures, 1 stdout failure, 0 posttest failures == memcheck/tests/pointer-trace (stderr) |
|
From: Tom H. <th...@cy...> - 2006-11-17 03:27:14
|
Nightly build on dellow ( x86_64, Fedora Core 6 ) started at 2006-11-17 03:10: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 == 278 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) ================================================= == 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 == 277 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) ================================================= == Difference between 24 hours ago and now == ================================================= *** old.short Fri Nov 17 03:18:37 2006 --- new.short Fri Nov 17 03:27:06 2006 *************** *** 8,10 **** ! == 277 tests, 13 stderr failures, 1 stdout failure, 0 posttest failures == memcheck/tests/leak-pool-0 (stderr) --- 8,10 ---- ! == 278 tests, 13 stderr failures, 1 stdout failure, 0 posttest failures == memcheck/tests/leak-pool-0 (stderr) |
|
From: Tom H. <th...@cy...> - 2006-11-17 03:26:38
|
Nightly build on alvis ( i686, Red Hat 7.3 ) started at 2006-11-17 03:15:02 GMT Results differ from 24 hours ago Checking out valgrind source tree ... done Configuring valgrind ... done Building valgrind ... done Running regression tests ... failed Last 20 lines of verbose log follow echo /tmp/cchVnnzi.s:4393: Error: no such instruction: `fisttpq -56(%ebp)' /tmp/cchVnnzi.s:4513: Error: no such instruction: `fisttpq -56(%ebp)' /tmp/cchVnnzi.s:4633: Error: no such instruction: `fisttpq -56(%ebp)' /tmp/cchVnnzi.s:4753: Error: no such instruction: `fisttpq -56(%ebp)' /tmp/cchVnnzi.s:4873: Error: no such instruction: `fisttpq -56(%ebp)' /tmp/cchVnnzi.s:4993: Error: no such instruction: `fisttpq -56(%ebp)' /tmp/cchVnnzi.s:5113: Error: no such instruction: `fisttpq -56(%ebp)' /tmp/cchVnnzi.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.28272/valgrind/none/tests/x86' make[4]: *** [check-am] Error 2 make[4]: Leaving directory `/tmp/valgrind.28272/valgrind/none/tests/x86' make[3]: *** [check-recursive] Error 1 make[3]: Leaving directory `/tmp/valgrind.28272/valgrind/none/tests' make[2]: *** [check-recursive] Error 1 make[2]: Leaving directory `/tmp/valgrind.28272/valgrind/none' make[1]: *** [check-recursive] Error 1 make[1]: Leaving directory `/tmp/valgrind.28272/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/ccxQBX2d.s:4393: Error: no such instruction: `fisttpq -56(%ebp)' /tmp/ccxQBX2d.s:4513: Error: no such instruction: `fisttpq -56(%ebp)' /tmp/ccxQBX2d.s:4633: Error: no such instruction: `fisttpq -56(%ebp)' /tmp/ccxQBX2d.s:4753: Error: no such instruction: `fisttpq -56(%ebp)' /tmp/ccxQBX2d.s:4873: Error: no such instruction: `fisttpq -56(%ebp)' /tmp/ccxQBX2d.s:4993: Error: no such instruction: `fisttpq -56(%ebp)' /tmp/ccxQBX2d.s:5113: Error: no such instruction: `fisttpq -56(%ebp)' /tmp/ccxQBX2d.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.28272/valgrind/none/tests/x86' make[4]: *** [check-am] Error 2 make[4]: Leaving directory `/tmp/valgrind.28272/valgrind/none/tests/x86' make[3]: *** [check-recursive] Error 1 make[3]: Leaving directory `/tmp/valgrind.28272/valgrind/none/tests' make[2]: *** [check-recursive] Error 1 make[2]: Leaving directory `/tmp/valgrind.28272/valgrind/none' make[1]: *** [check-recursive] Error 1 make[1]: Leaving directory `/tmp/valgrind.28272/valgrind' make: *** [check] Error 2 ================================================= == Difference between 24 hours ago and now == ================================================= *** old.short Fri Nov 17 03:21:04 2006 --- new.short Fri Nov 17 03:26:27 2006 *************** *** 7,16 **** Last 20 lines of verbose log follow echo ! /tmp/ccxQBX2d.s:4393: Error: no such instruction: `fisttpq -56(%ebp)' ! /tmp/ccxQBX2d.s:4513: Error: no such instruction: `fisttpq -56(%ebp)' ! /tmp/ccxQBX2d.s:4633: Error: no such instruction: `fisttpq -56(%ebp)' ! /tmp/ccxQBX2d.s:4753: Error: no such instruction: `fisttpq -56(%ebp)' ! /tmp/ccxQBX2d.s:4873: Error: no such instruction: `fisttpq -56(%ebp)' ! /tmp/ccxQBX2d.s:4993: Error: no such instruction: `fisttpq -56(%ebp)' ! /tmp/ccxQBX2d.s:5113: Error: no such instruction: `fisttpq -56(%ebp)' ! /tmp/ccxQBX2d.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/cchVnnzi.s:4393: Error: no such instruction: `fisttpq -56(%ebp)' ! /tmp/cchVnnzi.s:4513: Error: no such instruction: `fisttpq -56(%ebp)' ! /tmp/cchVnnzi.s:4633: Error: no such instruction: `fisttpq -56(%ebp)' ! /tmp/cchVnnzi.s:4753: Error: no such instruction: `fisttpq -56(%ebp)' ! /tmp/cchVnnzi.s:4873: Error: no such instruction: `fisttpq -56(%ebp)' ! /tmp/cchVnnzi.s:4993: Error: no such instruction: `fisttpq -56(%ebp)' ! /tmp/cchVnnzi.s:5113: Error: no such instruction: `fisttpq -56(%ebp)' ! /tmp/cchVnnzi.s:5233: Error: no such instruction: `fisttpq -56(%ebp)' make[5]: *** [insn_sse3.o] Error 1 |
|
From: Tom H. <th...@cy...> - 2006-11-17 03:24:31
|
Nightly build on gill ( x86_64, Fedora Core 2 ) started at 2006-11-17 03:00:02 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 == 280 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) ================================================= == 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 == 279 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 Fri Nov 17 03:16:10 2006 --- new.short Fri Nov 17 03:24:18 2006 *************** *** 8,10 **** ! == 279 tests, 15 stderr failures, 1 stdout failure, 0 posttest failures == memcheck/tests/leak-pool-0 (stderr) --- 8,10 ---- ! == 280 tests, 15 stderr failures, 1 stdout failure, 0 posttest failures == memcheck/tests/leak-pool-0 (stderr) |
|
From: Tom H. <th...@cy...> - 2006-11-17 03:20:50
|
Nightly build on lloyd ( x86_64, Fedora Core 3 ) started at 2006-11-17 03:05:07 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 == 278 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) ================================================= == 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 == 277 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) ================================================= == Difference between 24 hours ago and now == ================================================= *** old.short Fri Nov 17 03:13:05 2006 --- new.short Fri Nov 17 03:20:38 2006 *************** *** 8,10 **** ! == 277 tests, 14 stderr failures, 1 stdout failure, 0 posttest failures == memcheck/tests/leak-pool-0 (stderr) --- 8,10 ---- ! == 278 tests, 14 stderr failures, 1 stdout failure, 0 posttest failures == memcheck/tests/leak-pool-0 (stderr) |
|
From: <js...@ac...> - 2006-11-17 03:02:14
|
Nightly build on minnie ( SuSE 10.0, ppc32 ) started at 2006-11-17 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-17 01:16:51
|
Nightly build on g5 ( SuSE 10.1, ppc970 ) started at 2006-11-17 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) |