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
(9) |
2
(16) |
|
3
(9) |
4
(8) |
5
(9) |
6
(10) |
7
(14) |
8
(10) |
9
(7) |
|
10
(14) |
11
(19) |
12
(22) |
13
(18) |
14
(20) |
15
(10) |
16
(12) |
|
17
(13) |
18
(7) |
19
(12) |
20
(13) |
21
(9) |
22
(12) |
23
(6) |
|
24
(5) |
25
(5) |
26
(6) |
27
(7) |
28
(9) |
29
(13) |
30
(21) |
|
From: Josef W. <Jos...@gm...> - 2006-09-20 23:35:53
|
On Thursday 21 September 2006 01:14, Julian Seward wrote:
>
> > __NR_fork is defined somewhere in coregrind/, but I can not include it from
> > there. Using "#include <sys/syscall.h>" works however. I hope this is fine
> > from a VG tool.
>
> Urk, I prefer not.
>
> I plan shortly to merge into the trunk, some structural changes, one
> of which would properly move all the kernel interface stuff into a
> standard module 'vki' (so we would have pub_{core,tool}_vki.h) and
> all the syscall numbers into another module 'vkiscnums', so you
> would have pub_{core,tool}_vkiscnums.h. So then you could #include
> pub_tool_vkiscnums.h to get __NR_fork.
>
> This won't happen in the 3.2 branch though. I am happy to push your
> fix r6082 into 3.2.2,
Good. If someone wants to clear costs after fork, there is a workaround:
it is always possible to do a client request (CALLGRIND_ZERO_STATS) in
the code directly after fork in the child. This will miss a few instructions,
but that should be neglectable for profiling.
> but I think a complete solution to the fork
> will have to be in 3.3.X.
Fine with me. I'll keep the bug open.
> > > I'm sure the PRE(sys_clone) functions have some magic stuff
> > > to handle this.
> >
> > Not sure what to do here.
> > I can check for __NR_clone, but how to get the clone flags parameter in
> > the wrapper?
>
> I'm not sure that the scheme of having the tool inspect syscalls
> to detect fork() is going to work cleanly. This is because different
> platforms use different syscalls to do fork, eg Linux does sys_fork
> and sometimes sys_clone, but AIX only does sys_fork, and we don't
> want to force tools to have platform-specific handling like that.
>
> Maybe a better solution is to add to the core-tool interface a
> 'fork-is-happening-now' event which tools can ask to see. Then
> only the core needs to be able to detect fork-like syscalls.
Yes. I would prefer such a "cleanup_tool_state_after_fork" hook.
BTW, cachegrind/massif also should have this kind of "problem", or?
Josef
>
> Nick, is that viable from a core-tool-iface-supremo point of view?
>
> J
>
>
|
|
From: Josef W. <Jos...@gm...> - 2006-09-20 23:15:25
|
Followup:
The following does _not_ work to catch the child after fork:
void CLG_(post_syscall)(ThreadId tid, UInt syscallno, SysRes res)
{
/* if we are in the child after a fork, zero costs */
if ((syscallno == __NR_fork) &&
(res.isError == False) &&
(res.val == 0)) {
if (VG_(clo_verbosity > 1)) {
VG_(message)(Vg_UserMsg,
"Zeroing costs in child after fork.");
}
CLG_(zero_all_cost)(False);
}
}
I can see with --trace-syscalls=yes that a glibc fork()
actually is doing a clone here on Suse 10.1 :-(
Josef
|
|
From: Julian S. <js...@ac...> - 2006-09-20 23:14:32
|
> __NR_fork is defined somewhere in coregrind/, but I can not include it from
> there. Using "#include <sys/syscall.h>" works however. I hope this is fine
> from a VG tool.
Urk, I prefer not.
I plan shortly to merge into the trunk, some structural changes, one
of which would properly move all the kernel interface stuff into a
standard module 'vki' (so we would have pub_{core,tool}_vki.h) and
all the syscall numbers into another module 'vkiscnums', so you
would have pub_{core,tool}_vkiscnums.h. So then you could #include
pub_tool_vkiscnums.h to get __NR_fork.
This won't happen in the 3.2 branch though. I am happy to push your
fix r6082 into 3.2.2, but I think a complete solution to the fork
will have to be in 3.3.X.
> > I'm sure the PRE(sys_clone) functions have some magic stuff
> > to handle this.
>
> Not sure what to do here.
> I can check for __NR_clone, but how to get the clone flags parameter in
> the wrapper?
I'm not sure that the scheme of having the tool inspect syscalls
to detect fork() is going to work cleanly. This is because different
platforms use different syscalls to do fork, eg Linux does sys_fork
and sometimes sys_clone, but AIX only does sys_fork, and we don't
want to force tools to have platform-specific handling like that.
Maybe a better solution is to add to the core-tool interface a
'fork-is-happening-now' event which tools can ask to see. Then
only the core needs to be able to detect fork-like syscalls.
Nick, is that viable from a core-tool-iface-supremo point of view?
J
|
|
From: Josef W. <Jos...@gm...> - 2006-09-20 22:56:30
|
On Thursday 21 September 2006 00:16, Julian Seward wrote: > On Wednesday 20 September 2006 23:00, Nicholas Nethercote wrote: > > On Wed, 20 Sep 2006, Josef Weidendorfer wrote: > > > There is a thread creation hook, but that is useless in this case. Or is > > > there a possibility to hook into a system call? > > > > Yes. See VG_(needs_syscall_wrapper) in include/pub_tool_tooliface.h. > > You should be able to compare the syscall_num against __NR_fork. If future > > OSes have fork() calls with different names, I'm not sure how best to > > handle it. Nick, thanks. __NR_fork is defined somewhere in coregrind/, but I can not include it from there. Using "#include <sys/syscall.h>" works however. I hope this is fine from a VG tool. > > In particular, doesn't Linux sometimes use clone with certain parameters > as fork() ? I suppose so, too. > I'm sure the PRE(sys_clone) functions have some magic stuff > to handle this. Not sure what to do here. I can check for __NR_clone, but how to get the clone flags parameter in the wrapper? > Josef - can you think of a way to make a regression test case for this > bug (134316)? It would be nice to have one. In verbose mode, I can print a message when callgrind zeroes the cost when detecting to be in the child after fork. This output can be checked in the regression together with a code which does a fork, or? > This is the kind of fix it > is easy to break later and not notice for a long time :-( Yes. Josef > > J > > |
|
From: Julian S. <js...@ac...> - 2006-09-20 22:17:09
|
On Wednesday 20 September 2006 23:00, Nicholas Nethercote wrote: > On Wed, 20 Sep 2006, Josef Weidendorfer wrote: > > There is a thread creation hook, but that is useless in this case. Or is > > there a possibility to hook into a system call? > > Yes. See VG_(needs_syscall_wrapper) in include/pub_tool_tooliface.h. > You should be able to compare the syscall_num against __NR_fork. If future > OSes have fork() calls with different names, I'm not sure how best to > handle it. In particular, doesn't Linux sometimes use clone with certain parameters as fork() ? I'm sure the PRE(sys_clone) functions have some magic stuff to handle this. Josef - can you think of a way to make a regression test case for this bug (134316)? It would be nice to have one. This is the kind of fix it is easy to break later and not notice for a long time :-( J |
|
From: Nicholas N. <nj...@cs...> - 2006-09-20 22:01:00
|
On Wed, 20 Sep 2006, Josef Weidendorfer wrote: > There is a thread creation hook, but that is useless in this case. Or is > there a possibility to hook into a system call? Yes. See VG_(needs_syscall_wrapper) in include/pub_tool_tooliface.h. You should be able to compare the syscall_num against __NR_fork. If future OSes have fork() calls with different names, I'm not sure how best to handle it. Nick |
|
From: Josef W. <Jos...@gm...> - 2006-09-20 21:40:12
|
Regarding this commit: Christoph, can you check it this is working for you? Julian, this is probably a candidate for backporting; I want to wait for Christoph's confirmation, but more important: The cost counters probably should be zero in the child after a fork() - otherwise, the profile costs of the parent before the fork will appear attributed to the child. I am not really sure about the best way how to do this in. There is a thread creation hook, but that is useless in this case. Or is there a possibility to hook into a system call? Josef |
|
From: <sv...@va...> - 2006-09-20 21:29:48
|
Author: weidendo
Date: 2006-09-20 22:29:39 +0100 (Wed, 20 Sep 2006)
New Revision: 6082
Log:
Callgrind: fix interactive control after fork()
This fixes bug 134316: when an program in callgrind does
a fork, callgrind_control does show both now, and they
can be controlled separately.
However, missing in this patch is zeroing of cost centers
directly after the clone syscall in the child.
Modified:
trunk/callgrind/command.c
trunk/callgrind/dump.c
trunk/callgrind/global.h
trunk/callgrind/main.c
Modified: trunk/callgrind/command.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/callgrind/command.c 2006-09-19 13:29:36 UTC (rev 6081)
+++ trunk/callgrind/command.c 2006-09-20 21:29:39 UTC (rev 6082)
@@ -48,20 +48,35 @@
static Char* info_file =3D 0;
static Char* dump_base =3D 0;
=20
-static Bool command_inited =3D False;
+static Int thisPID =3D 0;
=20
-void CLG_(init_command)(Char* dir, Char* dumps)
+/**
+ * Setup for interactive control of a callgrind run
+ */
+static void setup_control(void)
{
- Int fd =3D -1, size;
+ Int fd, size;
SysRes res;
+ Char* dir, *dump_filename;
=20
- dump_base =3D dumps;
+ CLG_ASSERT(thisPID !=3D 0);
=20
+ fd =3D -1;
+ dir =3D CLG_(get_base_directory)();
+ dump_base =3D CLG_(get_dump_file_base)();
+
+ /* base name of dump files with PID ending */
+ size =3D VG_(strlen)(dump_base) + 10;
+ dump_filename =3D (char*) CLG_MALLOC(size);
+ CLG_ASSERT(dump_filename !=3D 0);
+ VG_(sprintf)(dump_filename, "%s.%d", dump_base, thisPID);
+
+ /* name of command file */
size =3D VG_(strlen)(dir) + VG_(strlen)(DEFAULT_COMMANDNAME) +10;
command_file =3D (char*) CLG_MALLOC(size);
CLG_ASSERT(command_file !=3D 0);
VG_(sprintf)(command_file, "%s/%s.%d",
- dir, DEFAULT_COMMANDNAME, VG_(getpid)());
+ dir, DEFAULT_COMMANDNAME, thisPID);
=20
/* This is for compatibility with the "Force Now" Button of current
* KCachegrind releases, as it doesn't use ".pid" to distinguish
@@ -76,7 +91,7 @@
result_file =3D (char*) CLG_MALLOC(size);
CLG_ASSERT(result_file !=3D 0);
VG_(sprintf)(result_file, "%s/%s.%d",
- dir, DEFAULT_RESULTNAME, VG_(getpid)());
+ dir, DEFAULT_RESULTNAME, thisPID);
=20
/* If we get a command from a command file without .pid, use
* a result file without .pid suffix
@@ -88,9 +103,10 @@
=20
info_file =3D (char*) CLG_MALLOC(VG_(strlen)(DEFAULT_INFONAME) + 10);
CLG_ASSERT(info_file !=3D 0);
- VG_(sprintf)(info_file, "%s.%d", DEFAULT_INFONAME, VG_(getpid)());
+ VG_(sprintf)(info_file, "%s.%d", DEFAULT_INFONAME, thisPID);
=20
- CLG_DEBUG(1, " dump file base: '%s'\n", dump_base);
+ CLG_DEBUG(1, "Setup for interactive control (PID: %d):\n", thisPID);
+ CLG_DEBUG(1, " dump file base: '%s'\n", dump_filename);
CLG_DEBUG(1, " command file: '%s'\n", command_file);
CLG_DEBUG(1, " result file: '%s'\n", result_file);
CLG_DEBUG(1, " info file: '%s'\n", info_file);
@@ -128,7 +144,7 @@
VG_(sprintf)(buf, "base: %s\n", dir);
VG_(write)(fd, (void*)buf, VG_(strlen)(buf));
=20
- VG_(sprintf)(buf, "dumps: %s\n", dump_base);
+ VG_(sprintf)(buf, "dumps: %s\n", dump_filename);
VG_(write)(fd, (void*)buf, VG_(strlen)(buf));
=20
VG_(sprintf)(buf, "control: %s\n", command_file);
@@ -149,8 +165,12 @@
VG_(write)(fd, "\n", 1);
VG_(close)(fd);
}
+}
=20
- command_inited =3D True;
+void CLG_(init_command)()
+{
+ thisPID =3D VG_(getpid)();
+ setup_control();
}
=20
void CLG_(finish_command)()
@@ -355,14 +375,31 @@
Char *cmdPos =3D 0, *cmdNextLine =3D 0;
Int fd, bytesRead =3D 0, do_kill =3D 0;
SysRes res;
+ Int currentPID;
+ static Int check_counter =3D 0;
=20
- if (!command_inited) return;
+ /* Check for PID change, i.e. whether we run as child after a fork.
+ * If yes, we setup interactive control for the new process
+ */
+ currentPID =3D VG_(getpid)();
+ if (thisPID !=3D currentPID) {
+ thisPID =3D currentPID;
+ setup_control();
+ }
=20
- /* toggle between 2 command files, with/without ".pid" postfix */
- current_command_file =3D (current_command_file =3D=3D command_file2)=
?=20
- command_file : command_file2;
- current_result_file =3D (current_command_file =3D=3D command_file2)=
?
- result_file2 : result_file; =20
+ /* Toggle between 2 command files, with/without ".pid" postfix
+ * (needed for compatibility with KCachegrind, which wants to trigge=
r
+ * a dump by writing into a command file without the ".pid" postfix=
)
+ */
+ check_counter++;
+ if (check_counter % 2) {
+ current_command_file =3D command_file;
+ current_result_file =3D result_file;
+ }
+ else {
+ current_command_file =3D command_file2;
+ current_result_file =3D result_file2;
+ }
=20
res =3D VG_(open)(current_command_file, VKI_O_RDONLY,0);
if (!res.isError) {
Modified: trunk/callgrind/dump.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/callgrind/dump.c 2006-09-19 13:29:36 UTC (rev 6081)
+++ trunk/callgrind/dump.c 2006-09-20 21:29:39 UTC (rev 6082)
@@ -32,15 +32,13 @@
#include <pub_tool_threadstate.h>
#include <pub_tool_libcfile.h>
=20
-/*------------------------------------------------------------*/
-/*--- Support for signal handlers and multi-threading ---*/
-/*------------------------------------------------------------*/
=20
/* Dump Part Counter */
static Int out_counter =3D 0;
=20
static Char* dump_file_base =3D 0;
static Char* base_directory =3D 0;
+static Bool dumps_initialized =3D False;
=20
/* Command */
static Char cmdbuf[BUF_LEN];
@@ -66,9 +64,16 @@
=20
Char* CLG_(get_dump_file_base)()
{
- return dump_file_base;
+ CLG_ASSERT(dumps_initialized);
+ return dump_file_base;
}
=20
+Char* CLG_(get_base_directory)()
+{
+ CLG_ASSERT(dumps_initialized);
+ return base_directory;
+}
+
/*------------------------------------------------------------*/
/*--- Output file related stuff ---*/
/*------------------------------------------------------------*/
@@ -1264,6 +1269,7 @@
FullCost sum =3D 0;
SysRes res;
=20
+ CLG_ASSERT(dumps_initialized);
CLG_ASSERT(filename !=3D 0);
=20
if (!CLG_(clo).combine_dumps) {
@@ -1641,10 +1647,20 @@
cmdbuf[size] =3D 0;
}
=20
-void CLG_(init_files)(Char** dir, Char** file)
+/*
+ * Set up file names for dump output: base_directory, dump_file_base
+ * The final filename of a dump is constructed at dump time from
+ * the PID, thread ID and dump counter.
+ *
+ * These always will contain a full absolute path.
+ * If no prefix is given (via option "--base=3D<prefix>"), the current
+ * working directory at program start is used, otherwise <prefix> can
+ * be relative to cwd or absolute.
+ */
+void CLG_(init_dumps)()
{
- Int size;
- SysRes res;
+ Int size;
+ SysRes res;
=20
if (!CLG_(clo).filename_base)
CLG_(clo).filename_base =3D DEFAULT_DUMPNAME;
@@ -1709,8 +1725,7 @@
}
if (!res.isError) VG_(close)( (Int)res.val );
=20
- *dir =3D base_directory;
- *file =3D filename;
+ init_cmdbuf();
=20
- init_cmdbuf();
+ dumps_initialized =3D True;
}
Modified: trunk/callgrind/global.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/callgrind/global.h 2006-09-19 13:29:36 UTC (rev 6081)
+++ trunk/callgrind/global.h 2006-09-20 21:29:39 UTC (rev 6082)
@@ -675,7 +675,7 @@
void CLG_(fini)(Int exitcode);
=20
/* from command.c */
-void CLG_(init_command)(Char* dir, Char* dumps);
+void CLG_(init_command)(void);
void CLG_(check_command)(void);
void CLG_(finish_command)(void);
=20
@@ -761,10 +761,10 @@
=20
/* from dump.c */
extern FullCost CLG_(total_cost);
-void CLG_(init_files)(Char** dir, Char** file);
+void CLG_(init_dumps)(void);
Char* CLG_(get_dump_file_base)(void);
+Char* CLG_(get_base_directory)(void);
=20
-
/*------------------------------------------------------------*/
/*--- Exported global variables ---*/
/*------------------------------------------------------------*/
Modified: trunk/callgrind/main.c
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D
--- trunk/callgrind/main.c 2006-09-19 13:29:36 UTC (rev 6081)
+++ trunk/callgrind/main.c 2006-09-20 21:29:39 UTC (rev 6082)
@@ -1028,8 +1028,6 @@
static
void CLG_(post_clo_init)(void)
{
- Char *dir =3D 0, *fname =3D 0;
-
VG_(clo_vex_control).iropt_unroll_thresh =3D 0;
VG_(clo_vex_control).guest_chase_thresh =3D 0;
=20
@@ -1042,8 +1040,8 @@
CLG_(clo).dump_line =3D True;
}
=20
- CLG_(init_files)(&dir,&fname);
- CLG_(init_command)(dir,fname);
+ CLG_(init_dumps)();
+ CLG_(init_command)();
=20
(*CLG_(cachesim).post_clo_init)();
=20
|
|
From: Tom H. <to...@co...> - 2006-09-20 02:46:06
|
Nightly build on dunsmere ( athlon, Fedora Core 5 ) started at 2006-09-20 03:30:06 BST Results unchanged from 24 hours ago Checking out valgrind source tree ... done Configuring valgrind ... done Building valgrind ... done Running regression tests ... failed Regression test results follow == 240 tests, 4 stderr failures, 1 stdout failure, 0 posttest failures == memcheck/tests/pointer-trace (stderr) memcheck/tests/stack_switch (stderr) memcheck/tests/x86/scalar (stderr) none/tests/mremap (stderr) none/tests/mremap2 (stdout) |
|
From: Tom H. <th...@cy...> - 2006-09-20 02:25:57
|
Nightly build on dellow ( x86_64, Fedora Core 5 ) started at 2006-09-20 03:10:08 BST Results unchanged from 24 hours ago Checking out valgrind source tree ... done Configuring valgrind ... done Building valgrind ... done Running regression tests ... failed Regression test results follow == 268 tests, 4 stderr failures, 1 stdout failure, 0 posttest failures == memcheck/tests/mempool (stderr) memcheck/tests/x86/scalar (stderr) memcheck/tests/xml1 (stderr) none/tests/mremap (stderr) none/tests/mremap2 (stdout) |
|
From: Tom H. <th...@cy...> - 2006-09-20 02:25:10
|
Nightly build on alvis ( i686, Red Hat 7.3 ) started at 2006-09-20 03:15:02 BST Results differ 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 /tmp/ccSK5qYY.s:4393: Error: no such instruction: `fisttpq -56(%ebp)' /tmp/ccSK5qYY.s:4513: Error: no such instruction: `fisttpq -56(%ebp)' /tmp/ccSK5qYY.s:4633: Error: no such instruction: `fisttpq -56(%ebp)' /tmp/ccSK5qYY.s:4753: Error: no such instruction: `fisttpq -56(%ebp)' /tmp/ccSK5qYY.s:4873: Error: no such instruction: `fisttpq -56(%ebp)' /tmp/ccSK5qYY.s:4993: Error: no such instruction: `fisttpq -56(%ebp)' /tmp/ccSK5qYY.s:5113: Error: no such instruction: `fisttpq -56(%ebp)' /tmp/ccSK5qYY.s:5233: Error: no such instruction: `fisttpq -56(%ebp)' make[5]: *** [insn_sse3.o] Error 1 rm insn_mmx.c insn_sse2.c insn_fpu.c insn_mmxext.c insn_sse.c insn_sse3.c insn_cmov.c insn_basic.c make[5]: Leaving directory `/tmp/valgrind.29213/valgrind/none/tests/x86' make[4]: *** [check-am] Error 2 make[4]: Leaving directory `/tmp/valgrind.29213/valgrind/none/tests/x86' make[3]: *** [check-recursive] Error 1 make[3]: Leaving directory `/tmp/valgrind.29213/valgrind/none/tests' make[2]: *** [check-recursive] Error 1 make[2]: Leaving directory `/tmp/valgrind.29213/valgrind/none' make[1]: *** [check-recursive] Error 1 make[1]: Leaving directory `/tmp/valgrind.29213/valgrind' make: *** [check] Error 2 ================================================= == 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 /tmp/ccR1zC2b.s:4393: Error: no such instruction: `fisttpq -56(%ebp)' /tmp/ccR1zC2b.s:4513: Error: no such instruction: `fisttpq -56(%ebp)' /tmp/ccR1zC2b.s:4633: Error: no such instruction: `fisttpq -56(%ebp)' /tmp/ccR1zC2b.s:4753: Error: no such instruction: `fisttpq -56(%ebp)' /tmp/ccR1zC2b.s:4873: Error: no such instruction: `fisttpq -56(%ebp)' /tmp/ccR1zC2b.s:4993: Error: no such instruction: `fisttpq -56(%ebp)' /tmp/ccR1zC2b.s:5113: Error: no such instruction: `fisttpq -56(%ebp)' /tmp/ccR1zC2b.s:5233: Error: no such instruction: `fisttpq -56(%ebp)' make[5]: *** [insn_sse3.o] Error 1 rm insn_mmx.c insn_sse2.c insn_fpu.c insn_mmxext.c insn_sse.c insn_sse3.c insn_cmov.c insn_basic.c make[5]: Leaving directory `/tmp/valgrind.29213/valgrind/none/tests/x86' make[4]: *** [check-am] Error 2 make[4]: Leaving directory `/tmp/valgrind.29213/valgrind/none/tests/x86' make[3]: *** [check-recursive] Error 1 make[3]: Leaving directory `/tmp/valgrind.29213/valgrind/none/tests' make[2]: *** [check-recursive] Error 1 make[2]: Leaving directory `/tmp/valgrind.29213/valgrind/none' make[1]: *** [check-recursive] Error 1 make[1]: Leaving directory `/tmp/valgrind.29213/valgrind' make: *** [check] Error 2 ================================================= == Difference between 24 hours ago and now == ================================================= *** old.short Wed Sep 20 03:19:55 2006 --- new.short Wed Sep 20 03:25:05 2006 *************** *** 7,16 **** Last 20 lines of verbose log follow echo ! /tmp/ccR1zC2b.s:4393: Error: no such instruction: `fisttpq -56(%ebp)' ! /tmp/ccR1zC2b.s:4513: Error: no such instruction: `fisttpq -56(%ebp)' ! /tmp/ccR1zC2b.s:4633: Error: no such instruction: `fisttpq -56(%ebp)' ! /tmp/ccR1zC2b.s:4753: Error: no such instruction: `fisttpq -56(%ebp)' ! /tmp/ccR1zC2b.s:4873: Error: no such instruction: `fisttpq -56(%ebp)' ! /tmp/ccR1zC2b.s:4993: Error: no such instruction: `fisttpq -56(%ebp)' ! /tmp/ccR1zC2b.s:5113: Error: no such instruction: `fisttpq -56(%ebp)' ! /tmp/ccR1zC2b.s:5233: Error: no such instruction: `fisttpq -56(%ebp)' make[5]: *** [insn_sse3.o] Error 1 --- 7,16 ---- Last 20 lines of verbose log follow echo ! /tmp/ccSK5qYY.s:4393: Error: no such instruction: `fisttpq -56(%ebp)' ! /tmp/ccSK5qYY.s:4513: Error: no such instruction: `fisttpq -56(%ebp)' ! /tmp/ccSK5qYY.s:4633: Error: no such instruction: `fisttpq -56(%ebp)' ! /tmp/ccSK5qYY.s:4753: Error: no such instruction: `fisttpq -56(%ebp)' ! /tmp/ccSK5qYY.s:4873: Error: no such instruction: `fisttpq -56(%ebp)' ! /tmp/ccSK5qYY.s:4993: Error: no such instruction: `fisttpq -56(%ebp)' ! /tmp/ccSK5qYY.s:5113: Error: no such instruction: `fisttpq -56(%ebp)' ! /tmp/ccSK5qYY.s:5233: Error: no such instruction: `fisttpq -56(%ebp)' make[5]: *** [insn_sse3.o] Error 1 |
|
From: Tom H. <th...@cy...> - 2006-09-20 02:20:00
|
Nightly build on lloyd ( x86_64, Fedora Core 3 ) started at 2006-09-20 03:05:07 BST Results unchanged from 24 hours ago Checking out valgrind source tree ... done Configuring valgrind ... done Building valgrind ... done Running regression tests ... failed Regression test results follow == 268 tests, 6 stderr failures, 2 stdout failures, 0 posttest failures == memcheck/tests/leakotron (stdout) memcheck/tests/mempool (stderr) memcheck/tests/pointer-trace (stderr) memcheck/tests/stack_switch (stderr) memcheck/tests/x86/scalar (stderr) memcheck/tests/x86/scalar_supp (stderr) none/tests/mremap (stderr) none/tests/mremap2 (stdout) |
|
From: Tom H. <th...@cy...> - 2006-09-20 02:16:29
|
Nightly build on gill ( x86_64, Fedora Core 2 ) started at 2006-09-20 03:00:03 BST Results unchanged from 24 hours ago Checking out valgrind source tree ... done Configuring valgrind ... done Building valgrind ... done Running regression tests ... failed Regression test results follow == 270 tests, 6 stderr failures, 1 stdout failure, 0 posttest failures == memcheck/tests/mempool (stderr) memcheck/tests/stack_switch (stderr) memcheck/tests/x86/scalar (stderr) memcheck/tests/x86/scalar_supp (stderr) none/tests/fdleak_fcntl (stderr) none/tests/mremap (stderr) none/tests/mremap2 (stdout) |