Dettagli su questo pacchetto si trovano nella Sezione 6.11.2, «Contenuti di Binutils.»
Il pacchetto Binutils contiene un linker, un assemblatore e altri tool per manipolare file oggetto.
È importante che Binutils sia il primo pacchetto compilato, poiché sia Glibc che GCC eseguono diversi test sul linker e l'assemblatore disponibili per determinare quale delle loro caratteristiche abilitare.
La documentazione di Binutils raccomanda di costruire Binutils al di fuori della directory dei sorgenti, in una directory di costruzione dedicata:
mkdir -v ../binutils-build cd ../binutils-build
Perché i valori di SBU elencati nel resto del libro siano di qualche utilità misurare il tempo occorrente a costruire questo pacchetto dalla configurazione, fino a, e inclusa, la prima installazione. Per ottenere questo facilmente, racchiudere tre comandi in un comando time in questo modo: time { ./configure ... && make && make install; }.
Preparare Binutils per la compilazione:
../binutils-2.16.1/configure --prefix=/tools --disable-nls
Significato delle opzioni di configurazione:
Questo dice allo script di configurazione di prepararsi a installare i programmi delle Binutils nella directory /tools.
Questo disabilita l'internazionalizzazione, poiché i18n non è necessario per i tool temporanei.
Continuare con la compilazione del pacchetto:
make
La compilazione è ora completa. Normalmente ora eseguiremmo la suite di test, ma in questa fase preliminare il framework della suite di test (Tcl, Expect e DejaGNU) non è ancora al suo posto. I benefici derivanti da un'esecuzione dei test a questo punto sono minimi, poiché i programmi di questo primo passo verranno presto rimpiazzati da quelli del secondo.
Installare il pacchetto:
make install
Quindi preparare il linker per la successiva fase di «aggiustamento»:
make -C ld clean make -C ld LIB_PATH=/tools/lib cp -v ld/ld-new /tools/bin
Significato dei parametri di make:
Questo dice al programma make di rimuovere tutti i file compilati nella sottodirectory ld .
Questa opzione ricostruisce ogni cosa nella sottodirectory ld. Specificare la variabile del Makefile LIB_PATH nella linea di comando ci permette di sovrascrivere il valore di default e puntarlo alla locazione temporanea dei tool. Il valore di questa variabile specifica il percorso di ricerca di default delle librerie da parte del linker. Questa preparazione viena usata più avanti nel capitolo.
Dettagli su questo pacchetto si trovano nella Sezione 6.11.2, «Contenuti di Binutils.»