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
(32) |
2
(22) |
3
(47) |
4
(29) |
5
(18) |
6
(16) |
|
7
(21) |
8
(29) |
9
(23) |
10
(68) |
11
(20) |
12
(17) |
13
(17) |
|
14
(27) |
15
(26) |
16
(21) |
17
(13) |
18
(19) |
19
(29) |
20
(13) |
|
21
(9) |
22
(8) |
23
(29) |
24
(56) |
25
(21) |
26
(46) |
27
(33) |
|
28
(25) |
29
(41) |
30
(35) |
31
(28) |
|
|
|
|
From: Julian S. <js...@ac...> - 2005-08-24 23:37:48
|
Dirk, this is all useful stuff -- thanks for that. Except, please don't merge any ppc32 specific stuff. ppc32 is never going to work on 3.0.X (3.1.X yes, but not 3.0.X) and so there is no point in copying any ppc32 specific changes across. J On Thursday 25 August 2005 00:04, sv...@va... wrote: > Author: dirk > Date: 2005-08-25 00:04:58 +0100 (Thu, 25 Aug 2005) > New Revision: 4504 > > Log: > svn merge 4474: even more ppc32 syscalls > > Modified: > branches/VALGRIND_3_0_BRANCH/coregrind/m_syswrap/syswrap-ppc32-linux.c > branches/VALGRIND_3_0_BRANCH/coregrind/vki_unistd-ppc32-linux.h > > > Modified: > branches/VALGRIND_3_0_BRANCH/coregrind/m_syswrap/syswrap-ppc32-linux.c > =================================================================== --- > branches/VALGRIND_3_0_BRANCH/coregrind/m_syswrap/syswrap-ppc32-linux.c 2005 >-08-24 23:04:33 UTC (rev 4503) +++ > branches/VALGRIND_3_0_BRANCH/coregrind/m_syswrap/syswrap-ppc32-linux.c 2005 >-08-24 23:04:58 UTC (rev 4504) @@ -2050,7 +2050,7 @@ > //.. > GENX_(__NR_setrlimit, sys_setrlimit), // 75 > //.. GENXY(__NR_getrlimit, sys_old_getrlimit), // 76 > -//.. GENXY(__NR_getrusage, sys_getrusage), // 77 > + GENXY(__NR_getrusage, sys_getrusage), // 77 > GENXY(__NR_gettimeofday, sys_gettimeofday), // 78 > //.. GENX_(__NR_settimeofday, sys_settimeofday), // 79 > //.. > @@ -2156,8 +2156,8 @@ > //.. // (__NR_sched_rr_get_interval, sys_sched_rr_get_interval), // > 161 */* GENXY(__NR_nanosleep, sys_nanosleep), // 162 > GENX_(__NR_mremap, sys_mremap), // 163 > -//.. LINX_(__NR_setresuid, sys_setresuid16), // 164 > -//.. > + LINX_(__NR_setresuid, sys_setresuid16), // 164 > + > LINXY(__NR_getresuid, sys_getresuid16), // 165 > > //.. GENX_(__NR_query_module, sys_ni_syscall), // 166 > > Modified: branches/VALGRIND_3_0_BRANCH/coregrind/vki_unistd-ppc32-linux.h > =================================================================== > --- > branches/VALGRIND_3_0_BRANCH/coregrind/vki_unistd-ppc32-linux.h 2005-08-24 > 23:04:33 UTC (rev 4503) +++ > branches/VALGRIND_3_0_BRANCH/coregrind/vki_unistd-ppc32-linux.h 2005-08-24 > 23:04:58 UTC (rev 4504) @@ -106,7 +106,7 @@ > //#define __NR_sethostname 74 > #define __NR_setrlimit 75 > #define __NR_getrlimit 76 > -//#define __NR_getrusage 77 > +#define __NR_getrusage 77 > #define __NR_gettimeofday 78 > //#define __NR_settimeofday 79 > #define __NR_getgroups 80 > @@ -193,7 +193,7 @@ > //#define __NR_sched_rr_get_interval 161 > #define __NR_nanosleep 162 > #define __NR_mremap 163 > -//#define __NR_setresuid 164 > +#define __NR_setresuid 164 > #define __NR_getresuid 165 > //#define __NR_query_module 166 > #define __NR_poll 167 > > > > ------------------------------------------------------- > SF.Net email is Sponsored by the Better Software Conference & EXPO > September 19-22, 2005 * San Francisco, CA * Development Lifecycle Practices > Agile & Plan-Driven Development * Managing Projects & Teams * Testing & QA > Security * Process Improvement & Measurement * http://www.sqe.com/bsce5sf > _______________________________________________ > Valgrind-developers mailing list > Val...@li... > https://lists.sourceforge.net/lists/listinfo/valgrind-developers |
|
From: <sv...@va...> - 2005-08-24 23:09:21
|
Author: dirk Date: 2005-08-25 00:09:19 +0100 (Thu, 25 Aug 2005) New Revision: 4510 Log: update Modified: trunk/docs/internals/3_0_BUGSTATUS.txt Modified: trunk/docs/internals/3_0_BUGSTATUS.txt =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D --- trunk/docs/internals/3_0_BUGSTATUS.txt 2005-08-24 23:08:49 UTC (rev 4= 509) +++ trunk/docs/internals/3_0_BUGSTATUS.txt 2005-08-24 23:09:19 UTC (rev 4= 510) @@ -432,5 +432,5 @@ 111285 massif segfaults in the malloc replacement code on amd64 =20 FIXED-TRUNK: 4492 -FIXED-30BRANCH: TODO +FIXED-30BRANCH: 4509 =20 |
|
From: <sv...@va...> - 2005-08-24 23:08:53
|
Author: dirk
Date: 2005-08-25 00:08:49 +0100 (Thu, 25 Aug 2005)
New Revision: 4509
Log:
svn merge 4492: Fix massif
Added:
branches/VALGRIND_3_0_BRANCH/massif/tests/basic_malloc.c
branches/VALGRIND_3_0_BRANCH/massif/tests/basic_malloc.stderr.exp
branches/VALGRIND_3_0_BRANCH/massif/tests/basic_malloc.vgtest
Modified:
branches/VALGRIND_3_0_BRANCH/coregrind/m_mallocfree.c
branches/VALGRIND_3_0_BRANCH/massif/tests/Makefile.am
Modified: branches/VALGRIND_3_0_BRANCH/coregrind/m_mallocfree.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/VALGRIND_3_0_BRANCH/coregrind/m_mallocfree.c 2005-08-24 23:0=
8:24 UTC (rev 4508)
+++ branches/VALGRIND_3_0_BRANCH/coregrind/m_mallocfree.c 2005-08-24 23:0=
8:49 UTC (rev 4509)
@@ -59,9 +59,9 @@
/* Layout of an in-use block:
=20
this block total szB (sizeof(SizeT) bytes)
- red zone bytes (depends on Arena.rz_szB, but > sizeof(vo=
id*))
+ red zone bytes (depends on Arena.rz_szB, but >=3D sizeof=
(void*))
(payload bytes)
- red zone bytes (depends on Arena.rz_szB, but > sizeof(vo=
id*))
+ red zone bytes (depends on Arena.rz_szB, but >=3D sizeof=
(void*))
this block total szB (sizeof(SizeT) bytes)
=20
Layout of a block on the free list:
@@ -378,7 +378,12 @@
SizeT i;
Arena* a =3D arenaId_to_ArenaP(aid);
=20
- vg_assert(rz_szB < 128); // ensure reasonable size
+ // Ensure redzones are a reasonable size. They must always be at lea=
st
+ // the size of a pointer, for holding the prev/next pointer (see the =
layout
+ // details at the top of this file).
+ vg_assert(rz_szB < 128);
+ if (rz_szB < sizeof(void*)) rz_szB =3D sizeof(void*);
+ =20
vg_assert((min_sblock_szB % VKI_PAGE_SIZE) =3D=3D 0);
a->name =3D name;
a->clientmem =3D ( VG_AR_CLIENT =3D=3D aid ? True : False );
Modified: branches/VALGRIND_3_0_BRANCH/massif/tests/Makefile.am
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D
--- branches/VALGRIND_3_0_BRANCH/massif/tests/Makefile.am 2005-08-24 23:0=
8:24 UTC (rev 4508)
+++ branches/VALGRIND_3_0_BRANCH/massif/tests/Makefile.am 2005-08-24 23:0=
8:49 UTC (rev 4509)
@@ -1,7 +1,13 @@
noinst_SCRIPTS =3D filter_stderr
=20
EXTRA_DIST =3D $(noinst_SCRIPTS) \
+ basic_malloc.stderr.exp basic_malloc.vgtest \
toobig-allocs.stderr.exp toobig-allocs.vgtest \
true_html.stderr.exp true_html.vgtest \
true_text.stderr.exp true_text.vgtest
=20
+AM_CFLAGS =3D $(WERROR) -Winline -Wall -Wshadow -g=20
+
+check_PROGRAMS =3D \
+ basic_malloc
+
Copied: branches/VALGRIND_3_0_BRANCH/massif/tests/basic_malloc.c (from re=
v 4492, trunk/massif/tests/basic_malloc.c)
Copied: branches/VALGRIND_3_0_BRANCH/massif/tests/basic_malloc.stderr.exp=
(from rev 4492, trunk/massif/tests/basic_malloc.stderr.exp)
Copied: branches/VALGRIND_3_0_BRANCH/massif/tests/basic_malloc.vgtest (fr=
om rev 4492, trunk/massif/tests/basic_malloc.vgtest)
|
|
From: <sv...@va...> - 2005-08-24 23:08:28
|
Author: dirk
Date: 2005-08-25 00:08:24 +0100 (Thu, 25 Aug 2005)
New Revision: 4508
Log:
svn merge 4491: add comment
Modified:
branches/VALGRIND_3_0_BRANCH/memcheck/mac_replace_strmem.c
Modified: branches/VALGRIND_3_0_BRANCH/memcheck/mac_replace_strmem.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/VALGRIND_3_0_BRANCH/memcheck/mac_replace_strmem.c 2005-08-24=
23:08:12 UTC (rev 4507)
+++ branches/VALGRIND_3_0_BRANCH/memcheck/mac_replace_strmem.c 2005-08-24=
23:08:24 UTC (rev 4508)
@@ -227,6 +227,10 @@
STRNLEN(m_libc_so_6, strnlen)
=20
=20
+// Note that this replacement often doesn't get used because gcc inlines
+// calls to strlen() with its own built-in version. This can be very
+// confusing if you aren't expecting it. Other small functions in this =
file
+// may also be inline by gcc.
#define STRLEN(soname, fnname) \
SizeT VG_REPLACE_FUNCTION(soname,fnname)( const char* str ); \
SizeT VG_REPLACE_FUNCTION(soname,fnname)( const char* str ) \
|
|
From: <sv...@va...> - 2005-08-24 23:08:15
|
Author: dirk Date: 2005-08-25 00:08:12 +0100 (Thu, 25 Aug 2005) New Revision: 4507 Log: svn merge 4490: Remove unnecessary #includes Modified: branches/VALGRIND_3_0_BRANCH/memcheck/mac_replace_strmem.c Modified: branches/VALGRIND_3_0_BRANCH/memcheck/mac_replace_strmem.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/VALGRIND_3_0_BRANCH/memcheck/mac_replace_strmem.c 2005-08-24= 23:06:48 UTC (rev 4506) +++ branches/VALGRIND_3_0_BRANCH/memcheck/mac_replace_strmem.c 2005-08-24= 23:08:12 UTC (rev 4507) @@ -31,8 +31,6 @@ */ =20 #include "pub_tool_basics.h" -#include "pub_tool_errormgr.h" -#include "pub_tool_execontext.h" #include "pub_tool_hashtable.h" #include "pub_tool_profile.h" #include "pub_tool_redir.h" |
|
From: <sv...@va...> - 2005-08-24 23:06:53
|
Author: dirk
Date: 2005-08-25 00:06:48 +0100 (Thu, 25 Aug 2005)
New Revision: 4506
Log:
svn merge 4482: Add tests for amd64 LOOP insn
Added:
branches/VALGRIND_3_0_BRANCH/none/tests/amd64/looper.c
branches/VALGRIND_3_0_BRANCH/none/tests/amd64/looper.stderr.exp
branches/VALGRIND_3_0_BRANCH/none/tests/amd64/looper.stdout.exp
branches/VALGRIND_3_0_BRANCH/none/tests/amd64/looper.vgtest
Modified:
branches/VALGRIND_3_0_BRANCH/none/tests/amd64/Makefile.am
Modified: branches/VALGRIND_3_0_BRANCH/none/tests/amd64/Makefile.am
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D
--- branches/VALGRIND_3_0_BRANCH/none/tests/amd64/Makefile.am 2005-08-24 =
23:06:02 UTC (rev 4505)
+++ branches/VALGRIND_3_0_BRANCH/none/tests/amd64/Makefile.am 2005-08-24 =
23:06:48 UTC (rev 4506)
@@ -8,10 +8,11 @@
$(addsuffix .stderr.exp,$(INSN_TESTS)) \
$(addsuffix .stdout.exp,$(INSN_TESTS)) \
$(addsuffix .vgtest,$(INSN_TESTS)) \
+ looper.stderr.exp looper.stdout.exp looper.vgtest \
smc1.stderr.exp smc1.stdout.exp smc1.vgtest
=20
check_PROGRAMS =3D \
- $(INSN_TESTS) smc1
+ $(INSN_TESTS) looper smc1
=20
AM_CFLAGS =3D $(WERROR) -Winline -Wall -Wshadow -g -I$(top_srcdir)/inc=
lude
AM_CXXFLAGS =3D $(AM_CFLAGS)
Copied: branches/VALGRIND_3_0_BRANCH/none/tests/amd64/looper.c (from rev =
4482, trunk/none/tests/amd64/looper.c)
Copied: branches/VALGRIND_3_0_BRANCH/none/tests/amd64/looper.stderr.exp (=
from rev 4482, trunk/none/tests/amd64/looper.stderr.exp)
Copied: branches/VALGRIND_3_0_BRANCH/none/tests/amd64/looper.stdout.exp (=
from rev 4482, trunk/none/tests/amd64/looper.stdout.exp)
Copied: branches/VALGRIND_3_0_BRANCH/none/tests/amd64/looper.vgtest (from=
rev 4482, trunk/none/tests/amd64/looper.vgtest)
|
|
From: <sv...@va...> - 2005-08-24 23:06:05
|
Author: dirk
Date: 2005-08-25 00:06:02 +0100 (Thu, 25 Aug 2005)
New Revision: 4505
Log:
svn merge 4479: Add regtest for x86 LOOP{,E,NE} insns.
Added:
branches/VALGRIND_3_0_BRANCH/none/tests/x86/looper.c
branches/VALGRIND_3_0_BRANCH/none/tests/x86/looper.stderr.exp
branches/VALGRIND_3_0_BRANCH/none/tests/x86/looper.stdout.exp
branches/VALGRIND_3_0_BRANCH/none/tests/x86/looper.vgtest
Modified:
branches/VALGRIND_3_0_BRANCH/none/tests/x86/Makefile.am
Modified: branches/VALGRIND_3_0_BRANCH/none/tests/x86/Makefile.am
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D
--- branches/VALGRIND_3_0_BRANCH/none/tests/x86/Makefile.am 2005-08-24 23=
:04:58 UTC (rev 4504)
+++ branches/VALGRIND_3_0_BRANCH/none/tests/x86/Makefile.am 2005-08-24 23=
:06:02 UTC (rev 4505)
@@ -15,6 +15,7 @@
$(addsuffix .stderr.exp,$(INSN_TESTS)) \
$(addsuffix .stdout.exp,$(INSN_TESTS)) \
$(addsuffix .vgtest,$(INSN_TESTS)) \
+ looper.stderr.exp looper.stdout.exp looper.vgtest \
pushpopseg.stderr.exp pushpopseg.stdout.exp pushpopseg.vgtest \
seg_override.stderr.exp seg_override.stdout.exp seg_override.vgtest \
sigcontext.stdout.exp sigcontext.stderr.exp sigcontext.vgtest \
@@ -24,7 +25,7 @@
check_PROGRAMS =3D \
badseg bt_everything bt_literal cpuid fpu_lazy_eflags \
getseg $(INSN_TESTS) \
- int pushpopseg seg_override sigcontext smc1 yield
+ looper int pushpopseg seg_override sigcontext smc1 yield
=20
AM_CFLAGS =3D $(WERROR) -Winline -Wall -Wshadow \
-g -I$(top_srcdir)/include \
Copied: branches/VALGRIND_3_0_BRANCH/none/tests/x86/looper.c (from rev 44=
79, trunk/none/tests/x86/looper.c)
Copied: branches/VALGRIND_3_0_BRANCH/none/tests/x86/looper.stderr.exp (fr=
om rev 4479, trunk/none/tests/x86/looper.stderr.exp)
Copied: branches/VALGRIND_3_0_BRANCH/none/tests/x86/looper.stdout.exp (fr=
om rev 4479, trunk/none/tests/x86/looper.stdout.exp)
Copied: branches/VALGRIND_3_0_BRANCH/none/tests/x86/looper.vgtest (from r=
ev 4479, trunk/none/tests/x86/looper.vgtest)
|
|
From: <sv...@va...> - 2005-08-24 23:05:04
|
Author: dirk
Date: 2005-08-25 00:04:58 +0100 (Thu, 25 Aug 2005)
New Revision: 4504
Log:
svn merge 4474: even more ppc32 syscalls
Modified:
branches/VALGRIND_3_0_BRANCH/coregrind/m_syswrap/syswrap-ppc32-linux.c
branches/VALGRIND_3_0_BRANCH/coregrind/vki_unistd-ppc32-linux.h
Modified: branches/VALGRIND_3_0_BRANCH/coregrind/m_syswrap/syswrap-ppc32-=
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/VALGRIND_3_0_BRANCH/coregrind/m_syswrap/syswrap-ppc32-linux.=
c 2005-08-24 23:04:33 UTC (rev 4503)
+++ branches/VALGRIND_3_0_BRANCH/coregrind/m_syswrap/syswrap-ppc32-linux.=
c 2005-08-24 23:04:58 UTC (rev 4504)
@@ -2050,7 +2050,7 @@
//..=20
GENX_(__NR_setrlimit, sys_setrlimit), // 75
//.. GENXY(__NR_getrlimit, sys_old_getrlimit), // 76
-//.. GENXY(__NR_getrusage, sys_getrusage), // 77
+ GENXY(__NR_getrusage, sys_getrusage), // 77
GENXY(__NR_gettimeofday, sys_gettimeofday), // 78
//.. GENX_(__NR_settimeofday, sys_settimeofday), // 79
//..=20
@@ -2156,8 +2156,8 @@
//.. // (__NR_sched_rr_get_interval, sys_sched_rr_get_interval), /=
/ 161 */*
GENXY(__NR_nanosleep, sys_nanosleep), // 162
GENX_(__NR_mremap, sys_mremap), // 163
-//.. LINX_(__NR_setresuid, sys_setresuid16), // 164
-//..=20
+ LINX_(__NR_setresuid, sys_setresuid16), // 164
+
LINXY(__NR_getresuid, sys_getresuid16), // 165
=20
//.. GENX_(__NR_query_module, sys_ni_syscall), // 166
Modified: branches/VALGRIND_3_0_BRANCH/coregrind/vki_unistd-ppc32-linux.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/VALGRIND_3_0_BRANCH/coregrind/vki_unistd-ppc32-linux.h 2005-=
08-24 23:04:33 UTC (rev 4503)
+++ branches/VALGRIND_3_0_BRANCH/coregrind/vki_unistd-ppc32-linux.h 2005-=
08-24 23:04:58 UTC (rev 4504)
@@ -106,7 +106,7 @@
//#define __NR_sethostname 74
#define __NR_setrlimit 75
#define __NR_getrlimit 76
-//#define __NR_getrusage 77
+#define __NR_getrusage 77
#define __NR_gettimeofday 78
//#define __NR_settimeofday 79
#define __NR_getgroups 80
@@ -193,7 +193,7 @@
//#define __NR_sched_rr_get_interval 161
#define __NR_nanosleep 162
#define __NR_mremap 163
-//#define __NR_setresuid 164
+#define __NR_setresuid 164
#define __NR_getresuid 165
//#define __NR_query_module 166
#define __NR_poll 167
|
|
From: <sv...@va...> - 2005-08-24 23:04:34
|
Author: dirk Date: 2005-08-25 00:04:33 +0100 (Thu, 25 Aug 2005) New Revision: 4503 Log: update Modified: trunk/docs/internals/3_0_BUGSTATUS.txt Modified: trunk/docs/internals/3_0_BUGSTATUS.txt =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D --- trunk/docs/internals/3_0_BUGSTATUS.txt 2005-08-24 23:04:25 UTC (rev 4= 502) +++ trunk/docs/internals/3_0_BUGSTATUS.txt 2005-08-24 23:04:33 UTC (rev 4= 503) @@ -409,7 +409,7 @@ 111102 (comment #4) Fixed 64-bit unclean "silly arg" message =20 FIXED-TRUNK: 4476 -FIXED-30BRANCH: TODO +FIXED-30BRANCH: 4502 =20 ---------------------------------------------------------------- =20 |
|
From: <sv...@va...> - 2005-08-24 23:04:29
|
Author: dirk
Date: 2005-08-25 00:04:25 +0100 (Thu, 25 Aug 2005)
New Revision: 4502
Log:
svn merge 4476: fix 111102
Modified:
branches/VALGRIND_3_0_BRANCH/memcheck/mac_malloc_wrappers.c
Modified: branches/VALGRIND_3_0_BRANCH/memcheck/mac_malloc_wrappers.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/VALGRIND_3_0_BRANCH/memcheck/mac_malloc_wrappers.c 2005-08-2=
4 23:03:44 UTC (rev 4501)
+++ branches/VALGRIND_3_0_BRANCH/memcheck/mac_malloc_wrappers.c 2005-08-2=
4 23:04:25 UTC (rev 4502)
@@ -174,7 +174,15 @@
// assuming here that the size asked for is not greater than 2^31 byt=
es
// (for 32-bit platforms) or 2^63 bytes (for 64-bit platforms).
if ((SSizeT)sizeB < 0) {
- VG_(message)(Vg_UserMsg, "Warning: silly arg (%d) to %s()", sizeB,=
fn );
+#if VG_WORDSIZE =3D=3D 4
+ VG_(message)(Vg_UserMsg, "Warning: silly arg (%d) to %s()",
+ (Int)sizeB, fn );
+#elif VG_WORDSIZE =3D=3D 8
+ VG_(message)(Vg_UserMsg, "Warning: silly arg (%lld) to %s()",
+ (Long)sizeB, fn );
+#else
+# error Unexpected word size
+#endif
return True;
}
return False;
@@ -183,8 +191,15 @@
static Bool complain_about_silly_args2(SizeT n, SizeT sizeB)
{
if ((SSizeT)n < 0 || (SSizeT)sizeB < 0) {
+#if VG_WORDSIZE =3D=3D 4
VG_(message)(Vg_UserMsg, "Warning: silly args (%d,%d) to calloc()"=
,
- n, sizeB);
+ (Int)n, (Int)sizeB);
+#elif VG_WORDSIZE =3D=3D 8
+ VG_(message)(Vg_UserMsg, "Warning: silly args (%lld,%lld) to callo=
c()",
+ (Long)n, (Long)sizeB);
+#else
+# error Unexpected word size
+#endif
return True;
}
return False;
|
|
From: <sv...@va...> - 2005-08-24 23:03:46
|
Author: dirk Date: 2005-08-25 00:03:44 +0100 (Thu, 25 Aug 2005) New Revision: 4501 Log: svn merge 4473: Make sure vex_svnversion.h is updated Modified: branches/VALGRIND_3_0_BRANCH/coregrind/Makefile.am Modified: branches/VALGRIND_3_0_BRANCH/coregrind/Makefile.am =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D --- branches/VALGRIND_3_0_BRANCH/coregrind/Makefile.am 2005-08-24 23:03:0= 5 UTC (rev 4500) +++ branches/VALGRIND_3_0_BRANCH/coregrind/Makefile.am 2005-08-24 23:03:4= 4 UTC (rev 4501) @@ -1,6 +1,8 @@ include $(top_srcdir)/Makefile.all.am include $(top_srcdir)/Makefile.core-AM_CPPFLAGS.am =20 +.PHONY: @VEX_DIR@/libvex.a + MODULES =3D \ m_aspacemgr \ m_debuginfo \ @@ -198,7 +200,7 @@ @VEX_DIR@/libvex.a: @VEX_DIR@/priv/main/vex_svnversion.h $(MAKE) -C @VEX_DIR@ libvex.a EXTRA_CFLAGS=3D"@ARCH_CORE_AM_CFLAGS@ @PI= E_AM_CFLAGS@" =20 -@VEX_DIR@/priv/main/vex_svnversion.h: +@VEX_DIR@/priv/main/vex_svnversion.h: $(wildcard @VEX_DIR@/.svn/entries) $(MAKE) -C @VEX_DIR@ version =20 clean-local: |
|
From: <sv...@va...> - 2005-08-24 23:03:07
|
Author: dirk Date: 2005-08-25 00:03:05 +0100 (Thu, 25 Aug 2005) New Revision: 4500 Log: update ignore lists Modified: branches/VALGRIND_3_0_BRANCH/addrcheck/ branches/VALGRIND_3_0_BRANCH/memcheck/tests/ branches/VALGRIND_3_0_BRANCH/none/tests/x86/ Property changes on: branches/VALGRIND_3_0_BRANCH/addrcheck ___________________________________________________________________ Name: svn:ignore - .deps Makefile Makefile.in vgpreload_addrcheck.so vgtool_addrcheck.so + .deps Makefile Makefile.in *.so Property changes on: branches/VALGRIND_3_0_BRANCH/memcheck/tests ___________________________________________________________________ Name: svn:ignore - addressable badaddrvalue badfree badjump badjump2 badloop badpoll badrw brk brk2 buflen_check clientperm clientstackperm custom_alloc .deps describe-block dir doublefree erringfds error_counts errs1 execve execve2 exitprog filter_leak_check_size filter_stderr fprw fwrite hello inits inline leak-0 leak-cycle leakotron leak-regroot leak-tree Makefile Makefile.in malloc1 malloc2 malloc3 manuel1 manuel2 manuel3 match-overrun memalign2 memalign_test memcmptest mempool metadata mismatches mmaptest nanoleak new_nothrow new_override null_socket overlap partiallydefinedeq pointer-trace post-syscall realloc1 realloc2 realloc3 scalar scalar_exit_group scalar_fork scalar_supp scalar_vfork sigaltstack sigkill signal2 sigprocmask stack_changes *.stderr.diff* *.stderr.out *.stdout.diff *.stdout.out strchr str_tester supp1 supp2 suppfree threadederrno trivialleak vgtest_ume weirdioctl with space writev xml1 zeropage + addressable badaddrvalue badfree badjump badjump2 badloop badpoll badrw brk brk2 buflen_check clientperm clientstackperm custom_alloc .deps describe-block dir doublefree erringfds error_counts errs1 execve execve2 exitprog filter_leak_check_size filter_stderr fprw fwrite hello inits inline leak-0 leak-cycle leakotron leak-regroot leak-tree Makefile Makefile.in malloc1 malloc2 malloc3 malloc_usable manuel1 manuel2 manuel3 match-overrun memalign2 memalign_test memcmptest mempool metadata mismatches mmaptest nanoleak new_nothrow new_override null_socket oset_test overlap partiallydefinedeq pointer-trace post-syscall realloc1 realloc2 realloc3 scalar scalar_exit_group scalar_fork scalar_supp scalar_vfork sigaltstack sigkill signal2 sigprocmask stack_changes *.stderr.diff* *.stderr.out *.stdout.diff *.stdout.out strchr str_tester supp1 supp2 suppfree supp_unknown threadederrno trivialleak vgtest_ume weirdioctl with space writev xml1 zeropage Property changes on: branches/VALGRIND_3_0_BRANCH/none/tests/x86 ___________________________________________________________________ Name: svn:ignore - badseg bt_everything bt_literal cpuid dastest .deps fpu_lazy_eflags getseg insn_basic insn_basic.c insn_cmov insn_cmov.c insn_fpu insn_fpu.c insn_mmx insn_mmx.c insn_mmxext insn_mmxext.c insn_sse insn_sse2 insn_sse2.c insn_sse.c int Makefile Makefile.in pushpopseg rcl_assert seg_override sigcontext smc1 *.stderr.diff *.stderr.out *.stdout.diff *.stdout.out yield + badseg bt_everything bt_literal cmpxchg8b cpuid dastest .deps fpu_lazy_eflags getseg insn_basic insn_basic.c insn_cmov insn_cmov.c insn_fpu insn_fpu.c insn_mmx insn_mmx.c insn_mmxext insn_mmxext.c insn_sse insn_sse2 insn_sse2.c insn_sse.c int Makefile Makefile.in pushpopseg rcl_assert seg_override sigcontext smc1 *.stderr.diff *.stderr.out *.stdout.diff *.stdout.out yield |
|
From: <sv...@va...> - 2005-08-24 23:02:05
|
Author: dirk Date: 2005-08-25 00:02:04 +0100 (Thu, 25 Aug 2005) New Revision: 4499 Log: update Modified: trunk/docs/internals/3_0_BUGSTATUS.txt Modified: trunk/docs/internals/3_0_BUGSTATUS.txt =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D --- trunk/docs/internals/3_0_BUGSTATUS.txt 2005-08-24 23:01:56 UTC (rev 4= 498) +++ trunk/docs/internals/3_0_BUGSTATUS.txt 2005-08-24 23:02:04 UTC (rev 4= 499) @@ -380,7 +380,7 @@ 111006 bogus warnings from linuxthreads =20 FIXED-TRUNK: 4469, 4470 -FIXED-30BRANCH: TODO +FIXED-30BRANCH: 4497, 4498 =20 ---------------------------------------------------------------- =20 |
|
From: <sv...@va...> - 2005-08-24 23:01:57
|
Author: dirk
Date: 2005-08-25 00:01:56 +0100 (Thu, 25 Aug 2005)
New Revision: 4498
Log:
svn merge 4470: Suppress memory leaks from the linuxthread manager thread=
. Bug #111006.
Modified:
branches/VALGRIND_3_0_BRANCH/glibc-2.2.supp
branches/VALGRIND_3_0_BRANCH/glibc-2.3.supp
Modified: branches/VALGRIND_3_0_BRANCH/glibc-2.2.supp
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D
--- branches/VALGRIND_3_0_BRANCH/glibc-2.2.supp 2005-08-24 23:00:45 UTC (=
rev 4497)
+++ branches/VALGRIND_3_0_BRANCH/glibc-2.2.supp 2005-08-24 23:01:56 UTC (=
rev 4498)
@@ -550,3 +550,50 @@
fun:__pthread_initialize_manager
fun:pthread_create@@GLIBC_2.2.5
}
+
+## LinuxThreads leaks the stack and TLS data for the manager thread
+{
+ LinuxThreads: leaks stack of manager thread
+ Memcheck:Leak
+ fun:malloc
+ fun:__pthread_initialize_manager
+ fun:pthread_create@@GLIBC_2.1
+}
+{
+ LinuxThreads: leaks TLS data for manager thread
+ Memcheck:Leak
+ fun:calloc
+ fun:_dl_allocate_tls
+ fun:__pthread_initialize_minimal
+}
+{
+ LinuxThreads: leaks TLS data for manager thread
+ Memcheck:Leak
+ fun:memalign
+ fun:_dl_allocate_tls
+ fun:__pthread_initialize_minimal
+}
+{
+ LinuxThreads: leaks stack of manager thread
+ Memcheck:Leak
+ fun:malloc
+ fun:__pthread_initialize_manager
+ fun:pthread_create@@GLIBC_2.2.5
+}
+{
+ LinuxThreads: leaks TLS data for manager thread
+ Memcheck:Leak
+ fun:calloc
+ fun:allocate_dtv
+ fun:_dl_allocate_tls_storage
+ fun:_dl_allocate_tls
+ fun:__pthread_initialize_minimal
+}
+{
+ LinuxThreads: leaks TLS data for manager thread
+ Memcheck:Leak
+ fun:memalign
+ fun:_dl_allocate_tls_storage
+ fun:_dl_allocate_tls
+ fun:__pthread_initialize_minimal
+}
Modified: branches/VALGRIND_3_0_BRANCH/glibc-2.3.supp
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D
--- branches/VALGRIND_3_0_BRANCH/glibc-2.3.supp 2005-08-24 23:00:45 UTC (=
rev 4497)
+++ branches/VALGRIND_3_0_BRANCH/glibc-2.3.supp 2005-08-24 23:01:56 UTC (=
rev 4498)
@@ -363,6 +363,29 @@
fun:pthread_create
}
=20
+## LinuxThreads leaks the stack and TLS data for the manager thread
+{
+ LinuxThreads: leaks stack of manager thread
+ Memcheck:Leak
+ fun:malloc
+ fun:__pthread_initialize_manager
+ fun:pthread_create@@GLIBC_2.1
+}
+{
+ LinuxThreads: leaks TLS data for manager thread
+ Memcheck:Leak
+ fun:calloc
+ fun:_dl_allocate_tls
+ fun:__pthread_initialize_minimal
+}
+{
+ LinuxThreads: leaks TLS data for manager thread
+ Memcheck:Leak
+ fun:memalign
+ fun:_dl_allocate_tls
+ fun:__pthread_initialize_minimal
+}
+
##----------------------------------------------------------------------=
##
## glibc-2.3.4 on FC3
## Assumes that sysctl returns \0-terminated strings in is_smp_system
|
|
From: <sv...@va...> - 2005-08-24 23:00:46
|
Author: dirk
Date: 2005-08-25 00:00:45 +0100 (Thu, 25 Aug 2005)
New Revision: 4497
Log:
svn merge 4469: Add suppressions for some glibc 2.2 linuxthreads issues.
Bug #111006.
Modified:
branches/VALGRIND_3_0_BRANCH/glibc-2.2.supp
Modified: branches/VALGRIND_3_0_BRANCH/glibc-2.2.supp
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D
--- branches/VALGRIND_3_0_BRANCH/glibc-2.2.supp 2005-08-24 22:58:39 UTC (=
rev 4496)
+++ branches/VALGRIND_3_0_BRANCH/glibc-2.2.supp 2005-08-24 23:00:45 UTC (=
rev 4497)
@@ -496,8 +496,18 @@
obj:/usr/X11R6/lib/libXt.so.6.0
}
=20
-# LinuxThreads suppressesion
+## Bug in PRE(sys_clone), really. Some args are not used.
{
+ LinuxThread clone use (child_tidptr)
+ Memcheck:Param
+ clone(child_tidptr)
+ fun:clone
+ fun:__pthread_initialize_manager
+ fun:pthread_create@@GLIBC_2.2.5
+}
+
+## LinuxThreads manager writes messages containing undefined bytes
+{
LinuxThreads: write/pthread_create
Memcheck:Param
write(buf)
@@ -510,3 +520,33 @@
fun:write
fun:pthread_create@@GLIBC_2.1
}
+{
+ LinuxThreads: write/pthread_onexit_process
+ Memcheck:Param
+ write(buf)
+ fun:write
+ fun:pthread_onexit_process
+ fun:exit
+}
+{
+ LinuxThreads: write/pthread_join
+ Memcheck:Param
+ write(buf)
+ fun:write
+ fun:pthread_join
+}
+{
+ LinuxThreads: write/pthread_create
+ Memcheck:Param
+ write(buf)
+ fun:write
+ fun:pthread_create@@GLIBC_2.2.5
+}
+{
+ LinuxThreads: write/__pthread_initialize_manager/pthread_create
+ Memcheck:Param
+ write(buf)
+ fun:write
+ fun:__pthread_initialize_manager
+ fun:pthread_create@@GLIBC_2.2.5
+}
|
|
From: <sv...@va...> - 2005-08-24 22:58:41
|
Author: dirk
Date: 2005-08-24 23:58:39 +0100 (Wed, 24 Aug 2005)
New Revision: 4496
Log:
svn merge r4460:
- Fix bug causing thread slots not to get reused
- yet more syscalls on ppc32
Modified:
branches/VALGRIND_3_0_BRANCH/coregrind/m_syswrap/syswrap-ppc32-linux.c
Modified: branches/VALGRIND_3_0_BRANCH/coregrind/m_syswrap/syswrap-ppc32-=
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/VALGRIND_3_0_BRANCH/coregrind/m_syswrap/syswrap-ppc32-linux.=
c 2005-08-24 22:57:57 UTC (rev 4495)
+++ branches/VALGRIND_3_0_BRANCH/coregrind/m_syswrap/syswrap-ppc32-linux.=
c 2005-08-24 22:58:39 UTC (rev 4496)
@@ -184,15 +184,16 @@
reallocation. We need to make sure we don't touch the stack
between marking it Empty and exiting. Hence the
assembler. */
+ { UInt vgts_empty =3D (UInt)VgTs_Empty;
+ asm volatile (
+ "stw %1,%0\n\t" /* set tst->status =3D VgTs_Empty */
+ "li 0,%2\n\t" /* set r0 =3D __NR_exit */
+ "lwz 3,%3\n\t" /* set r3 =3D tst->os_state.exitcode =
*/
+ "sc\n\t" /* exit(tst->os_state.exitcode) */
+ : "=3Dm" (tst->status)
+ : "r" (vgts_empty), "n" (__NR_exit), "m" (tst->os_state.exitco=
de));
+ }
=20
- asm volatile (
- "stw %1,%0\n\t" /* set tst->status =3D VgTs_Empty */
- "li 0,%2\n\t" /* set r0 =3D __NR_exit */
- "lwz 3,%3\n\t" /* set r3 =3D tst->os_state.exitcode */
- "sc\n\t" /* exit(tst->os_state.exitcode) */
- : "=3Dm" (tst->status)
- : "n" (VgTs_Empty), "n" (__NR_exit), "m" (tst->os_state.exitcode=
));
-
VG_(core_panic)("Thread exit failed?\n");
}
=20
@@ -2171,7 +2172,7 @@
=20
GENXY(__NR_rt_sigprocmask, sys_rt_sigprocmask), // 174
//.. GENXY(__NR_rt_sigpending, sys_rt_sigpending), // 175
-//.. GENXY(__NR_rt_sigtimedwait, sys_rt_sigtimedwait), // 176
+ GENXY(__NR_rt_sigtimedwait, sys_rt_sigtimedwait), // 176
//.. GENXY(__NR_rt_sigqueueinfo, sys_rt_sigqueueinfo), // 177
//.. GENX_(__NR_rt_sigsuspend, sys_rt_sigsuspend), // 178
//..=20
|
|
From: <sv...@va...> - 2005-08-24 22:57:59
|
Author: dirk
Date: 2005-08-24 23:57:57 +0100 (Wed, 24 Aug 2005)
New Revision: 4495
Log:
svn merge r4448:
Make show_segments() public, and use it when VG_(get_memory_from_mmap)()
fails. This might help debugging.
Modified:
branches/VALGRIND_3_0_BRANCH/coregrind/m_aspacemgr/aspacemgr.c
branches/VALGRIND_3_0_BRANCH/coregrind/m_libcmman.c
branches/VALGRIND_3_0_BRANCH/coregrind/pub_core_aspacemgr.h
Modified: branches/VALGRIND_3_0_BRANCH/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/VALGRIND_3_0_BRANCH/coregrind/m_aspacemgr/aspacemgr.c 2005-0=
8-24 22:57:14 UTC (rev 4494)
+++ branches/VALGRIND_3_0_BRANCH/coregrind/m_aspacemgr/aspacemgr.c 2005-0=
8-24 22:57:57 UTC (rev 4495)
@@ -386,7 +386,7 @@
VG_(printf), and I'm not 100% clear that that wouldn't require
dynamic memory allocation and hence more segments to be allocated.
*/
-static void show_segments ( HChar* who )
+void VG_(show_segments) ( HChar* who )
{
Int i;
VG_(printf)("<<< SHOW_SEGMENTS: %s (%d segments, %d segnames)\n",=20
@@ -496,7 +496,7 @@
vg_assert(segments_used >=3D 0 && segments_used < VG_N_SEGMENTS);
vg_assert(segnames_used >=3D 0 && segnames_used < VG_N_SEGNAMES);
=20
- if (0) show_segments("before preen");
+ if (0) VG_(show_segments)("before preen");
=20
/* clear string table mark bits */
for (i =3D 0; i < segnames_used; i++)
@@ -556,7 +556,7 @@
}
}
=20
- if (0) show_segments("after preen");
+ if (0) VG_(show_segments)("after preen");
}
=20
=20
@@ -623,7 +623,7 @@
=20
if (debug)
VG_(printf)("unmap_range(%p, %llu)\n", addr, (ULong)len);
- if (0) show_segments("unmap_range(BEFORE)");
+ if (0) VG_(show_segments)("unmap_range(BEFORE)");
end =3D addr+len;
=20
/* Everything must be page-aligned */
@@ -713,7 +713,7 @@
i--;
}
preen_segments();
- if (0) show_segments("unmap_range(AFTER)");
+ if (0) VG_(show_segments)("unmap_range(AFTER)");
}
=20
=20
@@ -745,7 +745,7 @@
" filename=3D'%s')\n",
addr, (ULong)len, prot, flags, dev, ino, off, filename);
=20
- if (0) show_segments("before map_file_segment");
+ if (0) VG_(show_segments)("before map_file_segment");
=20
/* Everything must be page-aligned */
vg_assert(VG_IS_PAGE_ALIGNED(addr));
@@ -774,7 +774,7 @@
=20
/* Clean up right now */
preen_segments();
- if (0) show_segments("after map_file_segment");
+ if (0) VG_(show_segments)("after map_file_segment");
=20
/* If this mapping is at the beginning of a file, isn't part of
Valgrind, is at least readable and seems to contain an object
@@ -879,7 +879,7 @@
if (debug)
VG_(printf)("\nmprotect_range(%p, %lu, %x)\n", a, len, prot);
=20
- if (0) show_segments( "mprotect_range(before)" );
+ if (0) VG_(show_segments)( "mprotect_range(before)" );
=20
/* Everything must be page-aligned */
vg_assert(VG_IS_PAGE_ALIGNED(a));
@@ -894,7 +894,7 @@
=20
preen_segments();
=20
- if (0) show_segments( "mprotect_range(after)");
+ if (0) VG_(show_segments)( "mprotect_range(after)");
}
=20
=20
@@ -922,7 +922,7 @@
addr, (ULong)len, for_client);
}
=20
- if (0) show_segments("find_map_space: start");
+ if (0) VG_(show_segments)("find_map_space: start");
=20
if (addr =3D=3D 0) {
fixed =3D False;
@@ -1100,7 +1100,7 @@
Segment *VG_(find_segment)(Addr a)
{
Int r =3D find_segment(a);
- if (0) show_segments("find_segment");
+ if (0) VG_(show_segments)("find_segment");
if (r =3D=3D -1) return NULL;
return &segments[r];
}
@@ -1112,7 +1112,7 @@
Segment *VG_(find_segment_above_unmapped)(Addr a)
{
Int r =3D find_segment_above_unmapped(a);
- if (0) show_segments("find_segment_above_unmapped");
+ if (0) VG_(show_segments)("find_segment_above_unmapped");
if (r =3D=3D -1) return NULL;
return &segments[r];
}
@@ -1124,7 +1124,7 @@
Segment *VG_(find_segment_above_mapped)(Addr a)
{
Int r =3D find_segment_above_mapped(a);
- if (0) show_segments("find_segment_above_mapped");
+ if (0) VG_(show_segments)("find_segment_above_mapped");
if (r =3D=3D -1) return NULL;
return &segments[r];
}
@@ -1220,7 +1220,7 @@
Addr try_here;
SysRes r;
=20
- if (0) show_segments("shadow_alloc(before)");
+ if (0) VG_(show_segments)("shadow_alloc(before)");
=20
vg_assert(VG_(needs).shadow_memory);
=20
Modified: branches/VALGRIND_3_0_BRANCH/coregrind/m_libcmman.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/VALGRIND_3_0_BRANCH/coregrind/m_libcmman.c 2005-08-24 22:57:=
14 UTC (rev 4494)
+++ branches/VALGRIND_3_0_BRANCH/coregrind/m_libcmman.c 2005-08-24 22:57:=
57 UTC (rev 4495)
@@ -124,6 +124,11 @@
VG_(printf)("Sorry. You could try using a tool that uses less memory=
;\n");
VG_(printf)("eg. addrcheck instead of memcheck.\n");
VG_(printf)("\n");
+ VG_(printf)("---- Debugging information follows --------\n");
+ VG_(printf)("Valgrind's range is: %p .. %p\n",
+ (void*)VG_(valgrind_base), (void*)VG_(valgrind_last));
+ VG_(show_segments)("VG_(get_memory_from_mmap) failure");
+
VG_(exit)(1);
}
=20
Modified: branches/VALGRIND_3_0_BRANCH/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/VALGRIND_3_0_BRANCH/coregrind/pub_core_aspacemgr.h 2005-08-2=
4 22:57:14 UTC (rev 4494)
+++ branches/VALGRIND_3_0_BRANCH/coregrind/pub_core_aspacemgr.h 2005-08-2=
4 22:57:57 UTC (rev 4495)
@@ -131,6 +131,8 @@
=20
extern Segment *VG_(split_segment)(Addr a);
=20
+extern void VG_(show_segments)(HChar* who);
+
extern void VG_(pad_address_space) (Addr start);
extern void VG_(unpad_address_space)(Addr start);
=20
|
|
From: <sv...@va...> - 2005-08-24 22:57:16
|
Author: dirk
Date: 2005-08-24 23:57:14 +0100 (Wed, 24 Aug 2005)
New Revision: 4494
Log:
merge r4449: Enable a couple more syscalls on ppc32.
Modified:
branches/VALGRIND_3_0_BRANCH/coregrind/m_syswrap/syswrap-ppc32-linux.c
branches/VALGRIND_3_0_BRANCH/coregrind/vki_unistd-ppc32-linux.h
Modified: branches/VALGRIND_3_0_BRANCH/coregrind/m_syswrap/syswrap-ppc32-=
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/VALGRIND_3_0_BRANCH/coregrind/m_syswrap/syswrap-ppc32-linux.=
c 2005-08-24 22:39:29 UTC (rev 4493)
+++ branches/VALGRIND_3_0_BRANCH/coregrind/m_syswrap/syswrap-ppc32-linux.=
c 2005-08-24 22:57:14 UTC (rev 4494)
@@ -2136,7 +2136,7 @@
GENXY(__NR_readv, sys_readv), // 145
GENX_(__NR_writev, sys_writev), // 146
//.. GENX_(__NR_getsid, sys_getsid), // 147
-//.. GENX_(__NR_fdatasync, sys_fdatasync), // 148
+ GENX_(__NR_fdatasync, sys_fdatasync), // 148
LINXY(__NR__sysctl, sys_sysctl), // 149
//..=20
//.. GENX_(__NR_mlock, sys_mlock), // 150
@@ -2149,9 +2149,9 @@
//.. GENX_(__NR_sched_setscheduler, sys_sched_setscheduler), /=
/ 156
GENX_(__NR_sched_getscheduler, sys_sched_getscheduler), // 157
//.. GENX_(__NR_sched_yield, sys_sched_yield), /=
/ 158
-//.. GENX_(__NR_sched_get_priority_max, sys_sched_get_priority_max),/=
/ 159
-//..=20
-//.. GENX_(__NR_sched_get_priority_min, sys_sched_get_priority_min),/=
/ 160
+ GENX_(__NR_sched_get_priority_max, sys_sched_get_priority_max),// 159
+
+ GENX_(__NR_sched_get_priority_min, sys_sched_get_priority_min),// 160
//.. // (__NR_sched_rr_get_interval, sys_sched_rr_get_interval), /=
/ 161 */*
GENXY(__NR_nanosleep, sys_nanosleep), // 162
GENX_(__NR_mremap, sys_mremap), // 163
@@ -2262,7 +2262,7 @@
=20
// __NR_swapcontext // 249
=20
-//.. LINX_(__NR_tgkill, sys_tgkill), // 250 */L=
inux
+ LINX_(__NR_tgkill, sys_tgkill), // 250 */Linux
//.. GENX_(__NR_utimes, sys_utimes), // 251
//.. GENXY(__NR_statfs64, sys_statfs64), // 252
//.. GENXY(__NR_fstatfs64, sys_fstatfs64), // 253
Modified: branches/VALGRIND_3_0_BRANCH/coregrind/vki_unistd-ppc32-linux.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/VALGRIND_3_0_BRANCH/coregrind/vki_unistd-ppc32-linux.h 2005-=
08-24 22:39:29 UTC (rev 4493)
+++ branches/VALGRIND_3_0_BRANCH/coregrind/vki_unistd-ppc32-linux.h 2005-=
08-24 22:57:14 UTC (rev 4494)
@@ -177,7 +177,7 @@
#define __NR_readv 145
#define __NR_writev 146
//#define __NR_getsid 147
-//#define __NR_fdatasync 148
+#define __NR_fdatasync 148
#define __NR__sysctl 149
//#define __NR_mlock 150
//#define __NR_munlock 151
@@ -188,8 +188,8 @@
//#define __NR_sched_setscheduler 156
#define __NR_sched_getscheduler 157
#define __NR_sched_yield 158
-//#define __NR_sched_get_priority_max 159
-//#define __NR_sched_get_priority_min 160
+#define __NR_sched_get_priority_max 159
+#define __NR_sched_get_priority_min 160
//#define __NR_sched_rr_get_interval 161
#define __NR_nanosleep 162
#define __NR_mremap 163
@@ -279,7 +279,7 @@
//#define __NR_clock_getres 247
//#define __NR_clock_nanosleep 248
//#define __NR_swapcontext 249
-//#define __NR_tgkill 250
+#define __NR_tgkill 250
//#define __NR_utimes 251
//#define __NR_statfs64 252
//#define __NR_fstatfs64 253
|
|
From: <sv...@va...> - 2005-08-24 22:39:34
|
Author: njn Date: 2005-08-24 23:39:29 +0100 (Wed, 24 Aug 2005) New Revision: 4493 Log: update Modified: trunk/docs/internals/3_0_BUGSTATUS.txt Modified: trunk/docs/internals/3_0_BUGSTATUS.txt =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D --- trunk/docs/internals/3_0_BUGSTATUS.txt 2005-08-24 22:38:00 UTC (rev 4= 492) +++ trunk/docs/internals/3_0_BUGSTATUS.txt 2005-08-24 22:39:29 UTC (rev 4= 493) @@ -426,3 +426,11 @@ FIXED-TRUNK: 4487 FIXED-30BRANCH: TODO =20 +---------------------------------------------------------------- + +111090 Internal Error running Massif +111285 massif segfaults in the malloc replacement code on amd64 + +FIXED-TRUNK: 4492 +FIXED-30BRANCH: TODO + |
|
From: <sv...@va...> - 2005-08-24 22:38:04
|
Author: njn
Date: 2005-08-24 23:38:00 +0100 (Wed, 24 Aug 2005)
New Revision: 4492
Log:
Fix a problem I introduced in r4208 when reducing the space used by
heap blocks. The minimum size for redzones is now sizeof(void*), but
I forgot to ensure this. Massif was asking for 0 byte redzones, and this
was screwing things up on 64-bit platforms, and Massif was dying very
quickly. This should fix bugs #111090 and #111285.
The fact that Massif was this badly broken but there were only 2 bug repo=
rts
indicates that not many people are using it, at least not on AMD64.
I also added a regtest that does some basic malloc/realloc/free testing
for Massif, which would have caught this problem.
Added:
trunk/massif/tests/basic_malloc.c
trunk/massif/tests/basic_malloc.stderr.exp
trunk/massif/tests/basic_malloc.vgtest
Modified:
trunk/coregrind/m_mallocfree.c
trunk/massif/tests/Makefile.am
Modified: trunk/coregrind/m_mallocfree.c
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D
--- trunk/coregrind/m_mallocfree.c 2005-08-24 19:55:51 UTC (rev 4491)
+++ trunk/coregrind/m_mallocfree.c 2005-08-24 22:38:00 UTC (rev 4492)
@@ -59,9 +59,9 @@
/* Layout of an in-use block:
=20
this block total szB (sizeof(SizeT) bytes)
- red zone bytes (depends on Arena.rz_szB, but > sizeof(vo=
id*))
+ red zone bytes (depends on Arena.rz_szB, but >=3D sizeof=
(void*))
(payload bytes)
- red zone bytes (depends on Arena.rz_szB, but > sizeof(vo=
id*))
+ red zone bytes (depends on Arena.rz_szB, but >=3D sizeof=
(void*))
this block total szB (sizeof(SizeT) bytes)
=20
Layout of a block on the free list:
@@ -375,7 +375,12 @@
SizeT i;
Arena* a =3D arenaId_to_ArenaP(aid);
=20
- vg_assert(rz_szB < 128); // ensure reasonable size
+ // Ensure redzones are a reasonable size. They must always be at lea=
st
+ // the size of a pointer, for holding the prev/next pointer (see the =
layout
+ // details at the top of this file).
+ vg_assert(rz_szB < 128);
+ if (rz_szB < sizeof(void*)) rz_szB =3D sizeof(void*);
+ =20
vg_assert((min_sblock_szB % VKI_PAGE_SIZE) =3D=3D 0);
a->name =3D name;
a->clientmem =3D ( VG_AR_CLIENT =3D=3D aid ? True : False );
Modified: trunk/massif/tests/Makefile.am
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D
--- trunk/massif/tests/Makefile.am 2005-08-24 19:55:51 UTC (rev 4491)
+++ trunk/massif/tests/Makefile.am 2005-08-24 22:38:00 UTC (rev 4492)
@@ -1,7 +1,13 @@
noinst_SCRIPTS =3D filter_stderr
=20
EXTRA_DIST =3D $(noinst_SCRIPTS) \
+ basic_malloc.stderr.exp basic_malloc.vgtest \
toobig-allocs.stderr.exp toobig-allocs.vgtest \
true_html.stderr.exp true_html.vgtest \
true_text.stderr.exp true_text.vgtest
=20
+AM_CFLAGS =3D $(WERROR) -Winline -Wall -Wshadow -g=20
+
+check_PROGRAMS =3D \
+ basic_malloc
+
Added: trunk/massif/tests/basic_malloc.c
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D
--- trunk/massif/tests/basic_malloc.c 2005-08-24 19:55:51 UTC (rev 4491)
+++ trunk/massif/tests/basic_malloc.c 2005-08-24 22:38:00 UTC (rev 4492)
@@ -0,0 +1,31 @@
+// In 3.0.0, Massif was badly broken on 64-bit platforms because it aske=
d
+// zero-sized redzones, and the allocator was forgetting to round the si=
ze
+// up to sizeof(void*), which is the minimum. This caused bugs #111090 =
and
+// #111285. This test is just a gentle allocation exercise which was
+// failing.
+
+#include <stdlib.h>
+#include <stdio.h>
+
+#define NN 100
+
+int main(void)
+{=20
+ int i;
+ char* a[NN];
+
+ for (i =3D i; i < NN; i++) {
+ a[i] =3D malloc(i);
+ }
+ =20
+ for (i =3D i; i < NN; i++) {
+ a[i] =3D realloc(a[i], NN - i);
+ }
+ =20
+ for (i =3D i; i < NN; i++) {
+ free(a[i]);
+ }
+ =20
+ return 0;
+}
+
Added: trunk/massif/tests/basic_malloc.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
--- trunk/massif/tests/basic_malloc.stderr.exp 2005-08-24 19:55:51 UTC (r=
ev 4491)
+++ trunk/massif/tests/basic_malloc.stderr.exp 2005-08-24 22:38:00 UTC (r=
ev 4492)
@@ -0,0 +1,6 @@
+
+
+Total spacetime: =20
+heap: =20
+heap admin: =20
+stack(s): =20
Added: trunk/massif/tests/basic_malloc.vgtest
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D
--- trunk/massif/tests/basic_malloc.vgtest 2005-08-24 19:55:51 UTC (rev 4=
491)
+++ trunk/massif/tests/basic_malloc.vgtest 2005-08-24 22:38:00 UTC (rev 4=
492)
@@ -0,0 +1,2 @@
+prog: basic_malloc
+cleanup: rm massif.*.*
|
|
From: <sv...@va...> - 2005-08-24 19:55:58
|
Author: njn
Date: 2005-08-24 20:55:51 +0100 (Wed, 24 Aug 2005)
New Revision: 4491
Log:
add comment
Modified:
trunk/memcheck/mac_replace_strmem.c
Modified: trunk/memcheck/mac_replace_strmem.c
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D
--- trunk/memcheck/mac_replace_strmem.c 2005-08-24 19:50:39 UTC (rev 4490=
)
+++ trunk/memcheck/mac_replace_strmem.c 2005-08-24 19:55:51 UTC (rev 4491=
)
@@ -227,6 +227,10 @@
STRNLEN(m_libc_so_6, strnlen)
=20
=20
+// Note that this replacement often doesn't get used because gcc inlines
+// calls to strlen() with its own built-in version. This can be very
+// confusing if you aren't expecting it. Other small functions in this =
file
+// may also be inline by gcc.
#define STRLEN(soname, fnname) \
SizeT VG_REPLACE_FUNCTION(soname,fnname)( const char* str ); \
SizeT VG_REPLACE_FUNCTION(soname,fnname)( const char* str ) \
|
|
From: <sv...@va...> - 2005-08-24 19:50:51
|
Author: njn Date: 2005-08-24 20:50:39 +0100 (Wed, 24 Aug 2005) New Revision: 4490 Log: Remove unnecessary #includes. Modified: trunk/memcheck/mac_replace_strmem.c Modified: trunk/memcheck/mac_replace_strmem.c =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D --- trunk/memcheck/mac_replace_strmem.c 2005-08-24 17:52:30 UTC (rev 4489= ) +++ trunk/memcheck/mac_replace_strmem.c 2005-08-24 19:50:39 UTC (rev 4490= ) @@ -31,8 +31,6 @@ */ =20 #include "pub_tool_basics.h" -#include "pub_tool_errormgr.h" -#include "pub_tool_execontext.h" #include "pub_tool_hashtable.h" #include "pub_tool_profile.h" #include "pub_tool_redir.h" |
|
From: <sv...@va...> - 2005-08-24 17:52:37
|
Author: sewardj
Date: 2005-08-24 18:52:30 +0100 (Wed, 24 Aug 2005)
New Revision: 4489
Log:
Update.
Modified:
trunk/docs/internals/3_0_BUGSTATUS.txt
Modified: trunk/docs/internals/3_0_BUGSTATUS.txt
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D
--- trunk/docs/internals/3_0_BUGSTATUS.txt 2005-08-24 13:57:50 UTC (rev 4=
488)
+++ trunk/docs/internals/3_0_BUGSTATUS.txt 2005-08-24 17:52:30 UTC (rev 4=
489)
@@ -239,7 +239,7 @@
=20
----------------------------------------------------------------
=20
-110536/7/8/9/40 Valgrind crashes when tring to realloc memory
+110536/7/8/9/40 Valgrind crashes when trying to realloc memory
=20
Uninvestigated.
=20
@@ -253,7 +253,7 @@
Under consideration. (Also afflicts x86)
=20
FIXED-TRUNK: 1344 (x86), 1346 (amd64).
-FIXED-30BRANCH: no
+FIXED-30BRANCH: 1354 (x86), 1355 (amd64).
=20
----------------------------------------------------------------
=20
@@ -324,7 +324,7 @@
110685 amd64->IR: unhandled instruction bytes: 0xE1 0x56 (loope Jb)
=20
FIXED-TRUNK: 1349
-FIXED-30BRANCH: TODO
+FIXED-30BRANCH: 1356
=20
----------------------------------------------------------------
=20
@@ -359,14 +359,14 @@
110898 opteron instructions missing: btq sbbq btsq btrq bsfq
=20
FIXED-TRUNK: 1352
-FIXED-30BRANCH: TODO
+FIXED-30BRANCH: 1357
=20
----------------------------------------------------------------
=20
110954 x86->IR: unhandled instruction bytes: 0xE2 0xF6 (loop Jb)
=20
FIXED-TRUNK: 1343
-FIXED-30BRANCH: TODO
+FIXED-30BRANCH: 1358
=20
----------------------------------------------------------------
=20
@@ -394,7 +394,7 @@
111092 x86: dis_Grp2(Reg): unhandled case(x86)=20
=20
FIXED-TRUNK: 1341
-FIXED-30BRANCH: TODO
+FIXED-30BRANCH: 1359
=20
----------------------------------------------------------------
=20
@@ -417,7 +417,7 @@
=20
FIXED-TRUNK: 1350 (basic fix), 1351 (x86 adc/sbb flags thunk fix),
1353 (amd64 adc/sbb flags thunk fix)
-FIXED-30BRANCH: TODO
+FIXED-30BRANCH: 1360
=20
----------------------------------------------------------------
=20
|
|
From: <sv...@va...> - 2005-08-24 17:51:02
|
Author: sewardj
Date: 2005-08-24 18:50:59 +0100 (Wed, 24 Aug 2005)
New Revision: 1360
Log:
Merge r1350, r1351, r1353 (x86 ADC Ib,AL implementation + related fixes)
Modified:
branches/VEX_3_0_BRANCH/priv/guest-amd64/toIR.c
branches/VEX_3_0_BRANCH/priv/guest-x86/toIR.c
Modified: branches/VEX_3_0_BRANCH/priv/guest-amd64/toIR.c
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D
--- branches/VEX_3_0_BRANCH/priv/guest-amd64/toIR.c 2005-08-24 17:45:33 U=
TC (rev 1359)
+++ branches/VEX_3_0_BRANCH/priv/guest-amd64/toIR.c 2005-08-24 17:50:59 U=
TC (rev 1360)
@@ -53,12 +53,11 @@
disInstr for details.
*/
=20
-//.. /* TODO:
-//..=20
-//.. check flag settings for cmpxchg
-//.. FUCOMI(P): what happens to A and S flags? Currently are forced
-//.. to zero.
-//..=20
+/* TODO:
+
+ All Puts to CC_OP/CC_DEP1/CC_DEP2/CC_NDEP should really be checked
+ to ensure a 64-bit value is being written.
+
//.. x87 FP Limitations:
//..=20
//.. * all arithmetic done at 64 bits
@@ -91,7 +90,8 @@
//.. bit be set by PUSHF.
//..=20
//.. This module uses global variables and so is not MT-safe (if that
-//.. should ever become relevant). */
+//.. should ever become relevant).
+*/
=20
/* Translates AMD64 code to IR. */
=20
@@ -1685,9 +1685,9 @@
mkexpr(oldcn)) );
=20
stmt( IRStmt_Put( OFFB_CC_OP, mkU64(thunkOp) ) );
- stmt( IRStmt_Put( OFFB_CC_DEP1, mkexpr(ta1) ) );
- stmt( IRStmt_Put( OFFB_CC_DEP2, binop(xor, mkexpr(ta2),=20
- mkexpr(oldcn)) ) );
+ stmt( IRStmt_Put( OFFB_CC_DEP1, widenUto64(mkexpr(ta1)) ));
+ stmt( IRStmt_Put( OFFB_CC_DEP2, widenUto64(binop(xor, mkexpr(ta2),=20
+ mkexpr(oldcn)) =
)) );
stmt( IRStmt_Put( OFFB_CC_NDEP, mkexpr(oldc) ) );
}
=20
@@ -1725,9 +1725,9 @@
mkexpr(oldcn)) );
=20
stmt( IRStmt_Put( OFFB_CC_OP, mkU64(thunkOp) ) );
- stmt( IRStmt_Put( OFFB_CC_DEP1, mkexpr(ta1) ) );
- stmt( IRStmt_Put( OFFB_CC_DEP2, binop(xor, mkexpr(ta2),=20
- mkexpr(oldcn)) ) );
+ stmt( IRStmt_Put( OFFB_CC_DEP1, widenUto64(mkexpr(ta1) )) );
+ stmt( IRStmt_Put( OFFB_CC_DEP2, widenUto64(binop(xor, mkexpr(ta2),=20
+ mkexpr(oldcn)) =
)) );
stmt( IRStmt_Put( OFFB_CC_NDEP, mkexpr(oldc) ) );
}
=20
Modified: branches/VEX_3_0_BRANCH/priv/guest-x86/toIR.c
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D
--- branches/VEX_3_0_BRANCH/priv/guest-x86/toIR.c 2005-08-24 17:45:33 UTC=
(rev 1359)
+++ branches/VEX_3_0_BRANCH/priv/guest-x86/toIR.c 2005-08-24 17:50:59 UTC=
(rev 1360)
@@ -46,7 +46,9 @@
=20
/* TODO:
=20
- check flag settings for cmpxchg
+ All Puts to CC_OP/CC_DEP1/CC_DEP2/CC_NDEP should really be checked
+ to ensure a 32-bit value is being written.
+
FUCOMI(P): what happens to A and S flags? Currently are forced
to zero.
=20
@@ -1027,9 +1029,9 @@
mkexpr(oldcn)) );
=20
stmt( IRStmt_Put( OFFB_CC_OP, mkU32(thunkOp) ) );
- stmt( IRStmt_Put( OFFB_CC_DEP1, mkexpr(ta1) ) );
- stmt( IRStmt_Put( OFFB_CC_DEP2, binop(xor, mkexpr(ta2),=20
- mkexpr(oldcn)) ) );
+ stmt( IRStmt_Put( OFFB_CC_DEP1, widenUto32(mkexpr(ta1)) ));
+ stmt( IRStmt_Put( OFFB_CC_DEP2, widenUto32(binop(xor, mkexpr(ta2),=20
+ mkexpr(oldcn)) =
)) );
stmt( IRStmt_Put( OFFB_CC_NDEP, mkexpr(oldc) ) );
}
=20
@@ -1063,9 +1065,9 @@
mkexpr(oldcn)) );
=20
stmt( IRStmt_Put( OFFB_CC_OP, mkU32(thunkOp) ) );
- stmt( IRStmt_Put( OFFB_CC_DEP1, mkexpr(ta1) ) );
- stmt( IRStmt_Put( OFFB_CC_DEP2, binop(xor, mkexpr(ta2),=20
- mkexpr(oldcn)) ) );
+ stmt( IRStmt_Put( OFFB_CC_DEP1, widenUto32(mkexpr(ta1) )) );
+ stmt( IRStmt_Put( OFFB_CC_DEP2, widenUto32(binop(xor, mkexpr(ta2),=20
+ mkexpr(oldcn)) =
)) );
stmt( IRStmt_Put( OFFB_CC_NDEP, mkexpr(oldc) ) );
}
=20
@@ -10756,11 +10758,11 @@
delta =3D dis_op_imm_A( sz, False, Iop_Or8, True, delta, "or" );
break;
=20
-//-- case 0x14: /* ADC Ib, AL */
-//-- delta =3D dis_op_imm_A( 1, ADC, True, delta, "adc" );
-//-- break;
+ case 0x14: /* ADC Ib, AL */
+ delta =3D dis_op_imm_A( 1, True, Iop_Add8, True, delta, "adc" );
+ break;
case 0x15: /* ADC Iv, eAX */
- delta =3D dis_op_imm_A( sz, True, Iop_Add8, True, delta, "adc" );
+ delta =3D dis_op_imm_A( sz, True, Iop_Add8, True, delta, "adc" );
break;
=20
//-- case 0x1C: /* SBB Ib, AL */
|
|
From: <sv...@va...> - 2005-08-24 17:45:36
|
Author: sewardj
Date: 2005-08-24 18:45:33 +0100 (Wed, 24 Aug 2005)
New Revision: 1359
Log:
Merge r1341 (x86 RCL implementation)
Modified:
branches/VEX_3_0_BRANCH/priv/guest-x86/gdefs.h
branches/VEX_3_0_BRANCH/priv/guest-x86/ghelpers.c
branches/VEX_3_0_BRANCH/priv/guest-x86/toIR.c
Modified: branches/VEX_3_0_BRANCH/priv/guest-x86/gdefs.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/VEX_3_0_BRANCH/priv/guest-x86/gdefs.h 2005-08-24 17:39:26 UT=
C (rev 1358)
+++ branches/VEX_3_0_BRANCH/priv/guest-x86/gdefs.h 2005-08-24 17:45:33 UT=
C (rev 1359)
@@ -104,9 +104,12 @@
=20
extern UInt x86g_calculate_FXAM ( UInt tag, ULong dbl );
=20
-extern ULong x86g_calculate_RCR (=20
+extern ULong x86g_calculate_RCR (=20
UInt arg, UInt rot_amt, UInt eflags_in, UInt sz=20
);
+extern ULong x86g_calculate_RCL (=20
+ UInt arg, UInt rot_amt, UInt eflags_in, UInt sz=20
+ );
=20
extern ULong x86g_check_fldcw ( UInt fpucw );
=20
Modified: branches/VEX_3_0_BRANCH/priv/guest-x86/ghelpers.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/VEX_3_0_BRANCH/priv/guest-x86/ghelpers.c 2005-08-24 17:39:26=
UTC (rev 1358)
+++ branches/VEX_3_0_BRANCH/priv/guest-x86/ghelpers.c 2005-08-24 17:45:33=
UTC (rev 1359)
@@ -1638,6 +1638,61 @@
}
=20
=20
+/* CALLED FROM GENERATED CODE: CLEAN HELPER */
+/* Calculate both flags and value result for rotate left
+ through the carry bit. Result in low 32 bits,=20
+ new flags (OSZACP) in high 32 bits.
+*/
+ULong x86g_calculate_RCL ( UInt arg, UInt rot_amt, UInt eflags_in, UInt =
sz )
+{
+ UInt tempCOUNT =3D rot_amt & 0x1F, cf=3D0, of=3D0, tempcf;
+
+ switch (sz) {
+ case 4:
+ cf =3D (eflags_in >> X86G_CC_SHIFT_C) & 1;
+ while (tempCOUNT > 0) {
+ tempcf =3D (arg >> 31) & 1;
+ arg =3D (arg << 1) | (cf & 1);
+ cf =3D tempcf;
+ tempCOUNT--;
+ }
+ of =3D ((arg >> 31) ^ cf) & 1;
+ break;
+ case 2:
+ while (tempCOUNT >=3D 17) tempCOUNT -=3D 17;
+ cf =3D (eflags_in >> X86G_CC_SHIFT_C) & 1;
+ while (tempCOUNT > 0) {
+ tempcf =3D (arg >> 15) & 1;
+ arg =3D 0xFFFF & ((arg << 1) | (cf & 1));
+ cf =3D tempcf;
+ tempCOUNT--;
+ }
+ of =3D ((arg >> 15) ^ cf) & 1;
+ break;
+ case 1:
+ while (tempCOUNT >=3D 9) tempCOUNT -=3D 9;
+ cf =3D (eflags_in >> X86G_CC_SHIFT_C) & 1;
+ while (tempCOUNT > 0) {
+ tempcf =3D (arg >> 7) & 1;
+ arg =3D 0xFF & ((arg << 1) | (cf & 1));
+ cf =3D tempcf;
+ tempCOUNT--;
+ }
+ of =3D ((arg >> 7) ^ cf) & 1;
+ break;
+ default:=20
+ vpanic("calculate_RCL: invalid size");
+ }
+
+ cf &=3D 1;
+ of &=3D 1;
+ eflags_in &=3D ~(X86G_CC_MASK_C | X86G_CC_MASK_O);
+ eflags_in |=3D (cf << X86G_CC_SHIFT_C) | (of << X86G_CC_SHIFT_O);
+
+ return (((ULong)eflags_in) << 32) | ((ULong)arg);
+}
+
+
/* CALLED FROM GENERATED CODE */
/* DIRTY HELPER (non-referentially-transparent) */
/* Horrible hack. On non-x86 platforms, return 1. */
Modified: branches/VEX_3_0_BRANCH/priv/guest-x86/toIR.c
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D
--- branches/VEX_3_0_BRANCH/priv/guest-x86/toIR.c 2005-08-24 17:39:26 UTC=
(rev 1358)
+++ branches/VEX_3_0_BRANCH/priv/guest-x86/toIR.c 2005-08-24 17:45:33 UTC=
(rev 1359)
@@ -2147,7 +2147,7 @@
/* delta on entry points at the modrm byte. */
HChar dis_buf[50];
Int len;
- Bool isShift, isRotate, isRotateRC;
+ Bool isShift, isRotate, isRotateC;
IRType ty =3D szToITy(sz);
IRTemp dst0 =3D newTemp(ty);
IRTemp dst1 =3D newTemp(ty);
@@ -2171,16 +2171,18 @@
isRotate =3D False;
switch (gregOfRM(modrm)) { case 0: case 1: isRotate =3D True; }
=20
- isRotateRC =3D toBool(gregOfRM(modrm) =3D=3D 3);
+ isRotateC =3D False;
+ switch (gregOfRM(modrm)) { case 2: case 3: isRotateC =3D True; }
=20
- if (!isShift && !isRotate && !isRotateRC) {
+ if (!isShift && !isRotate && !isRotateC) {
vex_printf("\ncase %d\n", gregOfRM(modrm));
vpanic("dis_Grp2(Reg): unhandled case(x86)");
}
=20
- if (isRotateRC) {
- /* call a helper; this insn is so ridiculous it does not deserve
- better */
+ if (isRotateC) {
+ /* call a helper; these insns are so ridiculous they do not
+ deserve better */
+ Bool left =3D toBool(gregOfRM(modrm) =3D=3D 2);
IRTemp r64 =3D newTemp(Ity_I64);
IRExpr** args=20
=3D mkIRExprVec_4( widenUto32(mkexpr(dst0)), /* thing to rotate=
*/
@@ -2190,7 +2192,8 @@
assign( r64, mkIRExprCCall(
Ity_I64,=20
0/*regparm*/,=20
- "x86g_calculate_RCR", &x86g_calculate_RCR,
+ left ? "x86g_calculate_RCL" : "x86g_calculate_RCR"=
,=20
+ left ? &x86g_calculate_RCL : &x86g_calculate_RCR,
args
)
);
|