Manpages

NOME

strip − Scarta i simboli dai file oggetto.

SINTASSI

strip [−F bfdname |−−target=bfdname]
[−I bfdname |−−input−target=bfdname]
[−O bfdname |−−output−target=bfdname]
[−s|−−strip−all]
[−S|−g|−d|−−strip−debug]
[−−strip−dwo]
[−K symbolname |−−keep−symbol=symbolname]
[−N symbolname |−−strip−symbol=symbolname]
[−w|−−wildcard]
[−x|−−discard−all] [−X |−−discard−locals]
[−R sectionname |−−remove−section=sectionname]
[−o file] [−p|−−preserve−dates]
[−D|−−enable−deterministic−archives]
[−U|−−disable−deterministic−archives]
[−−keep−file−symbols]
[−−only−keep−debug]
[−v |−−verbose] [−V|−−version]
[−−help] [−−info]
objfile
...

DESCRIZIONE

GNU strip scarta tutti i simboli dai file oggetto objfile. L’elenco dei file oggetto può includere archivi. Deve essere fornito almeno un file oggetto.

strip modifica i file nominati negli argomenti, invece di scrivere copie modificate con nomi differenti.

OPZIONI

−F bfdname
−−target=
bfdname

Tratta ilobjfile originale come un file con il codice oggetto nel formato bfdname, 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 bfdname
−−input−target=
bfdname

Tratta l’originale objfile come file con il codice oggetto nel formato bfdname.

−O bfdname
−−output−target=
bfdname

Sostituisce objfile con un file nel formato di output bfdname.

−R sectionname
−−remove−section=
sectionname

Rimuove tutte le sezioni chiamate sectionname dal file di output. Questa opzione può essere data più di una volta. Notare che l’uso inappropriato di questa opzione può rendere inutilizzabile il file di output. Il carattere "wildcard" * può essere dato alla fine di sectionname. In tal caso, qualsiasi sezione che inizia con sectionname verrà rimossa.

−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.

−K symbolname
−−keep−symbol=
symbolname

Quando viene sguarnito dei simboli, mantiene solo il simbolo symbolname anche se normalmente verrebbe rimosso. Quest’opzione può essere data più di una volta.

−N symbolname
−−strip−symbol=
symbolname

Rimuove il simbolo symbolname dal file sorgente. Questa opzione può essere data più di una volta, e può 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, può essere specificato solo un argomento objfile.

−p

−−preserve−dates

Preserva le date di accesso e modifica del file.

−D

−−enable−deterministic−archives

Opera in modalità 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 è stato configurato con −−enable−deterministic−archives, questa modalità è attiva in modo predefinito. Può essere disabilitata col modificatore −U.

−U

−−disable−deterministic−archives

Non opera in modalità deterministica. Questo è 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 è il predefinito a meno che binutils non sia stato configurato con −−enable−deterministic−archives.

−w

−−wildcard

Permette le espressioni regolari in symbolnames 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 è il punto esclamativo (!), il senso dell’opzione per tale simbolo è invertito. Per esempio:

          −w −K !foo −K fo*

fara sì che strip prenda solo simboli che iniziano con le lettere "fo", ma scarterà 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−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, rimuovendo 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.

L’intenzione è che questa opzione venga usata in unione con −−add−gnu−debuglink per creare un eseguibile in due parti. Una è un binario completamente sguarnito che occuperà meno spazio in RAM e in una distribuzione; la seconda è un file di informazione di debugging, che è necessario solo se sono richieste capacità di debugging. La procedura suggerita per creare questi file è la seguente:
1.<Collega l’eseguibile come normale. Supponendo che sia chiamato>

"foo" then...

1.<Esegue "objcopy −−only−keep−debug foo foo.dbg" to>

crea un file contenente le informazioni di debug.

1.<Esegue "objcopy −−strip−debug foo" per creare un>

eseguibile completamente sguarnito.

1.<Esegue "objcopy −−add−gnu−debuglink=foo.dbg foo">

per aggiungere un collegamento alle informazioni di debugging nell’eseguibile sguarnito.

Nota−−−la scelta di ".dbg" come estensione del file di informazioni di debug è arbitraria. Anche il passo "−−only−keep−debug" è opzionale. Si può invece fare questo:
1.<Collega l’eseguibile come normale.>
1.<Copia "foo" su "foo.full">
1.<Esegue "strip −−strip−debug foo">
1.<Esegue "objcopy −−add−gnu−debuglink=foo.full foo">

ad esempio il file a cui punta −−add−gnu−debuglink può essere l’eseguibile completo. Non deve essere un file creato dall’opzione −−only−keep−debug .

Note−−−quest’opzione è intesa soltanto per l’uso con file completamente collegati. Non ha senso usarla su file oggetto dove l’informazione di debugging può essere incompleta. Besides la funzionalità gnu_debuglink attualmente supporta la presenza di un solo nome di file contenente informazioni di debugging, e non più 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 può essere letto, l’opzione sarà trattata letteralmente, e non rimossa.

Le opzioni in file sono separate da spazi vuoti. Si può includere uno spazio vuoto in un’opzione racchiudendo l’intera opzione fra apici, singoli o doppi. Può essere incluso qualsiasi carattere (compresa la barra inversa) facendo precedere al carattere una barra inversa. Il file può esso stesso contenere ulteriori opzioni @file; ciascuna di queste opzioni sarà elaborata ricorsivamente.

VEDERE ANCHE

i campi Info di binutils.

COPYRIGHT

Copyright (c) 1991−2013 Free Software Foundation, Inc.

Permission is granted to copy, distribute and/or modify this document under the terms of the GNU Free Documentation License, Version 1.3 or any later version published by the Free Software Foundation; with no Invariant Sections, with no Front-Cover Texts, and with no Back-Cover Texts. A copy of the license is included in the section entitled " GNU Free Documentation License".

DIRITTI DI COPIA

Copyright (c) 1991−2013 Free Software Foundation, Inc.

Traduzione in italiano a cura di ILDP - Italian Linux Documentation Project http://www.pluto.it/ildp. Segnalare eventuali errori di traduzione a ildp [AT] pluto.it

Questa è una traduzione non ufficiale in italiano dei permessi di copia riportati nella precedente sezione "COPYRIGHT". Non è una pubblicazione della Free Software Foundation, e non ha validità legale per i termini di distribuzione della documentazione; solo il testo originale inglese ha tale validità.

This is an unofficial translation into Italian of the above section "COPYRIGHT". It was not published by the Free Software Foundation, and does not legally state the distribution terms for this documentation; only the original English text does that.

È permesso copiare, distribuire e/o modificare questo documento seguendo i termini della GNU Free Documentation License (Licenza per documentazione libera GNU), 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 è inclusa nella sezione intitolata " GNU Free Documentation License" (Licenza per la documentazione libera GNU).