libunwind Pakken inneholder et portabelt og effektivt C programmeringsgrensesnitt (API) for å bestemme kallkjeden til et program. API et gir i tillegg muligheten til å manipulere den bevarte (kalle-lagret) tilstanden til hver kallramme og gjenoppta kjøringen når som helst i kallkjeden (ikke-lokal goto). API-et støtter både lokal (samme prosess) og ekstern (på tvers av prosesser) operasjon.
Nødvendig oppdatering: https://glfs-book.github.io/glfs/download/libunwind/libunwind-1.8.1-fix_malloc.patch
Rett en feil prototype for malloc()
:
patch -Np1 -i ../libunwind-1.8.1-fix_malloc.patch
Installer libunwind ved å kjøre følgende kommandoer:
./configure --prefix=/usr --disable-static && make
For å teste resultatene, utsted: make check. To tester, run-coredump-unwind og run-coredump-unwind-mdi, blir hoppet over.
Nå, som root
bruker:
make install
Installer lib32-libunwind ved å kjøre følgende kommandoer:
make clean && CC="gcc -m32" CXX="g++ -m32" \ PKG_CONFIG_PATH=/usr/lib32/pkgconfig \ ./configure --prefix=/usr \ --libdir=/usr/lib32 \ --host=i686-pc-linux-gnu \ --disable-static && make
Nå, som root
bruker:
make DESTDIR=$PWD/DESTDIR install && cp -vr DESTDIR/usr/lib32/* /usr/lib32 && cp -v DESTDIR/usr/include/libunwind-x86.h /usr/include && rm -rf DESTDIR && ldconfig
Kjør ./configure --help for en fullstendig liste over alternativer.
--disable-static
: Denne
bryteren forhindrer installasjon av statiske versjoner av
bibliotekene.