EnglezăFrancezăGermanăItalianăportughezăRusăSpaniolă

Favicon OnWorks

mips64-linux-gnuabi64-objcopy - Online în cloud

Rulați mips64-linux-gnuabi64-objcopy în furnizorul de găzduire gratuit OnWorks prin Ubuntu Online, Fedora Online, emulator online Windows sau emulator online MAC OS

Aceasta este comanda mips64-linux-gnuabi64-objcopy care poate fi rulată în furnizorul de găzduire gratuit OnWorks folosind una dintre multiplele noastre stații de lucru online gratuite, cum ar fi Ubuntu Online, Fedora Online, emulator online Windows sau emulator online MAC OS

PROGRAM:

NUME


objcopy - copiați și traduceți fișierele obiect

REZUMAT


objcopy [-F bfdname|--tinta=bfdname]
[-I bfdname|--input-target=bfdname]
[-O bfdname|--output-target=bfdname]
[-B bfdarch|--binary-architecture=bfdarch]
[-S|--despui-toate]
[-g|--strip-debug]
[-K nume simbol|--ţine-simbol=nume simbol]
[-N nume simbol|--banda-simbol=nume simbol]
[--strip-unneeded-simbol=nume simbol]
[-G nume simbol|--keep-global-simbol=nume simbol]
[--localize-hidden]
[-L nume simbol|--localize-simbol=nume simbol]
[--globalize-simbol=nume simbol]
[-W nume simbol|--slăbire-simbol=nume simbol]
[-w|--wildcard]
[-x|--aruncă-toate]
[-X|--aruncă-localnici]
[-b octet|--byte=octet]
[-i [lăţime]|--intercalare[=lăţime]]
[--interleave-width=lățime]
[-j model de secțiune|--only-section=model de secțiune]
[-R model de secțiune|--remove-section=model de secțiune]
[-p|--conserva-date]
[-D|--activare-arhive-deterministe]
[-U|--disable-deterministe-arhive]
[--depanare]
[--gap-fill=val]
[--pad-to=adresa]
[--set-start=val]
[--adjust-start=incr]
[--change-addresses=incr]
[--schimbați-adresa-secțiunii model de secțiune{=,+,-}val]
[--change-section-lma model de secțiune{=,+,-}val]
[--change-section-vma model de secțiune{=,+,-}val]
[--avertismente de schimbare] [--no-change-warnings]
[--set-section-flags model de secțiune=steaguri]
[--adăugați-secțiune nume secțiune=nume de fișier]
[--sectiune-de-poda nume secțiune=nume de fișier]
[--secțiunea-actualizare nume secțiune=nume de fișier]
[--redenumiți-secțiunea vechi nume=nume nou[,steaguri]]
[--nume-secțiuni-lungi {activare, dezactivare, păstrare}]
[--change-leading-char] [--remove-leading-char]
[--reverse-bytes=o]
[--srec-len=ival] [--srec-forceS3]
[--redefinire-sym vechi=nou]
[--redefine-syms=nume de fișier]
[--slăbi]
[--ţine-simboluri=nume de fișier]
[--strip-simboluri=nume de fișier]
[--strip-unneeded-simbols=nume de fișier]
[--keep-global-symbols=nume de fișier]
[--localize-simbols=nume de fișier]
[--globalize-simbols=nume de fișier]
[--slăbiți-simboluri=nume de fișier]
[--adăugați-simbol nume=[secțiune:]valoare[,steaguri]
[--alt-machine-code=index]
[--prefix-simboluri=şir]
[--prefix-sections=şir]
[--prefix-alloc-sections=şir]
[--add-gnu-debuglink=cale-la-fișier]
[--keep-file-simbols]
[--only-keep-debug]
[--strip-dwo]
[--extract-dwo]
[--simbol-extras]
[--text-inscriptibil]
[--readonly-text]
[--pur]
[--impur]
[--file-alignment=o]
[--heap=mărimea]
[--image-base=adresa]
[--section-alignment=o]
[--stiva=mărimea]
[--subsistem=care:major.minor]
[--compress-debug-sections]
[--decompress-debug-sections]
[--adâncime-pitic=n]
[--start-pitic=n]
[-v|--verbos]
[-V|--versiune]
[--Ajutor] [--info]
infile [outfile]

DESCRIERE


GNU objcopy utilitarul copiează conținutul unui fișier obiect în altul. objcopy utilizări
Biblioteca GNU BFD pentru a citi și scrie fișierele obiect. Poate scrie destinația
fișier obiect într-un format diferit de cel al fișierului obiect sursă. Comportamentul exact
of objcopy este controlat de opțiunile din linia de comandă. Rețineți că objcopy ar trebui să poată
copiați un fișier complet legat între oricare două formate. Cu toate acestea, copierea unui obiect relocabil
fișierul între oricare două formate poate să nu funcționeze așa cum era de așteptat.

objcopy creează fișiere temporare pentru a-și face traducerile și le șterge ulterior.
objcopy folosește BFD pentru a face toată munca sa de traducere; are acces la toate formatele
descris în BFD și, astfel, este capabil să recunoască majoritatea formatelor fără a fi spus în mod explicit.

objcopy poate fi folosit pentru a genera înregistrări S utilizând o țintă de ieșire de srec (de exemplu, folosiți -O
srec).

objcopy poate fi folosit pentru a genera un fișier binar brut utilizând o țintă de ieșire de binar
(de exemplu, folosiți -O binar). Când objcopy generează un fișier binar brut, va fi în esență
produce un dump de memorie a conținutului fișierului obiect de intrare. Toate simbolurile și
informațiile despre relocare vor fi eliminate. Evacuarea memoriei va începe la adresa de încărcare
din secțiunea cea mai de jos copiată în fișierul de ieșire.

Când se generează o înregistrare S sau un fișier binar brut, poate fi util să se utilizeze -S a sterge
secțiuni care conțin informații de depanare. In unele cazuri -R va fi util de eliminat
secțiuni care conțin informații care nu sunt necesare fișierului binar.

Notă---objcopy nu este capabil să modifice caracterul endian al fișierelor sale de intrare. Dacă intrarea
formatul are o caracter endian (unele formate nu au), objcopy poate copia doar intrările în fișier
formate care au aceeași endianness sau care nu au endianness (de exemplu, srec). (In orice caz,
a se vedea --inversa-octeți opțiune.)

OPŢIUNI


infile
outfile
Fișierele de intrare și, respectiv, de ieșire. Dacă nu specificați outfile, objcopy
creează un fișier temporar și redenumește în mod distructiv rezultatul cu numele de infile.

-I bfdname
--input-target=bfdname
Considerați ca formatul obiectului fișierului sursă bfdname, în loc să încerce
deduceți-o.

-O bfdname
--output-target=bfdname
Scrieți fișierul de ieșire folosind formatul obiectului bfdname.

-F bfdname
--tinta=bfdname
Utilizare bfdname ca format de obiect atât pentru fișierul de intrare, cât și pentru fișierul de ieșire; adică pur și simplu
transferați date de la sursă la destinație fără traducere.

-B bfdarch
--binary-architecture=bfdarch
Util când se transformă un fișier de intrare fără arhitectură într-un fișier obiect. In acest
în cazul în care arhitectura de ieșire poate fi setată bfdarch. Această opțiune va fi ignorată dacă
fişierul de intrare are un cunoscut bfdarch. Puteți accesa aceste date binare în interiorul unui program
prin referirea simbolurilor speciale care sunt create de procesul de conversie. Aceste
simbolurile se numesc _binare_objfile_start, _binar_objfile_sfarsit si
_binar_objfile_mărimea. de exemplu, puteți transforma un fișier imagine într-un fișier obiect și
apoi accesați-l în codul dvs. folosind aceste simboluri.

-j model de secțiune
--only-section=model de secțiune
Copiați numai secțiunile indicate din fișierul de intrare în fișierul de ieșire. Această opțiune
poate fi administrat de mai multe ori. Rețineți că utilizarea inadecvată a acestei opțiuni poate face ca
fișier de ieșire inutilizabil. Caracterele wildcard sunt acceptate în model de secțiune.

-R model de secțiune
--remove-section=model de secțiune
Eliminați orice secțiune care se potrivește model de secțiune din fișierul de ieșire. Această opțiune poate fi
dat de mai multe ori. Rețineți că utilizarea inadecvată a acestei opțiuni poate face ieșirea
fișier inutilizabil. Caracterele wildcard sunt acceptate în model de secțiune. Folosind atât -j
și -R opțiunile împreună duc la un comportament nedefinit.

-S
--despui-toate
Nu copiați informații despre relocare și simboluri din fișierul sursă.

-g
--strip-debug
Nu copiați simboluri sau secțiuni de depanare din fișierul sursă.

--strip-inutil
Eliminați toate simbolurile care nu sunt necesare pentru procesarea relocarii.

-K nume simbol
--ţine-simbol=nume simbol
Când eliminați simbolurile, păstrați simbolul nume simbol chiar dacă în mod normal ar fi dezbrăcat.
Această opțiune poate fi dată de mai multe ori.

-N nume simbol
--banda-simbol=nume simbol
Nu copiați simbolul nume simbol din fișierul sursă. Această opțiune poate fi oferită mai mult
decât o dată.

--strip-unneeded-simbol=nume simbol
Nu copiați simbolul nume simbol din fișierul sursă, cu excepția cazului în care este nevoie de a
relocare. Această opțiune poate fi dată de mai multe ori.

-G nume simbol
--keep-global-simbol=nume simbol
Păstrați doar simbolul nume simbol global. Faceți toate celelalte simboluri locale în fișier, astfel încât
nu sunt vizibile în exterior. Această opțiune poate fi dată de mai multe ori.

--localize-hidden
Într-un obiect ELF, marcați ca locale toate simbolurile care au vizibilitate ascunsă sau internă.
Această opțiune se aplică pe lângă opțiunile de localizare specifice simbolului, cum ar fi -L.

-L nume simbol
--localize-simbol=nume simbol
Faceți simbol nume simbol local la fișier, astfel încât acesta să nu fie vizibil extern. Acest
opțiunea poate fi dată de mai multe ori.

-W nume simbol
--slăbire-simbol=nume simbol
Faceți simbol nume simbol slab. Această opțiune poate fi dată de mai multe ori.

--globalize-simbol=nume simbol
Dați simbol nume simbol acoperire globală, astfel încât să fie vizibilă în afara fișierului în
care este definit. Această opțiune poate fi dată de mai multe ori.

-w
--wildcard
Permite expresii regulate în nume simboleste folosit în alte opțiuni ale liniei de comandă. The
Operatorii cu semn de întrebare (?), asterisc (*), bară oblică inversă (\) și paranteze drepte ([]) pot
poate fi folosit oriunde în numele simbolului. Dacă primul caracter al numelui simbolului este
semnul exclamării (!), atunci sensul comutatorului este inversat pentru acel simbol. Pentru
exemplu:

-w -W !foo -W fo*

ar face ca objcopy să slăbească toate simbolurile care încep cu „fo”, cu excepția simbolului
„foo”.

-x
--aruncă-toate
Nu copiați simboluri non-globale din fișierul sursă.

-X
--aruncă-localnici
Nu copiați simbolurile locale generate de compilator. (Aceste de obicei încep cu L or ..)

-b octet
--byte=octet
Dacă intercalarea a fost activată prin intermediul --intercalare opțiunea, apoi porniți intervalul de
octeți de păstrat la octetoctetul. octet poate fi în intervalul de la 0 la lăţime-1, unde
lăţime este valoarea dată de --intercalare opțiune.

-i [lăţime]
--intercalare[=lăţime]
Copiați doar un interval din fiecare lăţime octeți. (Datele antetului nu sunt afectate). Selectați
care octet din interval începe copia cu --octet opțiune. Selectați lățimea de
gama cu --interleave-width opțiune.

Această opțiune este utilă pentru a crea fișiere pentru a programa ROM. Este de obicei folosit cu un
țintă de ieșire „srec”. Rețineți că objcopy se va plânge dacă nu specificați
--octet opțiune, de asemenea.

Lățimea implicită de intercalare este 4, deci cu --octet setat la 0, objcopy ar copia
primul octet din fiecare patru octeți de la intrare la ieșire.

--interleave-width=lățime
Când este utilizat cu --intercalare opțiune, copiere lățime octeți la un moment dat. Începutul
intervalul de octeți de copiat este setat de --octet opțiunea și extinderea intervalului
este setat cu --intercalare opțiune.

Valoarea implicită pentru această opțiune este 1. Valoarea de lățime plus octet valoare stabilită de
il --octet opțiunea nu trebuie să depășească lățimea de intercalare stabilită de --intercalare
opțiune.

Această opțiune poate fi folosită pentru a crea imagini pentru două blițuri de 16 biți intercalate într-un
Autobuz pe 32 de biți prin trecere -b 0 -i 4 --interleave-width=2 și -b 2 -i 4
--interleave-width=2 a doua objcopy comenzi. Dacă intrarea a fost „12345678”, atunci
ieșirile ar fi „1256” și, respectiv, „3478”.

-p
--conserva-date
Setați datele de acces și modificare ale fișierului de ieșire să fie aceleași cu cele ale
fișierul de intrare.

-D
--activare-arhive-deterministe
Operați în determinat modul. Când copiați membrii arhivei și scrieți arhiva
index, utilizați zero pentru UID-uri, GID-uri, marcaje temporale și utilizați moduri de fișiere consecvente pentru toate
fișiere.

If binutils a fost configurat cu --activare-arhive-deterministe, atunci acest mod este activat
în mod implicit. Poate fi dezactivat cu -U opțiunea, mai jos.

-U
--disable-deterministe-arhive
Do nu operează în determinat modul. Acesta este inversul lui -D opțiunea, mai sus:
atunci când copiați membrii arhivei și scrieți indexul arhivei, utilizați UID-ul, GID-ul lor actual,
marca temporală și valorile modului fișier.

Aceasta este valoarea implicită, dacă nu binutils a fost configurat cu
--activare-arhive-deterministe.

--depanare
Convertiți informațiile de depanare, dacă este posibil. Aceasta nu este implicită, deoarece numai
anumite formate de depanare sunt acceptate, iar procesul de conversie poate dura
consumatoare.

--decalaj de umplere val
Umple golurile dintre secțiuni cu val. Această operațiune se aplică la încărca adresa (LMA)
a sectiunilor. Se realizează prin creșterea dimensiunii secțiunii cu cea mai mică
adresa și completarea spațiului suplimentar creat cu val.

--pad-to adresa
Adăugați fișierul de ieșire până la adresa de încărcare adresa. Acest lucru se realizează prin creșterea
dimensiunea ultimei secțiuni. Spațiul suplimentar este completat cu valoarea specificată de
--decalaj de umplere (zero implicit).

--set-start val
Setați adresa de pornire a noului fișier la val. Nu toate formatele de fișiere obiect acceptă
stabilirea adresei de start.

--schimbare-început incr
--ajustare-pornire incr
Schimbați adresa de început prin adăugare incr. Nu toate formatele de fișiere obiect acceptă setarea
adresa de început.

--schimbați-adresele incr
--ajustare-vma incr
Modificați adresele VMA și LMA ale tuturor secțiunilor, precum și adresa de început, prin
adăugare incr. Unele formate de fișiere obiect nu permit modificarea adreselor secțiunilor
arbitrar. Rețineți că acest lucru nu relocați secțiunile; dacă programul se așteaptă
secțiunile să fie încărcate la o anumită adresă, iar această opțiune este folosită pentru a modifica
secțiuni astfel încât să fie încărcate la o altă adresă, programul poate eșua.

--schimbați-adresa-secțiunii model de secțiune{=,+,-}val
--adjust-section-vma model de secțiune{=,+,-}val
Setați sau modificați atât adresa VMA, cât și adresa LMA a oricărei secțiuni care se potrivesc
model de secțiune. Dacă = este utilizată, adresa secțiunii este setată la val. In caz contrar, val is
adăugată sau scăzută din adresa secțiunii. Vezi comentariile de mai jos
--schimbați-adresele, de mai sus. Dacă model de secțiune nu se potrivește cu nicio secțiune din intrare
dosar, va fi emis un avertisment, cu excepția cazului în care --no-change-warnings este folosit.

--change-section-lma model de secțiune{=,+,-}val
Setați sau modificați adresa LMA a oricăror secțiuni care se potrivesc model de secțiune. LMA
adresa este adresa la care secțiunea va fi încărcată în memorie la încărcarea programului
timp. În mod normal, aceasta este aceeași cu adresa VMA, care este adresa
secțiune în timpul rulării programului, dar pe unele sisteme, în special pe cele în care există un program
ținute în ROM, cele două pot fi diferite. Dacă = este utilizată, adresa secțiunii este setată la
val. In caz contrar, val se adaugă sau se scade din adresa secțiunii. Vezi
comentarii sub --schimbați-adresele, de mai sus. Dacă model de secțiune nu se potrivește cu niciuna
secțiunile din fișierul de intrare, va fi emis un avertisment, cu excepția cazului în care --no-change-warnings is
folosit.

--change-section-vma model de secțiune{=,+,-}val
Setați sau modificați adresa VMA a oricărei secțiuni care se potrivește model de secțiune. Adresa VMA
este adresa la care se va afla secțiunea odată ce programul a început
executând. În mod normal, aceasta este aceeași cu adresa LMA, care este adresa unde
secțiunea va fi încărcată în memorie, dar pe unele sisteme, în special cele unde a
programul este ținut în ROM, cele două pot fi diferite. Dacă = este folosită, adresa secțiunii
este setat la val. In caz contrar, val se adaugă sau se scade din adresa secțiunii.
Vezi comentariile de mai jos --schimbați-adresele, de mai sus. Dacă model de secțiune nu se potrivește
orice secțiuni din fișierul de intrare, va fi emis un avertisment, cu excepția cazului în care --no-change-warnings
este folosit.

--avertismente de schimbare
--reglați-avertismente
If --schimbați-adresa-secțiunii or --change-section-lma or --change-section-vma este folosit,
iar modelul secțiunii nu se potrivește cu nicio secțiune, emiteți un avertisment. Acesta este
Mod implicit.

--no-change-warnings
--no-reglare-avertismente
Nu emiteți un avertisment dacă --schimbați-adresa-secțiunii or --adjust-section-lma or
--adjust-section-vma este utilizat, chiar dacă modelul de secțiune nu se potrivește cu nicio secțiune.

--set-section-flags model de secțiune=steaguri
Setați steaguri pentru orice secțiuni care se potrivesc model de secțiune. steaguri argumentul este virgulă
șir separat de nume de steag. Numele recunoscute sunt aloc, conținut, încărca,
fara sarcina, numai în citire, cod, de date, eng, acțiune, și depana. Puteți seta conținut pavilion
pentru o secțiune care nu are conținut, dar nu are sens să ștergeți
conținut flag al unei secțiuni care are conținut - doar eliminați secțiunea.
Nu toate indicatoarele sunt semnificative pentru toate formatele de fișiere obiect.

--adăugați-secțiune nume secțiune=nume de fișier
Adăugați o nouă secțiune numită nume secțiune în timpul copierii fișierului. Conținutul noului
secțiunea sunt preluate din fișier nume de fișier. Mărimea secțiunii va fi dimensiunea de
fișierul. Această opțiune funcționează numai pe formatele de fișiere care pot suporta secțiuni cu
nume arbitrare. Notă - poate fi necesar să utilizați --set-section-flags opțiunea pentru
setați atributele secțiunii nou create.

--sectiune-de-poda nume secțiune=nume de fișier
Așezați conținutul secțiunii numite nume secțiune în dosar nume de fișier, suprascriere
orice conținut care ar fi fost acolo anterior. Această opțiune este inversă
--adăugați-secțiune. Această opțiune este similară cu --numai-sectiune opțiune, cu excepția faptului că aceasta
nu creează un fișier formatat, ci doar aruncă conținutul ca date binare brute,
fără a aplica nicio relocare. Opțiunea poate fi specificată de mai multe ori.

--secțiunea-actualizare nume secțiune=nume de fișier
Înlocuiți conținutul existent al unei secțiuni numite nume secțiune cu conținutul fișierului
nume de fișier. Mărimea secțiunii va fi ajustată la dimensiunea fișierului. The
steaguri de sectiune pentru nume secțiune va fi neschimbat. Pentru fișierele în format ELF, secțiunea către
Maparea segmentelor va rămâne, de asemenea, neschimbată, lucru care nu este posibil să se utilizeze
--elimină-secțiune urmată de --adăugați-secțiune. Opțiunea poate fi specificată mai mult decât
o singura data.

Notă - este posibil de utilizat --redenumiți-secțiunea și --secțiunea-actualizare atât pentru a actualiza cât și
redenumiți o secțiune dintr-o linie de comandă. În acest caz, transmiteți numele secțiunii inițiale
la --secțiunea-actualizare, precum și numele secțiunilor originale și noi la --redenumiți-secțiunea.

--adăugați-simbol nume=[secțiune:]valoare[,steaguri]
Adăugați un nou simbol numit nume în timpul copierii fișierului. Această opțiune poate fi specificată
de mai multe ori. Dacă secțiune este dat, simbolul va fi asociat cu și
în raport cu acea secțiune, altfel va fi un simbol ABS. Specificarea unui nedefinit
secțiunea va avea ca rezultat o eroare fatală. Nu există nicio verificare pentru valoare, va fi
luate conform specificatiilor. Pot fi specificate steaguri de simbol și nu vor fi toate steaguri
semnificativ pentru toate formatele de fișiere obiect. În mod implicit, simbolul va fi global. The
steag special 'inainte=altelesim' va insera noul simbol în fața celui specificat
altelesim, în caz contrar simbolul(ele) vor fi adăugate la sfârșitul tabelului de simboluri din
ordinea în care apar.

--redenumiți-secțiunea vechi nume=nume nou[,steaguri]
Redenumiți o secțiune din vechi nume la nume nou, schimbând opțional steagurile secțiunii în
steaguri în procesul. Acest lucru are avantajul față de utilizarea unui script de linker pentru a efectua
redenumiți prin faptul că rezultatul rămâne ca fișier obiect și nu devine legat
executabil.

Această opțiune este deosebit de utilă atunci când formatul de intrare este binar, deoarece acest lucru va fi
creați întotdeauna o secțiune numită .data. Dacă, de exemplu, ați dorit în schimb să creați un
secțiunea numită .rodata care conține date binare ați putea folosi următoarea linie de comandă
pentru a o realiza:

objcopy -I binar -O -B \
--rename-section .data=.rodata,alloc,load,readonly,data,contents \


--nume-secțiuni-lungi {activare, dezactivare, păstrare}
Controlează gestionarea numelor de secțiuni lungi la procesarea „COFF” și „PE-COFF”
formate de obiecte. Comportamentul implicit, păstra, este de a păstra numele lungi de secțiuni, dacă există
sunt prezente în fișierul de intrare. The permite și dezactivați opțiunile activează forțat sau
dezactivați utilizarea numelor de secțiuni lungi în obiectul de ieșire; cand dezactivați este în vigoare,
orice nume de secțiune lungă din obiectul de intrare vor fi trunchiate. The permite opțiunea va
emite numai nume de secțiuni lungi dacă sunt prezente în intrări; acesta este în mare parte același
as păstra, dar rămâne nedefinit dacă permite opțiunea ar putea forța crearea
a unui tabel de șiruri gol din fișierul de ieșire.

--change-leading-char
Unele formate de fișiere obiect utilizează caractere speciale la începutul simbolurilor. Cel mai
un astfel de caracter comun este sublinierea, pe care compilatorii îl adaugă adesea înaintea fiecărui simbol.
Această opțiune spune objcopy pentru a schimba caracterul principal al fiecărui simbol atunci când acesta
convertește între formate de fișier obiect. În cazul în care formatele de fișier obiect utilizează aceeași interfață
caracter, această opțiune nu are efect. În caz contrar, va adăuga un caracter sau va elimina un
caracter sau modificați un caracter, după caz.

--remove-leading-char
Dacă primul caracter al unui simbol global este un caracter principal al unui simbol special utilizat
după formatul fișierului obiect, eliminați caracterul. Cel mai comun simbol care duce
caracterul este subliniat. Această opțiune va elimina o liniuță de subliniere principală din toate cele globale
simboluri. Acest lucru poate fi util dacă doriți să legați împreună obiecte din fișiere diferite
formate cu convenții diferite pentru numele simbolurilor. Aceasta este diferită de
--change-leading-char deoarece schimbă întotdeauna numele simbolului atunci când este cazul,
indiferent de formatul fișierului obiect al fișierului de ieșire.

--reverse-bytes=o
Inversați octeții într-o secțiune cu conținut de ieșire. Lungimea unei secțiuni trebuie să fie uniformă
divizibil cu valoarea dată pentru ca schimbul să poată avea loc. Mers înapoi
are loc înainte de efectuarea intercalării.

Această opțiune este utilizată de obicei la generarea de imagini ROM pentru sistemele țintă problematice.
De exemplu, pe unele plăci țintă, cuvintele de 32 de biți preluate din ROM-urile de 8 biți sunt re-
asamblate în ordinea octeților little-endian, indiferent de ordinea octeților CPU. Depinde de
modelul de programare, este posibil ca îndianitatea ROM-ului să fie necesară modificarea.

Luați în considerare un fișier simplu cu o secțiune care conține următorii opt octeți: 12345678.

Utilizarea --reverse-bytes=2 pentru exemplul de mai sus, octeții din fișierul de ieșire ar fi
comandat 21436587.

Utilizarea --reverse-bytes=4 pentru exemplul de mai sus, octeții din fișierul de ieșire ar fi
comandat 43218765.

Prin folosirea --reverse-bytes=2 pentru exemplul de mai sus, urmat de --reverse-bytes=4 pe
fișier de ieșire, octeții din al doilea fișier de ieșire ar fi ordonați 34127856.

--srec-len=ival
Semnificativ numai pentru ieșirea srec. Setați lungimea maximă a Srecord-urilor
produs la ival. Această lungime acoperă atât câmpurile de adresă, cât și câmpurile de date și crc.

--srec-forceS3
Semnificativ numai pentru ieșirea srec. Evitați generarea de înregistrări S1/S2, creând doar S3
format de înregistrare.

--redefinire-sym vechi=nou
Schimbați numele unui simbol vechi, Pentru a nou. Acest lucru poate fi util atunci când cineva încearcă link
două lucruri împreună pentru care nu aveți nicio sursă și există ciocniri de nume.

--redefine-syms=nume de fișier
Aplică --redefinire-sym la fiecare pereche de simboluri"vechi nou" enumerate în dosar nume de fișier.
nume de fișier este pur și simplu un fișier plat, cu o pereche de simboluri pe linie. Comentariile la rând pot fi
introdus de caracterul hash. Această opțiune poate fi dată de mai multe ori.

--slăbi
Schimbați toate simbolurile globale din fișier pentru a fi slabe. Acest lucru poate fi util la construirea unui
obiect care va fi legat de alte obiecte folosind -R opțiune pentru linker.
Această opțiune este eficientă numai atunci când se utilizează un format de fișier obiect care acceptă slab
simboluri.

--ţine-simboluri=nume de fișier
Aplică --ţine-simbol opțiune pentru fiecare simbol listat în fișier nume de fișier. nume de fișier is
pur și simplu un fișier plat, cu un nume de simbol pe linie. Comentariile la rând pot fi introduse de
caracterul hash. Această opțiune poate fi dată de mai multe ori.

--strip-simboluri=nume de fișier
Aplică --banda-simbol opțiune pentru fiecare simbol listat în fișier nume de fișier. nume de fișier is
pur și simplu un fișier plat, cu un nume de simbol pe linie. Comentariile la rând pot fi introduse de
caracterul hash. Această opțiune poate fi dată de mai multe ori.

--strip-unneeded-simbols=nume de fișier
Aplică --strip-un-needed-simbol opțiune pentru fiecare simbol listat în fișier nume de fișier.
nume de fișier este pur și simplu un fișier plat, cu un nume de simbol pe linie. Comentariile la rând pot fi
introdus de caracterul hash. Această opțiune poate fi dată de mai multe ori.

--keep-global-symbols=nume de fișier
Aplică --ţine-simbol-global opțiune pentru fiecare simbol listat în fișier nume de fișier.
nume de fișier este pur și simplu un fișier plat, cu un nume de simbol pe linie. Comentariile la rând pot fi
introdus de caracterul hash. Această opțiune poate fi dată de mai multe ori.

--localize-simbols=nume de fișier
Aplică --localize-simbol opțiune pentru fiecare simbol listat în fișier nume de fișier. nume de fișier
este pur și simplu un fișier plat, cu un nume de simbol pe linie. Pot fi introduse comentarii la rând
prin caracterul hash. Această opțiune poate fi dată de mai multe ori.

--globalize-simbols=nume de fișier
Aplică --simbol-globalizare opțiune pentru fiecare simbol listat în fișier nume de fișier. nume de fișier
este pur și simplu un fișier plat, cu un nume de simbol pe linie. Pot fi introduse comentarii la rând
prin caracterul hash. Această opțiune poate fi dată de mai multe ori.

--slăbiți-simboluri=nume de fișier
Aplică --simbol-slăbire opțiune pentru fiecare simbol listat în fișier nume de fișier. nume de fișier is
pur și simplu un fișier plat, cu un nume de simbol pe linie. Comentariile la rând pot fi introduse de
caracterul hash. Această opțiune poate fi dată de mai multe ori.

--alt-machine-code=index
Dacă arhitectura de ieșire are coduri de mașină alternative, utilizați indexcodul în schimb
a celui implicit. Acest lucru este util în cazul în care unei mașini i se atribuie un cod oficial și
lanțul de instrumente adoptă noul cod, dar alte aplicații depind încă de
se utilizează codul original. Pentru arhitecturile bazate pe ELF dacă index alternativa face
nu există, atunci valoarea este tratată ca un număr absolut care trebuie stocat în
câmpul e_machine al antetului ELF.

--text-inscriptibil
Marcați textul de ieșire ca fiind inscriptibil. Această opțiune nu are sens pentru toate fișierele obiect
formate.

--readonly-text
Protejează textul de ieșire la scriere. Această opțiune nu are sens pentru toate obiectele
formate de fișiere.

--pur
Marcați fișierul de ieșire ca paginat la cerere. Această opțiune nu are sens pentru toate obiectele
formate de fișiere.

--impur
Marcați fișierul de ieșire ca impur. Această opțiune nu are sens pentru toate fișierele obiect
formate.

--prefix-simboluri=şir
Prefixați toate simbolurile din fișierul de ieșire cu şir.

--prefix-sections=şir
Prefixați toate numele secțiunilor din fișierul de ieșire cu şir.

--prefix-alloc-sections=şir
Prefixați toate numele tuturor secțiunilor alocate din fișierul de ieșire cu şir.

--add-gnu-debuglink=cale-la-fișier
Creează o secțiune .gnu_debuglink care conține o referință la cale-la-fișier si adauga
acesta în fișierul de ieșire. Notă: fișierul la cale-la-fișier trebuie să existe. Parte a
procesul de adăugare a secțiunii .gnu_debuglink implică încorporarea unei sume de control a
conținutul fișierului cu informații de depanare în secțiune.

Dacă fișierul cu informații de depanare este construit într-o singură locație, dar va fi instalat la a
mai târziu într-o locație diferită, apoi nu utilizați calea către instalarea
Locație. The --add-gnu-debuglink opțiunea va eșua deoarece fișierul instalat face
nu există încă. În schimb, puneți fișierul cu informații de depanare în directorul curent și utilizați
--add-gnu-debuglink opțiune fără componente de director, ca aceasta:

objcopy --add-gnu-debuglink=foo.debug

La momentul depanării, depanatorul va încerca să caute fișierul separat cu informații de depanare în a
set de locații cunoscute. Setul exact al acestor locații variază în funcție de
distribuția este utilizată, dar de obicei include:

„* Același director ca și executabilul.”
„* Un subdirector al directorului care conține executabilul”
numit .debug

„* Un director global de depanare, cum ar fi /usr/lib/debug.”

Atâta timp cât fișierul cu informații de depanare a fost instalat înainte într-una dintre aceste locații
rulează depanatorul, totul ar trebui să funcționeze corect.

--keep-file-simbols
Când scoateți un fișier, poate cu --strip-debug or --strip-inutil, păstrați orice
simboluri care specifică nume de fișiere sursă, care altfel ar fi eliminate.

--only-keep-debug
Eliminați un fișier, eliminând conținutul oricăror secțiuni de care nu ar fi eliminat
--strip-debug și lăsând intacte secțiunile de depanare. În fișierele ELF, aceasta păstrează
toate secțiunile de note din ieșire.

Notă - se păstrează anteturile de secțiuni ale secțiunilor decapate, inclusiv ale acestora
dimensiuni, dar conținutul secțiunii este aruncat. Antetele secțiunilor sunt
păstrat astfel încât alte instrumente să poată potrivi fișierul debuginfo cu fișierul real
executabil, chiar dacă acel executabil a fost mutat î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 binar care va ocupa mai puțin spațiu
în RAM și într-o distribuție și al doilea un fișier de informații de depanare care este doar
necesare dacă sunt necesare abilități de depanare. Procedura sugerată pentru crearea acestora
fișierele este după cum urmează:

1.
"foo" atunci...

1.
creați un fișier care conține informațiile de depanare.

1.
executabil dezbrăcat.

1.
pentru a adăuga un link către informațiile de depanare în executabilul eliminat.

Notă --- alegerea „.dbg” ca extensie pentru fișierul cu informații de depanare este arbitrară.
De asemenea, pasul „--only-keep-debug” este opțional. În schimb, ai putea face asta:

1.
1.
1.
1.

adică fișierul indicat de către --add-gnu-debuglink poate fi executabilul complet. Aceasta
nu trebuie să fie un fișier creat de --only-keep-debug intrerupator.

Notă --- acest comutator este destinat utilizării numai pe fișiere complet conectate. Nu face
sens să-l folosiți pe fișierele obiect în care informațiile de depanare pot fi incomplete.
Pe lângă caracteristica gnu_debuglink, în prezent acceptă doar prezența unui singur nume de fișier
care conțin informații de depanare, nu mai multe nume de fișiere pe un fișier unul pe obiect
bază.

--strip-dwo
Eliminați conținutul tuturor secțiunilor DWARF .dwo, lăsând depanarea rămasă
secțiunile și toate simbolurile intacte. Această opțiune este destinată utilizării de către compilator ca
parte a -gsplit-pitic opțiunea, care împarte informațiile de depanare între fișierul .o
și un fișier .dwo separat. Compilatorul generează toate informațiile de depanare în același
fișier, apoi folosește fișierul --extract-dwo opțiunea de a copia secțiunile .dwo în fișierul .dwo,
apoi --strip-dwo opțiunea de a elimina acele secțiuni din fișierul original .o.

--extract-dwo
Extrageți conținutul tuturor secțiunilor DWARF .dwo. Vezi --strip-dwo opțiune pentru mai mult
informaţii.

--file-alignment o
Specificați alinierea fișierului. Secțiunile din fișier vor începe întotdeauna la decalajele fișierului
care sunt multipli ai acestui număr. Acesta este implicit 512. [Această opțiune este specifică
la ținte PE.]

--morman rezervă
--morman rezervă,comite
Specificați numărul de octeți de memorie de rezervat (și opțional de comitere) pentru a fi utilizați
heap pentru acest program. [Această opțiune este specifică țintelor PE.]

--bază-imagine valoare
Utilizare valoare ca adresa de bază a programului sau dll-ului dvs. Aceasta este cea mai scăzută memorie
locație care va fi folosită când programul sau dll-ul dvs. este încărcat. Pentru a reduce nevoia de a
mutați și îmbunătățiți performanța dll-urilor dvs., fiecare ar trebui să aibă o adresă de bază unică
și să nu se suprapună cu alte dll-uri. Valoarea implicită este 0x400000 pentru executabile și
0x10000000 pentru dll-uri. [Această opțiune este specifică țintelor PE.]

--alinierea-secțiunii o
Setează alinierea secțiunii. Secțiunile din memorie vor începe întotdeauna la adresele care
sunt multiplu ale acestui număr. Implicit la 0x1000. [Această opțiune este specifică PE
ținte.]

--grămadă rezervă
--grămadă rezervă,comite
Specificați numărul de octeți de memorie de rezervat (și opțional de comitere) pentru a fi utilizați
stivă pentru acest program. [Această opțiune este specifică țintelor PE.]

--subsistem care
--subsistem care:major
--subsistem care:major.minor
Specifică subsistemul sub care se va executa programul. Valorile legale pentru
care sunt „native”, „windows”, „consola”, „posix”, „efi-app”, „efi-bsd”, „efi-rtd”,
„sal-rtd” și „xbox”. Opțional, puteți seta și versiunea subsistemului. Numeric
sunt acceptate si valori pentru care. [Această opțiune este specifică țintelor PE.]

--simbol-extras
Păstrați steaguri și simboluri ale secțiunii fișierului, dar eliminați toate datele secțiunii. Specific,
optiunea:

*
*
*

Această opțiune este folosită pentru a construi un .sym fișier pentru un nucleu VxWorks. Poate fi, de asemenea, o
mod util de reducere a dimensiunii unui --doar-simboluri fișier de intrare linker.

--compress-debug-sections
Comprimați secțiunile de depanare DWARF folosind zlib cu SHF_COMPRESSED din ELF ABI. Notă -
dacă compresia ar face de fapt o secțiune mai mare, atunci nu este comprimat.

--compress-debug-sections=niciuna
--compress-debug-sections=zlib
--compress-debug-sections=zlib-gnu
--compress-debug-sections=zlib-gabi
Pentru fișierele ELF, aceste opțiuni controlează modul în care secțiunile de depanare DWARF sunt comprimate.
--compress-debug-sections=niciuna este echivalent cu --decompress-debug-sections.
--compress-debug-sections=zlib și --compress-debug-sections=zlib-gabi sunt echivalente
la --compress-debug-sections. --compress-debug-sections=zlib-gnu comprimă DWARF
depanați secțiuni folosind zlib. Secțiunile de depanare sunt redenumite pentru început .zdebug
în loc de .depanare. Notă - dacă compresia ar face de fapt o secțiune mai mare, Apoi
nu este comprimat și nici redenumit.

--decompress-debug-sections
Decomprimați secțiunile de depanare DWARF folosind zlib. Numele secțiunilor originale ale
sunt restaurate secțiunile comprimate.

-V
--versiune
Afișați numărul versiunii de objcopy.

-v
--verbos
Ieșire detaliată: listează toate fișierele obiect modificate. În cazul arhivelor, objcopy -V
listează toți membrii arhivei.

--Ajutor
Afișați un rezumat al opțiunilor pentru objcopy.

--info
Afișați o listă care arată toate arhitecturile și formatele de obiecte disponibile.

@fişier
Citiți opțiunile din linia de comandă din fişier. Opțiunile citite sunt inserate în locul lui
original @fişier opțiune. Dacă fişier nu există, sau nu poate fi citit, atunci opțiunea
vor fi tratate la propriu și nu eliminate.

Opțiuni în fişier sunt separate prin spații albe. Poate fi inclus un caracter alb
într-o opțiune înconjurând întreaga opțiune fie între ghilimele simple, fie duble. Orice
caracterul (inclusiv o bară oblică inversă) poate fi inclus prin prefixarea caracterului care trebuie să fie
incluse cu o bară oblică inversă. The fişier poate conține în sine @ suplimentarfişier Opțiuni; orice
astfel de opțiuni vor fi procesate recursiv.

Utilizați mips64-linux-gnuabi64-objcopy online folosind serviciile onworks.net


Ad


Ad

Cele mai recente programe online Linux și Windows