5.9. Binutils-2.34 - Pass 2

Binutils-pakken inneholder en lenker, en assembler og andre verktøy for å håndtere objektfiler.

 

Omtrentlig byggetid: 1.1 SBU

Nødvendig diskplass: 651 MB


5.9.1. Installation of Binutils

Lag en egen byggekatalog igjen:

mkdir -v build

cd build

Forbered Binutils til kompilering:

CC=$LFS_TGT-gcc \
AR=$LFS_TGT-ar \
RANLIB=$LFS_TGT-ranlib \
../configure \
   --prefix=/tools \
   --disable-nls \
   --disable-werror \
   --with-lib-path=/tools/lib \
   --with-sysroot

Betydningen av de nye konfigurasjonsalternativene:

CC=$LFS_TGT-gcc AR=$LFS_TGT-ar RANLIB=$LFS_TGT-ranlib
  Fordi dette virkelig er et lokalt byggverk av Binutils, sørger du for å stille inn disse variablene for at byggesystemet bruker krysskompilatoren og tilhørende verktøy i stedet for dem på vertssystemet.

--with-lib-path=/tools/lib
   Dette forteller konfigurasjonsskriptet til å spesifisere biblioteksøkebanen under samlingen av Binutils, noe som resulterer i at /tools/lib blir sendt til linkeren. Dette forhindrer linkeren i å søke gjennom bibliotekskataloger på verten.

--with-sysroot
   Dette definerer en standard (ikke-eksisterende) sysroot-katalog /tools/$LFS_TGT/sys-root. Det er nyttig når du leter etter delte objekter som kreves av andre delte objekter eksplisitt inkludert på linkerens kommandolinje. Disse objektene blir søkt inn i katalogene som er oppført i <sysroot> /etc/ld.so.conf, og unnlater det, inn i linker-søkestien, som er riktig. Hvis denne bryteren ikke er gitt, brukes /etc/ld.so.conf på verten, det vil si at programmer kan knyttes til biblioteker på verten, som vi ønsker å unngå.

Kompiler pakken:

make

Installer pakken:

make install

Nå forbereder linkeren for "Re-justering" -fasen i neste kapittel:

make -C ld clean
make -C ld LIB_PATH=/usr/lib:/lib
cp -v ld/ld-new /tools/bin

Betydningen av make-parametrene:

-C ld clean
   
Dette forteller make programmet å fjerne alle kompilerte filer i ld-underkatalogen.

-C ld LIB_PATH=/usr/lib:/lib
   
Dette alternativet bygger om alt i ld-underkatalogen. Å spesifisere LIB_PATH Makefile-variabelen på kommandolinjen lar oss overstyre standardverdien til de midlertidige verktøyene og peke den til riktig endelig bane. Verdien til denne variabelen spesifiserer linkerens standard biblioteksøkingssti. Denne forberedelsen brukes i neste kapittel.


Detaljer om denne pakken finnes i kapittel 6.18.2, "Innhold i binutils."

Forrige Hjem Neste