|
From: <sv...@va...> - 2008-06-15 13:04:46
|
Author: cerion
Date: 2008-06-15 14:04:52 +0100 (Sun, 15 Jun 2008)
New Revision: 437
Log:
- Update supported Valgrind version: >=3.3.0
- reverse r423,424 - complete backwards compatibility is unmaintainable.
- Update supported valgrind flags:
+ --child-silent-after-fork=no|yes omit child output between fork & exec
- --log-file=<file> log messages to <file>.<pid>
- --log-file-exactly=<file> log messages to <file>
- --log-file-qualifier=<VAR> incorporate $VAR in logfile name [none]
+ --log-file=<file> log messages to <file>
Modified:
trunk/configure.in
trunk/doc/introduction.html
trunk/doc/vg-manual-core.html
trunk/doc/xml/introduction.xml
trunk/valkyrie/core/memcheck_object.cpp
trunk/valkyrie/core/valgrind_object.cpp
trunk/valkyrie/core/valgrind_object.h
trunk/valkyrie/core/valkyrie_object.cpp
trunk/valkyrie/help/html_urls.cpp
trunk/valkyrie/help/html_urls.h
trunk/valkyrie/options/valgrind_options_page.cpp
trunk/valkyrie/vk_utils.cpp
trunk/valkyrie/vk_utils.h
Modified: trunk/configure.in
===================================================================
--- trunk/configure.in 2008-06-14 20:30:51 UTC (rev 436)
+++ trunk/configure.in 2008-06-15 13:04:52 UTC (rev 437)
@@ -49,8 +49,9 @@
AC_MSG_WARN([Valgrind not found: may be configured at runtime.])
else
# Valgrind found: check is ok
- AC_MSG_CHECKING([valgrind version (need >= 3.0.0)])
- VG_VERSION_MAJOR_MIN=3
+ AC_MSG_CHECKING([valgrind version (need >= 3.3.0)])
+ VG_VERSION_MIN1=3
+ VG_VERSION_MIN2=3
VG_VERSION=`$VALGRIND --version | sed "s/^valgrind-//"`
if test x"$VG_VERSION" = x; then
# failed to start valgrind
@@ -58,10 +59,12 @@
VALGRIND=""
else
AC_MSG_RESULT([$VG_VERSION])
- VG_VERSION_MAJOR=`echo $VG_VERSION | sed "s/^\([[0-9\]]*\)\..*/\1/"`
- if test $VG_VERSION_MAJOR -lt $VG_VERSION_MAJOR_MIN ; then
+ VG_VERSION_1=`echo $VG_VERSION | sed "s/^\([[0-9]]\+\)\..*/\1/"`
+ VG_VERSION_2=`echo $VG_VERSION | sed "s/^[[0-9]]\+\.\([[0-9]]\+\)\..*/\1/"`
+ if { test $VG_VERSION_1 -lt $VG_VERSION_MIN1 || \
+ test $VG_VERSION_2 -lt $VG_VERSION_MIN2; }; then
VALGRIND=""
- AC_MSG_WARN([Not configuring for valgrind: need minimum version of 3.0.0. Please configure with a more recent version of Valgrind (may be done at runtime).])
+ AC_MSG_WARN([Not configuring for valgrind: need minimum version of 3.3.0. Please configure with a more recent version of Valgrind (may be done at runtime).])
fi
fi
fi
Modified: trunk/doc/introduction.html
===================================================================
--- trunk/doc/introduction.html 2008-06-14 20:30:51 UTC (rev 436)
+++ trunk/doc/introduction.html 2008-06-15 13:04:52 UTC (rev 437)
@@ -37,15 +37,15 @@
<div></div>
</div>
<p>Valkyrie is a graphical front-end to the Valgrind suite of tools for
-debugging and profiling Linux executables. Valgrind versions from 3.0.0
-(the first release to output XML) are supported. Currently, the
-only supported Valgrind tool is Memcheck.</p>
+debugging and profiling Linux executables. The current version supports
+Valgrind from version 3.3.0. Currently, the only supported Valgrind tool
+is Memcheck.</p>
<p>Valkyrie uses the Qt widget library, and should run on most reasonably
recent Linux setups. The only sine qua non is that you must have:</p>
<div class="itemizedlist"><ul type="bullet">
<li style="list-style-type: disc"><p>Qt v.3.2.0 or higher (but not Qt v.4 as yet),
and</p></li>
-<li style="list-style-type: disc"><p>Valgrind v.3.0.0 or higher.</p></li>
+<li style="list-style-type: disc"><p>Valgrind v.3.3.0 or higher.</p></li>
</ul></div>
<p>Valkyrie also contains a program <span><b class="command">vk_logmerge</b></span>.
Given multiple log files (in xml format) generated by multiple runs on
Modified: trunk/doc/vg-manual-core.html
===================================================================
--- trunk/doc/vg-manual-core.html 2008-06-14 20:30:51 UTC (rev 436)
+++ trunk/doc/vg-manual-core.html 2008-06-15 13:04:52 UTC (rev 437)
@@ -588,6 +588,14 @@
disabled by default.</p>
</li>
<li>
+<p><a name="silent_child"></a><code class="computeroutput">--child-silent-after-fork=yes</code>
+ [default]</p>
+<p><code class="computeroutput">--child-silent-after-fork=yes</code></p>
+<p>When enabled, Valgrind will omit child output between fork
+ and exec. This is normally disabled in Valgrind, but it
+ must be enabled for clean XML, which Valkyrie requires.</p>
+</li>
+<li>
<p><a name="track_fds"></a><code class="computeroutput">--track-fds=no</code> [default]</p>
<p><code class="computeroutput">--track-fds=yes</code></p>
<p>When enabled, Valgrind will print out a list of open
@@ -613,33 +621,13 @@
interfere with the client's own use of stderr.</p>
</li>
<li>
-<p><a name="log2file_pid"></a><code class="computeroutput">--log-file=<filename></code></p>
-<p>Specifies that Valgrind should send all of its messages
- to the specified file. In fact, the file name used is
- created by concatenating the text
- <code class="computeroutput">filename</code>, "." and the
- process ID, so as to create a file per process. The
- specified file name may not be the empty string.</p>
+<p><a name="log2file"></a><code class="computeroutput">--log-file=<filename></code></p>
+<p>Specifies that Valgrind should send all of its messages to
+ the specified file. The specified file name may not be an
+ empty string. If you trace multiple processes with Valgrind
+ when using this option the log file may get all messed up.
</li>
<li>
-<p><a name="log2file"></a><code class="computeroutput">--log-file-exactly=<filename></code></p>
-<p>Just like <code class="computeroutput">--log-file</code>, but
- the "." suffix is not added. If you trace multiple processes
- with Valgrind when using this option the log file may get all messed
- up.
- </p>
-</li>
-<li>
-<p><a name="log2file_qualifier"></a><code class="computeroutput">--log-file-qualifer=<VAR></code></p>
-<p>When used in conjunction with
- <code class="computeroutput">--log-file=</code>, causes the log file
- name to be qualified using the contents of environment variable
- <code class="computeroutput">VAR</code>. This is useful when running
- MPI programs.
- For further details, see <a href="manual-core.html#manual-core.comment">The commentary</a>.
- </p>
-</li>
-<li>
<p><a name="log2socket"></a><code class="computeroutput">--log-socket=<ip-address:port-number></code></p>
<p>Specifies that Valgrind should send all of its messages
to the specified port at the specified IP address. The port
Modified: trunk/doc/xml/introduction.xml
===================================================================
--- trunk/doc/xml/introduction.xml 2008-06-14 20:30:51 UTC (rev 436)
+++ trunk/doc/xml/introduction.xml 2008-06-15 13:04:52 UTC (rev 437)
@@ -9,16 +9,16 @@
<title>An Overview of Valkyrie</title>
<para>Valkyrie is a graphical front-end to the Valgrind suite of tools for
-debugging and profiling Linux executables. Valgrind versions from 3.0.0
-(the first release to output XML) are supported. Currently, the
-only supported Valgrind tool is Memcheck.</para>
+debugging and profiling Linux executables. The current version supports
+Valgrind from version 3.3.0. Currently, the only supported Valgrind tool
+is Memcheck.</para>
<para>Valkyrie uses the Qt widget library, and should run on most reasonably
recent Linux setups. The only sine qua non is that you must have:</para>
<itemizedlist mark='bullet'>
<listitem><para>Qt v.3.2.0 or higher (but not Qt v.4 as yet),
and</para></listitem>
- <listitem><para>Valgrind v.3.0.0 or higher.</para></listitem>
+ <listitem><para>Valgrind v.3.3.0 or higher.</para></listitem>
</itemizedlist>
Modified: trunk/valkyrie/core/memcheck_object.cpp
===================================================================
--- trunk/valkyrie/core/memcheck_object.cpp 2008-06-14 20:30:51 UTC (rev 436)
+++ trunk/valkyrie/core/memcheck_object.cpp 2008-06-15 13:04:52 UTC (rev 437)
@@ -333,38 +333,15 @@
{
m_saveFname = vk_mkstemp( QString( VK_LOGS_DIR ) + "mc_log", "xml" );
vk_assert( !m_saveFname.isEmpty() );
-
- /* check valgrind version:
- - supported version
- - version dependent code
- */
- int v1=0, v2=0, v3=0;
- bool ok = Valgrind::getVersionBinary( vgflags.first(), v1, v2, v3 );
- if ( !ok ) {
- vkError( view(), "Valgrind start error",
- "Failure running valgrind version test" );
- } else {
- // valgrind version dependent code
- QString log_param;
-
- if ( v1 == 3 && v2 < 3 ) { // < 3.3.0
- log_param = "--log-file-exactly=";
- } else { // >= 3.3.0
- log_param = "--log-file=";
- }
- log_param += m_saveFname;
-
- vgflags.insert( ++(vgflags.begin()), log_param );
- }
-
- if ( ok ) {
- setRunState( VkRunState::VALGRIND );
- m_fileSaved = false;
- statusMsg( "Memcheck", "Running ... " );
-
- ok = startProcess( vgflags );
- }
+ vgflags.insert( ++(vgflags.begin()), ("--log-file=" + m_saveFname) );
+
+ setRunState( VkRunState::VALGRIND );
+ m_fileSaved = false;
+ statusMsg( "Memcheck", "Running ... " );
+
+ bool ok = startProcess( vgflags );
+
if (!ok) {
statusMsg( "Memcheck", "Failed" );
m_fileSaved = true;
Modified: trunk/valkyrie/core/valgrind_object.cpp
===================================================================
--- trunk/valkyrie/core/valgrind_object.cpp 2008-06-14 20:30:51 UTC (rev 436)
+++ trunk/valkyrie/core/valgrind_object.cpp 2008-06-15 13:04:52 UTC (rev 437)
@@ -56,8 +56,14 @@
"valgrind", '\0', "trace-children",
"<yes|no>", "yes|no", "no",
"Trace child processes: ",
- "Valgrind-ise child processes?",
+ "Valgrind-ise child processes (follow execve)?",
urlVgCore::traceChild );
+ addOpt( SILENT_CH, VkOPTION::ARG_BOOL, VkOPTION::WDG_CHECK,
+ "valgrind", '\0', "child-silent-after-fork",
+ "<yes|no>", "yes|no", "yes", /* currently necessary for clean XML output */
+ "Omit child output between fork and exec: ",
+ "omit child output between fork & exec?",
+ urlVgCore::silentChild );
addOpt( TRACK_FDS, VkOPTION::ARG_BOOL, VkOPTION::WDG_CHECK,
"valgrind", '\0', "track-fds",
"<yes|no>", "yes|no", "no",
@@ -76,23 +82,12 @@
"Log to file descriptor:",
"log messages to file descriptor (1=stdout, 2=stderr)",
urlVgCore::logToFd );
- addOpt( LOG_PID, VkOPTION::ARG_STRING, VkOPTION::WDG_LEDIT,
- "valgrind", '\0', "log-file",
+ addOpt( LOG_FILE, VkOPTION::ARG_STRING, VkOPTION::WDG_LEDIT,
+ "valgrind", '\0', "log-file",
"<file>", "", "",
- "Log to <file>.pid<pid>:",
- "Log messages to <file>.pid<pid>",
- urlVgCore::logToFilePid );
- addOpt( LOG_FILE, VkOPTION::ARG_STRING, VkOPTION::WDG_LEDIT,
- "valgrind", '\0', "log-file-exactly",
- "<file>", "", "",
"Log to file:",
"log messages to <file>",
urlVgCore::logToFile );
- addOpt( LOG_QUAL, VkOPTION::ARG_STRING, VkOPTION::WDG_NONE,
- "valgrind", '\0', "log-file-qualifier",
- "VAR", "", "",
- "<VAR>", "incorporate $VAR in logfile name",
- urlVgCore::logFileQual );
addOpt( LOG_SOCKET, VkOPTION::ARG_STRING, VkOPTION::WDG_LEDIT,
"valgrind", '\0', "log-socket",
"<ipaddr:port>", "", "",
@@ -326,6 +321,13 @@
#endif
} break;
+ case SILENT_CH: {
+ /* Disabled for now - output between fork and exec is confusing for the XML output */
+ /* Note: Also disabled in ValgrindOptionsPage() */
+ errval = PERROR_BADOPT;
+ vkPrintErr("Option disabled '--%s'", opt->m_longFlag.latin1());
+ vkPrintErr(" - Necessary, to get clean XML output from Valgrind.");
+ } break;
case XML_OUTPUT:
/* Note: gui option disabled, so only reaches here from cmdline */
@@ -362,8 +364,6 @@
all logging options are therefore ignored */
case LOG_FILE:
case LOG_FD:
- case LOG_PID:
- case LOG_QUAL:
case LOG_SOCKET:
/* Note: gui options disabled, so only reaches here from cmdline */
errval = PERROR_BADOPT;
@@ -431,6 +431,15 @@
modFlags << "--" + opt->cfgKey() + "=" + cfgVal;
break;
+ /* for memcheck we needs this enabled to keep the xml clean */
+ case SILENT_CH:
+ if ( tool_obj->name() == "memcheck")
+ modFlags << "--" + opt->cfgKey() + "=yes";
+ else
+ if ( defVal != cfgVal )
+ modFlags << "--" + opt->cfgKey() + "=" + cfgVal;
+ break;
+
case VERBOSITY:
case TRACK_FDS:
case TIME_STAMP:
@@ -455,8 +464,6 @@
all logging options should therefore not be used */
case LOG_FILE:
case LOG_FD:
- case LOG_PID:
- case LOG_QUAL:
case LOG_SOCKET:
/* ignore these opts */
break;
@@ -474,63 +481,6 @@
-/* Get valgrind version */
-bool Valgrind::getVersionBinary( QString& vg_bin, int& v1, int& v2, int& v3 )
-{
- bool ok = true;
- QString vg_version;
-
- QString exec = vg_bin + " --version | sed 's/^valgrind-//'";
- FILE* fd = popen( exec.latin1(), "r");
- if (!fd) { // start error?
- perror("popen");
- ok = false;
- vkPrintErr( "Valgrind start error: Failure starting valgrind version test" );
- } else {
- char buf[1024];
- fgets(buf, sizeof(buf), fd);
- vg_version = buf;
- vg_version = vg_version.left( vg_version.length() - 1 );
-
- int result = pclose(fd);
- if ( !WIFEXITED( result ) ) { // exit error?
- ok = false;
- vkPrintErr( "Valgrind start error: Failure running valgrind version test" );
- }
- }
-
- if ( ok ) {
- // parse valgrind version
- QStringList slst_vg_ver = QStringList::split( '.', vg_version );
- if ( slst_vg_ver.count() != 3 ) {
- ok = false;
- }
- if ( ok ) {
- v1 = slst_vg_ver[0].toUInt( &ok );
- }
- if ( ok ) {
- v2 = slst_vg_ver[1].toUInt( &ok );
- }
- if ( ok ) {
- v3 = slst_vg_ver[2].toUInt( &ok );
- }
- if ( !ok ) {
- vkPrintErr( "Valgrind start error: Failure reading valgrind version: '%s'",
- vg_version.latin1() );
- } else {
- // check version supported
- if ( v1 < 3 ) { // < 3.0.0: unsupported
- ok = false;
- vkPrintErr( "Valgrind start error: Unsupported version: %s < 3.0.0",
- vg_version.latin1() );
- }
- }
- }
- return ok;
-}
-
-
-
/* Register tools */
void Valgrind::initToolObjects()
{
Modified: trunk/valkyrie/core/valgrind_object.h
===================================================================
--- trunk/valkyrie/core/valgrind_object.h 2008-06-14 20:30:51 UTC (rev 436)
+++ trunk/valkyrie/core/valgrind_object.h 2008-06-15 13:04:52 UTC (rev 437)
@@ -36,12 +36,11 @@
/* common options relevant to all tools */
VERBOSITY, // --verbosity
TRACE_CH, // --trace-children
+ SILENT_CH, // --child-silent-after-fork
TRACK_FDS, // --track-fds
TIME_STAMP, // --time-stamp
LOG_FD, // --log-fd
- LOG_PID, // --log-file
- LOG_FILE, // --log-file-exactly
- LOG_QUAL, // --log-file-qualifier
+ LOG_FILE, // --log-file
LOG_SOCKET, // --log-socket
/* uncommon options relevant to all tools */
@@ -85,9 +84,6 @@
ToolObject* toolObj( int tid );
ToolObject* toolObj( const QString& name );
- /* Get valgrind version */
- static bool getVersionBinary( QString& vg_bin, int& v1, int& v2, int& v3 );
-
private:
/* creates the various VkObjects and initialises their options,
ready for cmd-line parsing (if any). */
Modified: trunk/valkyrie/core/valkyrie_object.cpp
===================================================================
--- trunk/valkyrie/core/valkyrie_object.cpp 2008-06-14 20:30:51 UTC (rev 436)
+++ trunk/valkyrie/core/valkyrie_object.cpp 2008-06-15 13:04:52 UTC (rev 437)
@@ -24,7 +24,10 @@
#include <qapplication.h>
+ // Minimum version of Valgrind required
+const char* pchVersionVgMin = "3.3.0";
+
/* class Valkyrie --------------------------------------------------- */
Valkyrie:: ~Valkyrie()
{
@@ -195,14 +198,25 @@
return PERROR_BADFILE;
}
fgets( line, sizeof(line), fp );
- pclose(fp);
+ int result = pclose(fp);
+ if ( !WIFEXITED( result ) ) { // cmd exit error?
+ return PERROR_BADFILE;
+ }
+
QString vg_version = QString(line).simplifyWhiteSpace();
- if ( !vg_version.startsWith("valgrind") )
+ if ( !vg_version.startsWith("valgrind") ) {
return PERROR_BADFILE;
+ }
/* compare with minimum req'd version: */
- if ( str2hex(vg_version) < str2hex("3.0.0") )
+ int versionVg = strVersion2hex( vg_version );
+ int versionVgReqd = strVersion2hex( pchVersionVgMin );
+ if ( versionVg == -1 || versionVgReqd == -1) {
+ return PERROR_BADFILE;
+ }
+ if ( versionVg < versionVgReqd ) {
return PERROR_BADVERSION;
+ }
/* looking good... */
} break;
Modified: trunk/valkyrie/help/html_urls.cpp
===================================================================
--- trunk/valkyrie/help/html_urls.cpp 2008-06-14 20:30:51 UTC (rev 436)
+++ trunk/valkyrie/help/html_urls.cpp 2008-06-15 13:04:52 UTC (rev 437)
@@ -71,6 +71,7 @@
const char* mainTool = "vg-manual-core.html#tool_name";
const char* verbosity = "vg-manual-core.html#verbosity";
const char* traceChild = "vg-manual-core.html#trace_children";
+ const char* silentChild = "vg-manual-core.html#silent_child";
const char* trackFds = "vg-manual-core.html#track_fds";
const char* timeStamp = "vg-manual-core.html#time_stamp";
const char* xmlOutput = "vg-manual-core.html#xml_output";
@@ -83,9 +84,7 @@
/* valgrind's options page: tab Error Reporting */
const char* logToFd = "vg-manual-core.html#log2fd";
- const char* logToFilePid = "vg-manual-core.html#log2file_pid";
const char* logToFile = "vg-manual-core.html#log2file";
- const char* logFileQual = "vg-manual-core.html#log2file_qualifier";
const char* logToSocket = "vg-manual-core.html#log2socket";
const char* autoDemangle = "vg-manual-core.html#auto_demangle";
const char* numCallers = "vg-manual-core.html#num_callers";
Modified: trunk/valkyrie/help/html_urls.h
===================================================================
--- trunk/valkyrie/help/html_urls.h 2008-06-14 20:30:51 UTC (rev 436)
+++ trunk/valkyrie/help/html_urls.h 2008-06-15 13:04:52 UTC (rev 437)
@@ -69,6 +69,7 @@
extern const char* xmlOutput;
extern const char* xmlComment;
extern const char* traceChild;
+ extern const char* silentChild;
extern const char* trackFds;
extern const char* timeStamp;
extern const char* freeGlibc;
@@ -87,10 +88,8 @@
extern const char* whichDebugger;
extern const char* inputFd;
extern const char* logToFd;
- extern const char* logToFilePid;
extern const char* logToFile;
extern const char* logToSocket;
- extern const char* logFileQual;
/* only used by Memcheck and Massif */
extern const char* Alignment;
}
Modified: trunk/valkyrie/options/valgrind_options_page.cpp
===================================================================
--- trunk/valkyrie/options/valgrind_options_page.cpp 2008-06-14 20:30:51 UTC (rev 436)
+++ trunk/valkyrie/options/valgrind_options_page.cpp 2008-06-15 13:04:52 UTC (rev 437)
@@ -55,7 +55,7 @@
QGroupBox* cgroup1 = new QGroupBox(" Common Options ", tabCore, "cgroup1");
core_vbox->addWidget( cgroup1, m_space );
/* tabCore - group box 1 - grid layout */
- int rows = 7;
+ int rows = 8;
int cols = 2;
QGridLayout* cgrid1 = new QGridLayout( cgroup1, rows, cols, m_margin, m_space );
#if (QT_VERSION-0 >= 0x030200)
@@ -73,6 +73,8 @@
optionWidget( Valgrind::XML_OUTPUT, cgroup1, false ) );
m_itemList.insert( Valgrind::TRACE_CH, /* checkbox */
optionWidget( Valgrind::TRACE_CH, cgroup1, false ) );
+ m_itemList.insert( Valgrind::SILENT_CH, /* checkbox */
+ optionWidget( Valgrind::SILENT_CH, cgroup1, false ) );
m_itemList.insert( Valgrind::TRACK_FDS, /* checkbox */
optionWidget( Valgrind::TRACK_FDS, cgroup1, false ) );
m_itemList.insert( Valgrind::TIME_STAMP, /* checkbox */
@@ -82,8 +84,9 @@
cgrid1->addLayout( m_itemList[Valgrind::VERBOSITY ]->hlayout(), 2, 0 );
cgrid1->addWidget( m_itemList[Valgrind::XML_OUTPUT]->widget(), 3, 0 );
cgrid1->addWidget( m_itemList[Valgrind::TRACE_CH ]->widget(), 4, 0 );
- cgrid1->addWidget( m_itemList[Valgrind::TRACK_FDS ]->widget(), 5, 0 );
- cgrid1->addWidget( m_itemList[Valgrind::TIME_STAMP]->widget(), 6, 0 );
+ cgrid1->addWidget( m_itemList[Valgrind::SILENT_CH ]->widget(), 5, 0 );
+ cgrid1->addWidget( m_itemList[Valgrind::TRACK_FDS ]->widget(), 6, 0 );
+ cgrid1->addWidget( m_itemList[Valgrind::TIME_STAMP]->widget(), 7, 0 );
/* tabCore - group box 2 */
@@ -133,7 +136,7 @@
QGroupBox* egroup1 = new QGroupBox( " Options ", tabErep, "egroup1" );
erep_vbox->addWidget( egroup1, m_space );
/* tabErep - group box 1 - grid layout */
- rows = 14; cols = 2;
+ rows = 13; cols = 2;
QGridLayout* egrid1 = new QGridLayout( egroup1, rows, cols, m_margin, m_space );
#if (QT_VERSION-0 >= 0x030200)
egrid1->setRowSpacing( 0, m_topSpace ); /* blank top row */
@@ -165,8 +168,6 @@
optionWidget( Valgrind::INPUT_FD, egroup1, true ) );
m_itemList.insert( Valgrind::LOG_FD, /* spinbox */
optionWidget( Valgrind::LOG_FD, egroup1, true ) );
- m_itemList.insert( Valgrind::LOG_PID, /* ledit */
- optionWidget(Valgrind::LOG_PID, egroup1, true ) );
m_itemList.insert( Valgrind::LOG_FILE, /* ledit */
optionWidget(Valgrind::LOG_FILE, egroup1, true ) );
m_itemList.insert( Valgrind::LOG_SOCKET, /* ledit */
@@ -195,9 +196,8 @@
hBox->addLayout( m_itemList[Valgrind::LOG_FD]->hlayout() );
egrid1->addLayout( hBox, 10, 0 );
//------------
- egrid1->addLayout( m_itemList[Valgrind::LOG_PID ]->hlayout(), 11, 0 );
- egrid1->addLayout( m_itemList[Valgrind::LOG_FILE ]->hlayout(), 12, 0 );
- egrid1->addLayout( m_itemList[Valgrind::LOG_SOCKET ]->hlayout(), 13, 0 );
+ egrid1->addLayout( m_itemList[Valgrind::LOG_FILE ]->hlayout(), 11, 0 );
+ egrid1->addLayout( m_itemList[Valgrind::LOG_SOCKET ]->hlayout(), 12, 0 );
erep_vbox->addStretch( m_space );
@@ -259,10 +259,8 @@
with this. */
// error reporting tab
m_itemList[Valgrind::LOG_FD ]->setEnabled( false );
- m_itemList[Valgrind::LOG_PID ]->setEnabled( false );
m_itemList[Valgrind::LOG_FILE ]->setEnabled( false );
m_itemList[Valgrind::LOG_SOCKET ]->setEnabled( false );
-// m_itemList[Valgrind::LOG_QUAL ]->setEnabled( false );
/* Disabled because Valkyrie always requires xml output from Valgrind */
m_itemList[Valgrind::XML_OUTPUT ]->setEnabled( false );
@@ -274,6 +272,10 @@
/* Note: Also disabled in Valgrind::checkOptArg() */
m_itemList[Valgrind::TRACE_CH ]->setEnabled( false );
+ /* Disabled - must be left on to generate clean XML */
+ /* Note: Also disabled in Valgrind::checkOptArg() */
+ m_itemList[Valgrind::SILENT_CH ]->setEnabled( false );
+
/* Disabled for now - not yet implemented */
m_itemList[Valgrind::INPUT_FD ]->setEnabled( false );
@@ -408,4 +410,3 @@
VG_CLO_MAX_SFILES );
}
}
-
Modified: trunk/valkyrie/vk_utils.cpp
===================================================================
--- trunk/valkyrie/vk_utils.cpp 2008-06-14 20:30:51 UTC (rev 436)
+++ trunk/valkyrie/vk_utils.cpp 2008-06-15 13:04:52 UTC (rev 437)
@@ -143,10 +143,10 @@
/* Version check -------------------------------------------------------
- Given version string of "major.minor.patch" (e.g. 3.0.0),
+ Given version string of "major.minor.patch" (e.g. 3.3.0),
hex version = (major << 16) + (minor << 8) + patch
*/
-int str2hex( QString ver_str )
+int strVersion2hex( QString ver_str )
{
QRegExp rxver(".*(\\d{1,2})\\.(\\d{1,2})\\.(\\d{1,2}).*");
if ( rxver.search( ver_str ) == -1)
Modified: trunk/valkyrie/vk_utils.h
===================================================================
--- trunk/valkyrie/vk_utils.h 2008-06-14 20:30:51 UTC (rev 436)
+++ trunk/valkyrie/vk_utils.h 2008-06-15 13:04:52 UTC (rev 437)
@@ -85,8 +85,8 @@
/* create a unique filename -------------------------------------------- */
QString vk_mkstemp( QString filepath, QString ext=QString::null );
-/* 3.0.5 --> 0x030005 -------------------------------------------------- */
-int str2hex( QString ver_str );
+/* "valgrind 3.0.5" --> 0x030005 --------------------------------------- */
+int strVersion2hex( QString ver_str );
/* escape html entities
* current list: '<', '>', '&' ----------------------------------------- */
|