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
(9) |
2
(7) |
3
(15) |
4
(14) |
|
5
(12) |
6
(18) |
7
(16) |
8
(13) |
9
(14) |
10
(20) |
11
(26) |
|
12
(14) |
13
(25) |
14
(20) |
15
(15) |
16
(14) |
17
(13) |
18
(12) |
|
19
(8) |
20
(16) |
21
(15) |
22
(37) |
23
(15) |
24
(18) |
25
(12) |
|
26
(8) |
27
(13) |
28
(12) |
|
|
|
|
|
From: Julian S. <js...@ac...> - 2006-02-10 12:45:37
|
> I am able to compile with the simple gcc invocation that you've given > below. I did some experimentation with the gcc invocation generated by > make and it appears that it is the -gstabs that causes the problem. I got rid of -gstabs for ppc64-linux only (r5628). Can you see if that works for you? J |
|
From: Julian S. <js...@ac...> - 2006-02-10 12:44:18
|
Fixed (r5629). Sorry for the delay.
J
> If you think this analysis is correct, then my suggested fix for this is
> to add an additional entry in glibc-2.3.supp:
>
> --- glibc-2.3.supp 2006-01-13 23:40:48.423001440 -0800
> +++ /home/dcn/svn/valgrind/glibc-2.3.supp 2006-01-14
> 00:17:46.340939752 -0800
> @@ -529,12 +529,6 @@
> fun:_dl_sysdep_start
> }
>
> -{
> - index-not-intercepted-early-enough-HACK-4
> - Memcheck:Cond
> - fun:index
> - fun:expand_dynamic_string_token
> -}
|
|
From: <sv...@va...> - 2006-02-10 12:42:50
|
Author: sewardj
Date: 2006-02-10 12:42:46 +0000 (Fri, 10 Feb 2006)
New Revision: 5629
Log:
Another ppc related suppression (Dave Nomura).
Modified:
trunk/glibc-2.3.supp
Modified: trunk/glibc-2.3.supp
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=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/glibc-2.3.supp 2006-02-10 12:42:11 UTC (rev 5628)
+++ trunk/glibc-2.3.supp 2006-02-10 12:42:46 UTC (rev 5629)
@@ -529,6 +529,14 @@
fun:_dl_sysdep_start
}
=20
+{
+ index-not-intercepted-early-enough-HACK-4
+ Memcheck:Cond
+ fun:index
+ fun:expand_dynamic_string_token
+}
+
+
##----------------------------------------------------------------------=
##
## MontaVista 3.1 on ppc32 integer only
{
|
|
From: <sv...@va...> - 2006-02-10 12:42:16
|
Author: sewardj Date: 2006-02-10 12:42:11 +0000 (Fri, 10 Feb 2006) New Revision: 5628 Log: Don't use -gstabs on ppc64-linux, as it doesn't work with some gccs (Dave= Nomura). Modified: trunk/helgrind/tests/Makefile.am Modified: trunk/helgrind/tests/Makefile.am =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D --- trunk/helgrind/tests/Makefile.am 2006-02-10 11:57:17 UTC (rev 5627) +++ trunk/helgrind/tests/Makefile.am 2006-02-10 12:42:11 UTC (rev 5628) @@ -17,5 +17,12 @@ allok deadlock inherit race race2 readshared =20 # force -gstabs, because we don't print symaddr for DWARF yet +# Sigh, gcc-3.4.3 on ppc64 generates bogus .stabs. So disable it +# for now on ppc64-linux. +if VG_PPC64_LINUX +AM_CFLAGS =3D $(WERROR) -Winline -Wall -Wshadow -g $(AM_FLAG_M3264_= PRI) +else AM_CFLAGS =3D $(WERROR) -Winline -Wall -Wshadow -gstabs $(AM_FLAG_M3264_= PRI) +endif + LDADD =3D -lpthread |
|
From: <sv...@va...> - 2006-02-10 11:57:24
|
Author: sewardj
Date: 2006-02-10 11:57:17 +0000 (Fri, 10 Feb 2006)
New Revision: 5627
Log:
Fix minor anomaly pointed out by icc9.
Modified:
trunk/memcheck/mac_shared.c
Modified: trunk/memcheck/mac_shared.c
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D
--- trunk/memcheck/mac_shared.c 2006-02-10 03:33:10 UTC (rev 5626)
+++ trunk/memcheck/mac_shared.c 2006-02-10 11:57:17 UTC (rev 5627)
@@ -745,7 +745,6 @@
=20
Char* MAC_(get_error_name) ( Error* err )
{
- Char* s;
switch (VG_(get_error_kind)(err)) {
case ParamErr: return "Param";
case UserErr: return NULL; /* Can't suppress User errors =
*/
@@ -777,7 +776,8 @@
case LeakErr: return "Leak";
default: VG_(tool_panic)("get_error_name: unexpected =
type");
}
- VG_(printf)(s);
+ /*NOTREACHED*/
+ return "??get_error_name??";
}
=20
void MAC_(print_extra_suppression_info) ( Error* err )
|
|
From: Julian S. <js...@ac...> - 2006-02-10 11:52:09
|
On Friday 10 February 2006 03:23, Nicholas Nethercote wrote: > On Thu, 9 Feb 2006, Robert Walsh wrote: > > Well, that leaves me in a bit of a pickle, then. Since Helgrind is > > probably bitrotted by now, I'd say I should just check it in and we can > > fix it if it breaks anything later. That sound OK? > > Ok by me. Me too (retrospectively). It's good to be rid of those warnings. Thanks for doing that. J |
|
From: <js...@ac...> - 2006-02-10 11:38:52
|
Nightly build on minnie ( SuSE 10.0, ppc32 ) started at 2006-02-10 05:00:01 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 == 192 tests, 11 stderr failures, 5 stdout failures ================= memcheck/tests/leak-cycle (stderr) memcheck/tests/leak-tree (stderr) memcheck/tests/leakotron (stdout) memcheck/tests/mempool (stderr) memcheck/tests/pointer-trace (stderr) memcheck/tests/sigaltstack (stderr) memcheck/tests/stack_changes (stdout) memcheck/tests/stack_changes (stderr) memcheck/tests/xml1 (stderr) none/tests/faultstatus (stderr) none/tests/mremap (stderr) none/tests/ppc32/jm-fp (stdout) none/tests/ppc32/jm-fp (stderr) none/tests/ppc32/test_fx (stdout) none/tests/ppc32/test_fx (stderr) none/tests/ppc32/test_gx (stdout) |
|
From: Geoff S. <gs...@us...> - 2006-02-10 08:25:15
|
We would like to propose a new tool for valgrind to generate instruction
traces. Perhaps the most direct way to explain this would be to offer the
new chapter for the valgrind users manual.
We have used this with success internally. Would this feature be of
general interest to the community?
-------------------------------------------------------------------------------------------
10. Itrace: an instruction tracer
To use this tool, specify --tool=itrace on the Valgrind command line.
10.1 Tracing
Itrace is a simple tool to output a trace of the instructions executed by
the processor. The resulting output is simple enough to perform ad hoc
analysis with scripts, or it can be used by subsequent,
architecture-specific tools to look for problematic code sequences, to
find misaligned memory access, for calculating cycle counts (often complex
as processors develop deeper and more sophisticated pipelines), to
determine structural coverage on an object-code basis, or for analyzing
suboptimal sequences and mis-optimizations in executing instruction
streams.
In addition to recording instructions executed, itrace also records memory
accesses associated with each instruction.
10.2 Command-line options specific to itrace
--trace-function=foo
When specified, indicates that only instructions in the indicated function
are traced. With this option, you can examine a specific function;
without it, you get the trace for the entire execution which will consist
of tens of thousands of lines of output at the minimum.
10.3 Output Format
The output of itrace is an ASCII-formatted trace of the instructions
executed. The format is very simple to facilitate post-processing. The
first character of each line or record indicates what kind of data is
included in the line.
Example ("..." indicates skipped records)
==14778== valgrind-itrace, Instruction and memory tracer.
==14778== Copyright (C) 2005, and GNU GPL'd.
==14778== Using LibVEX rev 1471, a library for dynamic binary translation.
==14778== Copyright (C) 2004-2005, and GNU GPL'd, by OpenWorks LLP.
==14778== Using valgrind-3.1.0, a dynamic binary instrumentation
framework.
==14778== Copyright (C) 2000-2005, and GNU GPL'd, by Julian Seward et al.
==14778== For more details, rerun with: -v
==14778==
H valgrind-itrace
J 00244C67 55 ; dl_start
...
J 08048394 55 ; main
W BE8619A8 BE861A08
I 89E5
I 83EC08
I 83E4F0
I B800000000
I 83C00F
I 83C00F
I C1E804
I C1E004
I 29C4
I E8C7FFFFFF
W BE86198C 080483B5
G
J 0804837C 55 ; print
W BE861988 BE8619A8
I 89E5
...
Record definitions
H whatever ...
Indicates the start of the trace, possibly with additional data in no
specific format.
J aaaa xxxx [; symbol]
Instruction-with-address record. aaaa is the address of the instruction,
xxxx is a byte dump of the instruction itself. All values are in hex.
Optionally, a symbol name associated with the address may be provided.
Note that "J" does not imply that a branch occurred, it merely indicates
that the record includes the address of the instruction executed.
I xxxx
Instruction record for an instruction that immediately follows the
previous instruction. The address can be determined from the length of
the preceding instruction.
G
Indicates a gap in the trace. This will happen, for instance, when
valgrind simulates a system call via an int 80 (on x86) or sc (on ppc)
instruction, or when a branch occurs to code not being traced.
R aaaaaaaa rrrr
W aaaaaaaa wwwwwwww
Indicates that the previous instruction caused a read of the bytes rrrr at
the address, or a write of bytes wwww. The length of the read or write is
indicated by the number of bytes shown. R and W records occur in order;
for example, an increment-memory instruction will show the read followed
by the write.
|
|
From: <js...@ac...> - 2006-02-10 03:59:29
|
Nightly build on phoenix ( SuSE 10.0 ) started at 2006-02-10 03:30:01 GMT Checking out vex source tree ... done Building vex ... done Checking out valgrind source tree ... done Configuring valgrind ... done Building valgrind ... done Running regression tests ... failed Regression test results follow == 223 tests, 7 stderr failures, 0 stdout 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/x86/faultstatus (stderr) none/tests/x86/int (stderr) |
|
From: <js...@ac...> - 2006-02-10 03:57:11
|
Nightly build on g5 ( YDL 4.0, ppc970 ) started at 2006-02-10 04:40:00 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 == 197 tests, 6 stderr failures, 1 stdout failure ================= memcheck/tests/leak-cycle (stderr) memcheck/tests/leak-tree (stderr) memcheck/tests/leakotron (stdout) memcheck/tests/pointer-trace (stderr) none/tests/faultstatus (stderr) none/tests/fdleak_fcntl (stderr) none/tests/mremap (stderr) |
|
From: Tom H. <to...@co...> - 2006-02-10 03:44:24
|
Nightly build on dunsmere ( athlon, Fedora Core 4 ) started at 2006-02-10 03:30:06 GMT Results unchanged from 24 hours ago Checking out valgrind source tree ... done Configuring valgrind ... done Building valgrind ... done Running regression tests ... failed Regression test results follow == 225 tests, 18 stderr failures, 1 stdout failure ================= memcheck/tests/leak-tree (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) memcheck/tests/x86/sse1_memory (stdout) none/tests/fdleak_cmsg (stderr) none/tests/fdleak_creat (stderr) none/tests/fdleak_dup (stderr) none/tests/fdleak_dup2 (stderr) none/tests/fdleak_fcntl (stderr) none/tests/fdleak_ipv4 (stderr) none/tests/fdleak_open (stderr) none/tests/fdleak_pipe (stderr) none/tests/fdleak_socketpair (stderr) none/tests/rlimit_nofile (stderr) none/tests/x86/faultstatus (stderr) none/tests/x86/int (stderr) |
|
From: <sv...@va...> - 2006-02-10 03:33:19
|
Author: rjwalsh
Date: 2006-02-10 03:33:10 +0000 (Fri, 10 Feb 2006)
New Revision: 5626
Log:
Denestification.
Modified:
trunk/coregrind/m_debuginfo/symtypes.c
Modified: trunk/coregrind/m_debuginfo/symtypes.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_debuginfo/symtypes.c 2006-02-09 23:35:11 UTC (rev 5=
625)
+++ trunk/coregrind/m_debuginfo/symtypes.c 2006-02-10 03:33:10 UTC (rev 5=
626)
@@ -703,10 +703,98 @@
#define MAX_ELEMENTS 5000 /* max number of array elements we scan */
#define MAX_VARS 10000 /* max number of variables total traversed */
=20
+static const Bool memaccount =3D False; /* match creates to frees */
+static const Bool debug =3D False;
+
+/* Add a new variable to the list */
+static Bool newvar(Char *name, SymType *ty, Addr valuep, UInt size,
+ Variable *var, Int *numvars, Int *created,
+ Variable **newlist, Variable **newlistend) {
+ Variable *v;
+
+ /* have we been here before? */
+ if (has_visited(valuep, ty))
+ return False;
+ =20
+ /* are we too deep? */
+ if (var->distance > MAX_PLY)
+ return False;
+
+ /* have we done too much? */
+ if ((*numvars)-- =3D=3D 0)
+ return False;
+
+ if (memaccount)
+ (*created)++;
+ =20
+ v =3D VG_(arena_malloc)(VG_AR_SYMTAB, sizeof(*v));
+
+ if (name)
+ v->name =3D VG_(arena_strdup)(VG_AR_SYMTAB, name);
+ else
+ v->name =3D NULL;
+ v->type =3D ML_(st_basetype)(ty, False);
+ v->valuep =3D valuep;
+ v->size =3D size =3D=3D -1 ? ty->size : size;
+ v->container =3D var;
+ v->distance =3D var->distance + 1;
+ v->next =3D NULL;
+
+ if (*newlist =3D=3D NULL)
+ *newlist =3D *newlistend =3D v;
+ else {
+ (*newlistend)->next =3D v;
+ *newlistend =3D v;
+ }
+ =20
+ if (debug)
+ VG_(printf)(" --> %d: name=3D%s type=3D%p(%s %s) container=3D%p=
&val=3D%p\n",=20
+ v->distance, v->name, v->type, ppkind(v->type->kind),=20
+ v->type->name ? (char *)v->type->name : "",
+ v->container, v->valuep);
+ return True;
+}
+
+static void genstring(Variable *v, Variable *inner, Int *len, Char **ep,
+ Char **sp) {
+ Variable *c =3D v->container;
+
+ if (c !=3D NULL)
+ genstring(c, v, len, ep, sp);
+
+ if (v->name !=3D NULL) {
+ *len =3D VG_(strlen)(v->name);
+ VG_(memcpy)(*ep, v->name, *len);
+ (*ep) +=3D *len;
+ }
+
+ switch(v->type->kind) {
+ case TyPointer:
+ /* pointer-to-structure/union handled specially */
+ if (inner =3D=3D NULL ||
+ !(inner->type->kind =3D=3D TyStruct || inner->type->kind =3D=3D=
TyUnion)) {
+ *--(*sp) =3D '*';
+ *--(*sp) =3D '(';
+ *(*ep)++ =3D ')';
+ }
+ break;
+
+ case TyStruct:
+ case TyUnion:
+ if (c && c->type->kind =3D=3D TyPointer) {
+ *(*ep)++ =3D '-';
+ *(*ep)++ =3D '>';
+ } else
+ *(*ep)++ =3D '.';
+ break;
+
+ default:
+ break;
+ }
+}
+
Char *VG_(describe_addr)(ThreadId tid, Addr addr)
{
- static const Bool debug =3D False;
- static const Bool memaccount =3D False; /* match creates to frees */
Addr eip; /* thread's EIP */
Variable *list; /* worklist */
Variable *keeplist; /* container variables */
@@ -759,57 +847,6 @@
SymType *type =3D var->type;
Bool keep =3D False;
=20
- /* Add a new variable to the list */
- // (the declaration avoids a compiler warning)
- //static void newvar(Char *name, SymType *ty, Addr valuep, UInt size);
- void newvar(Char *name, SymType *ty, Addr valuep, UInt size) {
- Variable *v;
-
- /* have we been here before? */
- if (has_visited(valuep, ty))
- return;
- =20
- /* are we too deep? */
- if (var->distance > MAX_PLY)
- return;
-
- /* have we done too much? */
- if (numvars-- =3D=3D 0)
- return;
-
- if (memaccount)
- created++;
- =20
- v =3D VG_(arena_malloc)(VG_AR_SYMTAB, sizeof(*v));
-
- if (name)
- v->name =3D VG_(arena_strdup)(VG_AR_SYMTAB, name);
- else
- v->name =3D NULL;
- v->type =3D ML_(st_basetype)(ty, False);
- v->valuep =3D valuep;
- v->size =3D size =3D=3D -1 ? ty->size : size;
- v->container =3D var;
- v->distance =3D var->distance + 1;
- v->next =3D NULL;
-
- if (newlist =3D=3D NULL)
- newlist =3D newlistend =3D v;
- else {
- newlistend->next =3D v;
- newlistend =3D v;
- }
- =20
- if (debug)
- VG_(printf)(" --> %d: name=3D%s type=3D%p(%s %s) container=3D=
%p &val=3D%p\n",=20
- v->distance, v->name,=20
- v->type, ppkind(v->type->kind),=20
- v->type->name ? (char *)v->type->name : "",
- v->container, v->valuep);
- keep =3D True;
- return;
- }
-
next =3D var->next;
=20
if (debug)
@@ -847,7 +884,10 @@
VG_(printf)(" %d fields\n", type->u.t_struct.nfield);
for(i =3D 0; i < type->u.t_struct.nfield; i++) {
StField *f =3D &type->u.t_struct.fields[i];
- newvar(f->name, f->type, var->valuep + (f->offset / 8), (f->size=
+ 7) / 8);
+ if(newvar(f->name, f->type, var->valuep + (f->offset / 8),
+ (f->size + 7) / 8, var, &numvars, &created, &ne=
wlist,
+ &newlistend))
+ keep =3D True;
}
break;
}
@@ -901,7 +941,9 @@
for(i =3D min; i <=3D max; i++) {
Char b[10];
VG_(sprintf)(b, "[%d]", i+offset);
- newvar(b, ty, var->valuep + (i * ty->size), -1);
+ if(newvar(b, ty, var->valuep + (i * ty->size), -1, var,
+ &numvars, &created, &newlist, &newlistend))
+ keep =3D True;
}
=20
break;
@@ -912,7 +954,9 @@
/* XXX work out a way of telling whether a pointer is
actually a decayed array, and treat it accordingly */
if (is_valid_addr(var->valuep))
- newvar(NULL, type->u.t_pointer.type, *(Addr *)var->valuep, -1);
+ if(newvar(NULL, type->u.t_pointer.type, *(Addr *)var->valuep,
+ -1, var, &numvars, &created, &newlist, &newlist=
end))
+ keep =3D True;
break;
=20
case TyUnresolved:
@@ -982,67 +1026,26 @@
Char expr[len*2];
Char *sp =3D &expr[len]; /* pointer at start of string */
Char *ep =3D sp; /* pointer at end of string */
- // static void genstring(Variable *v, Variable *inner); // avoid war=
ning
- void genstring(Variable *v, Variable *inner) {
- Variable *c =3D v->container;
+ Bool ptr =3D True;
=20
- if (c !=3D NULL)
- genstring(c, v);
+ /* If the result is already a pointer, just use that as the
+ value, otherwise generate &(...) around the expression. */
+ if (found->container && found->container->type->kind =3D=3D TyP=
ointer) {
+ vg_assert(found->name =3D=3D NULL);
=20
- if (v->name !=3D NULL) {
- len =3D VG_(strlen)(v->name);
- VG_(memcpy)(ep, v->name, len);
- ep +=3D len;
- }
-
- switch(v->type->kind) {
- case TyPointer:
- /* pointer-to-structure/union handled specially */
- if (inner =3D=3D NULL ||
- !(inner->type->kind =3D=3D TyStruct || inner->type->kind =3D=3D TyU=
nion)) {
- *--sp =3D '*';
- *--sp =3D '(';
- *ep++ =3D ')';
- }
- break;
-
- case TyStruct:
- case TyUnion:
- if (c && c->type->kind =3D=3D TyPointer) {
- *ep++ =3D '-';
- *ep++ =3D '>';
- } else
- *ep++ =3D '.';
- break;
-
- default:
- break;
- }
+ found->name =3D found->container->name;
+ found->container->name =3D NULL;
+ found->container =3D found->container->container;
+ } else {
+ bprintf(describe_addr_addbuf, 0, "&(");
+ ptr =3D False;
}
=20
- {
- Bool ptr =3D True;
+ genstring(found, NULL, &len, &ep, &sp);
=20
- /* If the result is already a pointer, just use that as
- the value, otherwise generate &(...) around the
- expression. */
- if (found->container && found->container->type->kind =3D=3D TyPoint=
er) {
- vg_assert(found->name =3D=3D NULL);
+ if (!ptr)
+ *ep++ =3D ')';
=20
- found->name =3D found->container->name;
- found->container->name =3D NULL;
- found->container =3D found->container->container;
- } else {
- bprintf(describe_addr_addbuf, 0, "&(");
- ptr =3D False;
- }
-
- genstring(found, NULL);
-
- if (!ptr)
- *ep++ =3D ')';
- }
-
*ep++ =3D '\0';
=20
bprintf(describe_addr_addbuf, 0, sp);
|
|
From: Tom H. <th...@cy...> - 2006-02-10 03:30:25
|
Nightly build on alvis ( i686, Red Hat 7.3 ) started at 2006-02-10 03:15:06 GMT Results unchanged from 24 hours ago Checking out valgrind source tree ... done Configuring valgrind ... done Building valgrind ... done Running regression tests ... failed Regression test results follow == 224 tests, 21 stderr failures, 1 stdout failure ================= memcheck/tests/addressable (stderr) memcheck/tests/badjump (stderr) memcheck/tests/describe-block (stderr) memcheck/tests/erringfds (stderr) memcheck/tests/leak-0 (stderr) memcheck/tests/leak-cycle (stderr) memcheck/tests/leak-regroot (stderr) memcheck/tests/leak-tree (stderr) memcheck/tests/match-overrun (stderr) memcheck/tests/mempool (stderr) memcheck/tests/partial_load_dflt (stderr) memcheck/tests/partial_load_ok (stderr) memcheck/tests/partiallydefinedeq (stderr) memcheck/tests/pointer-trace (stderr) memcheck/tests/sigkill (stderr) memcheck/tests/stack_changes (stderr) memcheck/tests/x86/scalar (stderr) memcheck/tests/x86/scalar_supp (stderr) memcheck/tests/x86/sse1_memory (stdout) memcheck/tests/xml1 (stderr) none/tests/x86/faultstatus (stderr) none/tests/x86/int (stderr) |
|
From: Tom H. <th...@cy...> - 2006-02-10 03:24:43
|
Nightly build on dellow ( x86_64, Fedora Core 4 ) started at 2006-02-10 03:10:04 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 == 245 tests, 6 stderr failures, 1 stdout failure ================= memcheck/tests/pointer-trace (stderr) memcheck/tests/x86/scalar (stderr) memcheck/tests/x86/scalar_supp (stderr) memcheck/tests/x86/sse1_memory (stdout) none/tests/amd64/faultstatus (stderr) none/tests/x86/faultstatus (stderr) none/tests/x86/int (stderr) |
|
From: Nicholas N. <nj...@cs...> - 2006-02-10 03:24:11
|
On Thu, 9 Feb 2006, Robert Walsh wrote: > Well, that leaves me in a bit of a pickle, then. Since Helgrind is > probably bitrotted by now, I'd say I should just check it in and we can > fix it if it breaks anything later. That sound OK? Ok by me. |
|
From: Tom H. <th...@cy...> - 2006-02-10 03:20:44
|
Nightly build on aston ( x86_64, Fedora Core 3 ) started at 2006-02-10 03:05:12 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 == 245 tests, 6 stderr failures, 1 stdout failure ================= memcheck/tests/stack_switch (stderr) memcheck/tests/x86/scalar (stderr) memcheck/tests/x86/scalar_supp (stderr) memcheck/tests/x86/sse1_memory (stdout) none/tests/amd64/faultstatus (stderr) none/tests/x86/faultstatus (stderr) none/tests/x86/int (stderr) |
|
From: Robert W. <rj...@du...> - 2006-02-10 03:17:45
|
On Fri, 2006-02-10 at 14:15 +1100, Nicholas Nethercote wrote: > On Thu, 9 Feb 2006, Robert Walsh wrote: >=20 > >> It looks ok to me. My only reservation is - have you been able to > >> run tests to verify that said functionality still works post change? > > > > Well, all the current test suite still runs with no changes. Now > > whether that means the functionality is still being tested, I honestly > > can't say. >=20 > It's not -- that code is for the stabs symbol stuff that is only used by=20 > Helgrind. Well, that leaves me in a bit of a pickle, then. Since Helgrind is probably bitrotted by now, I'd say I should just check it in and we can fix it if it breaks anything later. That sound OK? --=20 Robert Walsh Amalgamated Durables, Inc. - "We don't make the things you buy." Email: rj...@du... |
|
From: Tom H. <th...@cy...> - 2006-02-10 03:14:56
|
Nightly build on gill ( x86_64, Fedora Core 2 ) started at 2006-02-10 03:00:04 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 == 245 tests, 7 stderr failures, 1 stdout failure ================= memcheck/tests/stack_switch (stderr) memcheck/tests/x86/scalar (stderr) memcheck/tests/x86/scalar_supp (stderr) memcheck/tests/x86/sse1_memory (stdout) none/tests/amd64/faultstatus (stderr) none/tests/fdleak_fcntl (stderr) none/tests/x86/faultstatus (stderr) none/tests/x86/int (stderr) |
|
From: Robert W. <rj...@du...> - 2006-02-10 02:02:59
|
On Fri, 2006-02-10 at 00:27 +0000, Julian Seward wrote: > Robert, > > Apologies for delayed reply. > > > Before I left for my conference, I did a hack fix that moved both nested > > functions out and passed in pointers to any variables they modified. It > > compiled and no extra tests failed, but as I said, it was hacky. Patch is > > attached. If you're all OK with it, I'll commit it. > > It looks ok to me. My only reservation is - have you been able to > run tests to verify that said functionality still works post change? Well, all the current test suite still runs with no changes. Now whether that means the functionality is still being tested, I honestly can't say. |
|
From: Julian S. <js...@ac...> - 2006-02-10 00:27:46
|
Robert, Apologies for delayed reply. > Before I left for my conference, I did a hack fix that moved both nested > functions out and passed in pointers to any variables they modified. It > compiled and no extra tests failed, but as I said, it was hacky. Patch is > attached. If you're all OK with it, I'll commit it. It looks ok to me. My only reservation is - have you been able to run tests to verify that said functionality still works post change? J |