Introduksjon til Valgrind
Valgrind er et
instrumenteringsrammeverk for å bygge dynamiske analyseverktøy. Det
finnes Valgrind verktøy som automatisk kan oppdage mange
minnehåndterings- og trådfeil, og profilprogrammer i detalj.
Valgrind kan også brukes til å bygge nye verktøy.
Denne pakken er kjent for å bygge og fungere riktig ved å bruke en
LFS 12.1 plattform.
Pakkeinformasjon
-
Nedlasting (HTTP):
https://sourceware.org/pub/valgrind/valgrind-3.22.0.tar.bz2
-
Nedlasting MD5 sum: 38ea14f567efa09687a822b33b4d9d60
-
Nedlastingsstørrelse: 16 MB
-
Estimert diskplass som kreves: 390 MB (legg til 66 MB for
tester)
-
Estimert byggetid: 0.5 SBU (legg til 6,8 SBU for tester;
begge bruker parallellisme=4)
Ytterligere Nedlastinger
Valgrind Avhengigheter
Valgfri
GDB-14.1 (for
tester), LLVM-17.0.6 (med Clang), og Which-2.21 (for
tester)
Installasjon av Valgrind
Gjør først flere endringer som kreves for at Valgrind skal fungere
på systemer med glibc-2.39 og binutils-2.42 installert:
patch -Np1 -i ../valgrind-3.22.0-upstream_fixes-1.patch
Installer Valgrind ved å kjøre
følgende kommandoer:
sed -i 's|/doc/valgrind||' docs/Makefile.in &&
./configure --prefix=/usr \
--datadir=/usr/share/doc/valgrind-3.22.0 &&
make
For å teste resultatene, kjør: make
regtest. Testene kan henge for alltid hvis
GDB-14.1 ikke
er installert. Noen tester er kjent for å henge også, avhengig av
versjonen av glibc. Noen få tester kan mislykkes i ulike pakker.
Problematiske tester kan deaktiveres ved å endre prereq:
linjen i den tilsvarende
.vgtest
filen til prereq: false
. For eksempel:
sed -e 's@prereq:.*@prereq: false@' \
-i {helgrind,drd}/tests/pth_cond_destroy_busy.vgtest
Note
OpenMP tester hoppes over hvis
libgomp har blitt kompilert med --enable-linux-futex
(standard). Om nødvendig,
bare kompiler libgomp biblioteket på nytt fra gcc byggetreet,
send --disable-linux-futex
til
configure, lagre biblioteket et sted og endre koblingen fra
/usr/lib/libgomp.so.1
til å peke på
det nye bibliotek.
Nå, som root
bruker:
make install
Parameterforklaringer
sed -i ...
docs/Makefile.in : Dette sed sørger for
installering av dokumentasjonen i en versjonert mappe.
--enable-lto=yes
: Dette alternativet
lar deg bygge Valgrind med LTO (link time optimization). Dette gir
en mindre/raskere Valgrind (opptil 10%), men byggetiden øker til ca
5,5 SBU.