STRIP(1) Instrumente pentru dezvoltare(programare) GNU STRIP(1) NUME strip - inlatura simbolurile i alte date din fiierele 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-seciune |--remove-section=nume-seciune] [--keep-section=model-seciune] [--remove-relocations=model-seciune] [--strip-section-headers] [-o fiier] [-p|--preserve-dates] [-D|--enable-deterministic-archives] [-U|--disable-deterministic-archives] [--keep-section-symbols] [--keep-file-symbols] [--only-keep-debug] [--plugin nume] [-v |--verbose] [-V|--version] [--help] [--info] fiier-obiect... DESCRIERE GNU strip elimina toate simbolurile din fiierele obiect objfile. Lista de fiiere obiect poate include arhive. Trebuie indicat cel puin un fiier obiect. strip modifica fiierele menionate in argumentul sau, in loc sa scrie copii modificate sub nume diferite. OPIUNI -F nume-bfd --target=nume-bfd Trateaza fiierul original fiier-obiect ca pe un fiier cu formatul de cod obiect nume-bfd i il rescrie in acelai format. --help Afieaza un rezumat al opiunilor pentru strip i iese. --info Afieaza o lista cu toate arhitecturile i formatele de obiecte disponibile. -I nume-bfd --input-target=nume-bfd Trateaza fiierul original fiier-obiect ca pe un fiier cu formatul de cod obiect nume-bfd. -O nume-bfd --output-target=nume-bfd Inlocuiete fiierul-obiect cu un fiier in formatul de ieire nume-bfd. -R nume-seciune --remove-section=nume-seciune Elimina orice seciune numita nume-seciune din fiierul de ieire, in plus faa de orice seciune care ar fi fost eliminata altfel. Aceasta opiune poate fi data de mai multe ori. Reinei ca utilizarea necorespunzatoare a acestei opiuni poate face ca fiierul de ieire sa nu mai poata fi utilizat. Caracterul Joker * poate fi introdus la sfaritul lui nume-seciune. In acest caz, orice seciune care incepe cu nume-seciune va fi eliminata. Daca primul caracter din model-seciune este semnul exclamarii (!), atunci seciunile corespunzatoare nu vor fi eliminate chiar daca o utilizare anterioara a --remove-section pe aceeai linie de comanda ar fi eliminat-o in caz contrar. De exemplu: --remove-section=.text.* --remove-section=!.text.foo va elimina toate seciunile care corespund modelului '.text.*', dar nu va elimina seciunea '.text.foo'. --keep-section=model-seciune Atunci cand se elimina seciuni din fiierul de ieire, pastreaza seciunile care se potrivesc cu model-seciune. --remove-relocations=model-seciune Elimina realocarile din fiierul de ieire pentru orice seciune care se potrivete cu model-seciune. Aceasta opiune poate fi data de mai multe ori. Reinei ca utilizarea necorespunzatoare a acestei opiuni poate face ca fiierul de ieire sa nu mai poata fi utilizat. Caracterele joker sunt acceptate in model-seciune. De exemplu: --remove-relocations=.text.* va elimina realocarile pentru toate seciunile care se potrivesc cu modelul '.text.*'. Daca primul caracter din model-seciune este semnul exclamarii (!), atunci seciunile care se potrivesc nu vor avea realocarile eliminate, chiar daca o utilizare anterioara a --remove-relocations pe aceeai linie de comanda ar fi determinat altfel eliminarea realocarilor. De exemplu: --remove-relocations=.text.* --remove-relocations=!.text.foo va elimina toate realocarile pentru seciunile care corespund modelului '.text.*', dar nu va elimina realocarile pentru seciunea '.text.foo'. --strip-section-headers Indeparteaza anteturile de seciune. Aceasta opiune este specifica pentru fiierele ELF. Implica --strip-all i --merge-notes. -s --strip-all Elimina toate simbolurile. -g -S -d --strip-debug Elimina doar simbolurile de depanare. --strip-dwo Elimina coninutul tuturor seciunilor DWARF .dwo, lasand seciunile de depanare ramase i toate simbolurile intacte. Pentru mai multe informaii, consultai descrierea acestei opiuni in seciunea objcopy. --strip-unneeded Elimina toate simbolurile care nu sunt necesare pentru procesarea realocarii, in plus faa de simbolurile de depanare i seciunile eliminate de --strip-debug. -K nume-simbol --keep-symbol=nume-simbol La eliminarea simbolurilor, pastreaza simbolul nume-simbol chiar daca in mod normal ar fi eliminat. Aceasta opiune poate fi data de mai multe ori. -M --merge-notes --no-merge-notes In cazul fiierelor ELF, incearca (sau nu incearca) sa reduca dimensiunea oricarei seciuni de tip SHT_NOTE prin eliminarea notelor duplicate. Valoarea implicita este de a incerca aceasta reducere daca nu se elimina informaiile de depanare sau DWO. -N nume-simbol --strip-symbol=nume-simbol Elimina simbolul nume-simbol din fiierul sursa. Aceasta opiune poate fi data de mai multe ori i poate fi combinata cu alte opiuni pentru eliminare decat -K. -o fiier Pune rezultatul eliminat in fiier, in loc sa inlocuiasca fiierul existent. Atunci cand se utilizeaza acest argument, se poate specifica un singur argument fiier-obiect. -p --preserve-dates Pastreaza datele (data-ora) de acces i de modificare a fiierului. -D --enable-deterministic-archives Funcioneaza in modul determinist. La copierea membrilor arhivei i la scrierea indexului arhivei, se utilizeaza zero pentru UID-uri, GID-uri, marcaje de timp i se utilizeaza moduri de fiier coerente pentru toate fiierele. Daca binutils a fost configurat cu --enable-deterministic-archives, atunci acest mod este activat in mod implicit. Acesta poate fi dezactivat cu opiunea -U, de mai jos. -U --disable-deterministic-archives Nu funcioneaza in modul determinist. Aceasta este inversa opiunii -D, de mai sus: atunci cand copiaza membrii arhivei i scrie indexul arhivei, utilizeaza valorile lor reale UID, GID, marcaj de timp i modul de fiier. Aceasta este valoarea implicita, cu excepia cazului in care binutils a fost configurat cu --enable-deterministic-archives. -w --wildcard Permite expresii regulate in nume-simbols utilizate in alte opiuni din linia de comanda. Operatorii semn de intrebare (?), asterisc (*), bara oblica inversa (\) i parantezele drepte ([]) pot fi utilizate oriunde in numele simbolului. Daca primul caracter din numele simbolului este semnul exclamarii (!), atunci sensul opiunii este inversat pentru acel simbol. De exemplu: -w -K !foo -K fo* va face ca <> sa pastreze doar simbolurile care incep cu literele ,,fo", dar sa elimine simbolul ,,foo". -x --discard-all Elimina simbolurile care nu sunt globale. -X --discard-locals Elimina simbolurile locale generate de compilator; (acestea incep de obicei cu L sau .). --keep-section-symbols Atunci cand se elimina un fiier, poate cu --strip-debug sau --strip-unneeded, pastreaza toate simbolurile care specifica nume de seciuni, care altfel ar fi eliminate. --keep-file-symbols Atunci cand se elimina un fiier, poate cu --strip-debug sau --strip-unneeded, pastreaza toate simbolurile care specifica nume de fiiere sursa, care altfel ar fi eliminate. --only-keep-debug Golete un fiier, golind coninutul tuturor seciunilor care nu ar fi golite de --strip-debug si lasand intacte seciunile de depanare. In cazul fiierelor ELF, acest lucru pastreaza toate seciunile de note i in fiierul de ieire. Nota - antetele seciunilor eliminate sunt pastrate, inclusiv dimensiunile lor, dar coninutul seciunii este eliminat. Antetele seciunilor sunt pastrate pentru ca alte instrumente sa poata compara fiierul de depanare cu executabilul real, chiar daca acesta a fost realocat intr-un spaiu de adrese diferit. Intenia este ca aceasta opiune sa fie utilizata impreuna cu --add-gnu-debuglink pentru a crea un executabil din doua pari. Unul este un fiier binar curaat, care va ocupa mai puin spaiu in RAM i in distribuie, iar al doilea este un fiier de informaii de depanare, care este necesar doar daca sunt necesare abilitai de depanare. Procedura sugerata pentru a crea aceste fiiere este urmatoarea: 1. Leaga executabilul in mod normal. Presupunand ca acesta este numit "foo" apoi.. 2. Rulai "objcopy --only-keep-debug foo foo.dbg" pentru a crea un fiier care conine informaiile de depanare. 3. Rulai "strip --strip-debug foo" pentru a crea un executabil simplificat. 4. Rulai "objcopy --add-gnu-debuglink=foo.dbg foo" pentru a adauga o legatura catre informaiile de depanare in executabilul curaat. Nota - alegerea ,,.dbg" ca extensie pentru fiierul de informaii de depanare este arbitrara. De asemenea, pasul ,,--only-keep-debug" este opional. In schimb, ai putea face aa: 1. Leaga executabilul in mod normal. 2. Copiaza "foo" la "foo.full". 3. Rulai "strip --strip-debug foo". 4. Rulai "objcopy --add-gnu-debuglink=foo.full foo". adica, fiierul indicat de --add-gnu-debuglink poate fi executabilul complet. Nu trebuie sa fie un fiier creat de opiunea --only-keep-debug. Nota - aceasta opiune este destinata utilizarii numai pentru fiierele complet legate. Nu are sens sa fie utilizat in cazul fiierelor obiect, unde informaiile de depanare pot fi incomplete. In plus, caracteristica gnu_debuglink suporta in prezent doar prezena unui singur nume de fiier care conine informaii de depanare, nu mai multe nume de fiiere pentru fiecare fiier obiect in parte. --plugin nume Incarca modulul numit nume pentru a adauga suport pentru alte tipuri de inte. Aceasta opiune este disponibila numai daca setul de instrumente a fost construit cu suportul pentru module activat. Daca opiunea --plugin nu este furnizata, dar suportul pentru module a fost activat, atunci strip parcurge fiierele din ${libdir}/bfd-plugins in ordine alfabetica i se utilizeaza primul modul de extensie care revendica obiectul in cauza. Va rugam sa reinei ca acest director de cautare de module nu este cel folosit de opiunea -plugin a ld. Pentru ca strip sa utilizeze modulul editorului de legaturi, acesta trebuie copiat in directorul ${libdir}/bfd-plugins. Pentru compilaiile bazate pe GCC, modulul editorului de legaturi se numete liblto_plugin.so.0.0.0.0. Pentru compilaiile bazate pe Clang, acesta se numete LLVMgold.so. Modulul GCC este intotdeauna compatibil cu versiunile anterioare, astfel incat este suficient sa se copieze doar cel mai nou. -V --version Afieaza numarul de versiune pentru strip. -v --verbose Ieire detaliata: listeaza toate fiierele obiect modificate. In cazul arhivelor, strip -v enumera toi membrii arhivei. @fiier Citete opiunile liniei de comanda din fiier. Opiunile citite sunt inserate in locul opiunii originale @fiier. Daca fiier nu exista sau nu poate fi citit, atunci opiunea va fi tratata literal i nu va fi eliminata. Opiunile din fiier sunt separate prin spaii albe. Un caracter de spaiere poate fi inclus intr-o opiune prin includerea intregii opiuni intre ghilimele simple sau duble. Orice caracter (inclusiv o bara oblica inversa) poate fi inclus prin prefixarea caracterului care urmeaza sa fie inclus cu o bara oblica inversa. fiier poate conine la randul sau opiuni @fiier suplimentare; orice astfel de opiuni vor fi procesate in mod recursiv. CONSULTAI I intrarile Info pentru binutils. DREPTURI DE AUTOR Drepturi de autor (C) 1991-2026 Free Software Foundation, Inc. Se acorda permisiunea de a copia, distribui i/sau modifica acest document in conformitate cu termenii Licenei GNU Free Documentation, versiunea 1.3 sau orice versiune ulterioara publicata de Free Software Foundation; fara seciuni invariante, fara texte de coperta i fara texte de contra coperta. O copie a licenei este inclusa in seciunea intitulata ,,GNU Free Documentation License". TRADUCERE Traducerea in limba romana a acestui manual a fost facuta de Remus- Gabriel Chelu Aceasta traducere este documentaie gratuita; citii Licena publica generala GNU Versiunea 3 sau o versiune ulterioara cu privire la condiii privind drepturile de autor. NU se asuma NICIO RESPONSABILITATE. Daca gasii erori in traducerea acestui manual, va rugam sa trimitei un e-mail la . binutils-2.46.0 1 mai 2026 STRIP(1)