Provided by: manpages-it_4.27.0-1_all bug

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 può includere
       archivi. Deve essere fornito almeno un file oggetto.

       strip modifica i file nominati negli argomenti, anziché 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 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 nomesezione. In tal caso, qualsiasi
           sezione che inizia con nomesezione verrà rimossa.

           Se il primo carattere di modellosezione è il punto esclamativo (!) allora la  corrispondente  sezione
           non  verrà  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

           rimuoverà tutte le  sezioni  corrispondenti  al  modello  '.text.*',  ma  non  rimuoverà  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  può essere usata più volte. Notare che usare quest'opzione in maniera inappropriata può fare
           generare un file inutilizzabile. I caratteri jolly sono accetti da modellosezione. Ad esempio:

                     --remove-relocations=.text.*

           rimuoverà le rilocazioni da tutte le sezioni che corrispondono al modello '.text.*'.

           Se il primo carattere di modellosezione è  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

           rimuoverà tutte le rilocazioni da sezioni che corrispondono al modello '.text.*', ma non le rimuoverà
           dalla sezione '.text.foo'.

       --strip-section-headers
           Riduce le intestazioni di sezione. Questa opzione è 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 può essere data più 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  è  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 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 fileoggetto.

       -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 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  è  il  punto
           esclamativo (!), il senso dell'opzione per tale simbolo è invertito. Per esempio:

                     -w -K !foo -K fo*

           farà 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-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 è 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  è
           stato rilocato in un diverso spazio di indirizzi.

           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.<Run "objcopy --only-keep-debug foo foo.dbg" to>
               crea un file contenente le informazioni di debug.

           1.<Run "objcopy --strip-debug foo" to create a>
               eseguibile completamente sguarnito.

           1.<Run "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.<Copy "foo" to "foo.full">
           1.<Run "strip --strip-debug foo">
           1.<Run "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.

           Nota --- 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.  Inoltre  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 per binutils.

COPYRIGHT

       Copyright (c) 1991-2025 Free Software Foundation, Inc.

       È  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 è inclusa nella sezione  intitolata  “Licenza
       per la documentazione libera GNU" (GNU Free Documentation License).

TRADUZIONE

       La  traduzione  italiana  di questa pagina di manuale è stata creata da Giulio Daprelà <giulio@pluto.it>,
       Marco Curreli <marcocurreli@tiscali.it> e Giuseppe Sacco <eppesuig@debian.org>

       Questa traduzione è documentazione libera; leggere la GNU General Public License Versione 3 o  successiva
       per le condizioni di copyright. Non ci assumiamo alcuna responsabilità.

       Per  segnalare  errori  nella  traduzione  di  questa  pagina  di  manuale  inviare un messaggio a pluto-
       ildp@lists.pluto.it.

binutils-2.44                                     3 marzo 2025                                          STRIP(1)