STRIP(1) | Instrumente pentru dezvoltare(programare) GNU | STRIP(1) |
NUME
strip - înlătură simbolurile și alte date din fișierele obiect
SINOPSIS
strip [-F nume-bfd |--target=nume-bfd]
[-I nume-bfd |--input-target=nume-bfd]
[-O nume-bfd |--output-target=nume-bfd]
[-s|--strip-all]
[-S|-g|-d|--strip-debug]
[--strip-dwo]
[-K nume-simbol|--keep-symbol=nume-simbol]
[-M|--merge-notes][--no-merge-notes]
[-N nume-simbol |--strip-symbol=nume-simbol]
[-w|--wildcard]
[-x|--discard-all] [-X |--discard-locals]
[-R nume-secțiune
|--remove-section=nume-secțiune]
[--keep-section=model-secțiune]
[--remove-relocations=model-secțiune]
[--strip-section-headers]
[-o fișier] [-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]
fișier-obiect...
DESCRIERE
GNU strip elimină toate simbolurile din fișierele obiect objfile. Lista de fișiere obiect poate include arhive. Trebuie indicat cel puțin un fișier obiect.
strip modifică fișierele menționate în argumentul său, în loc să scrie copii modificate sub nume diferite.
OPȚIUNI
- -F nume-bfd
- --target=nume-bfd
- Tratează fișierul original fișier-obiect ca pe un fișier cu formatul de cod obiect nume-bfd și îl rescrie în același format.
- --help
- Afișează un rezumat al opțiunilor pentru strip și iese.
- --info
- Afișează o listă cu toate arhitecturile și formatele de obiecte disponibile.
- -I nume-bfd
- --input-target=nume-bfd
- Tratează fișierul original fișier-obiect ca pe un fișier cu formatul de cod obiect nume-bfd.
- -O nume-bfd
- --output-target=nume-bfd
- Înlocuiește fișierul-obiect cu un fișier în formatul de ieșire nume-bfd.
- -R nume-secțiune
- --remove-section=nume-secțiune
- Elimină orice secțiune numită
nume-secțiune din fișierul de ieșire,
în plus față de orice secțiune care ar fi fost
eliminată altfel. Această opțiune poate fi
dată de mai multe ori. Rețineți că utilizarea
necorespunzătoare a acestei opțiuni poate face ca
fișierul de ieșire să nu mai poată fi
utilizat. Caracterul Joker * poate fi introdus la
sfârșitul lui nume-secțiune. În acest
caz, orice secțiune care începe cu
nume-secțiune va fi eliminată.
Dacă primul caracter din model-secțiune este semnul exclamării (!), atunci secțiunile corespunzătoare nu vor fi eliminate chiar dacă o utilizare anterioară a --remove-section pe aceeași linie de comandă ar fi eliminat-o în caz contrar. De exemplu:
--remove-section=.text.* --remove-section=!.text.foo
va elimina toate secțiunile care corespund modelului ".text.*", dar nu va elimina secțiunea ".text.foo"
- --keep-section=model-secțiune
- Atunci când se elimină secțiuni din fișierul de ieșire, păstrează secțiunile care se potrivesc cu model-secțiune.
- --remove-relocations=model-secțiune
- Elimină realocările din fișierul de ieșire
pentru orice secțiune care se potrivește cu
model-secțiune. Această opțiune poate fi
dată de mai multe ori. Rețineți că utilizarea
necorespunzătoare a acestei opțiuni poate face ca
fișierul de ieșire să nu mai poată fi
utilizat. Caracterele joker sunt acceptate în
model-secțiune. De exemplu:
--remove-relocations=.text.*
va elimina realocările pentru toate secțiunile care se potrivesc cu modelul '.text.*'.
Dacă primul caracter din model-secțiune este semnul exclamării (!), atunci secțiunile care se potrivesc nu vor avea realocările eliminate, chiar dacă o utilizare anterioară a --remove-relocations pe aceeași linie de comandă ar fi determinat altfel eliminarea realocărilor. De exemplu:
--remove-relocations=.text.* --remove-relocations=!.text.foo
va elimina toate realocările pentru secțiunile care corespund modelului '.text.*', dar nu va elimina realocările pentru secțiunea '.text.foo'.
- --strip-section-headers
- Îndepărtează anteturile de secțiune. Această opțiune este specifică pentru fișierele ELF. Implică --strip-all și --merge-notes.
- -s
- --strip-all
- Elimină toate simbolurile.
- -g
- -S
- -d
- --strip-debug
- Elimină doar simbolurile de depanare.
- --strip-dwo
- Elimină conținutul tuturor secțiunilor DWARF .dwo, lăsând secțiunile de depanare rămase și toate simbolurile intacte. Pentru mai multe informații, consultați descrierea acestei opțiuni în secțiunea objcopy.
- --strip-unneeded
- Elimină toate simbolurile care nu sunt necesare pentru procesarea realocării, în plus față de simbolurile de depanare și secțiunile eliminate de --strip-debug.
- -K nume-simbol
- --keep-symbol=nume-simbol
- La eliminarea simbolurilor, păstrează simbolul nume-simbol chiar dacă în mod normal ar fi eliminat. Această opțiune poate fi dată de mai multe ori.
- -M
- --merge-notes
- --no-merge-notes
- În cazul fișierelor ELF, încearcă (sau nu încearcă) să reducă dimensiunea oricărei secțiuni de tip SHT_NOTE prin eliminarea notelor duplicate. Valoarea implicită este de a încerca această reducere dacă nu se elimină informațiile de depanare sau DWO.
- -N nume-simbol
- --strip-symbol=nume-simbol
- Elimină simbolul nume-simbol din fișierul sursă. Această opțiune poate fi dată de mai multe ori și poate fi combinată cu alte opțiuni pentru eliminare decât -K.
- -o fișier
- Pune rezultatul eliminat în fișier, în loc să înlocuiască fișierul existent. Atunci când se utilizează acest argument, se poate specifica un singur argument fișier-obiect.
- -p
- --preserve-dates
- Păstrează datele (data-ora) de acces și de modificare a fișierului.
- -D
- --enable-deterministic-archives
- Funcționează în modul determinist. La copierea
membrilor arhivei și la scrierea indexului arhivei, se
utilizează zero pentru UID-uri, GID-uri, marcaje de timp și
se utilizează moduri de fișier coerente pentru toate
fișierele.
Dacă binutils a fost configurat cu --enable-deterministic-archives, atunci acest mod este activat în mod implicit. Acesta poate fi dezactivat cu opțiunea -U, de mai jos.
- -U
- --disable-deterministic-archives
- Nu funcționează în modul determinist.
Aceasta este inversa opțiunii -D, de mai sus: atunci
când copiază membrii arhivei și scrie indexul
arhivei, utilizează valorile lor reale UID, GID, marcaj de timp
și modul de fișier.
Aceasta este valoarea implicită, cu excepția cazului în care binutils a fost configurat cu --enable-deterministic-archives.
- -w
- --wildcard
- Permite expresii regulate în nume-simbols utilizate
în alte opțiuni din linia de comandă. Operatorii semn
de întrebare (?), asterisc (*), bara oblică inversă
(\) și parantezele drepte ([]) pot fi utilizate oriunde în
numele simbolului. Dacă primul caracter din numele simbolului este
semnul exclamării (!), atunci sensul opțiunii este inversat
pentru acel simbol. De exemplu:
-w -K !foo -K fo*
va face ca «strip» să păstreze doar simbolurile care încep cu literele „fo”, dar să elimine simbolul „foo”.
- -x
- --discard-all
- Elimină simbolurile care nu sunt globale.
- -X
- --discard-locals
- Elimină simbolurile locale generate de compilator; (acestea încep de obicei cu L sau .).
- --keep-section-symbols
- Atunci când se elimină un fișier, poate cu --strip-debug sau --strip-unneeded, păstrează toate simbolurile care specifică nume de secțiuni, care altfel ar fi eliminate.
- --keep-file-symbols
- Atunci când se elimină un fișier, poate cu --strip-debug sau --strip-unneeded, păstrează toate simbolurile care specifică nume de fișiere sursă, care altfel ar fi eliminate.
- --only-keep-debug
- Golește un fișier, golind conținutul tuturor
secțiunilor care nu ar fi golite de --strip-debug si
lăsând intacte secțiunile de depanare. În
cazul fișierelor ELF, acest lucru păstrează toate
secțiunile de note și în fișierul de
ieșire.
Notă - antetele secțiunilor eliminate sunt păstrate, inclusiv dimensiunile lor, dar conținutul secțiunii este eliminat. Antetele secțiunilor sunt păstrate pentru ca alte instrumente să poată compara fișierul de depanare cu executabilul real, chiar dacă acesta a fost realocat într-un spațiu de adrese diferit.
Intenția este ca această opțiune să fie utilizată împreună cu --add-gnu-debuglink pentru a crea un executabil din două părți. Unul este un fișier binar curățat, care va ocupa mai puțin spațiu în RAM și în distribuție, iar al doilea este un fișier de informații de depanare, care este necesar doar dacă sunt necesare abilități de depanare. Procedura sugerată pentru a crea aceste fișiere este următoarea:
- 1.<Leagă executabilul în mod normal. Presupunând că acesta este numit >
- "foo" apoi...
- 1.<Run "objcopy --only-keep-debug foo foo.dbg" to>
- creează un fișier care conține informații de depanare.
- 1.<Run "objcopy --strip-debug foo" to create a>
- executabil curățat.
- 1.<Run "objcopy --add-gnu-debuglink=foo.dbg foo">
- pentru a adăuga o legătură către informațiile de depanare în executabilul curățat.
Notă - alegerea „.dbg” ca extensie pentru fișierul de informații de depanare este arbitrară. De asemenea, pasul „--only-keep-debug” este opțional. În schimb, ați putea face așa:
- 1.<Leagă executabilul în mod normal.>
- 1.<Copy "foo" to "foo.full">
- 1.<Run "strip --strip-debug foo">
- 1.<Run "objcopy --add-gnu-debuglink=foo.full foo">
adică, fișierul indicat de --add-gnu-debuglink poate fi executabilul complet. Nu trebuie să fie un fișier creat de opțiunea --only-keep-debug.
Notă - această opțiune este destinată utilizării numai pentru fișierele complet legate. Nu are sens să fie utilizat în cazul fișierelor obiect, unde informațiile de depanare pot fi incomplete. În plus, caracteristica gnu_debuglink suportă în prezent doar prezența unui singur nume de fișier care conține informații de depanare, nu mai multe nume de fișiere pentru fiecare fișier obiect în parte.
- -V
- --version
- Afișează numărul de versiune pentru strip.
- -v
- --verbose
- Ieșire detaliată: listează toate fișierele obiect modificate. În cazul arhivelor, strip -v enumeră toți membrii arhivei.
- @fișier
- Citește opțiunile liniei de comandă din
fișier. Opțiunile citite sunt inserate în
locul opțiunii originale @fișier. Dacă
fișier nu există sau nu poate fi citit, atunci
opțiunea va fi tratată literal și nu va fi
eliminată.
Opțiunile din fișier sunt separate prin spații albe. Un caracter de spațiere poate fi inclus într-o opțiune prin includerea întregii opțiuni între ghilimele simple sau duble. Orice caracter (inclusiv o bară oblică inversă) poate fi inclus prin prefixarea caracterului care urmează să fie inclus cu o bară oblică inversă. fișier poate conține la rândul său opțiuni @fișier suplimentare; orice astfel de opțiuni vor fi procesate în mod recursiv.
CONSULTAȚI ȘI
intrările Info pentru binutils.
DREPTURI DE AUTOR
Drepturi de autor © 1991-2024 Free Software Foundation, Inc.
Se acordă permisiunea de a copia, distribui și/sau modifica acest document în conformitate cu termenii Licenței GNU Free Documentation, versiunea 1.3 sau orice versiune ulterioară publicată de Free Software Foundation; fără secțiuni invariante, fără texte de copertă și fără texte de contra copertă. O copie a licenței este inclusă în secțiunea intitulată „GNU Free Documentation License”.
TRADUCERE
Traducerea în limba română a acestui manual a fost făcută de Remus-Gabriel Chelu <remusgabriel.chelu@disroot.org>
Această traducere este documentație gratuită; citiți Licența publică generală GNU Versiunea 3 sau o versiune ulterioară cu privire la condiții privind drepturile de autor. NU se asumă NICIO RESPONSABILITATE.
Dacă găsiți erori în traducerea acestui manual, vă rugăm să trimiteți un e-mail la translation-team-ro@lists.sourceforge.net.
5 august 2024 | binutils-2.43.0 |