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: <sv...@va...> - 2005-08-18 23:44:58
|
Author: sewardj
Date: 2005-08-19 00:44:13 +0100 (Fri, 19 Aug 2005)
New Revision: 4449
Log:
Enable a couple more syscalls on ppc32.
Modified:
trunk/coregrind/m_syswrap/syswrap-ppc32-linux.c
trunk/coregrind/vki_unistd-ppc32-linux.h
Modified: trunk/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
--- trunk/coregrind/m_syswrap/syswrap-ppc32-linux.c 2005-08-18 16:40:23 U=
TC (rev 4448)
+++ trunk/coregrind/m_syswrap/syswrap-ppc32-linux.c 2005-08-18 23:44:13 U=
TC (rev 4449)
@@ -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: trunk/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
--- trunk/coregrind/vki_unistd-ppc32-linux.h 2005-08-18 16:40:23 UTC (rev=
4448)
+++ trunk/coregrind/vki_unistd-ppc32-linux.h 2005-08-18 23:44:13 UTC (rev=
4449)
@@ -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: Tom H. <to...@co...> - 2005-08-18 23:09:42
|
In message <1124404002.3856.31.camel@localhost.localdomain> you wrote: > On Thu, 2005-08-18 at 23:13 +0100, Tom Hughes wrote: > > I'd be surprised if that works - that dlopen would normally return a > > handle for the existing C library which would meand the symbols have > > the same address and would get redirected again. > > It does work :) Is it just trickery though - was the program using /lib/libc to start with it was it using /lib/tls/libc or something like that? If the latter then you have managed to have two copies of (different) C libraries which is bad. Tom -- Tom Hughes (to...@co...) http://www.compton.nu/ |
|
From: Julian S. <js...@ac...> - 2005-08-18 21:55:22
|
> as far as I know, valgrind 3.x doesn't have biarch support, i.e. doesn't > allow valgrinding of 32bit elf binaries on x86_64. Well, a 64-bit build won't be able to do that. A 32-bit build might, but I don't know anything much about this area. TomH might know more. J |
|
From: Tom H. <th...@cy...> - 2005-08-18 20:50:17
|
Nightly build on aston ( x86_64, Fedora Core 3 ) started at 2005-08-18 03:05:06 BST Results differ from 24 hours ago Checking out valgrind source tree ... done Configuring valgrind ... done Building valgrind ... done Running regression tests ... failed Regression test results follow == 161 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) ================================================= == Results from 24 hours ago == ================================================= Checking out valgrind source tree ... done Configuring valgrind ... done Building valgrind ... done Running regression tests ... failed Last 20 lines of verbose log follow echo then mv -f ".deps/map_unmap.Tpo" ".deps/map_unmap.Po"; else rm -f ".deps/map_unmap.Tpo"; exit 1; fi gcc -Winline -Wall -Wshadow -g -Wno-long-long -o map_unmap map_unmap.o if gcc -DHAVE_CONFIG_H -I. -I. -I../.. -I../.. -I../../include -I../../include -Winline -Wall -Wshadow -g -Wno-long-long -MT mq.o -MD -MP -MF ".deps/mq.Tpo" -c -o mq.o mq.c; \ then mv -f ".deps/mq.Tpo" ".deps/mq.Po"; else rm -f ".deps/mq.Tpo"; exit 1; fi mq.c: In function `main': mq.c:27: error: `errno' undeclared (first use in this function) mq.c:27: error: (Each undeclared identifier is reported only once mq.c:27: error: for each function it appears in.) mq.c:27: error: `ENOSYS' undeclared (first use in this function) make[5]: *** [mq.o] Error 1 make[5]: Leaving directory `/tmp/valgrind.16052/valgrind/none/tests' make[4]: *** [check-am] Error 2 make[4]: Leaving directory `/tmp/valgrind.16052/valgrind/none/tests' make[3]: *** [check-recursive] Error 1 make[3]: Leaving directory `/tmp/valgrind.16052/valgrind/none/tests' make[2]: *** [check-recursive] Error 1 make[2]: Leaving directory `/tmp/valgrind.16052/valgrind/none' make[1]: *** [check-recursive] Error 1 make[1]: Leaving directory `/tmp/valgrind.16052/valgrind' make: *** [check] Error 2 ================================================= == Difference between 24 hours ago and now == ================================================= *** old.short Thu Aug 18 03:10:46 2005 --- new.short Thu Aug 18 03:16:00 2005 *************** *** 6,27 **** ! Last 20 lines of verbose log follow echo ! then mv -f ".deps/map_unmap.Tpo" ".deps/map_unmap.Po"; else rm -f ".deps/map_unmap.Tpo"; exit 1; fi ! gcc -Winline -Wall -Wshadow -g -Wno-long-long -o map_unmap map_unmap.o ! if gcc -DHAVE_CONFIG_H -I. -I. -I../.. -I../.. -I../../include -I../../include -Winline -Wall -Wshadow -g -Wno-long-long -MT mq.o -MD -MP -MF ".deps/mq.Tpo" -c -o mq.o mq.c; \ ! then mv -f ".deps/mq.Tpo" ".deps/mq.Po"; else rm -f ".deps/mq.Tpo"; exit 1; fi ! mq.c: In function `main': ! mq.c:27: error: `errno' undeclared (first use in this function) ! mq.c:27: error: (Each undeclared identifier is reported only once ! mq.c:27: error: for each function it appears in.) ! mq.c:27: error: `ENOSYS' undeclared (first use in this function) ! make[5]: *** [mq.o] Error 1 ! make[5]: Leaving directory `/tmp/valgrind.16052/valgrind/none/tests' ! make[4]: *** [check-am] Error 2 ! make[4]: Leaving directory `/tmp/valgrind.16052/valgrind/none/tests' ! make[3]: *** [check-recursive] Error 1 ! make[3]: Leaving directory `/tmp/valgrind.16052/valgrind/none/tests' ! make[2]: *** [check-recursive] Error 1 ! make[2]: Leaving directory `/tmp/valgrind.16052/valgrind/none' ! make[1]: *** [check-recursive] Error 1 ! make[1]: Leaving directory `/tmp/valgrind.16052/valgrind' ! make: *** [check] Error 2 --- 6,16 ---- ! Regression test results follow ! ! == 161 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: Christoph B. <bar...@or...> - 2005-08-18 19:24:24
|
Am Donnerstag, 18. August 2005 18:48 schrieben Sie: > Hi, > > Christoph, Meir and Prashantha all recently encountered Valgrind dying > with this message: > > VG_(get_memory_from_mmap): newSuperblock's request for N bytes failed. > VG_(get_memory_from_mmap): M bytes already allocated. > > with various values for N and M. > > I've just committed some code to print more information when this happens. > If you three are still having this problem, can you try the latest code in > the repository (see http://www.valgrind.org/devel/cvs_svn.html) and send > the results? That might make it more obvious what it happening. > > Thanks. > > Nick |
|
From: Tom H. <th...@cy...> - 2005-08-18 19:14:07
|
Nightly build on ginetta ( i686, Red Hat 8.0 ) started at 2005-08-18 03:10:07 BST Results differ from 24 hours ago Checking out valgrind source tree ... done Configuring valgrind ... done Building valgrind ... done Running regression tests ... failed Regression test results follow == 183 tests, 2 stderr failures, 0 stdout failures ================= none/tests/faultstatus (stderr) none/tests/x86/int (stderr) ================================================= == Results from 24 hours ago == ================================================= Checking out valgrind source tree ... done Configuring valgrind ... done Building valgrind ... done Running regression tests ... failed Regression test results follow == 182 tests, 2 stderr failures, 0 stdout failures ================= none/tests/faultstatus (stderr) none/tests/x86/int (stderr) ================================================= == Difference between 24 hours ago and now == ================================================= *** old.short Thu Aug 18 03:18:00 2005 --- new.short Thu Aug 18 03:23:48 2005 *************** *** 8,10 **** ! == 182 tests, 2 stderr failures, 0 stdout failures ================= none/tests/faultstatus (stderr) --- 8,10 ---- ! == 183 tests, 2 stderr failures, 0 stdout failures ================= none/tests/faultstatus (stderr) |
|
From: <sv...@va...> - 2005-08-18 19:12:28
|
Author: njn
Date: 2005-08-17 22:06:07 +0100 (Wed, 17 Aug 2005)
New Revision: 4444
Log:
Added VG_(OSet_LookupWithCmp)(), which can be useful.
Modified:
trunk/coregrind/m_oset.c
trunk/include/pub_tool_oset.h
trunk/memcheck/tests/oset_test.c
Modified: trunk/coregrind/m_oset.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_oset.c 2005-08-17 09:23:48 UTC (rev 4443)
+++ trunk/coregrind/m_oset.c 2005-08-17 21:06:07 UTC (rev 4444)
@@ -497,6 +497,21 @@
return ( n ? elem_of_node(n) : NULL );
}
=20
+// Find the *element* in t matching k, or NULL if not found; use the gi=
ven
+// comparison function rather than the standard one.
+void* VG_(OSet_LookupWithCmp)(AvlTree* t, void* k, OSetCmp_t cmp)
+{
+ // Save the normal one to the side, then restore once we're done.
+ void* e;
+ OSetCmp_t tmpcmp;
+ vg_assert(t);
+ tmpcmp =3D t->cmp;
+ t->cmp =3D cmp;
+ e =3D VG_(OSet_Lookup)(t, k);
+ t->cmp =3D tmpcmp;
+ return e;
+}
+
// Is there an element matching k?
Bool VG_(OSet_Contains)(AvlTree* t, void* k)
{
Modified: trunk/include/pub_tool_oset.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
--- trunk/include/pub_tool_oset.h 2005-08-17 09:23:48 UTC (rev 4443)
+++ trunk/include/pub_tool_oset.h 2005-08-17 21:06:07 UTC (rev 4444)
@@ -117,6 +117,9 @@
// * Lookup: Returns a pointer to the element matching the key, if there=
is
// one, otherwise returns NULL.
//
+// * LookupWithCmp: Like Lookup, but you specify the comparison function=
,
+// which overrides the OSet's normal one.
+//
// * Insert: Inserts a new element into the list. Note that 'elem' must
// have been allocated using VG_(OSet_AllocNode)(), otherwise you will=
get
// assertion failures about "bad magic". Duplicates are forbidden, an=
d
@@ -145,13 +148,14 @@
// they will return NULL if VG_(OSet_Next)() is called without an
// intervening call to VG_(OSet_ResetIter)().
=20
-extern Int VG_(OSet_Size) ( OSet* os );
-extern void VG_(OSet_Insert) ( OSet* os, void* elem );
-extern Bool VG_(OSet_Contains) ( OSet* os, void* key );
-extern void* VG_(OSet_Lookup) ( OSet* os, void* key );
-extern void* VG_(OSet_Remove) ( OSet* os, void* key );
-extern void VG_(OSet_ResetIter) ( OSet* os );
-extern void* VG_(OSet_Next) ( OSet* os );
+extern Int VG_(OSet_Size) ( OSet* os );
+extern void VG_(OSet_Insert) ( OSet* os, void* elem );
+extern Bool VG_(OSet_Contains) ( OSet* os, void* key );
+extern void* VG_(OSet_Lookup) ( OSet* os, void* key );
+extern void* VG_(OSet_LookupWithCmp)( OSet* os, void* key, OSetCmp_t cmp=
);
+extern void* VG_(OSet_Remove) ( OSet* os, void* key );
+extern void VG_(OSet_ResetIter) ( OSet* os );
+extern void* VG_(OSet_Next) ( OSet* os );
=20
#endif // __PUB_TOOL_OSET_H
=20
Modified: trunk/memcheck/tests/oset_test.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/tests/oset_test.c 2005-08-17 09:23:48 UTC (rev 4443)
+++ trunk/memcheck/tests/oset_test.c 2005-08-17 21:06:07 UTC (rev 4444)
@@ -139,7 +139,7 @@
=20
// Check we can find the remaining elements (with the right values).
for (i =3D 1; i < NN; i +=3D 2) {
- assert( pv =3D VG_(OSet_Lookup)(oset1, vs[i]) );
+ assert( pv =3D VG_(OSet_LookupWithCmp)(oset1, vs[i], NULL) );
assert( pv =3D=3D vs[i] );
}
=20
@@ -286,6 +286,7 @@
a =3D vs[i]->first + 0; assert( vs[i] =3D=3D VG_(OSet_Lookup)(o=
set2, &a) );
a =3D vs[i]->first + 1; assert( vs[i] =3D=3D VG_(OSet_Lookup)(o=
set2, &a) );
a =3D vs[i]->first + 2; assert( vs[i] =3D=3D VG_(OSet_Lookup)(o=
set2, &a) );
+ assert( vs[i] =3D=3D VG_(OSet_LookupWithCmp)(oset2, &a, blockCmp) =
);
}
=20
// Check that we can iterate over the OSet elements in sorted order, =
and
|
|
From: Tom H. <th...@cy...> - 2005-08-18 18:49:09
|
Nightly build on alvis ( i686, Red Hat 7.3 ) started at 2005-08-18 03:15:01 BST Results differ from 24 hours ago Checking out valgrind source tree ... done Configuring valgrind ... done Building valgrind ... done Running regression tests ... failed Regression test results follow == 183 tests, 15 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/cmpxchg8b (stdout) none/tests/x86/cmpxchg8b (stderr) none/tests/x86/int (stderr) ================================================= == Results from 24 hours ago == ================================================= Checking out valgrind source tree ... done Configuring valgrind ... done Building valgrind ... done Running regression tests ... failed Regression test results follow == 182 tests, 15 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/cmpxchg8b (stdout) none/tests/x86/cmpxchg8b (stderr) none/tests/x86/int (stderr) ================================================= == Difference between 24 hours ago and now == ================================================= *** old.short Thu Aug 18 03:21:35 2005 --- new.short Thu Aug 18 03:27:17 2005 *************** *** 8,10 **** ! == 182 tests, 15 stderr failures, 1 stdout failure ================= memcheck/tests/addressable (stderr) --- 8,10 ---- ! == 183 tests, 15 stderr failures, 1 stdout failure ================= memcheck/tests/addressable (stderr) |
|
From: Tom H. <th...@cy...> - 2005-08-18 18:44:48
|
Nightly build on dellow ( x86_64, Fedora Core 4 ) started at 2005-08-18 03:10:07 BST Results differ from 24 hours ago Checking out valgrind source tree ... done Configuring valgrind ... done Building valgrind ... done Running regression tests ... failed Regression test results follow == 161 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) ================================================= == Results from 24 hours ago == ================================================= Checking out valgrind source tree ... done Configuring valgrind ... done Building valgrind ... done Running regression tests ... failed Last 20 lines of verbose log follow echo then mv -f ".deps/map_unmap.Tpo" ".deps/map_unmap.Po"; else rm -f ".deps/map_unmap.Tpo"; exit 1; fi gcc -Winline -Wall -Wshadow -g -Wno-long-long -Wno-pointer-sign -o map_unmap map_unmap.o if gcc -DHAVE_CONFIG_H -I. -I. -I../.. -I../.. -I../../include -I../../include -Winline -Wall -Wshadow -g -Wno-long-long -Wno-pointer-sign -MT mq.o -MD -MP -MF ".deps/mq.Tpo" -c -o mq.o mq.c; \ then mv -f ".deps/mq.Tpo" ".deps/mq.Po"; else rm -f ".deps/mq.Tpo"; exit 1; fi mq.c: In function 'main': mq.c:27: error: 'errno' undeclared (first use in this function) mq.c:27: error: (Each undeclared identifier is reported only once mq.c:27: error: for each function it appears in.) mq.c:27: error: 'ENOSYS' undeclared (first use in this function) make[5]: *** [mq.o] Error 1 make[5]: Leaving directory `/tmp/valgrind.3641/valgrind/none/tests' make[4]: *** [check-am] Error 2 make[4]: Leaving directory `/tmp/valgrind.3641/valgrind/none/tests' make[3]: *** [check-recursive] Error 1 make[3]: Leaving directory `/tmp/valgrind.3641/valgrind/none/tests' make[2]: *** [check-recursive] Error 1 make[2]: Leaving directory `/tmp/valgrind.3641/valgrind/none' make[1]: *** [check-recursive] Error 1 make[1]: Leaving directory `/tmp/valgrind.3641/valgrind' make: *** [check] Error 2 ================================================= == Difference between 24 hours ago and now == ================================================= *** old.short Thu Aug 18 03:14:56 2005 --- new.short Thu Aug 18 03:20:59 2005 *************** *** 6,27 **** ! Last 20 lines of verbose log follow echo ! then mv -f ".deps/map_unmap.Tpo" ".deps/map_unmap.Po"; else rm -f ".deps/map_unmap.Tpo"; exit 1; fi ! gcc -Winline -Wall -Wshadow -g -Wno-long-long -Wno-pointer-sign -o map_unmap map_unmap.o ! if gcc -DHAVE_CONFIG_H -I. -I. -I../.. -I../.. -I../../include -I../../include -Winline -Wall -Wshadow -g -Wno-long-long -Wno-pointer-sign -MT mq.o -MD -MP -MF ".deps/mq.Tpo" -c -o mq.o mq.c; \ ! then mv -f ".deps/mq.Tpo" ".deps/mq.Po"; else rm -f ".deps/mq.Tpo"; exit 1; fi ! mq.c: In function 'main': ! mq.c:27: error: 'errno' undeclared (first use in this function) ! mq.c:27: error: (Each undeclared identifier is reported only once ! mq.c:27: error: for each function it appears in.) ! mq.c:27: error: 'ENOSYS' undeclared (first use in this function) ! make[5]: *** [mq.o] Error 1 ! make[5]: Leaving directory `/tmp/valgrind.3641/valgrind/none/tests' ! make[4]: *** [check-am] Error 2 ! make[4]: Leaving directory `/tmp/valgrind.3641/valgrind/none/tests' ! make[3]: *** [check-recursive] Error 1 ! make[3]: Leaving directory `/tmp/valgrind.3641/valgrind/none/tests' ! make[2]: *** [check-recursive] Error 1 ! make[2]: Leaving directory `/tmp/valgrind.3641/valgrind/none' ! make[1]: *** [check-recursive] Error 1 ! make[1]: Leaving directory `/tmp/valgrind.3641/valgrind' ! make: *** [check] Error 2 --- 6,16 ---- ! Regression test results follow ! ! == 161 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-08-18 18:44:46
|
Nightly build on gill ( x86_64, Fedora Core 2 ) started at 2005-08-18 03:00:04 BST Results differ from 24 hours ago Checking out valgrind source tree ... done Configuring valgrind ... done Building valgrind ... done Running regression tests ... failed Regression test results follow == 161 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) ================================================= == Results from 24 hours ago == ================================================= Checking out valgrind source tree ... done Configuring valgrind ... done Building valgrind ... done Running regression tests ... failed Last 20 lines of verbose log follow echo then mv -f ".deps/map_unmap.Tpo" ".deps/map_unmap.Po"; else rm -f ".deps/map_unmap.Tpo"; exit 1; fi gcc -Winline -Wall -Wshadow -g -Wno-long-long -o map_unmap map_unmap.o if gcc -DHAVE_CONFIG_H -I. -I. -I../.. -I../.. -I../../include -I../../include -Winline -Wall -Wshadow -g -Wno-long-long -MT mq.o -MD -MP -MF ".deps/mq.Tpo" -c -o mq.o mq.c; \ then mv -f ".deps/mq.Tpo" ".deps/mq.Po"; else rm -f ".deps/mq.Tpo"; exit 1; fi mq.c: In function `main': mq.c:27: error: `errno' undeclared (first use in this function) mq.c:27: error: (Each undeclared identifier is reported only once mq.c:27: error: for each function it appears in.) mq.c:27: error: `ENOSYS' undeclared (first use in this function) make[5]: *** [mq.o] Error 1 make[5]: Leaving directory `/tmp/valgrind.7815/valgrind/none/tests' make[4]: *** [check-am] Error 2 make[4]: Leaving directory `/tmp/valgrind.7815/valgrind/none/tests' make[3]: *** [check-recursive] Error 1 make[3]: Leaving directory `/tmp/valgrind.7815/valgrind/none/tests' make[2]: *** [check-recursive] Error 1 make[2]: Leaving directory `/tmp/valgrind.7815/valgrind/none' make[1]: *** [check-recursive] Error 1 make[1]: Leaving directory `/tmp/valgrind.7815/valgrind' make: *** [check] Error 2 ================================================= == Difference between 24 hours ago and now == ================================================= *** old.short Thu Aug 18 03:02:23 2005 --- new.short Thu Aug 18 03:40:43 2005 *************** *** 6,27 **** ! Last 20 lines of verbose log follow echo ! then mv -f ".deps/map_unmap.Tpo" ".deps/map_unmap.Po"; else rm -f ".deps/map_unmap.Tpo"; exit 1; fi ! gcc -Winline -Wall -Wshadow -g -Wno-long-long -o map_unmap map_unmap.o ! if gcc -DHAVE_CONFIG_H -I. -I. -I../.. -I../.. -I../../include -I../../include -Winline -Wall -Wshadow -g -Wno-long-long -MT mq.o -MD -MP -MF ".deps/mq.Tpo" -c -o mq.o mq.c; \ ! then mv -f ".deps/mq.Tpo" ".deps/mq.Po"; else rm -f ".deps/mq.Tpo"; exit 1; fi ! mq.c: In function `main': ! mq.c:27: error: `errno' undeclared (first use in this function) ! mq.c:27: error: (Each undeclared identifier is reported only once ! mq.c:27: error: for each function it appears in.) ! mq.c:27: error: `ENOSYS' undeclared (first use in this function) ! make[5]: *** [mq.o] Error 1 ! make[5]: Leaving directory `/tmp/valgrind.7815/valgrind/none/tests' ! make[4]: *** [check-am] Error 2 ! make[4]: Leaving directory `/tmp/valgrind.7815/valgrind/none/tests' ! make[3]: *** [check-recursive] Error 1 ! make[3]: Leaving directory `/tmp/valgrind.7815/valgrind/none/tests' ! make[2]: *** [check-recursive] Error 1 ! make[2]: Leaving directory `/tmp/valgrind.7815/valgrind/none' ! make[1]: *** [check-recursive] Error 1 ! make[1]: Leaving directory `/tmp/valgrind.7815/valgrind' ! make: *** [check] Error 2 --- 6,18 ---- ! Regression test results follow ! ! == 161 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: Tom H. <to...@co...> - 2005-08-18 18:38:23
|
Nightly build on dunsmere ( athlon, Fedora Core 4 ) started at 2005-08-18 03:30:03 BST Results differ from 24 hours ago Checking out valgrind source tree ... done Configuring valgrind ... done Building valgrind ... done Running regression tests ... failed Regression test results follow == 184 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) ================================================= == Results from 24 hours ago == ================================================= Checking out valgrind source tree ... done Configuring valgrind ... done Building valgrind ... done Running regression tests ... failed Last 20 lines of verbose log follow echo then mv -f ".deps/map_unmap.Tpo" ".deps/map_unmap.Po"; else rm -f ".deps/map_unmap.Tpo"; exit 1; fi gcc -Winline -Wall -Wshadow -g -Wno-long-long -Wno-pointer-sign -o map_unmap map_unmap.o if gcc -DHAVE_CONFIG_H -I. -I. -I../.. -I../.. -I../../include -I../../include -Winline -Wall -Wshadow -g -Wno-long-long -Wno-pointer-sign -MT mq.o -MD -MP -MF ".deps/mq.Tpo" -c -o mq.o mq.c; \ then mv -f ".deps/mq.Tpo" ".deps/mq.Po"; else rm -f ".deps/mq.Tpo"; exit 1; fi mq.c: In function 'main': mq.c:27: error: 'errno' undeclared (first use in this function) mq.c:27: error: (Each undeclared identifier is reported only once mq.c:27: error: for each function it appears in.) mq.c:27: error: 'ENOSYS' undeclared (first use in this function) make[5]: *** [mq.o] Error 1 make[5]: Leaving directory `/tmp/valgrind.20143/valgrind/none/tests' make[4]: *** [check-am] Error 2 make[4]: Leaving directory `/tmp/valgrind.20143/valgrind/none/tests' make[3]: *** [check-recursive] Error 1 make[3]: Leaving directory `/tmp/valgrind.20143/valgrind/none/tests' make[2]: *** [check-recursive] Error 1 make[2]: Leaving directory `/tmp/valgrind.20143/valgrind/none' make[1]: *** [check-recursive] Error 1 make[1]: Leaving directory `/tmp/valgrind.20143/valgrind' make: *** [check] Error 2 ================================================= == Difference between 24 hours ago and now == ================================================= *** old.short Thu Aug 18 03:32:37 2005 --- new.short Thu Aug 18 03:38:24 2005 *************** *** 6,27 **** ! Last 20 lines of verbose log follow echo ! then mv -f ".deps/map_unmap.Tpo" ".deps/map_unmap.Po"; else rm -f ".deps/map_unmap.Tpo"; exit 1; fi ! gcc -Winline -Wall -Wshadow -g -Wno-long-long -Wno-pointer-sign -o map_unmap map_unmap.o ! if gcc -DHAVE_CONFIG_H -I. -I. -I../.. -I../.. -I../../include -I../../include -Winline -Wall -Wshadow -g -Wno-long-long -Wno-pointer-sign -MT mq.o -MD -MP -MF ".deps/mq.Tpo" -c -o mq.o mq.c; \ ! then mv -f ".deps/mq.Tpo" ".deps/mq.Po"; else rm -f ".deps/mq.Tpo"; exit 1; fi ! mq.c: In function 'main': ! mq.c:27: error: 'errno' undeclared (first use in this function) ! mq.c:27: error: (Each undeclared identifier is reported only once ! mq.c:27: error: for each function it appears in.) ! mq.c:27: error: 'ENOSYS' undeclared (first use in this function) ! make[5]: *** [mq.o] Error 1 ! make[5]: Leaving directory `/tmp/valgrind.20143/valgrind/none/tests' ! make[4]: *** [check-am] Error 2 ! make[4]: Leaving directory `/tmp/valgrind.20143/valgrind/none/tests' ! make[3]: *** [check-recursive] Error 1 ! make[3]: Leaving directory `/tmp/valgrind.20143/valgrind/none/tests' ! make[2]: *** [check-recursive] Error 1 ! make[2]: Leaving directory `/tmp/valgrind.20143/valgrind/none' ! make[1]: *** [check-recursive] Error 1 ! make[1]: Leaving directory `/tmp/valgrind.20143/valgrind' ! make: *** [check] Error 2 --- 6,15 ---- ! Regression test results follow ! ! == 184 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: Jeroen N. W. <jn...@xs...> - 2005-08-18 18:25:56
|
Greetings, While looking for a way to generate FAQ.txt from FAQ.xml I noticed that in a few places in file docs/xml/FAQ.xml in valgrind 3.1.SVN, screens and program listings are part of the answer where they should be part of the question. Attached patch fixes this problem. Jeroen. |
|
From: <sv...@va...> - 2005-08-18 18:01:06
|
Author: sewardj Date: 2005-08-18 12:54:30 +0100 (Thu, 18 Aug 2005) New Revision: 4445 Log: The strlen that ld.so uses on ppc32 causes a lot of false errors in memcheck, and they are hard to get rid of and hard to suppress. So add a bootstrap strlen function and redirect to it right from the start. This fn only replaces the strlen in ld.so; the "normal" redirect mechanism still replaces the strlen that glibc supplies. This commit finally (!) makes memcheck behave sanely on ppc32. Modified: trunk/coregrind/m_redir.c trunk/coregrind/m_trampoline.S trunk/coregrind/pub_core_trampoline.h Modified: trunk/coregrind/m_redir.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_redir.c 2005-08-17 21:06:07 UTC (rev 4444) +++ trunk/coregrind/m_redir.c 2005-08-18 11:54:30 UTC (rev 4445) @@ -366,7 +366,10 @@ =20 #elif defined(VGP_ppc32_linux) =20 - //CAB: TODO + add_redirect_sym_to_addr( + "soname:ld.so.1", "strlen", + (Addr)&VG_(ppc32_linux_REDIR_FOR_strlen) + ); =20 =20 #else # error Unknown platform Modified: trunk/coregrind/m_trampoline.S =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=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_trampoline.S 2005-08-17 21:06:07 UTC (rev 4444) +++ trunk/coregrind/m_trampoline.S 2005-08-18 11:54:30 UTC (rev 4445) @@ -107,11 +107,29 @@ .global VG_(trampoline_stuff_start) VG_(trampoline_stuff_start): =20 +/* There's no particular reason that this needs to be handwritten + assembly, but since that's what this file contains, here's a + simple strlen implementation (written in C and compiled by gcc.) +*/ +.global VG_(ppc32_linux_REDIR_FOR_strlen) +VG_(ppc32_linux_REDIR_FOR_strlen): + lbz 4,0(3) + li 9,0 + cmpwi 0,4,0 + beq- 0,.L8 +.L9: + lbzu 5,1(3) + addi 9,9,1 + cmpwi 0,5,0 + bne+ 0,.L9 +.L8: + mr 3,9 + blr + .global VG_(trampoline_stuff_end) VG_(trampoline_stuff_end): =20 =20 - /*---------------- unknown ----------------*/ #else # error Unknown platform @@ -120,9 +138,7 @@ #endif #endif =20 -tramp_code_end: =20 - /* Let the linker know we don't need an executable stack */ .section .note.GNU-stack,"",@progbits =09 Modified: trunk/coregrind/pub_core_trampoline.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 --- trunk/coregrind/pub_core_trampoline.h 2005-08-17 21:06:07 UTC (rev 44= 44) +++ trunk/coregrind/pub_core_trampoline.h 2005-08-18 11:54:30 UTC (rev 44= 45) @@ -58,6 +58,10 @@ extern void VG_(amd64_linux_REDIR_FOR_vgettimeofday); extern void VG_(amd64_linux_REDIR_FOR_vtime); #endif + +#if defined(VGP_ppc32_linux) +extern UInt VG_(ppc32_linux_REDIR_FOR_strlen)( void* ); +#endif =20 #endif // __PUB_CORE_TRAMPOLINE_H =20 |
|
From: <sv...@va...> - 2005-08-18 17:57:00
|
Author: sewardj
Date: 2005-08-18 12:55:37 +0100 (Thu, 18 Aug 2005)
New Revision: 4446
Log:
vki_stat64 as defined in the 2.6.10 sources looks significantly
different from our rendition, so update the latter.
Modified:
trunk/include/vki-ppc32-linux.h
Modified: trunk/include/vki-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
--- trunk/include/vki-ppc32-linux.h 2005-08-18 11:54:30 UTC (rev 4445)
+++ trunk/include/vki-ppc32-linux.h 2005-08-18 11:55:37 UTC (rev 4446)
@@ -301,7 +301,7 @@
#define VKI_SIOCGSTAMP 0x8906 /* Get stamp */
=20
//----------------------------------------------------------------------
-// From linux-2.6.9/include/asm-ppc/stat.h
+// From linux-2.6.10/include/asm-ppc/stat.h
//----------------------------------------------------------------------
=20
//.. #define VKI_S_IFMT 00170000
@@ -346,28 +346,29 @@
};
=20
struct vki_stat64 {
- unsigned long st_dev;
- unsigned long st_ino;
- unsigned long st_rdev;
- long st_size;
- unsigned long st_blocks;
+ unsigned long long st_dev;
+ unsigned long long st_ino;
+ unsigned int st_mode;
+ unsigned int st_nlink;
+ unsigned int st_uid;
+ unsigned int st_gid;
+ unsigned long long st_rdev;
+ unsigned short int __pad2;
+ long long st_size;
+ long st_blksize;
=20
- unsigned int st_mode;
- unsigned int st_uid;
- unsigned int st_gid;
- unsigned int st_blksize;
- unsigned int st_nlink;
- unsigned int __pad0;
-
- unsigned long st_atime;
- unsigned long st_atime_nsec;
- unsigned long st_mtime;
- unsigned long st_mtime_nsec;
- unsigned long st_ctime;
- unsigned long st_ctime_nsec;
- long __unused[3];
+ long long st_blocks;
+ long st_atime;
+ unsigned long st_atime_nsec;
+ long st_mtime;
+ unsigned long int st_mtime_nsec;
+ long st_ctime;
+ unsigned long int st_ctime_nsec;
+ unsigned long int __unused4;
+ unsigned long int __unused5;
};
=20
+
//----------------------------------------------------------------------
// From linux-2.6.9/include/asm-ppc/statfs.h
//----------------------------------------------------------------------
|
|
From: <sv...@va...> - 2005-08-18 17:55:37
|
Author: sewardj
Date: 2005-08-18 12:50:43 +0100 (Thu, 18 Aug 2005)
New Revision: 1339
Log:
Add tested but unused code just in case it is useful at some point in
the future: a potentially more memcheck-friendly implementation of
count-leading-zeroes.
Modified:
trunk/priv/guest-ppc32/toIR.c
Modified: trunk/priv/guest-ppc32/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
--- trunk/priv/guest-ppc32/toIR.c 2005-08-14 00:50:40 UTC (rev 1338)
+++ trunk/priv/guest-ppc32/toIR.c 2005-08-18 11:50:43 UTC (rev 1339)
@@ -2028,6 +2028,7 @@
assign(Ra, IRExpr_Mux0X( unop(Iop_1Uto8, irx),
mkU32(32),
unop(Iop_Clz32, mkexpr(Rs)) ));
+ // alternatively: assign(Ra, verbose_Clz32(Rs));
break;
=20
case 0x11C: // eqv (Equivalent, PPC32 p396)
@@ -6711,6 +6712,93 @@
}
=20
=20
+/*------------------------------------------------------------*/
+/*--- Unused stuff ---*/
+/*------------------------------------------------------------*/
+
+///* A potentially more memcheck-friendly implementation of Clz32, with
+// the boundary case Clz32(0) =3D 32, which is what ppc requires. */
+//
+//static IRExpr* /* :: Ity_I32 */ verbose_Clz32 ( IRTemp arg )
+//{
+// /* Welcome ... to SSA R Us. */
+// IRTemp n1 =3D newTemp(Ity_I32);
+// IRTemp n2 =3D newTemp(Ity_I32);
+// IRTemp n3 =3D newTemp(Ity_I32);
+// IRTemp n4 =3D newTemp(Ity_I32);
+// IRTemp n5 =3D newTemp(Ity_I32);
+// IRTemp n6 =3D newTemp(Ity_I32);
+// IRTemp n7 =3D newTemp(Ity_I32);
+// IRTemp n8 =3D newTemp(Ity_I32);
+// IRTemp n9 =3D newTemp(Ity_I32);
+// IRTemp n10 =3D newTemp(Ity_I32);
+// IRTemp n11 =3D newTemp(Ity_I32);
+// IRTemp n12 =3D newTemp(Ity_I32);
+//
+// /* First, propagate the most significant 1-bit into all lower
+// positions in the word. */
+// /* unsigned int clz ( unsigned int n )
+// {
+// n |=3D (n >> 1);
+// n |=3D (n >> 2);
+// n |=3D (n >> 4);
+// n |=3D (n >> 8);
+// n |=3D (n >> 16);
+// return bitcount(~n);
+// }
+// */
+// assign(n1, mkexpr(arg));
+// assign(n2, binop(Iop_Or32, mkexpr(n1), binop(Iop_Shr32, mkexpr(n1),=
mkU8(1))));
+// assign(n3, binop(Iop_Or32, mkexpr(n2), binop(Iop_Shr32, mkexpr(n2),=
mkU8(2))));
+// assign(n4, binop(Iop_Or32, mkexpr(n3), binop(Iop_Shr32, mkexpr(n3),=
mkU8(4))));
+// assign(n5, binop(Iop_Or32, mkexpr(n4), binop(Iop_Shr32, mkexpr(n4),=
mkU8(8))));
+// assign(n6, binop(Iop_Or32, mkexpr(n5), binop(Iop_Shr32, mkexpr(n5),=
mkU8(16))));
+// /* This gives a word of the form 0---01---1. Now invert it, giving
+// a word of the form 1---10---0, then do a population-count idiom
+// (to count the 1s, which is the number of leading zeroes, or 32
+// if the original word was 0. */
+// assign(n7, unop(Iop_Not32, mkexpr(n6)));
+//
+// /* unsigned int bitcount ( unsigned int n )
+// {
+// n =3D n - ((n >> 1) & 0x55555555);
+// n =3D (n & 0x33333333) + ((n >> 2) & 0x33333333);
+// n =3D (n + (n >> 4)) & 0x0F0F0F0F;
+// n =3D n + (n >> 8);
+// n =3D (n + (n >> 16)) & 0x3F;
+// return n;
+// }
+// */
+// assign(n8,=20
+// binop(Iop_Sub32,=20
+// mkexpr(n7), =20
+// binop(Iop_And32,=20
+// binop(Iop_Shr32, mkexpr(n7), mkU8(1)),
+// mkU32(0x55555555))));
+// assign(n9,
+// binop(Iop_Add32,
+// binop(Iop_And32, mkexpr(n8), mkU32(0x33333333)),
+// binop(Iop_And32,
+// binop(Iop_Shr32, mkexpr(n8), mkU8(2)),
+// mkU32(0x33333333))));
+// assign(n10,
+// binop(Iop_And32,
+// binop(Iop_Add32,=20
+// mkexpr(n9),=20
+// binop(Iop_Shr32, mkexpr(n9), mkU8(4))),
+// mkU32(0x0F0F0F0F)));
+// assign(n11,
+// binop(Iop_Add32,
+// mkexpr(n10),
+// binop(Iop_Shr32, mkexpr(n10), mkU8(8))));
+// assign(n12,
+// binop(Iop_Add32,
+// mkexpr(n11),
+// binop(Iop_Shr32, mkexpr(n11), mkU8(16))));
+// return
+// binop(Iop_And32, mkexpr(n12), mkU32(0x3F));
+//}
+
/*--------------------------------------------------------------------*/
/*--- end guest-ppc32/toIR.c ---*/
/*--------------------------------------------------------------------*/
|
|
From: Dirk M. <dm...@gm...> - 2005-08-18 17:42:21
|
Hi, as far as I know, valgrind 3.x doesn't have biarch support, i.e. doesn't allow valgrinding of 32bit elf binaries on x86_64. Correct? Dirk |
|
From: <sv...@va...> - 2005-08-18 16:56:44
|
Author: njn
Date: 2005-08-18 16:49:21 +0100 (Thu, 18 Aug 2005)
New Revision: 4447
Log:
Make it possible to match against "???" line in suppressions,
using "obj:*" or "fun:*". Also generate "obj:*" for such lines
with --gen-suppressions. Includes a regtest.
Added:
trunk/memcheck/tests/supp_unknown.stderr.exp
trunk/memcheck/tests/supp_unknown.supp
trunk/memcheck/tests/supp_unknown.vgtest
Modified:
trunk/coregrind/m_errormgr.c
trunk/memcheck/tests/Makefile.am
Modified: trunk/coregrind/m_errormgr.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_errormgr.c 2005-08-18 11:55:37 UTC (rev 4446)
+++ trunk/coregrind/m_errormgr.c 2005-08-18 15:49:21 UTC (rev 4447)
@@ -391,8 +391,7 @@
} else if ( VG_(get_objname)(ip, buf, ERRTXT_LEN) ) {
VG_(printf)(" obj:%s\n", buf);
} else {
- VG_(printf)(" ???:??? "
- "# unknown, suppression will not work, sorry\n");
+ VG_(printf)(" obj:*\n");
}
}
=20
@@ -1093,16 +1092,20 @@
for (i =3D 0; i < su->n_callers; i++) {
Addr a =3D ips[i];
vg_assert(su->callers[i].name !=3D NULL);
+ // The string to be used in the unknown case ("???") can be anythi=
ng
+ // that couldn't be a valid function or objname. --gen-suppressio=
ns
+ // prints 'obj:*' for such an entry, which will match any string w=
e
+ // use.
switch (su->callers[i].ty) {
case ObjName:=20
if (!VG_(get_objname)(a, caller_name, ERRTXT_LEN))
- return False;
+ VG_(strcpy)(caller_name, "???");
break;=20
=20
case FunName:=20
// Nb: mangled names used in suppressions
if (!VG_(get_fnname_nodemangle)(a, caller_name, ERRTXT_LEN))
- return False;
+ VG_(strcpy)(caller_name, "???");
break;
default: VG_(tool_panic)("supp_matches_callers");
}
Modified: trunk/memcheck/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/memcheck/tests/Makefile.am 2005-08-18 11:55:37 UTC (rev 4446)
+++ trunk/memcheck/tests/Makefile.am 2005-08-18 15:49:21 UTC (rev 4447)
@@ -76,6 +76,7 @@
stack_changes.stderr.exp stack_changes.stdout.exp stack_changes.vgtest =
\
strchr.stderr.exp strchr.vgtest \
str_tester.stderr.exp str_tester.vgtest \
+ supp_unknown.stderr.exp supp_unknown.vgtest supp_unknown.supp \
supp1.stderr.exp supp1.vgtest \
supp2.stderr.exp supp2.vgtest \
supp.supp \
@@ -110,7 +111,7 @@
post-syscall \
realloc1 realloc2 realloc3 \
sigaltstack signal2 sigprocmask sigkill \
- stack_changes strchr str_tester supp1 supp2 suppfree \
+ stack_changes strchr str_tester supp_unknown supp1 supp2 suppfree \
trivialleak weirdioctl \
mismatches new_override metadata \
vgtest_ume xml1 \
@@ -127,6 +128,7 @@
# Don't allow GCC to inline memcpy(), because then we can't intercept it
overlap_CFLAGS =3D $(AM_CFLAGS) -fno-builtin-memcpy
str_tester_CFLAGS =3D $(AM_CFLAGS) -Wno-shadow
+supp_unknown_SOURCES =3D badjump.c
supp1_SOURCES =3D supp.c
supp2_SOURCES =3D supp.c
=20
Added: trunk/memcheck/tests/supp_unknown.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/memcheck/tests/supp_unknown.stderr.exp 2005-08-18 11:55:37 UTC =
(rev 4446)
+++ trunk/memcheck/tests/supp_unknown.stderr.exp 2005-08-18 15:49:21 UTC =
(rev 4447)
@@ -0,0 +1,6 @@
+
+Process terminating with default action of signal 11 (SIGSEGV)
+ Access not within mapped region at address 0x........
+ at 0x........: ???
+ by 0x........: __libc_start_main (in /...libc...)
+ by 0x........: ...
Added: trunk/memcheck/tests/supp_unknown.supp
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D
--- trunk/memcheck/tests/supp_unknown.supp 2005-08-18 11:55:37 UTC (rev 4=
446)
+++ trunk/memcheck/tests/supp_unknown.supp 2005-08-18 15:49:21 UTC (rev 4=
447)
@@ -0,0 +1,8 @@
+# This contains a match against a "???" entry
+{
+ <insert a suppression name here>
+ Memcheck:Addr1
+ obj:*
+ fun:__libc_start_main
+}
+
Added: trunk/memcheck/tests/supp_unknown.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/memcheck/tests/supp_unknown.vgtest 2005-08-18 11:55:37 UTC (rev=
4446)
+++ trunk/memcheck/tests/supp_unknown.vgtest 2005-08-18 15:49:21 UTC (rev=
4447)
@@ -0,0 +1,3 @@
+vgopts: -q --suppressions=3Dsupp_unknown.supp
+prog: badjump
+cleanup: rm -f vgcore.pid*
|
|
From: Nicholas N. <nj...@cs...> - 2005-08-18 16:48:08
|
Hi, Christoph, Meir and Prashantha all recently encountered Valgrind dying with this message: VG_(get_memory_from_mmap): newSuperblock's request for N bytes failed. VG_(get_memory_from_mmap): M bytes already allocated. with various values for N and M. I've just committed some code to print more information when this happens. If you three are still having this problem, can you try the latest code in the repository (see http://www.valgrind.org/devel/cvs_svn.html) and send the results? That might make it more obvious what it happening. Thanks. Nick |
|
From: <sv...@va...> - 2005-08-18 16:40:37
|
Author: njn
Date: 2005-08-18 17:40:23 +0100 (Thu, 18 Aug 2005)
New Revision: 4448
Log:
Make show_segments() public, and use it when VG_(get_memory_from_mmap)()
fails. This might help debugging.
Modified:
trunk/coregrind/m_aspacemgr/aspacemgr.c
trunk/coregrind/m_libcmman.c
trunk/coregrind/pub_core_aspacemgr.h
Modified: trunk/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
--- trunk/coregrind/m_aspacemgr/aspacemgr.c 2005-08-18 15:49:21 UTC (rev =
4447)
+++ trunk/coregrind/m_aspacemgr/aspacemgr.c 2005-08-18 16:40:23 UTC (rev =
4448)
@@ -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: trunk/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
--- trunk/coregrind/m_libcmman.c 2005-08-18 15:49:21 UTC (rev 4447)
+++ trunk/coregrind/m_libcmman.c 2005-08-18 16:40:23 UTC (rev 4448)
@@ -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: trunk/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
--- trunk/coregrind/pub_core_aspacemgr.h 2005-08-18 15:49:21 UTC (rev 444=
7)
+++ trunk/coregrind/pub_core_aspacemgr.h 2005-08-18 16:40:23 UTC (rev 444=
8)
@@ -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
|