source: general/prog/valgrind.xml@ 22ff60a

systemd-13485
Last change on this file since 22ff60a was 0928035, checked in by Douglas R. Reno <renodr@…>, 8 years ago

Document a test suite failure in p11-kit
Add a patch for Valgrind to fix the test suite to use the new pthread_barrier implementation in Glibc
Text changes (esp. sg3_utils)
Tags

git-svn-id: svn://svn.linuxfromscratch.org/BLFS/branches/systemd@17015 af4574ff-66df-0310-9fd7-8a98e5e911e0

  • Property mode set to 100644
File size: 10.1 KB
Line 
1<?xml version="1.0" encoding="ISO-8859-1"?>
2<!DOCTYPE sect1 PUBLIC "-//OASIS//DTD DocBook XML V4.5//EN"
3 "http://www.oasis-open.org/docbook/xml/4.5/docbookx.dtd" [
4 <!ENTITY % general-entities SYSTEM "../../general.ent">
5 %general-entities;
6
7 <!ENTITY valgrind-download-http "http://valgrind.org/downloads/valgrind-&valgrind-version;.tar.bz2">
8 <!ENTITY valgrind-download-ftp " ">
9 <!ENTITY valgrind-md5sum "4ea62074da73ae82e0162d6550d3f129">
10 <!ENTITY valgrind-size "10.5 MB">
11 <!ENTITY valgrind-buildsize "343 MB (additional 228 MB for tests)">
12 <!ENTITY valgrind-time "1.2 SBU (additional 5.1 SBU for tests)">
13]>
14
15<sect1 id="valgrind" xreflabel="Valgrind-&valgrind-version;">
16 <?dbhtml filename="valgrind.html"?>
17
18 <sect1info>
19 <othername>$LastChangedBy$</othername>
20 <date>$Date$</date>
21 </sect1info>
22
23 <title>Valgrind-&valgrind-version;</title>
24
25 <indexterm zone="valgrind">
26 <primary sortas="a-Valgrind">Valgrind</primary>
27 </indexterm>
28
29 <sect2 role="package">
30 <title>Introduction to Valgrind</title>
31
32 <para>
33 <application>Valgrind</application> is an instrumentation framework for
34 building dynamic analysis tools. There are Valgrind tools that can
35 automatically detect many memory management and threading bugs, and
36 profile programs in detail. Valgrind can also be used to build new
37 tools.
38 </para>
39
40 &lfs79_checked;
41
42 <bridgehead renderas="sect3">Package Information</bridgehead>
43 <itemizedlist spacing="compact">
44 <listitem>
45 <para>
46 Download (HTTP): <ulink url="&valgrind-download-http;"/>
47 </para>
48 </listitem>
49 <listitem>
50 <para>
51 Download (FTP): <ulink url="&valgrind-download-ftp;"/>
52 </para>
53 </listitem>
54 <listitem>
55 <para>
56 Download MD5 sum: &valgrind-md5sum;
57 </para>
58 </listitem>
59 <listitem>
60 <para>
61 Download size: &valgrind-size;
62 </para>
63 </listitem>
64 <listitem>
65 <para>
66 Estimated disk space required: &valgrind-buildsize;
67 </para>
68 </listitem>
69 <listitem>
70 <para>
71 Estimated build time: &valgrind-time;
72 </para>
73 </listitem>
74 </itemizedlist>
75
76 <bridgehead renderas="sect3">Additional Downloads</bridgehead>
77 <itemizedlist spacing="compact">
78 <listitem>
79 <para>
80 Required patch:
81 <ulink url="&patch-root;/valgrind-&valgrind-version;-pthread_barrier_fix-1.patch"/>
82 </para>
83 </listitem>
84 </itemizedlist>
85
86 <bridgehead renderas="sect3">Valgrind Dependencies</bridgehead>
87
88 <bridgehead renderas="sect4">Optional</bridgehead>
89 <para role="optional">
90 <xref linkend="boost"/>,
91 <xref linkend="llvm"/> (with Clang),
92 <xref linkend="gdb"/> (for tests), and
93 <ulink url="http://www.openmp.org">OpenMP</ulink>
94 </para>
95
96 <bridgehead renderas="sect4">Optional for regenerating the documentation</bridgehead>
97 <para role="optional">
98 <xref linkend="libxslt"/> and
99 <xref linkend="texlive"/> (or <xref linkend="tl-installer"/>)
100 </para>
101
102 <para condition="html" role="usernotes">User Notes:
103 <ulink url="&blfs-wiki;/valgrind"/>
104 </para>
105 </sect2>
106
107 <sect2 role="installation">
108 <title>Installation of Valgrind</title>
109
110 <para>
111 Install <application>Valgrind</application> by running the following
112 commands:
113 </para>
114
115<screen><userinput>patch -Np1 -i ../valgrind-3.11.0-pthread_barrier_fix-1.patch &amp;&amp;
116
117sed -i 's|/doc/valgrind||' docs/Makefile.in &amp;&amp;
118./configure --prefix=/usr \
119 --datadir=/usr/share/doc/valgrind-&valgrind-version; &amp;&amp;
120make</userinput></screen>
121
122 <para>
123 To test the results, issue: <command>make regtest</command>. The tests
124 may hang forever if <xref linkend="gdb"/> is not installed.
125 </para>
126<!-- Note to maintainer: Recheck when next texlive (2015) is released.
127 <para>
128 If you wish to regenerate the documentation, run:
129 </para>
130
131<screen><userinput>make -C docs download-docs</userinput></screen>
132-->
133 <para>
134 Now, as the <systemitem class="username">root</systemitem> user:
135 </para>
136
137<screen role="root"><userinput>make install</userinput></screen>
138
139 </sect2>
140
141 <sect2 role="commands">
142 <title>Command Explanations</title>
143
144 <para>
145 <command>sed -i ... docs/Makefile.in </command>: This sed provides for
146 installing the documentation in a versioned directory.
147 </para>
148
149 </sect2>
150
151 <sect2 role="content">
152 <title>Contents</title>
153
154 <segmentedlist>
155 <segtitle>Installed Programs</segtitle>
156 <segtitle>Installed Library</segtitle>
157 <segtitle>Installed Directories</segtitle>
158
159 <seglistitem>
160 <seg>
161 callgrind_annotate,
162 callgrind_control,
163 cg_annotate,
164 cg_diff,
165 cg_merge,
166 ms_print,
167 valgrind,
168 valgrind-di-server,
169 valgrind-listener, and
170 vgdb
171 </seg>
172 <seg>
173 libcoregrind-&lt;Arch&gt;-linux.a,
174 libreplacemalloc_toolpreload-&lt;Arch&gt;-linux.a,
175 libvex-&lt;Arch&gt;-linux.a,
176 libvexmultiarch-amd64-linux.a,
177 vgpreload_core-&lt;Arch&gt;-linux.so,
178 vgpreload_drd-&lt;Arch&gt;-linux.so,
179 vgpreload_exp-dhat-&lt;Arch&gt;-linux.so,
180 vgpreload_exp-sgcheck-&lt;Arch&gt;-linux.so,
181 vgpreload_helgrind-&lt;Arch&gt;-linux.so,
182 vgpreload_massif-&lt;Arch&gt;-linux.so, and
183 vgpreload_memcheck-&lt;Arch&gt;-linux.so, where
184 &lt;Arch&gt; is x86 or amd64
185 </seg>
186 <seg>
187 /usr/lib/valgrind,
188 /usr/include/valgrind, and
189 /usr/share/doc/valgrind-&valgrind-version;
190 </seg>
191 </seglistitem>
192 </segmentedlist>
193
194 <variablelist>
195 <bridgehead renderas="sect3">Short Descriptions</bridgehead>
196 <?dbfo list-presentation="list"?>
197 <?dbhtml list-presentation="table"?>
198
199 <varlistentry id="valgrind-prog">
200 <term><command>valgrind</command></term>
201 <listitem>
202 <para>
203 is a program for debugging and profiling Linux executables.
204 </para>
205 <indexterm zone="valgrind valgrind-prog">
206 <primary sortas="b-valgrind">valgrind</primary>
207 </indexterm>
208 </listitem>
209 </varlistentry>
210
211 <varlistentry id="callgrind_annotate">
212 <term><command>callgrind_annotate</command></term>
213 <listitem>
214 <para>
215 takes an output file produced by the
216 <application>Valgrind</application> tool Callgrind and prints the
217 information in an easy-to-read form.
218 </para>
219 <indexterm zone="callgrind_annotate">
220 <primary sortas="b-callgrind_annotate">callgrind_annotate</primary>
221 </indexterm>
222 </listitem>
223 </varlistentry>
224
225 <varlistentry id="callgrind_control">
226 <term><command>callgrind_control</command></term>
227 <listitem>
228 <para>
229 controls programs being run by the <application>Valgrind</application>
230 tool Callgrind.
231 </para>
232 <indexterm zone="valgrind callgrind_control">
233 <primary sortas="b-callgrind_control">callgrind_control</primary>
234 </indexterm>
235 </listitem>
236 </varlistentry>
237
238 <varlistentry id="cg_annotate">
239 <term><command>cg_annotate</command></term>
240 <listitem>
241 <para>
242 is a post-processing tool for the <application>Valgrind</application>
243 tool Cachegrind.
244 </para>
245 <indexterm zone="valgrind cg_annotate">
246 <primary sortas="b-cg_annotate">cg_annotate</primary>
247 </indexterm>
248 </listitem>
249 </varlistentry>
250
251 <varlistentry id="cg_diff">
252 <term><command>cg_diff</command></term>
253 <listitem>
254 <para>
255 compares two Cachegrind output files.
256 </para>
257 <indexterm zone="valgrind cg_diff">
258 <primary sortas="b-cg_diff">cg_diff</primary>
259 </indexterm>
260 </listitem>
261 </varlistentry>
262
263 <varlistentry id="cg_merge">
264 <term><command>cg_merge</command></term>
265 <listitem>
266 <para>
267 merges multiple Cachegrind output files into one.
268 </para>
269 <indexterm zone="valgrind cg_merge">
270 <primary sortas="b-cg_merge">cg_merge</primary>
271 </indexterm>
272 </listitem>
273 </varlistentry>
274
275 <varlistentry id="ms_print">
276 <term><command>ms_print</command></term>
277 <listitem>
278 <para>
279 takes an output file produced by the <application>Valgrind</application>
280 tool Massif and prints the information in an easy-to-read form.
281 </para>
282 <indexterm zone="valgrind ms_print">
283 <primary sortas="b-ms_print">ms_print</primary>
284 </indexterm>
285 </listitem>
286 </varlistentry>
287
288 <varlistentry id="valgrind-di-server">
289 <term><command>valgrind-di-server</command></term>
290 <listitem>
291 <para>
292 is a server that reads debuginfo from objects stored on a
293 different machine.
294 </para>
295 <indexterm zone="valgrind valgrind-di-server">
296 <primary sortas="b-valgrind-di-server">valgrind-di-server</primary>
297 </indexterm>
298 </listitem>
299 </varlistentry>
300
301 <varlistentry id="valgrind-listener">
302 <term><command>valgrind-listener</command></term>
303 <listitem>
304 <para>
305 listens on a socket for Valgrind commentary.
306 </para>
307 <indexterm zone="valgrind valgrind-listener">
308 <primary sortas="b-valgrind-listener">valgrind-listener</primary>
309 </indexterm>
310 </listitem>
311 </varlistentry>
312
313 <varlistentry id="vgdb">
314 <term><command>vgdb</command></term>
315 <listitem>
316 <para>
317 is an intermediary between Valgrind and GDB or a shell.
318 </para>
319 <indexterm zone="valgrind vgdb">
320 <primary sortas="b-vgdb">vgdb</primary>
321 </indexterm>
322 </listitem>
323 </varlistentry>
324
325 </variablelist>
326
327 </sect2>
328
329</sect1>
Note: See TracBrowser for help on using the repository browser.