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
(8) |
2
(8) |
3
(15) |
4
(14) |
5
(12) |
6
(40) |
7
(9) |
|
8
(5) |
9
(12) |
10
(9) |
11
(13) |
12
(7) |
13
(7) |
14
(19) |
|
15
(18) |
16
(13) |
17
(16) |
18
(8) |
19
(16) |
20
(16) |
21
(12) |
|
22
(21) |
23
(39) |
24
(27) |
25
(33) |
26
(41) |
27
(17) |
28
(15) |
|
From: <sv...@va...> - 2009-02-24 23:59:59
|
Author: njn
Date: 2009-02-24 23:59:52 +0000 (Tue, 24 Feb 2009)
New Revision: 9254
Log:
Merged 9251 (remove unused params from Callgrind) from the trunk.
Modified:
branches/DARWIN/callgrind/bbcc.c
branches/DARWIN/callgrind/callstack.c
branches/DARWIN/callgrind/debug.c
branches/DARWIN/callgrind/dump.c
branches/DARWIN/callgrind/global.h
branches/DARWIN/callgrind/main.c
branches/DARWIN/callgrind/sim.c
branches/DARWIN/callgrind/threads.c
Modified: branches/DARWIN/callgrind/bbcc.c
===================================================================
--- branches/DARWIN/callgrind/bbcc.c 2009-02-24 16:31:25 UTC (rev 9253)
+++ branches/DARWIN/callgrind/bbcc.c 2009-02-24 23:59:52 UTC (rev 9254)
@@ -183,7 +183,7 @@
bbcc, bbcc ? bbcc->tid : 0);
CLG_DEBUGIF(2)
- if (bbcc) CLG_(print_bbcc)(-2,bbcc,False);
+ if (bbcc) CLG_(print_bbcc)(-2,bbcc);
return bbcc;
}
@@ -411,7 +411,7 @@
CLG_DEBUGIF(3)
- CLG_(print_bbcc)(-2, new, False);
+ CLG_(print_bbcc)(-2, new);
CLG_DEBUG(2,"- clone_BBCC(%p, %d) for BB %#lx\n"
" orig %s\n"
@@ -453,7 +453,7 @@
bb->last_bbcc = bbcc;
CLG_DEBUGIF(3)
- CLG_(print_bbcc)(-2, bbcc, False);
+ CLG_(print_bbcc)(-2, bbcc);
}
CLG_DEBUG(3, "- get_bbcc(BB %#lx): BBCC %p\n",
Modified: branches/DARWIN/callgrind/callstack.c
===================================================================
--- branches/DARWIN/callgrind/callstack.c 2009-02-24 16:31:25 UTC (rev 9253)
+++ branches/DARWIN/callgrind/callstack.c 2009-02-24 23:59:52 UTC (rev 9254)
@@ -114,7 +114,7 @@
/* Called when function entered nonrecursive */
-static void function_entered(fn_node* fn, BBCC* to)
+static void function_entered(fn_node* fn)
{
CLG_ASSERT(fn != 0);
@@ -147,7 +147,7 @@
}
/* Called when function left (no recursive level active) */
-static void function_left(fn_node* fn, BBCC* from)
+static void function_left(fn_node* fn)
{
CLG_ASSERT(fn != 0);
@@ -230,7 +230,7 @@
jcc->call_counter++;
CLG_(stat).call_counter++;
- if (*pdepth == 1) function_entered(to_fn, to);
+ if (*pdepth == 1) function_entered(to_fn);
}
/* return address is only is useful with a real call;
@@ -354,7 +354,7 @@
CLG_(current_fn_stack).bottom + lower_entry->fn_sp;
CLG_ASSERT(CLG_(current_state).cxt != 0);
- if (depth == 0) function_left(to_fn, jcc->from);
+ if (depth == 0) function_left(to_fn);
}
/* To allow for an assertion in push_call_stack() */
Modified: branches/DARWIN/callgrind/debug.c
===================================================================
--- branches/DARWIN/callgrind/debug.c 2009-02-24 16:31:25 UTC (rev 9253)
+++ branches/DARWIN/callgrind/debug.c 2009-02-24 23:59:52 UTC (rev 9254)
@@ -112,7 +112,7 @@
}
-void CLG_(print_bbcc)(int s, BBCC* bbcc, Bool jumpaddr)
+void CLG_(print_bbcc)(int s, BBCC* bbcc)
{
BB* bb;
@@ -129,16 +129,9 @@
bb = bbcc->bb;
CLG_ASSERT(bb!=0);
-#if 0
- if (jumpaddr)
- VG_(printf)("%s +%p=%p, ",
+ VG_(printf)("%s +%#lx=%#lx, ",
bb->obj->name + bb->obj->last_slash_pos,
- bb->jmp_offset, bb_jmpaddr(bb));
- else
-#endif
- VG_(printf)("%s +%#lx=%#lx, ",
- bb->obj->name + bb->obj->last_slash_pos,
- bb->offset, bb_addr(bb));
+ bb->offset, bb_addr(bb));
CLG_(print_cxt)(s+8, bbcc->cxt, bbcc->rec_index);
}
@@ -243,10 +236,10 @@
return;
}
VG_(printf)("JCC %p from ", jcc);
- CLG_(print_bbcc)(s+9, jcc->from, True);
+ CLG_(print_bbcc)(s+9, jcc->from);
print_indent(s+4);
VG_(printf)("to ");
- CLG_(print_bbcc)(s+9, jcc->to, False);
+ CLG_(print_bbcc)(s+9, jcc->to);
print_indent(s+4);
VG_(printf)("Calls %llu\n", jcc->call_counter);
print_indent(s+4);
@@ -334,7 +327,7 @@
bb = bbcc->bb;
CLG_ASSERT(bb!=0);
- CLG_(print_bbcc)(s, bbcc, False);
+ CLG_(print_bbcc)(s, bbcc);
ecounter = bbcc->ecounter_sum;
@@ -440,7 +433,7 @@
void CLG_(print_bbno)(void) {}
void CLG_(print_context)(void) {}
void CLG_(print_jcc)(int s, jCC* jcc) {}
-void CLG_(print_bbcc)(int s, BBCC* bbcc, Bool b) {}
+void CLG_(print_bbcc)(int s, BBCC* bbcc) {}
void CLG_(print_bbcc_fn)(BBCC* bbcc) {}
void CLG_(print_cost)(int s, EventSet* es, ULong* cost) {}
void CLG_(print_bb)(int s, BB* bb) {}
Modified: branches/DARWIN/callgrind/dump.c
===================================================================
--- branches/DARWIN/callgrind/dump.c 2009-02-24 16:31:25 UTC (rev 9253)
+++ branches/DARWIN/callgrind/dump.c 2009-02-24 23:59:52 UTC (rev 9254)
@@ -787,7 +787,7 @@
CLG_ASSERT(bbcc->cxt != 0);
CLG_DEBUGIF(1) {
VG_(printf)("+ fprint_bbcc (Instr %d): ", bb->instr_count);
- CLG_(print_bbcc)(15, bbcc, False);
+ CLG_(print_bbcc)(15, bbcc);
}
CLG_ASSERT(currSum == 0 || currSum == 1);
@@ -1473,7 +1473,7 @@
}
-static void close_dumpfile(Char buf[BUF_LEN], int fd, int tid)
+static void close_dumpfile(int fd)
{
if (fd <0) return;
@@ -1575,7 +1575,7 @@
p++;
}
- close_dumpfile(print_buf, print_fd, CLG_(current_tid));
+ close_dumpfile(print_fd);
if (array) VG_(free)(array);
/* set counters of last dump */
Modified: branches/DARWIN/callgrind/global.h
===================================================================
--- branches/DARWIN/callgrind/global.h 2009-02-24 16:31:25 UTC (rev 9253)
+++ branches/DARWIN/callgrind/global.h 2009-02-24 23:59:52 UTC (rev 9254)
@@ -855,7 +855,7 @@
void CLG_(print_bbno)(void);
void CLG_(print_context)(void);
void CLG_(print_jcc)(int s, jCC* jcc);
-void CLG_(print_bbcc)(int s, BBCC* bbcc, Bool);
+void CLG_(print_bbcc)(int s, BBCC* bbcc);
void CLG_(print_bbcc_fn)(BBCC* bbcc);
void CLG_(print_execstate)(int s, exec_state* es);
void CLG_(print_eventset)(int s, EventSet* es);
Modified: branches/DARWIN/callgrind/main.c
===================================================================
--- branches/DARWIN/callgrind/main.c 2009-02-24 16:31:25 UTC (rev 9253)
+++ branches/DARWIN/callgrind/main.c 2009-02-24 23:59:52 UTC (rev 9254)
@@ -389,10 +389,10 @@
}
static
-void collectStatementInfo(IRTypeEnv* tyenv, IRSB* bbOut, IRStmt* st,
+void collectStatementInfo(IRTypeEnv* tyenv, IRStmt* st,
Addr* instrAddr, UInt* instrLen,
IRExpr** loadAddrExpr, IRExpr** storeAddrExpr,
- UInt* dataSize, IRType hWordTy)
+ UInt* dataSize)
{
CLG_ASSERT(isFlatIRStmt(st));
@@ -602,8 +602,8 @@
i++;
stnext = ( i < bbIn->stmts_used ? bbIn->stmts[i] : NULL );
beforeIBoundary = !stnext || (Ist_IMark == stnext->tag);
- collectStatementInfo(bbIn->tyenv, bbOut, st, &instrAddr, &instrLen,
- &loadAddrExpr, &storeAddrExpr, &dataSize, hWordTy);
+ collectStatementInfo(bbIn->tyenv, st, &instrAddr, &instrLen,
+ &loadAddrExpr, &storeAddrExpr, &dataSize);
// instrument a simulator call before conditional jumps
if (st->tag == Ist_Exit) {
Modified: branches/DARWIN/callgrind/sim.c
===================================================================
--- branches/DARWIN/callgrind/sim.c 2009-02-24 16:31:25 UTC (rev 9253)
+++ branches/DARWIN/callgrind/sim.c 2009-02-24 23:59:52 UTC (rev 9254)
@@ -491,7 +491,7 @@
* One stream can be detected per 4k page.
*/
static __inline__
-void prefetch_L2_doref(Addr a, UChar size)
+void prefetch_L2_doref(Addr a)
{
UInt stream = (a >> PF_PAGEBITS) % PF_STREAMS;
UInt block = ( a >> L2.line_size_bits);
@@ -531,7 +531,7 @@
CacheModelResult prefetch_I1_ref(Addr a, UChar size)
{
if ( cachesim_ref( &I1, a, size) == Hit ) return L1_Hit;
- prefetch_L2_doref(a,size);
+ prefetch_L2_doref(a);
if ( cachesim_ref( &L2, a, size) == Hit ) return L2_Hit;
return MemAccess;
}
@@ -540,7 +540,7 @@
CacheModelResult prefetch_D1_ref(Addr a, UChar size)
{
if ( cachesim_ref( &D1, a, size) == Hit ) return L1_Hit;
- prefetch_L2_doref(a,size);
+ prefetch_L2_doref(a);
if ( cachesim_ref( &L2, a, size) == Hit ) return L2_Hit;
return MemAccess;
}
@@ -552,7 +552,7 @@
CacheModelResult prefetch_I1_Read(Addr a, UChar size)
{
if ( cachesim_ref( &I1, a, size) == Hit ) return L1_Hit;
- prefetch_L2_doref(a,size);
+ prefetch_L2_doref(a);
switch( cachesim_ref_wb( &L2, Read, a, size) ) {
case Hit: return L2_Hit;
case Miss: return MemAccess;
@@ -565,7 +565,7 @@
CacheModelResult prefetch_D1_Read(Addr a, UChar size)
{
if ( cachesim_ref( &D1, a, size) == Hit ) return L1_Hit;
- prefetch_L2_doref(a,size);
+ prefetch_L2_doref(a);
switch( cachesim_ref_wb( &L2, Read, a, size) ) {
case Hit: return L2_Hit;
case Miss: return MemAccess;
@@ -577,7 +577,7 @@
static
CacheModelResult prefetch_D1_Write(Addr a, UChar size)
{
- prefetch_L2_doref(a,size);
+ prefetch_L2_doref(a);
if ( cachesim_ref( &D1, a, size) == Hit ) {
/* Even for a L1 hit, the write-trough L1 passes
* the write to the L2 to make the L2 line dirty.
Modified: branches/DARWIN/callgrind/threads.c
===================================================================
--- branches/DARWIN/callgrind/threads.c 2009-02-24 16:31:25 UTC (rev 9253)
+++ branches/DARWIN/callgrind/threads.c 2009-02-24 23:59:52 UTC (rev 9254)
@@ -422,7 +422,7 @@
CLG_DEBUGIF(1) {
CLG_DEBUG(1, " cxtinfo_save(sig %d): collect %s, jmps_passed %d\n",
es->sig, es->collect ? "Yes": "No", es->jmps_passed);
- CLG_(print_bbcc)(-9, es->bbcc, False);
+ CLG_(print_bbcc)(-9, es->bbcc);
CLG_(print_cost)(-9, CLG_(sets).full, es->cost);
}
@@ -448,7 +448,7 @@
CLG_DEBUGIF(1) {
CLG_DEBUG(1, " exec_state_restore(sig %d): collect %s, jmps_passed %d\n",
es->sig, es->collect ? "Yes": "No", es->jmps_passed);
- CLG_(print_bbcc)(-9, es->bbcc, False);
+ CLG_(print_bbcc)(-9, es->bbcc);
CLG_(print_cxt)(-9, es->cxt, 0);
CLG_(print_cost)(-9, CLG_(sets).full, es->cost);
}
|
|
From: Nicholas N. <n.n...@gm...> - 2009-02-24 23:29:24
|
On Tue, Feb 10, 2009 at 12:51 AM, Konstantin Serebryany <kon...@gm...> wrote: > > First: I've hit a performance issue in VG_(maybe_record_error). > I was running a test that uses openssl library. > This library has a hand-written assembly file which is not friendly to > valgrind (valgrind produces broken stack traces, see the recent > discussion at http://sourceforge.net/mailarchive/forum.php?thread_name=59e975c10902052331r2bf43900qec86f336cba6e531%40mail.gmail.com&forum_name=valgrind-developers). > This assembly file results in memcheck warnings, like this: > ==27019== Use of uninitialised value of size 8 > ==27019== at 0xBD3214F: bn_mul_mont > ==27019== by 0x7A2C730C750BD1E8: ??? > ==27019== by 0xD075D9E9E5D0101: ??? > ==27019== by 0x4EAF8BD8815341D7: ??? > Since the stack traces are broken, each warning found by memcheck is distinct. > Memcheck boils out after 1000-th report. > > So, I needed to suppress these reports. > { > fun:bn_mul_mont > Memcheck:Value8 > fun:bn_mul_mont > } > > As the result, memcheck is slowed down by >100x (from 1 minute to few hours). > Since all the errors found by memcheck are different, > VG_(maybe_record_error) tries to add each of them to the list > static Error* errors = NULL; > Since all these errors are suppressed, memcheck does not boil out > after 1000-th and goes quadratic. > > The simple fix which seems to work for me is to check > is_suppressible_error before checking the 'errors' list. > [...] > Is there any hidden reason not to do that? Not that I'm aware of. I'll take a look at it some time. > Second: > Right now I often have to write two almost identical suppression > rules, like this: > > { > fun:bn_mul_mont > Memcheck:Value8 <<<<<<<<<<<<<<<< > fun:bn_mul_mont > } > { > fun:bn_mul_mont > Memcheck:Cond <<<<<<<<<<<<<< > fun:bn_mul_mont > } > > Is there any way to tell something like Memcheck:* or Memcheck:All? > { > fun:bn_mul_mont > Memcheck:All <<<<<<<<<<<<<< > fun:bn_mul_mont > } > If no, would you consider a patch that does it? There is no way to do that. AFAIK you're the first person who's asked for it, so it doesn't seem like a high priority... > Third: > In case when a user needs to suppress warnings from a library he > doesn't care about, the better solution for memcheck would be simply > not to generate such warnings. > ThreadSanitizer does this by not instrumenting functions listed in a > text file (http://code.google.com/p/data-race-test/wiki/ThreadSanitizerIgnores). > Would you consider adding something like this to the valgrind core? That's only useful for suppressions where you only care about the first stack entry... that's only a small fraction of suppressions. Nick |
|
From: Nicholas N. <n.n...@gm...> - 2009-02-24 23:24:33
|
On Tue, Feb 24, 2009 at 11:26 PM, Josef Weidendorfer <Jos...@gm...> wrote: > On Tuesday 24 February 2009, Nicholas Nethercote wrote: >> As a follow-up to the recent thread about -Wextra, I went through all >> the warnings found by -Wunused-parameters > > Hmm. There seems to be a bug in the gcc here about warnings: 4.3.2 (OpenSuse 11.1) > gives all those warnings about mismatched signedness even with "-Wunused-parameter" > only; I get flooded with > > main.c:109: warning: pointer targets in passing argument 2 of ‘vgPlain_assert_fail’ differ in signedness > main.c:109: warning: pointer targets in passing argument 3 of ‘vgPlain_assert_fail’ differ in signedness > main.c:109: warning: pointer targets in passing argument 5 of ‘vgPlain_assert_fail’ differ in signedness > ... I actually got the unused parameter warnings by running -Wextra and then grepping for "unused param"... Nick |
|
From: Stefan K. <en...@ho...> - 2009-02-24 19:23:24
|
Bart Van Assche schrieb: > On Mon, Feb 23, 2009 at 5:43 AM, Nicholas Nethercote > <n.n...@gm...> wrote: >> Pretty much every file in Valgrind gets $(WERROR) as part of the >> compile flags. But I can't work out what it's for -- that string >> isn't present in the info pages for automake, autoconf or make, nor is >> it defined in configure.in or any of our generated Makefiles. AFAICT >> it's always empty (at least, on Linux and Darwin where I've checked). >> >> So I'd like to get rid of it, unless someone can identify what it's for. > > My guess is that this flag can be used as follows (I don't use this flag): > > make WERROR=-Werror > > Bart. > but then you can anyway do make CFLAGS=-Werror :) Stefan |
|
From: <sv...@va...> - 2009-02-24 16:31:31
|
Author: sewardj Date: 2009-02-24 16:31:25 +0000 (Tue, 24 Feb 2009) New Revision: 9253 Log: --> 3.4.1.RC1 Modified: branches/VALGRIND_3_4_BRANCH/NEWS branches/VALGRIND_3_4_BRANCH/configure.in Modified: branches/VALGRIND_3_4_BRANCH/NEWS =================================================================== --- branches/VALGRIND_3_4_BRANCH/NEWS 2009-02-24 14:42:57 UTC (rev 9252) +++ branches/VALGRIND_3_4_BRANCH/NEWS 2009-02-24 16:31:25 UTC (rev 9253) @@ -1,4 +1,43 @@ +Release 3.4.1 (XX February 2009) +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +3.4.1 is a bug-fix release that fixes some regressions and assertion +failures in debug info reading in 3.4.0, most notably incorrect stack +traces on amd64-linux on older (glibc-2.3 based) systems. Various +other debug info problems are also fixed. A number of bugs in the +exp-ptrcheck tool introduced in 3.4.0 have been fixed. + +In view of the fact that 3.4.0 contains some user-visible regressions +relative to 3.3.x, upgrading to 3.4.1 is recommended. Packagers are +encouraged to ship 3.4.1 in preference to 3.4.0. + +The fixed bugs are as follows. Note that "n-i-bz" stands for "not in +bugzilla" -- that is, a bug that was reported to us but never got a +bugzilla entry. We encourage you to file bugs in bugzilla +(http://bugs.kde.org/enter_valgrind_bug.cgi) rather than mailing the +developers (or mailing lists) directly -- bugs that are not entered +into bugzilla tend to get forgotten about or ignored. + +n-i-bz Fix various bugs reading icc-11 generated debug info +n-i-bz Fix various bugs reading gcc-4.4 generated debug info +n-i-bz Preliminary support for glibc-2.10 / Fedora 11 +179618 exp-ptrcheck crashed / exit prematurely +179624 helgrind: false positive races with pthread_create and + recv/open/close/read +134207 pkg-config output contains @VG_PLATFORM@ +176926 floating point exception at valgrind startup with PPC 440EPX +181594 Bogus warning for empty text segment +173751 amd64->IR: 0x48 0xF 0x6F 0x45 (even more redundant rex prefixes) +181707 Dwarf3 doesn't require enumerations to have name +185038 exp-ptrcheck: "unhandled syscall: 285" (fallocate) on x86_64 +185050 exp-ptrcheck: sg_main.c:727 (add_block_to_GlobalTree): + Assertion '!already_present' failed. +185359 exp-ptrcheck unhandled syscall getresuid() + +(3.4.1.RC1: 24 Feb 2008, vex r1884, valgrind r9253). + + + Release 3.4.0 (2 January 2009) ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 3.4.0 is a feature release with many significant improvements and the Modified: branches/VALGRIND_3_4_BRANCH/configure.in =================================================================== --- branches/VALGRIND_3_4_BRANCH/configure.in 2009-02-24 14:42:57 UTC (rev 9252) +++ branches/VALGRIND_3_4_BRANCH/configure.in 2009-02-24 16:31:25 UTC (rev 9253) @@ -8,7 +8,7 @@ ##------------------------------------------------------------## # Process this file with autoconf to produce a configure script. -AC_INIT(Valgrind, 3.4.1.SVN, val...@li...) +AC_INIT(Valgrind, 3.4.1.RC1, val...@li...) AC_CONFIG_SRCDIR(coregrind/m_main.c) AM_CONFIG_HEADER(config.h) AM_INIT_AUTOMAKE([foreign]) |
|
From: <sv...@va...> - 2009-02-24 14:43:07
|
Author: sewardj
Date: 2009-02-24 14:42:57 +0000 (Tue, 24 Feb 2009)
New Revision: 9252
Log:
Fix undefined references in valgrind.pc.in (Ingmar Vanhassel).
Fixes #134207.
Modified:
branches/VALGRIND_3_4_BRANCH/valgrind.pc.in
Modified: branches/VALGRIND_3_4_BRANCH/valgrind.pc.in
===================================================================
--- branches/VALGRIND_3_4_BRANCH/valgrind.pc.in 2009-02-24 12:26:53 UTC (rev 9251)
+++ branches/VALGRIND_3_4_BRANCH/valgrind.pc.in 2009-02-24 14:42:57 UTC (rev 9252)
@@ -2,7 +2,7 @@
exec_prefix=@exec_prefix@
libdir=@libdir@
includedir=@includedir@/valgrind
-arch=@VG_ARCH@
+arch=@VG_ARCH_MAX@
os=@VG_OS@
platform=@VG_PLATFORM_PRI@
valt_load_address=@VALT_LOAD_ADDRESS@
@@ -11,6 +11,6 @@
Description: A dynamic binary instrumentation framework
Version: @VERSION@
Requires:
-Libs: -L${libdir}/valgrind/@VG_PLATFORM_PRI@ -lcoregrind -lvex -lgcc
+Libs: -L${libdir}/valgrind/@VG_ARCH_MAX@-@VG_OS@ -lcoregrind -lvex -lgcc
Cflags: -I${includedir}
|
|
From: Tom H. <to...@co...> - 2009-02-24 12:57:20
|
Josef Weidendorfer wrote: > On Tuesday 24 February 2009, Nicholas Nethercote wrote: >> As a follow-up to the recent thread about -Wextra, I went through all >> the warnings found by -Wunused-parameters > > Hmm. There seems to be a bug in the gcc here about warnings: 4.3.2 (OpenSuse 11.1) > gives all those warnings about mismatched signedness even with "-Wunused-parameter" > only; I get flooded with > > main.c:109: warning: pointer targets in passing argument 2 of ‘vgPlain_assert_fail’ differ in signedness > main.c:109: warning: pointer targets in passing argument 3 of ‘vgPlain_assert_fail’ differ in signedness > main.c:109: warning: pointer targets in passing argument 5 of ‘vgPlain_assert_fail’ differ in signedness > ... That's different - that is -Wpointer-sign which is a new warning in recent versions of gcc that is turned on by -Wall. It's not the same as the warnings about signed/unsigned comparisons and the like. Tom -- Tom Hughes (to...@co...) http://www.compton.nu/ |
|
From: Josef W. <Jos...@gm...> - 2009-02-24 12:27:30
|
On Tuesday 24 February 2009, Nicholas Nethercote wrote: > As a follow-up to the recent thread about -Wextra, I went through all > the warnings found by -Wunused-parameters Hmm. There seems to be a bug in the gcc here about warnings: 4.3.2 (OpenSuse 11.1) gives all those warnings about mismatched signedness even with "-Wunused-parameter" only; I get flooded with main.c:109: warning: pointer targets in passing argument 2 of ‘vgPlain_assert_fail’ differ in signedness main.c:109: warning: pointer targets in passing argument 3 of ‘vgPlain_assert_fail’ differ in signedness main.c:109: warning: pointer targets in passing argument 5 of ‘vgPlain_assert_fail’ differ in signedness ... > (one of the flags enabled by > -Wextra). I removed some of the ones found in r9248. The summary is > below. There were a number of strange things that some warnings > highlighted, which I've listed under "removable, probably should be, > or complicated". > > As for whether this warning should be enabled permanently: most of > things it finds aren't important, but there are a couple of oddities > that seem worth investigating. There are also lots of cases where > unused params are unavoidable, but they're also easy to workaround > with __attribute__((unused)) which could be #defined to VG_UNUSED or > similar. Thoughts? Qt just uses the macro #define Q_UNUSED(x) (void)x; to avoid this warning in some circumstances. It's simpler than the attribute. And yes, there are a lot of cases where unused params are unavoidable, so I vote for VG_UNUSED(x). > // Should probably be removed by Josef. > debug.c:115: warning: unused parameter 'jumpaddr' > sim.c:494: warning: unused parameter 'size' > callstack.c:117: warning: unused parameter 'to' > callstack.c:150: warning: unused parameter 'from' > dump.c:1476: warning: unused parameter 'buf' > dump.c:1476: warning: unused parameter 'tid' All could be removed. Thanks, Josef |
|
From: <sv...@va...> - 2009-02-24 12:26:58
|
Author: weidendo
Date: 2009-02-24 12:26:53 +0000 (Tue, 24 Feb 2009)
New Revision: 9251
Log:
Callgrind: fix a few 'unused parameter' warnings
Modified:
trunk/callgrind/bbcc.c
trunk/callgrind/callstack.c
trunk/callgrind/debug.c
trunk/callgrind/dump.c
trunk/callgrind/global.h
trunk/callgrind/main.c
trunk/callgrind/sim.c
trunk/callgrind/threads.c
Modified: trunk/callgrind/bbcc.c
===================================================================
--- trunk/callgrind/bbcc.c 2009-02-24 04:42:57 UTC (rev 9250)
+++ trunk/callgrind/bbcc.c 2009-02-24 12:26:53 UTC (rev 9251)
@@ -183,7 +183,7 @@
bbcc, bbcc ? bbcc->tid : 0);
CLG_DEBUGIF(2)
- if (bbcc) CLG_(print_bbcc)(-2,bbcc,False);
+ if (bbcc) CLG_(print_bbcc)(-2,bbcc);
return bbcc;
}
@@ -411,7 +411,7 @@
CLG_DEBUGIF(3)
- CLG_(print_bbcc)(-2, new, False);
+ CLG_(print_bbcc)(-2, new);
CLG_DEBUG(2,"- clone_BBCC(%p, %d) for BB %#lx\n"
" orig %s\n"
@@ -453,7 +453,7 @@
bb->last_bbcc = bbcc;
CLG_DEBUGIF(3)
- CLG_(print_bbcc)(-2, bbcc, False);
+ CLG_(print_bbcc)(-2, bbcc);
}
CLG_DEBUG(3, "- get_bbcc(BB %#lx): BBCC %p\n",
Modified: trunk/callgrind/callstack.c
===================================================================
--- trunk/callgrind/callstack.c 2009-02-24 04:42:57 UTC (rev 9250)
+++ trunk/callgrind/callstack.c 2009-02-24 12:26:53 UTC (rev 9251)
@@ -114,7 +114,7 @@
/* Called when function entered nonrecursive */
-static void function_entered(fn_node* fn, BBCC* to)
+static void function_entered(fn_node* fn)
{
CLG_ASSERT(fn != 0);
@@ -147,7 +147,7 @@
}
/* Called when function left (no recursive level active) */
-static void function_left(fn_node* fn, BBCC* from)
+static void function_left(fn_node* fn)
{
CLG_ASSERT(fn != 0);
@@ -230,7 +230,7 @@
jcc->call_counter++;
CLG_(stat).call_counter++;
- if (*pdepth == 1) function_entered(to_fn, to);
+ if (*pdepth == 1) function_entered(to_fn);
}
/* return address is only is useful with a real call;
@@ -354,7 +354,7 @@
CLG_(current_fn_stack).bottom + lower_entry->fn_sp;
CLG_ASSERT(CLG_(current_state).cxt != 0);
- if (depth == 0) function_left(to_fn, jcc->from);
+ if (depth == 0) function_left(to_fn);
}
/* To allow for an assertion in push_call_stack() */
Modified: trunk/callgrind/debug.c
===================================================================
--- trunk/callgrind/debug.c 2009-02-24 04:42:57 UTC (rev 9250)
+++ trunk/callgrind/debug.c 2009-02-24 12:26:53 UTC (rev 9251)
@@ -112,7 +112,7 @@
}
-void CLG_(print_bbcc)(int s, BBCC* bbcc, Bool jumpaddr)
+void CLG_(print_bbcc)(int s, BBCC* bbcc)
{
BB* bb;
@@ -129,16 +129,9 @@
bb = bbcc->bb;
CLG_ASSERT(bb!=0);
-#if 0
- if (jumpaddr)
- VG_(printf)("%s +%p=%p, ",
+ VG_(printf)("%s +%#lx=%#lx, ",
bb->obj->name + bb->obj->last_slash_pos,
- bb->jmp_offset, bb_jmpaddr(bb));
- else
-#endif
- VG_(printf)("%s +%#lx=%#lx, ",
- bb->obj->name + bb->obj->last_slash_pos,
- bb->offset, bb_addr(bb));
+ bb->offset, bb_addr(bb));
CLG_(print_cxt)(s+8, bbcc->cxt, bbcc->rec_index);
}
@@ -243,10 +236,10 @@
return;
}
VG_(printf)("JCC %p from ", jcc);
- CLG_(print_bbcc)(s+9, jcc->from, True);
+ CLG_(print_bbcc)(s+9, jcc->from);
print_indent(s+4);
VG_(printf)("to ");
- CLG_(print_bbcc)(s+9, jcc->to, False);
+ CLG_(print_bbcc)(s+9, jcc->to);
print_indent(s+4);
VG_(printf)("Calls %llu\n", jcc->call_counter);
print_indent(s+4);
@@ -334,7 +327,7 @@
bb = bbcc->bb;
CLG_ASSERT(bb!=0);
- CLG_(print_bbcc)(s, bbcc, False);
+ CLG_(print_bbcc)(s, bbcc);
ecounter = bbcc->ecounter_sum;
@@ -440,7 +433,7 @@
void CLG_(print_bbno)(void) {}
void CLG_(print_context)(void) {}
void CLG_(print_jcc)(int s, jCC* jcc) {}
-void CLG_(print_bbcc)(int s, BBCC* bbcc, Bool b) {}
+void CLG_(print_bbcc)(int s, BBCC* bbcc) {}
void CLG_(print_bbcc_fn)(BBCC* bbcc) {}
void CLG_(print_cost)(int s, EventSet* es, ULong* cost) {}
void CLG_(print_bb)(int s, BB* bb) {}
Modified: trunk/callgrind/dump.c
===================================================================
--- trunk/callgrind/dump.c 2009-02-24 04:42:57 UTC (rev 9250)
+++ trunk/callgrind/dump.c 2009-02-24 12:26:53 UTC (rev 9251)
@@ -787,7 +787,7 @@
CLG_ASSERT(bbcc->cxt != 0);
CLG_DEBUGIF(1) {
VG_(printf)("+ fprint_bbcc (Instr %d): ", bb->instr_count);
- CLG_(print_bbcc)(15, bbcc, False);
+ CLG_(print_bbcc)(15, bbcc);
}
CLG_ASSERT(currSum == 0 || currSum == 1);
@@ -1473,7 +1473,7 @@
}
-static void close_dumpfile(Char buf[BUF_LEN], int fd, int tid)
+static void close_dumpfile(int fd)
{
if (fd <0) return;
@@ -1575,7 +1575,7 @@
p++;
}
- close_dumpfile(print_buf, print_fd, CLG_(current_tid));
+ close_dumpfile(print_fd);
if (array) VG_(free)(array);
/* set counters of last dump */
Modified: trunk/callgrind/global.h
===================================================================
--- trunk/callgrind/global.h 2009-02-24 04:42:57 UTC (rev 9250)
+++ trunk/callgrind/global.h 2009-02-24 12:26:53 UTC (rev 9251)
@@ -855,7 +855,7 @@
void CLG_(print_bbno)(void);
void CLG_(print_context)(void);
void CLG_(print_jcc)(int s, jCC* jcc);
-void CLG_(print_bbcc)(int s, BBCC* bbcc, Bool);
+void CLG_(print_bbcc)(int s, BBCC* bbcc);
void CLG_(print_bbcc_fn)(BBCC* bbcc);
void CLG_(print_execstate)(int s, exec_state* es);
void CLG_(print_eventset)(int s, EventSet* es);
Modified: trunk/callgrind/main.c
===================================================================
--- trunk/callgrind/main.c 2009-02-24 04:42:57 UTC (rev 9250)
+++ trunk/callgrind/main.c 2009-02-24 12:26:53 UTC (rev 9251)
@@ -389,10 +389,10 @@
}
static
-void collectStatementInfo(IRTypeEnv* tyenv, IRSB* bbOut, IRStmt* st,
+void collectStatementInfo(IRTypeEnv* tyenv, IRStmt* st,
Addr* instrAddr, UInt* instrLen,
IRExpr** loadAddrExpr, IRExpr** storeAddrExpr,
- UInt* dataSize, IRType hWordTy)
+ UInt* dataSize)
{
CLG_ASSERT(isFlatIRStmt(st));
@@ -602,8 +602,8 @@
i++;
stnext = ( i < bbIn->stmts_used ? bbIn->stmts[i] : NULL );
beforeIBoundary = !stnext || (Ist_IMark == stnext->tag);
- collectStatementInfo(bbIn->tyenv, bbOut, st, &instrAddr, &instrLen,
- &loadAddrExpr, &storeAddrExpr, &dataSize, hWordTy);
+ collectStatementInfo(bbIn->tyenv, st, &instrAddr, &instrLen,
+ &loadAddrExpr, &storeAddrExpr, &dataSize);
// instrument a simulator call before conditional jumps
if (st->tag == Ist_Exit) {
Modified: trunk/callgrind/sim.c
===================================================================
--- trunk/callgrind/sim.c 2009-02-24 04:42:57 UTC (rev 9250)
+++ trunk/callgrind/sim.c 2009-02-24 12:26:53 UTC (rev 9251)
@@ -491,7 +491,7 @@
* One stream can be detected per 4k page.
*/
static __inline__
-void prefetch_L2_doref(Addr a, UChar size)
+void prefetch_L2_doref(Addr a)
{
UInt stream = (a >> PF_PAGEBITS) % PF_STREAMS;
UInt block = ( a >> L2.line_size_bits);
@@ -531,7 +531,7 @@
CacheModelResult prefetch_I1_ref(Addr a, UChar size)
{
if ( cachesim_ref( &I1, a, size) == Hit ) return L1_Hit;
- prefetch_L2_doref(a,size);
+ prefetch_L2_doref(a);
if ( cachesim_ref( &L2, a, size) == Hit ) return L2_Hit;
return MemAccess;
}
@@ -540,7 +540,7 @@
CacheModelResult prefetch_D1_ref(Addr a, UChar size)
{
if ( cachesim_ref( &D1, a, size) == Hit ) return L1_Hit;
- prefetch_L2_doref(a,size);
+ prefetch_L2_doref(a);
if ( cachesim_ref( &L2, a, size) == Hit ) return L2_Hit;
return MemAccess;
}
@@ -552,7 +552,7 @@
CacheModelResult prefetch_I1_Read(Addr a, UChar size)
{
if ( cachesim_ref( &I1, a, size) == Hit ) return L1_Hit;
- prefetch_L2_doref(a,size);
+ prefetch_L2_doref(a);
switch( cachesim_ref_wb( &L2, Read, a, size) ) {
case Hit: return L2_Hit;
case Miss: return MemAccess;
@@ -565,7 +565,7 @@
CacheModelResult prefetch_D1_Read(Addr a, UChar size)
{
if ( cachesim_ref( &D1, a, size) == Hit ) return L1_Hit;
- prefetch_L2_doref(a,size);
+ prefetch_L2_doref(a);
switch( cachesim_ref_wb( &L2, Read, a, size) ) {
case Hit: return L2_Hit;
case Miss: return MemAccess;
@@ -577,7 +577,7 @@
static
CacheModelResult prefetch_D1_Write(Addr a, UChar size)
{
- prefetch_L2_doref(a,size);
+ prefetch_L2_doref(a);
if ( cachesim_ref( &D1, a, size) == Hit ) {
/* Even for a L1 hit, the write-trough L1 passes
* the write to the L2 to make the L2 line dirty.
Modified: trunk/callgrind/threads.c
===================================================================
--- trunk/callgrind/threads.c 2009-02-24 04:42:57 UTC (rev 9250)
+++ trunk/callgrind/threads.c 2009-02-24 12:26:53 UTC (rev 9251)
@@ -422,7 +422,7 @@
CLG_DEBUGIF(1) {
CLG_DEBUG(1, " cxtinfo_save(sig %d): collect %s, jmps_passed %d\n",
es->sig, es->collect ? "Yes": "No", es->jmps_passed);
- CLG_(print_bbcc)(-9, es->bbcc, False);
+ CLG_(print_bbcc)(-9, es->bbcc);
CLG_(print_cost)(-9, CLG_(sets).full, es->cost);
}
@@ -448,7 +448,7 @@
CLG_DEBUGIF(1) {
CLG_DEBUG(1, " exec_state_restore(sig %d): collect %s, jmps_passed %d\n",
es->sig, es->collect ? "Yes": "No", es->jmps_passed);
- CLG_(print_bbcc)(-9, es->bbcc, False);
+ CLG_(print_bbcc)(-9, es->bbcc);
CLG_(print_cxt)(-9, es->cxt, 0);
CLG_(print_cost)(-9, CLG_(sets).full, es->cost);
}
|
|
From: Konstantin S. <kon...@gm...> - 2009-02-24 09:13:58
|
On Tue, Feb 24, 2009 at 11:56 AM, Robert Walsh <rj...@du...> wrote: >> > Hey everyone! Let's rewrite Valgrind in C++! >> +1 > > Oh God, what have I started? Rewriting the entire valgrind is a crazy idea, but we may start using C++ in a new code. That's what I do [outside of valgrind trunk] anyway. --kcc |
|
From: Robert W. <rj...@du...> - 2009-02-24 08:56:11
|
> > > Hey everyone! Let's rewrite Valgrind in C++! > +1 Oh God, what have I started? |
|
From: Konstantin S. <kon...@gm...> - 2009-02-24 08:53:24
|
On Tue, Feb 24, 2009 at 11:50 AM, Robert Walsh <rj...@du...> wrote: > Hey everyone! Let's rewrite Valgrind in C++! +1 http://code.google.com/p/data-race-test/wiki/cpp_vg > <ducks> > :-) > Regards, > Robert. > On Tue, Feb 24, 2009 at 12:44 AM, Tom Hughes <to...@co...> wrote: >> >> Nicholas Nethercote wrote: >>> >>> On Tue, Feb 24, 2009 at 2:39 PM, Robert Walsh <rj...@du...> >>> wrote: >>>> >>>> Can't you just not give them a name? So, instead of: >>>> >>>> foo(int unused) >>>> { >>>> // Don't use unused >>>> } >>>> >>>> you get: >>>> >>>> foo(int) >>>> { >>>> // Don't use unused >>>> } >>>> >>>> I don't know how standard that is, or in what languages it's standard. >>> >>> It doesn't appear to be in C: >>> >>> a.c: In function ‘foo’: >>> a.c:1: error: parameter name omitted >>> >>> which would appear to be a problem. >> >> Indeed. What Robert suggested is valid C++ but not valid C. >> >> Tom >> >> -- >> Tom Hughes (to...@co...) >> http://www.compton.nu/ > > > ------------------------------------------------------------------------------ > Open Source Business Conference (OSBC), March 24-25, 2009, San Francisco, CA > -OSBC tackles the biggest issue in open source: Open Sourcing the Enterprise > -Strategies to boost innovation and cut costs with open source participation > -Receive a $600 discount off the registration fee with the source code: SFAD > http://p.sf.net/sfu/XcvMzF8H > _______________________________________________ > Valgrind-developers mailing list > Val...@li... > https://lists.sourceforge.net/lists/listinfo/valgrind-developers > > |
|
From: Robert W. <rj...@du...> - 2009-02-24 08:50:28
|
Hey everyone! Let's rewrite Valgrind in C++!
<ducks>
:-)
Regards,
Robert.
On Tue, Feb 24, 2009 at 12:44 AM, Tom Hughes <to...@co...> wrote:
> Nicholas Nethercote wrote:
>
>> On Tue, Feb 24, 2009 at 2:39 PM, Robert Walsh <rj...@du...>
>> wrote:
>>
>>> Can't you just not give them a name? So, instead of:
>>>
>>> foo(int unused)
>>> {
>>> // Don't use unused
>>> }
>>>
>>> you get:
>>>
>>> foo(int)
>>> {
>>> // Don't use unused
>>> }
>>>
>>> I don't know how standard that is, or in what languages it's standard.
>>>
>>
>> It doesn't appear to be in C:
>>
>> a.c: In function ‘foo’:
>> a.c:1: error: parameter name omitted
>>
>> which would appear to be a problem.
>>
>
> Indeed. What Robert suggested is valid C++ but not valid C.
>
> Tom
>
> --
> Tom Hughes (to...@co...)
> http://www.compton.nu/
>
|
|
From: Tom H. <to...@co...> - 2009-02-24 08:45:08
|
Nicholas Nethercote wrote:
> On Tue, Feb 24, 2009 at 2:39 PM, Robert Walsh <rj...@du...> wrote:
>> Can't you just not give them a name? So, instead of:
>>
>> foo(int unused)
>> {
>> // Don't use unused
>> }
>>
>> you get:
>>
>> foo(int)
>> {
>> // Don't use unused
>> }
>>
>> I don't know how standard that is, or in what languages it's standard.
>
> It doesn't appear to be in C:
>
> a.c: In function ‘foo’:
> a.c:1: error: parameter name omitted
>
> which would appear to be a problem.
Indeed. What Robert suggested is valid C++ but not valid C.
Tom
--
Tom Hughes (to...@co...)
http://www.compton.nu/
|
|
From: Bart V. A. <bar...@gm...> - 2009-02-24 08:37:50
|
Nightly build on georgia-tech-cellbuzz-native ( cellbuzz, ppc64, Fedora 7, native ) started at 2009-02-24 02:00:01 EST Results differ from 24 hours ago Checking out valgrind source tree ... done Configuring valgrind ... done Building valgrind ... done Running regression tests ... done Regression test results follow == 409 tests, 39 stderr failures, 10 stdout failures, 0 post failures == exp-ptrcheck/tests/bad_percentify (stderr) exp-ptrcheck/tests/base (stderr) exp-ptrcheck/tests/ccc (stderr) exp-ptrcheck/tests/fp (stderr) exp-ptrcheck/tests/globalerr (stderr) exp-ptrcheck/tests/hackedbz2 (stderr) exp-ptrcheck/tests/hp_bounds (stderr) exp-ptrcheck/tests/hp_dangle (stderr) exp-ptrcheck/tests/justify (stderr) exp-ptrcheck/tests/partial_bad (stderr) exp-ptrcheck/tests/partial_good (stderr) exp-ptrcheck/tests/preen_invars (stderr) exp-ptrcheck/tests/pth_create (stderr) exp-ptrcheck/tests/pth_specific (stderr) exp-ptrcheck/tests/realloc (stderr) exp-ptrcheck/tests/stackerr (stderr) exp-ptrcheck/tests/strcpy (stderr) exp-ptrcheck/tests/supp (stderr) exp-ptrcheck/tests/tricky (stderr) exp-ptrcheck/tests/unaligned (stderr) exp-ptrcheck/tests/zero (stderr) helgrind/tests/hg05_race2 (stderr) helgrind/tests/tc18_semabuse (stderr) helgrind/tests/tc20_verifywrap (stderr) memcheck/tests/deep_templates (stdout) memcheck/tests/leak-cycle (stderr) memcheck/tests/leak-tree (stderr) memcheck/tests/origin5-bz2 (stderr) memcheck/tests/pointer-trace (stderr) memcheck/tests/varinfo1 (stderr) memcheck/tests/varinfo2 (stderr) memcheck/tests/varinfo3 (stderr) memcheck/tests/varinfo4 (stderr) memcheck/tests/varinfo5 (stderr) memcheck/tests/varinfo6 (stderr) memcheck/tests/wrap8 (stderr) memcheck/tests/zeropage (stdout) none/tests/faultstatus (stderr) none/tests/linux/mremap (stderr) none/tests/linux/mremap2 (stdout) none/tests/ppc32/jm-fp (stdout) none/tests/ppc32/jm-vmx (stdout) none/tests/ppc32/round (stdout) none/tests/ppc32/test_gx (stdout) none/tests/ppc64/jm-fp (stdout) none/tests/ppc64/jm-vmx (stdout) none/tests/ppc64/round (stdout) none/tests/shell_valid2 (stderr) none/tests/shell_valid3 (stderr) ================================================= == Results from 24 hours ago == ================================================= Checking out valgrind source tree ... done Configuring valgrind ... done Building valgrind ... done Running regression tests ... done Regression test results follow == 409 tests, 41 stderr failures, 10 stdout failures, 0 post failures == drd/tests/tc20_verifywrap (stderr) drd/tests/tc20_verifywrap2 (stderr) exp-ptrcheck/tests/bad_percentify (stderr) exp-ptrcheck/tests/base (stderr) exp-ptrcheck/tests/ccc (stderr) exp-ptrcheck/tests/fp (stderr) exp-ptrcheck/tests/globalerr (stderr) exp-ptrcheck/tests/hackedbz2 (stderr) exp-ptrcheck/tests/hp_bounds (stderr) exp-ptrcheck/tests/hp_dangle (stderr) exp-ptrcheck/tests/justify (stderr) exp-ptrcheck/tests/partial_bad (stderr) exp-ptrcheck/tests/partial_good (stderr) exp-ptrcheck/tests/preen_invars (stderr) exp-ptrcheck/tests/pth_create (stderr) exp-ptrcheck/tests/pth_specific (stderr) exp-ptrcheck/tests/realloc (stderr) exp-ptrcheck/tests/stackerr (stderr) exp-ptrcheck/tests/strcpy (stderr) exp-ptrcheck/tests/supp (stderr) exp-ptrcheck/tests/tricky (stderr) exp-ptrcheck/tests/unaligned (stderr) exp-ptrcheck/tests/zero (stderr) helgrind/tests/hg05_race2 (stderr) helgrind/tests/tc18_semabuse (stderr) helgrind/tests/tc20_verifywrap (stderr) memcheck/tests/deep_templates (stdout) memcheck/tests/leak-cycle (stderr) memcheck/tests/leak-tree (stderr) memcheck/tests/origin5-bz2 (stderr) memcheck/tests/pointer-trace (stderr) memcheck/tests/varinfo1 (stderr) memcheck/tests/varinfo2 (stderr) memcheck/tests/varinfo3 (stderr) memcheck/tests/varinfo4 (stderr) memcheck/tests/varinfo5 (stderr) memcheck/tests/varinfo6 (stderr) memcheck/tests/wrap8 (stderr) memcheck/tests/zeropage (stdout) none/tests/faultstatus (stderr) none/tests/linux/mremap (stderr) none/tests/linux/mremap2 (stdout) none/tests/ppc32/jm-fp (stdout) none/tests/ppc32/jm-vmx (stdout) none/tests/ppc32/round (stdout) none/tests/ppc32/test_gx (stdout) none/tests/ppc64/jm-fp (stdout) none/tests/ppc64/jm-vmx (stdout) none/tests/ppc64/round (stdout) none/tests/shell_valid2 (stderr) none/tests/shell_valid3 (stderr) ================================================= == Difference between 24 hours ago and now == ================================================= *** old.short Tue Feb 24 02:47:35 2009 --- new.short Tue Feb 24 03:37:45 2009 *************** *** 8,12 **** ! == 409 tests, 41 stderr failures, 10 stdout failures, 0 post failures == ! drd/tests/tc20_verifywrap (stderr) ! drd/tests/tc20_verifywrap2 (stderr) exp-ptrcheck/tests/bad_percentify (stderr) --- 8,10 ---- ! == 409 tests, 39 stderr failures, 10 stdout failures, 0 post failures == exp-ptrcheck/tests/bad_percentify (stderr) |
|
From: Nicholas N. <n.n...@gm...> - 2009-02-24 05:52:42
|
Hi, On Darwin, the first memory page is inaccessible. This is achieved by the system allocating it but marking it as not readable, writable or executable. But Memcheck views this as addressable and doesn't complain if you access it. This is a bit weird. Maybe Memcheck should mark such memory as unaddressable? It's changing the meaning of "unaddressable" slightly, but seems like the best thing we can do without tracking r/w/x individually... Nick |
|
From: <sv...@va...> - 2009-02-24 04:43:01
|
Author: njn
Date: 2009-02-24 04:42:57 +0000 (Tue, 24 Feb 2009)
New Revision: 9250
Log:
Fix a compile error on x86/Linux.
Modified:
branches/DARWIN/callgrind/fn.c
Modified: branches/DARWIN/callgrind/fn.c
===================================================================
--- branches/DARWIN/callgrind/fn.c 2009-02-24 03:17:17 UTC (rev 9249)
+++ branches/DARWIN/callgrind/fn.c 2009-02-24 04:42:57 UTC (rev 9250)
@@ -44,10 +44,10 @@
struct chunk_t chunk[];
};
-#if defined(HAVE_ELF)
/* Scan for a pattern in the code of an ELF object.
* If found, return true and set runtime_resolve_{addr,length}
*/
+__attribute__((unused)) // Possibly; depends on the platform.
static Bool check_code(obj_node* obj,
unsigned char code[], struct pattern* pat)
{
@@ -103,7 +103,6 @@
CLG_DEBUG(1, " found nothing.\n");
return False;
}
-#endif // HAVE_ELF
/* _ld_runtime_resolve, located in ld.so, needs special handling:
|
|
From: Nicholas N. <n.n...@gm...> - 2009-02-24 04:24:08
|
Hi,
atoll() is a terrible function -- you can't do any error checking with it.
Some of our option processing code uses it. This means that eg.
'--log-fd=9xxx' logs to fd 9, and '--log-fd=blahblahblah' logs to 0 (because
atoll() returns 0 if the string doesn't contain a number!)
It turns out that most of our option processing uses VG_(strtoll*) instead
of VG_(atoll). The reason that not all of it does is that the
option-processing macros are underpowered -- they currently work well if you
just want to assign the value to a variable, eg:
VG_BOOL_CLO(arg, "--heap", clo_heap)
else VG_BOOL_CLO(arg, "--stacks", clo_stacks)
else VG_NUM_CLO(arg, "--heap-admin", clo_heap_admin)
else VG_NUM_CLO(arg, "--depth", clo_depth)
(This works because the macros actually contain an if-statement, but
it looks odd.)
VG_NUM_CLO uses VG_(stroll10). But if you want to do any checking or
processing, you can't use those macros, leading to code like this:
else if (VG_CLO_STREQN(9, arg, "--log-fd=")) {
log_to = VgLogTo_Fd;
VG_(clo_log_name) = NULL;
tmp_log_fd = (Int)VG_(atoll)(&arg[9]);
}
So this patch:
- Improves the *_CLO_* macros so that they can be used in all circumstances.
They're now just expressions (albeit ones with side-effects, setting the
named variable appropriately). Thus they can be used as if-conditions,
and any post-checking or processing can occur in the then-statement.
- Updates all places where the macros were used.
- Updates Helgrind to use the *_CLO_* macros (it didn't use them).
- Updates Callgrind to use the *_CLO_* macros (it didn't use them), except
for the more esoteric option names (those with numbers in the option
name). This allowed getUInt() and getUWord() to be removed.
- Improves the cache option parsing in Cachegrind and Callgrind -- now uses
VG_(strtoll10)(), detects overflow, and is shorter.
- Uses INT instead of NUM in the macro names, to distinguish better vs. the
DBL macro.
- Removes VG_(atoll*) and the few remaining uses -- they're wretched
functions and VG_(strtoll*) should be used instead.
- Adds the VG_STREQN macro.
Advantages:
- Uniform CLO handling -- the *_CLO_* macros can be used everywhere. Thus
all options of one type (eg. numbers) are handled the same.
- Malformed numeric arguments (eg. --log-fd="foo") aren't accepted.
- You don't have to specify the lengths of any option strings anywhere (eg.
the 9 in the --log-fd example above). The use of a wrong number caused at
least one bug, in Massif.
- More concise -- removes 130 lines of code
I'd also like to change VG_BINT_CLO and VG_BHEX_CLO to abort if the given
value is outside the range -- the current silent truncation just seems
likely to cause confusion as much as anything. But I haven't done that in
this patch.
Thoughts?
Nick
|
|
From: Nicholas N. <n.n...@gm...> - 2009-02-24 04:19:41
|
On Tue, Feb 24, 2009 at 2:39 PM, Robert Walsh <rj...@du...> wrote:
> Can't you just not give them a name? So, instead of:
>
> foo(int unused)
> {
> // Don't use unused
> }
>
> you get:
>
> foo(int)
> {
> // Don't use unused
> }
>
> I don't know how standard that is, or in what languages it's standard.
It doesn't appear to be in C:
a.c: In function ‘foo’:
a.c:1: error: parameter name omitted
which would appear to be a problem.
Nick
|
|
From: Robert W. <rj...@du...> - 2009-02-24 04:10:24
|
Can't you just not give them a name? So, instead of:
foo(int unused)
{
// Don't use unused
}
you get:
foo(int)
{
// Don't use unused
}
I don't know how standard that is, or in what languages it's standard. Also
doesn't work if:
foo(int unused) {
#ifdef SOMETHING
use(unused);
#else
// Don't use unused
#endif
}
so you end up doing this instead:
foo(int unused)
{
#ifdef SOMETHING
use(unused);
#else
// Don't use unused
(void) unused;
#endif
}
Another reason to avoid preprocessor defines.
|
|
From: Tom H. <th...@cy...> - 2009-02-24 03:48:44
|
Nightly build on vauxhall ( x86_64, Fedora 10 ) started at 2009-02-24 03:20:05 GMT Results unchanged from 24 hours ago Checking out valgrind source tree ... done Configuring valgrind ... done Building valgrind ... done Running regression tests ... done Regression test results follow == 489 tests, 0 stderr failures, 0 stdout failures, 0 post failures == |
|
From: Tom H. <th...@cy...> - 2009-02-24 03:45:26
|
Nightly build on lloyd ( x86_64, Fedora 7 ) started at 2009-02-24 03:05:08 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 == 480 tests, 5 stderr failures, 0 stdout failures, 0 post failures == exp-ptrcheck/tests/ccc (stderr) exp-ptrcheck/tests/preen_invars (stderr) exp-ptrcheck/tests/pth_create (stderr) exp-ptrcheck/tests/pth_specific (stderr) helgrind/tests/tc20_verifywrap (stderr) |
|
From: Tom H. <th...@cy...> - 2009-02-24 03:32:27
|
Nightly build on mg ( x86_64, Fedora 9 ) started at 2009-02-24 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 == 486 tests, 4 stderr failures, 2 stdout failures, 0 post failures == exp-ptrcheck/tests/ccc (stderr) exp-ptrcheck/tests/preen_invars (stderr) exp-ptrcheck/tests/pth_create (stderr) exp-ptrcheck/tests/pth_specific (stderr) memcheck/tests/linux/timerfd-syscall (stdout) none/tests/linux/mremap2 (stdout) |
Author: njn
Date: 2009-02-24 03:17:17 +0000 (Tue, 24 Feb 2009)
New Revision: 9249
Log:
Merge r9248 (remove some unused parameters) from the trunk.
Modified:
branches/DARWIN/coregrind/m_debuginfo/readdwarf.c
branches/DARWIN/coregrind/m_demangle/cplus-dem.c
branches/DARWIN/coregrind/m_main.c
branches/DARWIN/coregrind/m_mallocfree.c
branches/DARWIN/coregrind/m_scheduler/scheduler.c
branches/DARWIN/coregrind/m_sigframe/sigframe-x86-linux.c
branches/DARWIN/coregrind/m_syswrap/syswrap-generic.c
branches/DARWIN/coregrind/m_syswrap/syswrap-main.c
branches/DARWIN/coregrind/m_translate.c
branches/DARWIN/coregrind/m_transtab.c
branches/DARWIN/coregrind/pub_core_transtab.h
branches/DARWIN/memcheck/mc_errors.c
branches/DARWIN/memcheck/mc_include.h
branches/DARWIN/memcheck/mc_main.c
branches/DARWIN/memcheck/mc_malloc_wrappers.c
Modified: branches/DARWIN/coregrind/m_debuginfo/readdwarf.c
===================================================================
--- branches/DARWIN/coregrind/m_debuginfo/readdwarf.c 2009-02-24 03:07:37 UTC (rev 9248)
+++ branches/DARWIN/coregrind/m_debuginfo/readdwarf.c 2009-02-24 03:17:17 UTC (rev 9249)
@@ -960,8 +960,7 @@
void read_unitinfo_dwarf2( /*OUT*/UnitInfo* ui,
UChar* unitblock_img,
UChar* debugabbrev_img,
- UChar* debugstr_img,
- struct _DebugInfo* di )
+ UChar* debugstr_img )
{
UInt acode, abcode;
ULong atoffs, blklen;
@@ -1177,7 +1176,7 @@
VG_(printf)( "Reading UnitInfo at 0x%lx.....\n",
block_img - debug_info_img + 0UL );
read_unitinfo_dwarf2( &ui, block_img,
- debug_abbv_img, debug_str_img, di );
+ debug_abbv_img, debug_str_img );
if (0)
VG_(printf)( " => LINES=0x%llx NAME=%s DIR=%s\n",
ui.stmt_list, ui.name, ui.compdir );
Modified: branches/DARWIN/coregrind/m_demangle/cplus-dem.c
===================================================================
--- branches/DARWIN/coregrind/m_demangle/cplus-dem.c 2009-02-24 03:07:37 UTC (rev 9248)
+++ branches/DARWIN/coregrind/m_demangle/cplus-dem.c 2009-02-24 03:17:17 UTC (rev 9249)
@@ -371,8 +371,7 @@
string *, int, int);
static int
-arm_pt (struct work_stuff *, const char *, int, const char **,
- const char **);
+arm_pt (const char *, int, const char **, const char **);
static int
demangle_class_name (struct work_stuff *, const char **, string *);
@@ -2158,7 +2157,7 @@
}
static int
-arm_pt (struct work_stuff *work, const char *mangled,
+arm_pt (const char *mangled,
int n, const char **anchor, const char **args)
{
/* Check if ARM template with "__pt__" in it ("parameterized type") */
@@ -2294,7 +2293,7 @@
return;
}
/* ARM template? (Also handles HP cfront extensions) */
- else if (arm_pt (work, *mangled, n, &p, &args))
+ else if (arm_pt (*mangled, n, &p, &args))
{
int hold_options;
string type_str;
Modified: branches/DARWIN/coregrind/m_main.c
===================================================================
--- branches/DARWIN/coregrind/m_main.c 2009-02-24 03:07:37 UTC (rev 9248)
+++ branches/DARWIN/coregrind/m_main.c 2009-02-24 03:17:17 UTC (rev 9249)
@@ -306,8 +306,7 @@
/* The main processing for command line options. See comments above
on early_process_cmd_line_options.
*/
-static Bool main_process_cmd_line_options( UInt* client_auxv,
- const HChar* toolname )
+static Bool main_process_cmd_line_options( const HChar* toolname )
{
// VG_(clo_log_fd) is used by all the messaging. It starts as 2 (stderr)
// and we cannot change it until we know what we are changing it to is
@@ -1195,7 +1194,6 @@
{
HChar* toolname = "memcheck"; // default to Memcheck
Int need_help = 0; // 0 = no, 1 = --help, 2 = --help-debug
- UInt* client_auxv = NULL;
ThreadId tid_main = VG_INVALID_THREADID;
Int loglevel, i;
Bool logging_to_fd;
@@ -1675,7 +1673,7 @@
VG_(debugLog)(1, "main",
"(main_) Process Valgrind's command line options, "
"setup logging\n");
- logging_to_fd = main_process_cmd_line_options(client_auxv, toolname);
+ logging_to_fd = main_process_cmd_line_options(toolname);
//--------------------------------------------------------------
// Zeroise the millisecond counter by doing a first read of it.
Modified: branches/DARWIN/coregrind/m_mallocfree.c
===================================================================
--- branches/DARWIN/coregrind/m_mallocfree.c 2009-02-24 03:07:37 UTC (rev 9248)
+++ branches/DARWIN/coregrind/m_mallocfree.c 2009-02-24 03:17:17 UTC (rev 9249)
@@ -402,25 +402,25 @@
// Read and write the lower and upper red-zone bytes of a block.
static __inline__
-void set_rz_lo_byte ( Arena* a, Block* b, UInt rz_byteno, UByte v )
+void set_rz_lo_byte ( Block* b, UInt rz_byteno, UByte v )
{
UByte* b2 = (UByte*)b;
b2[hp_overhead_szB() + sizeof(SizeT) + rz_byteno] = v;
}
static __inline__
-void set_rz_hi_byte ( Arena* a, Block* b, UInt rz_byteno, UByte v )
+void set_rz_hi_byte ( Block* b, UInt rz_byteno, UByte v )
{
UByte* b2 = (UByte*)b;
b2[get_bszB(b) - sizeof(SizeT) - rz_byteno - 1] = v;
}
static __inline__
-UByte get_rz_lo_byte ( Arena* a, Block* b, UInt rz_byteno )
+UByte get_rz_lo_byte ( Block* b, UInt rz_byteno )
{
UByte* b2 = (UByte*)b;
return b2[hp_overhead_szB() + sizeof(SizeT) + rz_byteno];
}
static __inline__
-UByte get_rz_hi_byte ( Arena* a, Block* b, UInt rz_byteno )
+UByte get_rz_hi_byte ( Block* b, UInt rz_byteno )
{
UByte* b2 = (UByte*)b;
return b2[get_bszB(b) - sizeof(SizeT) - rz_byteno - 1];
@@ -891,10 +891,10 @@
// to get_rz_hi_byte().
if (!a->clientmem && is_inuse_block(b)) {
for (i = 0; i < a->rz_szB; i++) {
- if (get_rz_lo_byte(a, b, i) !=
+ if (get_rz_lo_byte(b, i) !=
(UByte)(((Addr)b&0xff) ^ REDZONE_LO_MASK))
{BLEAT("redzone-lo");return False;}
- if (get_rz_hi_byte(a, b, i) !=
+ if (get_rz_hi_byte(b, i) !=
(UByte)(((Addr)b&0xff) ^ REDZONE_HI_MASK))
{BLEAT("redzone-hi");return False;}
}
@@ -1216,8 +1216,8 @@
set_next_b(b, NULL); // ditto
if (!a->clientmem) {
for (i = 0; i < a->rz_szB; i++) {
- set_rz_lo_byte(a, b, i, (UByte)(((Addr)b&0xff) ^ REDZONE_LO_MASK));
- set_rz_hi_byte(a, b, i, (UByte)(((Addr)b&0xff) ^ REDZONE_HI_MASK));
+ set_rz_lo_byte(b, i, (UByte)(((Addr)b&0xff) ^ REDZONE_LO_MASK));
+ set_rz_hi_byte(b, i, (UByte)(((Addr)b&0xff) ^ REDZONE_HI_MASK));
}
}
# ifdef DEBUG_MALLOC
Modified: branches/DARWIN/coregrind/m_scheduler/scheduler.c
===================================================================
--- branches/DARWIN/coregrind/m_scheduler/scheduler.c 2009-02-24 03:07:37 UTC (rev 9248)
+++ branches/DARWIN/coregrind/m_scheduler/scheduler.c 2009-02-24 03:17:17 UTC (rev 9249)
@@ -370,7 +370,7 @@
/* Set the standard set of blocked signals, used whenever we're not
running a client syscall. */
-static void block_signals(ThreadId tid)
+static void block_signals(void)
{
vki_sigset_t mask;
@@ -727,7 +727,7 @@
handler to longjmp. */
vg_assert(trc == 0);
trc = VG_TRC_FAULT_SIGNAL;
- block_signals(tid);
+ block_signals();
}
done_this_time = (Int)dispatch_ctr_SAVED - (Int)VG_(dispatch_ctr) - 0;
@@ -803,7 +803,7 @@
handler to longjmp. */
vg_assert(argblock[2] == 0); /* next guest IP was not written */
vg_assert(argblock[3] == 0); /* trc was not written */
- block_signals(tid);
+ block_signals();
retval = VG_TRC_FAULT_SIGNAL;
} else {
/* store away the guest program counter */
@@ -877,7 +877,7 @@
vg_assert(VG_(is_running_thread)(tid));
if (jumped) {
- block_signals(tid);
+ block_signals();
#if defined(VGO_darwin)
// DDD: #warning GrP fixme signals
#else
@@ -937,7 +937,7 @@
print_sched_event(tid, "entering VG_(scheduler)");
/* set the proper running signal mask */
- block_signals(tid);
+ block_signals();
vg_assert(VG_(is_running_thread)(tid));
Modified: branches/DARWIN/coregrind/m_sigframe/sigframe-x86-linux.c
===================================================================
--- branches/DARWIN/coregrind/m_sigframe/sigframe-x86-linux.c 2009-02-24 03:07:37 UTC (rev 9248)
+++ branches/DARWIN/coregrind/m_sigframe/sigframe-x86-linux.c 2009-02-24 03:17:17 UTC (rev 9249)
@@ -438,7 +438,6 @@
static void build_vg_sigframe(struct vg_sigframe *frame,
ThreadState *tst,
- const vki_sigset_t *mask,
UInt flags,
Int sigNo)
{
@@ -459,7 +458,7 @@
Addr esp_top_of_frame,
const vki_siginfo_t *siginfo,
const struct vki_ucontext *siguc,
- void *handler, UInt flags,
+ UInt flags,
const vki_sigset_t *mask,
void *restorer)
{
@@ -507,7 +506,7 @@
VG_TRACK( post_mem_write, Vg_CoreSignal, tst->tid,
esp, offsetof(struct sigframe, vg) );
- build_vg_sigframe(&frame->vg, tst, mask, flags, sigNo);
+ build_vg_sigframe(&frame->vg, tst, flags, sigNo);
return esp;
}
@@ -517,7 +516,7 @@
Addr esp_top_of_frame,
const vki_siginfo_t *siginfo,
const struct vki_ucontext *siguc,
- void *handler, UInt flags,
+ UInt flags,
const vki_sigset_t *mask,
void *restorer)
{
@@ -570,7 +569,7 @@
VG_TRACK( post_mem_write, Vg_CoreSignal, tst->tid,
esp, offsetof(struct rt_sigframe, vg) );
- build_vg_sigframe(&frame->vg, tst, mask, flags, sigNo);
+ build_vg_sigframe(&frame->vg, tst, flags, sigNo);
return esp;
}
@@ -591,10 +590,10 @@
if (flags & VKI_SA_SIGINFO)
esp = build_rt_sigframe(tst, esp_top_of_frame, siginfo, siguc,
- handler, flags, mask, restorer);
+ flags, mask, restorer);
else
esp = build_sigframe(tst, esp_top_of_frame, siginfo, siguc,
- handler, flags, mask, restorer);
+ flags, mask, restorer);
/* Set the thread so it will next run the handler. */
/* tst->m_esp = esp; also notify the tool we've updated ESP */
Modified: branches/DARWIN/coregrind/m_syswrap/syswrap-generic.c
===================================================================
--- branches/DARWIN/coregrind/m_syswrap/syswrap-generic.c 2009-02-24 03:07:37 UTC (rev 9248)
+++ branches/DARWIN/coregrind/m_syswrap/syswrap-generic.c 2009-02-24 03:17:17 UTC (rev 9249)
@@ -65,8 +65,7 @@
void notify_aspacem_of_mmap(Addr a, SizeT len, UInt prot,
UInt flags, Int fd, Off64T offset);
static
-void notify_tool_of_mmap(Addr a, SizeT len, UInt prot, Off64T offset,
- ULong di_handle);
+void notify_tool_of_mmap(Addr a, SizeT len, UInt prot, ULong di_handle);
/* Returns True iff address range is something the client can
@@ -167,7 +166,7 @@
UInt flags, Int fd, Off64T offset )
{
notify_aspacem_of_mmap(a, len, prot, flags, fd, offset);
- notify_tool_of_mmap(a, len, prot, offset, 0/*di_handle*/);
+ notify_tool_of_mmap(a, len, prot, 0/*di_handle*/);
}
static
@@ -189,8 +188,7 @@
}
static
-void notify_tool_of_mmap(Addr a, SizeT len, UInt prot, Off64T offset,
- ULong di_handle)
+void notify_tool_of_mmap(Addr a, SizeT len, UInt prot, ULong di_handle)
{
Bool rr, ww, xx;
@@ -538,7 +536,7 @@
/* Note the fact that a file descriptor was just closed. */
static
-void record_fd_close(ThreadId tid, Int fd)
+void record_fd_close(Int fd)
{
OpenFd *i = allocated_fds;
@@ -2032,7 +2030,6 @@
(Addr)sres.res, /* addr kernel actually assigned */
arg2, /* length */
arg3, /* prot */
- arg6, /* offset */
di_handle /* so the tool can refer to the read debuginfo later,
if it wants. */
);
@@ -2800,7 +2797,7 @@
POST(sys_close)
{
- if (VG_(clo_track_fds)) record_fd_close(tid, ARG1);
+ if (VG_(clo_track_fds)) record_fd_close(ARG1);
}
PRE(sys_dup)
Modified: branches/DARWIN/coregrind/m_syswrap/syswrap-main.c
===================================================================
--- branches/DARWIN/coregrind/m_syswrap/syswrap-main.c 2009-02-24 03:07:37 UTC (rev 9248)
+++ branches/DARWIN/coregrind/m_syswrap/syswrap-main.c 2009-02-24 03:17:17 UTC (rev 9249)
@@ -1217,7 +1217,7 @@
/* Add and remove signals from mask so that we end up telling the
kernel the state we actually want rather than what the client
wants. */
-static void sanitize_client_sigmask(ThreadId tid, vki_sigset_t *mask)
+static void sanitize_client_sigmask(vki_sigset_t *mask)
{
VG_(sigdelset)(mask, VKI_SIGKILL);
VG_(sigdelset)(mask, VKI_SIGSTOP);
@@ -1511,7 +1511,7 @@
PRINT(" --> [async] ... \n");
mask = tst->sig_mask;
- sanitize_client_sigmask(tid, &mask);
+ sanitize_client_sigmask(&mask);
/* Gack. More impedance matching. Copy the possibly
modified syscall args back into the guest state. */
Modified: branches/DARWIN/coregrind/m_translate.c
===================================================================
--- branches/DARWIN/coregrind/m_translate.c 2009-02-24 03:07:37 UTC (rev 9248)
+++ branches/DARWIN/coregrind/m_translate.c 2009-02-24 03:17:17 UTC (rev 9249)
@@ -1579,8 +1579,7 @@
VG_(add_to_unredir_transtab)( &vge,
nraddr,
(Addr)(&tmpbuf[0]),
- tmpbuf_used,
- do_self_check );
+ tmpbuf_used );
}
}
Modified: branches/DARWIN/coregrind/m_transtab.c
===================================================================
--- branches/DARWIN/coregrind/m_transtab.c 2009-02-24 03:07:37 UTC (rev 9248)
+++ branches/DARWIN/coregrind/m_transtab.c 2009-02-24 03:17:17 UTC (rev 9249)
@@ -1350,8 +1350,7 @@
void VG_(add_to_unredir_transtab)( VexGuestExtents* vge,
Addr64 entry,
AddrH code,
- UInt code_len,
- Bool is_self_checking )
+ UInt code_len )
{
Int i, j, code_szQ;
HChar *srcP, *dstP;
Modified: branches/DARWIN/coregrind/pub_core_transtab.h
===================================================================
--- branches/DARWIN/coregrind/pub_core_transtab.h 2009-02-24 03:07:37 UTC (rev 9248)
+++ branches/DARWIN/coregrind/pub_core_transtab.h 2009-02-24 03:17:17 UTC (rev 9249)
@@ -83,8 +83,7 @@
void VG_(add_to_unredir_transtab)( VexGuestExtents* vge,
Addr64 entry,
AddrH code,
- UInt code_len,
- Bool is_self_checking );
+ UInt code_len );
extern
Bool VG_(search_unredir_transtab) ( /*OUT*/AddrH* result,
Addr64 guest_addr );
Modified: branches/DARWIN/memcheck/mc_errors.c
===================================================================
--- branches/DARWIN/memcheck/mc_errors.c 2009-02-24 03:07:37 UTC (rev 9248)
+++ branches/DARWIN/memcheck/mc_errors.c 2009-02-24 03:17:17 UTC (rev 9249)
@@ -720,9 +720,8 @@
/* --- Called from non-generated code --- */
-/* This is for memory errors in pthread functions, as opposed to pthread API
- errors which are found by the core. */
-void MC_(record_core_mem_error) ( ThreadId tid, Bool isAddrErr, Char* msg )
+/* This is for memory errors in signal-related memory. */
+void MC_(record_core_mem_error) ( ThreadId tid, Char* msg )
{
VG_(maybe_record_error)( tid, Err_CoreMem, /*addr*/0, msg, /*extra*/NULL );
}
Modified: branches/DARWIN/memcheck/mc_include.h
===================================================================
--- branches/DARWIN/memcheck/mc_include.h 2009-02-24 03:07:37 UTC (rev 9248)
+++ branches/DARWIN/memcheck/mc_include.h 2009-02-24 03:17:17 UTC (rev 9249)
@@ -79,7 +79,7 @@
void* MC_(new_block) ( ThreadId tid,
- Addr p, SizeT size, SizeT align, UInt rzB,
+ Addr p, SizeT size, SizeT align,
Bool is_zeroed, MC_AllocKind kind,
VgHashTable table);
void MC_(handle_free) ( ThreadId tid,
@@ -322,7 +322,7 @@
void MC_(record_overlap_error) ( ThreadId tid, Char* function,
Addr src, Addr dst, SizeT szB );
-void MC_(record_core_mem_error) ( ThreadId tid, Bool isAddrErr, Char* msg );
+void MC_(record_core_mem_error) ( ThreadId tid, Char* msg );
void MC_(record_regparam_error) ( ThreadId tid, Char* msg, UInt otag );
void MC_(record_memparam_error) ( ThreadId tid, Addr a,
Bool isAddrErr, Char* msg, UInt otag );
Modified: branches/DARWIN/memcheck/mc_main.c
===================================================================
--- branches/DARWIN/memcheck/mc_main.c 2009-02-24 03:07:37 UTC (rev 9248)
+++ branches/DARWIN/memcheck/mc_main.c 2009-02-24 03:17:17 UTC (rev 9249)
@@ -3641,7 +3641,7 @@
break;
case Vg_CoreSignal:
- MC_(record_core_mem_error)( tid, /*isAddrErr*/True, s );
+ MC_(record_core_mem_error)( tid, s );
break;
default:
@@ -4412,7 +4412,6 @@
but we took them out because they ranged from not-very-helpful to
downright annoying, and they complicated the error data structures. */
static Int mc_get_or_set_vbits_for_client (
- ThreadId tid,
Addr a,
Addr vbits,
SizeT szB,
@@ -4990,12 +4989,12 @@
case VG_USERREQ__GET_VBITS:
*ret = mc_get_or_set_vbits_for_client
- ( tid, arg[1], arg[2], arg[3], False /* get them */ );
+ ( arg[1], arg[2], arg[3], False /* get them */ );
break;
case VG_USERREQ__SET_VBITS:
*ret = mc_get_or_set_vbits_for_client
- ( tid, arg[1], arg[2], arg[3], True /* set them */ );
+ ( arg[1], arg[2], arg[3], True /* set them */ );
break;
case VG_USERREQ__COUNT_LEAKS: { /* count leaked bytes */
@@ -5015,10 +5014,10 @@
case VG_USERREQ__MALLOCLIKE_BLOCK: {
Addr p = (Addr)arg[1];
SizeT sizeB = arg[2];
- UInt rzB = arg[3];
+ //UInt rzB = arg[3]; XXX: unused!
Bool is_zeroed = (Bool)arg[4];
- MC_(new_block) ( tid, p, sizeB, /*ignored*/0, rzB, is_zeroed,
+ MC_(new_block) ( tid, p, sizeB, /*ignored*/0, is_zeroed,
MC_AllocCustom, MC_(malloc_list) );
return True;
}
Modified: branches/DARWIN/memcheck/mc_malloc_wrappers.c
===================================================================
--- branches/DARWIN/memcheck/mc_malloc_wrappers.c 2009-02-24 03:07:37 UTC (rev 9248)
+++ branches/DARWIN/memcheck/mc_malloc_wrappers.c 2009-02-24 03:17:17 UTC (rev 9249)
@@ -184,7 +184,7 @@
/* Allocate memory and note change in memory available */
void* MC_(new_block) ( ThreadId tid,
- Addr p, SizeT szB, SizeT alignB, UInt rzB,
+ Addr p, SizeT szB, SizeT alignB,
Bool is_zeroed, MC_AllocKind kind, VgHashTable table)
{
ExeContext* ec;
@@ -234,8 +234,7 @@
return NULL;
} else {
return MC_(new_block) ( tid, 0, n, VG_(clo_alignment),
- MC_MALLOC_REDZONE_SZB, /*is_zeroed*/False, MC_AllocMalloc,
- MC_(malloc_list));
+ /*is_zeroed*/False, MC_AllocMalloc, MC_(malloc_list));
}
}
@@ -245,8 +244,7 @@
return NULL;
} else {
return MC_(new_block) ( tid, 0, n, VG_(clo_alignment),
- MC_MALLOC_REDZONE_SZB, /*is_zeroed*/False, MC_AllocNew,
- MC_(malloc_list));
+ /*is_zeroed*/False, MC_AllocNew, MC_(malloc_list));
}
}
@@ -256,8 +254,7 @@
return NULL;
} else {
return MC_(new_block) ( tid, 0, n, VG_(clo_alignment),
- MC_MALLOC_REDZONE_SZB, /*is_zeroed*/False, MC_AllocNewVec,
- MC_(malloc_list));
+ /*is_zeroed*/False, MC_AllocNewVec, MC_(malloc_list));
}
}
@@ -267,8 +264,7 @@
return NULL;
} else {
return MC_(new_block) ( tid, 0, n, alignB,
- MC_MALLOC_REDZONE_SZB, /*is_zeroed*/False, MC_AllocMalloc,
- MC_(malloc_list));
+ /*is_zeroed*/False, MC_AllocMalloc, MC_(malloc_list));
}
}
@@ -278,8 +274,7 @@
return NULL;
} else {
return MC_(new_block) ( tid, 0, nmemb*size1, VG_(clo_alignment),
- MC_MALLOC_REDZONE_SZB, /*is_zeroed*/True, MC_AllocMalloc,
- MC_(malloc_list));
+ /*is_zeroed*/True, MC_AllocMalloc, MC_(malloc_list));
}
}
@@ -661,7 +656,7 @@
MC_(record_illegal_mempool_error) ( tid, pool );
} else {
check_mempool_sane(mp);
- MC_(new_block)(tid, addr, szB, /*ignored*/0, mp->rzB, mp->is_zeroed,
+ MC_(new_block)(tid, addr, szB, /*ignored*/0, mp->is_zeroed,
MC_AllocCustom, mp->chunks);
check_mempool_sane(mp);
}
|
|
From: Nicholas N. <n.n...@gm...> - 2009-02-24 03:13:16
|
Hi, As a follow-up to the recent thread about -Wextra, I went through all the warnings found by -Wunused-parameters (one of the flags enabled by -Wextra). I removed some of the ones found in r9248. The summary is below. There were a number of strange things that some warnings highlighted, which I've listed under "removable, probably should be, or complicated". As for whether this warning should be enabled permanently: most of things it finds aren't important, but there are a couple of oddities that seem worth investigating. There are also lots of cases where unused params are unavoidable, but they're also easy to workaround with __attribute__((unused)) which could be #defined to VG_UNUSED or similar. Thoughts? Nick ----------------------------------------------------------------------------- removable and removed (r9248) ----------------------------------------------------------------------------- m_main.c:307: warning: unused parameter 'client_auxv' m_mallocfree.c:405: warning: unused parameter 'a' m_mallocfree.c:411: warning: unused parameter 'a' m_mallocfree.c:417: warning: unused parameter 'a' m_mallocfree.c:423: warning: unused parameter 'a' m_transtab.c:1354: warning: unused parameter 'is_self_checking' m_demangle/cplus-dem.c:2161: warning: unused parameter 'work' m_scheduler/scheduler.c:335: warning: unused parameter 'tid' m_syswrap/syswrap-main.c:739: warning: unused parameter 'tid' m_debuginfo/readdwarf.c:964: warning: unused parameter 'di' m_syswrap/syswrap-generic.c:192: warning: unused parameter 'offset' m_syswrap/syswrap-generic.c:507: warning: unused parameter 'tid' m_sigframe/sigframe-x86-linux.c:441: warning: unused parameter 'mask' m_sigframe/sigframe-x86-linux.c:462: warning: unused parameter 'handler' m_sigframe/sigframe-x86-linux.c:520: warning: unused parameter 'handler' mc_malloc_wrappers.c:186: warning: unused parameter 'rzB' mc_main.c:4414: warning: unused parameter 'tid' mc_errors.c:720: warning: unused parameter 'isAddrErr' ----------------------------------------------------------------------------- removable, probably should be, or complicated ----------------------------------------------------------------------------- // If you remove this parameter, it seems as though the 'client_stack_szB' // field isn't necessary -- AFAICT it gets set in various places but never // used, except it's printed in m_signals.c:default_action() if a SEGV // happens. ?? m_signals.c:1660: warning: unused parameter 'maxsize' // Should probably be removed by Josef. debug.c:115: warning: unused parameter 'jumpaddr' sim.c:494: warning: unused parameter 'size' callstack.c:117: warning: unused parameter 'to' callstack.c:150: warning: unused parameter 'from' dump.c:1476: warning: unused parameter 'buf' dump.c:1476: warning: unused parameter 'tid' // Not used, but it seems like it should be -- the caller makes a big deal // about this parameter. libhb_core.c:4209: warning: unused parameter 'uu_normalise' // Seems redundant, Julian should check. h_main.c:3281: warning: unused parameter 'result' // ??? libhb_core.c:4835: warning: unused parameter 'thr' // Not sure about this -- the function claims to clear the iteration flag // but is empty. m_wordfm.c:801: warning: unused parameter 'fm' // Like m_wordfm.c -- this file seems to reimplement m_wordfm.c within it! cg_merge.c:1535: warning: unused parameter 'fm' ----------------------------------------------------------------------------- removable but not removed (and why) ----------------------------------------------------------------------------- // Arguably for consistency. h_main.c:3811: warning: unused parameter 'a3' h_main.c:3811: warning: unused parameter 'a4' // Arguably worth keeping for consistency with symtab_sz. m_debuginfo/readelf.c:540: warning: unused parameter 'strtab_szB' m_debuginfo/readelf.c:638: warning: unused parameter 'strtab_szB' // Arguably worth keeping for consistency with debug_*_sz. m_debuginfo/readdwarf.c:1129: warning: unused parameter 'debug_abbv_sz' m_debuginfo/readdwarf.c:1131: warning: unused parameter 'debug_str_sz' // Arguably worth keeping for consistency with data_a_f. m_debuginfo/readdwarf.c:3033: warning: unused parameter 'code_a_f' // Arguably worth keeping for consistency with the rest of readdwarf3.c. m_debuginfo/storage.c:779: warning: unused parameter 'show' m_debuginfo/readdwarf3.c:816: warning: unused parameter 'td3' m_debuginfo/readdwarf3.c:935: warning: unused parameter 'td3' // Arguably worth keeping for consistency with other post-syscall handlers. m_syswrap/syswrap-linux.c:2680: warning: unused parameter 'res' // Could be used in the future. m_coredump/coredump-x86-linux.c:80: warning: unused parameter 'fpu' m_coredump/coredump-x86-linux.c:81: warning: unused parameter 'arch' m_sigframe/sigframe-x86-linux.c:650: warning: unused parameter 'fpstate' // Arguably worth keeping for consistency, ie. just always pass the args m_syswrap/syswrap-linux.c:2615: warning: unused parameter 'arg0' m_syswrap/syswrap-linux.c:2615: warning: unused parameter 'arg3' m_syswrap/syswrap-linux.c:2625: warning: unused parameter 'arg0' m_syswrap/syswrap-linux.c:2626: warning: unused parameter 'arg3' m_syswrap/syswrap-linux.c:2626: warning: unused parameter 'arg4' m_syswrap/syswrap-linux.c:2637: warning: unused parameter 'arg0' m_syswrap/syswrap-linux.c:2637: warning: unused parameter 'arg2' m_syswrap/syswrap-linux.c:2638: warning: unused parameter 'arg3' m_syswrap/syswrap-linux.c:2638: warning: unused parameter 'arg4' m_syswrap/syswrap-linux.c:2647: warning: unused parameter 'arg0' m_syswrap/syswrap-linux.c:2681: warning: unused parameter 'arg0' m_syswrap/syswrap-linux.c:2762: warning: unused parameter 'status' m_syswrap/syswrap-linux.c:2771: warning: unused parameter 'status' m_syswrap/syswrap-linux.c:2771: warning: unused parameter 'flags' ... lots more like it ... mc_main.c:3726: warning: unused parameter 'part' mc_main.c:3726: warning: unused parameter 'tid' mc_main.c:3765: warning: unused parameter 'part' mc_main.c:3778: warning: unused parameter 'f' mc_main.c:3787: warning: unused parameter 'part' ----------------------------------------------------------------------------- Vex ones I didn't look at ----------------------------------------------------------------------------- priv/ir/iropt.c:2174: warning: unused parameter 'ix1' priv/host-arm/hdefs.c:567: warning: unused parameter 'cond' priv/host-arm/hdefs.c:646: warning: unused parameter 'm' priv/host-arm/hdefs.c:673: warning: unused parameter 'i' priv/host-arm/hdefs.c:673: warning: unused parameter 'src' priv/host-arm/hdefs.c:673: warning: unused parameter 'dst' priv/host-x86/isel.c:3918: warning: unused parameter 'vbi' priv/host-amd64/isel.c:3887: warning: unused parameter 'vbi' priv/host-arm/isel.c:295: warning: unused parameter 'env' priv/host-arm/isel.c:296: warning: unused parameter 'passBBP' priv/host-arm/isel.c:297: warning: unused parameter 'guard' priv/host-arm/isel.c:297: warning: unused parameter 'cee' priv/host-arm/isel.c:297: warning: unused parameter 'args' priv/host-arm/isel.c:687: warning: unused parameter 'env' priv/host-arm/isel.c:687: warning: unused parameter 'e' priv/host-arm/isel.c:714: warning: unused parameter 'env' priv/host-arm/isel.c:714: warning: unused parameter 'e' priv/host-arm/isel.c:733: warning: unused parameter 'env' priv/host-arm/isel.c:733: warning: unused parameter 'e' priv/host-ppc/isel.c:534: warning: unused parameter 'env' priv/guest-generic/bb_to_IR.c:60: warning: unused parameter 'callback_opaque' priv/guest-generic/bb_to_IR.c:60: warning: unused parameter 'a' priv/guest-amd64/ghelpers.c:2070: warning: unused parameter 'portno' priv/guest-amd64/ghelpers.c:2070: warning: unused parameter 'sz' priv/guest-amd64/ghelpers.c:2101: warning: unused parameter 'portno' priv/guest-amd64/ghelpers.c:2101: warning: unused parameter 'data' priv/guest-amd64/ghelpers.c:2101: warning: unused parameter 'sz' priv/guest-arm/ghelpers.c:305: warning: unused parameter 'function_name' priv/guest-arm/ghelpers.c:306: warning: unused parameter 'args' priv/guest-arm/ghelpers.c:392: warning: unused parameter 'minoff' priv/guest-arm/ghelpers.c:393: warning: unused parameter 'maxoff' priv/guest-ppc/ghelpers.c:104: warning: unused parameter 'r269' priv/guest-ppc/ghelpers.c:181: warning: unused parameter 'function_name' priv/guest-ppc/ghelpers.c:182: warning: unused parameter 'args' priv/guest-ppc/ghelpers.c:187: warning: unused parameter 'function_name' priv/guest-ppc/ghelpers.c:188: warning: unused parameter 'args' priv/guest-x86/toIR.c:14458: warning: unused parameter 'abiinfo' priv/guest-amd64/toIR.c:2396: warning: unused parameter 'pfx' priv/guest-arm/toIR.c:178: warning: unused parameter 'byte_accessible' priv/guest-arm/toIR.c:1903: warning: unused parameter 'resteerOK' priv/guest-arm/toIR.c:1904: warning: unused parameter 'resteerOkFn' priv/guest-arm/toIR.c:1907: warning: unused parameter 'whereNext' priv/guest-ppc/toIR.c:3765: warning: unused parameter 'vbi' ----------------------------------------------------------------------------- necessary because higher-order or callback or macro or replacement-func ----------------------------------------------------------------------------- m_errormgr.c:403: warning: unused parameter 'n' m_errormgr.c:1182: warning: unused parameter 'supplocV' m_mallocfree.c:1702: warning: unused parameter 'tid' m_signals.c:1945: warning: unused parameter 'uc' m_translate.c:232: warning: unused parameter 'closureV' m_translate.c:235: warning: unused parameter 'vge' m_translate.c:236: warning: unused parameter 'gWordTy' m_translate.c:237: warning: unused parameter 'hWordTy' m_translate.c:1104: warning: unused parameter 'closureV' m_translate.c:1171: warning: unused parameter 'guest_addr' m_transtab.c:792: warning: unused parameter 'ptr' m_transtab.c:792: warning: unused parameter 'nbytes' m_syswrap/syswrap-main.c:683: warning: unused parameter 'layout' m_syswrap/syswrap-main.c:686: warning: unused parameter 'flags' m_syswrap/syswrap-linux.c:382: warning: unused parameter 'status' m_syswrap/syswrap-linux.c:663: warning: unused parameter 'arrghs' (... many more like that ...) m_syswrap/syswrap-generic.c:780: warning: unused parameter 'read' m_syswrap/syswrap-generic.c:804: warning: unused parameter 'fieldName' m_replacemalloc/vg_replace_malloc.c:473: warning: unused parameter 'cmd' m_replacemalloc/vg_replace_malloc.c:473: warning: unused parameter 'value' m_replacemalloc/vg_replace_malloc.c:509: warning: unused parameter 'pad' m_errormgr.c:403: warning: unused parameter 'n' m_errormgr.c:1182: warning: unused parameter 'supplocV' valgrind-listener.c:225: warning: unused parameter 'signo' mc_malloc_wrappers.c:486: warning: unused parameter 'tid' mc_main.c:3700: warning: unused parameter 'rr' mc_main.c:3700: warning: unused parameter 'ww' mc_main.c:3700: warning: unused parameter 'xx' mc_main.c:3700: warning: unused parameter 'di_handle' mc_main.c:3719: warning: unused parameter 'rr' mc_main.c:3719: warning: unused parameter 'ww' mc_main.c:3719: warning: unused parameter 'xx' mc_main.c:3720: warning: unused parameter 'di_handle' mc_main.c:5551: warning: unused parameter 'exitcode' mc_translate.c:3426: warning: unused parameter 'closure' mc_translate.c:3429: warning: unused parameter 'vge' mc_errors.c:845: warning: unused parameter 'res' cg_sim.c:191: warning: unused parameter 'm1' cg_main.c:908: warning: unused parameter 'layout' cg_main.c:1456: warning: unused parameter 'exitcode' cg_main.c:1623: warning: unused parameter 'orig_addr64' ms_main.c:1673: warning: unused parameter 'tid' ms_main.c:1678: warning: unused parameter 'tid' ms_main.c:1688: warning: unused parameter 'tid' ms_main.c:1733: warning: unused parameter 'a' ms_main.c:1738: warning: unused parameter 'a' ms_main.c:1743: warning: unused parameter 'a' ms_main.c:1743: warning: unused parameter 'tid' ms_main.c:1748: warning: unused parameter 'a' ms_main.c:1852: warning: unused parameter 'closure' ms_main.c:1854: warning: unused parameter 'layout' ms_main.c:1855: warning: unused parameter 'vge' ms_main.c:1856: warning: unused parameter 'gWordTy' ms_main.c:1856: warning: unused parameter 'hWordTy' ms_main.c:2129: warning: unused parameter 'exit_status' lk_main.c:603: warning: unused parameter 'closure' lk_main.c:605: warning: unused parameter 'layout' nl_main.c:39: warning: unused parameter 'closure' nl_main.c:41: warning: unused parameter 'layout' nl_main.c:42: warning: unused parameter 'vge' nl_main.c:43: warning: unused parameter 'gWordTy' nl_main.c:43: warning: unused parameter 'hWordTy' nl_main.c:48: warning: unused parameter 'exitcode' hg_errors.c:492: warning: unused parameter 'not_used' hg_errors.c:781: warning: unused parameter 'fd' hg_errors.c:781: warning: unused parameter 'buf' hg_errors.c:781: warning: unused parameter 'nBuf' hg_errors.c:782: warning: unused parameter 'su' hg_errors.c:805: warning: unused parameter 'err' hg_main.c:1465: warning: unused parameter 'tid' hg_main.c:1475: warning: unused parameter 'di_handle' hg_main.c:1674: warning: unused parameter 'part' hg_main.c:1686: warning: unused parameter 'part' hg_main.c:1700: warning: unused parameter 'part' hg_main.c:3364: warning: unused parameter 'tid' hg_main.c:3478: warning: unused parameter 'tid' hg_main.c:3621: warning: unused parameter 'closure' hg_main.c:3623: warning: unused parameter 'layout' hg_main.c:3624: warning: unused parameter 'vge' hg_main.c:4091: warning: unused parameter 'exitcode' hg_intercepts.c:1488: warning: unused parameter 'mutex' hg_intercepts.c:1488: warning: unused parameter 'recmode' hg_intercepts.c:1496: warning: unused parameter 'mutex' pc_common.c:217: warning: unused parameter 'res' h_main.c:1002: warning: unused parameter 'tid' h_main.c:1045: warning: unused parameter 'rr' h_main.c:1045: warning: unused parameter 'ww' h_main.c:1045: warning: unused parameter 'xx' h_main.c:1045: warning: unused parameter 'di_handle' h_main.c:1077: warning: unused parameter 'rr' h_main.c:1077: warning: unused parameter 'ww' h_main.c:1077: warning: unused parameter 'xx' h_main.c:1077: warning: unused parameter 'di_handle' h_main.c:1152: warning: unused parameter 'a' h_main.c:1152: warning: unused parameter 'len' h_main.c:2130: warning: unused parameter 'tid' h_main.c:2130: warning: unused parameter 'sysno' ----------------------------------------------------------------------------- necessary, used only on some platforms ----------------------------------------------------------------------------- m_machine.c:61: warning: unused parameter 'tid' m_machine.c:86: warning: unused parameter 's1err' m_machine.c:86: warning: unused parameter 's2err' m_redir.c:990: warning: unused parameter 'sym_addr' m_stacktrace.c:60: warning: unused parameter 'tid_if_known' m_stacktrace.c:63: warning: unused parameter 'lr' m_syscall.c:460: warning: unused parameter 'a7' m_syscall.c:460: warning: unused parameter 'a8' m_debuginfo/readelf.c:209: warning: unused parameter 'opd_img' m_debuginfo/readelf.c:210: warning: unused parameter 'opd_bias' h_main.c:4639: warning: unused parameter 'closure' h_main.c:4642: warning: unused parameter 'vge' h_main.c:4778: warning: unused parameter 'exitcode' sg_main.c:1057: warning: unused parameter 'a' sg_main.c:1057: warning: unused parameter 'len' sg_main.c:1058: warning: unused parameter 'rr' sg_main.c:1058: warning: unused parameter 'ww' sg_main.c:1058: warning: unused parameter 'xx' sg_main.c:1063: warning: unused parameter 'a' sg_main.c:1063: warning: unused parameter 'len' sg_main.c:1064: warning: unused parameter 'rr' sg_main.c:1064: warning: unused parameter 'ww' sg_main.c:1064: warning: unused parameter 'xx' sg_main.c:2136: warning: unused parameter 'gWordTy' sg_main.c:2417: warning: unused parameter 'exitcode' main.c:392: warning: unused parameter 'bbOut' main.c:395: warning: unused parameter 'hWordTy' main.c:497: warning: unused parameter 'layout' main.c:498: warning: unused parameter 'vge' main.c:762: warning: unused parameter 't' main.c:806: warning: unused parameter 'tid' main.c:870: warning: unused parameter 'syscallno' main.c:884: warning: unused parameter 'res' main.c:1016: warning: unused parameter 'exitcode' dump.c:1141: warning: unused parameter 'ti' dump.c:1169: warning: unused parameter 'ti' |