.\" -*- coding: UTF-8 -*- .de Sp \" Vertical space (when we can't use .PP) .if t .sp .5v .if n .sp .. .\" -*- mode: troff; coding: utf-8 -*- .\" Automatically generated by Pod::Man v6.0.2 (Pod::Simple 3.45) .\" .\" Standard preamble: .\" ======================================================================== .de Vb \" Begin verbatim text .ft CW .nf .ne \\$1 .. .de Ve \" End verbatim text .ft R .fi .. .ie n \{\ . ds C` "" . ds C' "" 'br\} .el\{\ . ds C` . ds C' 'br\} .\" \*(C` and \*(C' are quotes in nroff, nothing in troff, for use with C<>. .ie \n(.g .ds Aq \(aq .el .ds Aq ' .\" .\" Escape single quotes in literal strings from groff's Unicode transform. .de IX .. .\" .\" If the F register is >0, we'll generate index entries on stderr for .\" titles (.TH), headers (.SH), subsections (.SS), items (.Ip), and index .\" entries marked with X<> in POD. Of course, you'll have to process the .\" output yourself in some meaningful fashion. .\" .\" Avoid warning from groff about undefined register 'F'. .nr rF 0 .if \n(.g .if rF .nr rF 1 .if (\n(rF:(\n(.g==0)) \{\ . if \nF \{\ . de IX . tm Index:\\$1\t\\n%\t"\\$2" .. . if !\nF==2 \{\ . nr % 0 . nr F 2 . \} . \} .\} .rr rF .if n .ds AD l .\" .\" Required to disable full justification in groff 1.23.0. .\" ======================================================================== .\" .IX Titlu "OBJCOPY 1" .\"******************************************************************* .\" .\" This file was generated with po4a. Translate the source file. .\" .\"******************************************************************* .TH OBJCOPY 1 "1 mai 2026" binutils\-2.46.0 "Instrumente pentru dezvoltare(programare) GNU" .if n .ad l .\" For nroff, turn off justification. Always turn off hyphenation; it makes .\" way too many mistakes in technical documents. .nh .SH NUME objcopy \- copiază și traduce fișiere obiect .SH SINOPSIS .IX Antet SINOPSIS objcopy [\fB\-F\fP \fInume\-bfd\fP|\fB\-\-target=\fP\fInume\-bfd\fP] [\fB\-I\fP \fInume\-bfd\fP|\fB\-\-input\-target=\fP\fInume\-bfd\fP] [\fB\-O\fP \fInume\-bfd\fP|\fB\-\-output\-target=\fP\fInume\-bfd\fP] [\fB\-B\fP \fIarhitectura\-bfd\fP|\fB\-\-binary\-architecture=\fP\fIarhitectura\-bfd\fP] [\fB\-S\fP|\fB\-\-strip\-all\fP] [\fB\-g\fP|\fB\-\-strip\-debug\fP] [\fB\-\-strip\-unneeded\fP] [\fB\-K\fP \fInume\-simbol\fP|\fB\-\-keep\-symbol=\fP\fInume\-simbol\fP] [\fB\-\-keep\-file\-symbols\fP] [\fB\-\-keep\-section\-symbols\fP] [\fB\-N\fP \fInume\-simbol\fP|\fB\-\-strip\-symbol=\fP\fInume\-simbol\fP] [\fB\-\-strip\-unneeded\-symbol=\fP\fInume\-simbol\fP] [\fB\-G\fP \fInume\-simbol\fP|\fB\-\-keep\-global\-symbol=\fP\fInume\-simbol\fP] [\fB\-\-localize\-hidden\fP] [\fB\-L\fP \fInume\-simbol\fP|\fB\-\-localize\-symbol=\fP\fInume\-simbol\fP] [\fB\-\-globalize\-symbol=\fP\fInume\-simbol\fP] [\fB\-\-globalize\-symbols=\fP\fInume\-fișier\fP] [\fB\-W\fP \fInume\-simbol\fP|\fB\-\-weaken\-symbol=\fP\fInume\-simbol\fP] [\fB\-w\fP|\fB\-\-wildcard\fP] [\fB\-x\fP|\fB\-\-discard\-all\fP] [\fB\-X\fP|\fB\-\-discard\-locals\fP] [\fB\-b\fP \fIoctet\fP|\fB\-\-byte=\fP\fIoctet\fP] [\fB\-i\fP [\fIîntindere\fP]|\fB\-\-interleave\fP[=\fIîntindere\fP]] [\fB\-\-interleave\-width=\fP\fIlățime\fP] [\fB\-j\fP \fImodel\-secțiune\fP|\fB\-\-only\-section=\fP\fImodel\-secțiune\fP] [\fB\-R\fP \fImodel\-secțiune\fP|\fB\-\-remove\-section=\fP\fImodel\-secțiune\fP] [\fB\-\-keep\-section=\fP\fImodel\-secțiune\fP] [\fB\-\-remove\-relocations=\fP\fImodel\-secțiune\fP] [\fB\-\-strip\-section\-headers\fP] [\fB\-p\fP|\fB\-\-preserve\-dates\fP] [\fB\-D\fP|\fB\-\-enable\-deterministic\-archives\fP] [\fB\-U\fP|\fB\-\-disable\-deterministic\-archives\fP] [\fB\-\-debugging\fP] [\fB\-\-gap\-fill=\fP\fIvaloare\fP] [\fB\-\-pad\-to=\fP\fIadresa\fP] [\fB\-\-set\-start=\fP\fIvaloare\fP] [\fB\-\-adjust\-start=\fP\fIincrement\fP] [\fB\-\-change\-addresses=\fP\fIincrement\fP] [\fB\-\-change\-section\-address\fP \fImodel\-secțiune\fP{=,+,\-}\fIvaloare\fP] [\fB\-\-change\-section\-lma\fP \fImodel\-secțiune\fP{=,+,\-}\fIvaloare\fP] [\fB\-\-change\-section\-vma\fP \fImodel\-secțiune\fP{=,+,\-}\fIvaloare\fP] [\fB\-\-change\-warnings\fP] [\fB\-\-no\-change\-warnings\fP] [\fB\-\-set\-section\-flags\fP \fImodel\-secțiune\fP=\fIfanioane\fP] [\fB\-\-set\-section\-alignment\fP \fImodel\-secțiune\fP=\fIalinierea\fP] [\fB\-\-add\-section\fP \fIsectionname\fP=\fInume\-fișier\fP] [\fB\-\-dump\-section\fP \fIsectionname\fP=\fInume\-fișier\fP] [\fB\-\-update\-section\fP \fIsectionname\fP=\fInume\-fișier\fP] [\fB\-\-rename\-section\fP \fInume\-vechi\fP=\fInume\-nou\fP[,\fIfanioane\fP]] [\fB\-\-long\-section\-names\fP {enable,disable,keep}] [\fB\-\-change\-leading\-char\fP] [\fB\-\-remove\-leading\-char\fP] [\fB\-\-reverse\-bytes=\fP\fInumăr\fP] [\fB\-\-srec\-len=\fP\fIvaloare\fP] [\fB\-\-srec\-forceS3\fP] [\fB\-\-redefine\-sym\fP \fIvechi\fP=\fInou\fP] [\fB\-\-redefine\-syms=\fP\fInume\-fișier\fP] [\fB\-\-weaken\fP] [\fB\-\-keep\-symbols=\fP\fInume\-fișier\fP] [\fB\-\-strip\-symbols=\fP\fInume\-fișier\fP] [\fB\-\-strip\-unneeded\-symbols=\fP\fInume\-fișier\fP] [\fB\-\-keep\-global\-symbols=\fP\fInume\-fișier\fP] [\fB\-\-localize\-symbols=\fP\fInume\-fișier\fP] [\fB\-\-weaken\-symbols=\fP\fInume\-fișier\fP] [\fB\-\-binary\-symbol\-prefix\fP\fIstring\fP][\fB\-\-add\-symbol\fP \fInume\fP=[\fIsecțiune\fP:]\fIvaloare\fP[,\fIfanioane\fP]] [\fB\-\-alt\-machine\-code=\fP\fIindice\fP] [\fB\-\-prefix\-symbols=\fP\fIșir\fP] [\fB\-\-prefix\-sections=\fP\fIșir\fP] [\fB\-\-prefix\-alloc\-sections=\fP\fIșir\fP] [\fB\-\-add\-gnu\-debuglink=\fP\fIruta\-către\-fișier\fP] [\fB\-\-only\-keep\-debug\fP] [\fB\-\-strip\-dwo\fP] [\fB\-\-extract\-dwo\fP] [\fB\-\-extract\-symbol\fP] [\fB\-\-writable\-text\fP] [\fB\-\-readonly\-text\fP] [\fB\-\-pure\fP] [\fB\-\-impure\fP] [\fB\-\-file\-alignment=\fP\fInumăr\fP] [\fB\-\-heap=\fP\fIrezervă\fP[,\fIangajată\fP]] [\fB\-\-image\-base=\fP\fIadresa\fP] [\fB\-\-section\-alignment=\fP\fInumăr\fP] [\fB\-\-stack=\fP\fIrezervă\fP[,\fIangajată\fP]] [\fB\-\-subsystem=\fP\fIcare\fP:\fImajor\fP.\fIminor\fP] [\fB\-\-compress\-debug\-sections\fP] [\fB\-\-decompress\-debug\-sections\fP] [\fB\-\-elf\-stt\-common=\fP\fIvaloare\fP] [\fB\-\-merge\-notes\fP] [\fB\-\-no\-merge\-notes\fP] [\fB\-\-verilog\-data\-width=\fP\fIvaloare\fP] [\fB\-v\fP|\fB\-\-verbose\fP] [\fB\-V\fP|\fB\-\-version\fP] [\fB\-\-help\fP] [\fB\-\-info\fP] \fIfișier\-intrare\fP [\fIfișier\-ieșire\fP] .SH DESCRIERE .IX Antet DESCRIERE Instrumentul GNU \fBobjcopy\fP copiază conținutul unui fișier obiect în altul. \fBobjcopy\fP utilizează biblioteca GNU BFD pentru citirea și scrierea fișierelor obiect. Acesta poate scrie fișierul obiect de destinație într\-un format diferit de cel al fișierului obiect sursă. Comportamentul exact al \fBobjcopy\fP este controlat de opțiunile din linia de comandă. Rețineți că \fBobjcopy\fP ar trebui să fie capabil să copieze un fișier complet legat între oricare două formate. Cu toate acestea, copierea unui fișier obiect realocabil între oricare două formate poate să nu funcționeze conform așteptărilor. .PP \&\fBobjcopy\fP creează fișiere temporare pentru efectuarea conversiilor și le șterge după aceea. \fBobjcopy\fP utilizează BFD pentru a\-și efectua toate conversiile; are acces la toate formatele descrise în BFD și, prin urmare, este capabil să recunoască majoritatea formatelor fără a i se spune explicit. .PP \&\fBobjcopy\fP poate fi utilizat pentru a genera S\-records utilizând o țintă de ieșire \fBsrec\fP (de exemplu, utilizați \fB\-O srec\fP). .PP \&\fBobjcopy\fP poate fi utilizat pentru a genera un fișier binar brut utilizând o țintă de ieșire \fBbinary\fP (de exemplu, utilizați \fB\-O binary\fP). Atunci când \&\fBobjcopy\fP generează un fișier binar brut, acesta va produce în esență o descărcare din memorie a conținutului fișierului obiect de intrare. Toate simbolurile și informațiile de relocare vor fi eliminate. Descărcarea din memorie va începe la adresa de încărcare a celei mai mici secțiuni copiate în fișierul de ieșire. .PP La generarea unei înregistrări S sau a unui fișier binar brut, poate fi util să se utilizeze \fB\-S\fP pentru a elimina secțiunile care conțin informații de depanare. În unele cazuri, \fB\-R\fP va fi util pentru a elimina secțiunile care conțin informații care nu sunt necesare pentru fișierul binar. .PP Notă\-\-\-\fBobjcopy\fP nu este capabil să schimbe endianness\-ul fișierelor sale de intrare. Dacă formatul de intrare are un endianness (unele formate nu au), \&\fBobjcopy\fP poate copia intrările numai în formate de fișiere care au același endianness sau care nu au endianness (de exemplu, \fBsrec\fP). (Cu toate acestea, a se vedea opțiunea \fB\-\-reverse\-bytes\fP). .SH OPȚIUNI .IX Antet OPȚIUNI .IP \fIfișier\-intrare\fP 4 .IX Element fișier\-intrare .PD 0 .IP \fIfișier\-ieșire\fP 4 .IX Element fișier\-ieșire .PD Fișierele de intrare și, respectiv, de ieșire. Dacă nu specificați \fIfișier\-ieșire\fP, \fBobjcopy\fP creează un fișier temporar și redenumește distructiv rezultatul cu numele \fIfișier\-intrare\fP. .IP "\fB\-I\fP \fInume\-bfd\fP" 4 .IX Element "\-I nume\-bfd" .PD 0 .IP \fB\-\-input\-target=\fP\fInume\-bfd\fP 4 .IX Element \-\-input\-target=nume\-bfd .PD Consideră că formatul obiect al fișierului sursă este \fInume\-bfd\fP, în loc să încerce să îl deducă. .IP "\fB\-O\fP \fInume\-bfd\fP" 4 .IX Element "\-O nume\-bfd" .PD 0 .IP \fB\-\-output\-target=\fP\fInume\-bfd\fP 4 .IX Element \-\-output\-target=nume\-bfd .PD Scrie fișierul de ieșire utilizând formatul obiectului \fInume\-bfd\fP. .IP "\fB\-F\fP \fInume\-bfd\fP" 4 .IX Element "\-F nume\-bfd" .PD 0 .IP \fB\-\-target=\fP\fInume\-bfd\fP 4 .IX Element \-\-target=nume\-bfd .PD Utilizează \fInume\-bfd\fP ca format obiect atât pentru fișierul de intrare, cât și pentru cel de ieșire; de exemplu, transferă pur și simplu datele de la sursă la destinație fără transformare. .IP "\fB\-B\fP \fIarhitectura\-bfd\fP" 4 .IX Element "\-B arhitectura\-bfd" .PD 0 .IP \fB\-\-binary\-architecture=\fP\fIarhitectura\-bfd\fP 4 .IX Element \-\-binary\-architecture=arhitectura\-bfd .PD Util în cazul transformării unui fișier de intrare fără arhitectură într\-un fișier obiect. În acest caz, arhitectura de ieșire poate fi stabilită la \fIarhitectura\-bfd\fP. Această opțiune va fi ignorată dacă fișierul de intrare are o \fIarhitectură\-bfd\fP cunoscută. Puteți accesa aceste date binare în interiorul unui program făcând referire la simbolurile speciale care sunt create de procesul de conversie. Aceste simboluri se numesc _binary_\fIfișier\-obiect\fP_start, _binary_\fIfișier\-obiect\fP_end și _binary_\fIfișier\-obiect\fP_size. de exemplu, puteți transforma un fișier imagine într\-un fișier obiect și apoi îl puteți accesa în codul dvs. utilizând aceste simboluri. .IP "\fB\-j\fP \fImodel\-secțiune\fP" 4 .IX Element "\-j model\-secțiune" .PD 0 .IP \fB\-\-only\-section=\fP\fImodel\-secțiune\fP 4 .IX Element \-\-only\-section=model\-secțiune .PD Copiază numai secțiunile indicate din fișierul de intrare în fișierul de ieșire. Această opțiune poate fi dată de mai multe ori. Rețineți că utilizarea necorespunzătoare a acestei opțiuni poate face inutilizabil fișierul de ieșire. Caracterele joker sunt acceptate în \fImodel\-secțiune\fP. .Sp Dacă primul caracter din \fImodel\-secțiune\fP este semnul exclamării (!), atunci secțiunile corespunzătoare nu vor fi copiate, chiar dacă utilizarea anterioară a lui \fB\-\-only\-section\fP pe aceeași linie de comandă le\-ar fi copiat. De exemplu: .Sp .Vb 1 \& \-\-only\-section=.text.* \-\-only\-section=!.text.foo .Ve .Sp va copia toate secțiunile care se potrivesc cu „text.*”, dar nu și secțiunea „text.foo”. .IP "\fB\-R\fP \fImodel\-secțiune\fP" 4 .IX Element "\-R model\-secțiune" .PD 0 .IP \fB\-\-remove\-section=\fP\fImodel\-secțiune\fP 4 .IX Element \-\-remove\-section=model\-secțiune .PD Elimină orice secțiune care corespunde \fImodel\-secțiune\fP din fișierul de ieșire. Această opțiune poate fi dată de mai multe ori. Rețineți că utilizarea necorespunzătoare a acestei opțiuni poate face inutilizabil fișierul de ieșire. Caracterele joker sunt acceptate în \fImodel\-secțiune\fP. Utilizarea simultană a opțiunilor \&\fB\-j\fP și \fB\-R\fP duce la un comportament nedefinit. .Sp Dacă primul caracter din \fImodel\-secțiune\fP este semnul exclamării (!), atunci secțiunile corespunzătoare nu vor fi eliminate chiar dacă o utilizare anterioară a \fB\-\-remove\-section\fP pe aceeași linie de comandă ar fi eliminat\-o în caz contrar. De exemplu: .Sp .Vb 1 \& \-\-remove\-section=.text.* \-\-remove\-section=!.text.foo .Ve .Sp va elimina toate secțiunile care corespund modelului \*(Aq.text.*\*(Aq, dar nu va elimina secțiunea \*(Aq.text.foo\*(Aq. .IP \fB\-\-keep\-section=\fP\fImodel\-secțiune\fP 4 .IX Element \-\-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 \&\fImodel\-secțiune\fP. .IP \fB\-\-remove\-relocations=\fP\fImodel\-secțiune\fP 4 .IX Element \-\-remove\-relocations=model\-secțiune Elimină realocările non\-dinamice din fișierul de ieșire pentru orice secțiune care corespunde \fImodel\-secțiune\fP. Această opțiune poate fi dată de mai multe ori. Rețineți că utilizarea necorespunzătoare a acestei opțiuni poate face fișierul de ieșire inutilizabil, iar încercarea de a elimina o secțiune de realocare dinamică precum \fB.rela.plt\fP dintr\-un executabil sau bibliotecă partajată cu \&\fB\-\-remove\-relocations=.plt\fP nu va funcționa. Caracterele joker sunt acceptate în \fImodel\-secțiune\fP. De exemplu: .Sp .Vb 1 \& \-\-remove\-relocations=.text.* .Ve .Sp va elimina realocările pentru toate secțiunile care corespund modelului „&.text.*”. .Sp Dacă primul caracter din \fImodel\-secțiune\fP este semnul exclamării (!), atunci secțiunile care se potrivesc nu vor avea realocările eliminate, chiar dacă o utilizare anterioară a \fB\-\-remove\-relocations\fP pe aceeași linie de comandă ar fi determinat altfel eliminarea realocărilor. De exemplu: .Sp .Vb 1 \& \-\-remove\-relocations=.text.* \-\-remove\-relocations=!.text.foo .Ve .Sp va elimina toate realocările pentru secțiunile care corespund modelului \&\*(Aq.text.*\*(Aq, dar nu va elimina realocările pentru secțiunea \&\*(Aq.text.foo\*(Aq. .IP \fB\-\-strip\-section\-headers\fP 4 .IX Element \-\-strip\-section\-headers Elimină antetul secțiunii. Această opțiune este specifică fișierelor ELF. Implică \fB\-\-strip\-all\fP și \fB\-\-merge\-notes\fP. .IP \fB\-S\fP 4 .IX Element \-S .PD 0 .IP \fB\-\-strip\-all\fP 4 .IX Element \-\-strip\-all .PD Nu copiază informațiile privind realocarea și simbolurile din fișierul sursă. De asemenea, șterge secțiunile de depanare. .IP \fB\-g\fP 4 .IX Element \-g .PD 0 .IP \fB\-\-strip\-debug\fP 4 .IX Element \-\-strip\-debug .PD Nu copiază simboluri sau secțiuni de depanare din fișierul sursă. .IP \fB\-\-strip\-unneeded\fP 4 .IX Element \-\-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 \&\fB\-\-strip\-debug\fP. .IP "\fB\-K\fP \fInume\-simbol\fP" 4 .IX Element "\-K nume\-simbol" .PD 0 .IP \fB\-\-keep\-symbol=\fP\fInume\-simbol\fP 4 .IX Element \-\-keep\-symbol=nume\-simbol .PD La eliminarea simbolurilor, păstrează simbolul \fInume\-simbol\fP chiar dacă în mod normal ar fi eliminat. Această opțiune poate fi dată de mai multe ori. .IP "\fB\-N\fP \fInume\-simbol\fP" 4 .IX Element "\-N nume\-simbol" .PD 0 .IP \fB\-\-strip\-symbol=\fP\fInume\-simbol\fP 4 .IX Element \-\-strip\-symbol=nume\-simbol .PD Nu copiază simbolul \fInume\-simbol\fP din fișierul sursă. Această opțiune poate fi dată de mai multe ori. .IP \fB\-\-strip\-unneeded\-symbol=\fP\fInume\-simbol\fP 4 .IX Element \-\-strip\-unneeded\-symbol=nume\-simbol Nu copiază simbolul \fInume\-simbol\fP din fișierul sursă decât dacă este necesar pentru o realocare. Această opțiune poate fi dată de mai multe ori. .IP "\fB\-G\fP \fInume\-simbol\fP" 4 .IX Element "\-G nume\-simbol" .PD 0 .IP \fB\-\-keep\-global\-symbol=\fP\fInume\-simbol\fP 4 .IX Element \-\-keep\-global\-symbol=nume\-simbol .PD Menține doar simbolul \fIsimbolname\fP global. Face toate celelalte simboluri locale pentru fișier, astfel încât acestea să nu fie vizibile din exterior. Această opțiune poate fi dată de mai multe ori. Notă: această opțiune nu poate fi utilizată împreună cu opțiunile \fB\-\-globalize\-symbol\fP sau \&\fB\-\-globalize\-symbols\fP. .IP \fB\-\-localize\-hidden\fP 4 .IX Element \-\-localize\-hidden Într\-un obiect ELF, marchează toate simbolurile care au vizibilitate ascunsă sau internă ca fiind locale. Această opțiune se aplică în plus față de opțiunile de localizare specifice simbolurilor, cum ar fi \fB\-L\fP. .IP "\fB\-L\fP \fInume\-simbol\fP" 4 .IX Element "\-L nume\-simbol" .PD 0 .IP \fB\-\-localize\-symbol=\fP\fInume\-simbol\fP 4 .IX Element \-\-localize\-symbol=nume\-simbol .PD Convertește un simbol global sau slab numit \fInume\-simbol\fP într\-un simbol local, astfel încât acesta să nu fie vizibil din exterior. Această opțiune poate fi dată de mai multe ori Notă \- simbolurile unice nu sunt convertite. .IP "\fB\-W\fP \fInume\-simbol\fP" 4 .IX Element "\-W nume\-simbol" .PD 0 .IP \fB\-\-weaken\-symbol=\fP\fInume\-simbol\fP 4 .IX Element \-\-weaken\-symbol=nume\-simbol .PD Face simbolul \fInume\-simbol\fP slab. Această opțiune poate fi dată de mai multe ori. .IP \fB\-\-binary\-symbol\-prefix=\fP\fIșir\fP 4 .IX Element \-\-binary\-symbol\-prefix=șir Când este utilizată cu \fB\-\-input\-target=binary\fP, definește \fIșir\fP ca nume de bază pentru simbolurile generate pentru fișierul de intrare. Aceste simboluri sunt: .Sp .Vb 3 \& <șir>_start \& <șir>_end \& <șir>_size .Ve .Sp În mod implicit, gestionarul de intrare binară derivă numele simbolului prefixului dintr\-o versiune modificată a numelui fișierului de intrare și prefixul _binary. Această opțiune permite specificarea explicită a acestuia. .IP \fB\-\-globalize\-symbol=\fP\fInume\-simbol\fP 4 .IX Element \-\-globalize\-symbol=nume\-simbol Oferă simbolului \fInume\-simbol\fP domeniul de aplicare global, astfel încât acesta să fie vizibil în afara fișierului în care este definit. Această opțiune poate fi dată de mai multe ori. Notă: această opțiune nu poate fi utilizată împreună cu opțiunile \fB\-G\fP sau \fB\-\-keep\-global\-symbol\fP. .IP \fB\-w\fP 4 .IX Element \-w .PD 0 .IP \fB\-\-wildcard\fP 4 .IX Element \-\-wildcard .PD Permite expresii regulate în \fInume\-simbol\fPs utilizate în alte opțiuni din linia de comandă. Operatorii semn de întrebare (?), asterisc (*), bara oblică inversă (\e) ș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: .Sp .Vb 1 \& \-w \-W !foo \-W fo* .Ve .Sp va determina \fBobjcopy\fP să slăbească toate simbolurile care încep cu „fo”, cu excepția simbolului „foo”. .IP \fB\-x\fP 4 .IX Element \-x .PD 0 .IP \fB\-\-discard\-all\fP 4 .IX Element \-\-discard\-all .PD Nu copiază simbolurile non\-globale din fișierul sursă. .IP \fB\-X\fP 4 .IX Element \-X .PD 0 .IP \fB\-\-discard\-locals\fP 4 .IX Element \-\-discard\-locals .PD Nu copiază simbolurile locale generate de compilator. (Acestea încep de obicei cu \fBL\fP sau \fB.\fP.) .IP "\fB\-b\fP \fIoctet\fP" 4 .IX Element "\-b octet" .PD 0 .IP \fB\-\-byte=\fP\fIoctet\fP 4 .IX Element \-\-byte=octet .PD Dacă intercalarea a fost activată prin opțiunea \fB\-\-interleave\fP, atunci începe intervalul de octeți de păstrat de la octetul \fIoctet\fP. \&\fIoctet\fP poate fi cuprins între 0 și \fIîntindere\fP\-1, unde \&\fIîntindere\fP este valoarea dată de opțiunea \fB\-\-interleave\fP. .IP "\fB\-i [\fP\fIîntindere\fP\fB]\fP" 4 .IX Element "\-i [întindere]" .PD 0 .IP \fB\-\-interleave[=\fP\fIîntindere\fP\fB]\fP 4 .IX Element \-\-interleave[=întindere] .PD Copiază doar un interval din fiecare \fIîntindere\fP octeți. (Datele de antet nu sunt afectate). Selectează octetul din interval care începe copierea cu opțiunea \fB\-\-byte\fP. Selectează lățimea intervalului cu opțiunea \&\fB\-\-interleave\-width\fP. .Sp Această opțiune este utilă pentru crearea de fișiere pentru programul ROM. Este utilizată de obicei cu o țintă de ieșire \f(CW\*(C`srec\*(C'\fP. Rețineți că \&\fBobjcopy\fP se va plânge dacă nu specificați și opțiunea \&\fB\-\-byte\fP. .Sp Întinderea implicită de intercalare este de 4, deci cu \fB\-\-byte\fP stabilită la 0, \&\fBobjcopy\fP ar copia primul octet din fiecare patru octeți de la intrare, la ieșire. .IP \fB\-\-interleave\-width=\fP\fIlățime\fP 4 .IX Element \-\-interleave\-width=lățime Atunci când se utilizează cu opțiunea \fB\-\-interleave\fP, se copiază \fIlățime\fP octeți la un moment dat. Începutul intervalului de octeți de copiat este stabilit de opțiunea \fB\-\-byte\fP, iar întinderea intervalului este stabilită cu opțiunea \fB\-\-interleave\fP. .Sp Valoarea implicită pentru această opțiune este 1. Valoarea \fIlățime\fP plus valoarea \fIoctet\fP stabilită prin opțiunea \fB\-\-octet\fP nu trebuie să depășească întinderea de intercalare stabilită prin opțiunea \fB\-\-interleave\fP. .Sp Această opțiune poate fi utilizată pentru a crea imagini pentru două clișee de 16 biți intercalate într\-\-o magistrală de 32 de biți trecând \fB\-b 0 \-i 4 \-\-interleave\-width=2\fP și \fB\-b 2 \-i 4 \-\-interleave\-width=2\fP la două comenzi \fBobjcopy\fP. Dacă intrarea a fost „12345678”, atunci ieșirile vor fi „1256” și, respectiv, „3478”. .IP \fB\-p\fP 4 .IX Element \-p .PD 0 .IP \fB\-\-preserve\-dates\fP 4 .IX Element \-\-preserve\-dates .PD Stabilește ca datele de acces și de modificare ale fișierului de ieșire să fie aceleași cu cele ale fișierului de intrare. .Sp Această opțiune copiază, de asemenea, data stocată în antetul unui fișier format PE, cu excepția cazului în care este definită variabila de mediu SOURCE_DATE_EPOCH. Dacă este definită, atunci această variabilă va fi utilizată ca dată stocată în antet, interpretată ca număr de secunde de la epoca Unix. .IP \fB\-D\fP 4 .IX Element \-D .PD 0 .IP \fB\-\-enable\-deterministic\-archives\fP 4 .IX Element \-\-enable\-deterministic\-archives .PD Funcționează în modul \fIdeterminist\fP. 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. .Sp Dacă \fIbinutils\fP a fost configurat cu \&\fB\-\-enable\-deterministic\-archives\fP, atunci acest mod este activat în mod implicit. Acesta poate fi dezactivat cu opțiunea \fB\-U\fP, de mai jos. .IP \fB\-U\fP 4 .IX Element \-U .PD 0 .IP \fB\-\-disable\-deterministic\-archives\fP 4 .IX Element \-\-disable\-deterministic\-archives .PD \fINu\fP funcționează în modul \fIdeterminist\fP. Aceasta este inversa opțiunii \fB\-D\fP, 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. .Sp Aceasta este valoarea implicită, cu excepția cazului în care \fIbinutils\fP a fost configurat cu \&\fB\-\-enable\-deterministic\-archives\fP. .IP \fB\-\-debugging\fP 4 .IX Element \-\-debugging Convertește informațiile de depanare, dacă este posibil. Aceasta nu este opțiunea implicită, deoarece sunt acceptate numai anumite formate de depanare, iar procesul de conversie poate dura mult. .IP "\fB\-\-gap\-fill\fP \fIvaloare\fP" 4 .IX Element "\-\-gap\-fill valoare" Umple golurile dintre secțiuni cu \fIvaloare\fP. Această operație se aplică la \fIadresa de încărcare\fP (LMA) a secțiunilor. Se realizează prin creșterea dimensiunii secțiunii cu adresa inferioară și umplerea spațiului suplimentar creat cu \fIvaloare\fP. .IP "\fB\-\-pad\-to\fP \fIadresa\fP" 4 .IX Element "\-\-pad\-to adresa" Completează fișierul de ieșire până la adresa de încărcare \fIadresa\fP. Acest lucru se realizează prin creșterea dimensiunii ultimei secțiuni. Spațiul suplimentar este umplut cu valoarea specificată de \fB\-\-gap\-fill\fP (implicit zero). .IP "\fB\-\-set\-start\fP \fIvaloare\fP" 4 .IX Element "\-\-set\-start valoare" Stabilește adresa de început (cunoscută și ca adresa de intrare) a noului fișier la \fIvaloare\fP. Nu toate formatele de fișiere obiect acceptă definirea adresei de început. .IP "\fB\-\-change\-start\fP \fIincrement\fP" 4 .IX Element "\-\-change\-start increment" .PD 0 .IP "\fB\-\-adjust\-start\fP \fIincrement\fP" 4 .IX Element "\-\-adjust\-start increment" .PD Schimbă adresa de pornire (cunoscută și ca adresa de intrare) prin adăugarea \&\fIincrement\fP. Nu toate formatele de fișiere obiect acceptă definirea adresei de început. .IP "\fB\-\-change\-addresses\fP \fIincrement\fP" 4 .IX Element "\-\-change\-addresses increment" .PD 0 .IP "\fB\-\-adjust\-vma\fP \fIincrement\fP" 4 .IX Element "\-\-adjust\-vma increment" .PD Schimbă adresele VMA și LMA ale tuturor secțiunilor, precum și adresa de început, adăugând \fIincrement\fP. Unele formate de fișiere obiect nu permit schimbarea arbitrară a adreselor secțiunilor. Rețineți că această opțiune nu realocă secțiunile; dacă programul se așteaptă ca secțiunile să fie încărcate la o anumită adresă, iar această opțiune este utilizată pentru a schimba secțiunile astfel încât acestea să fie încărcate la o adresă diferită, programul poate eșua. .IP "\fB\-\-change\-section\-address\fP \fImodel\-secțiune\fP\fB{=,+,\-}\fP\fIvaloare\fP" 4 .IX Element "\-\-change\-section\-address model\-secțiune{=,+,\-}valoare" .PD 0 .IP "\fB\-\-adjust\-section\-vma\fP \fImodel\-secțiune\fP\fB{=,+,\-}\fP\fIvaloare\fP" 4 .IX Element "\-\-adjust\-section\-vma model\-secțiune{=,+,\-}valoare" .PD Stabilește sau modifică atât adresa VMA, cât și adresa LMA a oricărei secțiuni care corespunde \fImodel\-secțiune\fP. Dacă se utilizează \fB=\fP, adresa secțiunii este stabilită la \fIvaloare\fP. În caz contrar, \fIvaloare\fP este adăugată sau scăzută din adresa secțiunii. A se vedea comentariile de la \&\fB\-\-change\-addresses\fP, de mai sus. Dacă \fImodel\-secțiune\fP nu se potrivește cu nicio secțiune din fișierul de intrare, va fi emis un avertisment, cu excepția cazului în care se utilizează opțiunea \&\fB\-\-no\-change\-warnings\fP. .IP "\fB\-\-change\-section\-lma\fP \fImodel\-secțiune\fP\fB{=,+,\-}\fP\fIvaloare\fP" 4 .IX Element "\-\-change\-section\-lma model\-secțiune{=,+,\-}valoare" Stabilește sau modifică adresa LMA a oricărei secțiuni care corespunde \&\fImodel\-secțiune\fP. Adresa LMA este adresa la care secțiunea va fi încărcată în memorie în momentul încărcării programului. În mod normal, aceasta este aceeași cu adresa VMA, care este adresa secțiunii la momentul rulării programului, dar pe unele sisteme, în special pe cele în care programul este păstrat în ROM, cele două pot fi diferite. Dacă se utilizează \fB=\fP, adresa secțiunii este stabilită la \fIvaloare\fP. În caz contrar, \&\fIvaloarea\fP este adăugată sau scăzută din adresa secțiunii. A se vedea comentariile de la \fB\-\-change\-addresses\fP, de mai sus. Dacă \&\fImodel\-secțiune\fP nu se potrivește cu nicio secțiune din fișierul de intrare, va fi emis un avertisment, cu excepția cazului în care se utilizează opțiunea \fB\-\-no\-change\-warnings\fP. .IP "\fB\-\-change\-section\-vma\fP \fImodel\-secțiune\fP\fB{=,+,\-}\fP\fIvaloare\fP" 4 .IX Element "\-\-change\-section\-vma model\-secțiune{=,+,\-}valoare" Definește sau modifică adresa VMA a oricărei secțiuni care corespunde \&\fImodel\-secțiune\fP. Adresa VMA este adresa la care va fi localizată secțiunea odată ce programul a început execuția. În mod normal, aceasta este aceeași cu adresa LMA, care este adresa la care secțiunea va fi încărcată în memorie, dar pe unele sisteme, în special pe cele în care un program este păstrat în ROM, cele două pot fi diferite. Dacă se utilizează \fB=\fP, adresa secțiunii este stabilită la \fIvaloare\fP. În caz contrar, \fIvaloare\fP este adăugată sau scăzută din adresa secțiunii. A se vedea comentariile de la opțiunea \fB\-\-change\-addresses\fP, de mai sus. Dacă \fImodel\-secțiune\fP nu se potrivește cu nicio secțiune din fișierul de intrare, va fi emis un avertisment, cu excepția cazului în care se utilizează opțiunea \&\fB\-\-no\-change\-warnings\fP. .Sp Notă \- modificarea VMA a secțiunilor într\-un binar complet legat poate fi periculoasă, deoarece poate exista cod care se așteaptă ca secțiunile să fie localizate la vechea lor adresă. .IP \fB\-\-change\-warnings\fP 4 .IX Element \-\-change\-warnings .PD 0 .IP \fB\-\-adjust\-warnings\fP 4 .IX Element \-\-adjust\-warnings .PD Dacă se utilizează \fB\-\-change\-section\-address\fP sau \fB\-\-change\-section\-lma\fP sau \&\fB\-\-change\-section\-vma\fP, iar modelul de secțiune nu corespunde niciunei secțiuni, se emite un avertisment. Aceasta este valoarea implicită. .IP \fB\-\-no\-change\-warnings\fP 4 .IX Element \-\-no\-change\-warnings .PD 0 .IP \fB\-\-no\-adjust\-warnings\fP 4 .IX Element \-\-no\-adjust\-warnings .PD Nu emite un avertisment dacă se utilizează \fB\-\-change\-section\-address\fP sau \&\fB\-\-adjust\-section\-lma\fP sau \fB\-\-adjust\-section\-vma\fP, chiar dacă modelul de secțiune nu corespunde niciunei secțiuni. .IP "\fB\-\-set\-section\-flags\fP \fImodel\-secțiune\fP\fB=\fP\fIfanioane\fP" 4 .IX Element "\-\-set\-section\-flags model\-secțiune=fanioane" Stabilește fanioanele pentru toate secțiunile care se potrivesc cu \fImodel\-secțiune\fP. Argumentul \&\fIfanioane\fP este un șir de nume de fanioane separate prin virgule. Numele recunoscute sunt \fBalloc\fP, \fBcontents\fP, \fBload\fP, \fBnoload\fP, \fBreadonly\fP, \fBcode\fP, \fBdata\fP, \fBrom\fP, \fBexclude\fP, \fBshare\fP, \fBdebug\fP și \fBlarge\fP. Puteți defini fanionul \fBcontents\fP pentru o secțiune care nu are conținut, dar nu are sens să ștergeți fanionul \fBcontents\fP al unei secțiuni care are conținut \- eliminați secțiunea în schimb. Nu toate fanioanele sunt semnificative pentru toate formatele de fișiere obiect. În special, fanionul \&\fBshare\fP este valabil numai pentru fișierele în format COFF și nu pentru fișierele în format ELF. Fanionul specific ELF x86\-64 \fBlarge\fP corespunde cu SHF_X86_64_LARGE. .IP "\fB\-\-set\-section\-alignment\fP \fImodel\-secțiune\fP\fB=\fP\fIalinierea\fP" 4 .IX Element "\-\-set\-section\-alignment model\-secțiune=alinierea" Stabilește alinierea pentru toate secțiunile care corespund \fImodel\-secțiune\fP. \&\fIalinierea\fP specifică alinierea în octeți și trebuie să fie o putere de doi, adică 1, 2, 4, 8.... .Sp Notă \- definirea alinierii unei secțiuni nu va alinia automat adresele sale LMA sau VMA. Dacă și acestea trebuie modificate, atunci trebuie utilizate opțiunile \&\fB\-\-change\-section\-lma\fP și/sau \fB\-\-change\-section\-vma\fP. De asemenea, rețineți că schimbarea VMA poate cauza probleme în binarele complet legate, unde poate exista cod care se așteaptă ca conținutul secțiunilor să fie localizat la vechea lor adresă. .IP "\fB\-\-add\-section\fP \fImodel\-secțiune\fP\fB=\fP\fInume\-fișier\fP" 4 .IX Element "\-\-add\-section nume\-secțiune=nume\-fișier" Adaugă o nouă secțiune numită \fInume\-secțiune\fP în timp ce copiază fișierul. Conținutul noii secțiuni este preluat din fișierul \fInume\-fișier\fP. Dimensiunea secțiunii va fi egală cu dimensiunea fișierului. Această opțiune funcționează numai pe formate de fișier care pot suporta secțiuni cu nume arbitrare. Notă \- este posibil să fie necesară utilizarea opțiunii \fB\-\-set\-section\-flags\fP pentru a defini atributele secțiunii nou create. .IP "\fB\-\-dump\-section\fP \fInume\-secțiune\fP\fB=\fP\fInume\-fișier\fP" 4 .IX Element "\-\-dump\-section nume\-secțiune=nume\-fișier" Plasează conținutul secțiunii numite \fInume\-secțiune\fP în fișierul \&\fInume\-fișier\fP, suprascriind orice conținut care ar fi putut fi acolo anterior. Această opțiune este inversă față de \fB\-\-add\-section\fP. Această opțiune este similară opțiunii \fB\-\-only\-section\fP, cu excepția faptului că nu creează un fișier formatat, ci doar descarcă conținutul ca date binare brute, fără a aplica nicio realocare. Opțiunea poate fi specificată de mai multe ori. .IP "\fB\-\-update\-section\fP \fInume\-secțiune\fP\fB=\fP\fInume\-fișier\fP" 4 .IX Element "\-\-update\-section nume\-secțiune=nume\-fișier" Înlocuiește conținutul existent al unei secțiuni numită \fInume\-secțiune\fP cu conținutul fișierului \fInume\-fișier\fP. Dimensiunea secțiunii va fi ajustată la dimensiunea fișierului. Fanioanele secțiunii pentru \fInume\-secțiune\fP vor rămâne neschimbate. Pentru fișierele în format ELF, corespondența dintre secțiune și segment va rămâne, de asemenea, neschimbată, ceea ce nu este posibil folosind \fB\-\-remove\-section\fP urmată de \fB\-\-add\-section\fP. Opțiunea poate fi specificată de mai multe ori. .Sp Notă \- este posibil să utilizați \fB\-\-rename\-section\fP și \&\fB\-\-update\-section\fP pentru a actualiza și redenumi o secțiune de pe aceeași linie de comandă. În acest caz, treceți numele original al secțiunii la \&\fB\-\-update\-section\fP, iar numele original și cel nou al secțiunii la \&\fB\-\-rename\-section\fP. .IP "\fB\-\-add\-symbol\fP \fInume\fP\fB=[\fP\fIsecțiune\fP\fB:]\fP\fIvaloare\fP\fB[,\fP\fIfanioane\fP\fB]\fP" 4 .IX Element "\-\-add\-symbol nume=[secțiune:]valoare[,anioane]" Adaugă un nou simbol numit \fInume\fP în timpul copierii fișierului. Această opțiune poate fi specificată de mai multe ori. Dacă se indică \fIsecțiunea\fP, simbolul va fi asociat cu secțiunea respectivă și va fi relativ la aceasta, altfel va fi un simbol ABS. Specificarea unei secțiuni nedefinite va duc la o eroare fatală. Nu există nicio verificare a valorii, aceasta va fi luată așa cum a fost specificată. Se pot specifica fanioane de simbol și nu toate fanioanele vor fi semnificative pentru toate formatele de fișiere obiect. În mod implicit, simbolul va fi global. Fanionul special „before=\fIalt\-simbol\fP” va introduce noul simbol în fața simbolului \fIalt\-simbol\fP specificat, în caz contrar simbolul (simbolurile) vor fi adăugate la sfârșitul tabelului de simboluri în ordinea în care apar. .IP "\fB\-\-rename\-section\fP \fInume\-vechi\fP\fB=\fP\fInume\-nou\fP\fB[,\fP\fIfanioane\fP\fB]\fP" 4 .IX Element "\-\-rename\-section nume\-vechi=nume\-nou[,fanioane]" Redenumește o secțiune din \fInume\-vechi\fP în \fInume\-nou\fP, schimbând opțional fanioanele secțiunii în \fIfanioane\fP în acest proces. Această opțiune are avantajul că, față de utilizarea unui script editor de legături pentru a efectua redenumirea, rezultatul rămâne un fișier obiect și nu devine un executabil legat. Această opțiune acceptă același set de fanioane ca și opțiunea \fB\-\-set\-section\-flags\fP. .Sp Această opțiune este deosebit de utilă atunci când formatul de intrare este binar, deoarece aceasta va crea întotdeauna o secțiune numită .data. Dacă, de exemplu, doriți în schimb să creați o secțiune numită .rodata care să conțină date binare, puteți utiliza următoarea linie de comandă pentru a realiza acest lucru: .Sp .Vb 3 \& objcopy \-I binary \-O \-B \e \& \-\-rename\-section .data=.rodata,alloc,load,readonly,data,contents \e \& . .PP Această traducere este documentație gratuită; citiți .UR https://www.gnu.org/licenses/gpl-3.0.html Licența publică generală GNU Versiunea 3 .UE sau o versiune ulterioară cu privire la condiții privind drepturile de autor. NU se asumă NICIO RESPONSABILITATE. .PP Dacă găsiți erori în traducerea acestui manual, vă rugăm să trimiteți un e-mail la .MT translation-team-ro@lists.sourceforge.net .ME .