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
(25) |
2
(25) |
3
(5) |
4
(13) |
|
5
(4) |
6
(8) |
7
(6) |
8
|
9
(10) |
10
(15) |
11
(9) |
|
12
(14) |
13
(10) |
14
(24) |
15
(41) |
16
(13) |
17
(9) |
18
(3) |
|
19
(10) |
20
(11) |
21
(28) |
22
(36) |
23
(52) |
24
(36) |
25
(12) |
|
26
(31) |
27
(27) |
28
(20) |
29
(15) |
30
(22) |
31
(17) |
|
|
From: <sv...@va...> - 2009-07-29 03:35:16
|
Author: njn
Date: 2009-07-29 04:34:56 +0100 (Wed, 29 Jul 2009)
New Revision: 10653
Log:
Don't include "how to write a tool" in the user manual -- it's in the tech
docs, and the chapter/section numbering doesn't match the rest of the
numbering in the user manual.
Also change some of the names of the links in that file to match the
filename.
Modified:
trunk/docs/xml/manual-writing-tools.xml
trunk/docs/xml/manual.xml
Modified: trunk/docs/xml/manual-writing-tools.xml
===================================================================
--- trunk/docs/xml/manual-writing-tools.xml 2009-07-29 02:36:21 UTC (rev 10652)
+++ trunk/docs/xml/manual-writing-tools.xml 2009-07-29 03:34:56 UTC (rev 10653)
@@ -4,17 +4,14 @@
[ <!ENTITY % vg-entities SYSTEM "vg-entities.xml"> %vg-entities; ]>
-<chapter id="writing-tools" xreflabel="Writing a New Valgrind Tool">
+<chapter id="manual-writing-tools" xreflabel="Writing a New Valgrind Tool">
<title>Writing a New Valgrind Tool</title>
-<sect1 id="writing-tools.intro" xreflabel="Introduction">
-<title>Introduction</title>
-
So you want to write a Valgrind tool? Here are some instructions that may
help.
-<sect2 id="writing-tools.tools" xreflabel="Tools">
-<title>Tools</title>
+<sect1 id="manual-writing-tools.intro" xreflabel="Introduction">
+<title>Introduction</title>
<para>The key idea behind Valgrind's architecture is the division
between its "core" and "tool plug-ins".</para>
@@ -33,16 +30,14 @@
certain services, or be notified when certain interesting events
occur. But the core takes care of all the hard work.</para>
-</sect2>
-
</sect1>
-<sect1 id="writing-tools.writingatool" xreflabel="Writing a Tool">
+<sect1 id="manual-writing-tools.writingatool" xreflabel="Writing a Tool">
<title>Writing a Tool</title>
-<sect2 id="writing-tools.howtoolswork" xreflabel="How tools work">
+<sect2 id="manual-writing-tools.howtoolswork" xreflabel="How tools work">
<title>How tools work</title>
<para>Tool plug-ins must define various functions for instrumenting programs
@@ -53,7 +48,7 @@
</sect2>
-<sect2 id="writing-tools.gettingcode" xreflabel="Getting the code">
+<sect2 id="manual-writing-tools.gettingcode" xreflabel="Getting the code">
<title>Getting the code</title>
<para>To write your own tool, you'll need the Valgrind source code. You'll
@@ -65,7 +60,7 @@
</sect2>
-<sect2 id="writing-tools.gettingstarted" xreflabel="Getting started">
+<sect2 id="manual-writing-tools.gettingstarted" xreflabel="Getting started">
<title>Getting started</title>
<para>Valgrind uses GNU <computeroutput>automake</computeroutput> and
@@ -186,7 +181,7 @@
-<sect2 id="writing-tools.writingcode" xreflabel="Writing the Code">
+<sect2 id="manual-writing-tools.writingcode" xreflabel="Writing the Code">
<title>Writing the code</title>
<para>A tool must define at least these four functions:</para>
@@ -211,7 +206,7 @@
-<sect2 id="writing-tools.init" xreflabel="Initialisation">
+<sect2 id="manual-writing-tools.init" xreflabel="Initialisation">
<title>Initialisation</title>
<para>Most of the initialisation should be done in
@@ -267,7 +262,7 @@
-<sect2 id="writing-tools.instr" xreflabel="Instrumentation">
+<sect2 id="manual-writing-tools.instr" xreflabel="Instrumentation">
<title>Instrumentation</title>
<para><function>instrument()</function> is the interesting one. It
@@ -286,7 +281,7 @@
-<sect2 id="writing-tools.fini" xreflabel="Finalisation">
+<sect2 id="manual-writing-tools.fini" xreflabel="Finalisation">
<title>Finalisation</title>
<para>This is where you can present the final results, such as a summary
@@ -297,7 +292,7 @@
-<sect2 id="writing-tools.otherinfo" xreflabel="Other Important Information">
+<sect2 id="manual-writing-tools.otherinfo" xreflabel="Other Important Information">
<title>Other Important Information</title>
<para>Please note that the core/tool split infrastructure is quite
@@ -339,14 +334,14 @@
</sect2>
-<sect2 id="writing-tools.advice" xreflabel="Words of Advice">
+<sect2 id="manual-writing-tools.advice" xreflabel="Words of Advice">
<title>Words of Advice</title>
<para>Writing and debugging tools is not trivial. Here are some
suggestions for solving common problems.</para>
-<sect3 id="writing-tools.segfaults">
+<sect3 id="manual-writing-tools.segfaults">
<title>Segmentation Faults</title>
<para>If you are getting segmentation faults in C functions used by your
@@ -359,7 +354,7 @@
</sect3>
-<sect3 id="writing-tools.debugfns">
+<sect3 id="manual-writing-tools.debugfns">
<title>Debugging C functions</title>
<para>If you want to debug C functions used by your tool, you can
@@ -411,7 +406,7 @@
</sect3>
-<sect3 id="writing-tools.ucode-probs">
+<sect3 id="manual-writing-tools.ucode-probs">
<title>IR Instrumentation Problems</title>
<para>If you are having problems with your VEX IR instrumentation, it's
@@ -422,7 +417,7 @@
</sect3>
-<sect3 id="writing-tools.misc">
+<sect3 id="manual-writing-tools.misc">
<title>Miscellaneous</title>
<para>If you just want to know whether a program point has been reached,
@@ -442,13 +437,13 @@
-<sect1 id="writing-tools.advtopics" xreflabel="Advanced Topics">
+<sect1 id="manual-writing-tools.advtopics" xreflabel="Advanced Topics">
<title>Advanced Topics</title>
<para>Once a tool becomes more complicated, there are some extra
things you may want/need to do.</para>
-<sect2 id="writing-tools.suppressions" xreflabel="Suppressions">
+<sect2 id="manual-writing-tools.suppressions" xreflabel="Suppressions">
<title>Suppressions</title>
<para>If your tool reports errors and you want to suppress some common
@@ -467,7 +462,7 @@
</sect2>
-<sect2 id="writing-tools.docs" xreflabel="Documentation">
+<sect2 id="manual-writing-tools.docs" xreflabel="Documentation">
<title>Documentation</title>
<para>As of version 3.0.0, Valgrind documentation has been converted to
@@ -475,7 +470,7 @@
</para>
-<sect3 id="writing-tools.xml" xreflabel="The XML Toolchain">
+<sect3 id="manual-writing-tools.xml" xreflabel="The XML Toolchain">
<title>The XML Toolchain</title>
<para>If you are feeling conscientious and want to write some
@@ -514,7 +509,7 @@
</sect3>
-<sect3 id="writing-tools.writing" xreflabel="Writing the Documentation">
+<sect3 id="manual-writing-tools.writing" xreflabel="Writing the Documentation">
<title>Writing the Documentation</title>
<para>Follow these steps (using <computeroutput>foobar</computeroutput>
@@ -610,7 +605,7 @@
</sect2>
-<sect2 id="writing-tools.regtests" xreflabel="Regression Tests">
+<sect2 id="manual-writing-tools.regtests" xreflabel="Regression Tests">
<title>Regression Tests</title>
<para>Valgrind has some support for regression tests. If you want to
@@ -655,7 +650,7 @@
-<sect2 id="writing-tools.profiling" xreflabel="Profiling">
+<sect2 id="manual-writing-tools.profiling" xreflabel="Profiling">
<title>Profiling</title>
<para>To profile a tool, use Cachegrind on it. Read README_DEVELOPERS for
@@ -669,7 +664,7 @@
-<sect2 id="writing-tools.mkhackery" xreflabel="Other Makefile Hackery">
+<sect2 id="manual-writing-tools.mkhackery" xreflabel="Other Makefile Hackery">
<title>Other Makefile Hackery</title>
<para>If you add any directories under
@@ -687,7 +682,7 @@
-<sect2 id="writing-tools.ifacever" xreflabel="Core/tool Interface Versions">
+<sect2 id="manual-writing-tools.ifacever" xreflabel="Core/tool Interface Versions">
<title>Core/tool Interface Versions</title>
<para>In order to allow for the core/tool interface to evolve over time,
@@ -714,7 +709,7 @@
-<sect1 id="writing-tools.finalwords" xreflabel="Final Words">
+<sect1 id="manual-writing-tools.finalwords" xreflabel="Final Words">
<title>Final Words</title>
<para>The core/tool interface is not fixed. It's pretty stable these days,
Modified: trunk/docs/xml/manual.xml
===================================================================
--- trunk/docs/xml/manual.xml 2009-07-29 02:36:21 UTC (rev 10652)
+++ trunk/docs/xml/manual.xml 2009-07-29 03:34:56 UTC (rev 10653)
@@ -44,7 +44,5 @@
xmlns:xi="http://www.w3.org/2001/XInclude" />
<xi:include href="../../lackey/docs/lk-manual.xml" parse="xml"
xmlns:xi="http://www.w3.org/2001/XInclude" />
- <xi:include href="manual-writing-tools.xml" parse="xml"
- xmlns:xi="http://www.w3.org/2001/XInclude" />
</book>
|
|
From: Tom H. <th...@cy...> - 2009-07-29 02:49:23
|
Nightly build on lloyd ( x86_64, Fedora 7 ) Started at 2009-07-29 03:05:05 BST Ended at 2009-07-29 03:49:05 BST Results unchanged from 24 hours ago Checking out valgrind source tree ... done Configuring valgrind ... done Building valgrind ... done Running regression tests ... failed Regression test results follow == 519 tests, 1 stderr failure, 0 stdout failures, 0 post failures == helgrind/tests/tc06_two_races_xml (stderr) |
Author: njn
Date: 2009-07-29 03:36:21 +0100 (Wed, 29 Jul 2009)
New Revision: 10652
Log:
Started overhauling the documentation:
- There were detailed descriptions of all the tools in the Quick Start
Guide, the Manual introduction, and the start of each tool chapter. To
avoid duplication/overlap, I removed these altogether from the Quick Start
Guide, and shortened them in the intro.
- Improved the description of what errors Memcheck can find.
- Made all tool chapters start with "Overview" section, for consistency.
- Made the "run with --tool=XXX" bit consistent in each tool chapter.
- Made all tool chapter titles match the description given when running them.
- Added BBV to the User Manual intro.
- Generally clarified, updated, and future-proofed various bits of text in
the Quick Start Guide and User Manual introduction.
Also:
- Changed Nulgrind's start-up description to "the minimal Valgrind tool".
- Fixed some punctuation in the usage message.
Modified:
trunk/cachegrind/docs/cg-manual.xml
trunk/callgrind/docs/cl-manual.xml
trunk/coregrind/m_main.c
trunk/docs/xml/manual-intro.xml
trunk/docs/xml/manual-writing-tools.xml
trunk/docs/xml/quick-start-guide.xml
trunk/drd/docs/drd-manual.xml
trunk/exp-bbv/docs/bbv-manual.xml
trunk/exp-ptrcheck/docs/pc-manual.xml
trunk/helgrind/docs/hg-manual.xml
trunk/lackey/docs/lk-manual.xml
trunk/massif/docs/ms-manual.xml
trunk/memcheck/docs/mc-manual.xml
trunk/none/docs/nl-manual.xml
trunk/none/nl_main.c
trunk/none/tests/cmdline1.stdout.exp
trunk/none/tests/cmdline2.stdout.exp
trunk/none/tests/filter_stderr
Modified: trunk/cachegrind/docs/cg-manual.xml
===================================================================
--- trunk/cachegrind/docs/cg-manual.xml 2009-07-28 20:52:36 UTC (rev 10651)
+++ trunk/cachegrind/docs/cg-manual.xml 2009-07-29 02:36:21 UTC (rev 10652)
@@ -4,27 +4,22 @@
[ <!ENTITY % vg-entities SYSTEM "../../docs/xml/vg-entities.xml"> %vg-entities; ]>
-<chapter id="cg-manual" xreflabel="Cachegrind: a cache-miss profiler">
-<title>Cachegrind: a cache and branch profiler</title>
+<chapter id="cg-manual" xreflabel="Cachegrind: a cache and branch-prediction profiler">
+<title>Cachegrind: a cache and branch-prediction profiler</title>
-<sect1 id="cg-manual.cache" xreflabel="Cache profiling">
-<title>Cache and branch profiling</title>
-
<para>To use this tool, you must specify
<computeroutput>--tool=cachegrind</computeroutput> on the
Valgrind command line.</para>
-<para>Cachegrind is a tool for finding places where programs
-interact badly with typical modern superscalar processors
-and run slowly as a result.
-In particular, it will do a cache simulation of your program,
-and optionally a branch-predictor simulation, and can
-then annotate your source line-by-line with the number of cache
-misses and branch mispredictions. The following statistics are
-collected:</para>
+<sect1 id="cg-manual.overview" xreflabel="Overview">
+<title>Overview</title>
+
+<para>Cachegrind simulates how your program interacts with a machine's cache
+hierarchy and (optionally) branch predictor. It gathers the following
+statistics:</para>
<itemizedlist>
<listitem>
- <para>L1 instruction cache reads and misses;</para>
+ <para>L1 instruction cache reads and read misses;</para>
</listitem>
<listitem>
<para>L1 data cache reads and read misses, writes and write
@@ -44,24 +39,28 @@
</listitem>
</itemizedlist>
+<para>These statistics are presented for the entire program and for each
+function in the program. You can also annotate each line of source code in
+the program with the counts that were caused directly by it.</para>
+
<para>On a modern machine, an L1 miss will typically cost
around 10 cycles, an L2 miss can cost as much as 200
cycles, and a mispredicted branch costs in the region of 10
to 30 cycles. Detailed cache and branch profiling can be very useful
-for improving the performance of your program.</para>
+for understanding how your program interacts with the machine and thus how
+to make it faster.</para>
<para>Also, since one instruction cache read is performed per
instruction executed, you can find out how many instructions are
-executed per line, which can be useful for traditional profiling
-and test coverage.</para>
+executed per line, which can be useful for traditional profiling.</para>
<para>Branch profiling is not enabled by default. To use it, you must
additionally specify <computeroutput>--branch-sim=yes</computeroutput>
on the command line.</para>
-<sect2 id="cg-manual.overview" xreflabel="Overview">
-<title>Overview</title>
+<sect2 id="cg-manual.basics" xreflabel="Basics">
+<title>Basics</title>
<para>First off, as for normal Valgrind use, you probably want to
compile with debugging info (the
@@ -169,7 +168,7 @@
<para>The cache configuration simulated (cache size,
associativity and line size) is determined automagically using
-the CPUID instruction. If you have an old machine that (a)
+the x86 CPUID instruction. If you have an machine that (a)
doesn't support the CPUID instruction, or (b) supports it in an
early incarnation that doesn't give any cache information, then
Cachegrind will fall back to using a default configuration (that
Modified: trunk/callgrind/docs/cl-manual.xml
===================================================================
--- trunk/callgrind/docs/cl-manual.xml 2009-07-28 20:52:36 UTC (rev 10651)
+++ trunk/callgrind/docs/cl-manual.xml 2009-07-29 02:36:21 UTC (rev 10652)
@@ -4,9 +4,13 @@
[ <!ENTITY % cl-entities SYSTEM "cl-entities.xml"> %cl-entities; ]>
<chapter id="cl-manual" xreflabel="Callgrind Manual">
-<title>Callgrind: a call graph profiler</title>
+<title>Callgrind: a call-graph generating cache profiler</title>
+<para>To use this tool, you must specify
+<computeroutput>--tool=callgrind</computeroutput> on the
+Valgrind command line.</para>
+
<sect1 id="cl-manual.use" xreflabel="Overview">
<title>Overview</title>
Modified: trunk/coregrind/m_main.c
===================================================================
--- trunk/coregrind/m_main.c 2009-07-28 20:52:36 UTC (rev 10651)
+++ trunk/coregrind/m_main.c 2009-07-29 02:36:21 UTC (rev 10652)
@@ -212,8 +212,8 @@
" Extra options read from ~/.valgrindrc, $VALGRIND_OPTS, ./.valgrindrc\n"
"\n"
" %s is %s\n"
-" Valgrind is Copyright (C) 2000-2009, and GNU GPL'd, by Julian Seward et al\n"
-" LibVEX is Copyright (C) 2004-2009, and GNU GPL'd, by OpenWorks LLP\n"
+" Valgrind is Copyright (C) 2000-2009, and GNU GPL'd, by Julian Seward et al.\n"
+" LibVEX is Copyright (C) 2004-2009, and GNU GPL'd, by OpenWorks LLP.\n"
"\n"
" Bug reports, feedback, admiration, abuse, etc, to: %s.\n"
"\n";
Modified: trunk/docs/xml/manual-intro.xml
===================================================================
--- trunk/docs/xml/manual-intro.xml 2009-07-28 20:52:36 UTC (rev 10651)
+++ trunk/docs/xml/manual-intro.xml 2009-07-29 02:36:21 UTC (rev 10652)
@@ -1,6 +1,7 @@
<?xml version="1.0"?> <!-- -*- sgml -*- -->
<!DOCTYPE chapter PUBLIC "-//OASIS//DTD DocBook XML V4.2//EN"
- "http://www.oasis-open.org/docbook/xml/4.2/docbookx.dtd">
+ "http://www.oasis-open.org/docbook/xml/4.2/docbookx.dtd"
+[ <!ENTITY % vg-entities SYSTEM "vg-entities.xml"> %vg-entities; ]>
<chapter id="manual-intro" xreflabel="Introduction">
<title>Introduction</title>
@@ -8,163 +9,81 @@
<sect1 id="manual-intro.overview" xreflabel="An Overview of Valgrind">
<title>An Overview of Valgrind</title>
-<para>Valgrind is a suite of simulation-based debugging and profiling
-tools for programs running on Linux (x86, amd64, ppc32 and ppc64).
-The system consists of a core, which provides a synthetic CPU in
-software, and a set of tools, each of which performs some kind of
-debugging, profiling, or similar task. The architecture is modular,
-so that new tools can be created easily and without disturbing the
-existing structure.</para>
+<para>Valgrind is an instrumentation framework for building dynamic analysis
+tools. It comes with a set of tools each of which performs some kind of
+debugging, profiling, or similar task that helps you improve your programs.
+Valgrind's architecture is modular, so new tools can be created easily
+and without disturbing the existing structure.</para>
-<para>A number of useful tools are supplied as standard. In
-summary, these are:</para>
+<para>A number of useful tools are supplied as standard.</para>
<orderedlist>
<listitem>
- <para><command>Memcheck</command> detects memory-management problems
- in programs. All reads and writes of memory are checked, and
- calls to malloc/new/free/delete are intercepted. As a result,
- Memcheck can detect the following problems:</para>
-
- <itemizedlist>
- <listitem>
- <para>Use of uninitialised memory</para>
- </listitem>
- <listitem>
- <para>Reading/writing memory after it has been
- free'd</para>
- </listitem>
- <listitem>
- <para>Reading/writing off the end of malloc'd
- blocks</para>
- </listitem>
- <listitem>
- <para>Reading/writing inappropriate areas on the
- stack</para>
- </listitem>
- <listitem>
- <para>Memory leaks -- where pointers to malloc'd
- blocks are lost forever</para>
- </listitem>
- <listitem>
- <para>Mismatched use of malloc/new/new [] vs
- free/delete/delete []</para>
- </listitem>
- <listitem>
- <para>Overlapping <computeroutput>src</computeroutput> and
- <computeroutput>dst</computeroutput> pointers in
- <computeroutput>memcpy()</computeroutput> and related
- functions</para></listitem>
- </itemizedlist>
-
- <para>Problems like these can be difficult to find by other means,
- often remaining undetected for long periods, then causing occasional,
- difficult-to-diagnose crashes.</para>
- </listitem>
+ <para><command>Memcheck</command> is a memory error detector. It helps
+ you make your programs, particularly those written in C and C++, more
+ correct.</para>
+ </listitem>
- <listitem>
- <para><command>Cachegrind</command> is a cache profiler. It
- performs detailed simulation of the I1, D1 and L2 caches in your CPU
- and so can accurately pinpoint the sources of cache misses in your
- code. It will show the number of cache misses,
- memory references and instructions accruing to each line of source
- code, with per-function, per-module and whole-program summaries. If
- you ask really nicely it will even show counts for each individual
- machine instruction.</para>
+ <listitem>
+ <para><command>Cachegrind</command> is a cache and branch-prediction
+ profiler. It can help you make your programs run faster.</para>
+ </listitem>
- <para>On x86 and and64, Cachegrind auto-detects your machine's cache
- configuration using the <computeroutput>CPUID</computeroutput>
- instruction, and so needs no further configuration info, in most
- cases.</para>
- </listitem>
+ <listitem>
+ <para><command>Callgrind</command> is a call-graph generating cache
+ profiler. It has some overlap with Cachegrind, but also gathers some
+ information that Cachegrind does not.</para>
+ </listitem>
- <listitem>
- <para><command>Callgrind</command> is a profiler similar in
- concept to Cachegrind, but which also tracks caller-callee
- relationships. By doing so it is able to show how instruction,
- memory reference and cache miss costs flow between callers and
- callees. Callgrind collects a large amount of data which is best
- navigated using Josef Weidendorfer's amazing KCachegrind
- visualisation tool (<ulink
- url="http://kcachegrind.sourceforge.net/cgi-bin/show.cgi/KcacheGrindIndex">http://kcachegrind.sourceforge.net</ulink>).
- KCachegrind is a KDE application which presents
- these profiling results in a
- graphical and easy-to-understand form.</para>
- </listitem>
+ <listitem>
+ <para><command>Helgrind</command> is a thread error detector.
+ It can help you make your multi-threaded programs more correct.
+ </para>
+ </listitem>
- <listitem>
- <para><command>Helgrind</command> detects synchronisation errors
- in programs that use the POSIX pthreads threading primitives. It
- detects the following three classes of errors:</para>
+ <listitem>
+ <para><command>DRD</command> is also a thread error detector. It is
+ similar to Helgrind but uses different analysis techniques and so may
+ find different problems.</para>
+ </listitem>
- <itemizedlist>
- <listitem>
- <para>Misuses of the POSIX pthreads API.</para>
- </listitem>
- <listitem>
- <para>Potential deadlocks arising from lock ordering
- problems.</para>
- </listitem>
- <listitem>
- <para>Data races -- accessing memory without adequate locking.</para>
- </listitem>
- </itemizedlist>
+ <listitem>
+ <para><command>Massif</command> is a heap profiler. It can help you
+ make your programs use less memory.</para>
+ </listitem>
- <para>Problems like these often result in unreproducible,
- timing-dependent crashes, deadlocks and other misbehaviour, and
- can be difficult to find by other means.</para>
- </listitem>
+ <listitem>
+ <para><command>Ptrcheck</command> is an experimental heap, stack and
+ global array overrun detector. Its functionality overlaps somewhat
+ with Memcheck's, but it can find some problems that Memcheck would
+ miss.</para>
+ </listitem>
- <listitem>
- <para><command>DRD</command> is similar to Helgrind, but uses a
- different analysis technique and so may find different problems.
- </para>
- </listitem>
+ <listitem>
+ <para><command>BBV</command> is an experimental SimPoint basic block
+ vector generator. It is useful to people doing computer architecture
+ research and development.</para>
+ </listitem>
- <listitem>
- <para><command>Massif</command> is a heap profiler.
- It measures how much heap memory programs use. In particular,
- it can give you information about heap blocks, heap
- administration overheads, and stack sizes.</para>
-
- <para>Heap profiling can help you reduce the amount of
- memory your program uses. On modern machines with virtual
- memory, this reduces the chances that your program will run out
- of memory, and may make it faster by reducing the amount of
- paging needed.</para>
- </listitem>
-
- <listitem>
- <para><command>Ptrcheck</command> is an experimental pointer checking
- tool. Its functionality overlaps somewhat with Memcheck's, but it can
- find some problems that Memcheck would miss.</para>
- </listitem>
-
-
</orderedlist>
+<para>There are also a couple of minor tools that aren't useful to
+most users: <command>Lackey</command> is an example tool that illustrates
+some instrumentation basics; and <command>Nulgrind</command> is the minimal
+Valgrind tool that does no analysis or instrumentation, and is only useful
+for testing purposes.</para>
-<para>A couple of minor tools (<command>Lackey</command> and
-<command>Nulgrind</command>) are also supplied. These aren't
-particularly useful -- they exist to illustrate how to create simple
-tools and to help the valgrind developers in various ways. Nulgrind is
-the null tool -- it adds no instrumentation. Lackey is a simple example
-tool which counts instructions, memory accesses, and the number of
-integer and floating point operations your program does.</para>
-
<para>Valgrind is closely tied to details of the CPU and operating
system, and to a lesser extent, the compiler and basic C libraries.
-Nonetheless, as of version 3.3.0 it supports several platforms:
-x86/Linux (mature), amd64/Linux (maturing), ppc32/Linux and
-ppc64/Linux (less mature but work well). There is also experimental
-support for ppc32/AIX5 and ppc64/AIX5 (AIX 5.2 and 5.3 only).
-Valgrind uses the standard Unix
+Nonetheless, it supports a number of widely-used platforms, listed in full
+at <ulink url="&vg-url;">&vg-url;</ulink>.</para>
+
+<para>Valgrind is built via the standard Unix
<computeroutput>./configure</computeroutput>,
<computeroutput>make</computeroutput>, <computeroutput>make
-install</computeroutput> mechanism, and we have attempted to ensure that
-it works on machines with Linux kernel 2.4.X or 2.6.X and glibc
-2.2.X to 2.7.X.</para>
+install</computeroutput> process; full details are given in the
+README file in the distribution.</para>
<para>Valgrind is licensed under the <xref linkend="license.gpl"/>,
version 2. The <computeroutput>valgrind/*.h</computeroutput> headers
@@ -182,7 +101,8 @@
contributions are licensed as "GPLv2, or (at your option) any later
version." This is so as to allow the possibility of easily upgrading
the license to GPLv3 in future. If you want to modify code in the VEX
-subdirectory, please also see VEX/HACKING.README.</para>
+subdirectory, please also see the file VEX/HACKING.README in the
+distribution.</para>
</sect1>
@@ -191,11 +111,8 @@
<sect1 id="manual-intro.navigation" xreflabel="How to navigate this manual">
<title>How to navigate this manual</title>
-<para>The Valgrind distribution consists of the Valgrind core, upon
-which are built Valgrind tools. The tools do different kinds of debugging
-and profiling. This manual is structured similarly.</para>
-
-<para>First, we describe the Valgrind core, how to use it, and the flags
+<para>This manual's structure reflects the structure of Valgrind itself.
+First, we describe the Valgrind core, how to use it, and the flags
it supports. Then, each tool has its own chapter in this manual. You
only need to read the documentation for the core and for the tool(s) you
actually use, although you may find it helpful to be at least a little
@@ -209,9 +126,8 @@
accepted -- you have to read the flags documentation both for
<xref linkend="manual-core"/> and for the tool you want to use.</para>
-<para>The manual is quite big and complex. If you are looking for a
-quick getting-started guide, have a look at
-<xref linkend="quick-start"/>.</para>
+<para>The manual is quite big and complex. If you want to start using
+Valgrind more quickly, read <xref linkend="quick-start"/>.</para>
</sect1>
Modified: trunk/docs/xml/manual-writing-tools.xml
===================================================================
--- trunk/docs/xml/manual-writing-tools.xml 2009-07-28 20:52:36 UTC (rev 10651)
+++ trunk/docs/xml/manual-writing-tools.xml 2009-07-29 02:36:21 UTC (rev 10652)
@@ -11,7 +11,7 @@
<title>Introduction</title>
So you want to write a Valgrind tool? Here are some instructions that may
-help. They were last updated for Valgrind 3.2.2.
+help.
<sect2 id="writing-tools.tools" xreflabel="Tools">
<title>Tools</title>
Modified: trunk/docs/xml/quick-start-guide.xml
===================================================================
--- trunk/docs/xml/quick-start-guide.xml 2009-07-28 20:52:36 UTC (rev 10651)
+++ trunk/docs/xml/quick-start-guide.xml 2009-07-29 02:36:21 UTC (rev 10652)
@@ -26,72 +26,16 @@
<title>Introduction</title>
<para>The Valgrind tool suite provides a number of debugging and
-profiling tools. The most popular is
-Memcheck, a memory checking tool which can detect many common
-memory errors such as:</para>
+profiling tools that help you make your programs faster and more correct.
+The most popular of these tools is called Memcheck. It can detect many
+memory-related errors that are common in C and C++ programs and that can
+lead to crashes and unpredictable behaviour.</para>
-<itemizedlist>
- <listitem>
- <para>Touching memory you shouldn't (eg. overrunning heap block
- boundaries, or reading/writing freed memory).</para>
- </listitem>
- <listitem>
- <para>Using values before they have been initialized.</para>
- </listitem>
- <listitem>
- <para>Incorrect freeing of memory, such as double-freeing heap
- blocks.</para>
- </listitem>
- <listitem>
- <para>Memory leaks.</para>
- </listitem>
-</itemizedlist>
+<para>The rest of this guide gives the minimum information you need to start
+detecting memory errors in your program with Memcheck. For full
+documentation of Memcheck and the other tools, please read the User Manual.
+</para>
-<para>Memcheck is only one of the tools in the Valgrind suite.
-Other tools you may find useful are:</para>
-
-<itemizedlist>
- <listitem>
- <para>Cachegrind: a profiling tool which produces detailed data on
- cache (miss) and branch (misprediction) events. Statistics are
- gathered for the entire program, for each function, and for each
- line of code, if you need that level of detail.</para>
- </listitem>
- <listitem>
- <para>Callgrind: a profiling tool that shows cost relationships
- across function calls, optionally with cache simulation similar to
- Cachegrind. Information gathered by Callgrind can be viewed
- either with an included command line tool, or by using the
- KCachegrind GUI. KCachegrind is not part of the Valgrind suite
- -- it is part of the KDE Desktop Environment.</para>
- </listitem>
- <listitem>
- <para>Massif: a space profiling tool. It allows you to explore
- in detail which parts of your program allocate memory.</para>
- </listitem>
- <listitem>
- <para>Helgrind: a debugging tool for threaded programs. Helgrind
- looks for various kinds of synchronisation errors in code that uses
- the POSIX PThreads API.</para>
- </listitem>
- <listitem>
- <para>In addition, there are a number of "experimental" tools in
- the codebase. They can be distinguished by the "exp-" prefix on
- their names. Experimental tools are not subject to the same
- quality control standards that apply to our production-grade tools
- (Memcheck, Cachegrind, Callgrind, Massif, Helgrind and DRD).</para>
- </listitem>
-</itemizedlist>
-
-<para>The rest of this guide discusses only the Memcheck tool. For
-full documentation on the other tools, and for Memcheck, see the
-Valgrind User Manual.</para>
-
-<para>What follows is the minimum information you need to start
-detecting memory errors in your program with Memcheck. Note that this
-guide applies to Valgrind version 3.4.0 and later. Some of the
-information is not quite right for earlier versions.</para>
-
</sect1>
@@ -103,9 +47,9 @@
numbers. Using <computeroutput>-O0</computeroutput> is also a good
idea, if you can tolerate the slowdown. With
<computeroutput>-O1</computeroutput> line numbers in error messages can
-be inaccurate, although generally speaking Memchecking code compiled at
-<computeroutput>-O1</computeroutput> works fairly well and is
-recommended. Use of
+be inaccurate, although generally speaking running Memcheck on code compiled
+at <computeroutput>-O1</computeroutput> works fairly well.
+Use of
<computeroutput>-O2</computeroutput> and above is not recommended as
Memcheck occasionally reports uninitialised-value errors which don't
really exist.</para>
@@ -137,8 +81,8 @@
<sect1 id="quick-start.interpret"
xreflabel="Interpreting Memcheck's output">
<title>Interpreting Memcheck's output</title>
-<para>Here's an example C program with a memory error and a memory
-leak.</para>
+<para>Here's an example C program, in a file called a.c, with a memory error
+and a memory leak.</para>
<programlisting>
#include <stdlib.h>
@@ -237,12 +181,13 @@
</listitem>
</itemizedlist>
-<para>It can be difficult to track down the root causes of
-uninitialised-value errors reported by Memcheck. Try using
-the <option>--track-origins=yes</option> to get extra information.
-This makes Memcheck run slower, but the extra information you get
-often saves a lot of time figuring out where the uninitialised values
-are coming from.</para>
+<para>Memcheck also reports uses of uninitialised values, most commonly with
+the message "Conditional jump or move depends on uninitialised
+value(s)". It can be difficult to determine the root cause of these errors.
+Try using the <option>--track-origins=yes</option> to get extra information.
+This makes Memcheck run slower, but the extra information you get often
+saves a lot of time figuring out where the uninitialised values are coming
+from.</para>
<para>If you don't understand an error message, please consult
<xref linkend="mc-manual.errormsgs"/> in the <xref linkend="manual"/>
@@ -275,8 +220,8 @@
changes to the program cause Memcheck to report new errors.
Experience from several years of Memcheck use shows that it is
possible to make even huge programs run Memcheck-clean. For example,
-large parts of KDE 3.5.X, and recent versions of OpenOffice.org
-(2.3.0) are Memcheck-clean, or very close to it.</para>
+large parts of KDE, OpenOffice.org and Firefox are Memcheck-clean, or very
+close to it.</para>
</sect1>
Modified: trunk/drd/docs/drd-manual.xml
===================================================================
--- trunk/drd/docs/drd-manual.xml 2009-07-28 20:52:36 UTC (rev 10651)
+++ trunk/drd/docs/drd-manual.xml 2009-07-29 02:36:21 UTC (rev 10652)
@@ -13,7 +13,7 @@
<sect1 id="drd-manual.overview" xreflabel="Overview">
-<title>Background</title>
+<title>Overview</title>
<para>
DRD is a Valgrind tool for detecting errors in multithreaded C and C++
Modified: trunk/exp-bbv/docs/bbv-manual.xml
===================================================================
--- trunk/exp-bbv/docs/bbv-manual.xml 2009-07-28 20:52:36 UTC (rev 10651)
+++ trunk/exp-bbv/docs/bbv-manual.xml 2009-07-29 02:36:21 UTC (rev 10652)
@@ -3,14 +3,14 @@
"http://www.oasis-open.org/docbook/xml/4.2/docbookx.dtd">
<chapter id="bbv-manual" xreflabel="BBV">
- <title>BBV: a Basic Block Vector generation tool</title>
+ <title>BBV: an experimental basic block vector generation tool</title>
<para>To use this tool, you must specify
<computeroutput>--tool=exp-bbv</computeroutput> on the Valgrind
command line.</para>
-<sect1 id="bbv-manual.background" xreflabel="BBV Background">
-<title>Basic Block Profiling and SimPoint</title>
+<sect1 id="bbv-manual.overview" xreflabel="Overview">
+<title>Overview</title>
<para>
A Basic Blocks Vector (BBV) is a list of all basic blocks entered
@@ -20,7 +20,7 @@
</para>
<para>
- This tool was written to generate basic block vectors
+ BBV is tool that generates basic block vectors
for use with the SimPoint analysis tool
(http://www.cse.ucsd.edu/~calder/simpoint/).
The SimPoint methodology enables speeding up architectural
@@ -39,14 +39,14 @@
In computer architecture research, running a
benchmark on a cycle-accurate simulator can cause slowdowns on the order
of 1000 times, making it take days, weeks, or even longer to run full
- benchmarks. By utilizing SimPoint this can be reduced significantly
- while still retaining reasonable accuracy, usually in the 5-10% range.
+ benchmarks. By utilizing SimPoint this can be reduced significantly,
+ usually by 90-95%, while still retaining reasonable accuracy.
</para>
<para>
A more complete introduction to how SimPoint works can be
found in the paper "Automatically Characterizing Large Scale
- Program Behavior" by T. Sherwood, E Perelman, G. Hamerly, and
+ Program Behavior" by T. Sherwood, E. Perelman, G. Hamerly, and
B. Calder.
</para>
Modified: trunk/exp-ptrcheck/docs/pc-manual.xml
===================================================================
--- trunk/exp-ptrcheck/docs/pc-manual.xml 2009-07-28 20:52:36 UTC (rev 10651)
+++ trunk/exp-ptrcheck/docs/pc-manual.xml 2009-07-29 02:36:21 UTC (rev 10652)
@@ -5,8 +5,8 @@
<chapter id="pc-manual"
- xreflabel="Ptrcheck: an (experimental) pointer checking tool">
- <title>Ptrcheck: an (experimental) pointer checking tool</title>
+ xreflabel="Ptrcheck: an experimental heap, stack & global array overrun detector">
+ <title>Ptrcheck: an experimental heap, stack & global array overrun detector</title>
<para>To use this tool, you must specify
<computeroutput>--tool=exp-ptrcheck</computeroutput> on the Valgrind
@@ -18,7 +18,7 @@
<sect1 id="pc-manual.overview" xreflabel="Overview">
<title>Overview</title>
-<para>Ptrcheck is a Valgrind tool for finding overruns of heap, stack
+<para>Ptrcheck is a tool for finding overruns of heap, stack
and global arrays. Its functionality overlaps somewhat with
Memcheck's, but it is able to catch invalid accesses in a number of
cases that Memcheck would miss. A detailed comparison against
Modified: trunk/helgrind/docs/hg-manual.xml
===================================================================
--- trunk/helgrind/docs/hg-manual.xml 2009-07-28 20:52:36 UTC (rev 10651)
+++ trunk/helgrind/docs/hg-manual.xml 2009-07-29 02:36:21 UTC (rev 10652)
@@ -12,8 +12,6 @@
command line.</para>
-
-
<sect1 id="hg-manual.overview" xreflabel="Overview">
<title>Overview</title>
@@ -26,14 +24,6 @@
thread exit, mutexes (locks), condition variables (inter-thread event
notifications), reader-writer locks, semaphores and barriers.</para>
-<para>Helgrind is aware of all these abstractions and tracks their
-effects as accurately as it can. Currently it does not correctly
-handle pthread spinlocks, although it will not object if you use them.
-Adding support for spinlocks would be easy enough if the demand arises.
-On x86 and amd64 platforms, it understands and partially handles
-implicit locking arising from the use of the LOCK instruction prefix.
-</para>
-
<para>Helgrind can detect three classes of errors, which are discussed
in detail in the next three sections:</para>
@@ -58,6 +48,19 @@
</listitem>
</orderedlist>
+<para>Problems like these often result in unreproducible,
+timing-dependent crashes, deadlocks and other misbehaviour, and
+can be difficult to find by other means.</para>
+
+<para>Helgrind is aware of all the pthread abstractions and tracks their
+effects as accurately as it can. Currently it does not correctly
+handle pthread spinlocks, although it will not object if you use them.
+Adding support for spinlocks would be easy enough if the demand arises.
+On x86 and amd64 platforms, it understands and partially handles
+implicit locking arising from the use of the LOCK instruction prefix.
+</para>
+
+
<para>Following those is a section containing
<link linkend="hg-manual.effective-use">
hints and tips on how to get the best out of Helgrind.</link>
Modified: trunk/lackey/docs/lk-manual.xml
===================================================================
--- trunk/lackey/docs/lk-manual.xml 2009-07-28 20:52:36 UTC (rev 10651)
+++ trunk/lackey/docs/lk-manual.xml 2009-07-29 02:36:21 UTC (rev 10652)
@@ -4,7 +4,7 @@
<chapter id="lk-manual" xreflabel="Lackey">
-<title>Lackey: a simple profiler and memory tracer</title>
+<title>Lackey: an example tool</title>
<para>To use this tool, you must specify
<computeroutput>--tool=lackey</computeroutput> on the Valgrind
Modified: trunk/massif/docs/ms-manual.xml
===================================================================
--- trunk/massif/docs/ms-manual.xml 2009-07-28 20:52:36 UTC (rev 10651)
+++ trunk/massif/docs/ms-manual.xml 2009-07-29 02:36:21 UTC (rev 10652)
@@ -7,21 +7,16 @@
<chapter id="ms-manual" xreflabel="Massif: a heap profiler">
<title>Massif: a heap profiler</title>
-<emphasis>Please note that this documentation describes Massif version 3.3.0
-and later. Massif was significantly overhauled for 3.3.0; versions 3.2.3
-and earlier presented the profiling information an a quite different manner,
-and so this documentation only pertains to the later versions.</emphasis>
-
<para>To use this tool, you must specify
<computeroutput>--tool=massif</computeroutput> on the Valgrind
command line.</para>
-<sect1 id="ms-manual.spaceprof" xreflabel="Heap profiling">
-<title>Heap profiling</title>
+<sect1 id="ms-manual.overview" xreflabel="Overview">
+<title>Overview</title>
<para>Massif is a heap profiler. It measures how much heap memory your
program uses. This includes both the useful space, and the extra bytes
-allocated for book-keeping purposes and alignment purposes. It can also
+allocated for book-keeping and alignment purposes. It can also
measure the size of your program's stack(s), although it does not do so by
default.</para>
Modified: trunk/memcheck/docs/mc-manual.xml
===================================================================
--- trunk/memcheck/docs/mc-manual.xml 2009-07-28 20:52:36 UTC (rev 10651)
+++ trunk/memcheck/docs/mc-manual.xml 2009-07-29 02:36:21 UTC (rev 10652)
@@ -3,55 +3,56 @@
"http://www.oasis-open.org/docbook/xml/4.2/docbookx.dtd">
-<chapter id="mc-manual" xreflabel="Memcheck: a heavyweight memory checker">
-<title>Memcheck: a heavyweight memory checker</title>
+<chapter id="mc-manual" xreflabel="Memcheck: a memory error detector">
+<title>Memcheck: a memory error detector</title>
<para>To use this tool, you may specify <option>--tool=memcheck</option>
on the Valgrind command line. You don't have to, though, since Memcheck
is the default tool.</para>
-<sect1 id="mc-manual.bugs"
- xreflabel="Kinds of bugs that Memcheck can find">
-<title>Kinds of bugs that Memcheck can find</title>
+<sect1 id="mc-manual.overview" xreflabel="Overview">
+<title>Overview</title>
-<para>Memcheck is Valgrind's heavyweight memory checking tool. All
-reads and writes of memory are checked, and calls to
-<function>malloc</function>/<computeroutput>new</computeroutput>/<function>free</function>/<computeroutput>delete</computeroutput>
-are intercepted. As a result, Memcheck can detect the following
-problems:</para>
+<para>Memcheck is a memory error detector. It can detect the following
+problems that are common in C and C++ programs.</para>
<itemizedlist>
<listitem>
- <para>Use of uninitialised memory</para>
+ <para>Accessing memory you shouldn't, e.g. overrunning and underrunning
+ heap blocks, overrunning the top of the stack, and accessing memory after
+ it has been freed.</para>
</listitem>
+
<listitem>
- <para>Reading/writing memory after it has been free'd</para>
+ <para>Using undefined values, i.e. values that have not been initialised,
+ or that have been derived from other undefined values.</para>
</listitem>
+
<listitem>
- <para>Reading/writing off the end of malloc'd blocks</para>
- </listitem>
- <listitem>
- <para>Reading/writing inappropriate areas on the stack</para>
- </listitem>
- <listitem>
- <para>Memory leaks - where pointers to malloc'd blocks are
- lost forever</para>
- </listitem>
- <listitem>
- <para>Mismatched use of
+ <para>Incorrect freeing of heap memory, such as double-freeing heap
+ blocks, or mismatched use of
<function>malloc</function>/<computeroutput>new</computeroutput>/<computeroutput>new[]</computeroutput>
versus
<function>free</function>/<computeroutput>delete</computeroutput>/<computeroutput>delete[]</computeroutput></para>
</listitem>
+
<listitem>
<para>Overlapping <computeroutput>src</computeroutput> and
<computeroutput>dst</computeroutput> pointers in
- <function>memcpy()</function> and related
- functions</para>
+ <computeroutput>memcpy()</computeroutput> and related
+ functions.</para>
</listitem>
+
+ <listitem>
+ <para>Memory leaks.</para>
+ </listitem>
</itemizedlist>
+<para>Problems like these can be difficult to find by other means,
+often remaining undetected for long periods, then causing occasional,
+difficult-to-diagnose crashes.</para>
+
</sect1>
Modified: trunk/none/docs/nl-manual.xml
===================================================================
--- trunk/none/docs/nl-manual.xml 2009-07-28 20:52:36 UTC (rev 10651)
+++ trunk/none/docs/nl-manual.xml 2009-07-29 02:36:21 UTC (rev 10652)
@@ -5,18 +5,26 @@
<chapter id="nl-manual" xreflabel="Nulgrind">
-<title>Nulgrind: the "null" tool</title>
-<subtitle>A tool that does not very much at all</subtitle>
+<title>Nulgrind: the minimal Valgrind tool</title>
-<para>Nulgrind is the minimal tool for Valgrind. It does no
-initialisation or finalisation, and adds no instrumentation to
-the program's code. It is mainly of use for Valgrind's
-developers for debugging and regression testing.</para>
+<para>To use this tool, you must specify
+<computeroutput>--tool=none</computeroutput> on the Valgrind
+command line.</para>
+<sect1 id="ms-manual.overview" xreflabel="Overview">
+<title>Overview</title>
+
+<para>Nulgrind is the simplest possible Valgrind tool. It performs no
+instrumentation or analysis of a program, just runs it normally. It is
+mainly of use for Valgrind's developers for debugging and regression
+testing.</para>
+
<para>Nonetheless you can run programs with Nulgrind. They will run
roughly 5 times more slowly than normal, for no useful effect. Note
that you need to use the option <option>--tool=none</option> to run
Nulgrind (ie. not <option>--tool=nulgrind</option>).</para>
+</sect1>
+
</chapter>
Modified: trunk/none/nl_main.c
===================================================================
--- trunk/none/nl_main.c 2009-07-28 20:52:36 UTC (rev 10651)
+++ trunk/none/nl_main.c 2009-07-29 02:36:21 UTC (rev 10652)
@@ -1,11 +1,11 @@
/*--------------------------------------------------------------------*/
-/*--- Nulgrind: The null tool. nl_main.c ---*/
+/*--- Nulgrind: The minimal Valgrind tool. nl_main.c ---*/
/*--------------------------------------------------------------------*/
/*
- This file is part of Nulgrind, the simplest possible Valgrind tool,
- which does nothing.
+ This file is part of Nulgrind, the minimal Valgrind tool,
+ which does no instrumentation or analysis.
Copyright (C) 2002-2009 Nicholas Nethercote
nj...@va...
@@ -53,7 +53,7 @@
{
VG_(details_name) ("Nulgrind");
VG_(details_version) (NULL);
- VG_(details_description) ("a binary JIT-compiler");
+ VG_(details_description) ("the minimal Valgrind tool");
VG_(details_copyright_author)(
"Copyright (C) 2002-2009, and GNU GPL'd, by Nicholas Nethercote.");
VG_(details_bug_reports_to) (VG_BUGS_TO);
Modified: trunk/none/tests/cmdline1.stdout.exp
===================================================================
--- trunk/none/tests/cmdline1.stdout.exp 2009-07-28 20:52:36 UTC (rev 10651)
+++ trunk/none/tests/cmdline1.stdout.exp 2009-07-29 02:36:21 UTC (rev 10652)
@@ -56,8 +56,8 @@
Extra options read from ~/.valgrindrc, $VALGRIND_OPTS, ./.valgrindrc
Nulgrind is Copyright (C) 2002-2009, and GNU GPL'd, by Nicholas Nethercote.
- Valgrind is Copyright (C) 2000-2009, and GNU GPL'd, by Julian Seward et al
- LibVEX is Copyright (C) 2004-2009, and GNU GPL'd, by OpenWorks LLP
+ Valgrind is Copyright (C) 2000-2009, and GNU GPL'd, by Julian Seward et al.
+ LibVEX is Copyright (C) 2004-2009, and GNU GPL'd, by OpenWorks LLP.
Bug reports, feedback, admiration, abuse, etc, to: www.valgrind.org.
Modified: trunk/none/tests/cmdline2.stdout.exp
===================================================================
--- trunk/none/tests/cmdline2.stdout.exp 2009-07-28 20:52:36 UTC (rev 10651)
+++ trunk/none/tests/cmdline2.stdout.exp 2009-07-29 02:36:21 UTC (rev 10652)
@@ -101,8 +101,8 @@
Extra options read from ~/.valgrindrc, $VALGRIND_OPTS, ./.valgrindrc
Nulgrind is Copyright (C) 2002-2009, and GNU GPL'd, by Nicholas Nethercote.
- Valgrind is Copyright (C) 2000-2009, and GNU GPL'd, by Julian Seward et al
- LibVEX is Copyright (C) 2004-2009, and GNU GPL'd, by OpenWorks LLP
+ Valgrind is Copyright (C) 2000-2009, and GNU GPL'd, by Julian Seward et al.
+ LibVEX is Copyright (C) 2004-2009, and GNU GPL'd, by OpenWorks LLP.
Bug reports, feedback, admiration, abuse, etc, to: www.valgrind.org.
Modified: trunk/none/tests/filter_stderr
===================================================================
--- trunk/none/tests/filter_stderr 2009-07-28 20:52:36 UTC (rev 10651)
+++ trunk/none/tests/filter_stderr 2009-07-29 02:36:21 UTC (rev 10652)
@@ -5,7 +5,7 @@
$dir/../../tests/filter_stderr_basic |
# Remove "Nulgrind, ..." line and the following copyright line.
-sed "/^Nulgrind, a binary JIT-compiler./ , /./ d" |
+sed "/^Nulgrind, the minimal Valgrind tool./ , /./ d" |
# Anonymise addresses
$dir/../../tests/filter_addresses
|
|
From: Tom H. <th...@cy...> - 2009-07-29 02:31:07
|
Nightly build on mg ( x86_64, Fedora 9 ) Started at 2009-07-29 03:10:05 BST Ended at 2009-07-29 03:30:46 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 == 526 tests, 1 stderr failure, 0 stdout failures, 0 post failures == helgrind/tests/tc06_two_races_xml (stderr) |
|
From: <sv...@va...> - 2009-07-28 20:52:50
|
Author: sewardj
Date: 2009-07-28 21:52:36 +0100 (Tue, 28 Jul 2009)
New Revision: 10651
Log:
Improve checking for pthread_mutex_cond operations: implement a check
for consistent binding between the CV and the mutex, as specified by
POSIX. Add commented out code for some other checks that could be
done but aren't, as they'd give false positives.
Modified:
trunk/helgrind/hg_main.c
trunk/helgrind/tests/tc23_bogus_condwait.stderr.exp
Modified: trunk/helgrind/hg_main.c
===================================================================
--- trunk/helgrind/hg_main.c 2009-07-28 20:22:18 UTC (rev 10650)
+++ trunk/helgrind/hg_main.c 2009-07-28 20:52:36 UTC (rev 10651)
@@ -2004,44 +2004,69 @@
/* --------------- events to do with CVs --------------- */
/* ----------------------------------------------------- */
-/* A mapping from CV to the SO associated with it. When the CV is
+/* A mapping from CV to (the SO associated with it, plus some
+ auxiliary data for error checking). When the CV is
signalled/broadcasted upon, we do a 'send' into the SO, and when a
wait on it completes, we do a 'recv' from the SO. This is believed
to give the correct happens-before events arising from CV
signallings/broadcasts.
*/
-/* pthread_mutex_cond* -> SO* */
-static WordFM* map_cond_to_SO = NULL;
+/* .so is the SO for this CV.
+ .mx_ga is the associated mutex, when .nWaiters > 0
-static void map_cond_to_SO_INIT ( void ) {
- if (UNLIKELY(map_cond_to_SO == NULL)) {
- map_cond_to_SO = VG_(newFM)( HG_(zalloc),
- "hg.mctSI.1", HG_(free), NULL );
- tl_assert(map_cond_to_SO != NULL);
+ POSIX says effectively that the first pthread_cond_{timed}wait call
+ causes a dynamic binding between the CV and the mutex, and that
+ lasts until such time as the waiter count falls to zero. Hence
+ need to keep track of the number of waiters in order to do
+ consistency tracking. */
+typedef
+ struct {
+ SO* so; /* libhb-allocated SO */
+ void* mx_ga; /* addr of associated mutex, if any */
+ UWord nWaiters; /* # threads waiting on the CV */
}
+ CVInfo;
+
+
+/* pthread_cond_t* -> CVInfo* */
+static WordFM* map_cond_to_CVInfo = NULL;
+
+static void map_cond_to_CVInfo_INIT ( void ) {
+ if (UNLIKELY(map_cond_to_CVInfo == NULL)) {
+ map_cond_to_CVInfo = VG_(newFM)( HG_(zalloc),
+ "hg.mctCI.1", HG_(free), NULL );
+ tl_assert(map_cond_to_CVInfo != NULL);
+ }
}
-static SO* map_cond_to_SO_lookup_or_alloc ( void* cond ) {
+static CVInfo* map_cond_to_CVInfo_lookup_or_alloc ( void* cond ) {
UWord key, val;
- map_cond_to_SO_INIT();
- if (VG_(lookupFM)( map_cond_to_SO, &key, &val, (UWord)cond )) {
+ map_cond_to_CVInfo_INIT();
+ if (VG_(lookupFM)( map_cond_to_CVInfo, &key, &val, (UWord)cond )) {
tl_assert(key == (UWord)cond);
- return (SO*)val;
+ return (CVInfo*)val;
} else {
- SO* so = libhb_so_alloc();
- VG_(addToFM)( map_cond_to_SO, (UWord)cond, (UWord)so );
- return so;
+ SO* so = libhb_so_alloc();
+ CVInfo* cvi = HG_(zalloc)("hg.mctCloa.1", sizeof(CVInfo));
+ cvi->so = so;
+ cvi->mx_ga = 0;
+ VG_(addToFM)( map_cond_to_CVInfo, (UWord)cond, (UWord)cvi );
+ return cvi;
}
}
-static void map_cond_to_SO_delete ( void* cond ) {
+static void map_cond_to_CVInfo_delete ( void* cond ) {
UWord keyW, valW;
- map_cond_to_SO_INIT();
- if (VG_(delFromFM)( map_cond_to_SO, &keyW, &valW, (UWord)cond )) {
- SO* so = (SO*)valW;
+ map_cond_to_CVInfo_INIT();
+ if (VG_(delFromFM)( map_cond_to_CVInfo, &keyW, &valW, (UWord)cond )) {
+ CVInfo* cvi = (CVInfo*)valW;
tl_assert(keyW == (UWord)cond);
- libhb_so_dealloc(so);
+ tl_assert(cvi);
+ tl_assert(cvi->so);
+ libhb_so_dealloc(cvi->so);
+ cvi->mx_ga = 0;
+ HG_(free)(cvi);
}
}
@@ -2054,7 +2079,8 @@
from the SO, thereby acquiring a dependency on this signalling
event. */
Thread* thr;
- SO* so;
+ CVInfo* cvi;
+ //Lock* lk;
if (SHOW_EVENTS >= 1)
VG_(printf)("evh__HG_PTHREAD_COND_SIGNAL_PRE(ctid=%d, cond=%p)\n",
@@ -2063,13 +2089,43 @@
thr = map_threads_maybe_lookup( tid );
tl_assert(thr); /* cannot fail - Thread* must already exist */
+ cvi = map_cond_to_CVInfo_lookup_or_alloc( cond );
+ tl_assert(cvi);
+ tl_assert(cvi->so);
+
// error-if: mutex is bogus
// error-if: mutex is not locked
+ // Hmm. POSIX doesn't actually say that it's an error to call
+ // pthread_cond_signal with the associated mutex being unlocked.
+ // Although it does say that it should be "if consistent scheduling
+ // is desired."
+ //
+ // For the moment, disable these checks.
+ //lk = map_locks_maybe_lookup(cvi->mx_ga);
+ //if (lk == NULL || cvi->mx_ga == 0) {
+ // HG_(record_error_Misc)( thr,
+ // "pthread_cond_{signal,broadcast}: "
+ // "no or invalid mutex associated with cond");
+ //}
+ ///* note: lk could be NULL. Be careful. */
+ //if (lk) {
+ // if (lk->kind == LK_rdwr) {
+ // HG_(record_error_Misc)(thr,
+ // "pthread_cond_{signal,broadcast}: associated lock is a rwlock");
+ // }
+ // if (lk->heldBy == NULL) {
+ // HG_(record_error_Misc)(thr,
+ // "pthread_cond_{signal,broadcast}: "
+ // "associated lock is not held by any thread");
+ // }
+ // if (lk->heldBy != NULL && 0 == VG_(elemBag)(lk->heldBy, (Word)thr)) {
+ // HG_(record_error_Misc)(thr,
+ // "pthread_cond_{signal,broadcast}: "
+ // "associated lock is not held by calling thread");
+ // }
+ //}
- so = map_cond_to_SO_lookup_or_alloc( cond );
- tl_assert(so);
-
- libhb_so_send( thr->hbthr, so, True/*strong_send*/ );
+ libhb_so_send( thr->hbthr, cvi->so, True/*strong_send*/ );
}
/* returns True if it reckons 'mutex' is valid and held by this
@@ -2080,6 +2136,7 @@
Thread* thr;
Lock* lk;
Bool lk_valid = True;
+ CVInfo* cvi;
if (SHOW_EVENTS >= 1)
VG_(printf)("evh__hg_PTHREAD_COND_WAIT_PRE"
@@ -2122,6 +2179,20 @@
}
// error-if: cond is also associated with a different mutex
+ cvi = map_cond_to_CVInfo_lookup_or_alloc(cond);
+ tl_assert(cvi);
+ tl_assert(cvi->so);
+ if (cvi->nWaiters == 0) {
+ /* form initial (CV,MX) binding */
+ cvi->mx_ga = mutex;
+ }
+ else /* check existing (CV,MX) binding */
+ if (cvi->mx_ga != mutex) {
+ HG_(record_error_Misc)(
+ thr, "pthread_cond_{timed}wait: cond is associated "
+ "with a different mutex");
+ }
+ cvi->nWaiters++;
return lk_valid;
}
@@ -2133,7 +2204,7 @@
the SO for this cond, and 'recv' from it so as to acquire a
dependency edge back to the signaller/broadcaster. */
Thread* thr;
- SO* so;
+ CVInfo* cvi;
if (SHOW_EVENTS >= 1)
VG_(printf)("evh__HG_PTHREAD_COND_WAIT_POST"
@@ -2145,10 +2216,12 @@
// error-if: cond is also associated with a different mutex
- so = map_cond_to_SO_lookup_or_alloc( cond );
- tl_assert(so);
+ cvi = map_cond_to_CVInfo_lookup_or_alloc( cond );
+ tl_assert(cvi);
+ tl_assert(cvi->so);
+ tl_assert(cvi->nWaiters > 0);
- if (!libhb_so_everSent(so)) {
+ if (!libhb_so_everSent(cvi->so)) {
/* Hmm. How can a wait on 'cond' succeed if nobody signalled
it? If this happened it would surely be a bug in the threads
library. Or one of those fabled "spurious wakeups". */
@@ -2158,7 +2231,9 @@
}
/* anyway, acquire a dependency on it. */
- libhb_so_recv( thr->hbthr, so, True/*strong_recv*/ );
+ libhb_so_recv( thr->hbthr, cvi->so, True/*strong_recv*/ );
+
+ cvi->nWaiters--;
}
static void evh__HG_PTHREAD_COND_DESTROY_PRE ( ThreadId tid,
@@ -2172,7 +2247,7 @@
"(ctid=%d, cond=%p)\n",
(Int)tid, (void*)cond );
- map_cond_to_SO_delete( cond );
+ map_cond_to_CVInfo_delete( cond );
}
Modified: trunk/helgrind/tests/tc23_bogus_condwait.stderr.exp
===================================================================
--- trunk/helgrind/tests/tc23_bogus_condwait.stderr.exp 2009-07-28 20:22:18 UTC (rev 10650)
+++ trunk/helgrind/tests/tc23_bogus_condwait.stderr.exp 2009-07-28 20:52:36 UTC (rev 10651)
@@ -9,12 +9,24 @@
at 0x........: pthread_cond_wait@* (hg_intercepts.c:...)
by 0x........: main (tc23_bogus_condwait.c:72)
+Thread #x: pthread_cond_{timed}wait: cond is associated with a different mutex
+ at 0x........: pthread_cond_wait@* (hg_intercepts.c:...)
+ by 0x........: main (tc23_bogus_condwait.c:72)
+
Thread #x: pthread_cond_{timed}wait called with mutex of type pthread_rwlock_t*
at 0x........: pthread_cond_wait@* (hg_intercepts.c:...)
by 0x........: main (tc23_bogus_condwait.c:75)
+Thread #x: pthread_cond_{timed}wait: cond is associated with a different mutex
+ at 0x........: pthread_cond_wait@* (hg_intercepts.c:...)
+ by 0x........: main (tc23_bogus_condwait.c:75)
+
Thread #x: pthread_cond_{timed}wait called with mutex held by a different thread
at 0x........: pthread_cond_wait@* (hg_intercepts.c:...)
by 0x........: main (tc23_bogus_condwait.c:78)
-ERROR SUMMARY: 4 errors from 4 contexts (suppressed: 0 from 0)
+Thread #x: pthread_cond_{timed}wait: cond is associated with a different mutex
+ at 0x........: pthread_cond_wait@* (hg_intercepts.c:...)
+ by 0x........: main (tc23_bogus_condwait.c:78)
+
+ERROR SUMMARY: 7 errors from 7 contexts (suppressed: 0 from 0)
|
|
From: <sv...@va...> - 2009-07-28 20:22:32
|
Author: sewardj
Date: 2009-07-28 21:22:18 +0100 (Tue, 28 Jul 2009)
New Revision: 10650
Log:
Back out a small part of r10589 (the tick-after-recv thing). On
contemplation it seems like a bad idea.
Modified:
trunk/helgrind/libhb_core.c
Modified: trunk/helgrind/libhb_core.c
===================================================================
--- trunk/helgrind/libhb_core.c 2009-07-28 12:54:47 UTC (rev 10649)
+++ trunk/helgrind/libhb_core.c 2009-07-28 20:22:18 UTC (rev 10650)
@@ -5540,10 +5540,14 @@
thr->viR = VtsID__join2( thr->viR, so->viR );
VtsID__rcinc(thr->viR);
-// QQQ
-VtsID__rcdec(thr->viR);
-thr->viR = VtsID__tick( thr->viR, thr );
-VtsID__rcinc(thr->viR);
+ /* At one point (r10589) it seemed safest to tick the clocks for
+ the receiving thread after the join. But on reflection, I
+ wonder if that might cause it to 'overtake' constraints,
+ which could lead to missing races. So, back out that part of
+ r10589. */
+ //VtsID__rcdec(thr->viR);
+ //thr->viR = VtsID__tick( thr->viR, thr );
+ //VtsID__rcinc(thr->viR);
/* For a strong receive, we also advance the receiver's write
clock, which means the receive as a whole is essentially
@@ -5553,13 +5557,10 @@
thr->viW = VtsID__join2( thr->viW, so->viW );
VtsID__rcinc(thr->viW);
-
-// QQQ
-VtsID__rcdec(thr->viW);
-thr->viW = VtsID__tick( thr->viW, thr );
-VtsID__rcinc(thr->viW);
-
-
+ /* See comment just above, re r10589. */
+ //VtsID__rcdec(thr->viW);
+ //thr->viW = VtsID__tick( thr->viW, thr );
+ //VtsID__rcinc(thr->viW);
}
Filter__clear(thr->filter, "libhb_so_recv");
|
|
From: Samuel B. <na...@gm...> - 2009-07-28 19:41:30
|
At Tue, 28 Jul 2009 14:12:50 +0200, Josef Weidendorfer wrote: > On Tuesday 28 July 2009, Samuel Bronson wrote: > > It shouldn't be hard to at least do as well as ltrace does here; what > > it does is all based on config files like this: > > > > ... > > ; ctype.h > > char tolower(char); > > char toupper(char); > > ... > > No. ltrace has one big advantage: it only logs exported symbols, > which have to adhere to the ABI, ie. to a fixed convention on the > given platform. I'd be fairly happy even with such a restriction -- the restrictions of ltrace that I'm not happy with are: * That it only traces calls performed through the PLT, not through a dynamic mechanism like dlopen()/dlsym() or through callbacks, no matter what t you put in your config files. This seems to be a fundamental limitation of ltrace, since there is no way to tell whether a given symbol represents code or data just from the symbol. * That it currently only traces calls from the main executable. This is not a fundamental limitation, but it would still probably be a pain to lift. > For other symbols, nothing is guaranteed. Especially, argument > passing for the same function could change with different > compilation options. Thus, a config file can not work. You have to > use debug information here. Well, that could certainly be added at some point, but it's not something I desire particularly strongly at this point, and I'm guessing that valgrind doesn't currently parse type information? The most interesting calls to trace are those to public APIs (or from public APIs to callbacks), anyway ;-). |
|
From: Nicholas N. <n.n...@gm...> - 2009-07-28 17:28:22
|
Nightly build on ocean32 ( Ubuntu 9.04, x86_64 (32-bit only) )
Started at 2009-07-29 03:00:01 EST
Ended at 2009-07-29 03:28:08 EST
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
== 481 tests, 9 stderr failures, 1 stdout failure, 0 post failures ==
memcheck/tests/origin5-bz2 (stderr)
none/tests/empty-exe (stderr)
none/tests/shell (stdout)
none/tests/shell (stderr)
none/tests/shell_valid1 (stderr)
none/tests/shell_valid2 (stderr)
none/tests/shell_valid3 (stderr)
none/tests/shell_zerolength (stderr)
helgrind/tests/tc06_two_races_xml (stderr)
exp-ptrcheck/tests/supp (stderr)
=================================================
./valgrind-new/exp-ptrcheck/tests/supp.stderr.diff
=================================================
--- supp.stderr.exp 2009-07-29 03:15:26.000000000 +1000
+++ supp.stderr.out 2009-07-29 03:28:04.000000000 +1000
@@ -1,7 +1,7 @@
Syscall param write(buf) is non-contiguous
- at 0x........: write (in /...libc...)
- by 0x........: main (supp.c:16)
+ at 0x........: ??? (in /lib32/ld-2.9.so)
+ by 0x........: (below main)
First byte (0x........) is 3 bytes inside a 6-byte block alloc'd
at 0x........: malloc (vg_replace_malloc.c:...)
by 0x........: main (supp.c:12)
=================================================
./valgrind-new/helgrind/tests/tc06_two_races_xml.stderr.diff
=================================================
--- tc06_two_races_xml.stderr.exp 2009-07-29 03:15:21.000000000 +1000
+++ tc06_two_races_xml.stderr.out 2009-07-29 03:25:23.000000000 +1000
@@ -43,16 +43,6 @@
<frame>
<ip>0x........</ip>
<obj>...</obj>
- <fn>do_clone</fn>
- </frame>
- <frame>
- <ip>0x........</ip>
- <obj>...</obj>
- <fn>pthread_create@@GLIBC_2.2.5</fn>
- </frame>
- <frame>
- <ip>0x........</ip>
- <obj>...</obj>
<fn>pthread_create_WRK</fn>
<dir>...</dir>
<file>hg_intercepts.c</file>
=================================================
./valgrind-new/memcheck/tests/origin5-bz2.stderr.diff-glibc25-amd64
=================================================
--- origin5-bz2.stderr.exp-glibc25-amd64 2009-07-29 03:16:12.000000000 +1000
+++ origin5-bz2.stderr.out 2009-07-29 03:22:52.000000000 +1000
@@ -11,7 +11,7 @@
Uninitialised value was created by a client request
at 0x........: main (origin5-bz2.c:6479)
-Use of uninitialised value of size 8
+Use of uninitialised value of size 4
at 0x........: handle_compress (origin5-bz2.c:4686)
by 0x........: BZ2_bzCompress (origin5-bz2.c:4822)
by 0x........: BZ2_bzBuffToBuffCompress (origin5-bz2.c:5630)
@@ -19,7 +19,7 @@
Uninitialised value was created by a client request
at 0x........: main (origin5-bz2.c:6479)
-Use of uninitialised value of size 8
+Use of uninitialised value of size 4
at 0x........: handle_compress (origin5-bz2.c:4686)
by 0x........: BZ2_bzCompress (origin5-bz2.c:4822)
by 0x........: BZ2_bzBuffToBuffCompress (origin5-bz2.c:5630)
@@ -27,7 +27,7 @@
Uninitialised value was created by a client request
at 0x........: main (origin5-bz2.c:6479)
-Use of uninitialised value of size 8
+Use of uninitialised value of size 4
at 0x........: mainSort (origin5-bz2.c:2820)
by 0x........: BZ2_blockSort (origin5-bz2.c:3105)
by 0x........: BZ2_compressBlock (origin5-bz2.c:4034)
@@ -38,7 +38,7 @@
Uninitialised value was created by a client request
at 0x........: main (origin5-bz2.c:6479)
-Use of uninitialised value of size 8
+Use of uninitialised value of size 4
at 0x........: mainSort (origin5-bz2.c:2823)
by 0x........: BZ2_blockSort (origin5-bz2.c:3105)
by 0x........: BZ2_compressBlock (origin5-bz2.c:4034)
@@ -49,7 +49,7 @@
Uninitialised value was created by a client request
at 0x........: main (origin5-bz2.c:6479)
-Use of uninitialised value of size 8
+Use of uninitialised value of size 4
at 0x........: mainSort (origin5-bz2.c:2854)
by 0x........: BZ2_blockSort (origin5-bz2.c:3105)
by 0x........: BZ2_compressBlock (origin5-bz2.c:4034)
@@ -60,7 +60,7 @@
Uninitialised value was created by a client request
at 0x........: main (origin5-bz2.c:6479)
-Use of uninitialised value of size 8
+Use of uninitialised value of size 4
at 0x........: mainSort (origin5-bz2.c:2858)
by 0x........: BZ2_blockSort (origin5-bz2.c:3105)
by 0x........: BZ2_compressBlock (origin5-bz2.c:4034)
@@ -71,7 +71,7 @@
Uninitialised value was created by a client request
at 0x........: main (origin5-bz2.c:6479)
-Use of uninitialised value of size 8
+Use of uninitialised value of size 4
at 0x........: mainSort (origin5-bz2.c:2963)
by 0x........: BZ2_blockSort (origin5-bz2.c:3105)
by 0x........: BZ2_compressBlock (origin5-bz2.c:4034)
@@ -82,7 +82,7 @@
Uninitialised value was created by a client request
at 0x........: main (origin5-bz2.c:6479)
-Use of uninitialised value of size 8
+Use of uninitialised value of size 4
at 0x........: mainSort (origin5-bz2.c:2964)
by 0x........: BZ2_blockSort (origin5-bz2.c:3105)
by 0x........: BZ2_compressBlock (origin5-bz2.c:4034)
@@ -93,7 +93,7 @@
Uninitialised value was created by a client request
at 0x........: main (origin5-bz2.c:6479)
-Use of uninitialised value of size 8
+Use of uninitialised value of size 4
at 0x........: fallbackSort (origin5-bz2.c:2269)
by 0x........: BZ2_blockSort (origin5-bz2.c:3116)
by 0x........: BZ2_compressBlock (origin5-bz2.c:4034)
@@ -104,7 +104,7 @@
Uninitialised value was created by a client request
at 0x........: main (origin5-bz2.c:6479)
-Use of uninitialised value of size 8
+Use of uninitialised value of size 4
at 0x........: fallbackSort (origin5-bz2.c:2275)
by 0x........: BZ2_blockSort (origin5-bz2.c:3116)
by 0x........: BZ2_compressBlock (origin5-bz2.c:4034)
=================================================
./valgrind-new/memcheck/tests/origin5-bz2.stderr.diff-glibc25-x86
=================================================
--- origin5-bz2.stderr.exp-glibc25-x86 2009-07-29 03:16:12.000000000 +1000
+++ origin5-bz2.stderr.out 2009-07-29 03:22:52.000000000 +1000
@@ -28,7 +28,8 @@
at 0x........: main (origin5-bz2.c:6479)
Use of uninitialised value of size 4
- at 0x........: BZ2_blockSort (origin5-bz2.c:2820)
+ at 0x........: mainSort (origin5-bz2.c:2820)
+ by 0x........: BZ2_blockSort (origin5-bz2.c:3105)
by 0x........: BZ2_compressBlock (origin5-bz2.c:4034)
by 0x........: handle_compress (origin5-bz2.c:4753)
by 0x........: BZ2_bzCompress (origin5-bz2.c:4822)
@@ -38,7 +39,8 @@
at 0x........: main (origin5-bz2.c:6479)
Use of uninitialised value of size 4
- at 0x........: BZ2_blockSort (origin5-bz2.c:2823)
+ at 0x........: mainSort (origin5-bz2.c:2823)
+ by 0x........: BZ2_blockSort (origin5-bz2.c:3105)
by 0x........: BZ2_compressBlock (origin5-bz2.c:4034)
by 0x........: handle_compress (origin5-bz2.c:4753)
by 0x........: BZ2_bzCompress (origin5-bz2.c:4822)
@@ -48,7 +50,8 @@
at 0x........: main (origin5-bz2.c:6479)
Use of uninitialised value of size 4
- at 0x........: BZ2_blockSort (origin5-bz2.c:2855)
+ at 0x........: mainSort (origin5-bz2.c:2854)
+ by 0x........: BZ2_blockSort (origin5-bz2.c:3105)
by 0x........: BZ2_compressBlock (origin5-bz2.c:4034)
by 0x........: handle_compress (origin5-bz2.c:4753)
by 0x........: BZ2_bzCompress (origin5-bz2.c:4822)
@@ -58,7 +61,8 @@
at 0x........: main (origin5-bz2.c:6479)
Use of uninitialised value of size 4
- at 0x........: BZ2_blockSort (origin5-bz2.c:2859)
+ at 0x........: mainSort (origin5-bz2.c:2858)
+ by 0x........: BZ2_blockSort (origin5-bz2.c:3105)
by 0x........: BZ2_compressBlock (origin5-bz2.c:4034)
by 0x........: handle_compress (origin5-bz2.c:4753)
by 0x........: BZ2_bzCompress (origin5-bz2.c:4822)
@@ -68,7 +72,8 @@
at 0x........: main (origin5-bz2.c:6479)
Use of uninitialised value of size 4
- at 0x........: BZ2_blockSort (origin5-bz2.c:2963)
+ at 0x........: mainSort (origin5-bz2.c:2963)
+ by 0x........: BZ2_blockSort (origin5-bz2.c:3105)
by 0x........: BZ2_compressBlock (origin5-bz2.c:4034)
by 0x........: handle_compress (origin5-bz2.c:4753)
by 0x........: BZ2_bzCompress (origin5-bz2.c:4822)
@@ -78,7 +83,8 @@
at 0x........: main (origin5-bz2.c:6479)
Use of uninitialised value of size 4
- at 0x........: BZ2_blockSort (origin5-bz2.c:2964)
+ at 0x........: mainSort (origin5-bz2.c:2964)
+ by 0x........: BZ2_blockSort (origin5-bz2.c:3105)
by 0x........: BZ2_compressBlock (origin5-bz2.c:4034)
by 0x........: handle_compress (origin5-bz2.c:4753)
by 0x........: BZ2_bzCompress (origin5-bz2.c:4822)
=================================================
./valgrind-new/memcheck/tests/origin5-bz2.stderr.diff-glibc27-ppc64
=================================================
--- origin5-bz2.stderr.exp-glibc27-ppc64 2009-07-29 03:16:12.000000000 +1000
+++ origin5-bz2.stderr.out 2009-07-29 03:22:52.000000000 +1000
@@ -1,7 +1,7 @@
Conditional jump or move depends on uninitialised value(s)
at 0x........: main (origin5-bz2.c:6481)
Uninitialised value was created by a client request
- at 0x........: main (origin5-bz2.c:6481)
+ at 0x........: main (origin5-bz2.c:6479)
Conditional jump or move depends on uninitialised value(s)
at 0x........: handle_compress (origin5-bz2.c:4686)
@@ -9,85 +9,91 @@
by 0x........: BZ2_bzBuffToBuffCompress (origin5-bz2.c:5630)
by 0x........: main (origin5-bz2.c:6484)
Uninitialised value was created by a client request
- at 0x........: main (origin5-bz2.c:6481)
+ at 0x........: main (origin5-bz2.c:6479)
-Use of uninitialised value of size 8
+Use of uninitialised value of size 4
at 0x........: handle_compress (origin5-bz2.c:4686)
by 0x........: BZ2_bzCompress (origin5-bz2.c:4822)
by 0x........: BZ2_bzBuffToBuffCompress (origin5-bz2.c:5630)
by 0x........: main (origin5-bz2.c:6484)
Uninitialised value was created by a client request
- at 0x........: main (origin5-bz2.c:6481)
+ at 0x........: main (origin5-bz2.c:6479)
-Use of uninitialised value of size 8
+Use of uninitialised value of size 4
at 0x........: handle_compress (origin5-bz2.c:4686)
by 0x........: BZ2_bzCompress (origin5-bz2.c:4822)
by 0x........: BZ2_bzBuffToBuffCompress (origin5-bz2.c:5630)
by 0x........: main (origin5-bz2.c:6484)
Uninitialised value was created by a client request
- at 0x........: main (origin5-bz2.c:6481)
+ at 0x........: main (origin5-bz2.c:6479)
-Use of uninitialised value of size 8
- at 0x........: BZ2_blockSort (origin5-bz2.c:2820)
+Use of uninitialised value of size 4
+ at 0x........: mainSort (origin5-bz2.c:2820)
+ by 0x........: BZ2_blockSort (origin5-bz2.c:3105)
by 0x........: BZ2_compressBlock (origin5-bz2.c:4034)
by 0x........: handle_compress (origin5-bz2.c:4753)
by 0x........: BZ2_bzCompress (origin5-bz2.c:4822)
by 0x........: BZ2_bzBuffToBuffCompress (origin5-bz2.c:5630)
by 0x........: main (origin5-bz2.c:6484)
Uninitialised value was created by a client request
- at 0x........: main (origin5-bz2.c:6481)
+ at 0x........: main (origin5-bz2.c:6479)
-Use of uninitialised value of size 8
- at 0x........: BZ2_blockSort (origin5-bz2.c:2823)
+Use of uninitialised value of size 4
+ at 0x........: mainSort (origin5-bz2.c:2823)
+ by 0x........: BZ2_blockSort (origin5-bz2.c:3105)
by 0x........: BZ2_compressBlock (origin5-bz2.c:4034)
by 0x........: handle_compress (origin5-bz2.c:4753)
by 0x........: BZ2_bzCompress (origin5-bz2.c:4822)
by 0x........: BZ2_bzBuffToBuffCompress (origin5-bz2.c:5630)
by 0x........: main (origin5-bz2.c:6484)
Uninitialised value was created by a client request
- at 0x........: main (origin5-bz2.c:6481)
+ at 0x........: main (origin5-bz2.c:6479)
-Use of uninitialised value of size 8
- at 0x........: BZ2_blockSort (origin5-bz2.c:2854)
+Use of uninitialised value of size 4
+ at 0x........: mainSort (origin5-bz2.c:2854)
+ by 0x........: BZ2_blockSort (origin5-bz2.c:3105)
by 0x........: BZ2_compressBlock (origin5-bz2.c:4034)
by 0x........: handle_compress (origin5-bz2.c:4753)
by 0x........: BZ2_bzCompress (origin5-bz2.c:4822)
by 0x........: BZ2_bzBuffToBuffCompress (origin5-bz2.c:5630)
by 0x........: main (origin5-bz2.c:6484)
Uninitialised value was created by a client request
- at 0x........: main (origin5-bz2.c:6481)
+ at 0x........: main (origin5-bz2.c:6479)
-Use of uninitialised value of size 8
- at 0x........: BZ2_blockSort (origin5-bz2.c:2858)
+Use of uninitialised value of size 4
+ at 0x........: mainSort (origin5-bz2.c:2858)
+ by 0x........: BZ2_blockSort (origin5-bz2.c:3105)
by 0x........: BZ2_compressBlock (origin5-bz2.c:4034)
by 0x........: handle_compress (origin5-bz2.c:4753)
by 0x........: BZ2_bzCompress (origin5-bz2.c:4822)
by 0x........: BZ2_bzBuffToBuffCompress (origin5-bz2.c:5630)
by 0x........: main (origin5-bz2.c:6484)
Uninitialised value was created by a client request
- at 0x........: main (origin5-bz2.c:6481)
+ at 0x........: main (origin5-bz2.c:6479)
-Use of uninitialised value of size 8
- at 0x........: BZ2_blockSort (origin5-bz2.c:2963)
+Use of uninitialised value of size 4
+ at 0x........: mainSort (origin5-bz2.c:2963)
+ by 0x........: BZ2_blockSort (origin5-bz2.c:3105)
by 0x........: BZ2_compressBlock (origin5-bz2.c:4034)
<truncated beyond 100 lines>
=================================================
./valgrind-new/none/tests/empty-exe.stderr.diff
=================================================
--- empty-exe.stderr.exp 2009-07-29 03:17:10.000000000 +1000
+++ empty-exe.stderr.out 2009-07-29 03:24:12.000000000 +1000
@@ -1,2 +1,2 @@
-
-
+valgrind: wrong ELF executable class (eg. 32-bit instead of 64-bit)
+valgrind: ./empty-exe: bad interpreter (/bin/sh): VG_(strerror): unknown error
=================================================
./valgrind-new/none/tests/shell.stderr.diff
=================================================
--- shell.stderr.exp 2009-07-29 03:17:10.000000000 +1000
+++ shell.stderr.out 2009-07-29 03:24:33.000000000 +1000
@@ -1,8 +1,3 @@
-./shell: ./x86/: is a directory
-./shell: ./shell.vgtest: Permission denied
-execve(0x........(./shell_badinterp), 0x........, 0x........) failed, errno 2
-EXEC FAILED: I can't recover from execve() failing, so I'm dying.
-Add more stringent tests in PRE(sys_execve), or work out how to recover.
-./shell: ./shell_binaryfile: cannot execute binary file
-./shell: ./shell_nosuchfile: No such file or directory
-./shell: shell_nosuchfile: command not found
+valgrind: wrong ELF executable class (eg. 32-bit instead of 64-bit)
+valgrind: wrong ELF executable class (eg. 32-bit instead of 64-bit)
+valgrind: ./shell: bad interpreter (/bin/sh): VG_(strerror): unknown error
=================================================
./valgrind-new/none/tests/shell.stderr.diff-dash
=================================================
--- shell.stderr.exp-dash 2009-07-29 03:17:09.000000000 +1000
+++ shell.stderr.out 2009-07-29 03:24:33.000000000 +1000
@@ -1,8 +1,3 @@
-./shell: 10: ./x86/: Permission denied
-./shell: 13: ./shell.vgtest: Permission denied
-execve(0x........(./shell_badinterp), 0x........, 0x........) failed, errno 2
-EXEC FAILED: I can't recover from execve() failing, so I'm dying.
-Add more stringent tests in PRE(sys_execve), or work out how to recover.
-./shell_binaryfile: 4: Syntax error: ")" unexpected
-./shell: 22: ./shell_nosuchfile: not found
-./shell: 25: shell_nosuchfile: not found
+valgrind: wrong ELF executable class (eg. 32-bit instead of 64-bit)
+valgrind: wrong ELF executable class (eg. 32-bit instead of 64-bit)
+valgrind: ./shell: bad interpreter (/bin/sh): VG_(strerror): unknown error
=================================================
./valgrind-new/none/tests/shell.stdout.diff
=================================================
--- shell.stdout.exp 2009-07-29 03:17:10.000000000 +1000
+++ shell.stdout.out 2009-07-29 03:24:33.000000000 +1000
@@ -1,10 +0,0 @@
-Execute a directory
-Execute a non-executable file
-Execute a script with a bad interpreter name
-Execute a binary file
-Execute a non-existent file
-Execute a non-existent file (2)
-Execute a valid script with a #! line
-Execute a valid script without a #! line
-Execute a valid script with #! but no interpname
-Execute a zero-length file
=================================================
./valgrind-new/none/tests/shell_valid1.stderr.diff
=================================================
--- shell_valid1.stderr.exp 2009-07-29 03:17:10.000000000 +1000
+++ shell_valid1.stderr.out 2009-07-29 03:24:33.000000000 +1000
@@ -0,0 +1,3 @@
+valgrind: wrong ELF executable class (eg. 32-bit instead of 64-bit)
+valgrind: wrong ELF executable class (eg. 32-bit instead of 64-bit)
+valgrind: ./shell_valid1: bad interpreter (/bin/sh): VG_(strerror): unknown error
=================================================
./valgrind-new/none/tests/shell_valid2.stderr.diff
=================================================
--- shell_valid2.stderr.exp 2009-07-29 03:17:10.000000000 +1000
+++ shell_valid2.stderr.out 2009-07-29 03:24:33.000000000 +1000
@@ -0,0 +1,2 @@
+valgrind: wrong ELF executable class (eg. 32-bit instead of 64-bit)
+valgrind: ./shell_valid2: bad interpreter (/bin/sh): VG_(strerror): unknown error
=================================================
./valgrind-new/none/tests/shell_valid3.stderr.diff
=================================================
--- shell_valid3.stderr.exp 2009-07-29 03:17:10.000000000 +1000
+++ shell_valid3.stderr.out 2009-07-29 03:24:33.000000000 +1000
@@ -0,0 +1,2 @@
+valgrind: wrong ELF executable class (eg. 32-bit instead of 64-bit)
+valgrind: ./shell_valid3: bad interpreter (/bin/sh): VG_(strerror): unknown error
=================================================
./valgrind-new/none/tests/shell_zerolength.stderr.diff
=================================================
--- shell_zerolength.stderr.exp 2009-07-29 03:17:10.000000000 +1000
+++ shell_zerolength.stderr.out 2009-07-29 03:24:33.000000000 +1000
@@ -0,0 +1,2 @@
+valgrind: wrong ELF executable class (eg. 32-bit instead of 64-bit)
+valgrind: ./shell_zerolength: bad interpreter (/bin/sh): VG_(strerror): unknown error
=================================================
./valgrind-new/none/tests/shell_zerolength.stderr.diff-dash
=================================================
--- shell_zerolength.stderr.exp-dash 2009-07-29 03:17:10.000000000 +1000
+++ shell_zerolength.stderr.out 2009-07-29 03:24:33.000000000 +1000
@@ -1 +1,2 @@
-Bus error
+valgrind: wrong ELF executable class (eg. 32-bit instead of 64-bit)
+valgrind: ./shell_zerolength: bad interpreter (/bin/sh): VG_(strerror): unknown error
=================================================
./valgrind-old/exp-ptrcheck/tests/supp.stderr.diff
=================================================
--- supp.stderr.exp 2009-07-29 03:00:58.000000000 +1000
+++ supp.stderr.out 2009-07-29 03:14:56.000000000 +1000
@@ -1,7 +1,7 @@
Syscall param write(buf) is non-contiguous
- at 0x........: write (in /...libc...)
- by 0x........: main (supp.c:16)
+ at 0x........: ??? (in /lib32/ld-2.9.so)
+ by 0x........: (below main)
First byte (0x........) is 3 bytes inside a 6-byte block alloc'd
at 0x........: malloc (vg_replace_malloc.c:...)
by 0x........: main (supp.c:12)
=================================================
./valgrind-old/helgrind/tests/tc06_two_races_xml.stderr.diff
=================================================
--- tc06_two_races_xml.stderr.exp 2009-07-29 03:00:45.000000000 +1000
+++ tc06_two_races_xml.stderr.out 2009-07-29 03:12:15.000000000 +1000
@@ -43,16 +43,6 @@
<frame>
<ip>0x........</ip>
<obj>...</obj>
- <fn>do_clone</fn>
- </frame>
- <frame>
- <ip>0x........</ip>
- <obj>...</obj>
- <fn>pthread_create@@GLIBC_2.2.5</fn>
- </frame>
- <frame>
- <ip>0x........</ip>
- <obj>...</obj>
<fn>pthread_create_WRK</fn>
<dir>...</dir>
<file>hg_intercepts.c</file>
=================================================
./valgrind-old/memcheck/tests/origin5-bz2.stderr.diff-glibc25-amd64
=================================================
--- origin5-bz2.stderr.exp-glibc25-amd64 2009-07-29 03:01:51.000000000 +1000
+++ origin5-bz2.stderr.out 2009-07-29 03:09:48.000000000 +1000
@@ -11,7 +11,7 @@
Uninitialised value was created by a client request
at 0x........: main (origin5-bz2.c:6479)
-Use of uninitialised value of size 8
+Use of uninitialised value of size 4
at 0x........: handle_compress (origin5-bz2.c:4686)
by 0x........: BZ2_bzCompress (origin5-bz2.c:4822)
by 0x........: BZ2_bzBuffToBuffCompress (origin5-bz2.c:5630)
@@ -19,7 +19,7 @@
Uninitialised value was created by a client request
at 0x........: main (origin5-bz2.c:6479)
-Use of uninitialised value of size 8
+Use of uninitialised value of size 4
at 0x........: handle_compress (origin5-bz2.c:4686)
by 0x........: BZ2_bzCompress (origin5-bz2.c:4822)
by 0x........: BZ2_bzBuffToBuffCompress (origin5-bz2.c:5630)
@@ -27,7 +27,7 @@
Uninitialised value was created by a client request
at 0x........: main (origin5-bz2.c:6479)
-Use of uninitialised value of size 8
+Use of uninitialised value of size 4
at 0x........: mainSort (origin5-bz2.c:2820)
by 0x........: BZ2_blockSort (origin5-bz2.c:3105)
by 0x........: BZ2_compressBlock (origin5-bz2.c:4034)
@@ -38,7 +38,7 @@
Uninitialised value was created by a client request
at 0x........: main (origin5-bz2.c:6479)
-Use of uninitialised value of size 8
+Use of uninitialised value of size 4
at 0x........: mainSort (origin5-bz2.c:2823)
by 0x........: BZ2_blockSort (origin5-bz2.c:3105)
by 0x........: BZ2_compressBlock (origin5-bz2.c:4034)
@@ -49,7 +49,7 @@
Uninitialised value was created by a client request
at 0x........: main (origin5-bz2.c:6479)
-Use of uninitialised value of size 8
+Use of uninitialised value of size 4
at 0x........: mainSort (origin5-bz2.c:2854)
by 0x........: BZ2_blockSort (origin5-bz2.c:3105)
by 0x........: BZ2_compressBlock (origin5-bz2.c:4034)
@@ -60,7 +60,7 @@
Uninitialised value was created by a client request
at 0x........: main (origin5-bz2.c:6479)
-Use of uninitialised value of size 8
+Use of uninitialised value of size 4
at 0x........: mainSort (origin5-bz2.c:2858)
by 0x........: BZ2_blockSort (origin5-bz2.c:3105)
by 0x........: BZ2_compressBlock (origin5-bz2.c:4034)
@@ -71,7 +71,7 @@
Uninitialised value was created by a client request
at 0x........: main (origin5-bz2.c:6479)
-Use of uninitialised value of size 8
+Use of uninitialised value of size 4
at 0x........: mainSort (origin5-bz2.c:2963)
by 0x........: BZ2_blockSort (origin5-bz2.c:3105)
by 0x........: BZ2_compressBlock (origin5-bz2.c:4034)
@@ -82,7 +82,7 @@
Uninitialised value was created by a client request
at 0x........: main (origin5-bz2.c:6479)
-Use of uninitialised value of size 8
+Use of uninitialised value of size 4
at 0x........: mainSort (origin5-bz2.c:2964)
by 0x........: BZ2_blockSort (origin5-bz2.c:3105)
by 0x........: BZ2_compressBlock (origin5-bz2.c:4034)
@@ -93,7 +93,7 @@
Uninitialised value was created by a client request
at 0x........: main (origin5-bz2.c:6479)
-Use of uninitialised value of size 8
+Use of uninitialised value of size 4
at 0x........: fallbackSort (origin5-bz2.c:2269)
by 0x........: BZ2_blockSort (origin5-bz2.c:3116)
by 0x........: BZ2_compressBlock (origin5-bz2.c:4034)
@@ -104,7 +104,7 @@
Uninitialised value was created by a client request
at 0x........: main (origin5-bz2.c:6479)
-Use of uninitialised value of size 8
+Use of uninitialised value of size 4
at 0x........: fallbackSort (origin5-bz2.c:2275)
by 0x........: BZ2_blockSort (origin5-bz2.c:3116)
by 0x........: BZ2_compressBlock (origin5-bz2.c:4034)
=================================================
./valgrind-old/memcheck/tests/origin5-bz2.stderr.diff-glibc25-x86
=================================================
--- origin5-bz2.stderr.exp-glibc25-x86 2009-07-29 03:01:51.000000000 +1000
+++ origin5-bz2.stderr.out 2009-07-29 03:09:48.000000000 +1000
@@ -28,7 +28,8 @@
at 0x........: main (origin5-bz2.c:6479)
Use of uninitialised value of size 4
- at 0x........: BZ2_blockSort (origin5-bz2.c:2820)
+ at 0x........: mainSort (origin5-bz2.c:2820)
+ by 0x........: BZ2_blockSort (origin5-bz2.c:3105)
by 0x........: BZ2_compressBlock (origin5-bz2.c:4034)
by 0x........: handle_compress (origin5-bz2.c:4753)
by 0x........: BZ2_bzCompress (origin5-bz2.c:4822)
@@ -38,7 +39,8 @@
at 0x........: main (origin5-bz2.c:6479)
Use of uninitialised value of size 4
- at 0x........: BZ2_blockSort (origin5-bz2.c:2823)
+ at 0x........: mainSort (origin5-bz2.c:2823)
+ by 0x........: BZ2_blockSort (origin5-bz2.c:3105)
by 0x........: BZ2_compressBlock (origin5-bz2.c:4034)
by 0x........: handle_compress (origin5-bz2.c:4753)
by 0x........: BZ2_bzCompress (origin5-bz2.c:4822)
@@ -48,7 +50,8 @@
at 0x........: main (origin5-bz2.c:6479)
Use of uninitialised value of size 4
- at 0x........: BZ2_blockSort (origin5-bz2.c:2855)
+ at 0x........: mainSort (origin5-bz2.c:2854)
+ by 0x........: BZ2_blockSort (origin5-bz2.c:3105)
by 0x........: BZ2_compressBlock (origin5-bz2.c:4034)
by 0x........: handle_compress (origin5-bz2.c:4753)
by 0x........: BZ2_bzCompress (origin5-bz2.c:4822)
@@ -58,7 +61,8 @@
at 0x........: main (origin5-bz2.c:6479)
Use of uninitialised value of size 4
- at 0x........: BZ2_blockSort (origin5-bz2.c:2859)
+ at 0x........: mainSort (origin5-bz2.c:2858)
+ by 0x........: BZ2_blockSort (origin5-bz2.c:3105)
by 0x........: BZ2_compressBlock (origin5-bz2.c:4034)
by 0x........: handle_compress (origin5-bz2.c:4753)
by 0x........: BZ2_bzCompress (origin5-bz2.c:4822)
@@ -68,7 +72,8 @@
at 0x........: main (origin5-bz2.c:6479)
Use of uninitialised value of size 4
- at 0x........: BZ2_blockSort (origin5-bz2.c:2963)
+ at 0x........: mainSort (origin5-bz2.c:2963)
+ by 0x........: BZ2_blockSort (origin5-bz2.c:3105)
by 0x........: BZ2_compressBlock (origin5-bz2.c:4034)
by 0x........: handle_compress (origin5-bz2.c:4753)
by 0x........: BZ2_bzCompress (origin5-bz2.c:4822)
@@ -78,7 +83,8 @@
at 0x........: main (origin5-bz2.c:6479)
Use of uninitialised value of size 4
- at 0x........: BZ2_blockSort (origin5-bz2.c:2964)
+ at 0x........: mainSort (origin5-bz2.c:2964)
+ by 0x........: BZ2_blockSort (origin5-bz2.c:3105)
by 0x........: BZ2_compressBlock (origin5-bz2.c:4034)
by 0x........: handle_compress (origin5-bz2.c:4753)
by 0x........: BZ2_bzCompress (origin5-bz2.c:4822)
=================================================
./valgrind-old/memcheck/tests/origin5-bz2.stderr.diff-glibc27-ppc64
=================================================
--- origin5-bz2.stderr.exp-glibc27-ppc64 2009-07-29 03:01:51.000000000 +1000
+++ origin5-bz2.stderr.out 2009-07-29 03:09:48.000000000 +1000
@@ -1,7 +1,7 @@
Conditional jump or move depends on uninitialised value(s)
at 0x........: main (origin5-bz2.c:6481)
Uninitialised value was created by a client request
- at 0x........: main (origin5-bz2.c:6481)
+ at 0x........: main (origin5-bz2.c:6479)
Conditional jump or move depends on uninitialised value(s)
at 0x........: handle_compress (origin5-bz2.c:4686)
@@ -9,85 +9,91 @@
by 0x........: BZ2_bzBuffToBuffCompress (origin5-bz2.c:5630)
by 0x........: main (origin5-bz2.c:6484)
Uninitialised value was created by a client request
- at 0x........: main (origin5-bz2.c:6481)
+ at 0x........: main (origin5-bz2.c:6479)
-Use of uninitialised value of size 8
+Use of uninitialised value of size 4
at 0x........: handle_compress (origin5-bz2.c:4686)
by 0x........: BZ2_bzCompress (origin5-bz2.c:4822)
by 0x........: BZ2_bzBuffToBuffCompress (origin5-bz2.c:5630)
by 0x........: main (origin5-bz2.c:6484)
Uninitialised value was created by a client request
- at 0x........: main (origin5-bz2.c:6481)
+ at 0x........: main (origin5-bz2.c:6479)
-Use of uninitialised value of size 8
+Use of uninitialised value of size 4
at 0x........: handle_compress (origin5-bz2.c:4686)
by 0x........: BZ2_bzCompress (origin5-bz2.c:4822)
by 0x........: BZ2_bzBuffToBuffCompress (origin5-bz2.c:5630)
by 0x........: main (origin5-bz2.c:6484)
Uninitialised value was created by a client request
- at 0x........: main (origin5-bz2.c:6481)
+ at 0x........: main (origin5-bz2.c:6479)
-Use of uninitialised value of size 8
- at 0x........: BZ2_blockSort (origin5-bz2.c:2820)
+Use of uninitialised value of size 4
+ at 0x........: mainSort (origin5-bz2.c:2820)
+ by 0x........: BZ2_blockSort (origin5-bz2.c:3105)
by 0x........: BZ2_compressBlock (origin5-bz2.c:4034)
by 0x........: handle_compress (origin5-bz2.c:4753)
by 0x........: BZ2_bzCompress (origin5-bz2.c:4822)
by 0x........: BZ2_bzBuffToBuffCompress (origin5-bz2.c:5630)
by 0x........: main (origin5-bz2.c:6484)
Uninitialised value was created by a client request
- at 0x........: main (origin5-bz2.c:6481)
+ at 0x........: main (origin5-bz2.c:6479)
-Use of uninitialised value of size 8
- at 0x........: BZ2_blockSort (origin5-bz2.c:2823)
+Use of uninitialised value of size 4
+ at 0x........: mainSort (origin5-bz2.c:2823)
+ by 0x........: BZ2_blockSort (origin5-bz2.c:3105)
by 0x........: BZ2_compressBlock (origin5-bz2.c:4034)
by 0x........: handle_compress (origin5-bz2.c:4753)
by 0x........: BZ2_bzCompress (origin5-bz2.c:4822)
by 0x........: BZ2_bzBuffToBuffCompress (origin5-bz2.c:5630)
by 0x........: main (origin5-bz2.c:6484)
Uninitialised value was created by a client request
- at 0x........: main (origin5-bz2.c:6481)
+ at 0x........: main (origin5-bz2.c:6479)
-Use of uninitialised value of size 8
- at 0x........: BZ2_blockSort (origin5-bz2.c:2854)
+Use of uninitialised value of size 4
+ at 0x........: mainSort (origin5-bz2.c:2854)
+ by 0x........: BZ2_blockSort (origin5-bz2.c:3105)
by 0x........: BZ2_compressBlock (origin5-bz2.c:4034)
by 0x........: handle_compress (origin5-bz2.c:4753)
by 0x........: BZ2_bzCompress (origin5-bz2.c:4822)
by 0x........: BZ2_bzBuffToBuffCompress (origin5-bz2.c:5630)
by 0x........: main (origin5-bz2.c:6484)
Uninitialised value was created by a client request
- at 0x........: main (origin5-bz2.c:6481)
+ at 0x........: main (origin5-bz2.c:6479)
-Use of uninitialised value of size 8
- at 0x........: BZ2_blockSort (origin5-bz2.c:2858)
+Use of uninitialised value of size 4
+ at 0x........: mainSort (origin5-bz2.c:2858)
+ by 0x........: BZ2_blockSort (origin5-bz2.c:3105)
by 0x........: BZ2_compressBlock (origin5-bz2.c:4034)
by 0x........: handle_compress (origin5-bz2.c:4753)
by 0x........: BZ2_bzCompress (origin5-bz2.c:4822)
by 0x........: BZ2_bzBuffToBuffCompress (origin5-bz2.c:5630)
by 0x........: main (origin5-bz2.c:6484)
Uninitialised value was created by a client request
- at 0x........: main (origin5-bz2.c:6481)
+ at 0x........: main (origin5-bz2.c:6479)
-Use of uninitialised value of size 8
- at 0x........: BZ2_blockSort (origin5-bz2.c:2963)
+Use of uninitialised value of size 4
+ at 0x........: mainSort (origin5-bz2.c:2963)
+ by 0x........: BZ2_blockSort (origin5-bz2.c:3105)
by 0x........: BZ2_compressBlock (origin5-bz2.c:4034)
<truncated beyond 100 lines>
=================================================
./valgrind-old/none/tests/empty-exe.stderr.diff
=================================================
--- empty-exe.stderr.exp 2009-07-29 03:03:16.000000000 +1000
+++ empty-exe.stderr.out 2009-07-29 03:11:08.000000000 +1000
@@ -1,2 +1,2 @@
-
-
+valgrind: wrong ELF executable class (eg. 32-bit instead of 64-bit)
+valgrind: ./empty-exe: bad interpreter (/bin/sh): VG_(strerror): unknown error
=================================================
./valgrind-old/none/tests/shell.stderr.diff
=================================================
--- shell.stderr.exp 2009-07-29 03:03:16.000000000 +1000
+++ shell.stderr.out 2009-07-29 03:11:29.000000000 +1000
@@ -1,8 +1,3 @@
-./shell: ./x86/: is a directory
-./shell: ./shell.vgtest: Permission denied
-execve(0x........(./shell_badinterp), 0x........, 0x........) failed, errno 2
-EXEC FAILED: I can't recover from execve() failing, so I'm dying.
-Add more stringent tests in PRE(sys_execve), or work out how to recover.
-./shell: ./shell_binaryfile: cannot execute binary file
-./shell: ./shell_nosuchfile: No such file or directory
-./shell: shell_nosuchfile: command not found
+valgrind: wrong ELF executable class (eg. 32-bit instead of 64-bit)
+valgrind: wrong ELF executable class (eg. 32-bit instead of 64-bit)
+valgrind: ./shell: bad interpreter (/bin/sh): VG_(strerror): unknown error
=================================================
./valgrind-old/none/tests/shell.stderr.diff-dash
=================================================
--- shell.stderr.exp-dash 2009-07-29 03:03:16.000000000 +1000
+++ shell.stderr.out 2009-07-29 03:11:29.000000000 +1000
@@ -1,8 +1,3 @@
-./shell: 10: ./x86/: Permission denied
-./shell: 13: ./shell.vgtest: Permission denied
-execve(0x........(./shell_badinterp), 0x........, 0x........) failed, errno 2
-EXEC FAILED: I can't recover from execve() failing, so I'm dying.
-Add more stringent tests in PRE(sys_execve), or work out how to recover.
-./shell_binaryfile: 4: Syntax error: ")" unexpected
-./shell: 22: ./shell_nosuchfile: not found
-./shell: 25: shell_nosuchfile: not found
+valgrind: wrong ELF executable class (eg. 32-bit instead of 64-bit)
+valgrind: wrong ELF executable class (eg. 32-bit instead of 64-bit)
+valgrind: ./shell: bad interpreter (/bin/sh): VG_(strerror): unknown error
=================================================
./valgrind-old/none/tests/shell.stdout.diff
=================================================
--- shell.stdout.exp 2009-07-29 03:03:16.000000000 +1000
+++ shell.stdout.out 2009-07-29 03:11:29.000000000 +1000
@@ -1,10 +0,0 @@
-Execute a directory
-Execute a non-executable file
-Execute a script with a bad interpreter name
-Execute a binary file
-Execute a non-existent file
-Execute a non-existent file (2)
-Execute a valid script with a #! line
-Execute a valid script without a #! line
-Execute a valid script with #! but no interpname
-Execute a zero-length file
=================================================
./valgrind-old/none/tests/shell_valid1.stderr.diff
=================================================
--- shell_valid1.stderr.exp 2009-07-29 03:03:16.000000000 +1000
+++ shell_valid1.stderr.out 2009-07-29 03:11:29.000000000 +1000
@@ -0,0 +1,3 @@
+valgrind: wrong ELF executable class (eg. 32-bit instead of 64-bit)
+valgrind: wrong ELF executable class (eg. 32-bit instead of 64-bit)
+valgrind: ./shell_valid1: bad interpreter (/bin/sh): VG_(strerror): unknown error
=================================================
./valgrind-old/none/tests/shell_valid2.stderr.diff
=================================================
--- shell_valid2.stderr.exp 2009-07-29 03:03:16.000000000 +1000
+++ shell_valid2.stderr.out 2009-07-29 03:11:29.000000000 +1000
@@ -0,0 +1,2 @@
+valgrind: wrong ELF executable class (eg. 32-bit instead of 64-bit)
+valgrind: ./shell_valid2: bad interpreter (/bin/sh): VG_(strerror): unknown error
=================================================
./valgrind-old/none/tests/shell_valid3.stderr.diff
=================================================
--- shell_valid3.stderr.exp 2009-07-29 03:03:16.000000000 +1000
+++ shell_valid3.stderr.out 2009-07-29 03:11:29.000000000 +1000
@@ -0,0 +1,2 @@
+valgrind: wrong ELF executable class (eg. 32-bit instead of 64-bit)
+valgrind: ./shell_valid3: bad interpreter (/bin/sh): VG_(strerror): unknown error
=================================================
./valgrind-old/none/tests/shell_zerolength.stderr.diff
=================================================
--- shell_zerolength.stderr.exp 2009-07-29 03:03:16.000000000 +1000
+++ shell_zerolength.stderr.out 2009-07-29 03:11:29.000000000 +1000
@@ -0,0 +1,2 @@
+valgrind: wrong ELF executable class (eg. 32-bit instead of 64-bit)
+valgrind: ./shell_zerolength: bad interpreter (/bin/sh): VG_(strerror): unknown error
=================================================
./valgrind-old/none/tests/shell_zerolength.stderr.diff-dash
=================================================
--- shell_zerolength.stderr.exp-dash 2009-07-29 03:03:16.000000000 +1000
+++ shell_zerolength.stderr.out 2009-07-29 03:11:29.000000000 +1000
@@ -1 +1,2 @@
-Bus error
+valgrind: wrong ELF executable class (eg. 32-bit instead of 64-bit)
+valgrind: ./shell_zerolength: bad interpreter (/bin/sh): VG_(strerror): unknown error
|
|
From: Nicholas N. <n.n...@gm...> - 2009-07-28 16:33:13
|
Nightly build on ocean ( Ubuntu 9.04, x86_64 )
Started at 2009-07-29 02:00:01 EST
Ended at 2009-07-29 02:32:55 EST
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
== 525 tests, 1 stderr failure, 0 stdout failures, 0 post failures ==
helgrind/tests/tc06_two_races_xml (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
== 524 tests, 1 stderr failure, 0 stdout failures, 0 post failures ==
helgrind/tests/tc06_two_races_xml (stderr)
=================================================
== Difference between 24 hours ago and now ==
=================================================
*** old.short Wed Jul 29 02:14:18 2009
--- new.short Wed Jul 29 02:32:55 2009
***************
*** 8,10 ****
! == 524 tests, 1 stderr failure, 0 stdout failures, 0 post failures ==
helgrind/tests/tc06_two_races_xml (stderr)
--- 8,10 ----
! == 525 tests, 1 stderr failure, 0 stdout failures, 0 post failures ==
helgrind/tests/tc06_two_races_xml (stderr)
=================================================
./valgrind-new/helgrind/tests/tc06_two_races_xml.stderr.diff
=================================================
--- tc06_two_races_xml.stderr.exp 2009-07-29 02:15:01.000000000 +1000
+++ tc06_two_races_xml.stderr.out 2009-07-29 02:30:31.000000000 +1000
@@ -43,11 +43,6 @@
<frame>
<ip>0x........</ip>
<obj>...</obj>
- <fn>do_clone</fn>
- </frame>
- <frame>
- <ip>0x........</ip>
- <obj>...</obj>
<fn>pthread_create@@GLIBC_2.2.5</fn>
</frame>
<frame>
=================================================
./valgrind-old/helgrind/tests/tc06_two_races_xml.stderr.diff
=================================================
--- tc06_two_races_xml.stderr.exp 2009-07-29 02:00:35.000000000 +1000
+++ tc06_two_races_xml.stderr.out 2009-07-29 02:11:53.000000000 +1000
@@ -43,11 +43,6 @@
<frame>
<ip>0x........</ip>
<obj>...</obj>
- <fn>do_clone</fn>
- </frame>
- <frame>
- <ip>0x........</ip>
- <obj>...</obj>
<fn>pthread_create@@GLIBC_2.2.5</fn>
</frame>
<frame>
|
|
From: <sv...@va...> - 2009-07-28 12:54:59
|
Author: bart
Date: 2009-07-28 13:54:47 +0100 (Tue, 28 Jul 2009)
New Revision: 10649
Log:
Reran SPLASH-2 benchmark.
Modified:
trunk/drd/scripts/run-splash2
Modified: trunk/drd/scripts/run-splash2
===================================================================
--- trunk/drd/scripts/run-splash2 2009-07-28 08:03:31 UTC (rev 10648)
+++ trunk/drd/scripts/run-splash2 2009-07-28 12:54:47 UTC (rev 10649)
@@ -69,9 +69,17 @@
--drd-stats=yes "$@" -p${psep}${p} "${test_args}"
p=4
- test_output="${1}-helgrind-4.out" \
- print_runtime_ratio "${avg4}" "${stddev4}" "${vsz4}" "${vszdev4}" "$VG" --tool=helgrind "$@" -p${psep}${p} "${test_args}"
+ test_output="${1}-helgrind-4-none.out" \
+ print_runtime_ratio "${avg4}" "${stddev4}" "${vsz4}" "${vszdev4}" "$VG" --tool=helgrind --history-level=none "$@" -p${psep}${p} "${test_args}"
+ p=4
+ test_output="${1}-helgrind-4-partial.out" \
+ print_runtime_ratio "${avg4}" "${stddev4}" "${vsz4}" "${vszdev4}" "$VG" --tool=helgrind --history-level=partial "$@" -p${psep}${p} "${test_args}"
+
+ p=4
+ test_output="${1}-helgrind-4-full.out" \
+ print_runtime_ratio "${avg4}" "${stddev4}" "${vsz4}" "${vszdev4}" "$VG" --tool=helgrind --history-level=full "$@" -p${psep}${p} "${test_args}"
+
echo ''
}
@@ -117,10 +125,14 @@
# 13. Virtual memory size ratio for --tool=drd --check-stack-var=yes -p4 versus -p4.
# 14. Execution time ratio for --tool=drd --check-stack-var=no -p4 versus -p4.
# 15. Virtual memory size ratio for --tool=drd --check-stack-var=no -p4 versus -p4.
-# 16. Execution time ratio for --tool=helgrind -p4 versus -p4.
-# 17. Virtual memory size ratio for --tool=helgrind -p4 versus -p4.
-# 18. Execution time ratio for Intel Thread Checker -p4 versus -p4.
-# 19. Execution time ratio for Intel Thread Checker -p4 versus -p4.
+# 16. Execution time ratio for --tool=helgrind --history-level=none -p4 versus -p4.
+# 17. Virtual memory size ratio for --tool=helgrind --history-level=none -p4 versus -p4.
+# 18. Execution time ratio for --tool=helgrind --history-level=partial -p4 versus -p4.
+# 19. Virtual memory size ratio for --tool=helgrind --history-level=partial -p4 versus -p4.
+# 20. Execution time ratio for --tool=helgrind --history-level=full -p4 versus -p4.
+# 21. Virtual memory size ratio for --tool=helgrind --history-level=full -p4 versus -p4.
+# 22. Execution time ratio for Intel Thread Checker -p4 versus -p4.
+# 23. Execution time ratio for Intel Thread Checker -p4 versus -p4.
#
# Notes:
# - Both Helgrind and DRD use a granularity of one byte for data race detection.
@@ -131,25 +143,25 @@
# granularity does ITC use ? And which m4 macro's have been used by ITC as
# implementation of the synchronization primitives ?
#
-# 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19
-############################################################################################################################
-# Results: native native native none none DRD DRD HG ITC ITC
-# -p1 -p2 -p4 -p1 -p4 -p4 -p4+f -p4 -p4 -p4+f
-# ..........................................................................................................................
-# Cholesky 0.09 12016 0.06 22016 0.55 42352 13.4 4.86 2.4 2.08 22 2.34 11 2.53 25 5.94 239 82
-# FFT 0.02 6692 0.02 15912 0.02 31963 16.5 7.92 18.0 2.43 151 2.97 53 3.22 103 5.48 90 41
-# LU, contiguous 0.07 4100 0.04 12304 0.04 28712 12.9 12.29 22.5 2.62 180 2.87 87 3.16 178 5.53 428 128
-# Ocean, contiguous 0.22 16848 0.14 25384 0.15 42528 6.6 3.75 10.5 2.09 112 2.65 77 2.90 271 5.95 90 28
-# Radix 0.20 15136 0.10 23336 0.13 40069 12.9 4.06 20.2 2.15 58 2.66 38 2.90 95 6.03 222 56
-# Raytrace 0.69 207104 0.48 215296 0.48 232362 8.1 1.22 11.6 1.20 422 1.35 76 1.38 212 3.78 172 53
-# Water-n2 0.16 10696 0.09 27072 0.11 59832 14.1 5.40 20.4 1.79 3220 2.98 256 3.04 94 3.54 189 39
-# Water-sp 0.20 4444 0.10 13536 0.10 29928 10.5 11.42 21.3 2.52 399 3.03 53 3.44 93 4.76 183 34
-# ..........................................................................................................................
-# geometric mean 0.14 13024 0.09 25883 0.12 47866 11.4 5.21 13.4 2.06 195 2.54 59 2.73 110 5.03 180 51
-# ..........................................................................................................................
-# Hardware: dual-core Intel Core2 Duo E6750, 2.66 GHz, 4 MB L2 cache, 2 GB RAM.
-# Software: openSUSE 11.0 (64-bit edition), runlevel 3, gcc 4.3.1, 32 bit SPLASH-2 executables, valgrind trunk r10380.
-############################################################################################################################
+# 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23
+################################################################################################################################################
+# Results: native native native none none DRD DRD HG HG HG ITC ITC
+# -p1 -p2 -p4 -p1 -p4 -p4 -p4+f -p4 -p4 -p4 -p4 -p4+f
+# ..............................................................................................................................................
+# Cholesky 0.11 12016 0.06 22016 0.55 41328 10.3 4.92 1.7 2.14 15 2.61 8 2.61 10 3.96 10 3.96 15 6.14 239 82
+# FFT 0.02 6692 0.02 14888 0.02 31621 17.0 8.01 20.0 2.48 114 3.15 64 3.28 81 4.52 81 4.52 116 5.56 90 41
+# LU, contiguous 0.08 4100 0.05 12304 0.06 28712 11.1 12.44 18.5 2.64 104 3.18 70 3.18 87 4.84 89 4.84 118 5.55 428 128
+# Ocean, contiguous 0.23 16848 0.19 25384 0.23 42528 6.3 3.78 8.3 2.11 87 2.82 62 4.02 71 3.75 71 3.75 195 5.96 90 28
+# Radix 0.21 15136 0.14 23336 0.15 39728 12.6 4.10 22.3 2.19 61 2.87 41 2.94 52 4.03 52 4.03 85 6.13 222 56
+# Raytrace 0.63 207104 0.49 215296 0.49 231680 8.9 1.23 12.9 1.20 385 1.38 86 2.10 158 3.70 160 3.70 222 4.15 172 53
+# Water-n2 0.18 10696 0.09 27072 0.11 59832 12.5 5.46 26.7 1.80 3092 3.03 263 3.06 92 3.28 92 3.28 92 3.55 189 39
+# Water-sp 0.20 4444 0.15 13536 0.10 30269 10.6 11.56 27.0 2.52 405 3.29 69 3.42 95 4.59 95 4.59 97 4.73 183 34
+# ..............................................................................................................................................
+# geometric mean 0.14 13024 0.10 25669 0.14 47655 10.8 5.26 13.5 2.08 161 2.71 59 3.03 66 4.05 66 4.05 95 5.13 180 51
+# ..............................................................................................................................................
+# Hardware: dual-core Intel Core2 Duo E6750, 2.66 GHz, 4 MB L2 cache, 2 GB RAM.
+# Software: openSUSE 11.0 (64-bit edition), runlevel 3, kernel 2.6.30.1, gcc 4.3.1, 32 bit SPLASH-2 executables, valgrind trunk r10648.
+################################################################################################################################################
####
# Notes:
|
|
From: Josef W. <Jos...@gm...> - 2009-07-28 12:33:03
|
On Tuesday 28 July 2009, Samuel Bronson wrote: > It shouldn't be hard to at least do as well as ltrace does here; what > it does is all based on config files like this: > > ... > ; ctype.h > char tolower(char); > char toupper(char); > ... No. ltrace has one big advantage: it only logs exported symbols, which have to adhere to the ABI, ie. to a fixed convention on the given platform. For other symbols, nothing is guaranteed. Especially, argument passing for the same function could change with different compilation options. Thus, a config file can not work. You have to use debug information here. Josef |
|
From: Bart V. A. <bar...@gm...> - 2009-07-28 10:20:26
|
Nightly build on georgia-tech-cellbuzz-native ( cellbuzz, ppc64, Fedora 7, native ) Started at 2009-07-28 04:39:12 EDT Ended at 2009-07-28 06:20:10 EDT Results differ from 24 hours ago Checking out valgrind source tree ... done Configuring valgrind ... done Building valgrind ... done Running regression tests ... done Regression test results follow == 436 tests, 44 stderr failures, 9 stdout failures, 0 post failures == memcheck/tests/deep_templates (stdout) memcheck/tests/leak-cases-full (stderr) memcheck/tests/leak-cases-summary (stderr) memcheck/tests/leak-cycle (stderr) memcheck/tests/origin5-bz2 (stderr) memcheck/tests/varinfo1 (stderr) memcheck/tests/varinfo2 (stderr) memcheck/tests/varinfo3 (stderr) memcheck/tests/varinfo4 (stderr) memcheck/tests/varinfo5 (stderr) memcheck/tests/varinfo6 (stderr) memcheck/tests/wrap8 (stderr) none/tests/empty-exe (stderr) none/tests/linux/mremap (stderr) none/tests/ppc32/jm-fp (stdout) none/tests/ppc32/jm-vmx (stdout) none/tests/ppc32/round (stdout) none/tests/ppc32/test_gx (stdout) none/tests/ppc64/jm-fp (stdout) none/tests/ppc64/jm-vmx (stdout) none/tests/ppc64/round (stdout) none/tests/shell (stdout) none/tests/shell (stderr) none/tests/shell_valid1 (stderr) none/tests/shell_valid2 (stderr) none/tests/shell_valid3 (stderr) none/tests/shell_zerolength (stderr) helgrind/tests/hg05_race2 (stderr) helgrind/tests/tc06_two_races_xml (stderr) helgrind/tests/tc22_exit_w_lock (stderr) helgrind/tests/tc23_bogus_condwait (stderr) exp-ptrcheck/tests/bad_percentify (stderr) exp-ptrcheck/tests/base (stderr) exp-ptrcheck/tests/ccc (stderr) exp-ptrcheck/tests/fp (stderr) exp-ptrcheck/tests/globalerr (stderr) exp-ptrcheck/tests/hackedbz2 (stderr) exp-ptrcheck/tests/hp_bounds (stderr) exp-ptrcheck/tests/hp_dangle (stderr) exp-ptrcheck/tests/hsg (stderr) exp-ptrcheck/tests/justify (stderr) exp-ptrcheck/tests/partial_bad (stderr) exp-ptrcheck/tests/partial_good (stderr) exp-ptrcheck/tests/preen_invars (stderr) exp-ptrcheck/tests/pth_create (stderr) exp-ptrcheck/tests/pth_specific (stderr) exp-ptrcheck/tests/realloc (stderr) exp-ptrcheck/tests/stackerr (stderr) exp-ptrcheck/tests/strcpy (stderr) exp-ptrcheck/tests/supp (stderr) exp-ptrcheck/tests/tricky (stderr) exp-ptrcheck/tests/unaligned (stderr) exp-ptrcheck/tests/zero (stderr) ================================================= == Results from 24 hours ago == ================================================= Checking out valgrind source tree ... done Configuring valgrind ... done Building valgrind ... done Running regression tests ... done Regression test results follow == 435 tests, 44 stderr failures, 9 stdout failures, 0 post failures == memcheck/tests/deep_templates (stdout) memcheck/tests/leak-cases-full (stderr) memcheck/tests/leak-cases-summary (stderr) memcheck/tests/leak-cycle (stderr) memcheck/tests/origin5-bz2 (stderr) memcheck/tests/varinfo1 (stderr) memcheck/tests/varinfo2 (stderr) memcheck/tests/varinfo3 (stderr) memcheck/tests/varinfo4 (stderr) memcheck/tests/varinfo5 (stderr) memcheck/tests/varinfo6 (stderr) memcheck/tests/wrap8 (stderr) none/tests/empty-exe (stderr) none/tests/linux/mremap (stderr) none/tests/ppc32/jm-fp (stdout) none/tests/ppc32/jm-vmx (stdout) none/tests/ppc32/round (stdout) none/tests/ppc32/test_gx (stdout) none/tests/ppc64/jm-fp (stdout) none/tests/ppc64/jm-vmx (stdout) none/tests/ppc64/round (stdout) none/tests/shell (stdout) none/tests/shell (stderr) none/tests/shell_valid1 (stderr) none/tests/shell_valid2 (stderr) none/tests/shell_valid3 (stderr) none/tests/shell_zerolength (stderr) helgrind/tests/hg05_race2 (stderr) helgrind/tests/tc06_two_races_xml (stderr) helgrind/tests/tc22_exit_w_lock (stderr) helgrind/tests/tc23_bogus_condwait (stderr) exp-ptrcheck/tests/bad_percentify (stderr) exp-ptrcheck/tests/base (stderr) exp-ptrcheck/tests/ccc (stderr) exp-ptrcheck/tests/fp (stderr) exp-ptrcheck/tests/globalerr (stderr) exp-ptrcheck/tests/hackedbz2 (stderr) exp-ptrcheck/tests/hp_bounds (stderr) exp-ptrcheck/tests/hp_dangle (stderr) exp-ptrcheck/tests/hsg (stderr) exp-ptrcheck/tests/justify (stderr) exp-ptrcheck/tests/partial_bad (stderr) exp-ptrcheck/tests/partial_good (stderr) exp-ptrcheck/tests/preen_invars (stderr) exp-ptrcheck/tests/pth_create (stderr) exp-ptrcheck/tests/pth_specific (stderr) exp-ptrcheck/tests/realloc (stderr) exp-ptrcheck/tests/stackerr (stderr) exp-ptrcheck/tests/strcpy (stderr) exp-ptrcheck/tests/supp (stderr) exp-ptrcheck/tests/tricky (stderr) exp-ptrcheck/tests/unaligned (stderr) exp-ptrcheck/tests/zero (stderr) ================================================= == Difference between 24 hours ago and now == ================================================= *** old.short 2009-07-28 05:30:12.000000000 -0400 --- new.short 2009-07-28 06:20:10.000000000 -0400 *************** *** 8,10 **** ! == 435 tests, 44 stderr failures, 9 stdout failures, 0 post failures == memcheck/tests/deep_templates (stdout) --- 8,10 ---- ! == 436 tests, 44 stderr failures, 9 stdout failures, 0 post failures == memcheck/tests/deep_templates (stdout) |
|
From: <sv...@va...> - 2009-07-28 08:03:43
|
Author: bart Date: 2009-07-28 09:03:31 +0100 (Tue, 28 Jul 2009) New Revision: 10648 Log: Un-break regression test run. Modified: trunk/memcheck/tests/linux/ trunk/memcheck/tests/linux/lsframe1.vgtest trunk/memcheck/tests/linux/lsframe2.vgtest Property changes on: trunk/memcheck/tests/linux ___________________________________________________________________ Name: svn:ignore - *.stderr.diff *.stderr.diff *.stderr.out *.stdout.out .deps brk capget Makefile Makefile.in stack_switch timerfd-syscall + *.stderr.diff *.stderr.diff *.stderr.out *.stdout.out .deps brk capget lsframe1 lsframe2 Makefile Makefile.in stack_changes stack_switch timerfd-syscall Modified: trunk/memcheck/tests/linux/lsframe1.vgtest =================================================================== --- trunk/memcheck/tests/linux/lsframe1.vgtest 2009-07-28 08:01:40 UTC (rev 10647) +++ trunk/memcheck/tests/linux/lsframe1.vgtest 2009-07-28 08:03:31 UTC (rev 10648) @@ -1,3 +1,3 @@ prog: lsframe1 vgopts: --main-stacksize=67200000 --max-stackframe=67200000 -stderr_filter: filter_allocs +stderr_filter: ../filter_allocs Modified: trunk/memcheck/tests/linux/lsframe2.vgtest =================================================================== --- trunk/memcheck/tests/linux/lsframe2.vgtest 2009-07-28 08:01:40 UTC (rev 10647) +++ trunk/memcheck/tests/linux/lsframe2.vgtest 2009-07-28 08:03:31 UTC (rev 10648) @@ -1,3 +1,3 @@ prog: lsframe2 vgopts: --main-stacksize=68500000 -stderr_filter: filter_allocs +stderr_filter: ../filter_allocs |
|
From: <sv...@va...> - 2009-07-28 08:01:48
|
Author: bart Date: 2009-07-28 09:01:40 +0100 (Tue, 28 Jul 2009) New Revision: 10647 Log: Updated gcc version from 4.4.0 to 4.4.1. Modified: trunk/drd/scripts/download-and-build-gcc Modified: trunk/drd/scripts/download-and-build-gcc =================================================================== --- trunk/drd/scripts/download-and-build-gcc 2009-07-28 05:11:42 UTC (rev 10646) +++ trunk/drd/scripts/download-and-build-gcc 2009-07-28 08:01:40 UTC (rev 10647) @@ -6,7 +6,7 @@ # are called gmp-devel and mpfr-devel. -GCC_VERSION=4.4.0 +GCC_VERSION=4.4.1 FSF_MIRROR=ftp://ftp.easynet.be/gnu SRCDIR=$HOME/software DOWNLOADS=$SRCDIR/downloads |
|
From: Bart V. A. <bar...@gm...> - 2009-07-28 07:44:48
|
Nightly build on georgia-tech-cellbuzz-native ( cellbuzz, ppc64, Fedora 7, native ) Started at 2009-07-28 02:16:13 EDT Ended at 2009-07-28 03:44:24 EDT Results differ from 24 hours ago Checking out valgrind source tree ... done Configuring valgrind ... done Building valgrind ... done Running regression tests ... done Last 20 lines of verbose log follow echo inline: valgrind -q ./inline leak-0: valgrind -q ./leak-0 leak-cases-full: valgrind -q --leak-check=full --leak-resolution=high ./leak-cases *** leak-cases-full failed (stderr) *** leak-cases-summary: valgrind -q --leak-check=summary --leak-resolution=high ./leak-cases *** leak-cases-summary failed (stderr) *** leak-cycle: valgrind -q --leak-check=yes --leak-resolution=high ./leak-cycle *** leak-cycle failed (stderr) *** leak-pool-0: valgrind ./leak-pool 0 leak-pool-1: valgrind ./leak-pool 1 leak-pool-2: valgrind ./leak-pool 2 leak-pool-3: valgrind ./leak-pool 3 leak-pool-4: valgrind ./leak-pool 4 leak-pool-5: valgrind ./leak-pool 5 leak-tree: valgrind -q --leak-check=full --leak-resolution=high ./leak-tree -- Running tests in memcheck/tests/linux ------------------------------ brk: valgrind ./brk capget: valgrind ./capget vg_regtest: `./filter_allocs' not found or not a file (.) make: *** [regtest] Error 2 ================================================= == Results from 24 hours ago == ================================================= Checking out valgrind source tree ... done Configuring valgrind ... done Building valgrind ... done Running regression tests ... done Regression test results follow == 435 tests, 44 stderr failures, 9 stdout failures, 0 post failures == memcheck/tests/deep_templates (stdout) memcheck/tests/leak-cases-full (stderr) memcheck/tests/leak-cases-summary (stderr) memcheck/tests/leak-cycle (stderr) memcheck/tests/origin5-bz2 (stderr) memcheck/tests/varinfo1 (stderr) memcheck/tests/varinfo2 (stderr) memcheck/tests/varinfo3 (stderr) memcheck/tests/varinfo4 (stderr) memcheck/tests/varinfo5 (stderr) memcheck/tests/varinfo6 (stderr) memcheck/tests/wrap8 (stderr) none/tests/empty-exe (stderr) none/tests/linux/mremap (stderr) none/tests/ppc32/jm-fp (stdout) none/tests/ppc32/jm-vmx (stdout) none/tests/ppc32/round (stdout) none/tests/ppc32/test_gx (stdout) none/tests/ppc64/jm-fp (stdout) none/tests/ppc64/jm-vmx (stdout) none/tests/ppc64/round (stdout) none/tests/shell (stdout) none/tests/shell (stderr) none/tests/shell_valid1 (stderr) none/tests/shell_valid2 (stderr) none/tests/shell_valid3 (stderr) none/tests/shell_zerolength (stderr) helgrind/tests/hg05_race2 (stderr) helgrind/tests/tc06_two_races_xml (stderr) helgrind/tests/tc22_exit_w_lock (stderr) helgrind/tests/tc23_bogus_condwait (stderr) exp-ptrcheck/tests/bad_percentify (stderr) exp-ptrcheck/tests/base (stderr) exp-ptrcheck/tests/ccc (stderr) exp-ptrcheck/tests/fp (stderr) exp-ptrcheck/tests/globalerr (stderr) exp-ptrcheck/tests/hackedbz2 (stderr) exp-ptrcheck/tests/hp_bounds (stderr) exp-ptrcheck/tests/hp_dangle (stderr) exp-ptrcheck/tests/hsg (stderr) exp-ptrcheck/tests/justify (stderr) exp-ptrcheck/tests/partial_bad (stderr) exp-ptrcheck/tests/partial_good (stderr) exp-ptrcheck/tests/preen_invars (stderr) exp-ptrcheck/tests/pth_create (stderr) exp-ptrcheck/tests/pth_specific (stderr) exp-ptrcheck/tests/realloc (stderr) exp-ptrcheck/tests/stackerr (stderr) exp-ptrcheck/tests/strcpy (stderr) exp-ptrcheck/tests/supp (stderr) exp-ptrcheck/tests/tricky (stderr) exp-ptrcheck/tests/unaligned (stderr) exp-ptrcheck/tests/zero (stderr) ================================================= == Difference between 24 hours ago and now == ================================================= *** old.short Tue Jul 28 03:08:58 2009 --- new.short Tue Jul 28 03:44:24 2009 *************** *** 6,63 **** ! Regression test results follow ! ! == 435 tests, 44 stderr failures, 9 stdout failures, 0 post failures == ! memcheck/tests/deep_templates (stdout) ! memcheck/tests/leak-cases-full (stderr) ! memcheck/tests/leak-cases-summary (stderr) ! memcheck/tests/leak-cycle (stderr) ! memcheck/tests/origin5-bz2 (stderr) ! memcheck/tests/varinfo1 (stderr) ! memcheck/tests/varinfo2 (stderr) ! memcheck/tests/varinfo3 (stderr) ! memcheck/tests/varinfo4 (stderr) ! memcheck/tests/varinfo5 (stderr) ! memcheck/tests/varinfo6 (stderr) ! memcheck/tests/wrap8 (stderr) ! none/tests/empty-exe (stderr) ! none/tests/linux/mremap (stderr) ! none/tests/ppc32/jm-fp (stdout) ! none/tests/ppc32/jm-vmx (stdout) ! none/tests/ppc32/round (stdout) ! none/tests/ppc32/test_gx (stdout) ! none/tests/ppc64/jm-fp (stdout) ! none/tests/ppc64/jm-vmx (stdout) ! none/tests/ppc64/round (stdout) ! none/tests/shell (stdout) ! none/tests/shell (stderr) ! none/tests/shell_valid1 (stderr) ! none/tests/shell_valid2 (stderr) ! none/tests/shell_valid3 (stderr) ! none/tests/shell_zerolength (stderr) ! helgrind/tests/hg05_race2 (stderr) ! helgrind/tests/tc06_two_races_xml (stderr) ! helgrind/tests/tc22_exit_w_lock (stderr) ! helgrind/tests/tc23_bogus_condwait (stderr) ! exp-ptrcheck/tests/bad_percentify (stderr) ! exp-ptrcheck/tests/base (stderr) ! exp-ptrcheck/tests/ccc (stderr) ! exp-ptrcheck/tests/fp (stderr) ! exp-ptrcheck/tests/globalerr (stderr) ! exp-ptrcheck/tests/hackedbz2 (stderr) ! exp-ptrcheck/tests/hp_bounds (stderr) ! exp-ptrcheck/tests/hp_dangle (stderr) ! exp-ptrcheck/tests/hsg (stderr) ! exp-ptrcheck/tests/justify (stderr) ! exp-ptrcheck/tests/partial_bad (stderr) ! exp-ptrcheck/tests/partial_good (stderr) ! exp-ptrcheck/tests/preen_invars (stderr) ! exp-ptrcheck/tests/pth_create (stderr) ! exp-ptrcheck/tests/pth_specific (stderr) ! exp-ptrcheck/tests/realloc (stderr) ! exp-ptrcheck/tests/stackerr (stderr) ! exp-ptrcheck/tests/strcpy (stderr) ! exp-ptrcheck/tests/supp (stderr) ! exp-ptrcheck/tests/tricky (stderr) ! exp-ptrcheck/tests/unaligned (stderr) ! exp-ptrcheck/tests/zero (stderr) ! --- 6,27 ---- ! Last 20 lines of verbose log follow echo ! inline: valgrind -q ./inline ! leak-0: valgrind -q ./leak-0 ! leak-cases-full: valgrind -q --leak-check=full --leak-resolution=high ./leak-cases ! *** leak-cases-full failed (stderr) *** ! leak-cases-summary: valgrind -q --leak-check=summary --leak-resolution=high ./leak-cases ! *** leak-cases-summary failed (stderr) *** ! leak-cycle: valgrind -q --leak-check=yes --leak-resolution=high ./leak-cycle ! *** leak-cycle failed (stderr) *** ! leak-pool-0: valgrind ./leak-pool 0 ! leak-pool-1: valgrind ./leak-pool 1 ! leak-pool-2: valgrind ./leak-pool 2 ! leak-pool-3: valgrind ./leak-pool 3 ! leak-pool-4: valgrind ./leak-pool 4 ! leak-pool-5: valgrind ./leak-pool 5 ! leak-tree: valgrind -q --leak-check=full --leak-resolution=high ./leak-tree ! -- Running tests in memcheck/tests/linux ------------------------------ ! brk: valgrind ./brk ! capget: valgrind ./capget ! vg_regtest: `./filter_allocs' not found or not a file (.) ! make: *** [regtest] Error 2 |
|
From: <sv...@va...> - 2009-07-28 05:11:53
|
Author: njn Date: 2009-07-28 06:11:42 +0100 (Tue, 28 Jul 2009) New Revision: 10646 Log: Remove non-Linux code from this Linux-only test. Modified: trunk/memcheck/tests/linux/stack_changes.c Modified: trunk/memcheck/tests/linux/stack_changes.c =================================================================== --- trunk/memcheck/tests/linux/stack_changes.c 2009-07-28 05:10:33 UTC (rev 10645) +++ trunk/memcheck/tests/linux/stack_changes.c 2009-07-28 05:11:42 UTC (rev 10646) @@ -10,11 +10,7 @@ // This test is checking the libc context calls (setcontext, etc.) and // checks that Valgrind notices their stack changes properly. -#if defined(_AIX) || defined(__APPLE__) -typedef ucontext_t mycontext; -#else /* linux */ typedef struct ucontext mycontext; -#endif mycontext ctx1, ctx2, oldc; int count; |
|
From: <sv...@va...> - 2009-07-28 05:10:43
|
Author: njn
Date: 2009-07-28 06:10:33 +0100 (Tue, 28 Jul 2009)
New Revision: 10645
Log:
Make lsframe1, lsframe2 and stack_changes Linux-only since they all fault
natively on Mac.
Added:
trunk/memcheck/tests/linux/lsframe1.c
trunk/memcheck/tests/linux/lsframe1.stderr.exp
trunk/memcheck/tests/linux/lsframe1.stdout.exp
trunk/memcheck/tests/linux/lsframe1.vgtest
trunk/memcheck/tests/linux/lsframe2.c
trunk/memcheck/tests/linux/lsframe2.stderr.exp
trunk/memcheck/tests/linux/lsframe2.stdout.exp
trunk/memcheck/tests/linux/lsframe2.vgtest
trunk/memcheck/tests/linux/stack_changes.c
trunk/memcheck/tests/linux/stack_changes.stderr.exp
trunk/memcheck/tests/linux/stack_changes.stdout.exp
trunk/memcheck/tests/linux/stack_changes.stdout.exp2
trunk/memcheck/tests/linux/stack_changes.vgtest
Removed:
trunk/memcheck/tests/lsframe1.c
trunk/memcheck/tests/lsframe1.stderr.exp
trunk/memcheck/tests/lsframe1.stdout.exp
trunk/memcheck/tests/lsframe1.vgtest
trunk/memcheck/tests/lsframe2.c
trunk/memcheck/tests/lsframe2.stderr.exp
trunk/memcheck/tests/lsframe2.stdout.exp
trunk/memcheck/tests/lsframe2.vgtest
trunk/memcheck/tests/stack_changes.c
trunk/memcheck/tests/stack_changes.stderr.exp
trunk/memcheck/tests/stack_changes.stdout.exp
trunk/memcheck/tests/stack_changes.stdout.exp2
trunk/memcheck/tests/stack_changes.vgtest
Modified:
trunk/memcheck/tests/Makefile.am
trunk/memcheck/tests/linux/Makefile.am
Modified: trunk/memcheck/tests/Makefile.am
===================================================================
--- trunk/memcheck/tests/Makefile.am 2009-07-28 01:30:06 UTC (rev 10644)
+++ trunk/memcheck/tests/Makefile.am 2009-07-28 05:10:33 UTC (rev 10645)
@@ -84,8 +84,6 @@
long_namespace_xml.vgtest long_namespace_xml.stdout.exp \
long_namespace_xml.stderr.exp \
long-supps.vgtest long-supps.stderr.exp long-supps.supp \
- lsframe1.vgtest lsframe1.stdout.exp lsframe1.stderr.exp \
- lsframe2.vgtest lsframe2.stdout.exp lsframe2.stderr.exp \
mallinfo.stderr.exp mallinfo.vgtest \
malloc_free_fill.vgtest \
malloc_free_fill.stderr.exp \
@@ -147,8 +145,6 @@
sigkill.stderr.exp sigkill.stderr.exp-darwin sigkill.vgtest \
signal2.stderr.exp signal2.stdout.exp signal2.vgtest \
sigprocmask.stderr.exp sigprocmask.stderr.exp2 sigprocmask.vgtest \
- stack_changes.stderr.exp stack_changes.stdout.exp \
- stack_changes.stdout.exp2 stack_changes.vgtest \
strchr.stderr.exp strchr.stderr.exp2 strchr.stderr.exp-darwin \
strchr.vgtest \
str_tester.stderr.exp str_tester.vgtest \
@@ -209,8 +205,6 @@
linux-syscalls-2007 \
long_namespace_xml \
long-supps \
- lsframe1 \
- lsframe2 \
mallinfo \
malloc_free_fill \
malloc_usable malloc1 malloc2 malloc3 manuel1 manuel2 manuel3 \
@@ -230,7 +224,8 @@
realloc1 realloc2 realloc3 \
sh-mem sh-mem-random \
sigaltstack signal2 sigprocmask sigkill \
- stack_changes strchr str_tester \
+ strchr \
+ str_tester \
supp_unknown supp1 supp2 suppfree \
trivialleak \
unit_libcbase unit_oset \
Modified: trunk/memcheck/tests/linux/Makefile.am
===================================================================
--- trunk/memcheck/tests/linux/Makefile.am 2009-07-28 01:30:06 UTC (rev 10644)
+++ trunk/memcheck/tests/linux/Makefile.am 2009-07-28 05:10:33 UTC (rev 10645)
@@ -6,6 +6,10 @@
EXTRA_DIST = \
brk.stderr.exp brk.vgtest \
capget capget.stderr.exp \
+ lsframe1.vgtest lsframe1.stdout.exp lsframe1.stderr.exp \
+ lsframe2.vgtest lsframe2.stdout.exp lsframe2.stderr.exp \
+ stack_changes.stderr.exp stack_changes.stdout.exp \
+ stack_changes.stdout.exp2 stack_changes.vgtest \
stack_switch.stderr.exp stack_switch.vgtest \
timerfd-syscall timerfd-syscall.stderr.exp \
with-space.stderr.exp with-space.stdout.exp with-space.vgtest
@@ -13,6 +17,9 @@
check_PROGRAMS = \
brk \
capget \
+ lsframe1 \
+ lsframe2 \
+ stack_changes \
stack_switch \
timerfd-syscall
Copied: trunk/memcheck/tests/linux/lsframe1.c (from rev 10644, trunk/memcheck/tests/lsframe1.c)
===================================================================
--- trunk/memcheck/tests/linux/lsframe1.c (rev 0)
+++ trunk/memcheck/tests/linux/lsframe1.c 2009-07-28 05:10:33 UTC (rev 10645)
@@ -0,0 +1,26 @@
+
+/* Demonstrate Memcheck correctly handling a 64M array on the stack.
+ Requires --max-stackframe=67108884 or above. And since it
+ generates a very large stack, --main-stacksize=67200000
+ (approximately) is also required. */
+
+#include <stdio.h>
+
+#define N_MBYTES 64
+
+#define N_INTS ((N_MBYTES * 1048576) / sizeof(int))
+
+
+int main ( void )
+{
+ int i, sum;
+ int arr[N_INTS];
+ fprintf(stderr, "lsframe1: start\n");
+ for (i = 0; i < N_INTS; i++)
+ arr[i] = i;
+ sum = 0;
+ for (i = 0; i < N_INTS; i++)
+ sum += arr[i];
+ fprintf(stderr, "lsframe1: done, result is %d\n", sum);
+ return 0;
+}
Copied: trunk/memcheck/tests/linux/lsframe1.stderr.exp (from rev 10644, trunk/memcheck/tests/lsframe1.stderr.exp)
===================================================================
--- trunk/memcheck/tests/linux/lsframe1.stderr.exp (rev 0)
+++ trunk/memcheck/tests/linux/lsframe1.stderr.exp 2009-07-28 05:10:33 UTC (rev 10645)
@@ -0,0 +1,9 @@
+
+lsframe1: start
+lsframe1: done, result is -8388608
+
+ERROR SUMMARY: 0 errors from 0 contexts (suppressed: 0 from 0)
+malloc/free: in use at exit: ... bytes in ... blocks.
+malloc/free: ... allocs, ... frees, ... bytes allocated.
+For a detailed leak analysis, rerun with: --leak-check=yes
+For counts of detected errors, rerun with: -v
Copied: trunk/memcheck/tests/linux/lsframe1.stdout.exp (from rev 10644, trunk/memcheck/tests/lsframe1.stdout.exp)
===================================================================
Copied: trunk/memcheck/tests/linux/lsframe1.vgtest (from rev 10644, trunk/memcheck/tests/lsframe1.vgtest)
===================================================================
--- trunk/memcheck/tests/linux/lsframe1.vgtest (rev 0)
+++ trunk/memcheck/tests/linux/lsframe1.vgtest 2009-07-28 05:10:33 UTC (rev 10645)
@@ -0,0 +1,3 @@
+prog: lsframe1
+vgopts: --main-stacksize=67200000 --max-stackframe=67200000
+stderr_filter: filter_allocs
Copied: trunk/memcheck/tests/linux/lsframe2.c (from rev 10644, trunk/memcheck/tests/lsframe2.c)
===================================================================
--- trunk/memcheck/tests/linux/lsframe2.c (rev 0)
+++ trunk/memcheck/tests/linux/lsframe2.c 2009-07-28 05:10:33 UTC (rev 10645)
@@ -0,0 +1,34 @@
+
+/* Demonstrate Memcheck correctly handling chain of 64 recursive
+ calls, each of which allocates a 1 M array on the stack. Requires
+ --main-stacksize=67117057 (on amd64-linux) or above, but works fine
+ if you specify that. */
+
+#include <stdio.h>
+
+#define N_MBYTES 64
+
+#define N_INTS_PER_MBYTE (1048576 / sizeof(int))
+
+int rec ( int depth )
+{
+ int i, zzz;
+ int arr[N_INTS_PER_MBYTE];
+ if (depth == 0) return 0;
+ for (i = 0; i < N_INTS_PER_MBYTE; i++)
+ arr[i] = i * depth;
+ zzz = rec(depth-1);
+ for (i = 0; i < N_INTS_PER_MBYTE; i++)
+ zzz += arr[i];
+ return zzz;
+}
+
+
+int main ( void )
+{
+ int sum;
+ fprintf(stderr, "lsframe2: start\n");
+ sum = rec(N_MBYTES);
+ fprintf(stderr, "lsframe2: done, result is %d\n", sum);
+ return 0;
+}
Copied: trunk/memcheck/tests/linux/lsframe2.stderr.exp (from rev 10644, trunk/memcheck/tests/lsframe2.stderr.exp)
===================================================================
--- trunk/memcheck/tests/linux/lsframe2.stderr.exp (rev 0)
+++ trunk/memcheck/tests/linux/lsframe2.stderr.exp 2009-07-28 05:10:33 UTC (rev 10645)
@@ -0,0 +1,9 @@
+
+lsframe2: start
+lsframe2: done, result is -272629760
+
+ERROR SUMMARY: 0 errors from 0 contexts (suppressed: 0 from 0)
+malloc/free: in use at exit: ... bytes in ... blocks.
+malloc/free: ... allocs, ... frees, ... bytes allocated.
+For a detailed leak analysis, rerun with: --leak-check=yes
+For counts of detected errors, rerun with: -v
Copied: trunk/memcheck/tests/linux/lsframe2.stdout.exp (from rev 10644, trunk/memcheck/tests/lsframe2.stdout.exp)
===================================================================
Copied: trunk/memcheck/tests/linux/lsframe2.vgtest (from rev 10644, trunk/memcheck/tests/lsframe2.vgtest)
===================================================================
--- trunk/memcheck/tests/linux/lsframe2.vgtest (rev 0)
+++ trunk/memcheck/tests/linux/lsframe2.vgtest 2009-07-28 05:10:33 UTC (rev 10645)
@@ -0,0 +1,3 @@
+prog: lsframe2
+vgopts: --main-stacksize=68500000
+stderr_filter: filter_allocs
Copied: trunk/memcheck/tests/linux/stack_changes.c (from rev 10644, trunk/memcheck/tests/stack_changes.c)
===================================================================
--- trunk/memcheck/tests/linux/stack_changes.c (rev 0)
+++ trunk/memcheck/tests/linux/stack_changes.c 2009-07-28 05:10:33 UTC (rev 10645)
@@ -0,0 +1,75 @@
+#include <stdio.h>
+#include <stdlib.h>
+#include <ucontext.h>
+#include "tests/sys_mman.h"
+
+#include "valgrind.h"
+
+#define STACK_SIZE (10 * 4096)
+
+// This test is checking the libc context calls (setcontext, etc.) and
+// checks that Valgrind notices their stack changes properly.
+
+#if defined(_AIX) || defined(__APPLE__)
+typedef ucontext_t mycontext;
+#else /* linux */
+typedef struct ucontext mycontext;
+#endif
+
+mycontext ctx1, ctx2, oldc;
+int count;
+
+void hello(mycontext *newc)
+{
+ printf("hello, world: %d\n", count);
+ if (count++ == 2)
+ newc = &oldc;
+ setcontext(newc);
+}
+
+int init_context(mycontext *uc)
+{
+ void *stack;
+ int ret;
+
+ if (getcontext(uc) == -1) {
+ //perror("getcontext");
+ printf("getcontext() doesn't seem to work\n");
+ exit(1);
+ }
+
+ stack = (void *)mmap(0, STACK_SIZE, PROT_READ|PROT_WRITE|PROT_EXEC,
+ MAP_ANONYMOUS|MAP_PRIVATE, -1, 0);
+
+ if (stack == (void*)-1) {
+ perror("mmap");
+ exit(1);
+ }
+
+ ret = VALGRIND_STACK_REGISTER(stack, stack + STACK_SIZE);
+
+ uc->uc_link = NULL;
+ uc->uc_stack.ss_sp = stack;
+ uc->uc_stack.ss_size = STACK_SIZE;
+ uc->uc_stack.ss_flags = 0;
+
+ return ret;
+}
+
+int main(int argc, char **argv)
+{
+ int c1 = init_context(&ctx1);
+ int c2 = init_context(&ctx2);
+
+ makecontext(&ctx1, (void (*)()) hello, 1, &ctx2);
+ makecontext(&ctx2, (void (*)()) hello, 1, &ctx1);
+
+ swapcontext(&oldc, &ctx1);
+
+ VALGRIND_STACK_DEREGISTER(c1);
+ //free(ctx1.uc_stack.ss_sp);
+ VALGRIND_STACK_DEREGISTER(c2);
+ //free(ctx2.uc_stack.ss_sp);
+
+ return 0;
+}
Copied: trunk/memcheck/tests/linux/stack_changes.stderr.exp (from rev 10644, trunk/memcheck/tests/stack_changes.stderr.exp)
===================================================================
Copied: trunk/memcheck/tests/linux/stack_changes.stdout.exp (from rev 10644, trunk/memcheck/tests/stack_changes.stdout.exp)
===================================================================
--- trunk/memcheck/tests/linux/stack_changes.stdout.exp (rev 0)
+++ trunk/memcheck/tests/linux/stack_changes.stdout.exp 2009-07-28 05:10:33 UTC (rev 10645)
@@ -0,0 +1,3 @@
+hello, world: 0
+hello, world: 1
+hello, world: 2
Copied: trunk/memcheck/tests/linux/stack_changes.stdout.exp2 (from rev 10644, trunk/memcheck/tests/stack_changes.stdout.exp2)
===================================================================
--- trunk/memcheck/tests/linux/stack_changes.stdout.exp2 (rev 0)
+++ trunk/memcheck/tests/linux/stack_changes.stdout.exp2 2009-07-28 05:10:33 UTC (rev 10645)
@@ -0,0 +1 @@
+getcontext() doesn't seem to work
Copied: trunk/memcheck/tests/linux/stack_changes.vgtest (from rev 10644, trunk/memcheck/tests/stack_changes.vgtest)
===================================================================
--- trunk/memcheck/tests/linux/stack_changes.vgtest (rev 0)
+++ trunk/memcheck/tests/linux/stack_changes.vgtest 2009-07-28 05:10:33 UTC (rev 10645)
@@ -0,0 +1,2 @@
+prog: stack_changes
+vgopts: -q
Deleted: trunk/memcheck/tests/lsframe1.c
===================================================================
--- trunk/memcheck/tests/lsframe1.c 2009-07-28 01:30:06 UTC (rev 10644)
+++ trunk/memcheck/tests/lsframe1.c 2009-07-28 05:10:33 UTC (rev 10645)
@@ -1,26 +0,0 @@
-
-/* Demonstrate Memcheck correctly handling a 64M array on the stack.
- Requires --max-stackframe=67108884 or above. And since it
- generates a very large stack, --main-stacksize=67200000
- (approximately) is also required. */
-
-#include <stdio.h>
-
-#define N_MBYTES 64
-
-#define N_INTS ((N_MBYTES * 1048576) / sizeof(int))
-
-
-int main ( void )
-{
- int i, sum;
- int arr[N_INTS];
- fprintf(stderr, "lsframe1: start\n");
- for (i = 0; i < N_INTS; i++)
- arr[i] = i;
- sum = 0;
- for (i = 0; i < N_INTS; i++)
- sum += arr[i];
- fprintf(stderr, "lsframe1: done, result is %d\n", sum);
- return 0;
-}
Deleted: trunk/memcheck/tests/lsframe1.stderr.exp
===================================================================
--- trunk/memcheck/tests/lsframe1.stderr.exp 2009-07-28 01:30:06 UTC (rev 10644)
+++ trunk/memcheck/tests/lsframe1.stderr.exp 2009-07-28 05:10:33 UTC (rev 10645)
@@ -1,9 +0,0 @@
-
-lsframe1: start
-lsframe1: done, result is -8388608
-
-ERROR SUMMARY: 0 errors from 0 contexts (suppressed: 0 from 0)
-malloc/free: in use at exit: ... bytes in ... blocks.
-malloc/free: ... allocs, ... frees, ... bytes allocated.
-For a detailed leak analysis, rerun with: --leak-check=yes
-For counts of detected errors, rerun with: -v
Deleted: trunk/memcheck/tests/lsframe1.stdout.exp
===================================================================
Deleted: trunk/memcheck/tests/lsframe1.vgtest
===================================================================
--- trunk/memcheck/tests/lsframe1.vgtest 2009-07-28 01:30:06 UTC (rev 10644)
+++ trunk/memcheck/tests/lsframe1.vgtest 2009-07-28 05:10:33 UTC (rev 10645)
@@ -1,3 +0,0 @@
-prog: lsframe1
-vgopts: --main-stacksize=67200000 --max-stackframe=67200000
-stderr_filter: filter_allocs
Deleted: trunk/memcheck/tests/lsframe2.c
===================================================================
--- trunk/memcheck/tests/lsframe2.c 2009-07-28 01:30:06 UTC (rev 10644)
+++ trunk/memcheck/tests/lsframe2.c 2009-07-28 05:10:33 UTC (rev 10645)
@@ -1,34 +0,0 @@
-
-/* Demonstrate Memcheck correctly handling chain of 64 recursive
- calls, each of which allocates a 1 M array on the stack. Requires
- --main-stacksize=67117057 (on amd64-linux) or above, but works fine
- if you specify that. */
-
-#include <stdio.h>
-
-#define N_MBYTES 64
-
-#define N_INTS_PER_MBYTE (1048576 / sizeof(int))
-
-int rec ( int depth )
-{
- int i, zzz;
- int arr[N_INTS_PER_MBYTE];
- if (depth == 0) return 0;
- for (i = 0; i < N_INTS_PER_MBYTE; i++)
- arr[i] = i * depth;
- zzz = rec(depth-1);
- for (i = 0; i < N_INTS_PER_MBYTE; i++)
- zzz += arr[i];
- return zzz;
-}
-
-
-int main ( void )
-{
- int sum;
- fprintf(stderr, "lsframe2: start\n");
- sum = rec(N_MBYTES);
- fprintf(stderr, "lsframe2: done, result is %d\n", sum);
- return 0;
-}
Deleted: trunk/memcheck/tests/lsframe2.stderr.exp
===================================================================
--- trunk/memcheck/tests/lsframe2.stderr.exp 2009-07-28 01:30:06 UTC (rev 10644)
+++ trunk/memcheck/tests/lsframe2.stderr.exp 2009-07-28 05:10:33 UTC (rev 10645)
@@ -1,9 +0,0 @@
-
-lsframe2: start
-lsframe2: done, result is -272629760
-
-ERROR SUMMARY: 0 errors from 0 contexts (suppressed: 0 from 0)
-malloc/free: in use at exit: ... bytes in ... blocks.
-malloc/free: ... allocs, ... frees, ... bytes allocated.
-For a detailed leak analysis, rerun with: --leak-check=yes
-For counts of detected errors, rerun with: -v
Deleted: trunk/memcheck/tests/lsframe2.stdout.exp
===================================================================
Deleted: trunk/memcheck/tests/lsframe2.vgtest
===================================================================
--- trunk/memcheck/tests/lsframe2.vgtest 2009-07-28 01:30:06 UTC (rev 10644)
+++ trunk/memcheck/tests/lsframe2.vgtest 2009-07-28 05:10:33 UTC (rev 10645)
@@ -1,3 +0,0 @@
-prog: lsframe2
-vgopts: --main-stacksize=68500000
-stderr_filter: filter_allocs
Deleted: trunk/memcheck/tests/stack_changes.c
===================================================================
--- trunk/memcheck/tests/stack_changes.c 2009-07-28 01:30:06 UTC (rev 10644)
+++ trunk/memcheck/tests/stack_changes.c 2009-07-28 05:10:33 UTC (rev 10645)
@@ -1,75 +0,0 @@
-#include <stdio.h>
-#include <stdlib.h>
-#include <ucontext.h>
-#include "tests/sys_mman.h"
-
-#include "valgrind.h"
-
-#define STACK_SIZE (10 * 4096)
-
-// This test is checking the libc context calls (setcontext, etc.) and
-// checks that Valgrind notices their stack changes properly.
-
-#if defined(_AIX) || defined(__APPLE__)
-typedef ucontext_t mycontext;
-#else /* linux */
-typedef struct ucontext mycontext;
-#endif
-
-mycontext ctx1, ctx2, oldc;
-int count;
-
-void hello(mycontext *newc)
-{
- printf("hello, world: %d\n", count);
- if (count++ == 2)
- newc = &oldc;
- setcontext(newc);
-}
-
-int init_context(mycontext *uc)
-{
- void *stack;
- int ret;
-
- if (getcontext(uc) == -1) {
- //perror("getcontext");
- printf("getcontext() doesn't seem to work\n");
- exit(1);
- }
-
- stack = (void *)mmap(0, STACK_SIZE, PROT_READ|PROT_WRITE|PROT_EXEC,
- MAP_ANONYMOUS|MAP_PRIVATE, -1, 0);
-
- if (stack == (void*)-1) {
- perror("mmap");
- exit(1);
- }
-
- ret = VALGRIND_STACK_REGISTER(stack, stack + STACK_SIZE);
-
- uc->uc_link = NULL;
- uc->uc_stack.ss_sp = stack;
- uc->uc_stack.ss_size = STACK_SIZE;
- uc->uc_stack.ss_flags = 0;
-
- return ret;
-}
-
-int main(int argc, char **argv)
-{
- int c1 = init_context(&ctx1);
- int c2 = init_context(&ctx2);
-
- makecontext(&ctx1, (void (*)()) hello, 1, &ctx2);
- makecontext(&ctx2, (void (*)()) hello, 1, &ctx1);
-
- swapcontext(&oldc, &ctx1);
-
- VALGRIND_STACK_DEREGISTER(c1);
- //free(ctx1.uc_stack.ss_sp);
- VALGRIND_STACK_DEREGISTER(c2);
- //free(ctx2.uc_stack.ss_sp);
-
- return 0;
-}
Deleted: trunk/memcheck/tests/stack_changes.stderr.exp
===================================================================
Deleted: trunk/memcheck/tests/stack_changes.stdout.exp
===================================================================
--- trunk/memcheck/tests/stack_changes.stdout.exp 2009-07-28 01:30:06 UTC (rev 10644)
+++ trunk/memcheck/tests/stack_changes.stdout.exp 2009-07-28 05:10:33 UTC (rev 10645)
@@ -1,3 +0,0 @@
-hello, world: 0
-hello, world: 1
-hello, world: 2
Deleted: trunk/memcheck/tests/stack_changes.stdout.exp2
===================================================================
--- trunk/memcheck/tests/stack_changes.stdout.exp2 2009-07-28 01:30:06 UTC (rev 10644)
+++ trunk/memcheck/tests/stack_changes.stdout.exp2 2009-07-28 05:10:33 UTC (rev 10645)
@@ -1 +0,0 @@
-getcontext() doesn't seem to work
Deleted: trunk/memcheck/tests/stack_changes.vgtest
===================================================================
--- trunk/memcheck/tests/stack_changes.vgtest 2009-07-28 01:30:06 UTC (rev 10644)
+++ trunk/memcheck/tests/stack_changes.vgtest 2009-07-28 05:10:33 UTC (rev 10645)
@@ -1,2 +0,0 @@
-prog: stack_changes
-vgopts: -q
|
|
From: Nicholas N. <n.n...@gm...> - 2009-07-28 04:24:38
|
On Wed, Jul 22, 2009 at 9:06 PM, <sv...@va...> wrote: > Author: sewardj > Date: 2009-07-22 12:06:17 +0100 (Wed, 22 Jul 2009) > New Revision: 1912 > > Log: > Tell the register allocator on x86 that xmm0..7 are trashed across > function calls. This forces it to handle them as caller-saved, which > is (to the extent that it's possible to tell) what the ELF ABI > requires. Lack of this has been observed to corrupt floating point > computations in tools that use the xmm registers in the helper > functions called from generated code. This change brings the x86 > backend into line with the amd64 backend, the latter of which has > always treated the xmm regs as caller-saved. > > The x87 registers are still incorrectly handled as callee-saved. Did this fix any open bugs? Nick |
|
From: Samuel B. <na...@gm...> - 2009-07-28 04:00:40
|
At Tue, 28 Jul 2009 08:33:39 +1000,
Nicholas Nethercote wrote:
>
> On Tue, Jul 28, 2009 at 7:53 AM, Josef
> Weidendorfer<Jos...@gm...> wrote:
> > And then use the debug info module of Valgrind to add type, name
> > and value information for the arguments and the return type/value
> > (perhaps this needs improving the debug info reader?).
>
> This might be possible, but I suspect it will not be easy, and may be
> hard to make robust. The problem is that Valgrind works mostly at the
> binary level, in terms of memory addresses, registers, system calls,
> etc. And your tool needs to operate at the source code level.
> Mapping from binary to source is difficult; you can use debug info
> for a lot of it... but think about things like working out where
> function arguments are -- they might usually be on the stack but
> depending on compiler optimisations they might be passed in registers.
> Maybe debug info can tell you that precisely (I guess GDB has to know
> that stuff) but whether Valgrind's debug info reading gives enough
> info I don't know.
It shouldn't be hard to at least do as well as ltrace does here; what
it does is all based on config files like this:
; ltrace.conf
;
; ~/.ltrace.conf will also be read, if it exists. The -F option may be
; used to suppress the automatic inclusion of both this file and
; ~/.ltrace.conf, and load a different config file or config files
; instead.
; Argument types:
; + == May vary (ie, is a returned value) (prefix)
; void
; int
; uint == (unsigned int)
; long
; ulong == (unsigned long)
; octal == (unsigned) [written in octal]
; char
; short == (short)
; ushort == (unsigned short)
; addr == (void *) [unsigned, written in hexa]
; file == (FILE *) [TODO]
; format == ((const char *), ...) [printf() like] [TODO]
; string == (char *)
; string[argN] == (char *) [N>0] [show only up to (arg N) bytes]
; string[eltN] == (char *) [N>0] [show only up to (elt N) bytes]
; string[retval] == (char *) [show only up to (return val) bytes]
; string[arg0] == (char *) [same as string[retval]]
; string[N] == (char *) [N>0] [show only up to N bytes]
; type* == (type *) [pointer to any other type]
; enum (key=value,key=value,...) [enumeration, see below]
; array(type,argN)
; == (type[SIZE]) [array of (arg N) elements]
; array(type,eltN)
; == (type[SIZE]) [array of (struct element N) elements]
; array(type,N) == (type[N]) [array of N elements]
; struct(type,type,...)
; == (struct {...}) [struct of several types]
;
; Backwards-compatibility:
; string0 == (char *) [same as string[retval]]
; stringN == (char *) [N>0] [same as string[argN]]
; Typedefs
;
; To make it easier to specify argument lists, you can use 'typedef'
; directives to avoid repeating complex parameter descriptors:
;
; typedef color = enum(RED=1,BLUE=2,GREEN=3)
; void draw_line(color,int,int,int,int)
; void draw_square(color,int,int,int,int)
;
; Enumerations
;
; The syntax is a parenthesized list of key=value assignments, like so:
; enum (F_DUPFD=0,F_GETFD=1,F_SETFD=2)
; an example usage might look like
; int fcntl(int,enum (F_DUPFD=0,F_GETFD=1,F_SETFD=2))
;
; Arrays
;
; NOTE: Uses of array(...) alone are very rare. You almost always
; want array(...)*. The exceptions are when you have a fixed-size
; array.
;
; Structs
;
; NOTE: Uses of struct(...) alone are very rare. You almost always
; want struct(...)* (a pointer to a struct) anyway. Most compilers
; pass structs as pointers anyway, and those that don't are not yet
; supported. The one time when you want to use a non-pointer
; struct(...) type are when you have an array of structs, or a struct
; containing another struct.
;
; For example, if you have
; struct s1 {
; int y_size;
; int * y;
; int z[3];
; struct { char c; } a;
; struct { char c; } * b;
; }
; and a function
; void f(struct s1*)
; then the corresponding ltrace spec is
; void f(struct(int,array(int,elt0),array(int,3),struct(char),struct(char)*)*)
; which, formatted similarly to the C declaration, looks like
; void f(struct(
; int,
; array(int,elt0),
; array(int,3),
; struct(char),
; struct(char)*
; )*
; )
; arpa/inet.h
int inet_aton(string,addr);
string inet_ntoa(addr); ; It isn't an ADDR but an hexa number...
addr inet_addr(string);
; bfd.h
void bfd_init(void);
int bfd_set_default_target(string);
addr bfd_scan_vma(string, addr, int);
addr bfd_openr(string,string);
int bfd_check_format(addr,int);
; ctype.h
char tolower(char);
char toupper(char);
addr __ctype_b_loc(void);
addr __ctype_tolower_loc(void);
addr __ctype_toupper_loc(void);
; curses.h
int waddch(addr, char);
int mvprintw(int, int, format);
int wmove(addr, int, int);
int waddnstr(addr, string, int);
string tgoto(string, int, int);
; dirent.h
int closedir(addr);
addr opendir(string);
addr readdir(addr);
addr readdir64(addr);
; dlfcn.h
addr dlopen(string, int);
string dlerror(void);
addr dlsym(addr, string);
int dlclose(addr);
; errno.h
addr __errno_location(void);
; fcntl.h
int open(string,int,octal); ; WARNING: 3rd argument may not be there
int open64(string,int,octal); ; WARNING: 3rd argument may not be there
; fnmatch.h
int fnmatch(string, string, int);
; getopt.h
int getopt_long(int,addr,string,addr,int*);
int getopt_long_only(int,addr,string,addr,addr);
; grp.h
void endgrent(void);
addr getgrnam(string);
void setgrent(void);
addr getgrent(void);
; libintl.h
string __dcgettext(string,string,int);
string bindtextdomain(string, string);
string textdomain(string);
; libio.h
char _IO_getc(file);
int _IO_putc(char,file);
; locale.h
string setlocale(int, string);
; mcheck.h
void mtrace(void);
void muntrace(void);
|
|
From: Florian K. <br...@ac...> - 2009-07-28 03:43:34
|
On Monday 27 July 2009 10:21:45 pm Nicholas Nethercote wrote: > > ==9717== Memcheck, a memory error detector. > ==9717== Copyright (C) 2002-2009, and GNU GPL'd, by Julian Seward et al. > ==9717== Using Valgrind-3.5.0.SVN and LibVEX; rerun with -h for copyright info > ==9717== Command: date 11 23 4a \ > ==9717== aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa > aaaaaaaaaa \ > ==9717== aaa 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 \ > ==9717== 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 \ > ==9717== fffffffffffffffffffffffffffff 1 2 3 \ > ==9717== bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb > > I used "Command:" instead of "Running:" (as suggested in the bug > report) because it seemed better. > > I thought about putting "Command:" in front of every line, to make it > easier to parse the text, but then I figure if you want to do that you > should really be using the XML output. > Right. It would be even better to not have the process ID on every line. That way you can use the mouse to select the command line and then paste it into the shell again. I use that frequently and find it handy. The PID would get in the way there. I definitely like the shortened preamble. Florian |
|
From: Tom H. <th...@cy...> - 2009-07-28 02:31:20
|
Nightly build on mg ( x86_64, Fedora 9 ) Started at 2009-07-28 03:10:05 BST Ended at 2009-07-28 03:31: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 == 526 tests, 1 stderr failure, 0 stdout failures, 0 post failures == helgrind/tests/tc06_two_races_xml (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 == 525 tests, 1 stderr failure, 0 stdout failures, 0 post failures == helgrind/tests/tc06_two_races_xml (stderr) ================================================= == Difference between 24 hours ago and now == ================================================= *** old.short Tue Jul 28 03:20:36 2009 --- new.short Tue Jul 28 03:31:03 2009 *************** *** 8,10 **** ! == 525 tests, 1 stderr failure, 0 stdout failures, 0 post failures == helgrind/tests/tc06_two_races_xml (stderr) --- 8,10 ---- ! == 526 tests, 1 stderr failure, 0 stdout failures, 0 post failures == helgrind/tests/tc06_two_races_xml (stderr) |
|
From: Nicholas N. <n.n...@gm...> - 2009-07-28 02:21:54
|
Hi, Bug 197933 (https://bugs.kde.org/show_bug.cgi?id=197933) suggests putting the command line in the preamble of all Valgrind runs (excluding those invoked with -q). This makes --trace-children=yes much easier to use, because you can work out which process relates to which command invocation. It's also useful if you save Valgrind output to a file, as it's clear exactly what you ran. I have a patch that does this (it's attached). It wraps the command before 80 chars where possible, as the following example shows (best viewed with a fixed-width font): ==9717== Memcheck, a memory error detector. ==9717== Copyright (C) 2002-2009, and GNU GPL'd, by Julian Seward et al. ==9717== Using Valgrind-3.5.0.SVN and LibVEX; rerun with -h for copyright info ==9717== Command: date 11 23 4a \ ==9717== aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaa \ ==9717== aaa 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 \ ==9717== 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 \ ==9717== fffffffffffffffffffffffffffff 1 2 3 \ ==9717== bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb I used "Command:" instead of "Running:" (as suggested in the bug report) because it seemed better. I thought about putting "Command:" in front of every line, to make it easier to parse the text, but then I figure if you want to do that you should really be using the XML output. I'll also have to change a lot of the regtest expected outputs (the attached patch doesn't have that yet) but that's not a big deal. Anyone have any other thoughts about this? Nick |
|
From: <sv...@va...> - 2009-07-28 01:44:35
|
Author: njn
Date: 2009-07-28 02:30:06 +0100 (Tue, 28 Jul 2009)
New Revision: 10644
Log:
Fix a bug in the hash table.
Modified:
branches/VCOV/exp-vcov/vc_main.c
Modified: branches/VCOV/exp-vcov/vc_main.c
===================================================================
--- branches/VCOV/exp-vcov/vc_main.c 2009-07-28 00:39:43 UTC (rev 10643)
+++ branches/VCOV/exp-vcov/vc_main.c 2009-07-28 01:30:06 UTC (rev 10644)
@@ -281,22 +281,27 @@
file_hash = hash(dirname, filename, N_FILE_ENTRIES);
curr_fileCC = CC_table[file_hash];
// Look for the filename in the appropriate chain.
- while (NULL != curr_fileCC &&
- !VG_STREQ( dirname, curr_fileCC-> dirname) &&
- !VG_STREQ(filename, curr_fileCC->filename))
- {
+ while (True) {
+ if (NULL == curr_fileCC) {
+ if (must_be_present) {
+ // XXX: don't panic, quit in a better way
+ tl_assert2(0, "file not present: %s, %s", dirname, filename);
+ }
+ // It wasn't in the chain. Create a new FileCC.
+ CC_table[file_hash] = curr_fileCC =
+ new_FileCC(instrAddr, dirname, filename, CC_table[file_hash]);
+ n_src_files++;
+ break;
+ }
+ if (VG_STREQ(dirname, curr_fileCC->dirname) &&
+ VG_STREQ(filename, curr_fileCC->filename))
+ {
+ break;
+ }
curr_fileCC = curr_fileCC->next;
}
- if (NULL == curr_fileCC) {
- if (must_be_present) {
- // XXX: don't panic, quit in a better way
- tl_assert2(0, "file not present: %s, %s", dirname, filename);
- }
- // It wasn't in the chain. Create a new FileCC.
- CC_table[file_hash] = curr_fileCC =
- new_FileCC(instrAddr, dirname, filename, CC_table[file_hash]);
- n_src_files++;
- }
+ tl_assert(VG_STREQ(dirname, curr_fileCC->dirname));
+ tl_assert(VG_STREQ(filename, curr_fileCC->filename));
return curr_fileCC;
}
@@ -375,7 +380,9 @@
while (True) {
/* current unsearched space is from lo to hi, inclusive. */
- if (lo > hi) tl_assert2(0, "didn't find %d in lineCCs", line);
+ if (lo > hi)
+ tl_assert2(0, "didn't find %d in lineCCs (%s/%s)",
+ line, dirname, filename);
mid = (lo + hi) / 2;
mid_line = fileCC->lineCCs[mid].line_num;
if (line < mid_line) { hi = mid-1; continue; }
@@ -448,6 +455,10 @@
// Simple, huh? We move through lines in the file and lines in
// fileCC->lineCCs[] in tandem.
//
+// XXX: could save some space by not storing line numbers but the difference
+// from the previous line number (and use 0 as the starting line number). Eg.
+// instead of [10, 12, 15, 18] it would be [10, 2, 3, 3].
+//
static Bool parse_buffer(Char* outfile, struct vg_stat* outfile_statbuf,
Char* buf)
{
|
Author: njn Date: 2009-07-28 01:39:43 +0100 (Tue, 28 Jul 2009) New Revision: 10643 Log: Merged all the changes from the trunk between r7367:10642, updated VCov for various changes, and fixed a few other minor things. Added: branches/VCOV/Makefile.tool-tests.am branches/VCOV/Makefile.vex.am branches/VCOV/cachegrind/cg-x86-amd64.c branches/VCOV/cachegrind/tests/notpower2.stderr.exp branches/VCOV/cachegrind/tests/notpower2.vgtest branches/VCOV/callgrind/tests/notpower2-hwpref.stderr.exp branches/VCOV/callgrind/tests/notpower2-hwpref.vgtest branches/VCOV/callgrind/tests/notpower2-use.stderr.exp branches/VCOV/callgrind/tests/notpower2-use.vgtest branches/VCOV/callgrind/tests/notpower2-wb.stderr.exp branches/VCOV/callgrind/tests/notpower2-wb.vgtest branches/VCOV/callgrind/tests/notpower2.stderr.exp branches/VCOV/callgrind/tests/notpower2.vgtest branches/VCOV/coregrind/launcher-darwin.c branches/VCOV/coregrind/m_aspacehl.c branches/VCOV/coregrind/m_coredump/coredump-macho.c branches/VCOV/coregrind/m_coredump/coredump-xcoff.c branches/VCOV/coregrind/m_debuginfo/d3basics.c branches/VCOV/coregrind/m_debuginfo/misc.c branches/VCOV/coregrind/m_debuginfo/priv_d3basics.h branches/VCOV/coregrind/m_debuginfo/priv_misc.h branches/VCOV/coregrind/m_debuginfo/priv_readdwarf3.h branches/VCOV/coregrind/m_debuginfo/priv_readmacho.h branches/VCOV/coregrind/m_debuginfo/priv_readpdb.h branches/VCOV/coregrind/m_debuginfo/priv_tytypes.h branches/VCOV/coregrind/m_debuginfo/readdwarf3.c branches/VCOV/coregrind/m_debuginfo/readmacho.c branches/VCOV/coregrind/m_debuginfo/readpdb.c branches/VCOV/coregrind/m_debuginfo/tytypes.c branches/VCOV/coregrind/m_demangle/cp-demangle.h branches/VCOV/coregrind/m_demangle/vg_libciface.h branches/VCOV/coregrind/m_dispatch/dispatch-amd64-darwin.S branches/VCOV/coregrind/m_dispatch/dispatch-x86-darwin.S branches/VCOV/coregrind/m_initimg/initimg-darwin.c branches/VCOV/coregrind/m_initimg/initimg-pathscan.c branches/VCOV/coregrind/m_initimg/priv_initimg_pathscan.h branches/VCOV/coregrind/m_mach/ branches/VCOV/coregrind/m_seqmatch.c branches/VCOV/coregrind/m_sigframe/sigframe-amd64-darwin.c branches/VCOV/coregrind/m_sigframe/sigframe-x86-darwin.c branches/VCOV/coregrind/m_sparsewa.c branches/VCOV/coregrind/m_start-amd64-darwin.S branches/VCOV/coregrind/m_start-x86-darwin.S branches/VCOV/coregrind/m_syswrap/priv_syswrap-darwin.h branches/VCOV/coregrind/m_syswrap/syscall-amd64-darwin.S branches/VCOV/coregrind/m_syswrap/syscall-x86-darwin.S branches/VCOV/coregrind/m_syswrap/syswrap-amd64-darwin.c branches/VCOV/coregrind/m_syswrap/syswrap-darwin.c branches/VCOV/coregrind/m_syswrap/syswrap-x86-darwin.c branches/VCOV/coregrind/m_ume/ branches/VCOV/coregrind/m_wordfm.c branches/VCOV/coregrind/pub_core_aspacehl.h branches/VCOV/coregrind/pub_core_mach.h branches/VCOV/coregrind/pub_core_seqmatch.h branches/VCOV/coregrind/pub_core_sparsewa.h branches/VCOV/coregrind/pub_core_vkiscnums_asm.h branches/VCOV/coregrind/pub_core_wordfm.h branches/VCOV/darwin9-drd.supp branches/VCOV/darwin9.supp branches/VCOV/docs/internals/3_4_BUGSTATUS.txt branches/VCOV/docs/internals/BIG_APP_NOTES.txt branches/VCOV/docs/internals/Darwin-notes.txt branches/VCOV/docs/internals/SPEC-notes.txt branches/VCOV/docs/internals/howto_BUILD_KDE42.txt branches/VCOV/docs/internals/howto_oprofile.txt branches/VCOV/docs/internals/why-no-libc.txt branches/VCOV/docs/internals/xml-output-protocol4.txt branches/VCOV/docs/xml/design-impl.xml branches/VCOV/drd/ branches/VCOV/exp-bbv/ branches/VCOV/exp-ptrcheck.supp branches/VCOV/exp-ptrcheck/ branches/VCOV/glibc-2.X.supp.in branches/VCOV/helgrind/README_MSMProp2.txt branches/VCOV/helgrind/README_YARD.txt branches/VCOV/helgrind/hg_basics.c branches/VCOV/helgrind/hg_basics.h branches/VCOV/helgrind/hg_errors.c branches/VCOV/helgrind/hg_errors.h branches/VCOV/helgrind/hg_lock_n_thread.c branches/VCOV/helgrind/hg_lock_n_thread.h branches/VCOV/helgrind/libhb.h branches/VCOV/helgrind/libhb_core.c branches/VCOV/helgrind/tests/bar_bad.c branches/VCOV/helgrind/tests/bar_bad.stderr.exp branches/VCOV/helgrind/tests/bar_bad.stdout.exp branches/VCOV/helgrind/tests/bar_bad.vgtest branches/VCOV/helgrind/tests/bar_trivial.c branches/VCOV/helgrind/tests/bar_trivial.stderr.exp branches/VCOV/helgrind/tests/bar_trivial.stdout.exp branches/VCOV/helgrind/tests/bar_trivial.vgtest branches/VCOV/helgrind/tests/hg01_all_ok.stderr.exp branches/VCOV/helgrind/tests/hg02_deadlock.stderr.exp branches/VCOV/helgrind/tests/hg03_inherit.stderr.exp branches/VCOV/helgrind/tests/hg04_race.stderr.exp branches/VCOV/helgrind/tests/hg05_race2.stderr.exp branches/VCOV/helgrind/tests/hg06_readshared.stderr.exp branches/VCOV/helgrind/tests/pth_barrier1.stderr.exp branches/VCOV/helgrind/tests/pth_barrier1.stdout.exp branches/VCOV/helgrind/tests/pth_barrier1.vgtest branches/VCOV/helgrind/tests/pth_barrier2.stderr.exp branches/VCOV/helgrind/tests/pth_barrier2.stdout.exp branches/VCOV/helgrind/tests/pth_barrier2.vgtest branches/VCOV/helgrind/tests/pth_barrier3.stderr.exp branches/VCOV/helgrind/tests/pth_barrier3.stdout.exp branches/VCOV/helgrind/tests/pth_barrier3.vgtest branches/VCOV/helgrind/tests/rwlock_race.stderr.exp branches/VCOV/helgrind/tests/rwlock_race.stdout.exp branches/VCOV/helgrind/tests/rwlock_race.vgtest branches/VCOV/helgrind/tests/rwlock_test.stderr.exp branches/VCOV/helgrind/tests/rwlock_test.stdout.exp branches/VCOV/helgrind/tests/rwlock_test.vgtest branches/VCOV/helgrind/tests/tc01_simple_race.stderr.exp branches/VCOV/helgrind/tests/tc02_simple_tls.stderr.exp branches/VCOV/helgrind/tests/tc03_re_excl.stderr.exp branches/VCOV/helgrind/tests/tc04_free_lock.stderr.exp branches/VCOV/helgrind/tests/tc05_simple_race.stderr.exp branches/VCOV/helgrind/tests/tc06_two_races.stderr.exp branches/VCOV/helgrind/tests/tc06_two_races_xml.stderr.exp branches/VCOV/helgrind/tests/tc06_two_races_xml.stdout.exp branches/VCOV/helgrind/tests/tc06_two_races_xml.vgtest branches/VCOV/helgrind/tests/tc07_hbl1.stderr.exp branches/VCOV/helgrind/tests/tc08_hbl2.stderr.exp branches/VCOV/helgrind/tests/tc10_rec_lock.stderr.exp branches/VCOV/helgrind/tests/tc11_XCHG.stderr.exp branches/VCOV/helgrind/tests/tc12_rwl_trivial.stderr.exp branches/VCOV/helgrind/tests/tc12_rwl_trivial.stderr.exp-darwin970 branches/VCOV/helgrind/tests/tc13_laog1.stderr.exp branches/VCOV/helgrind/tests/tc14_laog_dinphils.stderr.exp branches/VCOV/helgrind/tests/tc15_laog_lockdel.stderr.exp branches/VCOV/helgrind/tests/tc16_byterace.stderr.exp branches/VCOV/helgrind/tests/tc17_sembar.stderr.exp branches/VCOV/helgrind/tests/tc18_semabuse.stderr.exp-glibc28-amd64 branches/VCOV/helgrind/tests/tc19_shadowmem.stderr.exp branches/VCOV/helgrind/tests/tc20_verifywrap.stderr.exp-glibc27-amd64 branches/VCOV/helgrind/tests/tc21_pthonce.stderr.exp branches/VCOV/helgrind/tests/tc22_exit_w_lock.stderr.exp branches/VCOV/helgrind/tests/tc23_bogus_condwait.stderr.exp branches/VCOV/helgrind/tests/tc24_nonzero_sem.stderr.exp branches/VCOV/include/pub_tool_aspacehl.h branches/VCOV/include/pub_tool_seqmatch.h branches/VCOV/include/pub_tool_sparsewa.h branches/VCOV/include/pub_tool_vkiscnums_asm.h branches/VCOV/include/pub_tool_wordfm.h branches/VCOV/include/vki/vki-darwin.h branches/VCOV/include/vki/vki-scnums-darwin.h branches/VCOV/massif/tests/ignored.c branches/VCOV/massif/tests/ignored.post.exp branches/VCOV/massif/tests/ignored.stderr.exp branches/VCOV/massif/tests/ignored.vgtest branches/VCOV/massif/tests/malloc_usable.c branches/VCOV/massif/tests/malloc_usable.stderr.exp branches/VCOV/massif/tests/malloc_usable.vgtest branches/VCOV/massif/tests/one.post.exp2 branches/VCOV/memcheck/mc_errors.c branches/VCOV/memcheck/mc_machine.c branches/VCOV/memcheck/perf/ branches/VCOV/memcheck/tests/atomic_incs.c branches/VCOV/memcheck/tests/atomic_incs.stderr.exp branches/VCOV/memcheck/tests/atomic_incs.stdout.exp-32bit branches/VCOV/memcheck/tests/atomic_incs.stdout.exp-64bit branches/VCOV/memcheck/tests/atomic_incs.vgtest branches/VCOV/memcheck/tests/calloc-overflow.c branches/VCOV/memcheck/tests/calloc-overflow.stderr.exp branches/VCOV/memcheck/tests/calloc-overflow.vgtest branches/VCOV/memcheck/tests/darwin/ branches/VCOV/memcheck/tests/file_locking.c branches/VCOV/memcheck/tests/file_locking.stderr.exp branches/VCOV/memcheck/tests/file_locking.vgtest branches/VCOV/memcheck/tests/filter_addressable branches/VCOV/memcheck/tests/filter_varinfo3 branches/VCOV/memcheck/tests/leak-cases-full.stderr.exp branches/VCOV/memcheck/tests/leak-cases-full.vgtest branches/VCOV/memcheck/tests/leak-cases-summary.stderr.exp branches/VCOV/memcheck/tests/leak-cases-summary.vgtest branches/VCOV/memcheck/tests/leak-cases.c branches/VCOV/memcheck/tests/leak.h branches/VCOV/memcheck/tests/linux-syscalls-2007.c branches/VCOV/memcheck/tests/linux-syscalls-2007.stderr.exp branches/VCOV/memcheck/tests/linux-syscalls-2007.vgtest branches/VCOV/memcheck/tests/linux-syslog-syscall.c branches/VCOV/memcheck/tests/linux-syslog-syscall.stderr.exp branches/VCOV/memcheck/tests/linux-syslog-syscall.vgtest branches/VCOV/memcheck/tests/linux/ branches/VCOV/memcheck/tests/long-supps.c branches/VCOV/memcheck/tests/long-supps.stderr.exp branches/VCOV/memcheck/tests/long-supps.supp branches/VCOV/memcheck/tests/long-supps.vgtest branches/VCOV/memcheck/tests/mallinfo.c branches/VCOV/memcheck/tests/mallinfo.stderr.exp branches/VCOV/memcheck/tests/mallinfo.vgtest branches/VCOV/memcheck/tests/malloc_free_fill.stderr.exp branches/VCOV/memcheck/tests/nanoleak_supp.c branches/VCOV/memcheck/tests/origin1-yes.c branches/VCOV/memcheck/tests/origin1-yes.stderr.exp branches/VCOV/memcheck/tests/origin1-yes.stdout.exp branches/VCOV/memcheck/tests/origin1-yes.vgtest branches/VCOV/memcheck/tests/origin2-not-quite.c branches/VCOV/memcheck/tests/origin2-not-quite.stderr.exp branches/VCOV/memcheck/tests/origin2-not-quite.stdout.exp branches/VCOV/memcheck/tests/origin2-not-quite.vgtest branches/VCOV/memcheck/tests/origin3-no.c branches/VCOV/memcheck/tests/origin3-no.stderr.exp branches/VCOV/memcheck/tests/origin3-no.stdout.exp branches/VCOV/memcheck/tests/origin3-no.vgtest branches/VCOV/memcheck/tests/origin4-many.c branches/VCOV/memcheck/tests/origin4-many.stderr.exp branches/VCOV/memcheck/tests/origin4-many.stdout.exp branches/VCOV/memcheck/tests/origin4-many.vgtest branches/VCOV/memcheck/tests/origin5-bz2.c branches/VCOV/memcheck/tests/origin5-bz2.stderr.exp-glibc25-amd64 branches/VCOV/memcheck/tests/origin5-bz2.stderr.exp-glibc25-x86 branches/VCOV/memcheck/tests/origin5-bz2.stderr.exp-glibc27-ppc64 branches/VCOV/memcheck/tests/origin5-bz2.stdout.exp branches/VCOV/memcheck/tests/origin5-bz2.vgtest branches/VCOV/memcheck/tests/origin6-fp.c branches/VCOV/memcheck/tests/origin6-fp.stderr.exp-glibc25-amd64 branches/VCOV/memcheck/tests/origin6-fp.stderr.exp-glibc27-ppc64 branches/VCOV/memcheck/tests/origin6-fp.stdout.exp branches/VCOV/memcheck/tests/origin6-fp.vgtest branches/VCOV/memcheck/tests/sigkill.stderr.exp-darwin branches/VCOV/memcheck/tests/strchr.stderr.exp-darwin branches/VCOV/memcheck/tests/supp-dir.stderr.exp branches/VCOV/memcheck/tests/supp-dir.vgtest branches/VCOV/memcheck/tests/unit_libcbase.c branches/VCOV/memcheck/tests/unit_libcbase.stderr.exp branches/VCOV/memcheck/tests/unit_libcbase.vgtest branches/VCOV/memcheck/tests/unit_oset.c branches/VCOV/memcheck/tests/unit_oset.stderr.exp branches/VCOV/memcheck/tests/unit_oset.stdout.exp branches/VCOV/memcheck/tests/unit_oset.vgtest branches/VCOV/memcheck/tests/varinfo1.c branches/VCOV/memcheck/tests/varinfo1.stderr.exp branches/VCOV/memcheck/tests/varinfo1.stdout.exp branches/VCOV/memcheck/tests/varinfo1.vgtest branches/VCOV/memcheck/tests/varinfo2.c branches/VCOV/memcheck/tests/varinfo2.stderr.exp branches/VCOV/memcheck/tests/varinfo2.stdout.exp branches/VCOV/memcheck/tests/varinfo2.vgtest branches/VCOV/memcheck/tests/varinfo3.c branches/VCOV/memcheck/tests/varinfo3.stderr.exp branches/VCOV/memcheck/tests/varinfo3.stdout.exp branches/VCOV/memcheck/tests/varinfo3.vgtest branches/VCOV/memcheck/tests/varinfo4.c branches/VCOV/memcheck/tests/varinfo4.stderr.exp branches/VCOV/memcheck/tests/varinfo4.stdout.exp branches/VCOV/memcheck/tests/varinfo4.vgtest branches/VCOV/memcheck/tests/varinfo5.c branches/VCOV/memcheck/tests/varinfo5.stderr.exp branches/VCOV/memcheck/tests/varinfo5.stdout.exp branches/VCOV/memcheck/tests/varinfo5.vgtest branches/VCOV/memcheck/tests/varinfo5so.c branches/VCOV/memcheck/tests/varinfo6.c branches/VCOV/memcheck/tests/varinfo6.stderr.exp branches/VCOV/memcheck/tests/varinfo6.stdout.exp branches/VCOV/memcheck/tests/varinfo6.vgtest branches/VCOV/memcheck/tests/vcpu_fnfns.stdout.exp-glibc28-amd64 branches/VCOV/memcheck/tests/x86-linux/ branches/VCOV/memcheck/tests/x86/fxsave.c branches/VCOV/memcheck/tests/x86/fxsave.stderr.exp branches/VCOV/memcheck/tests/x86/fxsave.stdout.exp branches/VCOV/memcheck/tests/x86/fxsave.vgtest branches/VCOV/memcheck/tests/x86/pushfpopf_s.S branches/VCOV/memcheck/tests/x86/pushfw_x86.c branches/VCOV/memcheck/tests/x86/pushfw_x86.stderr.exp branches/VCOV/memcheck/tests/x86/pushfw_x86.stdout.exp branches/VCOV/memcheck/tests/x86/pushfw_x86.vgtest branches/VCOV/memcheck/tests/xml1.stderr.exp branches/VCOV/mpi/ branches/VCOV/nightly/conf/georgia-tech-cellbuzz-cross.conf branches/VCOV/nightly/conf/georgia-tech-cellbuzz-cross.sendmail branches/VCOV/nightly/conf/georgia-tech-cellbuzz-native.conf branches/VCOV/nightly/conf/georgia-tech-cellbuzz-native.sendmail branches/VCOV/none/tests/amd64/amd64locked.c branches/VCOV/none/tests/amd64/amd64locked.stderr.exp branches/VCOV/none/tests/amd64/amd64locked.stdout.exp branches/VCOV/none/tests/amd64/amd64locked.vgtest branches/VCOV/none/tests/amd64/bug156404-amd64.c branches/VCOV/none/tests/amd64/bug156404-amd64.stderr.exp branches/VCOV/none/tests/amd64/bug156404-amd64.stdout.exp branches/VCOV/none/tests/amd64/bug156404-amd64.vgtest branches/VCOV/none/tests/amd64/insn_ssse3.def branches/VCOV/none/tests/amd64/insn_ssse3.stderr.exp branches/VCOV/none/tests/amd64/insn_ssse3.stdout.exp branches/VCOV/none/tests/amd64/insn_ssse3.vgtest branches/VCOV/none/tests/amd64/ssse3_misaligned.c branches/VCOV/none/tests/amd64/ssse3_misaligned.stderr.exp branches/VCOV/none/tests/amd64/ssse3_misaligned.stdout.exp branches/VCOV/none/tests/amd64/ssse3_misaligned.vgtest branches/VCOV/none/tests/darwin/ branches/VCOV/none/tests/empty-exe.stderr.exp branches/VCOV/none/tests/empty-exe.vgtest branches/VCOV/none/tests/fdleak.h branches/VCOV/none/tests/filter_timestamp branches/VCOV/none/tests/linux/ branches/VCOV/none/tests/shell.stderr.exp-dash branches/VCOV/none/tests/shell_zerolength.stderr.exp-dash branches/VCOV/none/tests/syslog.c branches/VCOV/none/tests/syslog.stderr.exp branches/VCOV/none/tests/syslog.vgtest branches/VCOV/none/tests/timestamp.c branches/VCOV/none/tests/timestamp.stderr.exp branches/VCOV/none/tests/timestamp.vgtest branches/VCOV/none/tests/x86-linux/ branches/VCOV/none/tests/x86/bug152818-x86.c branches/VCOV/none/tests/x86/bug152818-x86.stderr.exp branches/VCOV/none/tests/x86/bug152818-x86.stdout.exp branches/VCOV/none/tests/x86/bug152818-x86.vgtest branches/VCOV/none/tests/x86/cpuid_s.S branches/VCOV/none/tests/x86/insn_ssse3.def branches/VCOV/none/tests/x86/insn_ssse3.stderr.exp branches/VCOV/none/tests/x86/insn_ssse3.stdout.exp branches/VCOV/none/tests/x86/insn_ssse3.vgtest branches/VCOV/none/tests/x86/ssse3_misaligned.c branches/VCOV/none/tests/x86/ssse3_misaligned.stderr.exp branches/VCOV/none/tests/x86/ssse3_misaligned.stdout.exp branches/VCOV/none/tests/x86/ssse3_misaligned.vgtest branches/VCOV/none/tests/x86/x86locked.c branches/VCOV/none/tests/x86/x86locked.stderr.exp branches/VCOV/none/tests/x86/x86locked.stdout.exp branches/VCOV/none/tests/x86/x86locked.vgtest branches/VCOV/tests/arch_test.c branches/VCOV/tests/asm.h branches/VCOV/tests/malloc.h branches/VCOV/tests/os_test.c branches/VCOV/tests/platform_test branches/VCOV/tests/sys_mman.h branches/VCOV/tests/x86_amd64_features.c Removed: branches/VCOV/ACKNOWLEDGEMENTS branches/VCOV/INSTALL branches/VCOV/Makefile.core.am branches/VCOV/Makefile.flags.am branches/VCOV/Makefile.install.am branches/VCOV/Makefile.tool-flags.am branches/VCOV/Makefile.tool-inplace.am branches/VCOV/auxprogs/libmpiwrap.c branches/VCOV/auxprogs/libmpiwrap_aix5.exp branches/VCOV/auxprogs/mpiwrap_type_test.c branches/VCOV/cachegrind/cg-amd64.c branches/VCOV/cachegrind/cg-x86.c branches/VCOV/cachegrind/tests/amd64/ branches/VCOV/cachegrind/tests/ppc32/ branches/VCOV/cachegrind/tests/ppc64/ branches/VCOV/cachegrind/tests/wrap5.c branches/VCOV/callgrind/docs/index.xml branches/VCOV/coregrind/m_coredump/coredump-amd64-linux.c branches/VCOV/coregrind/m_coredump/coredump-ppc32-aix5.c branches/VCOV/coregrind/m_coredump/coredump-ppc32-linux.c branches/VCOV/coregrind/m_coredump/coredump-ppc64-aix5.c branches/VCOV/coregrind/m_coredump/coredump-ppc64-linux.c branches/VCOV/coregrind/m_coredump/coredump-x86-linux.c branches/VCOV/coregrind/m_coredump/priv_elf.h branches/VCOV/coregrind/m_ume.c branches/VCOV/docs/internals/darwin-notes.txt branches/VCOV/docs/internals/darwin-syscalls.txt branches/VCOV/docs/xml/new-tech-docs.xml branches/VCOV/exp-drd/ branches/VCOV/exp-omega/ branches/VCOV/helgrind/hg_wordfm.c branches/VCOV/helgrind/hg_wordfm.h branches/VCOV/helgrind/tests/hg01_all_ok.stderr.exp-glibc25-amd64 branches/VCOV/helgrind/tests/hg02_deadlock.stderr.exp-glibc25-amd64 branches/VCOV/helgrind/tests/hg02_deadlock.stderr.exp-glibc25-x86 branches/VCOV/helgrind/tests/hg03_inherit.stderr.exp-glibc25-amd64 branches/VCOV/helgrind/tests/hg03_inherit.stderr.exp-glibc25-x86 branches/VCOV/helgrind/tests/hg04_race.stderr.exp-glibc25-amd64 branches/VCOV/helgrind/tests/hg04_race.stderr.exp-glibc25-x86 branches/VCOV/helgrind/tests/hg05_race2.stderr.exp-glibc25-amd64 branches/VCOV/helgrind/tests/hg05_race2.stderr.exp-glibc25-x86 branches/VCOV/helgrind/tests/hg06_readshared.stderr.exp-glibc25-amd64 branches/VCOV/helgrind/tests/tc01_simple_race.stderr.exp-glibc25-amd64 branches/VCOV/helgrind/tests/tc01_simple_race.stderr.exp-glibc25-x86 branches/VCOV/helgrind/tests/tc02_simple_tls.stderr.exp-glibc25-amd64 branches/VCOV/helgrind/tests/tc03_re_excl.stderr.exp-glibc25-amd64 branches/VCOV/helgrind/tests/tc04_free_lock.stderr.exp-glibc25-amd64 branches/VCOV/helgrind/tests/tc05_simple_race.stderr.exp-glibc25-amd64 branches/VCOV/helgrind/tests/tc05_simple_race.stderr.exp-glibc25-x86 branches/VCOV/helgrind/tests/tc06_two_races.stderr.exp-glibc25-amd64 branches/VCOV/helgrind/tests/tc06_two_races.stderr.exp-glibc25-x86 branches/VCOV/helgrind/tests/tc07_hbl1.stderr.exp-glibc25-amd64 branches/VCOV/helgrind/tests/tc08_hbl2.stderr.exp-glibc25-amd64 branches/VCOV/helgrind/tests/tc10_rec_lock.stderr.exp-glibc25-amd64 branches/VCOV/helgrind/tests/tc11_XCHG.stderr.exp-glibc25-amd64 branches/VCOV/helgrind/tests/tc12_rwl_trivial.stderr.exp-glibc25-amd64 branches/VCOV/helgrind/tests/tc13_laog1.stderr.exp-glibc25-amd64 branches/VCOV/helgrind/tests/tc14_laog_dinphils.stderr.exp-glibc25-amd64 branches/VCOV/helgrind/tests/tc14_laog_dinphils.stderr.exp-glibc25-x86 branches/VCOV/helgrind/tests/tc15_laog_lockdel.stderr.exp-glibc25-amd64 branches/VCOV/helgrind/tests/tc16_byterace.stderr.exp-glibc25-amd64 branches/VCOV/helgrind/tests/tc16_byterace.stderr.exp-glibc25-x86 branches/VCOV/helgrind/tests/tc17_sembar.stderr.exp-glibc25-amd64 branches/VCOV/helgrind/tests/tc17_sembar.stderr.exp-glibc25-x86 branches/VCOV/helgrind/tests/tc18_semabuse.stderr.exp-glibc25-x86 branches/VCOV/helgrind/tests/tc19_shadowmem.stderr.exp-glibc25-amd64 branches/VCOV/helgrind/tests/tc19_shadowmem.stderr.exp-glibc25-x86 branches/VCOV/helgrind/tests/tc20_verifywrap.stderr.exp-glibc23-amd64 branches/VCOV/helgrind/tests/tc20_verifywrap.stderr.exp-glibc25-x86 branches/VCOV/helgrind/tests/tc21_pthonce.stderr.exp-glibc25-amd64 branches/VCOV/helgrind/tests/tc21_pthonce.stderr.exp-glibc25-x86 branches/VCOV/helgrind/tests/tc22_exit_w_lock.stderr.exp-glibc25-amd64 branches/VCOV/helgrind/tests/tc22_exit_w_lock.stderr.exp-glibc25-x86 branches/VCOV/helgrind/tests/tc23_bogus_condwait.stderr.exp-glibc25-amd64 branches/VCOV/helgrind/tests/tc23_bogus_condwait.stderr.exp-glibc25-x86 branches/VCOV/helgrind/tests/tc24_nonzero_sem.stderr.exp-glibc25-amd64 branches/VCOV/include/vki/Makefile.am branches/VCOV/massif/tests/long-names.post.exp2 branches/VCOV/massif/tests/toobig-allocs.stderr.exp branches/VCOV/massif/tests/toobig-allocs.vgtest branches/VCOV/memcheck/tests/addressable.stderr.exp2 branches/VCOV/memcheck/tests/badjump.stderr.exp2 branches/VCOV/memcheck/tests/brk.c branches/VCOV/memcheck/tests/brk.stderr.exp branches/VCOV/memcheck/tests/brk.stderr.exp2 branches/VCOV/memcheck/tests/brk.vgtest branches/VCOV/memcheck/tests/brk2.stderr.exp2 branches/VCOV/memcheck/tests/buflen_check.stderr.exp2 branches/VCOV/memcheck/tests/execve.stderr.exp2 branches/VCOV/memcheck/tests/execve2.stderr.exp2 branches/VCOV/memcheck/tests/filter_leak_check_size branches/VCOV/memcheck/tests/filter_stderr_backtrace branches/VCOV/memcheck/tests/fwrite.stderr.exp2 branches/VCOV/memcheck/tests/hello.c branches/VCOV/memcheck/tests/leak-0.stderr.exp2 branches/VCOV/memcheck/tests/leak-cycle.stderr.exp2 branches/VCOV/memcheck/tests/leak-cycle.stderr.exp64 branches/VCOV/memcheck/tests/leak-pool-0.stderr.exp64 branches/VCOV/memcheck/tests/leak-pool-1.stderr.exp64 branches/VCOV/memcheck/tests/leak-pool-2.stderr.exp64 branches/VCOV/memcheck/tests/leak-pool-3.stderr.exp64 branches/VCOV/memcheck/tests/leak-pool-4.stderr.exp64 branches/VCOV/memcheck/tests/leak-pool-5.stderr.exp64 branches/VCOV/memcheck/tests/leak-regroot.c branches/VCOV/memcheck/tests/leak-regroot.stderr.exp branches/VCOV/memcheck/tests/leak-regroot.stderr.exp2 branches/VCOV/memcheck/tests/leak-regroot.vgtest branches/VCOV/memcheck/tests/leak-tree.stderr.exp2 branches/VCOV/memcheck/tests/leak-tree.stderr.exp64 branches/VCOV/memcheck/tests/leakotron.c branches/VCOV/memcheck/tests/leakotron.stderr.exp branches/VCOV/memcheck/tests/leakotron.stdout.exp branches/VCOV/memcheck/tests/leakotron.vgtest branches/VCOV/memcheck/tests/malloc_free_fill.stderr.exp-glibc25-amd64 branches/VCOV/memcheck/tests/malloc_free_fill.stderr.exp-glibc25-x86 branches/VCOV/memcheck/tests/malloc_free_fill.stdout.exp branches/VCOV/memcheck/tests/mempool.stderr.exp64 branches/VCOV/memcheck/tests/mismatches.stderr.exp2 branches/VCOV/memcheck/tests/mismatches.stderr.exp64 branches/VCOV/memcheck/tests/nanoleak.c branches/VCOV/memcheck/tests/nanoleak.stderr.exp branches/VCOV/memcheck/tests/nanoleak.vgtest branches/VCOV/memcheck/tests/oset_test.c branches/VCOV/memcheck/tests/oset_test.stderr.exp branches/VCOV/memcheck/tests/oset_test.stdout.exp branches/VCOV/memcheck/tests/oset_test.vgtest branches/VCOV/memcheck/tests/pointer-trace.stderr.exp2 branches/VCOV/memcheck/tests/pointer-trace.stderr.exp3 branches/VCOV/memcheck/tests/pointer-trace.stderr.exp64 branches/VCOV/memcheck/tests/post-syscall.stderr.exp2 branches/VCOV/memcheck/tests/post-syscall.stdout.exp branches/VCOV/memcheck/tests/ppc32/ branches/VCOV/memcheck/tests/ppc64/ branches/VCOV/memcheck/tests/sigkill.stderr.exp2 branches/VCOV/memcheck/tests/sigkill.stderr.exp3 branches/VCOV/memcheck/tests/stack_switch.c branches/VCOV/memcheck/tests/stack_switch.stderr.exp branches/VCOV/memcheck/tests/stack_switch.vgtest branches/VCOV/memcheck/tests/toobig-allocs.stderr.exp branches/VCOV/memcheck/tests/toobig-allocs.vgtest branches/VCOV/memcheck/tests/vcpu_bz2.c branches/VCOV/memcheck/tests/vgtest_ume.c branches/VCOV/memcheck/tests/vgtest_ume.disabled branches/VCOV/memcheck/tests/vgtest_ume.stderr.exp branches/VCOV/memcheck/tests/with-space.stderr.exp branches/VCOV/memcheck/tests/with-space.stdout.exp branches/VCOV/memcheck/tests/with-space.vgtest branches/VCOV/memcheck/tests/writev.stderr.exp2 branches/VCOV/memcheck/tests/writev.stderr.exp3 branches/VCOV/memcheck/tests/x86/bug133694.c branches/VCOV/memcheck/tests/x86/bug133694.stderr.exp branches/VCOV/memcheck/tests/x86/bug133694.stdout.exp branches/VCOV/memcheck/tests/x86/bug133694.vgtest branches/VCOV/memcheck/tests/x86/int3-x86.c branches/VCOV/memcheck/tests/x86/int3-x86.stderr.exp branches/VCOV/memcheck/tests/x86/int3-x86.stdout.exp branches/VCOV/memcheck/tests/x86/int3-x86.vgtest branches/VCOV/memcheck/tests/x86/pushfpopf_s.s branches/VCOV/memcheck/tests/x86/scalar.c branches/VCOV/memcheck/tests/x86/scalar.h branches/VCOV/memcheck/tests/x86/scalar.stderr.exp branches/VCOV/memcheck/tests/x86/scalar.stderr.exp2 branches/VCOV/memcheck/tests/x86/scalar.vgtest branches/VCOV/memcheck/tests/x86/scalar_exit_group.c branches/VCOV/memcheck/tests/x86/scalar_exit_group.stderr.exp branches/VCOV/memcheck/tests/x86/scalar_exit_group.stderr.exp2 branches/VCOV/memcheck/tests/x86/scalar_exit_group.vgtest branches/VCOV/memcheck/tests/x86/scalar_fork.c branches/VCOV/memcheck/tests/x86/scalar_fork.stderr.exp branches/VCOV/memcheck/tests/x86/scalar_fork.vgtest branches/VCOV/memcheck/tests/x86/scalar_supp.c branches/VCOV/memcheck/tests/x86/scalar_supp.stderr.exp branches/VCOV/memcheck/tests/x86/scalar_supp.stderr.exp2 branches/VCOV/memcheck/tests/x86/scalar_supp.supp branches/VCOV/memcheck/tests/x86/scalar_supp.vgtest branches/VCOV/memcheck/tests/x86/scalar_vfork.c branches/VCOV/memcheck/tests/x86/scalar_vfork.stderr.exp branches/VCOV/memcheck/tests/x86/scalar_vfork.vgtest branches/VCOV/memcheck/tests/xml1.stderr.exp branches/VCOV/memcheck/tests/xml1.stderr.exp2 branches/VCOV/memcheck/tests/xml1.stderr.exp3 branches/VCOV/memcheck/tests/xml1.stderr.exp64 branches/VCOV/memcheck/tests/xml1.stderr.exp64_2 branches/VCOV/memcheck/tests/zeropage.c branches/VCOV/memcheck/tests/zeropage.stderr.exp branches/VCOV/memcheck/tests/zeropage.stderr.exp2 branches/VCOV/memcheck/tests/zeropage.stdout.exp branches/VCOV/memcheck/tests/zeropage.vgtest branches/VCOV/none/tests/async-sigs.stdout.exp branches/VCOV/none/tests/blockfault.c branches/VCOV/none/tests/blockfault.stderr.exp branches/VCOV/none/tests/blockfault.stdout.exp branches/VCOV/none/tests/blockfault.vgtest branches/VCOV/none/tests/fdleak_cmsg.stderr.exp2 branches/VCOV/none/tests/fdleak_cmsg.stderr.exp3 branches/VCOV/none/tests/fdleak_cmsg.stderr.exp4 branches/VCOV/none/tests/fdleak_creat.stderr.exp2 branches/VCOV/none/tests/fdleak_creat.stderr.exp3 branches/VCOV/none/tests/fdleak_dup.stderr.exp2 branches/VCOV/none/tests/fdleak_dup.stderr.exp3 branches/VCOV/none/tests/fdleak_dup2.stderr.exp2 branches/VCOV/none/tests/fdleak_dup2.stderr.exp3 branches/VCOV/none/tests/fdleak_fcntl.stderr.exp2 branches/VCOV/none/tests/fdleak_fcntl.stderr.exp3 branches/VCOV/none/tests/fdleak_fcntl.stderr.exp4 branches/VCOV/none/tests/fdleak_ipv4.stderr.exp2 branches/VCOV/none/tests/fdleak_open.stderr.exp2 branches/VCOV/none/tests/fdleak_pipe.stderr.exp2 branches/VCOV/none/tests/fdleak_socketpair.stderr.exp2 branches/VCOV/none/tests/mremap.c branches/VCOV/none/tests/mremap.stderr.exp branches/VCOV/none/tests/mremap.stdout.exp branches/VCOV/none/tests/mremap.vgtest branches/VCOV/none/tests/mremap2.c branches/VCOV/none/tests/mremap2.stderr.exp branches/VCOV/none/tests/mremap2.stdout.exp branches/VCOV/none/tests/mremap2.stdout.exp2 branches/VCOV/none/tests/mremap2.vgtest branches/VCOV/none/tests/pth_detached.c branches/VCOV/none/tests/pth_detached.stderr.exp branches/VCOV/none/tests/pth_detached.stdout.exp branches/VCOV/none/tests/pth_detached.vgtest branches/VCOV/none/tests/susphello.c branches/VCOV/none/tests/susphello.stderr.exp branches/VCOV/none/tests/susphello.stdout.exp branches/VCOV/none/tests/susphello.vgtest branches/VCOV/none/tests/x86/cpuid_s.s branches/VCOV/none/tests/x86/seg_override.c branches/VCOV/none/tests/x86/seg_override.stderr.exp branches/VCOV/none/tests/x86/seg_override.stdout.exp branches/VCOV/none/tests/x86/seg_override.vgtest branches/VCOV/none/tests/x86/sigcontext.c branches/VCOV/none/tests/x86/sigcontext.stderr.exp branches/VCOV/none/tests/x86/sigcontext.stdout.exp branches/VCOV/none/tests/x86/sigcontext.vgtest branches/VCOV/tests/cputest.c branches/VCOV/tests/filter_test_paths branches/VCOV/tests/toobig-allocs.c Modified: branches/VCOV/ branches/VCOV/AUTHORS branches/VCOV/Makefile.all.am branches/VCOV/Makefile.am branches/VCOV/Makefile.tool.am branches/VCOV/NEWS branches/VCOV/README branches/VCOV/README_DEVELOPERS branches/VCOV/README_MISSING_SYSCALL_OR_IOCTL branches/VCOV/README_PACKAGERS branches/VCOV/auxprogs/ branches/VCOV/auxprogs/Makefile.am branches/VCOV/auxprogs/aix5_VKI_info.c branches/VCOV/auxprogs/change-copyright-year branches/VCOV/auxprogs/valgrind-listener.c branches/VCOV/cachegrind/ branches/VCOV/cachegrind/Makefile.am branches/VCOV/cachegrind/cg-ppc32.c branches/VCOV/cachegrind/cg-ppc64.c branches/VCOV/cachegrind/cg_arch.h branches/VCOV/cachegrind/cg_branchpred.c branches/VCOV/cachegrind/cg_main.c branches/VCOV/cachegrind/cg_merge.c branches/VCOV/cachegrind/cg_sim.c branches/VCOV/cachegrind/docs/cg-manual.xml branches/VCOV/cachegrind/tests/ branches/VCOV/cachegrind/tests/Makefile.am branches/VCOV/cachegrind/tests/filter_stderr branches/VCOV/cachegrind/tests/wrap5.vgtest branches/VCOV/cachegrind/tests/x86/ branches/VCOV/cachegrind/tests/x86/Makefile.am branches/VCOV/cachegrind/tests/x86/fpu-28-108.S branches/VCOV/callgrind/ branches/VCOV/callgrind/Makefile.am branches/VCOV/callgrind/bb.c branches/VCOV/callgrind/bbcc.c branches/VCOV/callgrind/callgrind.h branches/VCOV/callgrind/callstack.c branches/VCOV/callgrind/clo.c branches/VCOV/callgrind/command.c branches/VCOV/callgrind/context.c branches/VCOV/callgrind/costs.c branches/VCOV/callgrind/debug.c branches/VCOV/callgrind/docs/Makefile.am branches/VCOV/callgrind/docs/cl-manual.xml branches/VCOV/callgrind/dump.c branches/VCOV/callgrind/events.c branches/VCOV/callgrind/events.h branches/VCOV/callgrind/fn.c branches/VCOV/callgrind/global.h branches/VCOV/callgrind/jumps.c branches/VCOV/callgrind/main.c branches/VCOV/callgrind/sim.c branches/VCOV/callgrind/tests/ branches/VCOV/callgrind/tests/Makefile.am branches/VCOV/callgrind/tests/filter_stderr branches/VCOV/callgrind/threads.c branches/VCOV/configure.in branches/VCOV/coregrind/ branches/VCOV/coregrind/Makefile.am branches/VCOV/coregrind/launcher-aix5-bootblock.h branches/VCOV/coregrind/launcher-aix5.c branches/VCOV/coregrind/launcher-linux.c branches/VCOV/coregrind/m_aspacemgr/aspacemgr-aix5.c branches/VCOV/coregrind/m_aspacemgr/aspacemgr-common.c branches/VCOV/coregrind/m_aspacemgr/aspacemgr-linux.c branches/VCOV/coregrind/m_aspacemgr/priv_aspacemgr.h branches/VCOV/coregrind/m_clientstate.c branches/VCOV/coregrind/m_commandline.c branches/VCOV/coregrind/m_coredump/coredump-elf.c branches/VCOV/coregrind/m_cpuid.S branches/VCOV/coregrind/m_debugger.c branches/VCOV/coregrind/m_debuginfo/debuginfo.c branches/VCOV/coregrind/m_debuginfo/priv_readdwarf.h branches/VCOV/coregrind/m_debuginfo/priv_readelf.h branches/VCOV/coregrind/m_debuginfo/priv_readstabs.h branches/VCOV/coregrind/m_debuginfo/priv_readxcoff.h branches/VCOV/coregrind/m_debuginfo/priv_storage.h branches/VCOV/coregrind/m_debuginfo/readdwarf.c branches/VCOV/coregrind/m_debuginfo/readelf.c branches/VCOV/coregrind/m_debuginfo/readstabs.c branches/VCOV/coregrind/m_debuginfo/readxcoff.c branches/VCOV/coregrind/m_debuginfo/storage.c branches/VCOV/coregrind/m_debuglog.c branches/VCOV/coregrind/m_demangle/ansidecl.h branches/VCOV/coregrind/m_demangle/cp-demangle.c branches/VCOV/coregrind/m_demangle/cplus-dem.c branches/VCOV/coregrind/m_demangle/demangle.c branches/VCOV/coregrind/m_demangle/demangle.h branches/VCOV/coregrind/m_demangle/dyn-string.c branches/VCOV/coregrind/m_demangle/dyn-string.h branches/VCOV/coregrind/m_demangle/safe-ctype.c branches/VCOV/coregrind/m_demangle/safe-ctype.h branches/VCOV/coregrind/m_dispatch/dispatch-amd64-linux.S branches/VCOV/coregrind/m_dispatch/dispatch-ppc32-aix5.S branches/VCOV/coregrind/m_dispatch/dispatch-ppc32-linux.S branches/VCOV/coregrind/m_dispatch/dispatch-ppc64-aix5.S branches/VCOV/coregrind/m_dispatch/dispatch-ppc64-linux.S branches/VCOV/coregrind/m_dispatch/dispatch-x86-linux.S branches/VCOV/coregrind/m_errormgr.c branches/VCOV/coregrind/m_execontext.c branches/VCOV/coregrind/m_hashtable.c branches/VCOV/coregrind/m_initimg/initimg-aix5.c branches/VCOV/coregrind/m_initimg/initimg-linux.c branches/VCOV/coregrind/m_libcassert.c branches/VCOV/coregrind/m_libcbase.c branches/VCOV/coregrind/m_libcfile.c branches/VCOV/coregrind/m_libcprint.c branches/VCOV/coregrind/m_libcproc.c branches/VCOV/coregrind/m_libcsignal.c branches/VCOV/coregrind/m_machine.c branches/VCOV/coregrind/m_main.c branches/VCOV/coregrind/m_mallocfree.c branches/VCOV/coregrind/m_options.c branches/VCOV/coregrind/m_oset.c branches/VCOV/coregrind/m_redir.c branches/VCOV/coregrind/m_replacemalloc/replacemalloc_core.c branches/VCOV/coregrind/m_replacemalloc/vg_replace_malloc.c branches/VCOV/coregrind/m_scheduler/priv_sema.h branches/VCOV/coregrind/m_scheduler/scheduler.c branches/VCOV/coregrind/m_scheduler/sema.c branches/VCOV/coregrind/m_sigframe/sigframe-amd64-linux.c branches/VCOV/coregrind/m_sigframe/sigframe-ppc32-aix5.c branches/VCOV/coregrind/m_sigframe/sigframe-ppc32-linux.c branches/VCOV/coregrind/m_sigframe/sigframe-ppc64-aix5.c branches/VCOV/coregrind/m_sigframe/sigframe-ppc64-linux.c branches/VCOV/coregrind/m_sigframe/sigframe-x86-linux.c branches/VCOV/coregrind/m_signals.c branches/VCOV/coregrind/m_stacks.c branches/VCOV/coregrind/m_stacktrace.c branches/VCOV/coregrind/m_syscall.c branches/VCOV/coregrind/m_syswrap/priv_syswrap-aix5.h branches/VCOV/coregrind/m_syswrap/priv_syswrap-generic.h branches/VCOV/coregrind/m_syswrap/priv_syswrap-linux-variants.h branches/VCOV/coregrind/m_syswrap/priv_syswrap-linux.h branches/VCOV/coregrind/m_syswrap/priv_syswrap-main.h branches/VCOV/coregrind/m_syswrap/priv_types_n_macros.h branches/VCOV/coregrind/m_syswrap/syscall-amd64-linux.S branches/VCOV/coregrind/m_syswrap/syscall-ppc32-aix5.S branches/VCOV/coregrind/m_syswrap/syscall-ppc32-linux.S branches/VCOV/coregrind/m_syswrap/syscall-ppc64-aix5.S branches/VCOV/coregrind/m_syswrap/syscall-ppc64-linux.S branches/VCOV/coregrind/m_syswrap/syscall-x86-linux.S branches/VCOV/coregrind/m_syswrap/syswrap-aix5.c branches/VCOV/coregrind/m_syswrap/syswrap-amd64-linux.c branches/VCOV/coregrind/m_syswrap/syswrap-generic.c branches/VCOV/coregrind/m_syswrap/syswrap-linux-variants.c branches/VCOV/coregrind/m_syswrap/syswrap-linux.c branches/VCOV/coregrind/m_syswrap/syswrap-main.c branches/VCOV/coregrind/m_syswrap/syswrap-ppc32-aix5.c branches/VCOV/coregrind/m_syswrap/syswrap-ppc32-linux.c branches/VCOV/coregrind/m_syswrap/syswrap-ppc64-aix5.c branches/VCOV/coregrind/m_syswrap/syswrap-ppc64-linux.c branches/VCOV/coregrind/m_syswrap/syswrap-x86-linux.c branches/VCOV/coregrind/m_threadstate.c branches/VCOV/coregrind/m_tooliface.c branches/VCOV/coregrind/m_trampoline.S branches/VCOV/coregrind/m_translate.c branches/VCOV/coregrind/m_transtab.c branches/VCOV/coregrind/m_vki.c branches/VCOV/coregrind/m_vkiscnums.c branches/VCOV/coregrind/m_xarray.c branches/VCOV/coregrind/pub_core_aspacemgr.h branches/VCOV/coregrind/pub_core_basics.h branches/VCOV/coregrind/pub_core_basics_asm.h branches/VCOV/coregrind/pub_core_clientstate.h branches/VCOV/coregrind/pub_core_clreq.h branches/VCOV/coregrind/pub_core_commandline.h branches/VCOV/coregrind/pub_core_coredump.h branches/VCOV/coregrind/pub_core_cpuid.h branches/VCOV/coregrind/pub_core_debugger.h branches/VCOV/coregrind/pub_core_debuginfo.h branches/VCOV/coregrind/pub_core_debuglog.h branches/VCOV/coregrind/pub_core_demangle.h branches/VCOV/coregrind/pub_core_dispatch.h branches/VCOV/coregrind/pub_core_dispatch_asm.h branches/VCOV/coregrind/pub_core_errormgr.h branches/VCOV/coregrind/pub_core_execontext.h branches/VCOV/coregrind/pub_core_hashtable.h branches/VCOV/coregrind/pub_core_initimg.h branches/VCOV/coregrind/pub_core_libcassert.h branches/VCOV/coregrind/pub_core_libcbase.h branches/VCOV/coregrind/pub_core_libcfile.h branches/VCOV/coregrind/pub_core_libcprint.h branches/VCOV/coregrind/pub_core_libcproc.h branches/VCOV/coregrind/pub_core_libcsignal.h branches/VCOV/coregrind/pub_core_machine.h branches/VCOV/coregrind/pub_core_mallocfree.h branches/VCOV/coregrind/pub_core_options.h branches/VCOV/coregrind/pub_core_oset.h branches/VCOV/coregrind/pub_core_redir.h branches/VCOV/coregrind/pub_core_replacemalloc.h branches/VCOV/coregrind/pub_core_scheduler.h branches/VCOV/coregrind/pub_core_sigframe.h branches/VCOV/coregrind/pub_core_signals.h branches/VCOV/coregrind/pub_core_stacks.h branches/VCOV/coregrind/pub_core_stacktrace.h branches/VCOV/coregrind/pub_core_syscall.h branches/VCOV/coregrind/pub_core_syswrap.h branches/VCOV/coregrind/pub_core_threadstate.h branches/VCOV/coregrind/pub_core_tooliface.h branches/VCOV/coregrind/pub_core_trampoline.h branches/VCOV/coregrind/pub_core_translate.h branches/VCOV/coregrind/pub_core_transtab.h branches/VCOV/coregrind/pub_core_transtab_asm.h branches/VCOV/coregrind/pub_core_ume.h branches/VCOV/coregrind/pub_core_vki.h branches/VCOV/coregrind/pub_core_vkiscnums.h branches/VCOV/coregrind/pub_core_xarray.h branches/VCOV/coregrind/vg_preloaded.c branches/VCOV/docs/ branches/VCOV/docs/README branches/VCOV/docs/internals/3_3_BUGSTATUS.txt branches/VCOV/docs/internals/Makefile.am branches/VCOV/docs/internals/multiple-architectures.txt branches/VCOV/docs/internals/porting-HOWTO.txt branches/VCOV/docs/internals/porting-to-ARM.txt branches/VCOV/docs/internals/xml-output.txt branches/VCOV/docs/xml/FAQ.xml branches/VCOV/docs/xml/Makefile.am branches/VCOV/docs/xml/dist-docs.xml branches/VCOV/docs/xml/manual-core.xml branches/VCOV/docs/xml/manual-intro.xml branches/VCOV/docs/xml/manual-writing-tools.xml branches/VCOV/docs/xml/manual.xml branches/VCOV/docs/xml/quick-start-guide.xml branches/VCOV/docs/xml/tech-docs.xml branches/VCOV/docs/xml/valgrind-manpage.xml branches/VCOV/docs/xml/vg-entities.xml branches/VCOV/drd/docs/ branches/VCOV/drd/scripts/ branches/VCOV/drd/tests/ branches/VCOV/exp-bbv/docs/ branches/VCOV/exp-bbv/tests/ branches/VCOV/exp-bbv/tests/amd64-linux/ branches/VCOV/exp-bbv/tests/ppc32-linux/ branches/VCOV/exp-bbv/tests/x86-linux/ branches/VCOV/exp-bbv/tests/x86/ branches/VCOV/exp-ptrcheck/docs/ branches/VCOV/exp-ptrcheck/tests/ branches/VCOV/exp-vcov/Makefile.am branches/VCOV/exp-vcov/tests/filter_stderr branches/VCOV/exp-vcov/vc_annotate branches/VCOV/exp-vcov/vc_main.c branches/VCOV/glibc-2.34567-NPTL-helgrind.supp branches/VCOV/glibc-2.X-drd.supp branches/VCOV/helgrind/ branches/VCOV/helgrind/Makefile.am branches/VCOV/helgrind/docs/hg-manual.xml branches/VCOV/helgrind/helgrind.h branches/VCOV/helgrind/hg_intercepts.c branches/VCOV/helgrind/hg_main.c branches/VCOV/helgrind/hg_wordset.c branches/VCOV/helgrind/hg_wordset.h branches/VCOV/helgrind/tests/ branches/VCOV/helgrind/tests/Makefile.am branches/VCOV/helgrind/tests/filter_stderr branches/VCOV/helgrind/tests/hg03_inherit.vgtest branches/VCOV/helgrind/tests/hg04_race.vgtest branches/VCOV/helgrind/tests/hg05_race2.vgtest branches/VCOV/helgrind/tests/tc01_simple_race.vgtest branches/VCOV/helgrind/tests/tc05_simple_race.vgtest branches/VCOV/helgrind/tests/tc06_two_races.c branches/VCOV/helgrind/tests/tc06_two_races.vgtest branches/VCOV/helgrind/tests/tc09_bad_unlock.c branches/VCOV/helgrind/tests/tc09_bad_unlock.stderr.exp-glibc23-amd64 branches/VCOV/helgrind/tests/tc09_bad_unlock.stderr.exp-glibc25-amd64 branches/VCOV/helgrind/tests/tc09_bad_unlock.stderr.exp-glibc25-x86 branches/VCOV/helgrind/tests/tc11_XCHG.c branches/VCOV/helgrind/tests/tc12_rwl_trivial.c branches/VCOV/helgrind/tests/tc15_laog_lockdel.c branches/VCOV/helgrind/tests/tc16_byterace.c branches/VCOV/helgrind/tests/tc16_byterace.vgtest branches/VCOV/helgrind/tests/tc17_sembar.c branches/VCOV/helgrind/tests/tc18_semabuse.stderr.exp-glibc25-amd64 branches/VCOV/helgrind/tests/tc19_shadowmem.c branches/VCOV/helgrind/tests/tc20_verifywrap.c branches/VCOV/helgrind/tests/tc20_verifywrap.stderr.exp-glibc25-amd64 branches/VCOV/helgrind/tests/tc20_verifywrap.vgtest branches/VCOV/helgrind/tests/tc21_pthonce.vgtest branches/VCOV/helgrind/tests/tc23_bogus_condwait.c branches/VCOV/helgrind/tests/tc24_nonzero_sem.c branches/VCOV/include/Makefile.am branches/VCOV/include/pub_tool_aspacemgr.h branches/VCOV/include/pub_tool_basics.h branches/VCOV/include/pub_tool_basics_asm.h branches/VCOV/include/pub_tool_clientstate.h branches/VCOV/include/pub_tool_clreq.h branches/VCOV/include/pub_tool_cpuid.h branches/VCOV/include/pub_tool_debuginfo.h branches/VCOV/include/pub_tool_errormgr.h branches/VCOV/include/pub_tool_execontext.h branches/VCOV/include/pub_tool_hashtable.h branches/VCOV/include/pub_tool_libcassert.h branches/VCOV/include/pub_tool_libcbase.h branches/VCOV/include/pub_tool_libcfile.h branches/VCOV/include/pub_tool_libcprint.h branches/VCOV/include/pub_tool_libcproc.h branches/VCOV/include/pub_tool_libcsignal.h branches/VCOV/include/pub_tool_machine.h branches/VCOV/include/pub_tool_mallocfree.h branches/VCOV/include/pub_tool_options.h branches/VCOV/include/pub_tool_oset.h branches/VCOV/include/pub_tool_redir.h branches/VCOV/include/pub_tool_replacemalloc.h branches/VCOV/include/pub_tool_signals.h branches/VCOV/include/pub_tool_stacktrace.h branches/VCOV/include/pub_tool_threadstate.h branches/VCOV/include/pub_tool_tooliface.h branches/VCOV/include/pub_tool_vki.h branches/VCOV/include/pub_tool_vkiscnums.h branches/VCOV/include/pub_tool_xarray.h branches/VCOV/include/valgrind.h branches/VCOV/include/vki/vki-amd64-linux.h branches/VCOV/include/vki/vki-linux.h branches/VCOV/include/vki/vki-posixtypes-amd64-linux.h branches/VCOV/include/vki/vki-posixtypes-ppc32-linux.h branches/VCOV/include/vki/vki-posixtypes-ppc64-linux.h branches/VCOV/include/vki/vki-posixtypes-x86-linux.h branches/VCOV/include/vki/vki-ppc32-aix5.h branches/VCOV/include/vki/vki-ppc32-linux.h branches/VCOV/include/vki/vki-ppc64-aix5.h branches/VCOV/include/vki/vki-ppc64-linux.h branches/VCOV/include/vki/vki-scnums-aix5.h branches/VCOV/include/vki/vki-scnums-amd64-linux.h branches/VCOV/include/vki/vki-scnums-ppc32-linux.h branches/VCOV/include/vki/vki-scnums-ppc64-linux.h branches/VCOV/include/vki/vki-scnums-x86-linux.h branches/VCOV/include/vki/vki-x86-linux.h branches/VCOV/lackey/ branches/VCOV/lackey/Makefile.am branches/VCOV/lackey/lk_main.c branches/VCOV/lackey/tests/ branches/VCOV/lackey/tests/Makefile.am branches/VCOV/lackey/tests/filter_stderr branches/VCOV/lackey/tests/true.stderr.exp branches/VCOV/massif/ branches/VCOV/massif/Makefile.am branches/VCOV/massif/docs/ms-manual.xml branches/VCOV/massif/ms_main.c branches/VCOV/massif/ms_print.in branches/VCOV/massif/perf/ branches/VCOV/massif/perf/Makefile.am branches/VCOV/massif/tests/ branches/VCOV/massif/tests/Makefile.am branches/VCOV/massif/tests/alloc-fns-A.post.exp branches/VCOV/massif/tests/alloc-fns-A.vgtest branches/VCOV/massif/tests/alloc-fns-B.post.exp branches/VCOV/massif/tests/alloc-fns-B.vgtest branches/VCOV/massif/tests/alloc-fns.c branches/VCOV/massif/tests/basic.c branches/VCOV/massif/tests/basic.post.exp branches/VCOV/massif/tests/basic.vgtest branches/VCOV/massif/tests/basic2.post.exp branches/VCOV/massif/tests/basic2.vgtest branches/VCOV/massif/tests/big-alloc.c branches/VCOV/massif/tests/big-alloc.post.exp branches/VCOV/massif/tests/big-alloc.vgtest branches/VCOV/massif/tests/culling1.c branches/VCOV/massif/tests/culling1.stderr.exp branches/VCOV/massif/tests/culling1.vgtest branches/VCOV/massif/tests/culling2.c branches/VCOV/massif/tests/culling2.stderr.exp branches/VCOV/massif/tests/culling2.vgtest branches/VCOV/massif/tests/custom_alloc.c branches/VCOV/massif/tests/custom_alloc.post.exp branches/VCOV/massif/tests/custom_alloc.vgtest branches/VCOV/massif/tests/deep-A.post.exp branches/VCOV/massif/tests/deep-A.vgtest branches/VCOV/massif/tests/deep-B.post.exp branches/VCOV/massif/tests/deep-B.stderr.exp branches/VCOV/massif/tests/deep-B.vgtest branches/VCOV/massif/tests/deep-C.post.exp branches/VCOV/massif/tests/deep-C.stderr.exp branches/VCOV/massif/tests/deep-C.vgtest branches/VCOV/massif/tests/deep-D.post.exp branches/VCOV/massif/tests/deep-D.vgtest branches/VCOV/massif/tests/deep.c branches/VCOV/massif/tests/filter_stderr branches/VCOV/massif/tests/filter_verbose branches/VCOV/massif/tests/ignoring.post.exp branches/VCOV/massif/tests/ignoring.vgtest branches/VCOV/massif/tests/insig.c branches/VCOV/massif/tests/insig.post.exp branches/VCOV/massif/tests/insig.vgtest branches/VCOV/massif/tests/long-names.c branches/VCOV/massif/tests/long-names.post.exp branches/VCOV/massif/tests/long-names.vgtest branches/VCOV/massif/tests/long-time.post.exp branches/VCOV/massif/tests/long-time.vgtest branches/VCOV/massif/tests/new-cpp.post.exp branches/VCOV/massif/tests/new-cpp.vgtest branches/VCOV/massif/tests/no-stack-no-heap.post.exp branches/VCOV/massif/tests/no-stack-no-heap.vgtest branches/VCOV/massif/tests/null.post.exp branches/VCOV/massif/tests/null.vgtest branches/VCOV/massif/tests/one.c branches/VCOV/massif/tests/one.post.exp branches/VCOV/massif/tests/one.vgtest branches/VCOV/massif/tests/overloaded-new.cpp branches/VCOV/massif/tests/overloaded-new.post.exp branches/VCOV/massif/tests/overloaded-new.vgtest branches/VCOV/massif/tests/peak.c branches/VCOV/massif/tests/peak.post.exp branches/VCOV/massif/tests/peak.vgtest branches/VCOV/massif/tests/peak2.post.exp branches/VCOV/massif/tests/peak2.stderr.exp branches/VCOV/massif/tests/peak2.vgtest branches/VCOV/massif/tests/realloc.c branches/VCOV/massif/tests/realloc.post.exp branches/VCOV/massif/tests/realloc.stderr.exp branches/VCOV/massif/tests/realloc.vgtest branches/VCOV/massif/tests/thresholds.c branches/VCOV/massif/tests/thresholds_0_0.post.exp branches/VCOV/massif/tests/thresholds_0_0.vgtest branches/VCOV/massif/tests/thresholds_0_10.post.exp branches/VCOV/massif/tests/thresholds_0_10.vgtest branches/VCOV/massif/tests/thresholds_10_0.post.exp branches/VCOV/massif/tests/thresholds_10_0.vgtest branches/VCOV/massif/tests/thresholds_10_10.post.exp branches/VCOV/massif/tests/thresholds_10_10.vgtest branches/VCOV/massif/tests/thresholds_5_0.post.exp branches/VCOV/massif/tests/thresholds_5_0.vgtest branches/VCOV/massif/tests/thresholds_5_10.post.exp branches/VCOV/massif/tests/thresholds_5_10.vgtest branches/VCOV/massif/tests/zero1.post.exp branches/VCOV/massif/tests/zero1.vgtest branches/VCOV/massif/tests/zero2.post.exp branches/VCOV/massif/tests/zero2.vgtest branches/VCOV/memcheck/ branches/VCOV/memcheck/Makefile.am branches/VCOV/memcheck/docs/mc-manual.xml branches/VCOV/memcheck/mc_include.h branches/VCOV/memcheck/mc_leakcheck.c branches/VCOV/memcheck/mc_main.c branches/VCOV/memcheck/mc_malloc_wrappers.c branches/VCOV/memcheck/mc_replace_strmem.c branches/VCOV/memcheck/mc_translate.c branches/VCOV/memcheck/memcheck.h branches/VCOV/memcheck/tests/ branches/VCOV/memcheck/tests/Makefile.am branches/VCOV/memcheck/tests/addressable.c branches/VCOV/memcheck/tests/addressable.stderr.exp branches/VCOV/memcheck/tests/addressable.vgtest branches/VCOV/memcheck/tests/amd64/Makefile.am branches/VCOV/memcheck/tests/amd64/sse_memory.c branches/VCOV/memcheck/tests/amd64/xor-undef-amd64.stderr.exp branches/VCOV/memcheck/tests/badjump.c branches/VCOV/memcheck/tests/badjump.stderr.exp branches/VCOV/memcheck/tests/badjump.vgtest branches/VCOV/memcheck/tests/badjump2.c branches/VCOV/memcheck/tests/badjump2.stderr.exp branches/VCOV/memcheck/tests/badpoll.stderr.exp branches/VCOV/memcheck/tests/brk2.stderr.exp branches/VCOV/memcheck/tests/brk2.vgtest branches/VCOV/memcheck/tests/buflen_check.stderr.exp branches/VCOV/memcheck/tests/custom_alloc.c branches/VCOV/memcheck/tests/describe-block.c branches/VCOV/memcheck/tests/describe-block.stderr.exp branches/VCOV/memcheck/tests/describe-block.vgtest branches/VCOV/memcheck/tests/erringfds.stderr.exp branches/VCOV/memcheck/tests/erringfds.vgtest branches/VCOV/memcheck/tests/error_counts.c branches/VCOV/memcheck/tests/error_counts.stdout.exp branches/VCOV/memcheck/tests/execve.stderr.exp branches/VCOV/memcheck/tests/execve2.stderr.exp branches/VCOV/memcheck/tests/filter_allocs branches/VCOV/memcheck/tests/filter_stderr branches/VCOV/memcheck/tests/filter_xml branches/VCOV/memcheck/tests/fprw.c branches/VCOV/memcheck/tests/fwrite.stderr.exp branches/VCOV/memcheck/tests/leak-0.c branches/VCOV/memcheck/tests/leak-0.stderr.exp branches/VCOV/memcheck/tests/leak-0.vgtest branches/VCOV/memcheck/tests/leak-cycle.c branches/VCOV/memcheck/tests/leak-cycle.stderr.exp branches/VCOV/memcheck/tests/leak-cycle.vgtest branches/VCOV/memcheck/tests/leak-pool-0.stderr.exp branches/VCOV/memcheck/tests/leak-pool-0.vgtest branches/VCOV/memcheck/tests/leak-pool-1.stderr.exp branches/VCOV/memcheck/tests/leak-pool-1.vgtest branches/VCOV/memcheck/tests/leak-pool-2.stderr.exp branches/VCOV/memcheck/tests/leak-pool-2.vgtest branches/VCOV/memcheck/tests/leak-pool-3.stderr.exp branches/VCOV/memcheck/tests/leak-pool-3.vgtest branches/VCOV/memcheck/tests/leak-pool-4.stderr.exp branches/VCOV/memcheck/tests/leak-pool-4.vgtest branches/VCOV/memcheck/tests/leak-pool-5.stderr.exp branches/VCOV/memcheck/tests/leak-pool-5.vgtest branches/VCOV/memcheck/tests/leak-tree.c branches/VCOV/memcheck/tests/leak-tree.stderr.exp branches/VCOV/memcheck/tests/leak-tree.vgtest branches/VCOV/memcheck/tests/long_namespace_xml.stderr.exp branches/VCOV/memcheck/tests/long_namespace_xml.vgtest branches/VCOV/memcheck/tests/lsframe1.stderr.exp branches/VCOV/memcheck/tests/lsframe1.vgtest branches/VCOV/memcheck/tests/lsframe2.stderr.exp branches/VCOV/memcheck/tests/lsframe2.vgtest branches/VCOV/memcheck/tests/malloc3.c branches/VCOV/memcheck/tests/malloc3.stderr.exp branches/VCOV/memcheck/tests/malloc_free_fill.c branches/VCOV/memcheck/tests/malloc_free_fill.vgtest branches/VCOV/memcheck/tests/malloc_usable.c branches/VCOV/memcheck/tests/match-overrun.c branches/VCOV/memcheck/tests/match-overrun.stderr.exp branches/VCOV/memcheck/tests/match-overrun.supp branches/VCOV/memcheck/tests/match-overrun.vgtest branches/VCOV/memcheck/tests/memalign2.c branches/VCOV/memcheck/tests/mempool.c branches/VCOV/memcheck/tests/mempool.stderr.exp branches/VCOV/memcheck/tests/mismatches.stderr.exp branches/VCOV/memcheck/tests/mmaptest.c branches/VCOV/memcheck/tests/nanoleak2.c branches/VCOV/memcheck/tests/nanoleak2.vgtest branches/VCOV/memcheck/tests/nanoleak_supp.vgtest branches/VCOV/memcheck/tests/noisy_child.stderr.exp branches/VCOV/memcheck/tests/noisy_child.vgtest branches/VCOV/memcheck/tests/partial_load_dflt.stderr.exp branches/VCOV/memcheck/tests/partial_load_dflt.stderr.exp64 branches/VCOV/memcheck/tests/partial_load_dflt.vgtest branches/VCOV/memcheck/tests/partial_load_ok.stderr.exp branches/VCOV/memcheck/tests/partial_load_ok.stderr.exp64 branches/VCOV/memcheck/tests/partial_load_ok.vgtest branches/VCOV/memcheck/tests/partiallydefinedeq.c branches/VCOV/memcheck/tests/partiallydefinedeq.stderr.exp branches/VCOV/memcheck/tests/partiallydefinedeq.stderr.exp2 branches/VCOV/memcheck/tests/partiallydefinedeq.vgtest branches/VCOV/memcheck/tests/pointer-trace.c branches/VCOV/memcheck/tests/pointer-trace.stderr.exp branches/VCOV/memcheck/tests/pointer-trace.vgtest branches/VCOV/memcheck/tests/post-syscall.c branches/VCOV/memcheck/tests/post-syscall.stderr.exp branches/VCOV/memcheck/tests/post-syscall.vgtest branches/VCOV/memcheck/tests/sh-mem-random.c branches/VCOV/memcheck/tests/sigaltstack.c branches/VCOV/memcheck/tests/sigaltstack.vgtest branches/VCOV/memcheck/tests/sigkill.c branches/VCOV/memcheck/tests/sigkill.stderr.exp branches/VCOV/memcheck/tests/sigkill.vgtest branches/VCOV/memcheck/tests/signal2.c branches/VCOV/memcheck/tests/stack_changes.c branches/VCOV/memcheck/tests/str_tester.c branches/VCOV/memcheck/tests/supp_unknown.stderr.exp branches/VCOV/memcheck/tests/trivialleak.stderr.exp branches/VCOV/memcheck/tests/trivialleak.stderr.exp2 branches/VCOV/memcheck/tests/trivialleak.vgtest branches/VCOV/memcheck/tests/vcpu_bz2.vgtest branches/VCOV/memcheck/tests/wrap5.c branches/VCOV/memcheck/tests/wrap8.c branches/VCOV/memcheck/tests/writev.c branches/VCOV/memcheck/tests/writev.stderr.exp branches/VCOV/memcheck/tests/x86/ branches/VCOV/memcheck/tests/x86/Makefile.am branches/VCOV/memcheck/tests/x86/bug152022.stderr.exp branches/VCOV/memcheck/tests/x86/bug152022.vgtest branches/VCOV/memcheck/tests/x86/more_x86_fp.c branches/VCOV/memcheck/tests/x86/sse1_memory.vgtest branches/VCOV/memcheck/tests/x86/sse2_memory.vgtest branches/VCOV/memcheck/tests/x86/tronical.S branches/VCOV/memcheck/tests/x86/xor-undef-x86.stderr.exp branches/VCOV/memcheck/tests/x86/xor-undef-x86.vgtest branches/VCOV/memcheck/tests/xml1.vgtest branches/VCOV/nightly/ branches/VCOV/nightly/README.txt branches/VCOV/nightly/bin/nightly branches/VCOV/nightly/conf/nemesis.sendmail branches/VCOV/none/ branches/VCOV/none/Makefile.am branches/VCOV/none/nl_main.c branches/VCOV/none/tests/ branches/VCOV/none/tests/Makefile.am branches/VCOV/none/tests/amd64/ branches/VCOV/none/tests/amd64/Makefile.am branches/VCOV/none/tests/amd64/bug127521-64.vgtest branches/VCOV/none/tests/amd64/bug137714-amd64.c branches/VCOV/none/tests/amd64/faultstatus.c branches/VCOV/none/tests/amd64/insn_sse3.vgtest branches/VCOV/none/tests/amd64/nibz_bennee_mmap.c branches/VCOV/none/tests/amd64/redundantRexW.c branches/VCOV/none/tests/amd64/smc1.c branches/VCOV/none/tests/async-sigs.c branches/VCOV/none/tests/async-sigs.stderr.exp branches/VCOV/none/tests/async-sigs.vgtest branches/VCOV/none/tests/cmdline1.stdout.exp branches/VCOV/none/tests/cmdline2.stdout.exp branches/VCOV/none/tests/coolo_sigaction.cpp branches/VCOV/none/tests/coolo_sigaction.stdout.exp branches/VCOV/none/tests/execve.c branches/VCOV/none/tests/faultstatus.c branches/VCOV/none/tests/fdleak_cmsg.c branches/VCOV/none/tests/fdleak_cmsg.stderr.exp branches/VCOV/none/tests/fdleak_creat.c branches/VCOV/none/tests/fdleak_creat.stderr.exp branches/VCOV/none/tests/fdleak_dup.c branches/VCOV/none/tests/fdleak_dup.stderr.exp branches/VCOV/none/tests/fdleak_dup2.c branches/VCOV/none/tests/fdleak_dup2.stderr.exp branches/VCOV/none/tests/fdleak_fcntl.c branches/VCOV/none/tests/fdleak_fcntl.stderr.exp branches/VCOV/none/tests/fdleak_ipv4.c branches/VCOV/none/tests/fdleak_ipv4.stderr.exp branches/VCOV/none/tests/fdleak_open.c branches/VCOV/none/tests/fdleak_open.stderr.exp branches/VCOV/none/tests/fdleak_pipe.c branches/VCOV/none/tests/fdleak_pipe.stderr.exp branches/VCOV/none/tests/fdleak_socketpair.c branches/VCOV/none/tests/fdleak_socketpair.stderr.exp branches/VCOV/none/tests/filter_fdleak branches/VCOV/none/tests/map_unaligned.c branches/VCOV/none/tests/map_unaligned.stderr.exp branches/VCOV/none/tests/map_unmap.c branches/VCOV/none/tests/munmap_exe.c branches/VCOV/none/tests/pending.c branches/VCOV/none/tests/pending.stdout.exp branches/VCOV/none/tests/ppc32/ branches/VCOV/none/tests/ppc32/Makefile.am branches/VCOV/none/tests/ppc32/jm-insns.c branches/VCOV/none/tests/ppc32/test_fx.c branches/VCOV/none/tests/ppc32/test_gx.c branches/VCOV/none/tests/ppc64/ branches/VCOV/none/tests/ppc64/Makefile.am branches/VCOV/none/tests/pth_atfork1.c branches/VCOV/none/tests/pth_cvsimple.c branches/VCOV/none/tests/rlimit_nofile.c branches/VCOV/none/tests/shell.stderr.exp branches/VCOV/none/tests/shell.vgtest branches/VCOV/none/tests/sigstackgrowth.c branches/VCOV/none/tests/vgprintf.c branches/VCOV/none/tests/vgprintf.stdout.exp branches/VCOV/none/tests/x86/ branches/VCOV/none/tests/x86/Makefile.am branches/VCOV/none/tests/x86/badseg.c branches/VCOV/none/tests/x86/badseg.stdout.exp branches/VCOV/none/tests/x86/bug126147-x86.c branches/VCOV/none/tests/x86/bug137714-x86.c branches/VCOV/none/tests/x86/bug137714-x86.vgtest branches/VCOV/none/tests/x86/cmpxchg8b.c branches/VCOV/none/tests/x86/cse_fail.vgtest branches/VCOV/none/tests/x86/faultstatus.c branches/VCOV/none/tests/x86/fcmovnu.c branches/VCOV/none/tests/x86/fxtract.c branches/VCOV/none/tests/x86/gen_insn_test.pl branches/VCOV/none/tests/x86/incdec_alt.c branches/VCOV/none/tests/x86/insn_cmov.vgtest branches/VCOV/none/tests/x86/insn_fpu.vgtest branches/VCOV/none/tests/x86/insn_mmx.vgtest branches/VCOV/none/tests/x86/insn_mmxext.vgtest branches/VCOV/none/tests/x86/insn_sse.vgtest branches/VCOV/none/tests/x86/insn_sse2.vgtest branches/VCOV/none/tests/x86/insn_sse3.vgtest branches/VCOV/none/tests/x86/jcxz.c branches/VCOV/none/tests/x86/lahf.c branches/VCOV/none/tests/x86/looper.c branches/VCOV/none/tests/x86/pushpopseg.c branches/VCOV/none/tests/x86/sbbmisc.c branches/VCOV/none/tests/x86/yield.c branches/VCOV/perf/ branches/VCOV/perf/Makefile.am branches/VCOV/perf/bigcode.c branches/VCOV/perf/bz2.c branches/VCOV/perf/tinycc.c branches/VCOV/perf/vg_perf.in branches/VCOV/tests/ branches/VCOV/tests/Makefile.am branches/VCOV/tests/filter_addresses branches/VCOV/tests/filter_discards branches/VCOV/tests/filter_libc branches/VCOV/tests/filter_numbers branches/VCOV/tests/filter_stderr_basic branches/VCOV/tests/vg_regtest.in branches/VCOV/valgrind.pc.in branches/VCOV/valgrind.spec.in branches/VCOV/vg-in-plac... [truncated message content] |
|
From: <sv...@va...> - 2009-07-27 23:09:50
|
Author: tom
Date: 2009-07-28 00:09:42 +0100 (Tue, 28 Jul 2009)
New Revision: 10642
Log:
Make sure the x86 direction flag is cleared again if we set it as part
of a test, as the x86 requires it to be clear when any function is called
and gcc 4.3.0 and later rely on that. Fixes #201708.
Modified:
trunk/none/tests/x86/bug152818-x86.c
trunk/none/tests/x86/gen_insn_test.pl
Modified: trunk/none/tests/x86/bug152818-x86.c
===================================================================
--- trunk/none/tests/x86/bug152818-x86.c 2009-07-27 22:21:22 UTC (rev 10641)
+++ trunk/none/tests/x86/bug152818-x86.c 2009-07-27 23:09:42 UTC (rev 10642)
@@ -60,6 +60,7 @@
"lahf \t\n" \
"movl %%eax, %1 \t\n" \
"movl %%esi, %2 \t\n" \
+ "cld \t\n" \
: "=d"(out_eax), \
"=b"(out_eflags), \
"=r"(out_esi) \
Modified: trunk/none/tests/x86/gen_insn_test.pl
===================================================================
--- trunk/none/tests/x86/gen_insn_test.pl 2009-07-27 22:21:22 UTC (rev 10641)
+++ trunk/none/tests/x86/gen_insn_test.pl 2009-07-27 23:09:42 UTC (rev 10642)
@@ -809,7 +809,8 @@
}
print qq| \"frstor %$stateargnum\\n\"\n|;
-
+ print qq| \"cld\\n\"\n|;
+
print qq| :|;
$prefix = " ";
|