STRIP(1) Strumenti di sviluppo GNU STRIP(1) NOME strip - scarta simboli e altri dati dai file oggetto SINTASSI strip [-F nomebfd |--target=nomebfd] [-I nomebfd |--input-target=nomebfd] [-O nomebfd |--output-target=nomebfd] [-s|--strip-all] [-S|-g|-d|--strip-debug] [--strip-dwo] [-K nomesimbolo|--keep-symbol=nomesimbolo] [-M|--merge-notes][--no-merge-notes] [-N nomesimbolo |--strip-symbol=nomesimbolo] [-w|--wildcard] [-x|--discard-all] [-X |--discard-locals] [-R nomesezione |--remove-section=nomesezione] [--keep-section=modellosezione] [--remove-relocations=modellosezione] [--strip-section-headers] [-o file] [-p|--preserve-dates] [-D|--enable-deterministic-archives] [-U|--disable-deterministic-archives] [--keep-section-symbols] [--keep-file-symbols] [--only-keep-debug] [-v |--verbose] [-V|--version] [--help] [--info] fileoggetto... DESCRIZIONE GNU strip scarta tutti i simboli dai file oggetto fileoggetto. L'elenco dei file oggetto puo includere archivi. Deve essere fornito almeno un file oggetto. strip modifica i file nominati negli argomenti, anziche scrivere copie modificate con nomi differenti. OPZIONI -F nomebfd --target=nomebfd Tratta il fileoggetto originale come un file con il codice oggetto nel formato nomebfd, e lo riscrive nello stesso formato. --help Mostra un sommario delle opzioni di strip ed esce. --info Visualizza un elenco che mostra tutte le architetture e i formati oggetto disponibili. -I nomebfd --input-target=nomebfd Tratta l'originale fileoggetto come file con il codice oggetto nel formato nomebfd. -O nomebfd --output-target=nomebfd Sostituisce fileoggetto con un file nel formato di output nomebfd. -R nomesezione --remove-section=nomesezione Rimuove tutte le sezioni chiamate nomesezione dal file di output. Questa opzione puo essere data piu di una volta. Notare che l'uso inappropriato di questa opzione puo rendere inutilizzabile il file di output. Il carattere "wildcard" * puo essere dato alla fine di nomesezione. In tal caso, qualsiasi sezione che inizia con nomesezione verra rimossa. Se il primo carattere di modellosezione e il punto esclamativo (!) allora la corrispondente sezione non verra rimossa anche se un precedente utilizzo di --remove-section sulla stessa riga di comando avrebbe fatto diversamente. Ad esempio: --remove-section=.text.* --remove-section=!.text.foo rimuovera tutte le sezioni corrispondenti al modello '.text.*', ma non rimuovera la sezione '.text.foo'. --keep-section=modellosezione Durante la rimozione di sezioni dal file di output, mantiene le sezioni che corrispondono a modellosezione. --remove-relocations=modellosezione Rimuove rilocazioni dal file di output per ogni sezione corrispondente a modellosezione. Questa opzione puo essere usata piu volte. Notare che usare quest'opzione in maniera inappropriata puo fare generare un file inutilizzabile. I caratteri jolly sono accetti da modellosezione. Ad esempio: --remove-relocations=.text.* rimuovera le rilocazioni da tutte le sezioni che corrispondono al modello '.text.*'. Se il primo carattere di modellosezione e un punto esclamativo (!) allora dalle corrispondenti sezioni non verranno rimosse le rilocazioni anche se un precedente utilizzo di --remove-relocations lo avrebbe fatto. Ad esempio: --remove-relocations=.text.* --remove-relocations=!.text.foo rimuovera tutte le rilocazioni da sezioni che corrispondono al modello '.text.*', ma non le rimuovera dalla sezione '.text.foo'. --strip-section-headers Riduce le intestazioni di sezione. Questa opzione e specifica per i file ELF. Implica --strip-all e --merge-notes. -s --strip-all Rimuove tutti i simboli. -g -S -d --strip-debug Rimuove solo i simboli di debug. --strip-dwo Rimuove il contenuto di tutte le sezioni DWARF .dwo, lasciando intatte le rimanenti sezioni di debugging e tutti i simboli. Vedere la descrizione di questa opzione nella sezione objcopy per maggiori dettagli. --strip-unneeded Rimuove tutti i simboli non necessari per il processo di rilocazione oltre ai simboli di debug e alle sezioni rimosse da --strip-debug. -K nomesimbolo --keep-symbol=nomesimbolo Quando viene sguarnito dei simboli, mantiene solo il simbolo nomesimbolo anche se normalmente verrebbe rimosso. Quest'opzione puo essere data piu di una volta. -M --merge-notes --no-merge-notes Per i file ELF, cerca (o evita) di ridurre la dimensione di ogni sezione di tipo SHT_NOTE togliendo le note duplicate. Il comportamento predefinito e di abilitare questa riduzione eccetto per le informazioni di debug e DWO. -N nomesimbolo --strip-symbol=nomesimbolo Rimuove il simbolo nomesimbolo dal file sorgente. Questa opzione puo essere data piu di una volta, e puo essere combinata con opzioni di strip diverse da -K. -o file Mette il risultato di strip in file, invece di sostituire il file esistente. Quando viene usato questo argomento, puo essere specificato solo un argomento fileoggetto. -p --preserve-dates Preserva le date di accesso e modifica del file. -D --enable-deterministic-archives Opera in modalita deterministica. Quando si copiano i membri dell'archivio e si scrive l'indice di archivio, usa zero per gli UID, i GID e le marcature temporali, e usa permessi di file coerenti per tutti i file. Se binutils e stato configurato con --enable-deterministic-archives, questa modalita e attiva in modo predefinito. Puo essere disabilitata col modificatore -U. -U --disable-deterministic-archives Non opera in modalita deterministica. Questo e l'inverso del modificatore D- visto sopra: quando si copiano i membri dell'archivio e si scrive l'indice di archivio, producono i loro valori effettivi di UID, GID, marcatura temporale e permessi. Questo e il predefinito a meno che binutils non sia stato configurato con --enable-deterministic-archives. -w --wildcard Permette le espressioni regolari in nomesimbolo usate in altre opzioni da riga di comando. Gli operatori punto di domanda (?), asterisco (*), barra inversa (\) e parentesi quadre ([]) possono essere usati ovunque nel nome del simbolo. Se il primo carattere del nome del simbolo e il punto esclamativo (!), il senso dell'opzione per tale simbolo e invertito. Per esempio: -w -K !foo -K fo* fara si che strip prenda solo simboli che iniziano con le lettere "fo", ma scartera il simbolo "foo". -x --discard-all Rimuove i simboli non globali. -X --discard-locals Rimuove i simboli locali generati dal compilatore. (Questi normalmente iniziano con L o ..) --keep-section-symbols Quando semplifica un file, magari con --strip-debug o con --strip-unneeded, mantiene qualsiasi simbolo che specifichi nomi di sezioni che altrimenti sarebbero rimosse. --keep-file-symbols Quando semplifica un file, magari con --strip-debug o con --strip-unneeded, mantiene qualsiasi simbolo che specifichi nomi di file sorgenti, che altrimenti sarebbero rimossi. --only-keep-debug Sguarnisce un file, svuotando il contenuto di ogni sezione che non verrebbe rimossa da --strip-debug e lasciando le sezioni di debug intatte. Nei file ELF, questo preserva tutte le sezioni di note nell'output. Nota - le intestazioni di sezione delle sezioni svuotate sono mantenute, compresa la loro dimensione, ma il contenuto ne e rimosso. Le intestazioni di sezione sono mantenute in modo che altri strumenti le possano fare corrispondere le informazioni di debug con il vero eseguibile, anche quest'ultimo e stato rilocato in un diverso spazio di indirizzi. L'intenzione e che questa opzione venga usata in unione con --add-gnu-debuglink per creare un eseguibile in due parti. Una e un binario completamente sguarnito che occupera meno spazio in RAM e in una distribuzione; la seconda e un file di informazione di debugging, che e necessario solo se sono richieste capacita di debugging. La procedura suggerita per creare questi file e la seguente: 1. "foo" then... 1. crea un file contenente le informazioni di debug. 1. eseguibile completamente sguarnito. 1. per aggiungere un collegamento alle informazioni di debugging nell'eseguibile sguarnito. Nota---la scelta di ".dbg" come estensione del file di informazioni di debug e arbitraria. Anche il passo "--only-keep-debug" e opzionale. Si puo invece fare questo: 1. 1. 1. 1. ad esempio il file a cui punta --add-gnu-debuglink puo essere l'eseguibile completo. Non deve essere un file creato dall'opzione --only-keep-debug. Nota --- quest'opzione e intesa soltanto per l'uso con file completamente collegati. Non ha senso usarla su file oggetto dove l'informazione di debugging puo essere incompleta. Inoltre la funzionalita gnu_debuglink attualmente supporta la presenza di un solo nome di file contenente informazioni di debugging, e non piu nomi di file, uno per ogni file oggetto. -V --version Mostra il numero di versione di strip. -v --verbose Output prolisso: elenca tutti i file oggetto modificati. Nel caso di archivi, strip -v elenca tutti i membri dell'archivio. @file Legge le opzioni da riga di comando da file. Le opzioni lette sono inserite al posto dell'opzione originale @file. Se file non esiste o non puo essere letto, l'opzione sara trattata letteralmente, e non rimossa. Le opzioni in file sono separate da spazi vuoti. Si puo includere uno spazio vuoto in un'opzione racchiudendo l'intera opzione fra apici, singoli o doppi. Puo essere incluso qualsiasi carattere (compresa la barra inversa) facendo precedere al carattere una barra inversa. Il file puo esso stesso contenere ulteriori opzioni @file; ciascuna di queste opzioni sara elaborata ricorsivamente. VEDERE ANCHE i campi Info per binutils. COPYRIGHT Copyright (c) 1991-2025 Free Software Foundation, Inc. E permesso copiare, distribuire e/o modificare questo documento nei termini della "Licenza per documentazione libera GNU" (GNU Free Documentation License), versione 1.3 o ogni versione successiva pubblicata dalla Free Software Foundation; senza sezioni non modificabili, senza testi di prima di copertina e di quarta di copertina. Una copia della licenza e inclusa nella sezione intitolata "Licenza per la documentazione libera GNU" (GNU Free Documentation License). TRADUZIONE La traduzione italiana di questa pagina di manuale e stata creata da Giulio Daprela , Marco Curreli e Giuseppe Sacco Questa traduzione e documentazione libera; leggere la GNU General Public License Versione 3 o successiva per le condizioni di copyright. Non ci assumiamo alcuna responsabilita. Per segnalare errori nella traduzione di questa pagina di manuale inviare un messaggio a . binutils-2.44 8 febbraio 2025 STRIP(1)