You can subscribe to this list here.
| 2002 |
Jan
|
Feb
|
Mar
|
Apr
|
May
|
Jun
|
Jul
|
Aug
|
Sep
(1) |
Oct
(122) |
Nov
(152) |
Dec
(69) |
|---|---|---|---|---|---|---|---|---|---|---|---|---|
| 2003 |
Jan
(6) |
Feb
(25) |
Mar
(73) |
Apr
(82) |
May
(24) |
Jun
(25) |
Jul
(10) |
Aug
(11) |
Sep
(10) |
Oct
(54) |
Nov
(203) |
Dec
(182) |
| 2004 |
Jan
(307) |
Feb
(305) |
Mar
(430) |
Apr
(312) |
May
(187) |
Jun
(342) |
Jul
(487) |
Aug
(637) |
Sep
(336) |
Oct
(373) |
Nov
(441) |
Dec
(210) |
| 2005 |
Jan
(385) |
Feb
(480) |
Mar
(636) |
Apr
(544) |
May
(679) |
Jun
(625) |
Jul
(810) |
Aug
(838) |
Sep
(634) |
Oct
(521) |
Nov
(965) |
Dec
(543) |
| 2006 |
Jan
(494) |
Feb
(431) |
Mar
(546) |
Apr
(411) |
May
(406) |
Jun
(322) |
Jul
(256) |
Aug
(401) |
Sep
(345) |
Oct
(542) |
Nov
(308) |
Dec
(481) |
| 2007 |
Jan
(427) |
Feb
(326) |
Mar
(367) |
Apr
(255) |
May
(244) |
Jun
(204) |
Jul
(223) |
Aug
(231) |
Sep
(354) |
Oct
(374) |
Nov
(497) |
Dec
(362) |
| 2008 |
Jan
(322) |
Feb
(482) |
Mar
(658) |
Apr
(422) |
May
(476) |
Jun
(396) |
Jul
(455) |
Aug
(267) |
Sep
(280) |
Oct
(253) |
Nov
(232) |
Dec
(304) |
| 2009 |
Jan
(486) |
Feb
(470) |
Mar
(458) |
Apr
(423) |
May
(696) |
Jun
(461) |
Jul
(551) |
Aug
(575) |
Sep
(134) |
Oct
(110) |
Nov
(157) |
Dec
(102) |
| 2010 |
Jan
(226) |
Feb
(86) |
Mar
(147) |
Apr
(117) |
May
(107) |
Jun
(203) |
Jul
(193) |
Aug
(238) |
Sep
(300) |
Oct
(246) |
Nov
(23) |
Dec
(75) |
| 2011 |
Jan
(133) |
Feb
(195) |
Mar
(315) |
Apr
(200) |
May
(267) |
Jun
(293) |
Jul
(353) |
Aug
(237) |
Sep
(278) |
Oct
(611) |
Nov
(274) |
Dec
(260) |
| 2012 |
Jan
(303) |
Feb
(391) |
Mar
(417) |
Apr
(441) |
May
(488) |
Jun
(655) |
Jul
(590) |
Aug
(610) |
Sep
(526) |
Oct
(478) |
Nov
(359) |
Dec
(372) |
| 2013 |
Jan
(467) |
Feb
(226) |
Mar
(391) |
Apr
(281) |
May
(299) |
Jun
(252) |
Jul
(311) |
Aug
(352) |
Sep
(481) |
Oct
(571) |
Nov
(222) |
Dec
(231) |
| 2014 |
Jan
(185) |
Feb
(329) |
Mar
(245) |
Apr
(238) |
May
(281) |
Jun
(399) |
Jul
(382) |
Aug
(500) |
Sep
(579) |
Oct
(435) |
Nov
(487) |
Dec
(256) |
| 2015 |
Jan
(338) |
Feb
(357) |
Mar
(330) |
Apr
(294) |
May
(191) |
Jun
(108) |
Jul
(142) |
Aug
(261) |
Sep
(190) |
Oct
(54) |
Nov
(83) |
Dec
(22) |
| 2016 |
Jan
(49) |
Feb
(89) |
Mar
(33) |
Apr
(50) |
May
(27) |
Jun
(34) |
Jul
(53) |
Aug
(53) |
Sep
(98) |
Oct
(206) |
Nov
(93) |
Dec
(53) |
| 2017 |
Jan
(65) |
Feb
(82) |
Mar
(102) |
Apr
(86) |
May
(187) |
Jun
(67) |
Jul
(23) |
Aug
(93) |
Sep
(65) |
Oct
(45) |
Nov
(35) |
Dec
(17) |
| 2018 |
Jan
(26) |
Feb
(35) |
Mar
(38) |
Apr
(32) |
May
(8) |
Jun
(43) |
Jul
(27) |
Aug
(30) |
Sep
(43) |
Oct
(42) |
Nov
(38) |
Dec
(67) |
| 2019 |
Jan
(32) |
Feb
(37) |
Mar
(53) |
Apr
(64) |
May
(49) |
Jun
(18) |
Jul
(14) |
Aug
(53) |
Sep
(25) |
Oct
(30) |
Nov
(49) |
Dec
(31) |
| 2020 |
Jan
(87) |
Feb
(45) |
Mar
(37) |
Apr
(51) |
May
(99) |
Jun
(36) |
Jul
(11) |
Aug
(14) |
Sep
(20) |
Oct
(24) |
Nov
(40) |
Dec
(23) |
| 2021 |
Jan
(14) |
Feb
(53) |
Mar
(85) |
Apr
(15) |
May
(19) |
Jun
(3) |
Jul
(14) |
Aug
(1) |
Sep
(57) |
Oct
(73) |
Nov
(56) |
Dec
(22) |
| 2022 |
Jan
(3) |
Feb
(22) |
Mar
(6) |
Apr
(55) |
May
(46) |
Jun
(39) |
Jul
(15) |
Aug
(9) |
Sep
(11) |
Oct
(34) |
Nov
(20) |
Dec
(36) |
| 2023 |
Jan
(79) |
Feb
(41) |
Mar
(99) |
Apr
(169) |
May
(48) |
Jun
(16) |
Jul
(16) |
Aug
(57) |
Sep
(19) |
Oct
|
Nov
|
Dec
|
| S | M | T | W | T | F | S |
|---|---|---|---|---|---|---|
|
|
|
|
|
1
(12) |
2
(11) |
3
(8) |
|
4
(9) |
5
(10) |
6
(18) |
7
(8) |
8
(12) |
9
(23) |
10
(14) |
|
11
(15) |
12
(31) |
13
(45) |
14
(28) |
15
(20) |
16
(16) |
17
(9) |
|
18
(18) |
19
(26) |
20
(49) |
21
(14) |
22
(18) |
23
(24) |
24
(28) |
|
25
(39) |
26
(17) |
27
(27) |
28
(27) |
29
(14) |
30
(44) |
|
|
From: <sv...@va...> - 2005-09-23 21:29:54
|
Author: njn
Date: 2005-09-23 22:29:51 +0100 (Fri, 23 Sep 2005)
New Revision: 4741
Log:
Change VALGRINDLIB to VALGRIND_LIB in places where it was missed.
Modified:
branches/ASPACEM/README_DEVELOPERS
branches/ASPACEM/tests/vg_regtest.in
Modified: branches/ASPACEM/README_DEVELOPERS
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D
--- branches/ASPACEM/README_DEVELOPERS 2005-09-23 19:58:00 UTC (rev 4740)
+++ branches/ASPACEM/README_DEVELOPERS 2005-09-23 21:29:51 UTC (rev 4741)
@@ -3,10 +3,10 @@
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
=20
To run Valgrind without having to install it, run coregrind/valgrind
-with the VALGRINDLIB environment variable set, where <dir> is the root
+with the VALGRIND_LIB environment variable set, where <dir> is the root
of the source tree (and must be an absolute path). Eg:
=20
- VALGRINDLIB=3D~/grind/head4/.in_place ~/grind/head4/coregrind/valgrind=
=20
+ VALGRIND_LIB=3D~/grind/head4/.in_place ~/grind/head4/coregrind/valgrin=
d=20
=20
This allows you to compile and run with "make" instead of "make install"=
,
saving you time.
Modified: branches/ASPACEM/tests/vg_regtest.in
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D
--- branches/ASPACEM/tests/vg_regtest.in 2005-09-23 19:58:00 UTC (rev 474=
0)
+++ branches/ASPACEM/tests/vg_regtest.in 2005-09-23 21:29:51 UTC (rev 474=
1)
@@ -280,7 +280,7 @@
# Pass the appropriate --tool option for the directory (can be overr=
idden
# by an "args:" line, though). =20
my $tool=3Ddetermine_tool();
- mysystem("VALGRINDLIB=3D$tests_dir/.in_place $valgrind --command-lin=
e-only=3Dyes --memcheck:leak-check=3Dno --addrcheck:leak-check=3Dno --too=
l=3D$tool $vgopts $prog $args > $name.stdout.out 2> $name.stderr.out");
+ mysystem("VALGRIND_LIB=3D$tests_dir/.in_place $valgrind --command-li=
ne-only=3Dyes --memcheck:leak-check=3Dno --addrcheck:leak-check=3Dno --to=
ol=3D$tool $vgopts $prog $args > $name.stdout.out 2> $name.stderr.out");
=20
if (defined $stdout_filter) {
mysystem("$stdout_filter < $name.stdout.out > $tmp");
|
|
From: <sv...@va...> - 2005-09-23 19:58:07
|
Author: sewardj
Date: 2005-09-23 20:58:00 +0100 (Fri, 23 Sep 2005)
New Revision: 4740
Log:
Reinstate stack-change tracking code.
Modified:
branches/ASPACEM/coregrind/m_main.c
branches/ASPACEM/coregrind/m_signals.c
branches/ASPACEM/coregrind/m_stacks.c
Modified: branches/ASPACEM/coregrind/m_main.c
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D
--- branches/ASPACEM/coregrind/m_main.c 2005-09-23 19:28:47 UTC (rev 4739=
)
+++ branches/ASPACEM/coregrind/m_main.c 2005-09-23 19:58:00 UTC (rev 4740=
)
@@ -495,6 +495,10 @@
/* The max stack size */
clstack_max_size =3D VG_PGROUNDUP(clstack_max_size);
=20
+ /* Record stack extent -- needed for stack-change code. */
+ VG_(clstk_base) =3D clstack_start;
+ VG_(clstk_end) =3D clstack_end;
+
if (0)
VG_(printf)("stringsize=3D%d auxsize=3D%d stacksize=3D%d maxsize=3D=
0x%x\n"
"clstack_start %p\n"
Modified: branches/ASPACEM/coregrind/m_signals.c
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D
--- branches/ASPACEM/coregrind/m_signals.c 2005-09-23 19:28:47 UTC (rev 4=
739)
+++ branches/ASPACEM/coregrind/m_signals.c 2005-09-23 19:58:00 UTC (rev 4=
740)
@@ -82,6 +82,7 @@
#include "pub_core_basics.h"
#include "pub_core_debuglog.h"
#include "pub_core_threadstate.h"
+#include "pub_core_clientstate.h"
#include "pub_core_aspacemgr.h"
#include "pub_core_debugger.h" // For VG_(start_debugger)
#include "pub_core_errormgr.h"
@@ -1743,7 +1744,7 @@
=20
/* When we change the main stack, we have to let the stack handling
code know about it. */
- /// FIXME VG_(change_stack)(VG_(clstk_id), base, VG_(clstk_end));
+ VG_(change_stack)(VG_(clstk_id), addr, VG_(clstk_end));
=20
if (VG_(clo_sanity_level) > 2)
VG_(sanity_check_general)(False);
Modified: branches/ASPACEM/coregrind/m_stacks.c
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D
--- branches/ASPACEM/coregrind/m_stacks.c 2005-09-23 19:28:47 UTC (rev 47=
39)
+++ branches/ASPACEM/coregrind/m_stacks.c 2005-09-23 19:58:00 UTC (rev 47=
40)
@@ -151,6 +151,9 @@
UWord VG_(register_stack)(Addr start, Addr end)
{
Stack *i;
+
+ if (0) VG_(printf)("REGISTER STACK %p %p\n", start,end);
+
if (start > end) {
Addr t =3D end;
end =3D start;
|
|
From: <sv...@va...> - 2005-09-23 19:28:54
|
Author: sewardj
Date: 2005-09-23 20:28:47 +0100 (Fri, 23 Sep 2005)
New Revision: 4739
Log:
Pass envp to the child process, since not doing so tends to kill it if
it depends on LD_LIBRARY_PATH being set.
Modified:
branches/ASPACEM/memcheck/tests/execve2.c
Modified: branches/ASPACEM/memcheck/tests/execve2.c
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D
--- branches/ASPACEM/memcheck/tests/execve2.c 2005-09-23 16:38:12 UTC (re=
v 4738)
+++ branches/ASPACEM/memcheck/tests/execve2.c 2005-09-23 19:28:47 UTC (re=
v 4739)
@@ -1,9 +1,9 @@
#include <assert.h>
#include <unistd.h>
=20
-int main(void)
+int main ( int argc, char** argv, char** envp )
{
execve(NULL, NULL, NULL);
- execve("../../tests/true", NULL, NULL);
+ execve("../../tests/true", NULL, envp);
assert(0); // shouldn't get here
}
|
|
From: <sv...@va...> - 2005-09-23 16:38:16
|
Author: sewardj
Date: 2005-09-23 17:38:12 +0100 (Fri, 23 Sep 2005)
New Revision: 4738
Log:
Placate the typechecker in pre-gcc4 snapshot on FC4RC3.
Modified:
branches/ASPACEM/coregrind/m_aspacemgr/aspacemgr.c
branches/ASPACEM/coregrind/pub_core_aspacemgr.h
Modified: branches/ASPACEM/coregrind/m_aspacemgr/aspacemgr.c
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D
--- branches/ASPACEM/coregrind/m_aspacemgr/aspacemgr.c 2005-09-23 16:30:3=
2 UTC (rev 4737)
+++ branches/ASPACEM/coregrind/m_aspacemgr/aspacemgr.c 2005-09-23 16:38:1=
2 UTC (rev 4738)
@@ -969,7 +969,8 @@
a discrepancy is detected, but does not abort the system. Returned
Bool is False if a discrepancy was found. */
=20
-Bool VG_(am_do_sync_check) ( HChar* fn, HChar* file, Int line )
+Bool VG_(am_do_sync_check) ( const HChar* fn,=20
+ const HChar* file, Int line )
{
sync_check_ok =3D True;
if (0)
Modified: branches/ASPACEM/coregrind/pub_core_aspacemgr.h
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D
--- branches/ASPACEM/coregrind/pub_core_aspacemgr.h 2005-09-23 16:30:32 U=
TC (rev 4737)
+++ branches/ASPACEM/coregrind/pub_core_aspacemgr.h 2005-09-23 16:38:12 U=
TC (rev 4738)
@@ -121,7 +121,8 @@
a discrepancy is detected, but does not abort the system. Returned
Bool is False if a discrepancy was found. */
=20
-extern Bool VG_(am_do_sync_check) ( HChar* fn, HChar* file, Int line );
+extern Bool VG_(am_do_sync_check) ( const HChar* fn,=20
+ const HChar* file, Int line );
=20
=20
//--------------------------------------------------------------
|
|
From: <sv...@va...> - 2005-09-23 16:30:39
|
Author: sewardj
Date: 2005-09-23 17:30:32 +0100 (Fri, 23 Sep 2005)
New Revision: 4737
Log:
VG_(am_relocate_nooverlap_client): don't mess with offsets in
anonymous segments.
Modified:
branches/ASPACEM/coregrind/m_aspacemgr/aspacemgr.c
Modified: branches/ASPACEM/coregrind/m_aspacemgr/aspacemgr.c
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D
--- branches/ASPACEM/coregrind/m_aspacemgr/aspacemgr.c 2005-09-23 13:54:1=
0 UTC (rev 4736)
+++ branches/ASPACEM/coregrind/m_aspacemgr/aspacemgr.c 2005-09-23 16:30:3=
2 UTC (rev 4737)
@@ -1280,6 +1280,7 @@
static void add_segment ( NSegment* seg )
{
Int i, iLo, iHi, delta;
+ Bool segment_is_sane;
=20
Addr sStart =3D seg->start;
Addr sEnd =3D seg->end;
@@ -1287,9 +1288,11 @@
aspacem_assert(sStart <=3D sEnd);
aspacem_assert(VG_IS_PAGE_ALIGNED(sStart));
aspacem_assert(VG_IS_PAGE_ALIGNED(sEnd+1));
- /* if (!sane_NSegment(seg)) show_nsegment_full(0,seg); */
- aspacem_assert(sane_NSegment(seg));
=20
+ segment_is_sane =3D sane_NSegment(seg);
+ if (!segment_is_sane) show_nsegment_full(0,seg);
+ aspacem_assert(segment_is_sane);
+
split_nsegments_lo_and_hi( sStart, sEnd, &iLo, &iHi );
=20
/* Now iLo .. iHi inclusive is the range of segment indices which
@@ -2515,7 +2518,12 @@
add_segment( &seg );
=20
/* Mark the new area based on the old seg. */
- oldseg.offset +=3D ((ULong)old_addr) - ((ULong)oldseg.start);
+ if (oldseg.kind =3D=3D SkFileC) {
+ oldseg.offset +=3D ((ULong)old_addr) - ((ULong)oldseg.start);
+ } else {
+ aspacem_assert(oldseg.kind =3D=3D SkAnonC);
+ aspacem_assert(oldseg.offset =3D=3D 0);
+ }
oldseg.start =3D new_addr;
oldseg.end =3D new_addr + new_len - 1;
add_segment( &oldseg );
|
|
From: <sv...@va...> - 2005-09-23 13:54:15
|
Author: sewardj
Date: 2005-09-23 14:54:10 +0100 (Fri, 23 Sep 2005)
New Revision: 4736
Log:
Update expected output.
Modified:
branches/ASPACEM/memcheck/tests/x86/scalar.stderr.exp
Modified: branches/ASPACEM/memcheck/tests/x86/scalar.stderr.exp
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D
--- branches/ASPACEM/memcheck/tests/x86/scalar.stderr.exp 2005-09-23 13:5=
0:29 UTC (rev 4735)
+++ branches/ASPACEM/memcheck/tests/x86/scalar.stderr.exp 2005-09-23 13:5=
4:10 UTC (rev 4736)
@@ -800,7 +800,7 @@
by 0x........: __libc_start_main (in /...libc...)
by 0x........: ...
=20
-Syscall param sigaction(act) points to unaddressable byte(s)
+Syscall param rt_sigaction(act->sa_handler) points to unaddressable byte=
(s)
at 0x........: syscall (in /...libc...)
by 0x........: __libc_start_main (in /...libc...)
by 0x........: ...
@@ -808,6 +808,22 @@
at 0x........: malloc (vg_replace_malloc.c:...)
by 0x........: main (scalar.c:24)
=20
+Syscall param rt_sigaction(act->sa_mask) points to unaddressable byte(s)
+ at 0x........: syscall (in /...libc...)
+ by 0x........: __libc_start_main (in /...libc...)
+ by 0x........: ...
+ Address 0x........ is 4 bytes after a block of size 4 alloc'd
+ at 0x........: malloc (vg_replace_malloc.c:...)
+ by 0x........: main (scalar.c:24)
+
+Syscall param rt_sigaction(act->sa_flags) points to unaddressable byte(s=
)
+ at 0x........: syscall (in /...libc...)
+ by 0x........: __libc_start_main (in /...libc...)
+ by 0x........: ...
+ Address 0x........ is 8 bytes after a block of size 4 alloc'd
+ at 0x........: malloc (vg_replace_malloc.c:...)
+ by 0x........: main (scalar.c:24)
+
Syscall param sigaction(oldact) points to unaddressable byte(s)
at 0x........: syscall (in /...libc...)
by 0x........: __libc_start_main (in /...libc...)
@@ -2400,12 +2416,6 @@
by 0x........: __libc_start_main (in /...libc...)
by 0x........: ...
=20
-Syscall param rt_sigaction(act) points to unaddressable byte(s)
- at 0x........: syscall (in /...libc...)
- by 0x........: __libc_start_main (in /...libc...)
- by 0x........: ...
- Address 0x........ is not stack'd, malloc'd or (recently) free'd
-
Syscall param rt_sigaction(oldact) points to unaddressable byte(s)
at 0x........: syscall (in /...libc...)
by 0x........: __libc_start_main (in /...libc...)
|
|
From: <sv...@va...> - 2005-09-23 13:50:32
|
Author: sewardj
Date: 2005-09-23 14:50:29 +0100 (Fri, 23 Sep 2005)
New Revision: 4735
Log:
sigaction wrappers: don't dereference 'act' without first checking it
isn't going to cause a segfault. I'm not sure how
memcheck/tests/x86/scalar managed to not crash V at this point without
such a check.
Modified:
branches/ASPACEM/coregrind/m_syswrap/priv_syswrap-generic.h
branches/ASPACEM/coregrind/m_syswrap/syswrap-generic.c
branches/ASPACEM/coregrind/m_syswrap/syswrap-x86-linux.c
Modified: branches/ASPACEM/coregrind/m_syswrap/priv_syswrap-generic.h
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D
--- branches/ASPACEM/coregrind/m_syswrap/priv_syswrap-generic.h 2005-09-2=
3 13:47:34 UTC (rev 4734)
+++ branches/ASPACEM/coregrind/m_syswrap/priv_syswrap-generic.h 2005-09-2=
3 13:50:29 UTC (rev 4735)
@@ -40,6 +40,11 @@
Bool ML_(valid_client_addr)(Addr start, SizeT size, ThreadId tid,
const Char *syscallname);
=20
+/* Handy small function to help stop wrappers from segfaulting when
+ presented with bogus client addresses. Is not used for generating
+ user-visible errors. */
+extern Bool ML_(safe_to_deref) ( void* start, SizeT size );
+
// Returns True if the signal is OK for the client to use.
extern Bool ML_(client_signal_OK)(Int sigNo);
=20
Modified: branches/ASPACEM/coregrind/m_syswrap/syswrap-generic.c
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D
--- branches/ASPACEM/coregrind/m_syswrap/syswrap-generic.c 2005-09-23 13:=
47:34 UTC (rev 4734)
+++ branches/ASPACEM/coregrind/m_syswrap/syswrap-generic.c 2005-09-23 13:=
50:29 UTC (rev 4735)
@@ -99,6 +99,17 @@
return ret;
}
=20
+
+/* Handy small function to help stop wrappers from segfaulting when
+ presented with bogus client addresses. Is not used for generating
+ user-visible errors. */
+
+Bool ML_(safe_to_deref) ( void* start, SizeT size )
+{
+ return VG_(am_is_valid_for_client)( (Addr)start, size, VKI_PROT_NONE =
);
+}
+
+
/* ---------------------------------------------------------------------
Doing mmap, mremap
------------------------------------------------------------------ */
@@ -5613,7 +5624,8 @@
PRE_MEM_READ( "rt_sigaction(act->sa_handler)", (Addr)&sa->ksa_hand=
ler, sizeof(sa->ksa_handler));
PRE_MEM_READ( "rt_sigaction(act->sa_mask)", (Addr)&sa->sa_mask, si=
zeof(sa->sa_mask));
PRE_MEM_READ( "rt_sigaction(act->sa_flags)", (Addr)&sa->sa_flags, =
sizeof(sa->sa_flags));
- if (sa->sa_flags & VKI_SA_RESTORER)
+ if (ML_(safe_to_deref)(sa,sizeof(sa))=20
+ && (sa->sa_flags & VKI_SA_RESTORER))
PRE_MEM_READ( "rt_sigaction(act->sa_restorer)", (Addr)&sa->sa_r=
estorer, sizeof(sa->sa_restorer));
}
if (ARG3 !=3D 0)
Modified: branches/ASPACEM/coregrind/m_syswrap/syswrap-x86-linux.c
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D
--- branches/ASPACEM/coregrind/m_syswrap/syswrap-x86-linux.c 2005-09-23 1=
3:47:34 UTC (rev 4734)
+++ branches/ASPACEM/coregrind/m_syswrap/syswrap-x86-linux.c 2005-09-23 1=
3:50:29 UTC (rev 4735)
@@ -1882,7 +1882,8 @@
PRE_MEM_READ( "rt_sigaction(act->sa_handler)", (Addr)&sa->ksa_hand=
ler, sizeof(sa->ksa_handler));
PRE_MEM_READ( "rt_sigaction(act->sa_mask)", (Addr)&sa->sa_mask, si=
zeof(sa->sa_mask));
PRE_MEM_READ( "rt_sigaction(act->sa_flags)", (Addr)&sa->sa_flags, =
sizeof(sa->sa_flags));
- if (sa->sa_flags & VKI_SA_RESTORER)
+ if (ML_(safe_to_deref)(sa,sizeof(sa))=20
+ && (sa->sa_flags & VKI_SA_RESTORER))
PRE_MEM_READ( "rt_sigaction(act->sa_restorer)", (Addr)&sa->sa_r=
estorer, sizeof(sa->sa_restorer));
}
=20
|
|
From: <sv...@va...> - 2005-09-23 13:47:40
|
Author: sewardj
Date: 2005-09-23 14:47:34 +0100 (Fri, 23 Sep 2005)
New Revision: 4734
Log:
Improve debug printing.
Modified:
branches/ASPACEM/coregrind/m_translate.c
branches/ASPACEM/memcheck/mc_main.c
Modified: branches/ASPACEM/coregrind/m_translate.c
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D
--- branches/ASPACEM/coregrind/m_translate.c 2005-09-23 12:49:32 UTC (rev=
4733)
+++ branches/ASPACEM/coregrind/m_translate.c 2005-09-23 13:47:34 UTC (rev=
4734)
@@ -516,7 +516,8 @@
=3D VG_(get_bbs_translated)() >=3D notrace_until_limit;
=20
if (!debugging_translation)
- VG_TRACK( pre_mem_read, Vg_CoreTranslate, tid, "", orig_addr, 1 );
+ VG_TRACK( pre_mem_read, Vg_CoreTranslate,=20
+ tid, "(translator)", orig_addr, 1 );
=20
/* If doing any code printing, print a basic block start marker */
if (VG_(clo_trace_flags) || debugging_translation) {
Modified: branches/ASPACEM/memcheck/mc_main.c
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D
--- branches/ASPACEM/memcheck/mc_main.c 2005-09-23 12:49:32 UTC (rev 4733=
)
+++ branches/ASPACEM/memcheck/mc_main.c 2005-09-23 13:47:34 UTC (rev 4734=
)
@@ -1204,12 +1204,15 @@
=20
VGP_PUSHCC(VgpCheckMem);
=20
- /* VG_(message)(Vg_DebugMsg,"check is readable: %x .. %x",
- base,base+size-1); */
res =3D mc_check_readable ( base, size, &bad_addr );
+
+ if (0)
+ VG_(printf)("mc_check_is_readable(0x%x, %d, %s) -> %s\n",
+ (UInt)base, (Int)size, s, res=3D=3DMC_Ok ? "yes" : "no=
" );
+
if (MC_Ok !=3D res) {
Bool isUnaddr =3D ( MC_AddrErr =3D=3D res ? True : False );
- =20
+
switch (part) {
case Vg_CoreSysCall:
MAC_(record_param_error) ( tid, bad_addr, /*isReg*/False,
|
|
From: <sv...@va...> - 2005-09-23 12:49:38
|
Author: sewardj
Date: 2005-09-23 13:49:32 +0100 (Fri, 23 Sep 2005)
New Revision: 4733
Log:
Fix argv printing for XML.
Modified:
branches/ASPACEM/coregrind/m_main.c
Modified: branches/ASPACEM/coregrind/m_main.c
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D
--- branches/ASPACEM/coregrind/m_main.c 2005-09-23 12:22:22 UTC (rev 4732=
)
+++ branches/ASPACEM/coregrind/m_main.c 2005-09-23 12:49:32 UTC (rev 4733=
)
@@ -1543,21 +1543,28 @@
}
VG_(message)(Vg_UserMsg, "");
VG_(message)(Vg_UserMsg, "<args>");
+
VG_(message)(Vg_UserMsg, " <vargv>");
+ if (VG_(name_of_launcher))
+ VG_(message)(Vg_UserMsg, " <exe>%t</exe>",=20
+ VG_(name_of_launcher));
for (i =3D 0; i < VG_(args_for_valgrind).used; i++) {
- HChar* tag =3D i=3D=3D0 ? "exe" : "arg";
VG_(message)(Vg_UserMsg,=20
- " <%s>%t</%s>",=20
- tag, VG_(args_for_valgrind).strs[i], tag);
+ " <arg>%t</arg>",=20
+ VG_(args_for_valgrind).strs[i]);
}
VG_(message)(Vg_UserMsg, " </vargv>");
+
VG_(message)(Vg_UserMsg, " <argv>");
+ if (VG_(args_the_exename))
+ VG_(message)(Vg_UserMsg, " <exe>%t</exe>",=20
+ VG_(args_the_exename));
for (i =3D 0; i < VG_(args_for_client).used; i++) {
- HChar* tag =3D i=3D=3D0 ? "exe" : "arg";
- VG_(message)(Vg_UserMsg, " <%s>%t</%s>",=20
- tag, VG_(args_for_client).strs[i], tag=
);
+ VG_(message)(Vg_UserMsg, " <arg>%t</arg>",=20
+ VG_(args_for_client).strs[i]);
}
VG_(message)(Vg_UserMsg, " </argv>");
+
VG_(message)(Vg_UserMsg, "</args>");
}
=20
|
|
From: <sv...@va...> - 2005-09-23 12:22:26
|
Author: sewardj
Date: 2005-09-23 13:22:22 +0100 (Fri, 23 Sep 2005)
New Revision: 4732
Log:
Update expected output.
Modified:
branches/ASPACEM/coregrind/m_main.c
branches/ASPACEM/none/tests/as_mmap.stderr.exp
Modified: branches/ASPACEM/coregrind/m_main.c
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D
--- branches/ASPACEM/coregrind/m_main.c 2005-09-23 12:20:34 UTC (rev 4731=
)
+++ branches/ASPACEM/coregrind/m_main.c 2005-09-23 12:22:22 UTC (rev 4732=
)
@@ -2281,7 +2281,10 @@
vg_assert(seg->kind =3D=3D SkAnonC);
vg_assert(initial_client_SP >=3D seg->start);
vg_assert(initial_client_SP <=3D seg->end);
+
/* Stuff below the initial SP is unaddressable. */
+ /* NB: shouldn't this take into account the VG_STACK_REDZONE_SZB
+ bytes below SP? */
VG_TRACK( die_mem_stack, seg->start, initial_client_SP - seg->start=
);
VG_(debugLog)(2, "main", "mark stack inaccessible %010lx-%010lx\n",
seg->start, initial_client_SP-1 );
Modified: branches/ASPACEM/none/tests/as_mmap.stderr.exp
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D
--- branches/ASPACEM/none/tests/as_mmap.stderr.exp 2005-09-23 12:20:34 UT=
C (rev 4731)
+++ branches/ASPACEM/none/tests/as_mmap.stderr.exp 2005-09-23 12:22:22 UT=
C (rev 4732)
@@ -3,9 +3,7 @@
2
3
4
-Warning: client syscall mmap2 tried to modify addresses 0x........-0x...=
.....
mmap @ top
5
-Warning: client syscall mmap2 tried to modify addresses 0x........-0x...=
.....
mmap @ top+.5G
=20
|
|
From: <sv...@va...> - 2005-09-23 12:20:38
|
Author: sewardj Date: 2005-09-23 13:20:34 +0100 (Fri, 23 Sep 2005) New Revision: 4731 Log: Update expected output (V now produces the same output as a native run, unlike before). Modified: branches/ASPACEM/none/tests/as_shm.stderr.exp Modified: branches/ASPACEM/none/tests/as_shm.stderr.exp =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D --- branches/ASPACEM/none/tests/as_shm.stderr.exp 2005-09-23 12:02:22 UTC= (rev 4730) +++ branches/ASPACEM/none/tests/as_shm.stderr.exp 2005-09-23 12:20:34 UTC= (rev 4731) @@ -1,4 +1,3 @@ =20 -Warning: client syscall shmat tried to modify addresses 0x........-0x...= ..... -shmat @ top: Invalid argument +shmat @ top: Cannot allocate memory =20 |
|
From: <sv...@va...> - 2005-09-23 12:02:29
|
Author: sewardj
Date: 2005-09-23 13:02:22 +0100 (Fri, 23 Sep 2005)
New Revision: 4730
Log:
VG_(am_get_advisory): extend Policy Exception #1 to allow client hint
requests to be observed more often. This should allow loading of
prelinked libraries at their preferred address. Untested.
Modified:
branches/ASPACEM/coregrind/m_aspacemgr/aspacemgr.c
Modified: branches/ASPACEM/coregrind/m_aspacemgr/aspacemgr.c
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D
--- branches/ASPACEM/coregrind/m_aspacemgr/aspacemgr.c 2005-09-23 11:40:2=
9 UTC (rev 4729)
+++ branches/ASPACEM/coregrind/m_aspacemgr/aspacemgr.c 2005-09-23 12:02:2=
2 UTC (rev 4730)
@@ -1525,9 +1525,13 @@
=20
If the request is for a fixed client map, we are prepared to
grant it providing all areas inside the request are either
- free, reservations, or file mappings belonging to the client.
- In other words we are prepared to let the client trash its own
+ free, reservations, or mappings belonging to the client. In
+ other words we are prepared to let the client trash its own
mappings if it wants to.
+
+ Similarly, a hinted client map will be granted at the
+ requested address providing the same conditions hold.
+
*/
Int i, j;
Addr holeStart, holeEnd, holeLen;
@@ -1567,13 +1571,14 @@
=20
/* ------ Implement Policy Exception #1 ------ */
=20
- if (forClient && req->rkind =3D=3D MFixed) {
+ if (forClient && (req->rkind =3D=3D MFixed || req->rkind =3D=3D MHint=
)) {
Int iLo =3D find_nsegment_idx(reqStart);
Int iHi =3D find_nsegment_idx(reqEnd);
Bool allow =3D True;
for (i =3D iLo; i <=3D iHi; i++) {
if (nsegments[i].kind =3D=3D SkFree
|| nsegments[i].kind =3D=3D SkFileC
+ || nsegments[i].kind =3D=3D SkAnonC
|| nsegments[i].kind =3D=3D SkResvn) {
/* ok */
} else {
@@ -1582,11 +1587,16 @@
}
}
if (allow) {
+ /* Acceptable. Granted. */
*ok =3D True;
return reqStart;
}
- *ok =3D False;
- return 0;
+ /* Not acceptable. Fixed fails, Hint is now attempted by the
+ default policy. */
+ if (req->rkind =3D=3D MFixed) {
+ *ok =3D False;
+ return 0;
+ }
}
=20
/* ------ Implement the Default Policy ------ */
|
|
From: <sv...@va...> - 2005-09-23 11:40:41
|
Author: sewardj
Date: 2005-09-23 12:40:29 +0100 (Fri, 23 Sep 2005)
New Revision: 4729
Log:
Zap some now-dead globals.
Modified:
branches/ASPACEM/coregrind/m_libcproc.c
branches/ASPACEM/coregrind/m_main.c
branches/ASPACEM/include/pub_tool_libcproc.h
Modified: branches/ASPACEM/coregrind/m_libcproc.c
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D
--- branches/ASPACEM/coregrind/m_libcproc.c 2005-09-23 03:13:50 UTC (rev =
4728)
+++ branches/ASPACEM/coregrind/m_libcproc.c 2005-09-23 11:40:29 UTC (rev =
4729)
@@ -44,8 +44,6 @@
=20
/* As deduced from sp_at_startup, the client's argc, argv[] and
envp[] as extracted from the client's stack at startup-time. */
-Int VG_(client_argc);
-Char** VG_(client_argv);
Char** VG_(client_envp);
=20
/* client executable file descriptor */
Modified: branches/ASPACEM/coregrind/m_main.c
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D
--- branches/ASPACEM/coregrind/m_main.c 2005-09-23 03:13:50 UTC (rev 4728=
)
+++ branches/ASPACEM/coregrind/m_main.c 2005-09-23 11:40:29 UTC (rev 4729=
)
@@ -670,9 +670,7 @@
=20
vg_assert((strtab-stringbase) =3D=3D stringsize);
=20
- /* We know the initial SP is pointing at argc/argv */
- // VG_(client_argc) =3D *(Int*)client_SP;
- VG_(client_argv) =3D (Char**)(client_SP + sizeof(HWord));
+ /* client_SP is pointing at client's argc/argv */
=20
if (0) VG_(printf)("startup SP =3D %p\n", client_SP);
return client_SP;
Modified: branches/ASPACEM/include/pub_tool_libcproc.h
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D
--- branches/ASPACEM/include/pub_tool_libcproc.h 2005-09-23 03:13:50 UTC =
(rev 4728)
+++ branches/ASPACEM/include/pub_tool_libcproc.h 2005-09-23 11:40:29 UTC =
(rev 4729)
@@ -36,7 +36,6 @@
------------------------------------------------------------------ */
=20
/* Client args and environment (which can be inspected with VG_(getenv)(=
). */
-extern Char** VG_(client_argv);
extern Char** VG_(client_envp);
=20
/* Looks up VG_(client_envp) */
|
|
From: Tom H. <th...@cy...> - 2005-09-23 10:10:26
|
Nightly build on gill ( x86_64, Fedora Core 2 ) started at 2005-09-23 03:00:30 BST 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 == 164 tests, 7 stderr failures, 1 stdout failure ================= memcheck/tests/sigprocmask (stderr) memcheck/tests/strchr (stderr) memcheck/tests/vgtest_ume (stderr) memcheck/tests/weirdioctl (stderr) memcheck/tests/xml1 (stderr) none/tests/faultstatus (stderr) none/tests/fdleak_fcntl (stderr) none/tests/tls (stdout) |
|
From: <sv...@va...> - 2005-09-23 03:13:59
|
Author: sewardj
Date: 2005-09-23 04:13:50 +0100 (Fri, 23 Sep 2005)
New Revision: 4728
Log:
Fix obscure bug in the sys_shmat wrapper that the sync checker picked
up. Add explaination to syswrap-main.c.
Modified:
branches/ASPACEM/coregrind/m_syswrap/syswrap-generic.c
branches/ASPACEM/coregrind/m_syswrap/syswrap-main.c
Modified: branches/ASPACEM/coregrind/m_syswrap/syswrap-generic.c
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D
--- branches/ASPACEM/coregrind/m_syswrap/syswrap-generic.c 2005-09-23 01:=
25:38 UTC (rev 4727)
+++ branches/ASPACEM/coregrind/m_syswrap/syswrap-generic.c 2005-09-23 03:=
13:50 UTC (rev 4728)
@@ -1621,9 +1621,6 @@
UInt segmentSize =3D get_shm_size ( arg0 );
if ( segmentSize > 0 ) {
UInt prot =3D VKI_PROT_READ|VKI_PROT_WRITE;
- /* we don't distinguish whether it's read-only or
- * read-write -- it doesn't matter really. */
- VG_TRACK( new_mem_mmap, res, segmentSize, True, True, False );
=20
if (!(arg2 & 010000)) /* =3D SHM_RDONLY */
prot &=3D ~VKI_PROT_WRITE;
@@ -1639,6 +1636,10 @@
the dev/ino. */
VG_(am_notify_client_mmap)( res, VG_PGROUNDUP(segmentSize),=20
prot, VKI_MAP_ANONYMOUS, 0,0);
+
+ /* we don't distinguish whether it's read-only or
+ * read-write -- it doesn't matter really. */
+ VG_TRACK( new_mem_mmap, res, segmentSize, True, True, False );
}
}
=20
@@ -1659,8 +1660,8 @@
if (s !=3D NULL /* && (s->flags & SF_SHM) */
/* && Implied by defn of am_find_nsegment:
VG_(seg_contains)(s, arg0, 1) */) {
+ VG_(am_notify_munmap)(s->start, s->end+1 - s->start);
VG_TRACK( die_mem_munmap, s->start, s->end+1 - s->start );
- VG_(am_notify_munmap)(s->start, s->end+1 - s->start);
}
}
/* ------ */
Modified: branches/ASPACEM/coregrind/m_syswrap/syswrap-main.c
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D
--- branches/ASPACEM/coregrind/m_syswrap/syswrap-main.c 2005-09-23 01:25:=
38 UTC (rev 4727)
+++ branches/ASPACEM/coregrind/m_syswrap/syswrap-main.c 2005-09-23 03:13:=
50 UTC (rev 4728)
@@ -170,6 +170,28 @@
build signal frames). Do not do this. If you want a signal poll
after the syscall goes through, do "*flags |=3D SfPollAfter" and the
driver logic will do it for you.
+
+ -----------
+
+ Another critical requirement following introduction of new address
+ space manager (JRS, 20050923):
+
+ In a situation where the mappedness of memory has changed, aspacem
+ should be notified BEFORE the tool. Hence the following is
+ correct:
+
+ VG_(am_notify_munmap)(s->start, s->end+1 - s->start);
+ VG_TRACK( die_mem_munmap, s->start, s->end+1 - s->start );
+
+ whilst this is wrong:
+
+ VG_TRACK( die_mem_munmap, s->start, s->end+1 - s->start );
+ VG_(am_notify_munmap)(s->start, s->end+1 - s->start);
+
+ The reason is that the tool may itself ask aspacem for more shadow
+ memory as a result of the VG_TRACK call. In such a situation it is
+ critical that aspacem's segment array is up to date -- hence the
+ need to notify aspacem first.
*/
=20
=20
|
|
From: <js...@ac...> - 2005-09-23 03:06:12
|
Nightly build on phoenix ( SuSE 9.1 ) started at 2005-09-23 03:30:00 BST Checking out vex source tree ... done Building vex ... done Checking out valgrind source tree ... done Configuring valgrind ... done Building valgrind ... done Running regression tests ... failed Regression test results follow == 185 tests, 2 stderr failures, 0 stdout failures ================= none/tests/faultstatus (stderr) none/tests/x86/int (stderr) |
|
From: Tom H. <to...@co...> - 2005-09-23 02:41:59
|
Nightly build on dunsmere ( athlon, Fedora Core 4 ) started at 2005-09-23 03:30:05 BST 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 == 187 tests, 5 stderr failures, 0 stdout failures ================= memcheck/tests/leak-tree (stderr) memcheck/tests/weirdioctl (stderr) memcheck/tests/xml1 (stderr) none/tests/faultstatus (stderr) none/tests/x86/int (stderr) |
|
From: Tom H. <th...@cy...> - 2005-09-23 02:28:22
|
Nightly build on alvis ( i686, Red Hat 7.3 ) started at 2005-09-23 03:15:03 BST 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 == 186 tests, 14 stderr failures, 1 stdout failure ================= memcheck/tests/addressable (stderr) memcheck/tests/describe-block (stderr) memcheck/tests/erringfds (stderr) memcheck/tests/leak-0 (stderr) memcheck/tests/leak-cycle (stderr) memcheck/tests/leak-regroot (stderr) memcheck/tests/leak-tree (stderr) memcheck/tests/match-overrun (stderr) memcheck/tests/partiallydefinedeq (stderr) memcheck/tests/pointer-trace (stderr) memcheck/tests/sigkill (stderr) memcheck/tests/stack_changes (stderr) none/tests/faultstatus (stderr) none/tests/x86/int (stderr) none/tests/x86/yield (stdout) |
|
From: Tom H. <th...@cy...> - 2005-09-23 02:26:19
|
Nightly build on ginetta ( i686, Red Hat 8.0 ) started at 2005-09-23 03:10:07 BST 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 == 186 tests, 2 stderr failures, 1 stdout failure ================= none/tests/faultstatus (stderr) none/tests/x86/int (stderr) none/tests/x86/yield (stdout) |
|
From: Tom H. <th...@cy...> - 2005-09-23 02:21:29
|
Nightly build on dellow ( x86_64, Fedora Core 4 ) started at 2005-09-23 03:10:07 BST 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 == 164 tests, 6 stderr failures, 0 stdout failures ================= memcheck/tests/sigprocmask (stderr) memcheck/tests/strchr (stderr) memcheck/tests/vgtest_ume (stderr) memcheck/tests/weirdioctl (stderr) memcheck/tests/xml1 (stderr) none/tests/faultstatus (stderr) |
|
From: Tom H. <th...@cy...> - 2005-09-23 02:18:46
|
Nightly build on aston ( x86_64, Fedora Core 3 ) started at 2005-09-23 03:05:09 BST 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 == 164 tests, 6 stderr failures, 0 stdout failures ================= memcheck/tests/sigprocmask (stderr) memcheck/tests/strchr (stderr) memcheck/tests/vgtest_ume (stderr) memcheck/tests/weirdioctl (stderr) memcheck/tests/xml1 (stderr) none/tests/faultstatus (stderr) |
|
From: <sv...@va...> - 2005-09-23 01:25:50
|
Author: sewardj
Date: 2005-09-23 02:25:38 +0100 (Fri, 23 Sep 2005)
New Revision: 4727
Log:
Globalise do_sync_check and call it before and after every syscall
at --sanity-level=3D3.
Modified:
branches/ASPACEM/coregrind/m_aspacemgr/aspacemgr.c
branches/ASPACEM/coregrind/m_scheduler/scheduler.c
branches/ASPACEM/coregrind/pub_core_aspacemgr.h
Modified: branches/ASPACEM/coregrind/m_aspacemgr/aspacemgr.c
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D
--- branches/ASPACEM/coregrind/m_aspacemgr/aspacemgr.c 2005-09-23 00:54:0=
5 UTC (rev 4726)
+++ branches/ASPACEM/coregrind/m_aspacemgr/aspacemgr.c 2005-09-23 01:25:3=
8 UTC (rev 4727)
@@ -118,8 +118,8 @@
#define AM_SANITY_CHECK \
do { \
if (VG_(clo_sanity_level >=3D 3)) \
- aspacem_assert(do_sync_check(__PRETTY_FUNCTION__, \
- __FILE__,__LINE__)); \
+ aspacem_assert(VG_(am_do_sync_check) \
+ (__PRETTY_FUNCTION__,__FILE__,__LINE__)); \
} while (0)=20
=20
/* ------ end of STATE for the address-space manager ------ */
@@ -964,7 +964,12 @@
}
=20
=20
- Bool do_sync_check ( HChar* fn, HChar* file, Int line )
+/* Sanity check: check that Valgrind and the kernel agree on the
+ address space layout. Prints offending segments and call point if
+ a discrepancy is detected, but does not abort the system. Returned
+ Bool is False if a discrepancy was found. */
+
+Bool VG_(am_do_sync_check) ( HChar* fn, HChar* file, Int line )
{
sync_check_ok =3D True;
if (0)
Modified: branches/ASPACEM/coregrind/m_scheduler/scheduler.c
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D
--- branches/ASPACEM/coregrind/m_scheduler/scheduler.c 2005-09-23 00:54:0=
5 UTC (rev 4726)
+++ branches/ASPACEM/coregrind/m_scheduler/scheduler.c 2005-09-23 01:25:3=
8 UTC (rev 4727)
@@ -607,8 +607,15 @@
complete by the time this call returns, and we'll be
runnable again. We could take a signal while the
syscall runs. */
+
+ if (VG_(clo_sanity_level >=3D 3))
+ VG_(am_do_sync_check)("(BEFORE SYSCALL)",__FILE__,__LINE__);
+
SCHEDSETJMP(tid, jumped, VG_(client_syscall)(tid));
=20
+ if (VG_(clo_sanity_level >=3D 3))
+ VG_(am_do_sync_check)("(AFTER SYSCALL)",__FILE__,__LINE__);
+
if (!VG_(is_running_thread)(tid))
VG_(printf)("tid %d not running; VG_(running_tid)=3D%d, tid %d sta=
tus %d\n",
tid, VG_(running_tid), tid, tst->status);
Modified: branches/ASPACEM/coregrind/pub_core_aspacemgr.h
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D
--- branches/ASPACEM/coregrind/pub_core_aspacemgr.h 2005-09-23 00:54:05 U=
TC (rev 4726)
+++ branches/ASPACEM/coregrind/pub_core_aspacemgr.h 2005-09-23 01:25:38 U=
TC (rev 4727)
@@ -116,7 +116,14 @@
/* VG_(am_get_segment_starts) is also part of this section, but its
prototype is tool-visible, hence not in this header file. */
=20
+/* Sanity check: check that Valgrind and the kernel agree on the
+ address space layout. Prints offending segments and call point if
+ a discrepancy is detected, but does not abort the system. Returned
+ Bool is False if a discrepancy was found. */
=20
+extern Bool VG_(am_do_sync_check) ( HChar* fn, HChar* file, Int line );
+
+
//--------------------------------------------------------------
// Functions pertaining to the central query-notify mechanism
// used to handle mmap/munmap/mprotect resulting from client
|
|
From: <sv...@va...> - 2005-09-23 00:54:10
|
Author: sewardj
Date: 2005-09-23 01:54:05 +0100 (Fri, 23 Sep 2005)
New Revision: 4726
Log:
sync_check_mapping_callback: if V doesn't know the dev/ino for a
mapping, don't compare against the kernel's offering.
This is needed to cope with inconsistencies that arise from the
sys_shmat wrapper.
Modified:
branches/ASPACEM/coregrind/m_aspacemgr/aspacemgr.c
branches/ASPACEM/coregrind/m_syswrap/syswrap-generic.c
Modified: branches/ASPACEM/coregrind/m_aspacemgr/aspacemgr.c
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D
--- branches/ASPACEM/coregrind/m_aspacemgr/aspacemgr.c 2005-09-23 00:25:1=
0 UTC (rev 4725)
+++ branches/ASPACEM/coregrind/m_aspacemgr/aspacemgr.c 2005-09-23 00:54:0=
5 UTC (rev 4726)
@@ -862,7 +862,7 @@
data. */
for (i =3D iLo; i <=3D iHi; i++) {
=20
- Bool same, cmp_offsets;
+ Bool same, cmp_offsets, cmp_devino;
=20
/* compare the kernel's offering against ours. */
same =3D nsegments[i].kind =3D=3D SkAnonC
@@ -872,10 +872,13 @@
=20
cmp_offsets
=3D nsegments[i].kind =3D=3D SkFileC || nsegments[i].kind =3D=3D=
SkFileV;
+ cmp_devino
+ =3D nsegments[i].dev !=3D 0 || nsegments[i].ino !=3D 0;
=20
same =3D same
- && nsegments[i].dev =3D=3D dev
- && nsegments[i].ino =3D=3D ino
+ && (cmp_devino
+ ? (nsegments[i].dev =3D=3D dev && nsegments[i].ino =3D=
=3D ino)
+ : True)
&& (cmp_offsets=20
? nsegments[i].start-nsegments[i].offset =3D=3D addr-=
offset
: True);
Modified: branches/ASPACEM/coregrind/m_syswrap/syswrap-generic.c
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D
--- branches/ASPACEM/coregrind/m_syswrap/syswrap-generic.c 2005-09-23 00:=
25:10 UTC (rev 4725)
+++ branches/ASPACEM/coregrind/m_syswrap/syswrap-generic.c 2005-09-23 00:=
54:05 UTC (rev 4726)
@@ -1627,6 +1627,16 @@
=20
if (!(arg2 & 010000)) /* =3D SHM_RDONLY */
prot &=3D ~VKI_PROT_WRITE;
+ /* It isn't exactly correct to pass 0 for the fd and offset
+ here. The kernel seems to think the corresponding section
+ does have dev/ino numbers:
+ =20
+ 04e52000-04ec8000 rw-s 00000000 00:06 1966090 /SYSV00000000 (d=
eleted)
+
+ However there is no obvious way to find them. In order to
+ cope with the discrepancy, aspacem's sync checker omits the
+ dev/ino correspondence check in cases where V does not know
+ the dev/ino. */
VG_(am_notify_client_mmap)( res, VG_PGROUNDUP(segmentSize),=20
prot, VKI_MAP_ANONYMOUS, 0,0);
}
|
|
From: <sv...@va...> - 2005-09-23 00:25:13
|
Author: sewardj
Date: 2005-09-23 01:25:10 +0100 (Fri, 23 Sep 2005)
New Revision: 4725
Log:
Fix stupid error in VG_(am_relocate_nooverlap_client) that was picked
up by the sync-checker.
Modified:
branches/ASPACEM/coregrind/m_aspacemgr/aspacemgr.c
Modified: branches/ASPACEM/coregrind/m_aspacemgr/aspacemgr.c
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D
--- branches/ASPACEM/coregrind/m_aspacemgr/aspacemgr.c 2005-09-22 23:58:3=
8 UTC (rev 4724)
+++ branches/ASPACEM/coregrind/m_aspacemgr/aspacemgr.c 2005-09-23 00:25:1=
0 UTC (rev 4725)
@@ -2500,7 +2500,7 @@
oldseg.offset +=3D ((ULong)old_addr) - ((ULong)oldseg.start);
oldseg.start =3D new_addr;
oldseg.end =3D new_addr + new_len - 1;
- add_segment( &seg );
+ add_segment( &oldseg );
=20
AM_SANITY_CHECK;
return True;
|