GNU Binutils
software
Logo
Logo
Genere
Sviluppatoreprogetto GNU
Ultima versione2.46.1 (8 giugno 2026)
Sistema operativo
LicenzaGNU General Public License v3.0 or later, BSD 3-clausole e GNU GPL v2+
(licenza libera)
Sito webwww.gnu.org/software/binutils/

GNU Binary Utilities[1][2], meglio note come GNU Binutils,[3] è una collezione di programmi per la creazione e la gestione di file binari, oggetto, librerie, dati del profilo e codice sorgente dell'assembly.

Il pacchetto binutils comprende programmi come ld e può essere utilizzato in combinazione con compilatori quali GCC. Il suo codice sorgente è distribuito insieme al GNU Debugger sotto licenza GNU General Public License ed è disponibile per numerosi sistemi operativi Unix-like, incluso Linux.[4]

La maggior parte del software utilizza la libreria Binary File Descriptor e alcuni programmi fanno uso della libreria opcodes. Esistono porte per diversi sistemi, tra cui la maggior parte delle varianti UNIX, Windows, Mac OS X e (parzialmente) OS/2.[5]

Strumenti

modifica

Sono stati originariamente scritti dai programmatori di Cygnus Solutions.

Le binutils GNU sono in genere usate insieme a compilatori come GNU Compiler Collection (gcc), strumenti di costruzione come make e GNU Debugger (gdb).

Attraverso l'uso della libreria di descrittori di file binari (libbfd), la maggior parte degli strumenti supporta i vari formati di file oggetto supportati da libbfd.

H.J. Lu mantiene una versione di binutils con funzionalità puramente per Linux.[6]

Comandi

modifica

Le binutils includono i seguenti comandi:[7][8][9]

as Linguaggio assembly, popolarmente noto come GAS (Gnu ASsembler)
ld Linking[10]
gprof Analisi delle prestazioni del software[11]
addr2line converti l'indirizzo in file e riga
ar creare, modificare ed estrarre dagli archivi
c++filt Nome filtro di differenziazione,[12] per simboli in linguaggio C++
dlltool Crea file per la creazione e l'utilizzo di DLL
gold Linking alternativa
nlmconv conversione del file oggetto in a NetWare Loadable Module
nm elenca i simboli nei file oggetto
objcopy copiare i file oggetto, eventualmente apportando modifiche[13]
objdump scaricare informazioni sui file oggetto
ranlib generare indici per gli archivi
readelf visualizza il contenuto di ELF file
size elenca le dimensioni totali e di sezione
strings elenca le stringhe stampabili
strip rimuove i simboli da un file oggetto
windmc generates Windows message resources
windres compilatore per Windows resource files

elfutils

modifica

Ulrich Drepper ha scritto elfutils, in sostituzione di GNU Binutils, esclusivamente per Linux e con supporto solo per ELF e DWARF.[14]

Note

modifica
  1. ^ (EN) GNU Binary Utilities, su sourceware.org.
  2. ^ (EN) The GNU Binary Utilities (PDF), su eecs.umich.edu, aprile 2010.
  3. ^ (EN) Clifton, GNU Binutils 2.33.1 released, su lists.gnu.org, 12 ottobre 2019. URL consultato il 29 decembre 2019.
  4. ^ (EN) Index of /pub/linux/devel/binutils/, su The Linux Kernel Archives.
  5. ^ (EN) Paul's ports: GNU Binutils, su os2ports.smedley.info. URL consultato il 29 decembre 2019.
  6. ^ (EN) README-release.binutils-2.24.51.0.3, su kernel.org. URL consultato il 29 dicembre 2019.
  7. ^ (EN) GNU Binary Utilities, su Free Software Directory, 16 ottobre 2019. URL consultato il 29 decembre 2019.
  8. ^ (EN) GNU Binutils, su sourceware.org, 12 ottobre 2019. URL consultato il 29 decembre 2019.
  9. ^ (EN) GNU Binutils, su Progetto GNU, 12 ottobre 2019. URL consultato il 29 decembre 2019.
  10. ^ Per quanto alcuni testi e autori in lingua italiana abbiano scelto di tradurre il termine, quest'ultimo è di uso molto infrequente.
  11. ^ (EN) Weylin MacCalla e Sameer Kulkarni, Utilizing GPUs to Accelerate TurbomachineryCFD Codes (PDF), su NASA, gennaio 2016, p. 7. URL consultato il 29 decembre 2019.
    «The GNU Profiling tool is part of the GNU compiler package which is freely available under the GNU General Public License. It was used to take the initial profile of the code, and was able to provide subroutine-level results about the most time consuming parts of the code. The information from the GNU Profiler was used to narrow down the search for the sections of code to be offloaded to the GPU.»
  12. ^ (EN) Name mangling (C++ only), su IBM Knowledge Center. URL consultato il 29 decembre 2019.
  13. ^ (EN) Terrence Sun, 12 Linux GNU Binary Utilities Binutils Commands with Examples (as, ld, ar, nm, objcopy, objdump, size, strings, strip, c++flint, addr2line, readelf Command Examples), su The Geek Stuff, 10 gennaio 2017. URL consultato il 29 decembre 2019.
    «objcopy can copy the content of one object file to another object file, and input/output object can in different format. There are times when you need to port an object file available for one kind of platform (like ARM or x86) to another kind of platform.»
  14. ^ (EN) The elfutils project, su sourceware.org. URL consultato il 29 decembre 2019.

Voci correlate

modifica

Collegamenti esterni

modifica
  Portale Informatica: accedi alle voci di Wikipedia che trattano di Informatica

📚 Artikel Terkait di Wikipedia

Debugger

dei debugger include un disassembler, come il programma objdump delle GNU Binutils. Il compito principale del debugger è quello di mostrare il frammento

GNU Core Utilities

BusyBox GNU Binutils util-linux Lista dei pacchetti GNU Altri progetti Wikimedia Commons Wikimedia Commons contiene immagini o altri file su GNU Core Utilities

Red Hat

software libero e ospitava numerosi sviluppatori di progetti GNU come lo GNU Debugger e il GNU Binutils. Uno dei fondatori di Cygnus, Michael Tiemann, diventa

GNU linker

GNU linker (o GNU ld) è l'implementazione GNU del comando Unix ld, parte delle GNU Binary Utilities (binutils) e distribuito sotto licenza GNU GPL. Il

Ar (Unix)

che vanno oltre il linking di librerie. ar è incluso come una delle GNU Binutils. Per esempio, per creare un archivio dai file class1.o, class2.o, class3

S-record

per la manipolazione di file in formato SREC. Intel HEX file format GNU Binutils objdump e objcopy sono programmi per generare e visualizzare S-records

Pacchetti GNU

Linguaggio per elaborare i numeri con arbitraria precisione GNU Binutils — Strumenti di programmazione GNU Bison — Generatore di parser simile a yacc Bool — Utility

Executable and linkable format

informazioni su uno o più file ELF. Un'implementazione GPL è fornita da GNU Binutils. elfdump è un comando di Solaris per mostrare informazioni su un file