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
(4) |
2
(17) |
3
(9) |
4
(14) |
5
(10) |
6
(11) |
7
(8) |
|
8
(9) |
9
(11) |
10
(29) |
11
(27) |
12
(29) |
13
(36) |
14
(8) |
|
15
(18) |
16
(30) |
17
(25) |
18
(6) |
19
(16) |
20
(13) |
21
(10) |
|
22
(16) |
23
(7) |
24
(8) |
25
(13) |
26
(14) |
27
(14) |
28
(5) |
|
29
(6) |
30
(21) |
31
(14) |
|
|
|
|
|
From: <sv...@va...> - 2009-03-15 23:59:33
|
Author: njn
Date: 2009-03-15 23:59:13 +0000 (Sun, 15 Mar 2009)
New Revision: 9420
Log:
Merge r9419 (make describe-block portable) from the DARWIN branch.
Modified:
trunk/memcheck/tests/describe-block.c
trunk/memcheck/tests/describe-block.stderr.exp
Modified: trunk/memcheck/tests/describe-block.c
===================================================================
--- trunk/memcheck/tests/describe-block.c 2009-03-15 23:58:05 UTC (rev 9419)
+++ trunk/memcheck/tests/describe-block.c 2009-03-15 23:59:13 UTC (rev 9420)
@@ -2,7 +2,9 @@
int main()
{
- VALGRIND_CREATE_BLOCK(0x1000, 0x1000, "magic foople zone");
- *(char *)0x1000 = 'x';
- return 0;
+ char magic_foople_zone[0x1000];
+ VALGRIND_CREATE_BLOCK(magic_foople_zone, 0x1000, "magic foople zone");
+ VALGRIND_MAKE_MEM_NOACCESS(magic_foople_zone, 0x1000);
+ magic_foople_zone[0] = 'x';
+ return 0;
}
Modified: trunk/memcheck/tests/describe-block.stderr.exp
===================================================================
--- trunk/memcheck/tests/describe-block.stderr.exp 2009-03-15 23:58:05 UTC (rev 9419)
+++ trunk/memcheck/tests/describe-block.stderr.exp 2009-03-15 23:59:13 UTC (rev 9420)
@@ -1,16 +1,8 @@
Invalid write of size 1
- at 0x........: main (describe-block.c:6)
+ at 0x........: main (describe-block.c:8)
Address 0x........ is 0 bytes inside a magic foople zone of size 4,096 client-defined
- at 0x........: main (describe-block.c:5)
-
-Process terminating with default action of signal 11 (SIGSEGV)
- Access not within mapped region at address 0x........
at 0x........: main (describe-block.c:6)
- If you believe this happened as a result of a stack overflow in your
- program's main thread (unlikely but possible), you can try to increase
- the size of the main thread stack using the --main-stacksize= flag.
- The main thread stack size used in this run was ....
ERROR SUMMARY: 1 errors from 1 contexts (suppressed: 0 from 0)
malloc/free: in use at exit: ... bytes in ... blocks.
|
|
From: <sv...@va...> - 2009-03-15 23:58:16
|
Author: njn
Date: 2009-03-15 23:58:05 +0000 (Sun, 15 Mar 2009)
New Revision: 9419
Log:
Make describe-block portable. It now passes on Darwin.
Modified:
branches/DARWIN/memcheck/tests/describe-block.c
branches/DARWIN/memcheck/tests/describe-block.stderr.exp
Modified: branches/DARWIN/memcheck/tests/describe-block.c
===================================================================
--- branches/DARWIN/memcheck/tests/describe-block.c 2009-03-15 23:47:51 UTC (rev 9418)
+++ branches/DARWIN/memcheck/tests/describe-block.c 2009-03-15 23:58:05 UTC (rev 9419)
@@ -2,7 +2,9 @@
int main()
{
- VALGRIND_CREATE_BLOCK(0x1000, 0x1000, "magic foople zone");
- *(char *)0x1000 = 'x';
- return 0;
+ char magic_foople_zone[0x1000];
+ VALGRIND_CREATE_BLOCK(magic_foople_zone, 0x1000, "magic foople zone");
+ VALGRIND_MAKE_MEM_NOACCESS(magic_foople_zone, 0x1000);
+ magic_foople_zone[0] = 'x';
+ return 0;
}
Modified: branches/DARWIN/memcheck/tests/describe-block.stderr.exp
===================================================================
--- branches/DARWIN/memcheck/tests/describe-block.stderr.exp 2009-03-15 23:47:51 UTC (rev 9418)
+++ branches/DARWIN/memcheck/tests/describe-block.stderr.exp 2009-03-15 23:58:05 UTC (rev 9419)
@@ -1,16 +1,8 @@
Invalid write of size 1
- at 0x........: main (describe-block.c:6)
+ at 0x........: main (describe-block.c:8)
Address 0x........ is 0 bytes inside a magic foople zone of size 4,096 client-defined
- at 0x........: main (describe-block.c:5)
-
-Process terminating with default action of signal 11 (SIGSEGV)
- Access not within mapped region at address 0x........
at 0x........: main (describe-block.c:6)
- If you believe this happened as a result of a stack overflow in your
- program's main thread (unlikely but possible), you can try to increase
- the size of the main thread stack using the --main-stacksize= flag.
- The main thread stack size used in this run was ....
ERROR SUMMARY: 1 errors from 1 contexts (suppressed: 0 from 0)
malloc/free: in use at exit: ... bytes in ... blocks.
|
|
From: <sv...@va...> - 2009-03-15 23:48:11
|
Author: njn
Date: 2009-03-15 23:47:51 +0000 (Sun, 15 Mar 2009)
New Revision: 9418
Log:
Do r9414 properly.
Modified:
branches/DARWIN/coregrind/m_signals.c
Modified: branches/DARWIN/coregrind/m_signals.c
===================================================================
--- branches/DARWIN/coregrind/m_signals.c 2009-03-15 23:39:46 UTC (rev 9417)
+++ branches/DARWIN/coregrind/m_signals.c 2009-03-15 23:47:51 UTC (rev 9418)
@@ -1567,6 +1567,9 @@
{
vki_siginfo_t info;
struct vki_ucontext uc;
+# if defined(VGP_x86_darwin) || defined(VGP_amd64_darwin)
+ struct __darwin_mcontext32 mc;
+# endif
vg_assert(VG_(threads)[tid].status == VgTs_Runnable);
@@ -1582,13 +1585,10 @@
breakpoint trap... */
# elif defined(VGP_x86_darwin) || defined(VGP_amd64_darwin)
/* the same thing, but using Darwin field/struct names */
- {
- struct __darwin_mcontext32 mc;
- VG_(memset)(&mc, 0, sizeof(mc));
- uc.uc_mcontext = &mc;
- uc.uc_mcontext->__es.__trapno = 3;
- uc.uc_mcontext->__es.__err = 0;
- }
+ VG_(memset)(&mc, 0, sizeof(mc));
+ uc.uc_mcontext = &mc;
+ uc.uc_mcontext->__es.__trapno = 3;
+ uc.uc_mcontext->__es.__err = 0;
# endif
resume_scheduler(tid);
|
|
From: <sv...@va...> - 2009-03-15 23:39:58
|
Author: njn
Date: 2009-03-15 23:39:46 +0000 (Sun, 15 Mar 2009)
New Revision: 9417
Log:
Merge r9416 (Clang Static Analyzer fixes) from the trunk.
Modified:
branches/DARWIN/cachegrind/cg_main.c
branches/DARWIN/callgrind/bbcc.c
branches/DARWIN/callgrind/dump.c
branches/DARWIN/coregrind/m_aspacemgr/aspacemgr-common.c
branches/DARWIN/coregrind/m_aspacemgr/aspacemgr-linux.c
branches/DARWIN/coregrind/m_aspacemgr/priv_aspacemgr.h
branches/DARWIN/coregrind/m_coredump/coredump-elf.c
branches/DARWIN/coregrind/m_debuginfo/readdwarf.c
branches/DARWIN/coregrind/m_debuginfo/readdwarf3.c
branches/DARWIN/coregrind/m_debuginfo/readelf.c
branches/DARWIN/coregrind/m_debuginfo/storage.c
branches/DARWIN/coregrind/m_demangle/cplus-dem.c
branches/DARWIN/coregrind/m_errormgr.c
branches/DARWIN/coregrind/m_initimg/initimg-linux.c
branches/DARWIN/coregrind/m_mallocfree.c
branches/DARWIN/coregrind/m_replacemalloc/vg_replace_malloc.c
branches/DARWIN/exp-ptrcheck/h_main.c
branches/DARWIN/helgrind/hg_main.c
branches/DARWIN/helgrind/libhb_core.c
branches/DARWIN/include/pub_tool_mallocfree.h
branches/DARWIN/massif/ms_main.c
branches/DARWIN/memcheck/mc_main.c
branches/DARWIN/memcheck/mc_translate.c
Modified: branches/DARWIN/cachegrind/cg_main.c
===================================================================
--- branches/DARWIN/cachegrind/cg_main.c 2009-03-15 23:25:38 UTC (rev 9416)
+++ branches/DARWIN/cachegrind/cg_main.c 2009-03-15 23:39:46 UTC (rev 9417)
@@ -1341,7 +1341,6 @@
VG_(sprintf)(buf, "fn=%s\n", currFn);
VG_(write)(fd, (void*)buf, VG_(strlen)(buf));
distinct_fns++;
- just_hit_a_new_file = False;
}
// Print the LineCC
@@ -1454,8 +1453,7 @@
BranchCC B_total;
ULong L2_total_m, L2_total_mr, L2_total_mw,
L2_total, L2_total_r, L2_total_w;
- Int l1, l2, l3, l4;
- Int p;
+ Int l1, l2, l3;
/* Running with both cache and branch simulation disabled is not
allowed (checked during command line option processing). */
@@ -1466,12 +1464,13 @@
if (VG_(clo_verbosity) == 0)
return;
+ #define MAX(a, b) ((a) >= (b) ? (a) : (b))
+
/* I cache results. Use the I_refs value to determine the first column
* width. */
l1 = ULong_width(Ir_total.a);
- l2 = ULong_width(Dr_total.a);
- l3 = ULong_width(Dw_total.a);
- l4 = ULong_width(Bc_total.b + Bi_total.b);
+ l2 = ULong_width(MAX(Dr_total.a, Bc_total.b));
+ l3 = ULong_width(MAX(Dw_total.a, Bi_total.b));
/* Make format string, getting width right for numbers */
VG_(sprintf)(fmt, "%%s %%,%dllu", l1);
@@ -1485,8 +1484,6 @@
VG_UMSG(fmt, "I1 misses: ", Ir_total.m1);
VG_UMSG(fmt, "L2i misses: ", Ir_total.m2);
- p = 100;
-
if (0 == Ir_total.a) Ir_total.a = 1;
VG_(percentify)(Ir_total.m1, Ir_total.a, 2, l1+1, buf1);
VG_UMSG("I1 miss rate: %s", buf1);
@@ -1511,8 +1508,6 @@
VG_UMSG(fmt, "L2d misses: ",
D_total.m2, Dr_total.m2, Dw_total.m2);
- p = 10;
-
if (0 == D_total.a) D_total.a = 1;
if (0 == Dr_total.a) Dr_total.a = 1;
if (0 == Dw_total.a) Dw_total.a = 1;
Modified: branches/DARWIN/callgrind/bbcc.c
===================================================================
--- branches/DARWIN/callgrind/bbcc.c 2009-03-15 23:25:38 UTC (rev 9416)
+++ branches/DARWIN/callgrind/bbcc.c 2009-03-15 23:39:46 UTC (rev 9417)
@@ -480,7 +480,6 @@
/* RET at top of call stack */
BBCC* source_bbcc;
BB* source_bb;
- jCC* jcc;
Bool seen_before;
fn_node* caller;
int fn_number, *pactive;
@@ -533,7 +532,6 @@
(Addr)-1, False);
call_entry_up =
&(CLG_(current_call_stack).entry[CLG_(current_call_stack).sp -1]);
- jcc = call_entry_up->jcc;
/* assume this call is lasting since last dump or
* for a signal handler since it's call */
if (CLG_(current_state).sig == 0)
Modified: branches/DARWIN/callgrind/dump.c
===================================================================
--- branches/DARWIN/callgrind/dump.c 2009-03-15 23:25:38 UTC (rev 9416)
+++ branches/DARWIN/callgrind/dump.c 2009-03-15 23:39:46 UTC (rev 9417)
@@ -185,19 +185,19 @@
static void print_obj(Char* buf, obj_node* obj)
{
- int n;
+ //int n;
if (CLG_(clo).compress_strings) {
CLG_ASSERT(obj_dumped != 0);
if (obj_dumped[obj->number])
- n = VG_(sprintf)(buf, "(%d)\n", obj->number);
+ /*n =*/ VG_(sprintf)(buf, "(%d)\n", obj->number);
else {
- n = VG_(sprintf)(buf, "(%d) %s\n",
+ /*n =*/ VG_(sprintf)(buf, "(%d) %s\n",
obj->number, obj->name);
}
}
else
- n = VG_(sprintf)(buf, "%s\n", obj->name);
+ /*n =*/ VG_(sprintf)(buf, "%s\n", obj->name);
#if 0
/* add mapping parameters the first time a object is dumped
@@ -1296,7 +1296,7 @@
i += VG_(sprintf)(filename+i, ".%d", out_counter);
if (CLG_(clo).separate_threads)
- i += VG_(sprintf)(filename+i, "-%02d", tid);
+ VG_(sprintf)(filename+i, "-%02d", tid);
res = VG_(open)(filename, VKI_O_WRONLY|VKI_O_TRUNC, 0);
}
Modified: branches/DARWIN/coregrind/m_aspacemgr/aspacemgr-common.c
===================================================================
--- branches/DARWIN/coregrind/m_aspacemgr/aspacemgr-common.c 2009-03-15 23:25:38 UTC (rev 9416)
+++ branches/DARWIN/coregrind/m_aspacemgr/aspacemgr-common.c 2009-03-15 23:39:46 UTC (rev 9417)
@@ -50,6 +50,7 @@
// Simple assert and assert-like fns, which avoid dependence on
// m_libcassert, and hence on the entire debug-info reader swamp
+__attribute__ ((noreturn))
void ML_(am_exit)( Int status )
{
# if defined(VGO_linux)
Modified: branches/DARWIN/coregrind/m_aspacemgr/aspacemgr-linux.c
===================================================================
--- branches/DARWIN/coregrind/m_aspacemgr/aspacemgr-linux.c 2009-03-15 23:25:38 UTC (rev 9416)
+++ branches/DARWIN/coregrind/m_aspacemgr/aspacemgr-linux.c 2009-03-15 23:39:46 UTC (rev 9417)
@@ -928,9 +928,10 @@
have a sloppyXcheck mode which we enable on x86 - in this mode we
allow the kernel to report execute permission when we weren't
expecting it but not vice versa. */
- sloppyXcheck = False;
# if defined(VGA_x86)
sloppyXcheck = True;
+# else
+ sloppyXcheck = False;
# endif
/* NSegments iLo .. iHi inclusive should agree with the presented
Modified: branches/DARWIN/coregrind/m_aspacemgr/priv_aspacemgr.h
===================================================================
--- branches/DARWIN/coregrind/m_aspacemgr/priv_aspacemgr.h 2009-03-15 23:25:38 UTC (rev 9416)
+++ branches/DARWIN/coregrind/m_aspacemgr/priv_aspacemgr.h 2009-03-15 23:39:46 UTC (rev 9417)
@@ -63,10 +63,12 @@
This is important since most of the system itself depends on
aspacem, so we have to do this to avoid a circular dependency. */
+__attribute__ ((noreturn))
extern void ML_(am_exit) ( Int status );
extern void ML_(am_barf) ( HChar* what );
extern void ML_(am_barf_toolow) ( HChar* what );
+__attribute__ ((noreturn))
extern void ML_(am_assert_fail) ( const HChar* expr,
const Char* file,
Int line,
Modified: branches/DARWIN/coregrind/m_coredump/coredump-elf.c
===================================================================
--- branches/DARWIN/coregrind/m_coredump/coredump-elf.c 2009-03-15 23:25:38 UTC (rev 9416)
+++ branches/DARWIN/coregrind/m_coredump/coredump-elf.c 2009-03-15 23:39:46 UTC (rev 9417)
@@ -432,12 +432,10 @@
continue;
if (phdrs[idx].p_filesz > 0) {
- Int ret;
-
vg_assert(VG_(lseek)(core_fd, phdrs[idx].p_offset, VKI_SEEK_SET) == phdrs[idx].p_offset);
vg_assert(seg->end - seg->start >= phdrs[idx].p_filesz);
- ret = VG_(write)(core_fd, (void *)seg->start, phdrs[idx].p_filesz);
+ (void)VG_(write)(core_fd, (void *)seg->start, phdrs[idx].p_filesz);
}
idx++;
}
Modified: branches/DARWIN/coregrind/m_debuginfo/readdwarf.c
===================================================================
--- branches/DARWIN/coregrind/m_debuginfo/readdwarf.c 2009-03-15 23:25:38 UTC (rev 9416)
+++ branches/DARWIN/coregrind/m_debuginfo/readdwarf.c 2009-03-15 23:39:46 UTC (rev 9417)
@@ -883,7 +883,7 @@
break;
case DW_LNS_set_isa:
- adv = read_leb128 (data, & bytes_read, 0);
+ /*adv =*/ read_leb128 (data, & bytes_read, 0);
data += bytes_read;
if (di->ddump_line)
VG_(printf)(" DWARF2-line: set_isa\n");
@@ -2904,7 +2904,7 @@
case DW_CFA_GNU_args_size:
/* No idea what is supposed to happen. gdb-6.3 simply
ignores these. */
- off = read_leb128( &instr[i], &nleb, 0 );
+ /*off = */ read_leb128( &instr[i], &nleb, 0 );
i += nleb;
if (di->ddump_frames)
VG_(printf)(" rci:DW_CFA_GNU_args_size (ignored)\n");
Modified: branches/DARWIN/coregrind/m_debuginfo/readdwarf3.c
===================================================================
--- branches/DARWIN/coregrind/m_debuginfo/readdwarf3.c 2009-03-15 23:25:38 UTC (rev 9416)
+++ branches/DARWIN/coregrind/m_debuginfo/readdwarf3.c 2009-03-15 23:39:46 UTC (rev 9417)
@@ -345,7 +345,6 @@
vg_assert(0);
}
-
/* Read a DWARF3 'Initial Length' field */
static ULong get_Initial_Length ( /*OUT*/Bool* is64,
Cursor* c,
@@ -979,13 +978,13 @@
/* Now iterate though the table until we find the requested
entry. */
while (True) {
- ULong atag;
- UInt has_children;
+ //ULong atag;
+ //UInt has_children;
acode = get_ULEB128( c );
if (acode == 0) break; /* end of the table */
if (acode == abbv_code) break; /* found it */
- atag = get_ULEB128( c );
- has_children = get_UChar( c );
+ /*atag = */ get_ULEB128( c );
+ /*has_children = */ get_UChar( c );
//TRACE_D3(" %llu %s [%s]\n",
// acode, pp_DW_TAG(atag), pp_DW_children(has_children));
while (True) {
@@ -1352,13 +1351,7 @@
Bool is_dw64;
Cursor c;
Word i;
- ULong unit_length;
UShort version;
- ULong header_length;
- UChar minimum_instruction_length;
- UChar default_is_stmt;
- Char line_base;
- UChar line_range;
UChar opcode_base;
UChar* str;
@@ -1371,18 +1364,18 @@
cc->debug_line_sz, debug_line_offset, cc->barf,
"Overrun whilst reading .debug_line section(1)" );
- unit_length
- = get_Initial_Length( &is_dw64, &c,
+ /* unit_length = */
+ get_Initial_Length( &is_dw64, &c,
"read_filename_table: invalid initial-length field" );
version = get_UShort( &c );
if (version != 2)
cc->barf("read_filename_table: Only DWARF version 2 line info "
"is currently supported.");
- header_length = (ULong)get_Dwarfish_UWord( &c, is_dw64 );
- minimum_instruction_length = get_UChar( &c );
- default_is_stmt = get_UChar( &c );
- line_base = (Char)get_UChar( &c );
- line_range = get_UChar( &c );
+ /*header_length = (ULong)*/ get_Dwarfish_UWord( &c, is_dw64 );
+ /*minimum_instruction_length = */ get_UChar( &c );
+ /*default_is_stmt = */ get_UChar( &c );
+ /*line_base = (Char)*/ get_UChar( &c );
+ /*line_range = */ get_UChar( &c );
opcode_base = get_UChar( &c );
/* skip over "standard_opcode_lengths" */
for (i = 1; i < (Word)opcode_base; i++)
@@ -1633,7 +1626,6 @@
GExpr* gexpr = NULL;
Int n_attrs = 0;
UWord abs_ori = (UWord)D3_INVALID_CUOFF;
- Bool declaration = False;
Int lineNo = 0;
UChar* fileName = NULL;
while (True) {
@@ -1663,7 +1655,7 @@
abs_ori = (UWord)cts;
}
if (attr == DW_AT_declaration && ctsSzB > 0 && cts > 0) {
- declaration = True;
+ /*declaration = True;*/
}
if (attr == DW_AT_decl_line && ctsSzB > 0) {
lineNo = (Int)cts;
@@ -2478,7 +2470,6 @@
Bool have_count = False;
Long lower = 0;
Long upper = 0;
- Long count = 0;
switch (parser->language) {
case 'C': have_lower = True; lower = 0; break;
@@ -2506,7 +2497,7 @@
have_upper = True;
}
if (attr == DW_AT_count && ctsSzB > 0) {
- count = cts;
+ /*count = (Long)cts;*/
have_count = True;
}
}
Modified: branches/DARWIN/coregrind/m_debuginfo/readelf.c
===================================================================
--- branches/DARWIN/coregrind/m_debuginfo/readelf.c 2009-03-15 23:25:38 UTC (rev 9416)
+++ branches/DARWIN/coregrind/m_debuginfo/readelf.c 2009-03-15 23:39:46 UTC (rev 9417)
@@ -219,7 +219,10 @@
Bool* is_text_out /* is this a text symbol? */
)
{
- Bool plausible, is_in_opd;
+ Bool plausible;
+# if defined(VGP_ppc64_linux)
+ Bool is_in_opd;
+# endif
Bool in_text, in_data, in_sdata, in_rodata, in_bss, in_sbss;
/* Set defaults */
@@ -365,7 +368,9 @@
See thread starting at
http://gcc.gnu.org/ml/gcc-patches/2004-08/msg00557.html
*/
+# if defined(VGP_ppc64_linux)
is_in_opd = False;
+# endif
if (di->opd_present
&& di->opd_size > 0
@@ -644,7 +649,7 @@
Addr sym_svma, sym_avma_really;
Char *sym_name, *sym_name_really;
Int sym_size;
- Addr sym_tocptr, old_tocptr;
+ Addr sym_tocptr;
Bool from_opd, modify_size, modify_tocptr, is_text;
DiSym risym;
ElfXX_Sym *sym;
@@ -699,7 +704,6 @@
modify_size = False;
modify_tocptr = False;
old_size = 0;
- old_tocptr = 0;
if (prev->from_opd && !from_opd
&& (prev->size == 24 || prev->size == 16)
@@ -720,7 +724,6 @@
shouldn't currently have an known TOC ptr. */
vg_assert(prev->tocptr == 0);
modify_tocptr = True;
- old_tocptr = prev->tocptr;
prev->tocptr = sym_tocptr;
}
else {
Modified: branches/DARWIN/coregrind/m_debuginfo/storage.c
===================================================================
--- branches/DARWIN/coregrind/m_debuginfo/storage.c 2009-03-15 23:25:38 UTC (rev 9416)
+++ branches/DARWIN/coregrind/m_debuginfo/storage.c 2009-03-15 23:39:46 UTC (rev 9417)
@@ -987,7 +987,7 @@
/* All the rest of this is for the local-scope case. */
/* iterate over all entries in 'scope' */
nInThisScope = 0;
- range = rangep = NULL;
+ rangep = NULL;
VG_(OSetGen_ResetIter)(scope);
while (True) {
range = VG_(OSetGen_Next)(scope);
@@ -1071,7 +1071,6 @@
static DiSym* prefersym ( struct _DebugInfo* di, DiSym* a, DiSym* b )
{
Word cmp;
- Word lena, lenb; /* full length */
Word vlena, vlenb; /* length without version */
const UChar *vpa, *vpb;
@@ -1080,8 +1079,8 @@
vg_assert(a->addr == b->addr);
- vlena = lena = VG_(strlen)(a->name);
- vlenb = lenb = VG_(strlen)(b->name);
+ vlena = VG_(strlen)(a->name);
+ vlenb = VG_(strlen)(b->name);
#if defined(VGO_darwin)
#define VERSION_CHAR '$'
Modified: branches/DARWIN/coregrind/m_demangle/cplus-dem.c
===================================================================
--- branches/DARWIN/coregrind/m_demangle/cplus-dem.c 2009-03-15 23:25:38 UTC (rev 9416)
+++ branches/DARWIN/coregrind/m_demangle/cplus-dem.c 2009-03-15 23:39:46 UTC (rev 9417)
@@ -1295,7 +1295,7 @@
break;
case 'K':
- oldmangled = *mangled;
+ //oldmangled = *mangled;
success = demangle_qualified (work, mangled, declp, 1, 0);
if (AUTO_DEMANGLING || GNU_DEMANGLING)
{
Modified: branches/DARWIN/coregrind/m_errormgr.c
===================================================================
--- branches/DARWIN/coregrind/m_errormgr.c 2009-03-15 23:25:38 UTC (rev 9416)
+++ branches/DARWIN/coregrind/m_errormgr.c 2009-03-15 23:39:46 UTC (rev 9417)
@@ -957,7 +957,6 @@
SuppLoc tmp_callers[VG_MAX_SUPP_CALLERS];
Bool rdar = False;
- fd = -1;
sres = VG_(open)( filename, VKI_O_RDONLY, 0 );
if (sres.isError) {
if (VG_(clo_xml))
Modified: branches/DARWIN/coregrind/m_initimg/initimg-linux.c
===================================================================
--- branches/DARWIN/coregrind/m_initimg/initimg-linux.c 2009-03-15 23:25:38 UTC (rev 9416)
+++ branches/DARWIN/coregrind/m_initimg/initimg-linux.c 2009-03-15 23:39:46 UTC (rev 9417)
@@ -179,6 +179,10 @@
VG_(memset)(info, 0, sizeof(*info));
ret = VG_(do_exec)(exe_name, info);
+ if (ret < 0) {
+ VG_(printf)("valgrind: could not execute '%s'\n", exe_name);
+ VG_(exit)(1);
+ }
// The client was successfully loaded! Continue.
@@ -240,6 +244,8 @@
Int preload_string_len = preload_core_path_len + preload_tool_path_len;
HChar* preload_string = VG_(malloc)("initimg-linux.sce.1",
preload_string_len);
+ vg_assert(origenv);
+ vg_assert(toolname);
vg_assert(preload_string);
/* Determine if there's a vgpreload_<tool>_<platform>.so file, and setup
Modified: branches/DARWIN/coregrind/m_mallocfree.c
===================================================================
--- branches/DARWIN/coregrind/m_mallocfree.c 2009-03-15 23:25:38 UTC (rev 9416)
+++ branches/DARWIN/coregrind/m_mallocfree.c 2009-03-15 23:39:46 UTC (rev 9417)
@@ -602,6 +602,7 @@
/*--- Superblock management ---*/
/*------------------------------------------------------------*/
+__attribute__((noreturn))
void VG_(out_of_memory_NORETURN) ( HChar* who, SizeT szB )
{
static Bool alreadyCrashing = False;
Modified: branches/DARWIN/coregrind/m_replacemalloc/vg_replace_malloc.c
===================================================================
--- branches/DARWIN/coregrind/m_replacemalloc/vg_replace_malloc.c 2009-03-15 23:25:38 UTC (rev 9416)
+++ branches/DARWIN/coregrind/m_replacemalloc/vg_replace_malloc.c 2009-03-15 23:39:46 UTC (rev 9417)
@@ -66,6 +66,7 @@
executable too.
*/
+__attribute__ ((__noreturn__))
extern void _exit(int);
/* Apparently it is necessary to make ourselves free of any dependency
Modified: branches/DARWIN/exp-ptrcheck/h_main.c
===================================================================
--- branches/DARWIN/exp-ptrcheck/h_main.c 2009-03-15 23:25:38 UTC (rev 9416)
+++ branches/DARWIN/exp-ptrcheck/h_main.c 2009-03-15 23:39:46 UTC (rev 9417)
@@ -1163,7 +1163,6 @@
Addr s/*tart*/, Addr e/*nd*/ )
{
Seg *seglo, *seghi;
- Bool s_in_seglo, s_in_seghi, e_in_seglo, e_in_seghi;
// Don't check code being translated -- very slow, and not much point
if (Vg_CoreTranslate == part) return;
@@ -1183,22 +1182,7 @@
tl_assert( BOTTOM != seglo && NONPTR != seglo );
tl_assert( BOTTOM != seghi && NONPTR != seghi );
- /* so seglo and seghi are either UNKNOWN or P(..) */
- s_in_seglo
- = is_known_segment(seglo)
- && seglo->addr <= s && s < seglo->addr + seglo->szB;
- s_in_seghi
- = is_known_segment(seghi)
- && seghi->addr <= s && s < seghi->addr + seghi->szB;
- e_in_seglo
- = is_known_segment(seglo)
- && seglo->addr <= e && e < seglo->addr + seglo->szB;
- e_in_seghi
- = is_known_segment(seghi)
- && seghi->addr <= e && e < seghi->addr + seghi->szB;
-
- /* record an error if start and end are in different, but known
- segments */
+ /* record an error if start and end are in different, but known segments */
if (is_known_segment(seglo) && is_known_segment(seghi)
&& seglo != seghi) {
h_record_sysparam_error(tid, part, str, s, e, seglo, seghi);
Modified: branches/DARWIN/helgrind/hg_main.c
===================================================================
--- branches/DARWIN/helgrind/hg_main.c 2009-03-15 23:25:38 UTC (rev 9416)
+++ branches/DARWIN/helgrind/hg_main.c 2009-03-15 23:39:46 UTC (rev 9417)
@@ -413,10 +413,8 @@
static void pp_map_threads ( Int d )
{
- Int i, n;
- n = 0;
+ Int i, n = 0;
space(d); VG_(printf)("map_threads ");
- n = 0;
for (i = 0; i < VG_N_THREADS; i++) {
if (map_threads[i] != NULL)
n++;
Modified: branches/DARWIN/helgrind/libhb_core.c
===================================================================
--- branches/DARWIN/helgrind/libhb_core.c 2009-03-15 23:25:38 UTC (rev 9416)
+++ branches/DARWIN/helgrind/libhb_core.c 2009-03-15 23:39:46 UTC (rev 9417)
@@ -1724,7 +1724,6 @@
ULong tyma, tymb, tymMax;
Thr* thr;
VTS* res;
- ScalarTS *tmpa, *tmpb;
tl_assert(a && a->ts);
tl_assert(b && b->ts);
@@ -1742,43 +1741,38 @@
scalar timestamps, taking into account implicit zeroes. */
tl_assert(ia >= 0 && ia <= useda);
tl_assert(ib >= 0 && ib <= usedb);
- tmpa = tmpb = NULL;
- if (ia == useda && ib == usedb) {
+ if (ia == useda && ib == usedb) {
/* both empty - done */
break;
- }
- else
- if (ia == useda && ib != usedb) {
+
+ } else if (ia == useda && ib != usedb) {
/* a empty, use up b */
- tmpb = VG_(indexXA)( b->ts, ib );
+ ScalarTS* tmpb = VG_(indexXA)( b->ts, ib );
thr = tmpb->thr;
tyma = 0;
tymb = tmpb->tym;
ib++;
- }
- else
- if (ia != useda && ib == usedb) {
+
+ } else if (ia != useda && ib == usedb) {
/* b empty, use up a */
- tmpa = VG_(indexXA)( a->ts, ia );
+ ScalarTS* tmpa = VG_(indexXA)( a->ts, ia );
thr = tmpa->thr;
tyma = tmpa->tym;
tymb = 0;
ia++;
- }
- else {
+
+ } else {
/* both not empty; extract lowest-Thr*'d triple */
- tmpa = VG_(indexXA)( a->ts, ia );
- tmpb = VG_(indexXA)( b->ts, ib );
+ ScalarTS* tmpa = VG_(indexXA)( a->ts, ia );
+ ScalarTS* tmpb = VG_(indexXA)( b->ts, ib );
if (tmpa->thr < tmpb->thr) {
/* a has the lowest unconsidered Thr* */
thr = tmpa->thr;
tyma = tmpa->tym;
tymb = 0;
ia++;
- }
- else
- if (tmpa->thr > tmpb->thr) {
+ } else if (tmpa->thr > tmpb->thr) {
/* b has the lowest unconsidered Thr* */
thr = tmpb->thr;
tyma = 0;
@@ -1819,8 +1813,6 @@
{
Word ia, ib, useda, usedb;
ULong tyma, tymb;
- Thr* thr;
- ScalarTS *tmpa, *tmpb;
Bool all_leq = True;
Bool all_geq = True;
@@ -1834,43 +1826,36 @@
while (1) {
- /* This logic is to enumerate triples (thr, tyma, tymb) drawn
- from a and b in order, where thr is the next Thr*
- occurring in either a or b, and tyma/b are the relevant
+ /* This logic is to enumerate doubles (tyma, tymb) drawn
+ from a and b in order, and tyma/b are the relevant
scalar timestamps, taking into account implicit zeroes. */
tl_assert(ia >= 0 && ia <= useda);
tl_assert(ib >= 0 && ib <= usedb);
- tmpa = tmpb = NULL;
- if (ia == useda && ib == usedb) {
+ if (ia == useda && ib == usedb) {
/* both empty - done */
break;
- }
- else
- if (ia == useda && ib != usedb) {
+
+ } else if (ia == useda && ib != usedb) {
/* a empty, use up b */
- tmpb = VG_(indexXA)( b->ts, ib );
- thr = tmpb->thr;
+ ScalarTS* tmpb = VG_(indexXA)( b->ts, ib );
tyma = 0;
tymb = tmpb->tym;
ib++;
- }
- else
- if (ia != useda && ib == usedb) {
+
+ } else if (ia != useda && ib == usedb) {
/* b empty, use up a */
- tmpa = VG_(indexXA)( a->ts, ia );
- thr = tmpa->thr;
+ ScalarTS* tmpa = VG_(indexXA)( a->ts, ia );
tyma = tmpa->tym;
tymb = 0;
ia++;
- }
- else {
+
+ } else {
/* both not empty; extract lowest-Thr*'d triple */
- tmpa = VG_(indexXA)( a->ts, ia );
- tmpb = VG_(indexXA)( b->ts, ib );
+ ScalarTS* tmpa = VG_(indexXA)( a->ts, ia );
+ ScalarTS* tmpb = VG_(indexXA)( b->ts, ib );
if (tmpa->thr < tmpb->thr) {
/* a has the lowest unconsidered Thr* */
- thr = tmpa->thr;
tyma = tmpa->tym;
tymb = 0;
ia++;
@@ -1878,14 +1863,12 @@
else
if (tmpa->thr > tmpb->thr) {
/* b has the lowest unconsidered Thr* */
- thr = tmpb->thr;
tyma = 0;
tymb = tmpb->tym;
ib++;
} else {
/* they both next mention the same Thr* */
tl_assert(tmpa->thr == tmpb->thr);
- thr = tmpa->thr; /* == tmpb->thr */
tyma = tmpa->tym;
tymb = tmpb->tym;
ia++;
@@ -1893,7 +1876,7 @@
}
}
- /* having laboriously determined (thr, tyma, tymb), do something
+ /* having laboriously determined (tyma, tymb), do something
useful with it. */
if (tyma < tymb)
all_geq = False;
@@ -4002,7 +3985,8 @@
void zsm_apply64___msm_read ( Thr* thr, Addr a ) {
CacheLine* cl;
- UWord cloff, tno, toff;
+ UWord cloff, tno;
+ //UWord toff;
SVal svOld, svNew;
UShort descr;
stats__cline_read64s++;
@@ -4010,7 +3994,7 @@
cl = get_cacheline(a);
cloff = get_cacheline_offset(a);
tno = get_treeno(a);
- toff = get_tree_offset(a); /* == 0, unused */
+ //toff = get_tree_offset(a); /* == 0, unused */
descr = cl->descrs[tno];
if (UNLIKELY( !(descr & TREE_DESCR_64) )) {
goto slowcase;
@@ -4028,7 +4012,8 @@
void zsm_apply64___msm_write ( Thr* thr, Addr a ) {
CacheLine* cl;
- UWord cloff, tno, toff;
+ UWord cloff, tno;
+ //UWord toff;
SVal svOld, svNew;
UShort descr;
stats__cline_read64s++;
@@ -4036,7 +4021,7 @@
cl = get_cacheline(a);
cloff = get_cacheline_offset(a);
tno = get_treeno(a);
- toff = get_tree_offset(a); /* == 0, unused */
+ //toff = get_tree_offset(a); /* == 0, unused */
descr = cl->descrs[tno];
if (UNLIKELY( !(descr & TREE_DESCR_64) )) {
goto slowcase;
@@ -4162,13 +4147,14 @@
static
void zsm_write64 ( Addr a, SVal svNew ) {
CacheLine* cl;
- UWord cloff, tno, toff;
+ UWord cloff, tno;
+ //UWord toff;
stats__cline_set64s++;
if (UNLIKELY(!aligned64(a))) goto slowcase;
cl = get_cacheline(a);
cloff = get_cacheline_offset(a);
tno = get_treeno(a);
- toff = get_tree_offset(a); /* == 0 */
+ //toff = get_tree_offset(a); /* == 0, unused */
cl->descrs[tno] = TREE_DESCR_64;
tl_assert(svNew != SVal_INVALID);
cl->svals[cloff + 0] = svNew;
@@ -4286,7 +4272,7 @@
if (len >= 1) {
zsm_apply8___msm_read( thr, a );
- a += 1;
+ //a += 1;
len -= 1;
}
tl_assert(len == 0);
@@ -4365,7 +4351,7 @@
if (len >= 1) {
zsm_apply8___msm_write( thr, a );
- a += 1;
+ //a += 1;
len -= 1;
}
tl_assert(len == 0);
@@ -4475,7 +4461,7 @@
if (len >= 1) {
zsm_write8( a, svNew );
- a += 1;
+ //a += 1;
len -= 1;
}
tl_assert(len == 0);
Modified: branches/DARWIN/include/pub_tool_mallocfree.h
===================================================================
--- branches/DARWIN/include/pub_tool_mallocfree.h 2009-03-15 23:25:38 UTC (rev 9416)
+++ branches/DARWIN/include/pub_tool_mallocfree.h 2009-03-15 23:39:46 UTC (rev 9417)
@@ -47,6 +47,7 @@
// TODO: move somewhere else
// Call here to bomb the system when out of memory (mmap anon fails)
+__attribute__((noreturn))
extern void VG_(out_of_memory_NORETURN) ( HChar* who, SizeT szB );
#endif // __PUB_TOOL_MALLOCFREE_H
Modified: branches/DARWIN/massif/ms_main.c
===================================================================
--- branches/DARWIN/massif/ms_main.c 2009-03-15 23:25:38 UTC (rev 9416)
+++ branches/DARWIN/massif/ms_main.c 2009-03-15 23:39:46 UTC (rev 9417)
@@ -1979,8 +1979,6 @@
SizeT snapshot_heap_szB, SizeT snapshot_total_szB)
{
Int i, j, n_insig_children_sxpts;
- Char* perc;
- SXPt* pred = NULL;
SXPt* child = NULL;
// Used for printing function names. Is made static to keep it out
@@ -2008,7 +2006,6 @@
// We need the -1 to get the line number right, But I'm not sure why.
ip_desc = VG_(describe_IP)(sxpt->Sig.ip-1, ip_desc, BUF_LEN);
}
- perc = make_perc(sxpt->szB, snapshot_total_szB);
// Do the non-ip_desc part first...
FP("%sn%d: %lu ", depth_str, sxpt->Sig.n_children, sxpt->szB);
@@ -2065,7 +2062,6 @@
// Print the SXPt's children. They should already be in sorted order.
n_insig_children_sxpts = 0;
for (i = 0; i < sxpt->Sig.n_children; i++) {
- pred = child;
child = sxpt->Sig.children[i];
if (InsigSXPt == child->tag)
@@ -2088,7 +2084,6 @@
case InsigSXPt: {
Char* s = ( 1 == sxpt->Insig.n_xpts ? "," : "s, all" );
- perc = make_perc(sxpt->szB, snapshot_total_szB);
FP("%sn0: %lu in %d place%s below massif's threshold (%s)\n",
depth_str, sxpt->szB, sxpt->Insig.n_xpts, s,
make_perc((ULong)clo_threshold, 100));
Modified: branches/DARWIN/memcheck/mc_main.c
===================================================================
--- branches/DARWIN/memcheck/mc_main.c 2009-03-15 23:25:38 UTC (rev 9416)
+++ branches/DARWIN/memcheck/mc_main.c 2009-03-15 23:39:46 UTC (rev 9417)
@@ -1160,7 +1160,7 @@
least. */
ULong vbits64 = V_BITS64_UNDEFINED;
SizeT szB = nBits / 8;
- SSizeT i = szB-1; // Must be signed
+ SSizeT i; // Must be signed.
SizeT n_addrs_bad = 0;
Addr ai;
Bool partial_load_exemption_applies;
@@ -1495,6 +1495,7 @@
part2:
// 64KB-aligned, 64KB steps.
// Nb: we can reach here with lenB < SM_SIZE
+ tl_assert(0 == lenA);
while (True) {
if (lenB < SM_SIZE) break;
tl_assert(is_start_of_sm(a));
@@ -5561,7 +5562,7 @@
}
if (len >= 1) {
MC_(helperc_b_store1)( a, otag );
- a++;
+ //a++;
len--;
}
tl_assert(len == 0);
@@ -5593,7 +5594,7 @@
}
if (len >= 1) {
MC_(helperc_b_store1)( a, 0 );
- a++;
+ //a++;
len--;
}
tl_assert(len == 0);
Modified: branches/DARWIN/memcheck/mc_translate.c
===================================================================
--- branches/DARWIN/memcheck/mc_translate.c 2009-03-15 23:25:38 UTC (rev 9416)
+++ branches/DARWIN/memcheck/mc_translate.c 2009-03-15 23:39:46 UTC (rev 9417)
@@ -1006,7 +1006,8 @@
nargs = 0;
}
break;
- default:
+ case 2:
+ case 16:
if (origin) {
fn = &MC_(helperc_value_checkN_fail_w_o);
nm = "MC_(helperc_value_checkN_fail_w_o)";
@@ -1019,6 +1020,8 @@
nargs = 1;
}
break;
+ default:
+ VG_(tool_panic)("unexpected szB");
}
tl_assert(fn);
@@ -2921,10 +2924,6 @@
{
IROp mkAdd;
IRType ty, tyAddr;
- IRDirty *di, *diLo64, *diHi64;
- IRAtom *addrAct, *addrLo64, *addrHi64;
- IRAtom *vdataLo64, *vdataHi64;
- IRAtom *eBias, *eBiasLo64, *eBiasHi64;
void* helper = NULL;
Char* hname = NULL;
IRConst* c;
@@ -2934,11 +2933,6 @@
tl_assert( tyAddr == Ity_I32 || tyAddr == Ity_I64 );
tl_assert( end == Iend_LE || end == Iend_BE );
- di = diLo64 = diHi64 = NULL;
- eBias = eBiasLo64 = eBiasHi64 = NULL;
- addrAct = addrLo64 = addrHi64 = NULL;
- vdataLo64 = vdataHi64 = NULL;
-
if (data) {
tl_assert(!vdata);
tl_assert(isOriginalAtom(mce, data));
@@ -3016,7 +3010,12 @@
/* See comment in next clause re 64-bit regparms */
/* also, need to be careful about endianness */
- Int offLo64, offHi64;
+ Int offLo64, offHi64;
+ IRDirty *diLo64, *diHi64;
+ IRAtom *addrLo64, *addrHi64;
+ IRAtom *vdataLo64, *vdataHi64;
+ IRAtom *eBiasLo64, *eBiasHi64;
+
if (end == Iend_LE) {
offLo64 = 0;
offHi64 = 8;
@@ -3048,12 +3047,15 @@
} else {
+ IRDirty *di;
+ IRAtom *addrAct;
+
/* 8/16/32/64-bit cases */
/* Generate the actual address into addrAct. */
if (bias == 0) {
addrAct = addr;
} else {
- eBias = tyAddr==Ity_I32 ? mkU32(bias) : mkU64(bias);
+ IRAtom* eBias = tyAddr==Ity_I32 ? mkU32(bias) : mkU64(bias);
addrAct = assignNew('V', mce, tyAddr, binop(mkAdd, addr, eBias));
}
@@ -3099,9 +3101,9 @@
static
void do_shadow_Dirty ( MCEnv* mce, IRDirty* d )
{
- Int i, n, offset, toDo, gSz, gOff;
+ Int i, n, toDo, gSz, gOff;
IRAtom *src, *here, *curr;
- IRType tyAddr, tySrc, tyDst;
+ IRType tySrc, tyDst;
IRTemp dst;
IREndness end;
@@ -3168,13 +3170,13 @@
/* Inputs: memory. First set up some info needed regardless of
whether we're doing reads or writes. */
- tyAddr = Ity_INVALID;
if (d->mFx != Ifx_None) {
/* Because we may do multiple shadow loads/stores from the same
base address, it's best to do a single test of its
definedness right now. Post-instrumentation optimisation
should remove all but this test. */
+ IRType tyAddr;
tl_assert(d->mAddr);
complainIfUndefined(mce, d->mAddr);
@@ -3185,7 +3187,6 @@
/* Deal with memory inputs (reads or modifies) */
if (d->mFx == Ifx_Read || d->mFx == Ifx_Modify) {
- offset = 0;
toDo = d->mSize;
/* chew off 32-bit chunks. We don't care about the endianness
since it's all going to be condensed down to a single bit,
@@ -3255,7 +3256,6 @@
/* Outputs: memory that we write or modify. Same comments about
endianness as above apply. */
if (d->mFx == Ifx_Write || d->mFx == Ifx_Modify) {
- offset = 0;
toDo = d->mSize;
/* chew off 32-bit chunks */
while (toDo >= 4) {
@@ -4081,20 +4081,10 @@
static void do_origins_Dirty ( MCEnv* mce, IRDirty* d )
{
// This is a hacked version of do_shadow_Dirty
- Int i, n, offset, toDo, gSz, gOff;
+ Int i, n, toDo, gSz, gOff;
IRAtom *here, *curr;
IRTemp dst;
- IREndness end;
- /* What's the native endianness? We need to know this. */
-# if defined(VG_BIGENDIAN)
- end = Iend_BE;
-# elif defined(VG_LITTLEENDIAN)
- end = Iend_LE;
-# else
-# error "Unknown endianness"
-# endif
-
/* First check the guard. */
curr = schemeE( mce, d->guard );
@@ -4164,7 +4154,6 @@
/* Deal with memory inputs (reads or modifies) */
if (d->mFx == Ifx_Read || d->mFx == Ifx_Modify) {
- offset = 0;
toDo = d->mSize;
/* chew off 32-bit chunks. We don't care about the endianness
since it's all going to be condensed down to a single bit,
@@ -4228,7 +4217,6 @@
/* Outputs: memory that we write or modify. Same comments about
endianness as above apply. */
if (d->mFx == Ifx_Write || d->mFx == Ifx_Modify) {
- offset = 0;
toDo = d->mSize;
/* chew off 32-bit chunks */
while (toDo >= 4) {
@@ -4242,7 +4230,6 @@
}
tl_assert(toDo == 0); /* also need to handle 1-byte excess */
}
-
}
static void schemeS ( MCEnv* mce, IRStmt* st )
|
|
From: Julian S. <js...@ac...> - 2009-03-15 23:38:23
|
> There is another small but annoying inconsistency between stack traces > printed for an Intel CPU versus PPC: often the line numbers printed > for the topmost stack frame differ. > - at 0x........: croak (varinfo6.c:34) > + at 0x........: croak (varinfo6.c:35) This maybe be due at least in part to problems in m_debuginfo (although my impression is that it is now correct), and it likely to be due also to differences in the debuginfo produced by gcc on the different platforms. IIRC you can even get different line numbers by using different gcc versions on the same architectures. J |
|
From: Julian S. <js...@ac...> - 2009-03-15 23:30:01
|
> A more consistent form would be: > > at 0x80483BF: really (malloc1.c:20) > at 0x80483BF: really (in /foo/a.out) > at 0x80483BF: really (in ???) > at 0x80483BF: ??? (in /foo/a.out) > at 0x80483BF: ??? (malloc1.c:20) > at 0x80483BF: ??? (in ???) > > The last line is a little ugly, so we can do this instead: > > at 0x80483BF: ??? > > The attached patch does this. All the regtests still pass. XML > output isn't affected. > > Thoughts? This seems good to me. And a surprisingly minimal patch, too. The only negative outcome I can think of is that people with parsers for the text output are not going to be happy. At least for Memcheck they should be parsing the XML instead, but maybe there are people with parsers for other tool outputs? I say commit, unless anyone objects strongly. J |
|
From: <sv...@va...> - 2009-03-15 23:25:58
|
Author: njn
Date: 2009-03-15 23:25:38 +0000 (Sun, 15 Mar 2009)
New Revision: 9416
Log:
Fix all the non-VEX problems identified with the Clang Static Analyzer.
Modified:
trunk/cachegrind/cg_main.c
trunk/callgrind/bbcc.c
trunk/callgrind/dump.c
trunk/coregrind/m_aspacemgr/aspacemgr-common.c
trunk/coregrind/m_aspacemgr/aspacemgr-linux.c
trunk/coregrind/m_aspacemgr/priv_aspacemgr.h
trunk/coregrind/m_coredump/coredump-elf.c
trunk/coregrind/m_debuginfo/readdwarf.c
trunk/coregrind/m_debuginfo/readdwarf3.c
trunk/coregrind/m_debuginfo/readelf.c
trunk/coregrind/m_debuginfo/storage.c
trunk/coregrind/m_demangle/cplus-dem.c
trunk/coregrind/m_errormgr.c
trunk/coregrind/m_initimg/initimg-linux.c
trunk/coregrind/m_mallocfree.c
trunk/coregrind/m_replacemalloc/vg_replace_malloc.c
trunk/exp-ptrcheck/h_main.c
trunk/helgrind/hg_main.c
trunk/helgrind/libhb_core.c
trunk/include/pub_tool_mallocfree.h
trunk/massif/ms_main.c
trunk/memcheck/mc_main.c
trunk/memcheck/mc_translate.c
Modified: trunk/cachegrind/cg_main.c
===================================================================
--- trunk/cachegrind/cg_main.c 2009-03-15 23:24:59 UTC (rev 9415)
+++ trunk/cachegrind/cg_main.c 2009-03-15 23:25:38 UTC (rev 9416)
@@ -1341,7 +1341,6 @@
VG_(sprintf)(buf, "fn=%s\n", currFn);
VG_(write)(fd, (void*)buf, VG_(strlen)(buf));
distinct_fns++;
- just_hit_a_new_file = False;
}
// Print the LineCC
@@ -1454,8 +1453,7 @@
BranchCC B_total;
ULong L2_total_m, L2_total_mr, L2_total_mw,
L2_total, L2_total_r, L2_total_w;
- Int l1, l2, l3, l4;
- Int p;
+ Int l1, l2, l3;
/* Running with both cache and branch simulation disabled is not
allowed (checked during command line option processing). */
@@ -1466,12 +1464,13 @@
if (VG_(clo_verbosity) == 0)
return;
+ #define MAX(a, b) ((a) >= (b) ? (a) : (b))
+
/* I cache results. Use the I_refs value to determine the first column
* width. */
l1 = ULong_width(Ir_total.a);
- l2 = ULong_width(Dr_total.a);
- l3 = ULong_width(Dw_total.a);
- l4 = ULong_width(Bc_total.b + Bi_total.b);
+ l2 = ULong_width(MAX(Dr_total.a, Bc_total.b));
+ l3 = ULong_width(MAX(Dw_total.a, Bi_total.b));
/* Make format string, getting width right for numbers */
VG_(sprintf)(fmt, "%%s %%,%dllu", l1);
@@ -1485,8 +1484,6 @@
VG_UMSG(fmt, "I1 misses: ", Ir_total.m1);
VG_UMSG(fmt, "L2i misses: ", Ir_total.m2);
- p = 100;
-
if (0 == Ir_total.a) Ir_total.a = 1;
VG_(percentify)(Ir_total.m1, Ir_total.a, 2, l1+1, buf1);
VG_UMSG("I1 miss rate: %s", buf1);
@@ -1511,8 +1508,6 @@
VG_UMSG(fmt, "L2d misses: ",
D_total.m2, Dr_total.m2, Dw_total.m2);
- p = 10;
-
if (0 == D_total.a) D_total.a = 1;
if (0 == Dr_total.a) Dr_total.a = 1;
if (0 == Dw_total.a) Dw_total.a = 1;
Modified: trunk/callgrind/bbcc.c
===================================================================
--- trunk/callgrind/bbcc.c 2009-03-15 23:24:59 UTC (rev 9415)
+++ trunk/callgrind/bbcc.c 2009-03-15 23:25:38 UTC (rev 9416)
@@ -480,7 +480,6 @@
/* RET at top of call stack */
BBCC* source_bbcc;
BB* source_bb;
- jCC* jcc;
Bool seen_before;
fn_node* caller;
int fn_number, *pactive;
@@ -533,7 +532,6 @@
(Addr)-1, False);
call_entry_up =
&(CLG_(current_call_stack).entry[CLG_(current_call_stack).sp -1]);
- jcc = call_entry_up->jcc;
/* assume this call is lasting since last dump or
* for a signal handler since it's call */
if (CLG_(current_state).sig == 0)
Modified: trunk/callgrind/dump.c
===================================================================
--- trunk/callgrind/dump.c 2009-03-15 23:24:59 UTC (rev 9415)
+++ trunk/callgrind/dump.c 2009-03-15 23:25:38 UTC (rev 9416)
@@ -185,19 +185,19 @@
static void print_obj(Char* buf, obj_node* obj)
{
- int n;
+ //int n;
if (CLG_(clo).compress_strings) {
CLG_ASSERT(obj_dumped != 0);
if (obj_dumped[obj->number])
- n = VG_(sprintf)(buf, "(%d)\n", obj->number);
+ /*n =*/ VG_(sprintf)(buf, "(%d)\n", obj->number);
else {
- n = VG_(sprintf)(buf, "(%d) %s\n",
+ /*n =*/ VG_(sprintf)(buf, "(%d) %s\n",
obj->number, obj->name);
}
}
else
- n = VG_(sprintf)(buf, "%s\n", obj->name);
+ /*n =*/ VG_(sprintf)(buf, "%s\n", obj->name);
#if 0
/* add mapping parameters the first time a object is dumped
@@ -1296,7 +1296,7 @@
i += VG_(sprintf)(filename+i, ".%d", out_counter);
if (CLG_(clo).separate_threads)
- i += VG_(sprintf)(filename+i, "-%02d", tid);
+ VG_(sprintf)(filename+i, "-%02d", tid);
res = VG_(open)(filename, VKI_O_WRONLY|VKI_O_TRUNC, 0);
}
Modified: trunk/coregrind/m_aspacemgr/aspacemgr-common.c
===================================================================
--- trunk/coregrind/m_aspacemgr/aspacemgr-common.c 2009-03-15 23:24:59 UTC (rev 9415)
+++ trunk/coregrind/m_aspacemgr/aspacemgr-common.c 2009-03-15 23:25:38 UTC (rev 9416)
@@ -50,6 +50,7 @@
// Simple assert and assert-like fns, which avoid dependence on
// m_libcassert, and hence on the entire debug-info reader swamp
+__attribute__ ((noreturn))
void ML_(am_exit)( Int status )
{
# if defined(VGO_linux)
Modified: trunk/coregrind/m_aspacemgr/aspacemgr-linux.c
===================================================================
--- trunk/coregrind/m_aspacemgr/aspacemgr-linux.c 2009-03-15 23:24:59 UTC (rev 9415)
+++ trunk/coregrind/m_aspacemgr/aspacemgr-linux.c 2009-03-15 23:25:38 UTC (rev 9416)
@@ -912,9 +912,10 @@
have a sloppyXcheck mode which we enable on x86 - in this mode we
allow the kernel to report execute permission when we weren't
expecting it but not vice versa. */
- sloppyXcheck = False;
# if defined(VGA_x86)
sloppyXcheck = True;
+# else
+ sloppyXcheck = False;
# endif
/* NSegments iLo .. iHi inclusive should agree with the presented
Modified: trunk/coregrind/m_aspacemgr/priv_aspacemgr.h
===================================================================
--- trunk/coregrind/m_aspacemgr/priv_aspacemgr.h 2009-03-15 23:24:59 UTC (rev 9415)
+++ trunk/coregrind/m_aspacemgr/priv_aspacemgr.h 2009-03-15 23:25:38 UTC (rev 9416)
@@ -63,10 +63,12 @@
This is important since most of the system itself depends on
aspacem, so we have to do this to avoid a circular dependency. */
+__attribute__ ((noreturn))
extern void ML_(am_exit) ( Int status );
extern void ML_(am_barf) ( HChar* what );
extern void ML_(am_barf_toolow) ( HChar* what );
+__attribute__ ((noreturn))
extern void ML_(am_assert_fail) ( const HChar* expr,
const Char* file,
Int line,
Modified: trunk/coregrind/m_coredump/coredump-elf.c
===================================================================
--- trunk/coregrind/m_coredump/coredump-elf.c 2009-03-15 23:24:59 UTC (rev 9415)
+++ trunk/coregrind/m_coredump/coredump-elf.c 2009-03-15 23:25:38 UTC (rev 9416)
@@ -432,12 +432,10 @@
continue;
if (phdrs[idx].p_filesz > 0) {
- Int ret;
-
vg_assert(VG_(lseek)(core_fd, phdrs[idx].p_offset, VKI_SEEK_SET) == phdrs[idx].p_offset);
vg_assert(seg->end - seg->start >= phdrs[idx].p_filesz);
- ret = VG_(write)(core_fd, (void *)seg->start, phdrs[idx].p_filesz);
+ (void)VG_(write)(core_fd, (void *)seg->start, phdrs[idx].p_filesz);
}
idx++;
}
Modified: trunk/coregrind/m_debuginfo/readdwarf.c
===================================================================
--- trunk/coregrind/m_debuginfo/readdwarf.c 2009-03-15 23:24:59 UTC (rev 9415)
+++ trunk/coregrind/m_debuginfo/readdwarf.c 2009-03-15 23:25:38 UTC (rev 9416)
@@ -883,7 +883,7 @@
break;
case DW_LNS_set_isa:
- adv = read_leb128 (data, & bytes_read, 0);
+ /*adv =*/ read_leb128 (data, & bytes_read, 0);
data += bytes_read;
if (di->ddump_line)
VG_(printf)(" DWARF2-line: set_isa\n");
@@ -2915,7 +2915,7 @@
case DW_CFA_GNU_args_size:
/* No idea what is supposed to happen. gdb-6.3 simply
ignores these. */
- off = read_leb128( &instr[i], &nleb, 0 );
+ /*off = */ read_leb128( &instr[i], &nleb, 0 );
i += nleb;
if (di->ddump_frames)
VG_(printf)(" rci:DW_CFA_GNU_args_size (ignored)\n");
Modified: trunk/coregrind/m_debuginfo/readdwarf3.c
===================================================================
--- trunk/coregrind/m_debuginfo/readdwarf3.c 2009-03-15 23:24:59 UTC (rev 9415)
+++ trunk/coregrind/m_debuginfo/readdwarf3.c 2009-03-15 23:25:38 UTC (rev 9416)
@@ -344,7 +344,6 @@
vg_assert(0);
}
-
/* Read a DWARF3 'Initial Length' field */
static ULong get_Initial_Length ( /*OUT*/Bool* is64,
Cursor* c,
@@ -898,13 +897,13 @@
/* Now iterate though the table until we find the requested
entry. */
while (True) {
- ULong atag;
- UInt has_children;
+ //ULong atag;
+ //UInt has_children;
acode = get_ULEB128( c );
if (acode == 0) break; /* end of the table */
if (acode == abbv_code) break; /* found it */
- atag = get_ULEB128( c );
- has_children = get_UChar( c );
+ /*atag = */ get_ULEB128( c );
+ /*has_children = */ get_UChar( c );
//TRACE_D3(" %llu %s [%s]\n",
// acode, pp_DW_TAG(atag), pp_DW_children(has_children));
while (True) {
@@ -1303,13 +1302,7 @@
Bool is_dw64;
Cursor c;
Word i;
- ULong unit_length;
UShort version;
- ULong header_length;
- UChar minimum_instruction_length;
- UChar default_is_stmt;
- Char line_base;
- UChar line_range;
UChar opcode_base;
UChar* str;
@@ -1322,18 +1315,18 @@
cc->debug_line_sz, debug_line_offset, cc->barf,
"Overrun whilst reading .debug_line section(1)" );
- unit_length
- = get_Initial_Length( &is_dw64, &c,
+ /* unit_length = */
+ get_Initial_Length( &is_dw64, &c,
"read_filename_table: invalid initial-length field" );
version = get_UShort( &c );
if (version != 2)
cc->barf("read_filename_table: Only DWARF version 2 line info "
"is currently supported.");
- header_length = (ULong)get_Dwarfish_UWord( &c, is_dw64 );
- minimum_instruction_length = get_UChar( &c );
- default_is_stmt = get_UChar( &c );
- line_base = (Char)get_UChar( &c );
- line_range = get_UChar( &c );
+ /*header_length = (ULong)*/ get_Dwarfish_UWord( &c, is_dw64 );
+ /*minimum_instruction_length = */ get_UChar( &c );
+ /*default_is_stmt = */ get_UChar( &c );
+ /*line_base = (Char)*/ get_UChar( &c );
+ /*line_range = */ get_UChar( &c );
opcode_base = get_UChar( &c );
/* skip over "standard_opcode_lengths" */
for (i = 1; i < (Word)opcode_base; i++)
@@ -1584,7 +1577,6 @@
GExpr* gexpr = NULL;
Int n_attrs = 0;
UWord abs_ori = (UWord)D3_INVALID_CUOFF;
- Bool declaration = False;
Int lineNo = 0;
UChar* fileName = NULL;
while (True) {
@@ -1614,7 +1606,7 @@
abs_ori = (UWord)cts;
}
if (attr == DW_AT_declaration && ctsSzB > 0 && cts > 0) {
- declaration = True;
+ /*declaration = True;*/
}
if (attr == DW_AT_decl_line && ctsSzB > 0) {
lineNo = (Int)cts;
@@ -2433,7 +2425,6 @@
Bool have_count = False;
Long lower = 0;
Long upper = 0;
- Long count = 0;
switch (parser->language) {
case 'C': have_lower = True; lower = 0; break;
@@ -2461,7 +2452,7 @@
have_upper = True;
}
if (attr == DW_AT_count && ctsSzB > 0) {
- count = cts;
+ /*count = (Long)cts;*/
have_count = True;
}
}
Modified: trunk/coregrind/m_debuginfo/readelf.c
===================================================================
--- trunk/coregrind/m_debuginfo/readelf.c 2009-03-15 23:24:59 UTC (rev 9415)
+++ trunk/coregrind/m_debuginfo/readelf.c 2009-03-15 23:25:38 UTC (rev 9416)
@@ -219,7 +219,10 @@
Bool* is_text_out /* is this a text symbol? */
)
{
- Bool plausible, is_in_opd;
+ Bool plausible;
+# if defined(VGP_ppc64_linux)
+ Bool is_in_opd;
+# endif
Bool in_text, in_data, in_sdata, in_rodata, in_bss, in_sbss;
/* Set defaults */
@@ -365,7 +368,9 @@
See thread starting at
http://gcc.gnu.org/ml/gcc-patches/2004-08/msg00557.html
*/
+# if defined(VGP_ppc64_linux)
is_in_opd = False;
+# endif
if (di->opd_present
&& di->opd_size > 0
@@ -644,7 +649,7 @@
Addr sym_svma, sym_avma_really;
Char *sym_name, *sym_name_really;
Int sym_size;
- Addr sym_tocptr, old_tocptr;
+ Addr sym_tocptr;
Bool from_opd, modify_size, modify_tocptr, is_text;
DiSym risym;
ElfXX_Sym *sym;
@@ -699,7 +704,6 @@
modify_size = False;
modify_tocptr = False;
old_size = 0;
- old_tocptr = 0;
if (prev->from_opd && !from_opd
&& (prev->size == 24 || prev->size == 16)
@@ -720,7 +724,6 @@
shouldn't currently have an known TOC ptr. */
vg_assert(prev->tocptr == 0);
modify_tocptr = True;
- old_tocptr = prev->tocptr;
prev->tocptr = sym_tocptr;
}
else {
Modified: trunk/coregrind/m_debuginfo/storage.c
===================================================================
--- trunk/coregrind/m_debuginfo/storage.c 2009-03-15 23:24:59 UTC (rev 9415)
+++ trunk/coregrind/m_debuginfo/storage.c 2009-03-15 23:25:38 UTC (rev 9416)
@@ -951,7 +951,7 @@
/* All the rest of this is for the local-scope case. */
/* iterate over all entries in 'scope' */
nInThisScope = 0;
- range = rangep = NULL;
+ rangep = NULL;
VG_(OSetGen_ResetIter)(scope);
while (True) {
range = VG_(OSetGen_Next)(scope);
@@ -1035,7 +1035,6 @@
static DiSym* prefersym ( struct _DebugInfo* di, DiSym* a, DiSym* b )
{
Word cmp;
- Word lena, lenb; /* full length */
Word vlena, vlenb; /* length without version */
const UChar *vpa, *vpb;
@@ -1044,8 +1043,8 @@
vg_assert(a->addr == b->addr);
- vlena = lena = VG_(strlen)(a->name);
- vlenb = lenb = VG_(strlen)(b->name);
+ vlena = VG_(strlen)(a->name);
+ vlenb = VG_(strlen)(b->name);
vpa = VG_(strchr)(a->name, '@');
vpb = VG_(strchr)(b->name, '@');
Modified: trunk/coregrind/m_demangle/cplus-dem.c
===================================================================
--- trunk/coregrind/m_demangle/cplus-dem.c 2009-03-15 23:24:59 UTC (rev 9415)
+++ trunk/coregrind/m_demangle/cplus-dem.c 2009-03-15 23:25:38 UTC (rev 9416)
@@ -1295,7 +1295,7 @@
break;
case 'K':
- oldmangled = *mangled;
+ //oldmangled = *mangled;
success = demangle_qualified (work, mangled, declp, 1, 0);
if (AUTO_DEMANGLING || GNU_DEMANGLING)
{
Modified: trunk/coregrind/m_errormgr.c
===================================================================
--- trunk/coregrind/m_errormgr.c 2009-03-15 23:24:59 UTC (rev 9415)
+++ trunk/coregrind/m_errormgr.c 2009-03-15 23:25:38 UTC (rev 9416)
@@ -956,7 +956,6 @@
Char* err_str = NULL;
SuppLoc tmp_callers[VG_MAX_SUPP_CALLERS];
- fd = -1;
sres = VG_(open)( filename, VKI_O_RDONLY, 0 );
if (sres.isError) {
if (VG_(clo_xml))
Modified: trunk/coregrind/m_initimg/initimg-linux.c
===================================================================
--- trunk/coregrind/m_initimg/initimg-linux.c 2009-03-15 23:24:59 UTC (rev 9415)
+++ trunk/coregrind/m_initimg/initimg-linux.c 2009-03-15 23:25:38 UTC (rev 9416)
@@ -179,6 +179,10 @@
VG_(memset)(info, 0, sizeof(*info));
ret = VG_(do_exec)(exe_name, info);
+ if (ret < 0) {
+ VG_(printf)("valgrind: could not execute '%s'\n", exe_name);
+ VG_(exit)(1);
+ }
// The client was successfully loaded! Continue.
@@ -240,6 +244,8 @@
Int preload_string_len = preload_core_path_len + preload_tool_path_len;
HChar* preload_string = VG_(malloc)("initimg-linux.sce.1",
preload_string_len);
+ vg_assert(origenv);
+ vg_assert(toolname);
vg_assert(preload_string);
/* Determine if there's a vgpreload_<tool>_<platform>.so file, and setup
Modified: trunk/coregrind/m_mallocfree.c
===================================================================
--- trunk/coregrind/m_mallocfree.c 2009-03-15 23:24:59 UTC (rev 9415)
+++ trunk/coregrind/m_mallocfree.c 2009-03-15 23:25:38 UTC (rev 9416)
@@ -602,6 +602,7 @@
/*--- Superblock management ---*/
/*------------------------------------------------------------*/
+__attribute__((noreturn))
void VG_(out_of_memory_NORETURN) ( HChar* who, SizeT szB )
{
static Bool alreadyCrashing = False;
Modified: trunk/coregrind/m_replacemalloc/vg_replace_malloc.c
===================================================================
--- trunk/coregrind/m_replacemalloc/vg_replace_malloc.c 2009-03-15 23:24:59 UTC (rev 9415)
+++ trunk/coregrind/m_replacemalloc/vg_replace_malloc.c 2009-03-15 23:25:38 UTC (rev 9416)
@@ -66,6 +66,7 @@
executable too.
*/
+__attribute__ ((__noreturn__))
extern void _exit(int);
/* Apparently it is necessary to make ourselves free of any dependency
Modified: trunk/exp-ptrcheck/h_main.c
===================================================================
--- trunk/exp-ptrcheck/h_main.c 2009-03-15 23:24:59 UTC (rev 9415)
+++ trunk/exp-ptrcheck/h_main.c 2009-03-15 23:25:38 UTC (rev 9416)
@@ -1163,7 +1163,6 @@
Addr s/*tart*/, Addr e/*nd*/ )
{
Seg *seglo, *seghi;
- Bool s_in_seglo, s_in_seghi, e_in_seglo, e_in_seghi;
// Don't check code being translated -- very slow, and not much point
if (Vg_CoreTranslate == part) return;
@@ -1183,22 +1182,7 @@
tl_assert( BOTTOM != seglo && NONPTR != seglo );
tl_assert( BOTTOM != seghi && NONPTR != seghi );
- /* so seglo and seghi are either UNKNOWN or P(..) */
- s_in_seglo
- = is_known_segment(seglo)
- && seglo->addr <= s && s < seglo->addr + seglo->szB;
- s_in_seghi
- = is_known_segment(seghi)
- && seghi->addr <= s && s < seghi->addr + seghi->szB;
- e_in_seglo
- = is_known_segment(seglo)
- && seglo->addr <= e && e < seglo->addr + seglo->szB;
- e_in_seghi
- = is_known_segment(seghi)
- && seghi->addr <= e && e < seghi->addr + seghi->szB;
-
- /* record an error if start and end are in different, but known
- segments */
+ /* record an error if start and end are in different, but known segments */
if (is_known_segment(seglo) && is_known_segment(seghi)
&& seglo != seghi) {
h_record_sysparam_error(tid, part, str, s, e, seglo, seghi);
Modified: trunk/helgrind/hg_main.c
===================================================================
--- trunk/helgrind/hg_main.c 2009-03-15 23:24:59 UTC (rev 9415)
+++ trunk/helgrind/hg_main.c 2009-03-15 23:25:38 UTC (rev 9416)
@@ -411,10 +411,8 @@
static void pp_map_threads ( Int d )
{
- Int i, n;
- n = 0;
+ Int i, n = 0;
space(d); VG_(printf)("map_threads ");
- n = 0;
for (i = 0; i < VG_N_THREADS; i++) {
if (map_threads[i] != NULL)
n++;
Modified: trunk/helgrind/libhb_core.c
===================================================================
--- trunk/helgrind/libhb_core.c 2009-03-15 23:24:59 UTC (rev 9415)
+++ trunk/helgrind/libhb_core.c 2009-03-15 23:25:38 UTC (rev 9416)
@@ -1724,7 +1724,6 @@
ULong tyma, tymb, tymMax;
Thr* thr;
VTS* res;
- ScalarTS *tmpa, *tmpb;
tl_assert(a && a->ts);
tl_assert(b && b->ts);
@@ -1742,43 +1741,38 @@
scalar timestamps, taking into account implicit zeroes. */
tl_assert(ia >= 0 && ia <= useda);
tl_assert(ib >= 0 && ib <= usedb);
- tmpa = tmpb = NULL;
- if (ia == useda && ib == usedb) {
+ if (ia == useda && ib == usedb) {
/* both empty - done */
break;
- }
- else
- if (ia == useda && ib != usedb) {
+
+ } else if (ia == useda && ib != usedb) {
/* a empty, use up b */
- tmpb = VG_(indexXA)( b->ts, ib );
+ ScalarTS* tmpb = VG_(indexXA)( b->ts, ib );
thr = tmpb->thr;
tyma = 0;
tymb = tmpb->tym;
ib++;
- }
- else
- if (ia != useda && ib == usedb) {
+
+ } else if (ia != useda && ib == usedb) {
/* b empty, use up a */
- tmpa = VG_(indexXA)( a->ts, ia );
+ ScalarTS* tmpa = VG_(indexXA)( a->ts, ia );
thr = tmpa->thr;
tyma = tmpa->tym;
tymb = 0;
ia++;
- }
- else {
+
+ } else {
/* both not empty; extract lowest-Thr*'d triple */
- tmpa = VG_(indexXA)( a->ts, ia );
- tmpb = VG_(indexXA)( b->ts, ib );
+ ScalarTS* tmpa = VG_(indexXA)( a->ts, ia );
+ ScalarTS* tmpb = VG_(indexXA)( b->ts, ib );
if (tmpa->thr < tmpb->thr) {
/* a has the lowest unconsidered Thr* */
thr = tmpa->thr;
tyma = tmpa->tym;
tymb = 0;
ia++;
- }
- else
- if (tmpa->thr > tmpb->thr) {
+ } else if (tmpa->thr > tmpb->thr) {
/* b has the lowest unconsidered Thr* */
thr = tmpb->thr;
tyma = 0;
@@ -1819,8 +1813,6 @@
{
Word ia, ib, useda, usedb;
ULong tyma, tymb;
- Thr* thr;
- ScalarTS *tmpa, *tmpb;
Bool all_leq = True;
Bool all_geq = True;
@@ -1834,43 +1826,36 @@
while (1) {
- /* This logic is to enumerate triples (thr, tyma, tymb) drawn
- from a and b in order, where thr is the next Thr*
- occurring in either a or b, and tyma/b are the relevant
+ /* This logic is to enumerate doubles (tyma, tymb) drawn
+ from a and b in order, and tyma/b are the relevant
scalar timestamps, taking into account implicit zeroes. */
tl_assert(ia >= 0 && ia <= useda);
tl_assert(ib >= 0 && ib <= usedb);
- tmpa = tmpb = NULL;
- if (ia == useda && ib == usedb) {
+ if (ia == useda && ib == usedb) {
/* both empty - done */
break;
- }
- else
- if (ia == useda && ib != usedb) {
+
+ } else if (ia == useda && ib != usedb) {
/* a empty, use up b */
- tmpb = VG_(indexXA)( b->ts, ib );
- thr = tmpb->thr;
+ ScalarTS* tmpb = VG_(indexXA)( b->ts, ib );
tyma = 0;
tymb = tmpb->tym;
ib++;
- }
- else
- if (ia != useda && ib == usedb) {
+
+ } else if (ia != useda && ib == usedb) {
/* b empty, use up a */
- tmpa = VG_(indexXA)( a->ts, ia );
- thr = tmpa->thr;
+ ScalarTS* tmpa = VG_(indexXA)( a->ts, ia );
tyma = tmpa->tym;
tymb = 0;
ia++;
- }
- else {
+
+ } else {
/* both not empty; extract lowest-Thr*'d triple */
- tmpa = VG_(indexXA)( a->ts, ia );
- tmpb = VG_(indexXA)( b->ts, ib );
+ ScalarTS* tmpa = VG_(indexXA)( a->ts, ia );
+ ScalarTS* tmpb = VG_(indexXA)( b->ts, ib );
if (tmpa->thr < tmpb->thr) {
/* a has the lowest unconsidered Thr* */
- thr = tmpa->thr;
tyma = tmpa->tym;
tymb = 0;
ia++;
@@ -1878,14 +1863,12 @@
else
if (tmpa->thr > tmpb->thr) {
/* b has the lowest unconsidered Thr* */
- thr = tmpb->thr;
tyma = 0;
tymb = tmpb->tym;
ib++;
} else {
/* they both next mention the same Thr* */
tl_assert(tmpa->thr == tmpb->thr);
- thr = tmpa->thr; /* == tmpb->thr */
tyma = tmpa->tym;
tymb = tmpb->tym;
ia++;
@@ -1893,7 +1876,7 @@
}
}
- /* having laboriously determined (thr, tyma, tymb), do something
+ /* having laboriously determined (tyma, tymb), do something
useful with it. */
if (tyma < tymb)
all_geq = False;
@@ -4002,7 +3985,8 @@
void zsm_apply64___msm_read ( Thr* thr, Addr a ) {
CacheLine* cl;
- UWord cloff, tno, toff;
+ UWord cloff, tno;
+ //UWord toff;
SVal svOld, svNew;
UShort descr;
stats__cline_read64s++;
@@ -4010,7 +3994,7 @@
cl = get_cacheline(a);
cloff = get_cacheline_offset(a);
tno = get_treeno(a);
- toff = get_tree_offset(a); /* == 0, unused */
+ //toff = get_tree_offset(a); /* == 0, unused */
descr = cl->descrs[tno];
if (UNLIKELY( !(descr & TREE_DESCR_64) )) {
goto slowcase;
@@ -4028,7 +4012,8 @@
void zsm_apply64___msm_write ( Thr* thr, Addr a ) {
CacheLine* cl;
- UWord cloff, tno, toff;
+ UWord cloff, tno;
+ //UWord toff;
SVal svOld, svNew;
UShort descr;
stats__cline_read64s++;
@@ -4036,7 +4021,7 @@
cl = get_cacheline(a);
cloff = get_cacheline_offset(a);
tno = get_treeno(a);
- toff = get_tree_offset(a); /* == 0, unused */
+ //toff = get_tree_offset(a); /* == 0, unused */
descr = cl->descrs[tno];
if (UNLIKELY( !(descr & TREE_DESCR_64) )) {
goto slowcase;
@@ -4162,13 +4147,14 @@
static
void zsm_write64 ( Addr a, SVal svNew ) {
CacheLine* cl;
- UWord cloff, tno, toff;
+ UWord cloff, tno;
+ //UWord toff;
stats__cline_set64s++;
if (UNLIKELY(!aligned64(a))) goto slowcase;
cl = get_cacheline(a);
cloff = get_cacheline_offset(a);
tno = get_treeno(a);
- toff = get_tree_offset(a); /* == 0 */
+ //toff = get_tree_offset(a); /* == 0, unused */
cl->descrs[tno] = TREE_DESCR_64;
tl_assert(svNew != SVal_INVALID);
cl->svals[cloff + 0] = svNew;
@@ -4286,7 +4272,7 @@
if (len >= 1) {
zsm_apply8___msm_read( thr, a );
- a += 1;
+ //a += 1;
len -= 1;
}
tl_assert(len == 0);
@@ -4365,7 +4351,7 @@
if (len >= 1) {
zsm_apply8___msm_write( thr, a );
- a += 1;
+ //a += 1;
len -= 1;
}
tl_assert(len == 0);
@@ -4475,7 +4461,7 @@
if (len >= 1) {
zsm_write8( a, svNew );
- a += 1;
+ //a += 1;
len -= 1;
}
tl_assert(len == 0);
Modified: trunk/include/pub_tool_mallocfree.h
===================================================================
--- trunk/include/pub_tool_mallocfree.h 2009-03-15 23:24:59 UTC (rev 9415)
+++ trunk/include/pub_tool_mallocfree.h 2009-03-15 23:25:38 UTC (rev 9416)
@@ -47,6 +47,7 @@
// TODO: move somewhere else
// Call here to bomb the system when out of memory (mmap anon fails)
+__attribute__((noreturn))
extern void VG_(out_of_memory_NORETURN) ( HChar* who, SizeT szB );
#endif // __PUB_TOOL_MALLOCFREE_H
Modified: trunk/massif/ms_main.c
===================================================================
--- trunk/massif/ms_main.c 2009-03-15 23:24:59 UTC (rev 9415)
+++ trunk/massif/ms_main.c 2009-03-15 23:25:38 UTC (rev 9416)
@@ -1903,8 +1903,6 @@
SizeT snapshot_heap_szB, SizeT snapshot_total_szB)
{
Int i, j, n_insig_children_sxpts;
- Char* perc;
- SXPt* pred = NULL;
SXPt* child = NULL;
// Used for printing function names. Is made static to keep it out
@@ -1932,7 +1930,6 @@
// We need the -1 to get the line number right, But I'm not sure why.
ip_desc = VG_(describe_IP)(sxpt->Sig.ip-1, ip_desc, BUF_LEN);
}
- perc = make_perc(sxpt->szB, snapshot_total_szB);
// Do the non-ip_desc part first...
FP("%sn%d: %lu ", depth_str, sxpt->Sig.n_children, sxpt->szB);
@@ -1989,7 +1986,6 @@
// Print the SXPt's children. They should already be in sorted order.
n_insig_children_sxpts = 0;
for (i = 0; i < sxpt->Sig.n_children; i++) {
- pred = child;
child = sxpt->Sig.children[i];
if (InsigSXPt == child->tag)
@@ -2012,7 +2008,6 @@
case InsigSXPt: {
Char* s = ( 1 == sxpt->Insig.n_xpts ? "," : "s, all" );
- perc = make_perc(sxpt->szB, snapshot_total_szB);
FP("%sn0: %lu in %d place%s below massif's threshold (%s)\n",
depth_str, sxpt->szB, sxpt->Insig.n_xpts, s,
make_perc((ULong)clo_threshold, 100));
Modified: trunk/memcheck/mc_main.c
===================================================================
--- trunk/memcheck/mc_main.c 2009-03-15 23:24:59 UTC (rev 9415)
+++ trunk/memcheck/mc_main.c 2009-03-15 23:25:38 UTC (rev 9416)
@@ -1158,7 +1158,7 @@
least. */
ULong vbits64 = V_BITS64_UNDEFINED;
SizeT szB = nBits / 8;
- SSizeT i = szB-1; // Must be signed
+ SSizeT i; // Must be signed.
SizeT n_addrs_bad = 0;
Addr ai;
Bool partial_load_exemption_applies;
@@ -1493,6 +1493,7 @@
part2:
// 64KB-aligned, 64KB steps.
// Nb: we can reach here with lenB < SM_SIZE
+ tl_assert(0 == lenA);
while (True) {
if (lenB < SM_SIZE) break;
tl_assert(is_start_of_sm(a));
@@ -5441,7 +5442,7 @@
}
if (len >= 1) {
MC_(helperc_b_store1)( a, otag );
- a++;
+ //a++;
len--;
}
tl_assert(len == 0);
@@ -5473,7 +5474,7 @@
}
if (len >= 1) {
MC_(helperc_b_store1)( a, 0 );
- a++;
+ //a++;
len--;
}
tl_assert(len == 0);
Modified: trunk/memcheck/mc_translate.c
===================================================================
--- trunk/memcheck/mc_translate.c 2009-03-15 23:24:59 UTC (rev 9415)
+++ trunk/memcheck/mc_translate.c 2009-03-15 23:25:38 UTC (rev 9416)
@@ -1006,7 +1006,8 @@
nargs = 0;
}
break;
- default:
+ case 2:
+ case 16:
if (origin) {
fn = &MC_(helperc_value_checkN_fail_w_o);
nm = "MC_(helperc_value_checkN_fail_w_o)";
@@ -1019,6 +1020,8 @@
nargs = 1;
}
break;
+ default:
+ VG_(tool_panic)("unexpected szB");
}
tl_assert(fn);
@@ -2921,10 +2924,6 @@
{
IROp mkAdd;
IRType ty, tyAddr;
- IRDirty *di, *diLo64, *diHi64;
- IRAtom *addrAct, *addrLo64, *addrHi64;
- IRAtom *vdataLo64, *vdataHi64;
- IRAtom *eBias, *eBiasLo64, *eBiasHi64;
void* helper = NULL;
Char* hname = NULL;
IRConst* c;
@@ -2934,11 +2933,6 @@
tl_assert( tyAddr == Ity_I32 || tyAddr == Ity_I64 );
tl_assert( end == Iend_LE || end == Iend_BE );
- di = diLo64 = diHi64 = NULL;
- eBias = eBiasLo64 = eBiasHi64 = NULL;
- addrAct = addrLo64 = addrHi64 = NULL;
- vdataLo64 = vdataHi64 = NULL;
-
if (data) {
tl_assert(!vdata);
tl_assert(isOriginalAtom(mce, data));
@@ -3016,7 +3010,12 @@
/* See comment in next clause re 64-bit regparms */
/* also, need to be careful about endianness */
- Int offLo64, offHi64;
+ Int offLo64, offHi64;
+ IRDirty *diLo64, *diHi64;
+ IRAtom *addrLo64, *addrHi64;
+ IRAtom *vdataLo64, *vdataHi64;
+ IRAtom *eBiasLo64, *eBiasHi64;
+
if (end == Iend_LE) {
offLo64 = 0;
offHi64 = 8;
@@ -3048,12 +3047,15 @@
} else {
+ IRDirty *di;
+ IRAtom *addrAct;
+
/* 8/16/32/64-bit cases */
/* Generate the actual address into addrAct. */
if (bias == 0) {
addrAct = addr;
} else {
- eBias = tyAddr==Ity_I32 ? mkU32(bias) : mkU64(bias);
+ IRAtom* eBias = tyAddr==Ity_I32 ? mkU32(bias) : mkU64(bias);
addrAct = assignNew('V', mce, tyAddr, binop(mkAdd, addr, eBias));
}
@@ -3099,9 +3101,9 @@
static
void do_shadow_Dirty ( MCEnv* mce, IRDirty* d )
{
- Int i, n, offset, toDo, gSz, gOff;
+ Int i, n, toDo, gSz, gOff;
IRAtom *src, *here, *curr;
- IRType tyAddr, tySrc, tyDst;
+ IRType tySrc, tyDst;
IRTemp dst;
IREndness end;
@@ -3168,13 +3170,13 @@
/* Inputs: memory. First set up some info needed regardless of
whether we're doing reads or writes. */
- tyAddr = Ity_INVALID;
if (d->mFx != Ifx_None) {
/* Because we may do multiple shadow loads/stores from the same
base address, it's best to do a single test of its
definedness right now. Post-instrumentation optimisation
should remove all but this test. */
+ IRType tyAddr;
tl_assert(d->mAddr);
complainIfUndefined(mce, d->mAddr);
@@ -3185,7 +3187,6 @@
/* Deal with memory inputs (reads or modifies) */
if (d->mFx == Ifx_Read || d->mFx == Ifx_Modify) {
- offset = 0;
toDo = d->mSize;
/* chew off 32-bit chunks. We don't care about the endianness
since it's all going to be condensed down to a single bit,
@@ -3255,7 +3256,6 @@
/* Outputs: memory that we write or modify. Same comments about
endianness as above apply. */
if (d->mFx == Ifx_Write || d->mFx == Ifx_Modify) {
- offset = 0;
toDo = d->mSize;
/* chew off 32-bit chunks */
while (toDo >= 4) {
@@ -4081,20 +4081,10 @@
static void do_origins_Dirty ( MCEnv* mce, IRDirty* d )
{
// This is a hacked version of do_shadow_Dirty
- Int i, n, offset, toDo, gSz, gOff;
+ Int i, n, toDo, gSz, gOff;
IRAtom *here, *curr;
IRTemp dst;
- IREndness end;
- /* What's the native endianness? We need to know this. */
-# if defined(VG_BIGENDIAN)
- end = Iend_BE;
-# elif defined(VG_LITTLEENDIAN)
- end = Iend_LE;
-# else
-# error "Unknown endianness"
-# endif
-
/* First check the guard. */
curr = schemeE( mce, d->guard );
@@ -4164,7 +4154,6 @@
/* Deal with memory inputs (reads or modifies) */
if (d->mFx == Ifx_Read || d->mFx == Ifx_Modify) {
- offset = 0;
toDo = d->mSize;
/* chew off 32-bit chunks. We don't care about the endianness
since it's all going to be condensed down to a single bit,
@@ -4228,7 +4217,6 @@
/* Outputs: memory that we write or modify. Same comments about
endianness as above apply. */
if (d->mFx == Ifx_Write || d->mFx == Ifx_Modify) {
- offset = 0;
toDo = d->mSize;
/* chew off 32-bit chunks */
while (toDo >= 4) {
@@ -4242,7 +4230,6 @@
}
tl_assert(toDo == 0); /* also need to handle 1-byte excess */
}
-
}
static void schemeS ( MCEnv* mce, IRStmt* st )
|
|
From: <sv...@va...> - 2009-03-15 23:25:11
|
Author: njn
Date: 2009-03-15 23:24:59 +0000 (Sun, 15 Mar 2009)
New Revision: 9415
Log:
Reinstate signal-based fault protection in the leak-checker for Darwin.
memcheck/tests/pointer-trace now passes.
Modified:
branches/DARWIN/memcheck/mc_leakcheck.c
Modified: branches/DARWIN/memcheck/mc_leakcheck.c
===================================================================
--- branches/DARWIN/memcheck/mc_leakcheck.c 2009-03-15 23:00:15 UTC (rev 9414)
+++ branches/DARWIN/memcheck/mc_leakcheck.c 2009-03-15 23:24:59 UTC (rev 9415)
@@ -658,7 +658,6 @@
}
-#if !defined(VGO_darwin)
static jmp_buf memscan_jmpbuf;
static
@@ -669,7 +668,6 @@
if (sigNo == VKI_SIGSEGV || sigNo == VKI_SIGBUS)
__builtin_longjmp(memscan_jmpbuf, 1);
}
-#endif
// Scan a block of memory between [start, start+len). This range may
// be bogus, inaccessable, or otherwise strange; we deal with it. For each
@@ -680,17 +678,13 @@
{
Addr ptr = VG_ROUNDUP(start, sizeof(Addr));
Addr end = VG_ROUNDDN(start+len, sizeof(Addr));
-#if !defined(VGO_darwin)
vki_sigset_t sigmask;
-#endif
if (VG_DEBUG_LEAKCHECK)
VG_(printf)("scan %#lx-%#lx (%lu)\n", start, end, len);
-#if !defined(VGO_darwin)
VG_(sigprocmask)(VKI_SIG_SETMASK, NULL, &sigmask);
VG_(set_fault_catcher)(scan_all_valid_memory_catcher);
-#endif
// We might be in the middle of a page. Do a cheap check to see if
// it's valid; if not, skip onto the next page.
@@ -714,11 +708,7 @@
}
}
-#if !defined(VGO_darwin)
- if (__builtin_setjmp(memscan_jmpbuf) == 0)
-#endif
- /* DDD: GrP fixme check page readability with kernel */
- {
+ if (__builtin_setjmp(memscan_jmpbuf) == 0) {
if ( MC_(is_valid_aligned_word)(ptr) ) {
lc_scanned_szB += sizeof(Addr);
addr = *(Addr *)ptr;
@@ -730,7 +720,6 @@
}
ptr += sizeof(Addr);
}
-#if !defined(VGO_darwin)
else {
// We need to restore the signal mask, because we were
// longjmped out of a signal handler.
@@ -738,13 +727,10 @@
ptr = VG_PGROUNDUP(ptr+1); // Bad page - skip it.
}
-#endif
}
-#if !defined(VGO_darwin)
VG_(sigprocmask)(VKI_SIG_SETMASK, &sigmask, NULL);
VG_(set_fault_catcher)(NULL);
-#endif
}
|
|
From: <sv...@va...> - 2009-03-15 23:00:35
|
Author: njn
Date: 2009-03-15 23:00:15 +0000 (Sun, 15 Mar 2009)
New Revision: 9414
Log:
Fix a compile warning.
Modified:
branches/DARWIN/coregrind/m_signals.c
Modified: branches/DARWIN/coregrind/m_signals.c
===================================================================
--- branches/DARWIN/coregrind/m_signals.c 2009-03-15 22:52:09 UTC (rev 9413)
+++ branches/DARWIN/coregrind/m_signals.c 2009-03-15 23:00:15 UTC (rev 9414)
@@ -1571,7 +1571,7 @@
vg_assert(VG_(threads)[tid].status == VgTs_Runnable);
VG_(memset)(&info, 0, sizeof(info));
- VG_(memset)(&uc, 0, sizeof(uc));
+ VG_(memset)(&uc, 0, sizeof(uc));
info.si_signo = VKI_SIGTRAP;
info.si_code = VKI_TRAP_BRKPT; /* tjh: only ever called for a brkpt ins */
@@ -1582,11 +1582,13 @@
breakpoint trap... */
# elif defined(VGP_x86_darwin) || defined(VGP_amd64_darwin)
/* the same thing, but using Darwin field/struct names */
- struct __darwin_mcontext32 mc;
- VG_(memset)(&mc, 0, sizeof(mc));
- uc.uc_mcontext = &mc;
- uc.uc_mcontext->__es.__trapno = 3;
- uc.uc_mcontext->__es.__err = 0;
+ {
+ struct __darwin_mcontext32 mc;
+ VG_(memset)(&mc, 0, sizeof(mc));
+ uc.uc_mcontext = &mc;
+ uc.uc_mcontext->__es.__trapno = 3;
+ uc.uc_mcontext->__es.__err = 0;
+ }
# endif
resume_scheduler(tid);
|
|
From: <sv...@va...> - 2009-03-15 22:52:29
|
Author: njn Date: 2009-03-15 22:52:09 +0000 (Sun, 15 Mar 2009) New Revision: 9413 Log: Merge r9407 (DRD tweak) from the trunk. Modified: branches/DARWIN/drd/tests/tc20_verifywrap2.stderr.exp-glibc2.5-ppc Modified: branches/DARWIN/drd/tests/tc20_verifywrap2.stderr.exp-glibc2.5-ppc =================================================================== --- branches/DARWIN/drd/tests/tc20_verifywrap2.stderr.exp-glibc2.5-ppc 2009-03-15 22:44:40 UTC (rev 9412) +++ branches/DARWIN/drd/tests/tc20_verifywrap2.stderr.exp-glibc2.5-ppc 2009-03-15 22:52:09 UTC (rev 9413) @@ -144,7 +144,7 @@ ------------ dealloc of mem holding locks ------------ -[1/1] mutex_destroy invalid mutex 0x........ rc 0 owner 0 +[1/1] mutex_destroy mutex 0x........ rc 0 owner 0 [1/1] mutex_destroy error checking mutex 0x........ rc 1 owner 1 Destroying locked mutex: mutex 0x........, recursion count 1, owner 1. |
|
From: <sv...@va...> - 2009-03-15 22:45:02
|
Author: njn
Date: 2009-03-15 22:44:40 +0000 (Sun, 15 Mar 2009)
New Revision: 9412
Log:
Mark pages that are mapped but !R and !W and !X as unaddressable. Makes
four extra tests (badjump2, buflen_check, execve and execve2) pass on Darwin.
Modified:
branches/DARWIN/memcheck/mc_main.c
Modified: branches/DARWIN/memcheck/mc_main.c
===================================================================
--- branches/DARWIN/memcheck/mc_main.c 2009-03-15 22:16:18 UTC (rev 9411)
+++ branches/DARWIN/memcheck/mc_main.c 2009-03-15 22:44:40 UTC (rev 9412)
@@ -93,8 +93,9 @@
/* Conceptually, every byte value has 8 V bits, which track whether Memcheck
thinks the corresponding value bit is defined. And every memory byte
has an A bit, which tracks whether Memcheck thinks the program can access
- it safely. So every N-bit register is shadowed with N V bits, and every
- memory byte is shadowed with 8 V bits and one A bit.
+ it safely (ie. it's mapped, and has at least one of the RWX permission bits
+ set). So every N-bit register is shadowed with N V bits, and every memory
+ byte is shadowed with 8 V bits and one A bit.
In the implementation, we use two forms of compression (compressed V bits
and distinguished secondary maps) to avoid the 9-bit-per-byte overhead
@@ -3701,10 +3702,19 @@
}
static
+void mc_new_mem_mmap ( Addr a, SizeT len, Bool rr, Bool ww, Bool xx,
+ ULong di_handle )
+{
+ if (rr || ww || xx)
+ MC_(make_mem_defined)(a, len);
+ else
+ MC_(make_mem_noaccess)(a, len);
+}
+
+static
void mc_new_mem_startup( Addr a, SizeT len,
Bool rr, Bool ww, Bool xx, ULong di_handle )
{
- /* Ignore the permissions, just make it defined. Seems to work... */
// Because code is defined, initialised variables get put in the data
// segment and are defined, and uninitialised variables get put in the
// bss segment and are auto-zeroed (and so defined).
@@ -3715,19 +3725,17 @@
// false negative, but it's a grey area -- the behaviour is defined (the
// padding is zeroed) but it's probably not what the user intended. And
// we can't avoid it.
+ //
+ // Note: we generally ignore RWX permissions, because we can't track them
+ // without requiring more than one A bit which would slow things down a
+ // lot. But on Darwin the 0th page is mapped but !R and !W and !X.
+ // So we mark any such pages as "unaddressable".
DEBUG("mc_new_mem_startup(%#lx, %llu, rr=%u, ww=%u, xx=%u)\n",
a, (ULong)len, rr, ww, xx);
- MC_(make_mem_defined)(a, len);
+ mc_new_mem_mmap(a, len, rr, ww, xx, di_handle);
}
static
-void mc_new_mem_mmap ( Addr a, SizeT len, Bool rr, Bool ww, Bool xx,
- ULong di_handle )
-{
- MC_(make_mem_defined)(a, len);
-}
-
-static
void mc_post_mem_write(CorePart part, ThreadId tid, Addr a, SizeT len)
{
MC_(make_mem_defined)(a, len);
|
|
From: <sv...@va...> - 2009-03-15 22:16:45
|
Author: sewardj
Date: 2009-03-15 22:16:18 +0000 (Sun, 15 Mar 2009)
New Revision: 9411
Log:
Handle syscalls: sem_trywait flistxattr fchmod_extended
Also some formatting changes.
Modified:
branches/DARWIN/coregrind/m_syswrap/priv_syswrap-darwin.h
branches/DARWIN/coregrind/m_syswrap/syswrap-darwin.c
Modified: branches/DARWIN/coregrind/m_syswrap/priv_syswrap-darwin.h
===================================================================
--- branches/DARWIN/coregrind/m_syswrap/priv_syswrap-darwin.h 2009-03-15 22:13:09 UTC (rev 9410)
+++ branches/DARWIN/coregrind/m_syswrap/priv_syswrap-darwin.h 2009-03-15 22:16:18 UTC (rev 9411)
@@ -59,6 +59,7 @@
DECL_TEMPLATE(darwin, sys_sem_unlink);
DECL_TEMPLATE(darwin, sys_sem_post);
DECL_TEMPLATE(darwin, sys_sem_wait_nocancel);
+DECL_TEMPLATE(darwin, sys_sem_trywait);
DECL_TEMPLATE(darwin, sys_bsdthread_create);
DECL_TEMPLATE(darwin, sys_bsdthread_terminate);
DECL_TEMPLATE(darwin, sys_kqueue);
@@ -76,8 +77,10 @@
DECL_TEMPLATE(darwin, sys_seteuid);
DECL_TEMPLATE(darwin, sys_setegid);
DECL_TEMPLATE(darwin, sys_listxattr);
+DECL_TEMPLATE(darwin, sys_flistxattr);
DECL_TEMPLATE(darwin, sys_shm_open);
DECL_TEMPLATE(darwin, sys_statx);
+DECL_TEMPLATE(darwin, sys_fchmod_extended);
DECL_TEMPLATE(darwin, sys_accessx);
DECL_TEMPLATE(darwin, sys_chflags);
DECL_TEMPLATE(darwin, sys_fchflags);
Modified: branches/DARWIN/coregrind/m_syswrap/syswrap-darwin.c
===================================================================
--- branches/DARWIN/coregrind/m_syswrap/syswrap-darwin.c 2009-03-15 22:13:09 UTC (rev 9410)
+++ branches/DARWIN/coregrind/m_syswrap/syswrap-darwin.c 2009-03-15 22:16:18 UTC (rev 9411)
@@ -58,10 +58,13 @@
#include "priv_syswrap-darwin.h" /* for decls of darwin-ish wrappers */
#include "priv_syswrap-main.h"
-
+/* --- !!! --- EXTERNAL HEADERS start --- !!! --- */
#include <mach/mach.h>
#include <mach/mach_vm.h>
#include <semaphore.h>
+#include <sys/acl.h> /* struct kauth_filesec */
+/* --- !!! --- EXTERNAL HEADERS end --- !!! --- */
+
#define msgh_request_port msgh_remote_port
#define msgh_reply_port msgh_local_port
#define BOOTSTRAP_MAX_NAME_LEN 128
@@ -1296,30 +1299,35 @@
PRE(sys_sem_close)
{
- PRINT("sem_close( %#lx )", ARG1);
- PRE_REG_READ1(int, "sem_close", vki_sem_t *, sem);
+ PRINT("sem_close( %#lx )", ARG1);
+ PRE_REG_READ1(int, "sem_close", vki_sem_t *, sem);
}
PRE(sys_sem_unlink)
{
- PRINT("sem_unlink( %#lx(%s) )", ARG1,(char*)ARG1);
- PRE_REG_READ1(int, "sem_unlink", const char *, name);
- PRE_MEM_RASCIIZ( "sem_unlink(name)", ARG1 );
+ PRINT("sem_unlink( %#lx(%s) )", ARG1,(char*)ARG1);
+ PRE_REG_READ1(int, "sem_unlink", const char *, name);
+ PRE_MEM_RASCIIZ( "sem_unlink(name)", ARG1 );
}
PRE(sys_sem_post)
{
- PRINT("sem_post( %#lx )", ARG1);
- PRE_REG_READ1(int, "sem_post", vki_sem_t *, sem);
-
+ PRINT("sem_post( %#lx )", ARG1);
+ PRE_REG_READ1(int, "sem_post", vki_sem_t *, sem);
*flags |= SfMayBlock;
}
PRE(sys_sem_wait_nocancel)
{
- PRINT("sem_wait_nocancel( %#lx )", ARG1);
- PRE_REG_READ1(int, "sem_wait_nocancel", vki_sem_t *, sem);
+ PRINT("sem_wait_nocancel( %#lx )", ARG1);
+ PRE_REG_READ1(int, "sem_wait_nocancel", vki_sem_t *, sem);
+ *flags |= SfMayBlock;
+}
+PRE(sys_sem_trywait)
+{
+ PRINT("sem_trywait( %#lx )", ARG1);
+ PRE_REG_READ1(int, "sem_trywait", vki_sem_t *, sem);
*flags |= SfMayBlock;
}
@@ -1716,17 +1724,34 @@
PRE_MEM_RASCIIZ( "listxattr(path)", ARG1 );
PRE_MEM_WRITE( "listxattr(namebuf)", ARG2, ARG3 );
-
*flags |= SfMayBlock;
}
-
POST(sys_listxattr)
{
+ vg_assert(SUCCESS);
vg_assert((vki_ssize_t)RES >= 0);
POST_MEM_WRITE( ARG2, (vki_ssize_t)RES );
}
+PRE(sys_flistxattr)
+{
+ PRINT( "flistxattr ( %ld, %#lx, %lu, %ld )",
+ ARG1, ARG2, ARG3, ARG4 );
+ PRE_REG_READ4 (long, "flistxattr",
+ int, "fd", char *,"namebuf",
+ vki_size_t,"size", int,"options" );
+ PRE_MEM_WRITE( "flistxattr(namebuf)", ARG2, ARG3 );
+ *flags |= SfMayBlock;
+}
+POST(sys_flistxattr)
+{
+ vg_assert(SUCCESS);
+ vg_assert((vki_ssize_t)RES >= 0);
+ POST_MEM_WRITE( ARG2, (vki_ssize_t)RES );
+}
+
+
PRE(sys_shm_open)
{
PRINT("shm_open(%#lx(%s), %ld, %ld)", ARG1, (char *)ARG1, ARG2, ARG3);
@@ -1763,7 +1788,6 @@
PRE_MEM_WRITE( "statx(fsacl_size)", ARG4, sizeof(vki_size_t) );
PRE_MEM_WRITE( "statx(fsacl)", ARG3, *(vki_size_t *)ARG4 );
}
-
POST(sys_statx)
{
POST_MEM_WRITE( ARG2, sizeof(struct vki_stat) );
@@ -1772,6 +1796,23 @@
}
+PRE(sys_fchmod_extended)
+{
+ PRINT("sys_fchmod_extended ( %ld, %ld, %ld, %ld, %#lx )",
+ ARG1, ARG2, ARG3, ARG4, ARG5);
+ PRE_REG_READ5(long, "fchmod",
+ unsigned int, fildes,
+ uid_t, uid,
+ gid_t, gid,
+ vki_mode_t, mode,
+ void* /*really,user_addr_t*/, xsecurity);
+ /* relative to the xnu sources (kauth_copyinfilesec), this
+ is just way wrong. */
+ PRE_MEM_READ( "fchmod_extended(xsecurity)", ARG5,
+ sizeof(struct kauth_filesec) );
+}
+
+
PRE(sys_accessx)
{
// fixme difficult
@@ -6698,7 +6739,7 @@
// _____(__NR_removexattr),
// _____(__NR_fremovexattr),
MACXY(__NR_listxattr, sys_listxattr), // 240
-// _____(__NR_flistxattr),
+ MACXY(__NR_flistxattr, sys_flistxattr),
MACXY(__NR_fsctl, sys_fsctl),
MACX_(__NR_initgroups, sys_initgroups),
// _____(__NR_posix_spawn),
@@ -6729,7 +6770,7 @@
MACX_(__NR_sem_close, sys_sem_close),
MACX_(__NR_sem_unlink, sys_sem_unlink),
// _____(__NR_sem_wait),
-// _____(__NR_sem_trywait),
+ MACX_(__NR_sem_trywait, sys_sem_trywait),
// _____(__NR_sem_post),
MACX_(__NR_sem_post, sys_sem_post),
// _____(__NR_sem_getvalue),
@@ -6741,7 +6782,7 @@
// _____(__NR_lstat_extended), // 280
// _____(__NR_fstat_extended),
// _____(__NR_chmod_extended),
-// _____(__NR_fchmod_extended),
+ MACX_(__NR_fchmod_extended, sys_fchmod_extended),
// _____(__NR_access_extended),
MACX_(__NR_settid, sys_settid),
// _____(__NR_gettid),
|
|
From: <sv...@va...> - 2009-03-15 22:13:26
|
Author: sewardj
Date: 2009-03-15 22:13:09 +0000 (Sun, 15 Mar 2009)
New Revision: 9410
Log:
Fix SIGTRAP synthesis/delivery on Darwin.
Modified:
branches/DARWIN/coregrind/m_scheduler/scheduler.c
branches/DARWIN/coregrind/m_signals.c
Modified: branches/DARWIN/coregrind/m_scheduler/scheduler.c
===================================================================
--- branches/DARWIN/coregrind/m_scheduler/scheduler.c 2009-03-15 22:11:06 UTC (rev 9409)
+++ branches/DARWIN/coregrind/m_scheduler/scheduler.c 2009-03-15 22:13:09 UTC (rev 9410)
@@ -873,12 +873,7 @@
if (jumped) {
block_signals();
-#if defined(VGO_darwin)
- I_die_here;
- // DDD: #warning GrP fixme signals
-#else
VG_(poll_signals)(tid);
-#endif
}
}
@@ -1149,14 +1144,7 @@
}
case VEX_TRC_JMP_SIGTRAP:
-#if defined(VGO_darwin)
- // GrP fixme signals
- // GrP remote debugger hack - gdb sets breakpoint (int3) in dyld code
- I_die_here;
- VG_(start_debugger_signal)(tid, 5);// gdb TARGET_SIGNAL_TRAP
-#else
VG_(synth_sigtrap)(tid);
-#endif
break;
case VEX_TRC_JMP_SIGSEGV:
Modified: branches/DARWIN/coregrind/m_signals.c
===================================================================
--- branches/DARWIN/coregrind/m_signals.c 2009-03-15 22:11:06 UTC (rev 9409)
+++ branches/DARWIN/coregrind/m_signals.c 2009-03-15 22:13:09 UTC (rev 9410)
@@ -1515,6 +1515,7 @@
vg_assert(VG_(threads)[tid].status == VgTs_Runnable);
+ VG_(memset)(&info, 0, sizeof(info));
info.si_signo = VKI_SIGSEGV;
info.si_code = si_code;
info.VKI_SIGINFO_si_addr = (void*)addr;
@@ -1552,6 +1553,7 @@
vg_assert(VG_(threads)[tid].status == VgTs_Runnable);
+ VG_(memset)(&info, 0, sizeof(info));
info.si_signo = VKI_SIGILL;
info.si_code = VKI_ILL_ILLOPC; /* jrs: no idea what this should be */
info.VKI_SIGINFO_si_addr = (void*)addr;
@@ -1568,18 +1570,21 @@
vg_assert(VG_(threads)[tid].status == VgTs_Runnable);
+ VG_(memset)(&info, 0, sizeof(info));
+ VG_(memset)(&uc, 0, sizeof(uc));
info.si_signo = VKI_SIGTRAP;
info.si_code = VKI_TRAP_BRKPT; /* tjh: only ever called for a brkpt ins */
# if defined(VGP_x86_linux) || defined(VGP_amd64_linux)
- uc.uc_mcontext->trapno = 3; /* tjh: this is the x86 trap number
+ uc.uc_mcontext.trapno = 3; /* tjh: this is the x86 trap number
for a breakpoint trap... */
uc.uc_mcontext.err = 0; /* tjh: no error code for x86
breakpoint trap... */
# elif defined(VGP_x86_darwin) || defined(VGP_amd64_darwin)
/* the same thing, but using Darwin field/struct names */
- /* XXX JRS this doesn't work, maybe because uc.uc_mcontext
- points to unwritable memory? */
+ struct __darwin_mcontext32 mc;
+ VG_(memset)(&mc, 0, sizeof(mc));
+ uc.uc_mcontext = &mc;
uc.uc_mcontext->__es.__trapno = 3;
uc.uc_mcontext->__es.__err = 0;
# endif
|
|
From: <sv...@va...> - 2009-03-15 22:11:27
|
Author: sewardj
Date: 2009-03-15 22:11:06 +0000 (Sun, 15 Mar 2009)
New Revision: 9409
Log:
Disable (initialisation of) the debugstub mechanism on Darwin. It
causes problems getting repeatable regression test runs when two
regtest runs happen simultaneously on the same machine, since
processes in one run grab the debug port and cause processes in the
other run to print a warning message about its non-availability, thus
messing up their stderrs.
Modified:
branches/DARWIN/coregrind/m_main.c
Modified: branches/DARWIN/coregrind/m_main.c
===================================================================
--- branches/DARWIN/coregrind/m_main.c 2009-03-14 09:07:28 UTC (rev 9408)
+++ branches/DARWIN/coregrind/m_main.c 2009-03-15 22:11:06 UTC (rev 9409)
@@ -2034,11 +2034,13 @@
// p: scheduler, process_cmd_line_options()
//--------------------------------------------------------------
#if defined(VGO_darwin)
+#if 0
if (VG_(clo_db_listen) && VG_(clo_verbosity) > 0) {
VG_(debugLog)(1, "main", "Listening for debugger on port %d\n",
VG_(clo_db_listen_port));
VG_(debugstub_init)();
}
+#endif
#else
// DDD: Only Darwin does this for the moment.
#endif
|
|
From: Bart V. A. <bar...@gm...> - 2009-03-15 08:31:06
|
Nightly build on georgia-tech-cellbuzz-native ( cellbuzz, ppc64, Fedora 7, native ) started at 2009-03-15 02:00:02 EDT 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 == 407 tests, 36 stderr failures, 9 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) memcheck/tests/deep_templates (stdout) memcheck/tests/leak-cases-full (stderr) memcheck/tests/leak-cases-summary (stderr) memcheck/tests/leak-cycle (stderr) memcheck/tests/origin5-bz2 (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) 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 == 407 tests, 37 stderr failures, 9 stdout failures, 0 post failures == 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) memcheck/tests/deep_templates (stdout) memcheck/tests/leak-cases-full (stderr) memcheck/tests/leak-cases-summary (stderr) memcheck/tests/leak-cycle (stderr) memcheck/tests/origin5-bz2 (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) 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 Sun Mar 15 03:15:41 2009 --- new.short Sun Mar 15 04:30:45 2009 *************** *** 8,11 **** ! == 407 tests, 37 stderr failures, 9 stdout failures, 0 post failures == ! drd/tests/tc20_verifywrap2 (stderr) exp-ptrcheck/tests/bad_percentify (stderr) --- 8,10 ---- ! == 407 tests, 36 stderr failures, 9 stdout failures, 0 post failures == exp-ptrcheck/tests/bad_percentify (stderr) |
|
From: Tom H. <th...@cy...> - 2009-03-15 04:18:13
|
Nightly build on vauxhall ( x86_64, Fedora 10 ) started at 2009-03-15 03:20:14 GMT
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
== 487 tests, 0 stderr failures, 0 stdout failures, 0 post failures ==
=================================================
== Results from 24 hours ago ==
=================================================
Checking out valgrind source tree ... done
Configuring valgrind ... done
Building valgrind ... done
Running regression tests ... failed
Regression test results follow
== 487 tests, 0 stderr failures, 1 stdout failure, 0 post failures ==
none/tests/pth_cvsimple (stdout)
=================================================
== Difference between 24 hours ago and now ==
=================================================
*** old.short Sun Mar 15 03:48:07 2009
--- new.short Sun Mar 15 04:17:57 2009
***************
*** 4,6 ****
Building valgrind ... done
! Running regression tests ... failed
--- 4,6 ----
Building valgrind ... done
! Running regression tests ... done
***************
*** 8,11 ****
! == 487 tests, 0 stderr failures, 1 stdout failure, 0 post failures ==
! none/tests/pth_cvsimple (stdout)
--- 8,10 ----
! == 487 tests, 0 stderr failures, 0 stdout failures, 0 post failures ==
|
|
From: Tom H. <th...@cy...> - 2009-03-15 04:02:43
|
Nightly build on lloyd ( x86_64, Fedora 7 ) started at 2009-03-15 03:05:07 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 == 478 tests, 4 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) |
|
From: Tom H. <th...@cy...> - 2009-03-15 03:47:14
|
Nightly build on mg ( x86_64, Fedora 9 ) started at 2009-03-15 03:10: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 == 484 tests, 4 stderr failures, 1 stdout failure, 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) none/tests/linux/mremap2 (stdout) |