Categories: Linux

Binutils per la Gestione dei File Oggetto

Con il pacchetto binutils iniziamo la costruzione della nostra distribuzione che personalmente ho chiamato RGPLinux versione 1.0 e che ci vedrà per molto tempo impegnati nella compilazione e creazione di oltre 1.000 pacchetti. Non è la prima volta che creo un mio sistema operativo Linux, l’inizio è stato circa 10 anni fa perché le distribuzioni classiche non mi soddisfacevano appieno ed allora ho iniziato a compilare da zero un mio sistema operativo Linux che, a mio modo di vedere, prendesse il meglio da quelle distribuzioni che mi piacevano di più. Anche oggi utilizzo la mia personalissima distribuzione Linux e voglio condividere questa mia esperienza con i miei lettori, perché ritengo che soltanto dopo aver compilato un sistema da zero varie volte si capisce il funzionamento di questo bellissimo sistema operativo.
I programmi che fanno parte di questo pacchetto servono per la gestione dei file oggetto, quindi ritroviamo un linker, un assembler ed altri strumenti:

  • addr2line – Programma che usa le informazioni di debug per trovare il file sorgente e la linea di codice associato con l’indirizzo dato.
  • ar – Crea, modifica e consente l’estrazione dei dati dagli archivi.
  • as – Un assembler che inserisce l’output di gcc nel file oggetto.
  • c++filt – Usato dal linker c++ e java per le funzioni di overload.
  • gprof – Mostra le chiamate ai dati.
  • ld – Un linker che unisce i file oggetto in un file singolo.
  • nm – Mostra la lista dei simboli in un file oggetto.
  • objcopy – Trasforma un file oggetto in un altro tipo.
  • objdump – Mostra varie informazioni su un file oggetto.
  • ranlib – Genera un indice del contenuto di un file oggetto e lo memorizza in un archivio. L’indice elenca tutti i simboli definiti nel file oggetto.
  • readelf – Mostra le informazioni riguardo al formato ELF.
  • size – Mostra le dimensioni della sezione e del file oggetto.
  • strings – Stampa, per ogni file dato, la sequenza dei caratteri stampabili; per i file oggetto stampa solo la parte iniziale e di caricamento.
  • strip – Toglie le informazioni sui simboli dai file oggetto.

Oltre a questi eseguibili il pacchetto installa anche queste librerie:

  • libiberty.a – Contiene le funzioni utilizzare dai programmi GNU: getopt, obstack, strerror, strtol e strtoul.
  • libbfd.{a,so} – Libreria per il Binary File Descriptor.
  • libopcodes.{a,so} – Libreria contenente funzioni per il preprocessore ed utile per costruire programmi come objdump.

Come ho descritto negli articoli precedenti di questa serie, ogni pacchetto viene compilato tramite un file per la shell di Linux e vi avevo anche detto come personalmente ho creato e strutturato l’ambiente di sviluppo, se ancora non l’aveste letto vi consiglio di iniziare dalla prima lezione del corso. Vi inserirò di volta in volta il sorgente per compilare il pacchetto, si tratta in pratica dello stesso metodo che utilizza ArchLinux. Dato che c’è bisogno di avere il nostro sistema collegato ad internet, vi consiglio di installare dhcpcd secondo quanto descritto in questo articolo, inoltre avremo bisogno di wget per scaricare i sorgenti e le patch, come descritto in questo articolo. Ecco inoltre il collegamento al file sorgente che ho utilizzato per compilare il pacchetto binutils ed inoltre anche quello per creare il pacchetto pkgtools, il nostro gestore base dei pacchetti.

<< Lezione Precedente – Inizio TutorialLezione Successiva >>

Share
Giampaolo Rossi

Sviluppatore di software gestionale da oltre 28 anni.

Recent Posts

Un Abbonamento per Tutti i Software

Sono arrivato alla convinzione che un abbonamento per tutti i miei software gestionali sia il…

1 anno ago

Software di Magazzino Gratuito

MerciGest è un software per la gestione del magazzino completamente gratuito. Continua a leggere→

1 anno ago

Mettere il PC in Lock Screen

In ufficio può capitare di doversi allontanare dal proprio posto di lavoro, ecco che allora…

3 anni ago

Fare il reset togliendo la corrente

In questo articolo vedremo quando è più o meno utile togliere la corrente ad un…

3 anni ago

Prossimi Aggiornamenti Software

Dopo la pausa invernale dovuta al lavoro che devo fare per sostentarmi, eccomi di nuovo…

3 anni ago

Come Eliminare i Files in Windows

Vediamo come eliminare i files direttamente da Windows senza utilizzare il cestino. Continua a leggere→

4 anni ago