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
(36) |
2
(30) |
|
3
(17) |
4
(21) |
5
(18) |
6
(14) |
7
(23) |
8
(12) |
9
(11) |
|
10
(11) |
11
(12) |
12
(11) |
13
(12) |
14
(11) |
15
(11) |
16
(15) |
|
17
(12) |
18
(15) |
19
(15) |
20
(25) |
21
(26) |
22
(21) |
23
(18) |
|
24
(25) |
25
(28) |
26
(27) |
27
(32) |
28
(13) |
29
(12) |
30
(10) |
|
From: <sv...@va...> - 2005-04-05 21:07:02
|
Author: njn Date: 2005-04-05 22:06:56 +0100 (Tue, 05 Apr 2005) New Revision: 3523 Modified: trunk/docs/valgrind.1 Log: Remove --sloppy-malloc from man page. Modified: trunk/docs/valgrind.1 =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=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/valgrind.1 2005-04-05 20:59:55 UTC (rev 3522) +++ trunk/docs/valgrind.1 2005-04-05 21:06:56 UTC (rev 3523) @@ -579,12 +579,6 @@ =20 .TP .B ---sloppy-malloc=3D<yes|no> [default: no] -When enabled, \fBvalgrind\fP rounds all memory allocation request sizes -up to 4 bytes. - -.TP -.B --time-stamp=3D<yes|no> [default: no] When enabled, a time-stamp is added to all log messages. =20 |
|
From: <sv...@va...> - 2005-04-05 21:00:02
|
Author: sewardj
Date: 2005-04-05 21:59:55 +0100 (Tue, 05 Apr 2005)
New Revision: 3522
Modified:
trunk/coregrind/core.h
trunk/coregrind/vg_malloc2.c
trunk/coregrind/vg_replace_malloc.c
trunk/coregrind/vg_scheduler.c
trunk/docs/xml/manual-core.xml
trunk/include/tool.h.base
Log:
Get rid of the --sloppy-malloc=3D flag and the functionality it
controlled (rounding user malloc requests up to a multiple of 4).
Subsequent changes to memcheck made it more or less pointless, it is a
time waster in the malloc/free path, and nobody ever used it AFAIK.
Modified: trunk/coregrind/core.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/core.h 2005-04-05 18:36:05 UTC (rev 3521)
+++ trunk/coregrind/core.h 2005-04-05 20:59:55 UTC (rev 3522)
@@ -385,9 +385,6 @@
// greater than 8.
#define VG_MIN_MALLOC_SZB 8
=20
-// Round-up size for --sloppy-malloc=3Dyes.
-#define VG_SLOPPY_MALLOC_SZB 4
-
extern void* VG_(arena_malloc) ( ArenaId arena, SizeT nbytes );
extern void VG_(arena_free) ( ArenaId arena, void* ptr );
extern void* VG_(arena_calloc) ( ArenaId arena,=20
@@ -500,7 +497,6 @@
=20
SizeT (*arena_payload_szB) (ArenaId aid, void* payload);
=20
- Bool clo_sloppy_malloc;
Bool clo_trace_malloc;
};
=20
Modified: trunk/coregrind/vg_malloc2.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/vg_malloc2.c 2005-04-05 18:36:05 UTC (rev 3521)
+++ trunk/coregrind/vg_malloc2.c 2005-04-05 20:59:55 UTC (rev 3522)
@@ -518,13 +518,9 @@
/*--- Command line options ---*/
/*------------------------------------------------------------*/
=20
-/* Round malloc sizes up to a multiple of VG_SLOPPY_MALLOC_SZB bytes?
- default: NO
- Nb: the allocator always rounds blocks up to a multiple of
- VG_MIN_MALLOC_SZB. VG_(clo_sloppy_malloc) is relevant eg. for
- Memcheck, which will be byte-precise with addressability maps on its
- malloc allocations unless --sloppy-malloc=3Dyes. */
-Bool VG_(clo_sloppy_malloc) =3D False;
+/* Nb: the allocator always rounds blocks up to a multiple of
+ VG_MIN_MALLOC_SZB.
+*/
=20
/* DEBUG: print malloc details? default: NO */
Bool VG_(clo_trace_malloc) =3D False;
@@ -550,7 +546,6 @@
}
}
=20
- else VG_BOOL_CLO(arg, "--sloppy-malloc", VG_(clo_sloppy_malloc))
else VG_BOOL_CLO(arg, "--trace-malloc", VG_(clo_trace_malloc))
else=20
return False;
@@ -561,9 +556,8 @@
void VG_(replacement_malloc_print_usage)(void)
{
VG_(printf)(
-" --sloppy-malloc=3Dno|yes round malloc sizes to multiple of %d? [=
no]\n"
" --alignment=3D<number> set minimum alignment of allocations [%=
d]\n",
- VG_SLOPPY_MALLOC_SZB, VG_MIN_MALLOC_SZB
+ VG_MIN_MALLOC_SZB
);
}
=20
Modified: trunk/coregrind/vg_replace_malloc.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/vg_replace_malloc.c 2005-04-05 18:36:05 UTC (rev 3521=
)
+++ trunk/coregrind/vg_replace_malloc.c 2005-04-05 20:59:55 UTC (rev 3522=
)
@@ -153,12 +153,6 @@
if (info.clo_trace_malloc) \
internal_printf(format, ## args )
=20
-#define MAYBE_SLOPPIFY(n) \
- if (info.clo_sloppy_malloc) { \
- n =3D (n+(VG_SLOPPY_MALLOC_SZB-1)) & ~(VG_SLOPPY_MALLOC_SZB-1); \
- }
-
-
/* Below are new versions of malloc, __builtin_new, free,=20
__builtin_delete, calloc, realloc, memalign, and friends.
=20
@@ -180,7 +174,6 @@
void* v; \
\
MALLOC_TRACE(#fnname "(%llu)", (ULong)n ); \
- MAYBE_SLOPPIFY(n); \
if (!init_done) init(); \
\
v =3D (void*)VALGRIND_NON_SIMD_CALL1( info.tl_##vg_replacement, n =
); \
@@ -201,7 +194,6 @@
void* v; \
\
MALLOC_TRACE(#fnname "(%llu)", (ULong)n ); \
- MAYBE_SLOPPIFY(n); \
if (!init_done) init(); \
\
v =3D (void*)VALGRIND_NON_SIMD_CALL1( info.tl_##vg_replacement, n =
); \
@@ -305,7 +297,6 @@
void* v; \
\
MALLOC_TRACE("calloc(%llu,%llu)", (ULong)nmemb, (ULong)size ); \
- MAYBE_SLOPPIFY(size); \
\
if (!init_done) init(); \
v =3D (void*)VALGRIND_NON_SIMD_CALL2( info.tl_calloc, nmemb, size =
); \
@@ -324,7 +315,6 @@
void* v; \
\
MALLOC_TRACE("realloc(%p,%llu)", ptrV, (ULong)new_size ); \
- MAYBE_SLOPPIFY(new_size); \
\
if (ptrV =3D=3D NULL) \
/* We need to call a malloc-like function; so let's use \
@@ -354,7 +344,6 @@
\
MALLOC_TRACE("memalign(al %llu, size %llu)", \
(ULong)alignment, (ULong)n ); \
- MAYBE_SLOPPIFY(n); \
\
/* Round up to minimum alignment if necessary. */ \
if (alignment < VG_MIN_MALLOC_SZB) \
Modified: trunk/coregrind/vg_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/vg_scheduler.c 2005-04-05 18:36:05 UTC (rev 3521)
+++ trunk/coregrind/vg_scheduler.c 2005-04-05 20:59:55 UTC (rev 3522)
@@ -1026,8 +1026,6 @@
info->tl___builtin_vec_delete =3D VG_(tdict).malloc___builtin_vec_dele=
te;
=20
info->arena_payload_szB =3D VG_(arena_payload_szB);
- =20
- info->clo_sloppy_malloc =3D VG_(clo_sloppy_malloc);
info->clo_trace_malloc =3D VG_(clo_trace_malloc);
=20
SET_CLREQ_RETVAL( tid, 0 ); /* return value is meaningless =
*/
Modified: trunk/docs/xml/manual-core.xml
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=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/xml/manual-core.xml 2005-04-05 18:36:05 UTC (rev 3521)
+++ trunk/docs/xml/manual-core.xml 2005-04-05 20:59:55 UTC (rev 3522)
@@ -907,29 +907,6 @@
and 4096 inclusive, and must be a power of two.</para>
</listitem>
=20
- <listitem>
- <para><computeroutput>--sloppy-malloc=3Dno</computeroutput>
- [default]</para>
- <para><computeroutput>--sloppy-malloc=3Dyes</computeroutput></para>
- <para>When enabled, all requests for malloc/calloc are
- rounded up to a whole number of machine words -- in other
- words, made divisible by 4. For example, a request for 17
- bytes of space would result in a 20-byte area being made
- available. This works around bugs in sloppy libraries which
- assume that they can safely rely on malloc/calloc requests
- being rounded up in this fashion. Without the workaround,
- these libraries tend to generate large numbers of errors when
- they access the ends of these areas.</para>
-
- <para>Valgrind snapshots dated 17 Feb 2002 and later are
- cleverer about this problem, and you should no longer need to
- use this flag. To put it bluntly, if you do need to use this
- flag, your program violates the ANSI C semantics defined for
- <computeroutput>malloc</computeroutput> and
- <computeroutput>free</computeroutput>, even if it appears to
- work correctly, and you should fix it, at least if you hope
- for maximum portability.</para>
- </listitem>
</itemizedlist>
=20
</sect2>
Modified: trunk/include/tool.h.base
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D
--- trunk/include/tool.h.base 2005-04-05 18:36:05 UTC (rev 3521)
+++ trunk/include/tool.h.base 2005-04-05 20:59:55 UTC (rev 3522)
@@ -920,8 +920,6 @@
The tool should call the functions in the appropriate places to give
control over these aspects of Valgrind's version of malloc(). */
=20
-/* Round malloc sizes upwards to integral number of words? default: NO *=
/
-extern Bool VG_(clo_sloppy_malloc);
/* DEBUG: print malloc details? default: NO */
extern Bool VG_(clo_trace_malloc);
/* Minimum alignment in functions that don't specify alignment explicitl=
y.
|
|
From: <sv...@va...> - 2005-04-05 18:36:11
|
Author: tom
Date: 2005-04-05 19:36:05 +0100 (Tue, 05 Apr 2005)
New Revision: 3521
Modified:
trunk/coregrind/amd64/signals.c
trunk/coregrind/x86/signals.c
Log:
Removed bogus (UInt) casts from the amd64 signal frame builder and some
unecessary casts and code from the x86 signal frame builders.
Modified: trunk/coregrind/amd64/signals.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/amd64/signals.c 2005-04-05 02:49:09 UTC (rev 3520)
+++ trunk/coregrind/amd64/signals.c 2005-04-05 18:36:05 UTC (rev 3521)
@@ -456,10 +456,9 @@
=20
if (flags & VKI_SA_RESTORER)
frame->retaddr =3D (Addr)restorer;
- else {
- frame->retaddr=20
- =3D (UInt)VG_(client_trampoline_code)+VG_(tramp_rt_sigreturn_of=
fset);
- }
+ else
+ frame->retaddr
+ =3D VG_(client_trampoline_code)+VG_(tramp_rt_sigreturn_offset);
=20
VG_(memcpy)(&frame->sigInfo, siginfo, sizeof(vki_siginfo_t));
=20
Modified: trunk/coregrind/x86/signals.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/x86/signals.c 2005-04-05 02:49:09 UTC (rev 3520)
+++ trunk/coregrind/x86/signals.c 2005-04-05 18:36:05 UTC (rev 3521)
@@ -464,6 +464,8 @@
Int sigNo =3D siginfo->si_signo;
struct vki_ucontext uc;
=20
+ vg_assert((flags & VKI_SA_SIGINFO) =3D=3D 0);
+
esp -=3D sizeof(*frame);
esp =3D ROUNDDN(esp, 16);
frame =3D (struct sigframe *)esp;
@@ -479,14 +481,9 @@
=20
if (flags & VKI_SA_RESTORER)
frame->retaddr =3D (Addr)restorer;
- else {
- if (flags & VKI_SA_SIGINFO)
- frame->retaddr=20
- =3D (UInt)VG_(client_trampoline_code)+VG_(tramp_rt_sigreturn=
_offset);
- else
- frame->retaddr
- =3D (UInt)VG_(client_trampoline_code)+VG_(tramp_sigreturn_of=
fset);
- }
+ else
+ frame->retaddr
+ =3D VG_(client_trampoline_code)+VG_(tramp_sigreturn_offset);
=20
synth_ucontext(tst->tid, siginfo, mask, &uc, &frame->fpstate);
=20
@@ -514,6 +511,8 @@
Addr esp =3D esp_top_of_frame;
Int sigNo =3D siginfo->si_signo;
=20
+ vg_assert((flags & VKI_SA_SIGINFO) !=3D 0);
+
esp -=3D sizeof(*frame);
esp =3D ROUNDDN(esp, 16);
frame =3D (struct rt_sigframe *)esp;
@@ -529,14 +528,9 @@
=20
if (flags & VKI_SA_RESTORER)
frame->retaddr =3D (Addr)restorer;
- else {
- if (flags & VKI_SA_SIGINFO)
- frame->retaddr=20
- =3D (UInt)VG_(client_trampoline_code)+VG_(tramp_rt_sigreturn=
_offset);
- else
- frame->retaddr
- =3D (UInt)VG_(client_trampoline_code)+VG_(tramp_sigreturn_of=
fset);
- }
+ else
+ frame->retaddr=20
+ =3D VG_(client_trampoline_code)+VG_(tramp_rt_sigreturn_offset);
=20
frame->psigInfo =3D (Addr)&frame->sigInfo;
frame->puContext =3D (Addr)&frame->uContext;
|
|
From: <js...@ac...> - 2005-04-05 03:06:16
|
Nightly build on phoenix ( SuSE 9.1 ) started at 2005-04-05 03:50:00 BST Checking out source tree ... done Configuring ... done Building ... done Running regression tests ... done Last 20 lines of log.verbose follow insn_mmx: valgrind ./insn_mmx insn_mmxext: (skipping, prereq failed: ../../../tests/cputest x86-mmxext) insn_sse: valgrind ./insn_sse insn_sse2: (skipping, prereq failed: ../../../tests/cputest x86-sse2) int: valgrind ./int pushpopseg: valgrind ./pushpopseg rcl_assert: valgrind ./rcl_assert seg_override: valgrind ./seg_override -- Finished tests in none/tests/x86 ------------------------------------ yield: valgrind ./yield -- Finished tests in none/tests ---------------------------------------- == 201 tests, 5 stderr failures, 0 stdout failures ================= memcheck/tests/pth_once (stderr) memcheck/tests/scalar (stderr) memcheck/tests/threadederrno (stderr) memcheck/tests/writev (stderr) corecheck/tests/fdleak_fcntl (stderr) make: *** [regtest] Error 1 |
|
From: <sv...@va...> - 2005-04-05 02:49:15
|
Author: njn
Date: 2005-04-05 03:49:09 +0100 (Tue, 05 Apr 2005)
New Revision: 3520
Modified:
trunk/coregrind/amd64-linux/syscalls.c
trunk/coregrind/core.h
trunk/coregrind/linux/core_os.c
trunk/coregrind/linux/core_os.h
trunk/coregrind/vg_main.c
trunk/coregrind/vg_mylibc.c
trunk/coregrind/vg_signals.c
trunk/coregrind/x86-linux/syscalls.c
Log:
Renamed and retyped the fields relating to valgrind's stack in os_state_t=
to
make their role clearer and their behaviour more consistent with the fiel=
ds
describing the client's stack. Also made the code in x86-linux/syscalls.=
c
and amd64-linux/syscalls.c more word-size-independent, which is not stric=
tly
necessary but makes the code similarities between the two files more
obvious.
One consequence of this is that Valgrind's stack on AMD64 is now 16384 * =
8
bytes, rather than 16384 * 4 bytes.
Modified: trunk/coregrind/amd64-linux/syscalls.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/amd64-linux/syscalls.c 2005-04-04 07:15:04 UTC (rev 3=
519)
+++ trunk/coregrind/amd64-linux/syscalls.c 2005-04-05 02:49:09 UTC (rev 3=
520)
@@ -180,16 +180,15 @@
=20
They're allocated lazily, but never freed.
*/
-#define FILL 0xdeadbeef
+#define FILL 0xdeadbeefcabafeed
=20
-static ULong *allocstack(ThreadId tid)
+static UWord* allocstack(ThreadId tid)
{
ThreadState *tst =3D VG_(get_ThreadState)(tid);
- ULong* rsp;
- UInt* pUInt;
+ UWord* rsp;
=20
- if (tst->os_state.stack =3D=3D NULL) {
- void *stk =3D VG_(mmap)(0, VGA_STACK_SIZE_W * sizeof(Int) + VKI_PA=
GE_SIZE,
+ if (tst->os_state.valgrind_stack_base =3D=3D 0) {
+ void *stk =3D VG_(mmap)(0, VGA_STACK_SIZE_W * sizeof(UWord) + VKI_=
PAGE_SIZE,
VKI_PROT_READ|VKI_PROT_WRITE,
VKI_MAP_PRIVATE|VKI_MAP_ANONYMOUS,
SF_VALGRIND,
@@ -197,54 +196,56 @@
=20
if (stk !=3D (void *)-1) {
VG_(mprotect)(stk, VKI_PAGE_SIZE, VKI_PROT_NONE); /* guard page */
- tst->os_state.stack =3D (UInt *)stk + VKI_PAGE_SIZE/sizeof(UInt);
- tst->os_state.stacksize =3D VGA_STACK_SIZE_W;
+ tst->os_state.valgrind_stack_base =3D ((Addr)stk) + VKI_PAGE_SIZE;
+ tst->os_state.valgrind_stack_szB =3D VGA_STACK_SIZE_W * sizeof(UWord)=
;
} else=20
- return (ULong *)-1;
+ return (UWord*)-1;
}
=20
- for (pUInt =3D tst->os_state.stack;=20
- pUInt < (tst->os_state.stack + tst->os_state.stacksize);=20
- pUInt++)
- *pUInt =3D FILL;
+ for (rsp =3D (UWord*) tst->os_state.valgrind_stack_base;=20
+ rsp < (UWord*)(tst->os_state.valgrind_stack_base +
+ tst->os_state.valgrind_stack_szB);=20
+ rsp++)
+ *rsp =3D FILL;
/* rsp is left at top of stack */
- rsp =3D (ULong*)pUInt;
=20
if (0)
- VG_(printf)("stack for tid %d at %p (%x); rsp=3D%p\n",
- tid, tst->os_state.stack, *tst->os_state.stack,
- rsp);
+ VG_(printf)("stack for tid %d at %p (%llx); rsp=3D%p\n",
+ tid, tst->os_state.valgrind_stack_base,
+ *(UWord*)(tst->os_state.valgrind_stack_base), rsp);
=20
return rsp;
}
=20
/* NB: this is identical the the x86 version. */
/* Return how many bytes of this stack have not been used */
-Int VGA_(stack_unused)(ThreadId tid)
+SSizeT VGA_(stack_unused)(ThreadId tid)
{
ThreadState *tst =3D VG_(get_ThreadState)(tid);
- UInt *p;
+ UWord* p;
=20
- for (p =3D tst->os_state.stack;=20
- p && (p < (tst->os_state.stack + tst->os_state.stacksize));=20
+ for (p =3D (UWord*)tst->os_state.valgrind_stack_base;=20
+ p && (p < (UWord*)(tst->os_state.valgrind_stack_base +
+ tst->os_state.valgrind_stack_szB));=20
p++)
if (*p !=3D FILL)
break;
=20
if (0)
- VG_(printf)("p=3D%p %x tst->os_state.stack=3D%p\n", p, *p, tst->os=
_state.stack);
+ VG_(printf)("p=3D%p %llx tst->os_state.valgrind_stack_base=3D%p\n"=
,
+ p, *p, tst->os_state.valgrind_stack_base);
=20
- return (p - tst->os_state.stack) * sizeof(*p);
+ return ((Addr)p) - tst->os_state.valgrind_stack_base;
}
=20
-
/*
Allocate a stack for the main thread, and call VGA_(thread_wrapper)
on that stack.
*/
void VGA_(main_thread_wrapper)(ThreadId tid)
{
- ULong *rsp =3D allocstack(tid);
+ UWord* rsp =3D allocstack(tid);
+
vg_assert(tid =3D=3D VG_(master_tid));
=20
call_on_new_stack_0_1(=20
@@ -318,7 +319,7 @@
ThreadId ctid =3D VG_(alloc_ThreadState)();
ThreadState *ptst =3D VG_(get_ThreadState)(ptid);
ThreadState *ctst =3D VG_(get_ThreadState)(ctid);
- ULong *stack;
+ UWord *stack;
Segment *seg;
Int ret;
vki_sigset_t blockall, savedmask;
Modified: trunk/coregrind/core.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/core.h 2005-04-04 07:15:04 UTC (rev 3519)
+++ trunk/coregrind/core.h 2005-04-05 02:49:09 UTC (rev 3520)
@@ -1681,7 +1681,7 @@
void VGA_(main_thread_wrapper)(ThreadId tid) __attribute__ ((__noreturn_=
_));
=20
// Return how many bytes of a thread's Valgrind stack are unused
-Int VGA_(stack_unused)(ThreadId tid);
+SSizeT VGA_(stack_unused)(ThreadId tid);
=20
// Terminate the process. Does not return.
void VGA_(terminate)(ThreadId tid, VgSchedReturnCode src) __attribute__(=
(__noreturn__));
Modified: trunk/coregrind/linux/core_os.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/linux/core_os.c 2005-04-04 07:15:04 UTC (rev 3519)
+++ trunk/coregrind/linux/core_os.c 2005-04-05 02:49:09 UTC (rev 3520)
@@ -8,8 +8,8 @@
=20
void VGA_(os_state_init)(ThreadState *tst)
{
- tst->os_state.stack =3D 0;
- tst->os_state.stacksize =3D 0;
+ tst->os_state.valgrind_stack_base =3D 0;
+ tst->os_state.valgrind_stack_szB =3D 0;
=20
VGA_(os_state_clear)(tst);
}
Modified: trunk/coregrind/linux/core_os.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/linux/core_os.h 2005-04-04 07:15:04 UTC (rev 3519)
+++ trunk/coregrind/linux/core_os.h 2005-04-05 02:49:09 UTC (rev 3520)
@@ -172,8 +172,8 @@
ThreadId parent; /* parent tid (if any) */
=20
/* runtime details */
- UInt *stack; /* stack base */
- UInt stacksize; /* stack size in UInts */
+ Addr valgrind_stack_base; /* Valgrind's stack base */
+ SizeT valgrind_stack_szB; /* stack size in bytes */
=20
/* exit details */
Int exitcode; /* in the case of exitgroup, set by someone else */
Modified: trunk/coregrind/vg_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/vg_main.c 2005-04-04 07:15:04 UTC (rev 3519)
+++ trunk/coregrind/vg_main.c 2005-04-05 02:49:09 UTC (rev 3520)
@@ -2317,7 +2317,7 @@
=20
/* Look for stack overruns. Visit all threads. */
for(tid =3D 1; tid < VG_N_THREADS; tid++) {
- Int remains;
+ SSizeT remains;
=20
if (VG_(threads)[tid].status =3D=3D VgTs_Empty ||
VG_(threads)[tid].status =3D=3D VgTs_Zombie)
Modified: trunk/coregrind/vg_mylibc.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/vg_mylibc.c 2005-04-04 07:15:04 UTC (rev 3519)
+++ trunk/coregrind/vg_mylibc.c 2005-04-05 02:49:09 UTC (rev 3520)
@@ -1153,7 +1153,8 @@
VGA_GET_REAL_STACK_PTR(sp);
VGA_GET_REAL_FRAME_PTR(fp);
=20
- stacktop =3D (Addr)(tst->os_state.stack + tst->os_state.stacksize);
+ stacktop =3D tst->os_state.valgrind_stack_base +=20
+ tst->os_state.valgrind_stack_szB;
=20
VG_(get_StackTrace2)(ips, VG_(clo_backtrace_size),
ret, fp, sp, stacktop);
Modified: trunk/coregrind/vg_signals.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/vg_signals.c 2005-04-04 07:15:04 UTC (rev 3519)
+++ trunk/coregrind/vg_signals.c 2005-04-05 02:49:09 UTC (rev 3520)
@@ -1940,7 +1940,8 @@
VGP_UCONTEXT_INSTR_PTR(uc),
VGP_UCONTEXT_FRAME_PTR(uc),
VGP_UCONTEXT_STACK_PTR(uc),
- (Addr)(tst->os_state.stack + tst->os_state.st=
acksize));
+ tst->os_state.valgrind_stack_base +=20
+ tst->os_state.valgrind_stack_szB);
VG_(core_panic_at)("Killed by fatal signal", ips);
}
}
Modified: trunk/coregrind/x86-linux/syscalls.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/x86-linux/syscalls.c 2005-04-04 07:15:04 UTC (rev 351=
9)
+++ trunk/coregrind/x86-linux/syscalls.c 2005-04-05 02:49:09 UTC (rev 352=
0)
@@ -180,13 +180,13 @@
*/
#define FILL 0xdeadbeef
=20
-static UInt *allocstack(ThreadId tid)
+static UWord* allocstack(ThreadId tid)
{
ThreadState *tst =3D VG_(get_ThreadState)(tid);
- UInt *esp;
+ UWord *esp;
=20
- if (tst->os_state.stack =3D=3D NULL) {
- void *stk =3D VG_(mmap)(0, VGA_STACK_SIZE_W * sizeof(Int) + VKI_PA=
GE_SIZE,
+ if (tst->os_state.valgrind_stack_base =3D=3D 0) {
+ void *stk =3D VG_(mmap)(0, VGA_STACK_SIZE_W * sizeof(UWord) + VKI_=
PAGE_SIZE,
VKI_PROT_READ|VKI_PROT_WRITE,
VKI_MAP_PRIVATE|VKI_MAP_ANONYMOUS,
SF_VALGRIND,
@@ -194,41 +194,46 @@
=20
if (stk !=3D (void *)-1) {
VG_(mprotect)(stk, VKI_PAGE_SIZE, VKI_PROT_NONE); /* guard page */
- tst->os_state.stack =3D (UInt *)stk + VKI_PAGE_SIZE/sizeof(UInt);
- tst->os_state.stacksize =3D VGA_STACK_SIZE_W;
+ tst->os_state.valgrind_stack_base =3D ((Addr)stk) + VKI_PAGE_SIZE;
+ tst->os_state.valgrind_stack_szB =3D VGA_STACK_SIZE_W * sizeof(UWord)=
;
} else=20
- return (UInt *)-1;
+ return (UWord*)-1;
}
=20
- for(esp =3D tst->os_state.stack; esp < (tst->os_state.stack + tst->os=
_state.stacksize); esp++)
+ for (esp =3D (UWord*) tst->os_state.valgrind_stack_base;
+ esp < (UWord*)(tst->os_state.valgrind_stack_base +=20
+ tst->os_state.valgrind_stack_szB);=20
+ esp++)
*esp =3D FILL;
/* esp is left at top of stack */
=20
if (0)
VG_(printf)("stack for tid %d at %p (%x); esp=3D%p\n",
- tid, tst->os_state.stack, *tst->os_state.stack,
- esp);
+ tid, tst->os_state.valgrind_stack_base,=20
+ *(UWord*)(tst->os_state.valgrind_stack_base), esp);
=20
return esp;
}
=20
/* NB: this is identical the the amd64 version. */
/* Return how many bytes of this stack have not been used */
-Int VGA_(stack_unused)(ThreadId tid)
+SSizeT VGA_(stack_unused)(ThreadId tid)
{
ThreadState *tst =3D VG_(get_ThreadState)(tid);
- UInt *p;
+ UWord* p;
=20
- for (p =3D tst->os_state.stack;=20
- p && (p < (tst->os_state.stack + tst->os_state.stacksize));=20
+ for (p =3D (UWord*)tst->os_state.valgrind_stack_base;=20
+ p && (p < (UWord*)(tst->os_state.valgrind_stack_base +
+ tst->os_state.valgrind_stack_szB));=20
p++)
if (*p !=3D FILL)
break;
=20
if (0)
- VG_(printf)("p=3D%p %x tst->os_state.stack=3D%p\n", p, *p, tst->os=
_state.stack);
+ VG_(printf)("p=3D%p %x tst->os_state.valgrind_stack_base=3D%p\n",
+ p, *p, tst->os_state.valgrind_stack_base);
=20
- return (p - tst->os_state.stack) * sizeof(*p);
+ return ((Addr)p) - tst->os_state.valgrind_stack_base;
}
=20
/*
@@ -237,7 +242,7 @@
*/
void VGA_(main_thread_wrapper)(ThreadId tid)
{
- UInt *esp =3D allocstack(tid);
+ UWord* esp =3D allocstack(tid);
=20
vg_assert(tid =3D=3D VG_(master_tid));
=20
@@ -312,7 +317,7 @@
ThreadId ctid =3D VG_(alloc_ThreadState)();
ThreadState *ptst =3D VG_(get_ThreadState)(ptid);
ThreadState *ctst =3D VG_(get_ThreadState)(ctid);
- UInt *stack;
+ UWord *stack;
Segment *seg;
Int ret;
vki_sigset_t blockall, savedmask;
|
|
From: Tom H. <th...@cy...> - 2005-04-05 02:39:07
|
Nightly build on honda ( x86_64, Fedora Core 3 ) started at 2005-04-05 03:10:05 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 == 165 tests, 82 stderr failures, 23 stdout failures ================= memcheck/tests/addressable (stdout) memcheck/tests/addressable (stderr) memcheck/tests/badaddrvalue (stdout) memcheck/tests/badaddrvalue (stderr) memcheck/tests/badfree-2trace (stderr) memcheck/tests/badfree (stderr) memcheck/tests/badjump (stderr) memcheck/tests/badjump2 (stderr) memcheck/tests/badloop (stderr) memcheck/tests/badpoll (stderr) memcheck/tests/badrw (stderr) memcheck/tests/brk (stderr) memcheck/tests/brk2 (stderr) memcheck/tests/buflen_check (stderr) memcheck/tests/clientperm (stdout) memcheck/tests/clientperm (stderr) memcheck/tests/custom_alloc (stderr) memcheck/tests/describe-block (stderr) memcheck/tests/doublefree (stderr) memcheck/tests/error_counts (stdout) memcheck/tests/errs1 (stderr) memcheck/tests/execve (stderr) memcheck/tests/execve2 (stderr) memcheck/tests/exitprog (stderr) memcheck/tests/fprw (stderr) memcheck/tests/fwrite (stdout) memcheck/tests/fwrite (stderr) memcheck/tests/inits (stderr) memcheck/tests/inline (stdout) memcheck/tests/inline (stderr) memcheck/tests/leak-0 (stderr) memcheck/tests/leak-cycle (stderr) memcheck/tests/leak-regroot (stderr) memcheck/tests/leak-tree (stderr) memcheck/tests/leakotron (stdout) memcheck/tests/malloc1 (stderr) memcheck/tests/malloc2 (stderr) memcheck/tests/malloc3 (stdout) memcheck/tests/malloc3 (stderr) memcheck/tests/manuel1 (stdout) memcheck/tests/manuel1 (stderr) memcheck/tests/manuel2 (stdout) memcheck/tests/manuel2 (stderr) memcheck/tests/manuel3 (stderr) memcheck/tests/match-overrun (stderr) memcheck/tests/memalign_test (stderr) memcheck/tests/memcmptest (stdout) memcheck/tests/memcmptest (stderr) memcheck/tests/mempool (stderr) memcheck/tests/metadata (stdout) memcheck/tests/metadata (stderr) memcheck/tests/mismatches (stderr) memcheck/tests/nanoleak (stderr) memcheck/tests/new_override (stdout) memcheck/tests/new_override (stderr) memcheck/tests/overlap (stdout) memcheck/tests/overlap (stderr) memcheck/tests/pointer-trace (stderr) memcheck/tests/post-syscall (stdout) memcheck/tests/post-syscall (stderr) memcheck/tests/realloc3 (stderr) memcheck/tests/scalar (stderr) memcheck/tests/scalar_exit_group (stderr) memcheck/tests/scalar_fork (stderr) memcheck/tests/scalar_supp (stderr) memcheck/tests/scalar_vfork (stderr) memcheck/tests/sigaltstack (stderr) memcheck/tests/signal2 (stdout) memcheck/tests/signal2 (stderr) memcheck/tests/sigprocmask (stderr) memcheck/tests/supp2 (stderr) memcheck/tests/suppfree (stderr) memcheck/tests/threadederrno (stdout) memcheck/tests/toobig-allocs (stderr) memcheck/tests/trivialleak (stderr) memcheck/tests/vgtest_ume (stderr) memcheck/tests/weirdioctl (stdout) memcheck/tests/weirdioctl (stderr) memcheck/tests/writev (stderr) memcheck/tests/zeropage (stdout) addrcheck/tests/addressable (stdout) addrcheck/tests/addressable (stderr) addrcheck/tests/badrw (stderr) addrcheck/tests/fprw (stderr) addrcheck/tests/leak-0 (stderr) addrcheck/tests/leak-cycle (stderr) addrcheck/tests/leak-regroot (stderr) addrcheck/tests/leak-tree (stderr) addrcheck/tests/overlap (stdout) addrcheck/tests/overlap (stderr) addrcheck/tests/toobig-allocs (stderr) corecheck/tests/fdleak_cmsg (stderr) corecheck/tests/fdleak_creat (stderr) corecheck/tests/fdleak_dup (stderr) corecheck/tests/fdleak_dup2 (stderr) corecheck/tests/fdleak_fcntl (stderr) corecheck/tests/fdleak_ipv4 (stderr) corecheck/tests/fdleak_open (stderr) corecheck/tests/fdleak_pipe (stderr) corecheck/tests/fdleak_socketpair (stderr) massif/tests/toobig-allocs (stderr) none/tests/faultstatus (stderr) none/tests/selfrun (stdout) none/tests/selfrun (stderr) none/tests/tls (stdout) |
|
From: Tom H. <to...@co...> - 2005-04-05 02:37:25
|
Nightly build on dunsmere ( athlon, Fedora Core 3 ) started at 2005-04-05 03:30:03 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 == 185 tests, 78 stderr failures, 2 stdout failures ================= memcheck/tests/addressable (stderr) memcheck/tests/badaddrvalue (stderr) memcheck/tests/badfree-2trace (stderr) memcheck/tests/badfree (stderr) memcheck/tests/badjump (stderr) memcheck/tests/badjump2 (stderr) memcheck/tests/badloop (stderr) memcheck/tests/badpoll (stderr) memcheck/tests/badrw (stderr) memcheck/tests/brk (stderr) memcheck/tests/brk2 (stderr) memcheck/tests/buflen_check (stderr) memcheck/tests/clientperm (stderr) memcheck/tests/custom_alloc (stderr) memcheck/tests/describe-block (stderr) memcheck/tests/doublefree (stderr) memcheck/tests/error_counts (stdout) memcheck/tests/errs1 (stderr) memcheck/tests/execve (stderr) memcheck/tests/execve2 (stderr) memcheck/tests/exitprog (stderr) memcheck/tests/fprw (stderr) memcheck/tests/fwrite (stderr) memcheck/tests/inits (stderr) memcheck/tests/inline (stderr) memcheck/tests/leak-0 (stderr) memcheck/tests/leak-cycle (stderr) memcheck/tests/leak-regroot (stderr) memcheck/tests/leak-tree (stderr) memcheck/tests/malloc1 (stderr) memcheck/tests/malloc2 (stderr) memcheck/tests/malloc3 (stderr) memcheck/tests/manuel1 (stderr) memcheck/tests/manuel2 (stderr) memcheck/tests/manuel3 (stderr) memcheck/tests/match-overrun (stderr) memcheck/tests/memalign2 (stderr) memcheck/tests/memalign_test (stderr) memcheck/tests/memcmptest (stderr) memcheck/tests/mempool (stderr) memcheck/tests/metadata (stderr) memcheck/tests/mismatches (stderr) memcheck/tests/mmaptest (stderr) memcheck/tests/nanoleak (stderr) memcheck/tests/nanoleak_supp (stderr) memcheck/tests/new_nothrow (stderr) memcheck/tests/new_override (stderr) memcheck/tests/null_socket (stderr) memcheck/tests/overlap (stderr) memcheck/tests/pointer-trace (stderr) memcheck/tests/post-syscall (stderr) memcheck/tests/realloc1 (stderr) memcheck/tests/realloc2 (stderr) memcheck/tests/realloc3 (stderr) memcheck/tests/scalar (stderr) memcheck/tests/scalar_exit_group (stderr) memcheck/tests/scalar_fork (stderr) memcheck/tests/scalar_supp (stderr) memcheck/tests/scalar_vfork (stderr) memcheck/tests/sigaltstack (stderr) memcheck/tests/signal2 (stderr) memcheck/tests/sigprocmask (stderr) memcheck/tests/str_tester (stderr) memcheck/tests/supp1 (stderr) memcheck/tests/supp2 (stderr) memcheck/tests/suppfree (stderr) memcheck/tests/threadederrno (stderr) memcheck/tests/toobig-allocs (stderr) memcheck/tests/trivialleak (stderr) memcheck/tests/vgtest_ume (stderr) memcheck/tests/weirdioctl (stderr) memcheck/tests/writev (stderr) memcheck/tests/x86/fpeflags (stderr) memcheck/tests/x86/pushfpopf (stderr) memcheck/tests/x86/tronical (stderr) memcheck/tests/zeropage (stderr) none/tests/faultstatus (stderr) none/tests/selfrun (stdout) none/tests/selfrun (stderr) none/tests/x86/int (stderr) |
|
From: Tom H. <th...@cy...> - 2005-04-05 02:33:54
|
Nightly build on audi ( i686, Red Hat 9 ) started at 2005-04-05 03:25:02 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 == 184 tests, 3 stderr failures, 1 stdout failure ================= memcheck/tests/scalar (stderr) none/tests/faultstatus (stderr) none/tests/x86/int (stderr) none/tests/yield (stdout) |
|
From: Tom H. <to...@co...> - 2005-04-05 02:29:13
|
Nightly build on dunsmere ( Fedora Core 3 ) started at 2005-04-05 03:20:03 BST Checking out source tree ... done Configuring ... done Building ... done Running regression tests ... done Last 20 lines of log.verbose follow insn_cmov: valgrind ./insn_cmov insn_fpu: valgrind ./insn_fpu insn_mmx: valgrind ./insn_mmx insn_mmxext: valgrind ./insn_mmxext insn_sse: valgrind ./insn_sse insn_sse2: (skipping, prereq failed: ../../../tests/cputest x86-sse2) int: valgrind ./int sh: line 1: 27900 Segmentation fault VALGRINDLIB=/tmp/valgrind.1992/valgrind/.in_place /tmp/valgrind.1992/valgrind/./coregrind/valgrind --command-line-only=yes --memcheck:leak-check=no --addrcheck:leak-check=no --tool=none ./int >int.stdout.out 2>int.stderr.out pushpopseg: valgrind ./pushpopseg rcl_assert: valgrind ./rcl_assert seg_override: valgrind ./seg_override -- Finished tests in none/tests/x86 ------------------------------------ yield: valgrind ./yield -- Finished tests in none/tests ---------------------------------------- == 207 tests, 2 stderr failures, 0 stdout failures ================= memcheck/tests/scalar (stderr) memcheck/tests/scalar_supp (stderr) make: *** [regtest] Error 1 |
|
From: Tom H. <th...@cy...> - 2005-04-05 02:25:52
|
Nightly build on ginetta ( i686, Red Hat 8.0 ) started at 2005-04-05 03:20:02 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 == 183 tests, 4 stderr failures, 0 stdout failures ================= memcheck/tests/scalar (stderr) memcheck/tests/threadederrno (stderr) none/tests/faultstatus (stderr) none/tests/x86/int (stderr) |
|
From: Tom H. <th...@cy...> - 2005-04-05 02:24:40
|
Nightly build on audi ( Red Hat 9 ) started at 2005-04-05 03:15:02 BST Checking out source tree ... done Configuring ... done Building ... done Running regression tests ... done Last 20 lines of log.verbose follow insn_cmov: valgrind ./insn_cmov insn_fpu: valgrind ./insn_fpu insn_mmx: valgrind ./insn_mmx insn_mmxext: valgrind ./insn_mmxext insn_sse: valgrind ./insn_sse insn_sse2: (skipping, prereq failed: ../../../tests/cputest x86-sse2) int: valgrind ./int pushpopseg: valgrind ./pushpopseg rcl_assert: valgrind ./rcl_assert seg_override: valgrind ./seg_override -- Finished tests in none/tests/x86 ------------------------------------ yield: valgrind ./yield *** yield failed (stdout) *** -- Finished tests in none/tests ---------------------------------------- == 206 tests, 1 stderr failure, 1 stdout failure ================= memcheck/tests/scalar (stderr) none/tests/yield (stdout) make: *** [regtest] Error 1 |
|
From: Tom H. <th...@cy...> - 2005-04-05 02:21:06
|
Nightly build on alvis ( i686, Red Hat 7.3 ) started at 2005-04-05 03:15:02 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 == 183 tests, 17 stderr failures, 0 stdout failures ================= memcheck/tests/addressable (stderr) memcheck/tests/describe-block (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/pointer-trace (stderr) memcheck/tests/scalar (stderr) memcheck/tests/threadederrno (stderr) memcheck/tests/vgtest_ume (stderr) addrcheck/tests/leak-0 (stderr) addrcheck/tests/leak-cycle (stderr) addrcheck/tests/leak-regroot (stderr) addrcheck/tests/leak-tree (stderr) none/tests/faultstatus (stderr) none/tests/x86/int (stderr) |
|
From: Tom H. <th...@cy...> - 2005-04-05 02:16:48
|
Nightly build on ginetta ( Red Hat 8.0 ) started at 2005-04-05 03:10:02 BST Checking out source tree ... done Configuring ... done Building ... done Running regression tests ... done Last 20 lines of log.verbose follow insn_cmov: valgrind ./insn_cmov insn_fpu: valgrind ./insn_fpu insn_mmx: valgrind ./insn_mmx insn_mmxext: valgrind ./insn_mmxext insn_sse: valgrind ./insn_sse insn_sse2: (skipping, prereq failed: ../../../tests/cputest x86-sse2) int: valgrind ./int pushpopseg: valgrind ./pushpopseg rcl_assert: valgrind ./rcl_assert seg_override: valgrind ./seg_override -- Finished tests in none/tests/x86 ------------------------------------ yield: valgrind ./yield -- Finished tests in none/tests ---------------------------------------- == 205 tests, 3 stderr failures, 0 stdout failures ================= memcheck/tests/pth_once (stderr) memcheck/tests/scalar (stderr) memcheck/tests/threadederrno (stderr) make: *** [regtest] Error 1 |
|
From: Tom H. <th...@cy...> - 2005-04-05 02:15:48
|
Nightly build on standard ( Red Hat 7.2 ) started at 2005-04-05 03:00:02 BST Checking out source tree ... done Configuring ... done Building ... done Running regression tests ... done Last 20 lines of log.verbose follow insn_mmxext: valgrind ./insn_mmxext insn_sse: valgrind ./insn_sse insn_sse2: (skipping, prereq failed: ../../../tests/cputest x86-sse2) int: valgrind ./int pushpopseg: valgrind ./pushpopseg rcl_assert: valgrind ./rcl_assert seg_override: valgrind ./seg_override -- Finished tests in none/tests/x86 ------------------------------------ yield: valgrind ./yield -- Finished tests in none/tests ---------------------------------------- == 205 tests, 6 stderr failures, 0 stdout failures ================= memcheck/tests/leak-tree (stderr) memcheck/tests/pth_once (stderr) memcheck/tests/scalar (stderr) memcheck/tests/threadederrno (stderr) memcheck/tests/vgtest_ume (stderr) addrcheck/tests/leak-tree (stderr) make: *** [regtest] Error 1 |
|
From: Tom H. <th...@cy...> - 2005-04-05 02:14:14
|
Nightly build on standard ( i686, Red Hat 7.2 ) started at 2005-04-05 03:10:02 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 == 183 tests, 175 stderr failures, 68 stdout failures ================= memcheck/tests/addressable (stdout) memcheck/tests/addressable (stderr) memcheck/tests/badaddrvalue (stdout) memcheck/tests/badaddrvalue (stderr) memcheck/tests/badfree-2trace (stderr) memcheck/tests/badfree (stderr) memcheck/tests/badjump (stderr) memcheck/tests/badjump2 (stderr) memcheck/tests/badloop (stderr) memcheck/tests/badpoll (stderr) memcheck/tests/badrw (stderr) memcheck/tests/brk (stderr) memcheck/tests/brk2 (stderr) memcheck/tests/buflen_check (stderr) memcheck/tests/clientperm (stdout) memcheck/tests/clientperm (stderr) memcheck/tests/custom_alloc (stderr) memcheck/tests/describe-block (stderr) memcheck/tests/doublefree (stderr) memcheck/tests/error_counts (stdout) memcheck/tests/errs1 (stderr) memcheck/tests/execve (stderr) memcheck/tests/execve2 (stderr) memcheck/tests/exitprog (stderr) memcheck/tests/fprw (stderr) memcheck/tests/fwrite (stdout) memcheck/tests/fwrite (stderr) memcheck/tests/inits (stderr) memcheck/tests/inline (stdout) memcheck/tests/inline (stderr) memcheck/tests/leak-0 (stderr) memcheck/tests/leak-cycle (stderr) memcheck/tests/leak-regroot (stderr) memcheck/tests/leak-tree (stderr) memcheck/tests/leakotron (stdout) memcheck/tests/malloc1 (stderr) memcheck/tests/malloc2 (stderr) memcheck/tests/malloc3 (stdout) memcheck/tests/malloc3 (stderr) memcheck/tests/manuel1 (stdout) memcheck/tests/manuel1 (stderr) memcheck/tests/manuel2 (stdout) memcheck/tests/manuel2 (stderr) memcheck/tests/manuel3 (stderr) memcheck/tests/match-overrun (stderr) memcheck/tests/memalign2 (stderr) memcheck/tests/memalign_test (stderr) memcheck/tests/memcmptest (stdout) memcheck/tests/memcmptest (stderr) memcheck/tests/mempool (stderr) memcheck/tests/metadata (stdout) memcheck/tests/metadata (stderr) memcheck/tests/mismatches (stderr) memcheck/tests/mmaptest (stderr) memcheck/tests/nanoleak (stderr) memcheck/tests/nanoleak_supp (stderr) memcheck/tests/new_nothrow (stderr) memcheck/tests/new_override (stdout) memcheck/tests/new_override (stderr) memcheck/tests/null_socket (stderr) memcheck/tests/overlap (stdout) memcheck/tests/overlap (stderr) memcheck/tests/pointer-trace (stderr) memcheck/tests/post-syscall (stdout) memcheck/tests/post-syscall (stderr) memcheck/tests/realloc1 (stderr) memcheck/tests/realloc2 (stderr) memcheck/tests/realloc3 (stderr) memcheck/tests/scalar (stderr) memcheck/tests/scalar_exit_group (stderr) memcheck/tests/scalar_fork (stderr) memcheck/tests/scalar_supp (stderr) memcheck/tests/scalar_vfork (stderr) memcheck/tests/sigaltstack (stderr) memcheck/tests/signal2 (stdout) memcheck/tests/signal2 (stderr) memcheck/tests/sigprocmask (stderr) memcheck/tests/str_tester (stderr) memcheck/tests/supp1 (stderr) memcheck/tests/supp2 (stderr) memcheck/tests/suppfree (stderr) memcheck/tests/threadederrno (stdout) memcheck/tests/threadederrno (stderr) memcheck/tests/toobig-allocs (stderr) memcheck/tests/trivialleak (stderr) memcheck/tests/vgtest_ume (stderr) memcheck/tests/weirdioctl (stdout) memcheck/tests/weirdioctl (stderr) memcheck/tests/writev (stderr) memcheck/tests/x86/fpeflags (stderr) memcheck/tests/x86/pushfpopf (stdout) memcheck/tests/x86/pushfpopf (stderr) memcheck/tests/x86/tronical (stderr) memcheck/tests/zeropage (stdout) memcheck/tests/zeropage (stderr) addrcheck/tests/addressable (stdout) addrcheck/tests/addressable (stderr) addrcheck/tests/badrw (stderr) addrcheck/tests/fprw (stderr) addrcheck/tests/leak-0 (stderr) addrcheck/tests/leak-cycle (stderr) addrcheck/tests/leak-regroot (stderr) addrcheck/tests/leak-tree (stderr) addrcheck/tests/overlap (stdout) addrcheck/tests/overlap (stderr) addrcheck/tests/toobig-allocs (stderr) cachegrind/tests/chdir (stderr) cachegrind/tests/dlclose (stdout) cachegrind/tests/dlclose (stderr) cachegrind/tests/x86/fpu-28-108 (stderr) corecheck/tests/as_mmap (stderr) corecheck/tests/as_shm (stdout) corecheck/tests/as_shm (stderr) corecheck/tests/erringfds (stdout) corecheck/tests/erringfds (stderr) corecheck/tests/fdleak_cmsg (stderr) corecheck/tests/fdleak_creat (stderr) corecheck/tests/fdleak_dup (stderr) corecheck/tests/fdleak_dup2 (stderr) corecheck/tests/fdleak_fcntl (stderr) corecheck/tests/fdleak_ipv4 (stdout) corecheck/tests/fdleak_ipv4 (stderr) corecheck/tests/fdleak_open (stderr) corecheck/tests/fdleak_pipe (stderr) corecheck/tests/fdleak_socketpair (stderr) corecheck/tests/pth_atfork1 (stdout) corecheck/tests/pth_atfork1 (stderr) corecheck/tests/pth_cancel1 (stdout) corecheck/tests/pth_cancel1 (stderr) corecheck/tests/pth_cancel2 (stderr) corecheck/tests/pth_cvsimple (stdout) corecheck/tests/pth_cvsimple (stderr) corecheck/tests/pth_empty (stderr) corecheck/tests/pth_exit (stderr) corecheck/tests/pth_exit2 (stderr) corecheck/tests/pth_mutexspeed (stdout) corecheck/tests/pth_mutexspeed (stderr) corecheck/tests/pth_once (stdout) corecheck/tests/pth_once (stderr) corecheck/tests/pth_rwlock (stderr) corecheck/tests/res_search (stdout) corecheck/tests/res_search (stderr) corecheck/tests/sigkill (stderr) corecheck/tests/vgprintf (stdout) corecheck/tests/vgprintf (stderr) massif/tests/toobig-allocs (stderr) massif/tests/true_html (stderr) massif/tests/true_text (stderr) lackey/tests/true (stderr) none/tests/args (stdout) none/tests/args (stderr) none/tests/async-sigs (stdout) none/tests/async-sigs (stderr) none/tests/bitfield1 (stderr) none/tests/blockfault (stderr) none/tests/closeall (stderr) none/tests/coolo_sigaction (stdout) none/tests/coolo_sigaction (stderr) none/tests/coolo_strlen (stderr) none/tests/discard (stdout) none/tests/discard (stderr) none/tests/exec-sigmask (stderr) none/tests/execve (stderr) none/tests/faultstatus (stderr) none/tests/fcntl_setown (stderr) none/tests/floored (stdout) none/tests/floored (stderr) none/tests/fork (stdout) none/tests/fork (stderr) none/tests/fucomip (stderr) none/tests/gxx304 (stderr) none/tests/manythreads (stdout) none/tests/manythreads (stderr) none/tests/map_unaligned (stderr) none/tests/map_unmap (stdout) none/tests/map_unmap (stderr) none/tests/mq (stderr) none/tests/mremap (stderr) none/tests/munmap_exe (stderr) none/tests/pending (stdout) none/tests/pending (stderr) none/tests/pth_blockedsig (stdout) none/tests/pth_blockedsig (stderr) none/tests/pth_stackalign (stdout) none/tests/pth_stackalign (stderr) none/tests/rcrl (stdout) none/tests/rcrl (stderr) none/tests/readline1 (stdout) none/tests/readline1 (stderr) none/tests/resolv (stdout) none/tests/resolv (stderr) none/tests/rlimit_nofile (stderr) none/tests/sem (stderr) none/tests/semlimit (stderr) none/tests/sha1_test (stderr) none/tests/shortpush (stderr) none/tests/shorts (stderr) none/tests/sigstackgrowth (stdout) none/tests/sigstackgrowth (stderr) none/tests/smc1 (stdout) none/tests/smc1 (stderr) none/tests/stackgrowth (stdout) none/tests/stackgrowth (stderr) none/tests/syscall-restart1 (stderr) none/tests/syscall-restart2 (stderr) none/tests/system (stderr) none/tests/thread-exits (stdout) none/tests/thread-exits (stderr) none/tests/threaded-fork (stdout) none/tests/threaded-fork (stderr) none/tests/x86/badseg (stdout) none/tests/x86/badseg (stderr) none/tests/x86/bt_everything (stdout) none/tests/x86/bt_everything (stderr) none/tests/x86/bt_literal (stdout) none/tests/x86/bt_literal (stderr) none/tests/x86/cpuid (stdout) none/tests/x86/cpuid (stderr) none/tests/x86/fpu_lazy_eflags (stdout) none/tests/x86/fpu_lazy_eflags (stderr) none/tests/x86/getseg (stdout) none/tests/x86/getseg (stderr) none/tests/x86/insn_basic (stdout) none/tests/x86/insn_basic (stderr) none/tests/x86/insn_cmov (stdout) none/tests/x86/insn_cmov (stderr) none/tests/x86/insn_fpu (stdout) none/tests/x86/insn_fpu (stderr) none/tests/x86/insn_mmx (stdout) none/tests/x86/insn_mmx (stderr) none/tests/x86/insn_mmxext (stdout) none/tests/x86/insn_mmxext (stderr) none/tests/x86/insn_sse (stdout) none/tests/x86/insn_sse (stderr) none/tests/x86/int (stderr) none/tests/x86/pushpopseg (stdout) none/tests/x86/pushpopseg (stderr) none/tests/x86/seg_override (stdout) none/tests/x86/seg_override (stderr) none/tests/x86/sigcontext (stdout) none/tests/x86/sigcontext (stderr) none/tests/yield (stdout) none/tests/yield (stderr) |
|
From: Tom H. <th...@cy...> - 2005-04-05 02:11:54
|
Nightly build on alvis ( Red Hat 7.3 ) started at 2005-04-05 03:05:02 BST Checking out source tree ... done Configuring ... done Building ... done Running regression tests ... done Last 20 lines of log.verbose follow == 205 tests, 17 stderr failures, 0 stdout failures ================= memcheck/tests/addressable (stderr) memcheck/tests/describe-block (stderr) memcheck/tests/distinguished-writes (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/pointer-trace (stderr) memcheck/tests/pth_once (stderr) memcheck/tests/scalar (stderr) memcheck/tests/threadederrno (stderr) memcheck/tests/vgtest_ume (stderr) addrcheck/tests/leak-0 (stderr) addrcheck/tests/leak-cycle (stderr) addrcheck/tests/leak-regroot (stderr) addrcheck/tests/leak-tree (stderr) make: *** [regtest] Error 1 |
|
From: Tom H. <th...@cy...> - 2005-04-05 02:03:29
|
Nightly build on gill ( x86_64, Fedora Core 2 ) started at 2005-04-05 03:00:05 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 == 165 tests, 82 stderr failures, 22 stdout failures ================= memcheck/tests/addressable (stdout) memcheck/tests/addressable (stderr) memcheck/tests/badaddrvalue (stdout) memcheck/tests/badaddrvalue (stderr) memcheck/tests/badfree-2trace (stderr) memcheck/tests/badfree (stderr) memcheck/tests/badjump (stderr) memcheck/tests/badjump2 (stderr) memcheck/tests/badloop (stderr) memcheck/tests/badpoll (stderr) memcheck/tests/badrw (stderr) memcheck/tests/brk (stderr) memcheck/tests/brk2 (stderr) memcheck/tests/buflen_check (stderr) memcheck/tests/clientperm (stdout) memcheck/tests/clientperm (stderr) memcheck/tests/custom_alloc (stderr) memcheck/tests/describe-block (stderr) memcheck/tests/doublefree (stderr) memcheck/tests/error_counts (stdout) memcheck/tests/errs1 (stderr) memcheck/tests/execve (stderr) memcheck/tests/execve2 (stderr) memcheck/tests/exitprog (stderr) memcheck/tests/fprw (stderr) memcheck/tests/fwrite (stdout) memcheck/tests/fwrite (stderr) memcheck/tests/inits (stderr) memcheck/tests/inline (stdout) memcheck/tests/inline (stderr) memcheck/tests/leak-0 (stderr) memcheck/tests/leak-cycle (stderr) memcheck/tests/leak-regroot (stderr) memcheck/tests/leak-tree (stderr) memcheck/tests/leakotron (stdout) memcheck/tests/malloc1 (stderr) memcheck/tests/malloc2 (stderr) memcheck/tests/malloc3 (stdout) memcheck/tests/malloc3 (stderr) memcheck/tests/manuel1 (stdout) memcheck/tests/manuel1 (stderr) memcheck/tests/manuel2 (stdout) memcheck/tests/manuel2 (stderr) memcheck/tests/manuel3 (stderr) memcheck/tests/match-overrun (stderr) memcheck/tests/memalign_test (stderr) memcheck/tests/memcmptest (stdout) memcheck/tests/memcmptest (stderr) memcheck/tests/mempool (stderr) memcheck/tests/metadata (stdout) memcheck/tests/metadata (stderr) memcheck/tests/mismatches (stderr) memcheck/tests/nanoleak (stderr) memcheck/tests/new_override (stdout) memcheck/tests/new_override (stderr) memcheck/tests/overlap (stdout) memcheck/tests/overlap (stderr) memcheck/tests/pointer-trace (stderr) memcheck/tests/post-syscall (stdout) memcheck/tests/post-syscall (stderr) memcheck/tests/realloc3 (stderr) memcheck/tests/scalar (stderr) memcheck/tests/scalar_exit_group (stderr) memcheck/tests/scalar_fork (stderr) memcheck/tests/scalar_supp (stderr) memcheck/tests/scalar_vfork (stderr) memcheck/tests/sigaltstack (stderr) memcheck/tests/signal2 (stdout) memcheck/tests/signal2 (stderr) memcheck/tests/sigprocmask (stderr) memcheck/tests/supp2 (stderr) memcheck/tests/suppfree (stderr) memcheck/tests/threadederrno (stdout) memcheck/tests/toobig-allocs (stderr) memcheck/tests/trivialleak (stderr) memcheck/tests/vgtest_ume (stderr) memcheck/tests/weirdioctl (stdout) memcheck/tests/weirdioctl (stderr) memcheck/tests/writev (stderr) memcheck/tests/zeropage (stdout) addrcheck/tests/addressable (stdout) addrcheck/tests/addressable (stderr) addrcheck/tests/badrw (stderr) addrcheck/tests/fprw (stderr) addrcheck/tests/leak-0 (stderr) addrcheck/tests/leak-cycle (stderr) addrcheck/tests/leak-regroot (stderr) addrcheck/tests/leak-tree (stderr) addrcheck/tests/overlap (stdout) addrcheck/tests/overlap (stderr) addrcheck/tests/toobig-allocs (stderr) corecheck/tests/fdleak_cmsg (stderr) corecheck/tests/fdleak_creat (stderr) corecheck/tests/fdleak_dup (stderr) corecheck/tests/fdleak_dup2 (stderr) corecheck/tests/fdleak_fcntl (stderr) corecheck/tests/fdleak_ipv4 (stderr) corecheck/tests/fdleak_open (stderr) corecheck/tests/fdleak_pipe (stderr) corecheck/tests/fdleak_socketpair (stderr) massif/tests/toobig-allocs (stderr) none/tests/faultstatus (stderr) none/tests/selfrun (stdout) none/tests/selfrun (stderr) |
|
From: <sv...@va...> - 2005-04-05 01:55:05
|
Author: sewardj
Date: 2005-04-05 02:54:19 +0100 (Tue, 05 Apr 2005)
New Revision: 1119
Modified:
trunk/priv/guest-x86/toIR.c
Log:
Whenever the flags thunk is set, fill in all the fields, even NDEP
which isn't usually used. This makes redundant-PUT elimination work
better, fixing a rather subtle optimisation bug. For at least one
floating-point case this gives a significant speedup. Consider a bb
like this:
(no flag setting insns before inc)
inc ...
(no flag setting insns)
add ...
inc sets CC_OP, CC_DEP1 and CC_NDEP; the latter is expensive because a
call to calculate_eflags_c is required.
add sets CC_OP, CC_DEP1 and CC_DEP2. The CC_NDEP value is now
irrelevant, but because CC_NDEP is not overwritten, iropt cannot
remove the previous assignment to it, and so the expensive helper call
remains even though it is irrelevant.
This commit fixes that: By always setting NDEP to zero whenever its
value will be unused, any previous assignment to it will be removed by
iropt.
This change should be propagated to the amd64 front end too.
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-04-04 23:12:54 UTC (rev 1118)
+++ trunk/priv/guest-x86/toIR.c 2005-04-05 01:54:19 UTC (rev 1119)
@@ -1007,6 +1007,9 @@
stmt( IRStmt_Put( OFFB_CC_OP, mkU32(ccOp)) );
stmt( IRStmt_Put( OFFB_CC_DEP1, widenUto32(mkexpr(dep1))) );
stmt( IRStmt_Put( OFFB_CC_DEP2, widenUto32(mkexpr(dep2))) );
+ /* Set NDEP even though it isn't used. This makes redundant-PUT
+ elimination of previous stores to this field work better. */
+ stmt( IRStmt_Put( OFFB_CC_NDEP, mkU32(0) ));
}
=20
=20
@@ -1029,6 +1032,9 @@
stmt( IRStmt_Put( OFFB_CC_OP, mkU32(ccOp)) );
stmt( IRStmt_Put( OFFB_CC_DEP1, widenUto32(mkexpr(dep1))) );
stmt( IRStmt_Put( OFFB_CC_DEP2, mkU32(0)) );
+ /* Set NDEP even though it isn't used. This makes redundant-PUT
+ elimination of previous stores to this field work better. */
+ stmt( IRStmt_Put( OFFB_CC_NDEP, mkU32(0) ));
}
=20
=20
@@ -1070,6 +1076,9 @@
IRExpr_Mux0X( mkexpr(guard),
IRExpr_Get(OFFB_CC_DEP2,Ity_I32),
widenUto32(mkexpr(resUS)))) );
+ /* Set NDEP even though it isn't used. This makes redundant-PUT
+ elimination of previous stores to this field work better. */
+ stmt( IRStmt_Put( OFFB_CC_NDEP, mkU32(0) ));
}
=20
=20
@@ -1114,6 +1123,9 @@
}
stmt( IRStmt_Put( OFFB_CC_DEP1, widenUto32(mkexpr(arg1)) ));
stmt( IRStmt_Put( OFFB_CC_DEP2, widenUto32(mkexpr(arg2)) ));
+ /* Set NDEP even though it isn't used. This makes redundant-PUT
+ elimination of previous stores to this field work better. */
+ stmt( IRStmt_Put( OFFB_CC_NDEP, mkU32(0) ));
}
=20
=20
@@ -1792,6 +1804,9 @@
stmt( IRStmt_Put( OFFB_CC_OP, mkU32(X86G_CC_OP_COPY) ));
stmt( IRStmt_Put( OFFB_CC_DEP1, mkU32(X86G_CC_MASK_Z|X86G_CC_MASK_P) =
));
stmt( IRStmt_Put( OFFB_CC_DEP2, mkU32(0) ));
+ /* Set NDEP even though it isn't used. This makes redundant-PUT
+ elimination of previous stores to this field work better. */
+ stmt( IRStmt_Put( OFFB_CC_NDEP, mkU32(0) ));
DIP("xor%c %s, %s\n", nameISize(size),
nameIReg(size,ge_reg), nameIReg(size,ge_reg) );
}
@@ -2376,6 +2391,9 @@
stmt( IRStmt_Put( OFFB_CC_OP, mkU32(X86G_CC_OP_COPY) ));
stmt( IRStmt_Put( OFFB_CC_DEP1, unop(Iop_64HIto32, mkexpr(r64)) ))=
;
stmt( IRStmt_Put( OFFB_CC_DEP2, mkU32(0) ));
+ /* Set NDEP even though it isn't used. This makes redundant-PUT
+ elimination of previous stores to this field work better. */
+ stmt( IRStmt_Put( OFFB_CC_NDEP, mkU32(0) ));
}
=20
if (isShift) {
@@ -2607,6 +2625,9 @@
binop(Iop_Shr32, mkexpr(t2), mkU8(src_val)),
mkU32(1))
));
+ /* Set NDEP even though it isn't used. This makes redundant-PUT
+ elimination of previous stores to this field work better. */
+ stmt( IRStmt_Put( OFFB_CC_NDEP, mkU32(0) ));
=20
/* Compute the new value into t2m, if non-BT. */
switch (gregOfRM(modrm)) {
@@ -3574,6 +3595,9 @@
binop(Iop_CmpF64, get_ST(0), get_ST(i)),
mkU32(0x45)
)));
+ /* Set NDEP even though it isn't used. This makes redundant-PUT
+ elimination of previous stores to this field work better. */
+ stmt( IRStmt_Put( OFFB_CC_NDEP, mkU32(0) ));
if (pop_after)
fp_pop();
}
@@ -5882,6 +5906,9 @@
mkexpr(t_bitno2)),
mkU32(1)))
);
+ /* Set NDEP even though it isn't used. This makes redundant-PUT
+ elimination of previous stores to this field work better. */
+ stmt( IRStmt_Put( OFFB_CC_NDEP, mkU32(0) ));
=20
/* Move reg operand from stack back to reg */
if (epartIsReg(modrm)) {
@@ -5954,6 +5981,9 @@
mkU32(0)
)
));
+ /* Set NDEP even though it isn't used. This makes redundant-PUT
+ elimination of previous stores to this field work better. */
+ stmt( IRStmt_Put( OFFB_CC_NDEP, mkU32(0) ));
=20
/* Result: iff source value is zero, we can't use
Iop_Clz32/Iop_Ctz32 as they have no defined result in that case.
@@ -6042,6 +6072,9 @@
mkU32(mask_SZACP))
)
));
+ /* Set NDEP even though it isn't used. This makes redundant-PUT
+ elimination of previous stores to this field work better. */
+ stmt( IRStmt_Put( OFFB_CC_NDEP, mkU32(0) ));
}
=20
=20
@@ -7315,7 +7348,9 @@
unop(Iop_F32toF64,mkexpr(argR))),
mkU32(0x45)
)));
-
+ /* Set NDEP even though it isn't used. This makes redundant-PUT
+ elimination of previous stores to this field work better. */
+ stmt( IRStmt_Put( OFFB_CC_NDEP, mkU32(0) ));
goto decode_success;
}
=20
@@ -8324,7 +8359,9 @@
binop(Iop_CmpF64, mkexpr(argL), mkexpr(argR)),
mkU32(0x45)
)));
-
+ /* Set NDEP even though it isn't used. This makes redundant-PUT
+ elimination of previous stores to this field work better. */
+ stmt( IRStmt_Put( OFFB_CC_NDEP, mkU32(0) ));
goto decode_success;
}
=20
@@ -11033,6 +11070,9 @@
)
)
);
+ /* Set NDEP even though it isn't used. This makes redundant-PUT
+ elimination of previous stores to this field work better. */
+ stmt( IRStmt_Put( OFFB_CC_NDEP, mkU32(0) ));
=20
/* Also need to set the D flag, which is held in bit 10 of t1.
If zero, put 1 in OFFB_DFLAG, else -1 in OFFB_DFLAG. */
|