Valgrind-3.14.0

#### Beyond Linux® From Scratch - Version 2019-02-27

### Chapter 13. Programming

- Prev

  Vala-0.42.5

- Next

  yasm-1.3.0

- Up
- Home

# Valgrind-3.14.0

## Introduction to Valgrind

Valgrind is an instrumentation framework for building dynamic analysis tools. There are Valgrind tools that can automatically detect many memory management and threading bugs, and profile programs in detail. Valgrind can also be used to build new tools.

This package is known to build and work properly using an LFS-8.4 platform.

### Package Information

- Download (HTTP): https://sourceware.org/ftp/valgrind/valgrind-3.14.0.tar.bz2

- Download (FTP): ftp://sourceware.org/pub/valgrind/valgrind-3.14.0.tar.bz2

- Download MD5 sum: 74175426afa280184b62591b58c671b3

- Download size: 16 MB

- Estimated disk space required: 414 MB (add 70 MB for tests)

- Estimated build time: 0.5 SBU (Using parallelism=4; add 11 SBU for tests)

### Valgrind Dependencies

#### Optional

BIND-9.12.3-P4 or BIND Utilities-9.12.3-P4 (for tests), Boost-1.69.0, GDB-8.2.1 (for tests), LLVM-7.0.1 (with Clang), and Which-2.21 (for tests)

User Notes: http://wiki.linuxfromscratch.org/blfs/wiki/valgrind

## Installation of Valgrind

Install Valgrind by running the following commands:

    sed -i 's|/doc/valgrind||' docs/Makefile.in &&

    ./configure --prefix=/usr \
                --datadir=/usr/share/doc/valgrind-3.14.0 &&
    make

To test the results, issue: make regtest. The tests may hang forever if GDB-8.2.1 is not installed. Some tests are known to hang also, depending on the version of glibc. Problematic tests can be disabled by changing the `prereq:` line in the corresponding `.vgtest` file to `prereq: false`. For example:

    sed -e 's@prereq:.*@prereq: false@' \
        -i {helgrind,drd}/tests/pth_cond_destroy_busy.vgtest

### Note

The OpenMP tests are skipped if libgomp has been compiled with `--enable-linux-futex` (the default). If needed, just recompile the libgomp library from the gcc build tree, passing `--disable-linux-futex` to configure, storing the library to some place and changing the link from `/usr/lib/libgomp.so.1` to point to the new library.

Now, as the `root` user:

    make install

## Command Explanations

sed -i ... docs/Makefile.in : This sed provides for installing the documentation in a versioned directory.

`--enable-lto=yes`: This option allows building Valgrind with LTO (link time optimization). This produces a smaller/faster Valgrind (up to 10%), but build time increases to about 5.5 SBU.

## Contents

Installed Programs: callgrind_annotate, callgrind_control, cg_annotate, cg_diff, cg_merge, ms_print, valgrind, valgrind-di-server, valgrind-listener, and vgdb
Installed Library: libcoregrind-<Arch>-linux.a, libreplacemalloc_toolpreload-<Arch>-linux.a, libvex-<Arch>-linux.a, libvexmultiarch-amd64-linux.a, vgpreload_core-<Arch>-linux.so, vgpreload_drd-<Arch>-linux.so, vgpreload_exp-dhat-<Arch>-linux.so, vgpreload_exp-sgcheck-<Arch>-linux.so, vgpreload_helgrind-<Arch>-linux.so, vgpreload_massif-<Arch>-linux.so, and vgpreload_memcheck-<Arch>-linux.so, where <Arch> is x86 or amd64
Installed Directories: /usr/lib/valgrind, /usr/include/valgrind, and /usr/share/doc/valgrind-3.14.0

### Short Descriptions

valgrind | is a program for debugging and profiling Linux executables.
callgrind_annotate | takes an output file produced by the Valgrind tool Callgrind and prints the information in an easy-to-read form.
callgrind_control | controls programs being run by the Valgrind tool Callgrind.
cg_annotate | is a post-processing tool for the Valgrind tool Cachegrind.
cg_diff | compares two Cachegrind output files.
cg_merge | merges multiple Cachegrind output files into one.
ms_print | takes an output file produced by the Valgrind tool Massif and prints the information in an easy-to-read form.
valgrind-di-server | is a server that reads debuginfo from objects stored on a different machine.
valgrind-listener | listens on a socket for Valgrind commentary.
vgdb | is an intermediary between Valgrind and GDB or a shell.

Last updated on 2019-02-15 22:56:11 -0600

- Prev

  Vala-0.42.5

- Next

  yasm-1.3.0

- Up
- Home