Introduction à Valgrind
        
        
          Valgrind est une boite à outils
          d'instrumentation pour construire des outils d'analyses dynamiques.
          Il y a les outils de Valgrind qui peuvent automatiquement détecter
          plusieurs bogues de gestion de mémoires et de threading, et des
          programmes de profilages en détail. Valgrind peut également être
          utilisé pour construire de nouveaux outils.
        
        
          
          
            Note
          
          
            Les versions de développement de BLFS peuvent ne pas arriver à
            contruire ou à exécuter certains paquets correctement si LFS ou
            des dépendances ont été mises à jour depuis la dernière version
            stable des livres.
          
         
        
          Informations sur le paquet
        
        
          
            - 
              
                Téléchargement (HTTP) : 
                https://sourceware.org/pub/valgrind/valgrind-3.26.0.tar.bz2
              
             
            - 
              
                Téléchargement (FTP) : 
              
             
            - 
              
                Somme de contrôle MD5 du téléchargement :
                856da1bc568212df6df502295a0439c0
              
             
            - 
              
                Taille du téléchargement : 16 Mo
              
             
            - 
              
                Estimation de l'espace disque requis : 414 Mo (plus
                86 Mo pour les tests)
              
             
            - 
              
                Estimation du temps de construction : 0,5 SBU (plus
                6,4 SBU pour les tests, tous deux avec parallélisme = 4)
              
             
          
         
        
          Dépendances de Valgrind
        
        
          Facultatives
        
        
          docbook-xml-4.5 (pour les tests), GDB-16.3 (pour les
          tests), libaio-0.3.113, LLVM-21.1.2 (avec Clang), et
          Which-2.23 (pour les tests)
        
       
      
        
          Installation de Valgrind
        
        
          Installez Valgrind en exécutant
          les commandes suivantes :
        
        sed -i 's|/doc/valgrind||' docs/Makefile.in &&
./configure --prefix=/usr \
            --datadir=/usr/share/doc/valgrind-3.26.0 &&
make
        
          Pour tester les résultats, tapez : make regtest. Les tests peuvent
          bloquer si GDB-16.3 n'est pas installé. Quelques tests sont
          également connus pour se bloquer, en fonction de la version de
          glibc. Quelques tests peuvent échouer dans plusieurs suites. Les
          tests problématiques peuvent être désactivés en changeant la ligne
          prereq: dans le
          fichier .vgtest correspondants en
          prereq: false. Par
          exemple :
        
        sed -e 's@prereq:.*@prereq: false@' \
    -i {helgrind,drd}/tests/pth_cond_destroy_busy.vgtest
        
          Une suite de tests supplémentaire est maintenant disponible pour
          tester Valgrind avec tous les appels systèmes fournis par le noyau.
          La suite de tests est conçue pour tester non seulement la
          conformité de la glibc et du noyau aux standards, mais également
          pour tester la capacité de Valgrind à gérer les différents appels
          systèmes. La suite de tests nécessite une connexion internet pour
          télécharger les tests, et cela peut prendre du temps (20 SBU
          supplémentaires et 1,3 Go d'espace disque). Si vous souhaitez
          exécuter cette suite de tests, exécutez la commande suivante :
          make ltpchecks.
          Remarquez que la sortie indiquera plusieurs échecs où Valgrind ne
          prend actuellement pas en charge certains appels systèmes, mais les
          journaux de la suite de tests se trouvent dans le répertoire
          auxprogs/auxchecks/ltp-full-20250130/valgrind-ltp-logs.
        
        
          
          
            Note
          
          
            Les tests OpenMP sont ignorés si
            libgomp a été compilé avec --enable-linux-futex (valeur par défaut). Si
            besoin, recompilez simplement libgomp depuis l'arborescence de
            construction de gcc, en passant --disable-linux-futex au script configure, en
            enregistrant la bibliothèque ailleurs et en changeant le lien de
            /usr/lib/libgomp.so.1 vers la
            nouvelle bibliothèque.
          
         
        
          Maintenant, en tant qu'utilisateur root :
        
        make install
       
      
        
          Explication des commandes
        
        
          sed -i ...
          docs/Makefile.in  : Ce sed permet d'installer
          la documentation dans un répertoire versionné.
        
        
          --enable-lto=yes : Cette option
          permet de construire Valgrind avec LTO (optimisation à l'édition de
          liens). Cela produit un Valgrind plus petit et plus rapide (jusqu'à
          10 %) mais le temps de construction augmente à 5,5 SBU.