InglesPransesEspanyol

Ad


OnWorks favicon

mips-linux-gnu-objcopy - Online sa Cloud

Patakbuhin ang mips-linux-gnu-objcopy sa OnWorks na libreng hosting provider sa Ubuntu Online, Fedora Online, Windows online emulator o MAC OS online emulator

Ito ang command na mips-linux-gnu-objcopy na maaaring patakbuhin sa OnWorks na libreng hosting provider gamit ang isa sa aming maramihang libreng online na workstation gaya ng Ubuntu Online, Fedora Online, Windows online emulator o MAC OS online emulator

PROGRAMA:

NAME


objcopy - kopyahin at isalin ang mga object file

SINOPSIS


objcopy [-F bfdname|--target=bfdname]
[-I bfdname|--input-target=bfdname]
[-O bfdname|--output-target=bfdname]
[-B bfdarch|--binary-architecture=bfdarch]
[-S|--strip-lahat]
[-g|--strip-debug]
[-K pangalan ng simbolo|--keep-symbol=pangalan ng simbolo]
[-N pangalan ng simbolo|--strip-symbol=pangalan ng simbolo]
[--strip-unneeded-symbol=pangalan ng simbolo]
[-G pangalan ng simbolo|--keep-global-symbol=pangalan ng simbolo]
[--localize-hidden]
[-L pangalan ng simbolo|--localize-symbol=pangalan ng simbolo]
[--globalize-symbol=pangalan ng simbolo]
[-W pangalan ng simbolo|--mahina-simbolo=pangalan ng simbolo]
[-w|--wildcard]
[-x|--i-discard-lahat]
[-X|--discard-locals]
[-b byte|--byte=byte]
[-i [lawak]|--interleave[=lawak]]
[--interleave-width=lapad]
[-j sectionpattern|--lamang-section=sectionpattern]
[-R sectionpattern|--remove-section=sectionpattern]
[-p|--preserve-dates]
[-D|--enable-deterministic-archives]
[-U|--disable-deterministic-archives]
[--debug]
[--gap-fill=Val]
[--pad-to=tirahan]
[--set-start=Val]
[--adjust-start=incr]
[--change-address=incr]
[--change-section-address sectionpattern{=+,-}Val]
[--change-section-lma sectionpattern{=+,-}Val]
[--change-section-vma sectionpattern{=+,-}Val]
[--pagbabago-babala] [--walang-pagbabago-babala]
[--set-section-flags sectionpattern=flag]
[--add-section pangalan ng seksyon=filename]
[--dump-seksyon pangalan ng seksyon=filename]
[--update-seksyon pangalan ng seksyon=filename]
[--rename-section lumang pangalan=bagong pangalan[,flag]]
[--mahabang-seksyon-pangalan {enable,disable, keep}]
[--change-leading-char] [--alisin-nangungunang-char]
[--reverse-bytes=num]
[--srec-len=Ival] [--srec-forceS3]
[--redefine-sym luma=bago]
[--redefine-syms=filename]
[--mahina]
[--keep-symbols=filename]
[--strip-symbols=filename]
[--strip-unneeded-symbols=filename]
[--keep-global-symbols=filename]
[--localize-symbols=filename]
[--globalize-symbols=filename]
[--weaken-symbols=filename]
[--add-symbol pangalan=[seksyon:]halaga[,flag]
[--alt-machine-code=index]
[--prefix-symbols=pisi]
[--prefix-sections=pisi]
[--prefix-alloc-sections=pisi]
[--add-gnu-debuglink=path-to-file]
[--keep-file-symbols]
[--lamang-keep-debug]
[--strip-dwo]
[--extract-dwo]
[--extract-simbolo]
[--nasusulat-teksto]
[--readonly-text]
[--dalisay]
[--marumi]
[--file-alignment=num]
[--bunton=laki]
[--image-base=tirahan]
[--section-alignment=num]
[--stack=laki]
[--subsystem=alin:pangunahing.minor]
[--compress-debug-sections]
[--decompress-debug-sections]
[--dwarf-depth=n]
[--dwarf-start=n]
[-v|--verbose]
[-V|--bersyon]
[- Tumulong] [--impormasyon]
infile [outfile]

DESCRIPTION


Ang GNU objcopy kinokopya ng utility ang mga nilalaman ng isang object file sa isa pa. objcopy Gumagamit
ang GNU BFD Library upang basahin at isulat ang mga object file. Maaari nitong isulat ang patutunguhan
object file sa isang format na iba sa source object file. Ang eksaktong pag-uugali
of objcopy ay kinokontrol ng mga opsyon sa command-line. Tandaan na objcopy ang dapat ma-
kopyahin ang isang ganap na naka-link na file sa pagitan ng alinmang dalawang format. Gayunpaman, ang pagkopya ng isang bagay na maaaring ilipat
file sa pagitan ng alinmang dalawang format ay maaaring hindi gumana gaya ng inaasahan.

objcopy lumilikha ng mga pansamantalang file upang gawin ang mga pagsasalin nito at tatanggalin ang mga ito pagkatapos.
objcopy gumagamit ng BFD para gawin ang lahat ng gawaing pagsasalin nito; mayroon itong access sa lahat ng mga format
inilarawan sa BFD at sa gayon ay nakikilala ang karamihan sa mga format nang hindi tahasang sinasabi.

objcopy ay maaaring gamitin upang makabuo ng mga S-record sa pamamagitan ng paggamit ng isang output na target ng srec (hal., gamitin -O
srec).

objcopy ay maaaring gamitin upang bumuo ng isang raw binary file sa pamamagitan ng paggamit ng isang output target ng doble
(hal., gamitin -O doble). Kailan objcopy bumubuo ng isang raw binary file, ito ay mahalagang
gumawa ng memory dump ng mga nilalaman ng input object file. Lahat ng mga simbolo at
itatapon ang impormasyon sa paglilipat. Magsisimula ang memory dump sa address ng pag-load
ng pinakamababang seksyon na kinopya sa output file.

Kapag bumubuo ng isang S-record o isang raw binary file, maaaring makatulong ang paggamit -S upang alisin
mga seksyon na naglalaman ng impormasyon sa pag-debug. Sa ibang Pagkakataon -R ay magiging kapaki-pakinabang upang alisin
mga seksyon na naglalaman ng impormasyon na hindi kailangan ng binary file.

Tandaan---objcopy ay hindi kayang baguhin ang endianness ng mga input file nito. Kung ang input
ang format ay may endianness (ang ilang mga format ay wala), objcopy maaari lamang kopyahin ang mga input sa file
mga format na may parehong endianness o walang endianness (hal, srec). (Gayunpaman,
tingnan ang --reverse-bytes opsyon.)

Opsyon


infile
outfile
Ang input at output file, ayon sa pagkakabanggit. Kung hindi mo tinukoy outfile, objcopy
lumilikha ng isang pansamantalang file at mapanirang pinapalitan ang pangalan ng resulta gamit ang pangalan ng infile.

-I bfdname
--input-target=bfdname
Isaalang-alang ang object format ng source file bfdname, sa halip na subukang
maghinuha ito.

-O bfdname
--output-target=bfdname
Isulat ang output file gamit ang object format bfdname.

-F bfdname
--target=bfdname
paggamit bfdname bilang object format para sa parehong input at output file; ibig sabihin, simple lang
maglipat ng data mula sa pinagmulan patungo sa patutunguhan nang walang pagsasalin.

-B bfdarch
--binary-architecture=bfdarch
Kapaki-pakinabang kapag ginagawang object file ang isang hindi gaanong arkitektura na input file. Dito sa
kaso ang output architecture ay maaaring itakda sa bfdarch. Ang pagpipiliang ito ay hindi papansinin kung
ang input file ay may kilala bfdarch. Maa-access mo ang binary data na ito sa loob ng isang program
sa pamamagitan ng pagtukoy sa mga espesyal na simbolo na nilikha ng proseso ng conversion. Ang mga ito
ang mga simbolo ay tinatawag na _binary_objfile_simula, _binary_objfile_tapos at
_binary_objfile_laki. hal. maaari mong ibahin ang anyo ng isang picture file sa isang object file at
pagkatapos ay i-access ito sa iyong code gamit ang mga simbolo na ito.

-j sectionpattern
--lamang-section=sectionpattern
Kopyahin lamang ang ipinahiwatig na mga seksyon mula sa input file patungo sa output file. Ang pagpipiliang ito
maaaring ibigay ng higit sa isang beses. Tandaan na ang paggamit sa opsyong ito nang hindi naaangkop ay maaaring gawin ang
hindi magagamit ang output file. Ang mga wildcard na character ay tinatanggap sa sectionpattern.

-R sectionpattern
--remove-section=sectionpattern
Alisin ang anumang pagtutugma ng seksyon sectionpattern mula sa output file. Ang pagpipiliang ito ay maaaring
ibinigay ng higit sa isang beses. Tandaan na ang paggamit ng opsyong ito nang hindi naaangkop ay maaaring makagawa ng output
hindi magagamit ang file. Ang mga wildcard na character ay tinatanggap sa sectionpattern. Gamit pareho ang -j
at -R ang mga opsyon na magkasama ay nagreresulta sa hindi natukoy na pag-uugali.

-S
--strip-lahat
Huwag kopyahin ang relokasyon at impormasyon ng simbolo mula sa source file.

-g
--strip-debug
Huwag kopyahin ang mga simbolo o seksyon ng pag-debug mula sa source file.

--strip-hindi kailangan
Tanggalin ang lahat ng mga simbolo na hindi kailangan para sa pagproseso ng relokasyon.

-K pangalan ng simbolo
--keep-symbol=pangalan ng simbolo
Kapag nagtatanggal ng mga simbolo, panatilihin ang simbolo pangalan ng simbolo kahit na ito ay karaniwang hinubaran.
Maaaring ibigay ang opsyong ito nang higit sa isang beses.

-N pangalan ng simbolo
--strip-symbol=pangalan ng simbolo
Huwag kopyahin ang simbolo pangalan ng simbolo mula sa source file. Ang pagpipiliang ito ay maaaring bigyan ng higit pa
sa isang beses.

--strip-unneeded-symbol=pangalan ng simbolo
Huwag kopyahin ang simbolo pangalan ng simbolo mula sa source file maliban kung ito ay kinakailangan ng a
relokasyon. Maaaring ibigay ang opsyong ito nang higit sa isang beses.

-G pangalan ng simbolo
--keep-global-symbol=pangalan ng simbolo
Panatilihin lamang ang simbolo pangalan ng simbolo global. Gawing lokal ang lahat ng iba pang mga simbolo sa file, nang sa gayon
hindi sila nakikita sa labas. Maaaring ibigay ang opsyong ito nang higit sa isang beses.

--localize-hidden
Sa isang ELF object, markahan ang lahat ng mga simbolo na may nakatago o panloob na visibility bilang lokal.
Nalalapat ang opsyong ito sa itaas ng mga opsyon sa localization na tukoy sa simbolo gaya ng -L.

-L pangalan ng simbolo
--localize-symbol=pangalan ng simbolo
Gumawa ng simbolo pangalan ng simbolo lokal sa file, upang hindi ito makita sa labas. Ito
ang opsyon ay maaaring ibigay ng higit sa isang beses.

-W pangalan ng simbolo
--mahina-simbolo=pangalan ng simbolo
Gumawa ng simbolo pangalan ng simbolo mahina. Maaaring ibigay ang opsyong ito nang higit sa isang beses.

--globalize-symbol=pangalan ng simbolo
Magbigay ng simbolo pangalan ng simbolo global scoping upang ito ay makita sa labas ng file in
kung saan ito ay tinukoy. Maaaring ibigay ang opsyong ito nang higit sa isang beses.

-w
--wildcard
Pahintulutan ang mga regular na expression sa pangalan ng simbolos ginagamit sa iba pang mga opsyon sa command line. Ang
tandang pananong (?), asterisk (*), backslash (\) at square bracket ([]) ang mga operator ay maaaring
gamitin kahit saan sa pangalan ng simbolo. Kung ang unang karakter ng pangalan ng simbolo ay ang
tandang padamdam (!) pagkatapos ay ibabalik ang kahulugan ng switch para sa simbolong iyon. Para sa
halimbawa:

-w -W !foo -W fo*

ay magiging sanhi ng objcopy na pahinain ang lahat ng mga simbolo na nagsisimula sa "fo" maliban sa simbolo
"foo".

-x
--i-discard-lahat
Huwag kumopya ng mga di-global na simbolo mula sa source file.

-X
--discard-locals
Huwag kopyahin ang mga lokal na simbolo na binuo ng compiler. (Ang mga ito ay karaniwang nagsisimula sa L or ..)

-b byte
--byte=byte
Kung pinagana ang interleaving sa pamamagitan ng --interleave opsyon pagkatapos ay simulan ang hanay ng
bytes upang panatilihin sa byteika byte. byte maaaring nasa hanay mula 0 hanggang lawak-1, saan
lawak ay ang halaga na ibinibigay ng --interleave pagpipilian.

-i [lawak]
--interleave[=lawak]
Kumopya lang ng range sa bawat isa lawak byte. (Hindi apektado ang data ng header). Pumili
kung aling byte sa hanay ang nagsisimula ng kopya sa --byte opsyon. Piliin ang lapad ng
ang saklaw na may --interleave-width pagpipilian.

Ang pagpipiliang ito ay kapaki-pakinabang para sa paglikha ng mga file sa program ROM. Ito ay karaniwang ginagamit sa isang
"srec" na target na output. Tandaan na objcopy magrereklamo kung hindi mo tinukoy ang
--byte opsyon din.

Ang default na interleave na lapad ay 4, gayundin sa --byte itakda sa 0, objcopy kokopyahin ang
unang byte sa bawat apat na byte mula sa input hanggang sa output.

--interleave-width=lapad
Kapag ginamit kasama ng --interleave opsyon, kopyahin lapad byte sa isang pagkakataon. Ang simula ng
hanay ng mga byte na kokopyahin ay itinakda ng --byte opsyon, at ang lawak ng saklaw
ay nakatakda sa --interleave pagpipilian.

Ang default na halaga para sa opsyong ito ay 1. Ang halaga ng lapad kasama ang byte halaga na itinakda ng
ang --byte ang opsyon ay hindi dapat lumampas sa interleave na lapad na itinakda ng --interleave
pagpipilian.

Ang opsyong ito ay maaaring gamitin upang lumikha ng mga larawan para sa dalawang 16-bit na flash na pinagsama-sama sa a
32-bit bus sa pamamagitan ng pagpasa -b 0 -i 4 --interleave-width=2 at -b 2 -i 4
--interleave-width=2 sa dalawang objcopy mga utos. Kung ang input ay '12345678' kung gayon ang
ang mga output ay magiging '1256' at '3478' ayon sa pagkakabanggit.

-p
--preserve-dates
Itakda ang mga petsa ng pag-access at pagbabago ng output file na kapareho ng sa
ang input file.

-D
--enable-deterministic-archives
Mag-opera sa deterministik mode. Kapag kinokopya ang mga miyembro ng archive at isinusulat ang archive
index, gumamit ng zero para sa mga UID, GID, timestamp, at gumamit ng pare-parehong mga mode ng file para sa lahat
file.

If mga binutil ay na-configure sa --enable-deterministic-archives, pagkatapos ay naka-on ang mode na ito
bilang default. Maaari itong i-disable gamit ang -U opsyon, sa ibaba.

-U
--disable-deterministic-archives
Do hindi gumana sa deterministik mode. Ito ang kabaligtaran ng -D opsyon, sa itaas:
kapag kinokopya ang mga miyembro ng archive at isinusulat ang index ng archive, gamitin ang kanilang aktwal na UID, GID,
timestamp, at mga halaga ng file mode.

Ito ang default maliban kung mga binutil ay na-configure sa
--enable-deterministic-archives.

--debug
I-convert ang impormasyon sa pag-debug, kung maaari. Hindi ito ang default dahil lamang
sinusuportahan ang ilang mga format ng pag-debug, at maaaring maging oras ang proseso ng conversion
ubusin

--gap-fill Val
Punan ang mga puwang sa pagitan ng mga seksyon na may Val. Nalalapat ang operasyong ito sa magkarga tirahan (LMA)
ng mga seksyon. Ginagawa ito sa pamamagitan ng pagtaas ng laki ng seksyon na may mas mababa
address, at punan ang dagdag na espasyong ginawa gamit ang Val.

--pad-to tirahan
I-pad ang output file hanggang sa address ng pag-load tirahan. Ginagawa ito sa pamamagitan ng pagtaas ng
laki ng huling seksyon. Ang sobrang espasyo ay pinupunan ng halaga na tinukoy ni
--gap-fill (default na zero).

--set-start Val
Itakda ang panimulang address ng bagong file sa Val. Hindi lahat ng object file format ay sumusuporta
pagtatakda ng panimulang address.

--pagbabago-simula incr
--adjust-start incr
Baguhin ang panimulang address sa pamamagitan ng pagdaragdag incr. Hindi lahat ng object file format ay sumusuporta sa setting
ang panimulang address.

--palitan ang mga address incr
--adjust-vma incr
Baguhin ang VMA at LMA address ng lahat ng seksyon, pati na rin ang panimulang address, sa pamamagitan ng
pagdaragdag incr. Ang ilang mga object file format ay hindi pinapayagan ang mga address ng seksyon na baguhin
arbitraryo. Tandaan na hindi nito nililipat ang mga seksyon; kung inaasahan ng programa
mga seksyon na ilo-load sa isang tiyak na address, at ang opsyong ito ay ginagamit upang baguhin ang
mga seksyon na na-load ang mga ito sa ibang address, maaaring mabigo ang programa.

--change-section-address sectionpattern{=+,-}Val
--adjust-section-vma sectionpattern{=+,-}Val
Itakda o baguhin ang parehong VMA address at ang LMA address ng anumang pagtutugma ng seksyon
sectionpattern. Kung = ay ginagamit, ang address ng seksyon ay nakatakda sa Val. Kung hindi man, Val is
idinagdag o ibinawas sa address ng seksyon. Tingnan ang mga komento sa ilalim
--palitan ang mga address, sa itaas. Kung sectionpattern ay hindi tumutugma sa anumang mga seksyon sa input
file, isang babala ang ibibigay, maliban kung --walang-pagbabago-babala Ginagamit.

--change-section-lma sectionpattern{=+,-}Val
Itakda o baguhin ang LMA address ng anumang mga seksyong tumutugma sectionpattern. Ang LMA
ang address ay ang address kung saan ilo-load ang seksyon sa memorya sa pag-load ng programa
oras. Karaniwan ito ay pareho sa VMA address, na siyang address ng
seksyon sa oras ng pagpapatakbo ng programa, ngunit sa ilang mga sistema, lalo na sa mga kung nasaan ang isang programa
gaganapin sa ROM, ang dalawa ay maaaring magkaiba. Kung = ay ginagamit, ang address ng seksyon ay nakatakda sa
Val. Kung hindi man, Val ay idinaragdag o ibinabawas sa address ng seksyon. Tingnan ang
mga komento sa ilalim --palitan ang mga address, sa itaas. Kung sectionpattern hindi tumutugma sa alinman
mga seksyon sa input file, isang babala ang ibibigay, maliban kung --walang-pagbabago-babala is
ginagamit.

--change-section-vma sectionpattern{=+,-}Val
Itakda o baguhin ang VMA address ng anumang pagtutugma ng seksyon sectionpattern. Ang address ng VMA
ay ang address kung saan matatagpuan ang seksyon kapag nagsimula na ang programa
nagsasagawa. Karaniwan ito ay kapareho ng LMA address, na kung saan ay ang address kung saan
ang seksyon ay mai-load sa memorya, ngunit sa ilang mga sistema, lalo na ang mga kung saan a
programa ay gaganapin sa ROM, ang dalawa ay maaaring magkaiba. Kung = ay ginagamit, ang address ng seksyon
ay nakatakda sa Val. Kung hindi man, Val ay idinaragdag o ibinabawas sa address ng seksyon.
Tingnan ang mga komento sa ilalim --palitan ang mga address, sa itaas. Kung sectionpattern hindi tugma
anumang mga seksyon sa input file, isang babala ang ibibigay, maliban kung --walang-pagbabago-babala
Ginagamit.

--pagbabago-babala
--adjust-babala
If --change-section-address or --change-section-lma or --change-section-vma Ginagamit,
at ang pattern ng seksyon ay hindi tumutugma sa anumang mga seksyon, magbigay ng babala. Ito ang
default.

--walang-pagbabago-babala
--walang-adjust-babala
Huwag magbigay ng babala kung --change-section-address or --adjust-section-lma or
--adjust-section-vma ay ginagamit, kahit na ang pattern ng seksyon ay hindi tumutugma sa anumang mga seksyon.

--set-section-flags sectionpattern=flag
Itakda ang mga flag para sa anumang mga seksyon na tumutugma sectionpattern. ang flag ang argumento ay isang kuwit
pinaghiwalay na string ng mga pangalan ng bandila. Ang mga kinikilalang pangalan ay alloc, nilalaman, magkarga,
walang load, Basahin lamang, code, data, ROM, ibahagi, at mag-alis ng mga insekto. Maaari mong itakda ang nilalaman bandila
para sa isang seksyon na walang mga nilalaman, ngunit hindi makahulugang i-clear ang
nilalaman flag ng isang seksyon na may mga nilalaman--alisin na lang ang seksyon.
Hindi lahat ng flag ay makabuluhan para sa lahat ng object file format.

--add-section pangalan ng seksyon=filename
Magdagdag ng bagong seksyon na pinangalanan pangalan ng seksyon habang kinokopya ang file. Ang mga nilalaman ng bago
Ang seksyon ay kinuha mula sa file filename. Ang laki ng seksyon ay magiging laki ng
ang file. Gumagana lang ang opsyong ito sa mga format ng file na maaaring suportahan ang mga seksyon na may
arbitrary na mga pangalan. Tandaan - maaaring kailanganin na gamitin ang --set-section-flags pagpipilian sa
itakda ang mga katangian ng bagong likhang seksyon.

--dump-seksyon pangalan ng seksyon=filename
Ilagay ang mga nilalaman ng seksyon na pinangalanan pangalan ng seksyon sa file filename, pag-overwrite
anumang nilalaman na maaaring naroon na dati. Ang pagpipiliang ito ay kabaligtaran ng
--add-section. Ang pagpipiliang ito ay katulad ng --lamang-seksyon pagpipilian maliban na ito
ay hindi gumagawa ng na-format na file, itinatapon lang nito ang mga nilalaman bilang raw binary data,
nang hindi nag-aaplay ng anumang mga relokasyon. Maaaring tukuyin ang opsyon nang higit sa isang beses.

--update-seksyon pangalan ng seksyon=filename
Palitan ang mga kasalukuyang nilalaman ng isang seksyon na pinangalanan pangalan ng seksyon kasama ang mga nilalaman ng file
filename. Ang laki ng seksyon ay iaakma sa laki ng file. Ang
mga flag ng seksyon para sa pangalan ng seksyon ay hindi magbabago. Para sa ELF format file ang seksyon sa
Ang pagmamapa ng segment ay mananatiling hindi nagbabago, isang bagay na hindi posibleng gamitin
--alisin-seksyon sinundan ng --add-section. Ang opsyon ay maaaring tukuyin ng higit sa
isang beses.

Tandaan - posible itong gamitin --rename-section at --update-seksyon sa parehong pag-update at
palitan ang pangalan ng isang seksyon mula sa isang command line. Sa kasong ito, ipasa ang orihinal na pangalan ng seksyon
sa --update-seksyon, at ang orihinal at bagong mga pangalan ng seksyon sa --rename-section.

--add-symbol pangalan=[seksyon:]halaga[,flag]
Magdagdag ng bagong simbolo na pinangalanan pangalan habang kinokopya ang file. Maaaring tukuyin ang opsyong ito
maraming beses. Kung ang seksyon ay ibinigay, ang simbolo ay iuugnay sa at
kaugnay sa seksyong iyon, kung hindi, ito ay isang simbolo ng ABS. Pagtukoy ng isang hindi natukoy
seksyon ay magreresulta sa isang nakamamatay na error. Walang tseke para sa halaga, ito ay magiging
kinuha bilang tinukoy. Maaaring tukuyin ang mga simbolo ng flag at hindi lahat ng flag ay magiging
makabuluhan para sa lahat ng mga format ng object file. Bilang default, ang simbolo ay magiging pandaigdigan. Ang
espesyal na bandila 'bago =othersym' ay ipapasok ang bagong simbolo sa harap ng tinukoy
othersym, kung hindi, ang (mga) simbolo ay idaragdag sa dulo ng talahanayan ng simbolo sa
pagkakasunud-sunod ng paglitaw nila.

--rename-section lumang pangalan=bagong pangalan[,flag]
Palitan ang pangalan ng isang seksyon mula sa lumang pangalan sa bagong pangalan, opsyonal na palitan ang mga flag ng seksyon sa
flag nasa proseso. Ito ay may kalamangan sa paggamit ng isang linker script upang maisagawa ang
palitan ang pangalan sa na ang output ay nananatili bilang isang object file at hindi nagiging isang naka-link
maipapatupad.

Ang pagpipiliang ito ay partikular na nakakatulong kapag binary ang format ng pag-input, dahil ito ay
palaging lumikha ng isang seksyon na tinatawag na .data. Kung halimbawa, gusto mong gumawa ng isang
seksyong tinatawag na .rodata na naglalaman ng binary data na maaari mong gamitin ang sumusunod na command line
upang makamit ito:

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


--mahabang-seksyon-pangalan {enable,disable, keep}
Kinokontrol ang pangangasiwa ng mahabang pangalan ng seksyon kapag pinoproseso ang "COFF" at "PE-COFF"
mga format ng bagay. Ang default na pag-uugali, panatilihin, ay upang mapanatili ang mahabang pangalan ng seksyon kung mayroon man
ay naroroon sa input file. Ang paganahin at huwag paganahin sapilitang paganahin ang mga opsyon o
huwag paganahin ang paggamit ng mahabang pangalan ng seksyon sa output object; kailan huwag paganahin ay may bisa,
anumang mahabang pangalan ng seksyon sa input object ay puputulin. Ang paganahin kalooban ng pagpipilian
naglalabas lamang ng mahahabang pangalan ng seksyon kung mayroon man sa mga input; ito ay halos pareho
as panatilihin, ngunit hindi natukoy kung ang paganahin maaaring pilitin ng opsyon ang paggawa
ng isang walang laman na talahanayan ng string sa output file.

--change-leading-char
Ang ilang mga object file format ay gumagamit ng mga espesyal na character sa simula ng mga simbolo. Ang pinaka
karaniwang tulad ng character ay underscore, na madalas idagdag ng mga compiler bago ang bawat simbolo.
Ang pagpipiliang ito ay nagsasabi objcopy upang baguhin ang nangungunang karakter ng bawat simbolo kapag ito
nagko-convert sa pagitan ng mga format ng object file. Kung ang object file format ay gumagamit ng parehong nangungunang
character, walang epekto ang opsyong ito. Kung hindi, magdaragdag ito ng isang character, o mag-aalis ng a
karakter, o baguhin ang isang karakter, kung naaangkop.

--alisin-nangungunang-char
Kung ang unang karakter ng isang pandaigdigang simbolo ay isang espesyal na simbolo na nangungunang karakter na ginamit
sa pamamagitan ng object file format, alisin ang character. Ang pinakakaraniwang simbolo na nangunguna
ang karakter ay may salungguhit. Aalisin ng opsyong ito ang isang nangungunang underscore mula sa lahat ng global
mga simbolo. Maaari itong maging kapaki-pakinabang kung gusto mong i-link ang mga bagay na may iba't ibang file
mga format na may iba't ibang mga kumbensyon para sa mga pangalan ng simbolo. Iba ito sa
--change-leading-char dahil palagi nitong binabago ang pangalan ng simbolo kapag naaangkop,
anuman ang object file format ng output file.

--reverse-bytes=num
Baliktarin ang mga byte sa isang seksyon na may mga nilalaman ng output. Ang haba ng seksyon ay dapat na pantay
mahahati sa halagang ibinigay para magawa ang swap. Binabaliktad
nagaganap bago isagawa ang interleaving.

Karaniwang ginagamit ang opsyong ito sa pagbuo ng mga imahe ng ROM para sa mga may problemang target na sistema.
Halimbawa, sa ilang target na board, ang mga 32-bit na salita na kinukuha mula sa 8-bit ROM ay muling
binuo sa little-endian byte order anuman ang CPU byte order. Depende sa
ang modelo ng programming, ang endianness ng ROM ay maaaring kailangang baguhin.

Isaalang-alang ang isang simpleng file na may isang seksyon na naglalaman ng sumusunod na walong byte: 12345678.

paggamit --reverse-bytes=2 para sa halimbawa sa itaas, ang mga byte sa output file ay magiging
nag-order sa 21436587.

paggamit --reverse-bytes=4 para sa halimbawa sa itaas, ang mga byte sa output file ay magiging
nag-order sa 43218765.

Sa pamamagitan ng paggamit --reverse-bytes=2 para sa halimbawa sa itaas, na sinusundan ng --reverse-bytes=4 sa
output file, ang mga byte sa pangalawang output file ay iuutos na 34127856.

--srec-len=Ival
Makahulugan lamang para sa srec output. Itakda ang maximum na haba ng pagiging Srecords
ginawa sa Ival. Ang haba na ito ay sumasaklaw sa parehong mga field ng address, data at crc.

--srec-forceS3
Makahulugan lamang para sa srec output. Iwasan ang pagbuo ng mga S1/S2 na tala, paggawa ng S3-only
format ng record.

--redefine-sym luma=bago
Baguhin ang pangalan ng isang simbolo luma, Upang bago. Maaari itong maging kapaki-pakinabang kapag sinusubukan ng isa ang link
dalawang bagay na magkasama na wala kang pinagmumulan, at may mga banggaan ng pangalan.

--redefine-syms=filename
gamitin --redefine-sym sa bawat pares ng simbolo"luma bago" nakalista sa file filename.
filename ay simpleng flat file, na may isang pares ng simbolo bawat linya. Ang mga komento sa linya ay maaaring
ipinakilala ng hash na character. Maaaring ibigay ang opsyong ito nang higit sa isang beses.

--mahina
Baguhin ang lahat ng mga pandaigdigang simbolo sa file upang maging mahina. Ito ay maaaring maging kapaki-pakinabang kapag nagtatayo ng isang
bagay na iuugnay laban sa iba pang mga bagay gamit ang -R opsyon sa linker.
Ang pagpipiliang ito ay epektibo lamang kapag gumagamit ng isang object file format na sumusuporta sa mahina
mga simbolo.

--keep-symbols=filename
gamitin --panatilihin-simbulo opsyon sa bawat simbolo na nakalista sa file filename. filename is
simpleng flat file, na may isang pangalan ng simbolo bawat linya. Ang mga komento sa linya ay maaaring ipakilala ng
ang karakter ng hash. Maaaring ibigay ang opsyong ito nang higit sa isang beses.

--strip-symbols=filename
gamitin --strip-simbolo opsyon sa bawat simbolo na nakalista sa file filename. filename is
simpleng flat file, na may isang pangalan ng simbolo bawat linya. Ang mga komento sa linya ay maaaring ipakilala ng
ang karakter ng hash. Maaaring ibigay ang opsyong ito nang higit sa isang beses.

--strip-unneeded-symbols=filename
gamitin --strip-unneeded-symbol opsyon sa bawat simbolo na nakalista sa file filename.
filename ay simpleng flat file, na may isang pangalan ng simbolo bawat linya. Ang mga komento sa linya ay maaaring
ipinakilala ng hash na character. Maaaring ibigay ang opsyong ito nang higit sa isang beses.

--keep-global-symbols=filename
gamitin --panatilihin-global-simbulo opsyon sa bawat simbolo na nakalista sa file filename.
filename ay simpleng flat file, na may isang pangalan ng simbolo bawat linya. Ang mga komento sa linya ay maaaring
ipinakilala ng hash na character. Maaaring ibigay ang opsyong ito nang higit sa isang beses.

--localize-symbols=filename
gamitin --localize-simbolo opsyon sa bawat simbolo na nakalista sa file filename. filename
ay simpleng flat file, na may isang pangalan ng simbolo bawat linya. Maaaring ipakilala ang mga komento sa linya
sa pamamagitan ng hash character. Maaaring ibigay ang opsyong ito nang higit sa isang beses.

--globalize-symbols=filename
gamitin --globalize-simbolo opsyon sa bawat simbolo na nakalista sa file filename. filename
ay simpleng flat file, na may isang pangalan ng simbolo bawat linya. Maaaring ipakilala ang mga komento sa linya
sa pamamagitan ng hash character. Maaaring ibigay ang opsyong ito nang higit sa isang beses.

--weaken-symbols=filename
gamitin --mahina-simbulo opsyon sa bawat simbolo na nakalista sa file filename. filename is
simpleng flat file, na may isang pangalan ng simbolo bawat linya. Ang mga komento sa linya ay maaaring ipakilala ng
ang karakter ng hash. Maaaring ibigay ang opsyong ito nang higit sa isang beses.

--alt-machine-code=index
Kung ang arkitektura ng output ay may mga alternatibong code ng makina, gamitin ang indexang code sa halip
ng default. Ito ay kapaki-pakinabang kung sakaling ang isang makina ay nakatalaga ng isang opisyal na code at
ang tool-chain ay gumagamit ng bagong code, ngunit ang ibang mga application ay nakadepende pa rin sa
orihinal na code na ginagamit. Para sa mga arkitektura na nakabatay sa ELF kung ang index ginagawa ng alternatibo
hindi umiiral kung gayon ang halaga ay itinuturing bilang isang ganap na numero na maiimbak sa
e_machine field ng ELF header.

--nasusulat-teksto
Markahan ang output text bilang masusulat. Ang pagpipiliang ito ay hindi makabuluhan para sa lahat ng object file
format.

--readonly-text
Gawing protektado ang output text write. Ang pagpipiliang ito ay hindi makabuluhan para sa lahat ng bagay
mga format ng file.

--dalisay
Markahan ang output file bilang demand paged. Ang pagpipiliang ito ay hindi makabuluhan para sa lahat ng bagay
mga format ng file.

--marumi
Markahan ang output file bilang hindi malinis. Ang pagpipiliang ito ay hindi makabuluhan para sa lahat ng object file
format.

--prefix-symbols=pisi
Prefix ang lahat ng mga simbolo sa output file na may pisi.

--prefix-sections=pisi
Prefix ang lahat ng pangalan ng seksyon sa output file na may pisi.

--prefix-alloc-sections=pisi
Prefix ang lahat ng mga pangalan ng lahat ng inilalaan na seksyon sa output file na may pisi.

--add-gnu-debuglink=path-to-file
Lumilikha ng seksyong .gnu_debuglink na naglalaman ng reference sa path-to-file at nagdadagdag
ito sa output file. Tandaan: ang file sa path-to-file dapat umiral. Parte ng
Ang proseso ng pagdaragdag ng seksyong .gnu_debuglink ay nagsasangkot ng pag-embed ng checksum ng
mga nilalaman ng file ng impormasyon sa pag-debug sa seksyon.

Kung ang debug info file ay binuo sa isang lokasyon ngunit ito ay mai-install sa a
sa ibang pagkakataon sa ibang lokasyon pagkatapos ay huwag gamitin ang landas sa naka-install
lokasyon. Ang --add-gnu-debuglink mabibigo ang opsyon dahil ginagawa ng naka-install na file
wala pa. Sa halip ay ilagay ang debug info file sa kasalukuyang direktoryo at gamitin ang
--add-gnu-debuglink opsyon nang walang anumang bahagi ng direktoryo, tulad nito:

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

Sa oras ng pag-debug, susubukan ng debugger na hanapin ang hiwalay na file ng impormasyon sa pag-debug sa a
hanay ng mga kilalang lokasyon. Ang eksaktong hanay ng mga lokasyong ito ay nag-iiba depende sa
ginagamit ang pamamahagi, ngunit kadalasang kinabibilangan ito ng:

"* Ang parehong direktoryo bilang ang executable."
"* Isang sub-directory ng direktoryo na naglalaman ng executable"
tinatawag na .debug

"* Isang pangkalahatang direktoryo ng debug gaya ng /usr/lib/debug."

Hangga't ang file ng impormasyon sa pag-debug ay na-install sa isa sa mga lokasyong ito dati
ang debugger ay tumatakbo ang lahat ay dapat gumana nang tama.

--keep-file-symbols
Kapag nagtanggal ng file, marahil ay may --strip-debug or --strip-hindi kailangan, panatilihin ang anuman
mga simbolo na tumutukoy sa mga pangalan ng source file, na kung hindi man ay maaalis.

--lamang-keep-debug
Mag-alis ng file, mag-alis ng mga nilalaman ng anumang mga seksyon na hindi aalisin ng
--strip-debug at iniwang buo ang mga seksyon ng pag-debug. Sa mga file ng ELF, pinapanatili nito
lahat ng mga seksyon ng tala sa output.

Tandaan - ang mga header ng seksyon ng mga natanggal na seksyon ay pinapanatili, kasama ang mga ito
laki, ngunit ang mga nilalaman ng seksyon ay itinapon. Ang mga header ng seksyon ay
napanatili upang maitugma ng ibang mga tool ang debuginfo file sa real
executable, kahit na ang executable na iyon ay inilipat sa ibang address space.

Ang layunin ay ang pagpipiliang ito ay gagamitin kasabay ng --add-gnu-debuglink
upang lumikha ng dalawang bahagi na maipapatupad. Ang isa ay isang stripped binary na sasakupin ng mas kaunting espasyo
sa RAM at sa isang pamamahagi at ang pangalawa ay isang file ng impormasyon sa pag-debug na kung saan ay lamang
kailangan kung kinakailangan ang mga kakayahan sa pag-debug. Ang iminungkahing pamamaraan upang lumikha ng mga ito
ang mga file ay ang mga sumusunod:

1.
"foo" tapos...

1.
lumikha ng isang file na naglalaman ng impormasyon sa pag-debug.

1.
hinubaran executable.

1.
upang magdagdag ng link sa impormasyon sa pag-debug sa natanggal na executable.

Tandaan---ang pagpili ng ".dbg" bilang extension para sa debug info file ay arbitrary.
Gayundin ang hakbang na "--only-keep-debug" ay opsyonal. Sa halip, maaari mong gawin ito:

1.
1.
1.
1.

ibig sabihin, ang file na itinuro ng --add-gnu-debuglink maaaring maging ganap na maipapatupad. Ito
ay hindi kailangang isang file na nilikha ng --lamang-keep-debug Lumipat.

Tandaan --- ang switch na ito ay inilaan lamang para sa paggamit sa ganap na naka-link na mga file. Hindi ito gumagawa
pakiramdam na gamitin ito sa mga object file kung saan maaaring hindi kumpleto ang impormasyon sa pag-debug.
Bukod sa tampok na gnu_debuglink ay kasalukuyang sumusuporta lamang sa pagkakaroon ng isang filename
naglalaman ng impormasyon sa pag-debug, hindi maramihang mga filename sa isang one-per-object-file
batayan.

--strip-dwo
Alisin ang mga nilalaman ng lahat ng DWARF .dwo na seksyon, na iniiwan ang natitirang pag-debug
mga seksyon at lahat ng mga simbolo ay buo. Ang pagpipiliang ito ay inilaan para sa paggamit ng compiler bilang
bahagi ng -gsplit-dwarf opsyon, na naghahati sa impormasyon ng debug sa pagitan ng .o file
at isang hiwalay na .dwo file. Binubuo ng compiler ang lahat ng impormasyon sa pag-debug nang pareho
file, pagkatapos ay ginagamit ang --extract-dwo opsyong kopyahin ang mga seksyong .dwo sa .dwo file,
pagkatapos ay ang --strip-dwo opsyong alisin ang mga seksyong iyon mula sa orihinal na .o file.

--extract-dwo
I-extract ang mga nilalaman ng lahat ng DWARF .dwo na seksyon. Tingnan ang --strip-dwo opsyon para sa higit pa
impormasyon.

--file-alignment num
Tukuyin ang pagkakahanay ng file. Ang mga seksyon sa file ay palaging magsisimula sa mga offset ng file
na mga multiple ng numerong ito. Nagde-default ito sa 512. [This option is specific
sa mga target ng PE.]

--bunton reserba
--bunton reserba,gumawa
Tukuyin ang bilang ng mga byte ng memory na irereserba (at opsyonal na i-commit) na gagamitin bilang
tambak para sa programang ito. [Ang pagpipiliang ito ay partikular sa mga target ng PE.]

--image-base halaga
paggamit halaga bilang base address ng iyong program o dll. Ito ang pinakamababang memorya
lokasyon na gagamitin kapag na-load ang iyong program o dll. Upang mabawasan ang pangangailangan sa
ilipat at pagbutihin ang pagganap ng iyong mga dll, ang bawat isa ay dapat magkaroon ng isang natatanging base address
at hindi nagsasapawan ng anumang iba pang mga dll. Ang default ay 0x400000 para sa mga executable, at
0x10000000 para sa mga dll. [Ang opsyon na ito ay partikular sa mga target ng PE.]

--section-alignment num
Itinatakda ang pagkakahanay ng seksyon. Ang mga seksyon sa memorya ay palaging magsisimula sa mga address na kung saan
ay isang multiple ng numerong ito. Default sa 0x1000. [Ang opsyon na ito ay partikular sa PE
mga target.]

--salansan reserba
--salansan reserba,gumawa
Tukuyin ang bilang ng mga byte ng memory na irereserba (at opsyonal na i-commit) na gagamitin bilang
stack para sa program na ito. [Ang opsyong ito ay partikular sa mga target ng PE.]

--subsystem alin
--subsystem alin:pangunahing
--subsystem alin:pangunahing.minor
Tinutukoy ang subsystem kung saan ipapatupad ang iyong program. Ang mga legal na halaga para sa
alin ay "native", "windows", "console", "posix", "efi-app", "efi-bsd", "efi-rtd",
"sal-rtd", at "xbox". Maaari mo ring itakda ang bersyon ng subsystem. Numeric
tinatanggap din ang mga halaga para sa alin. [Ang opsyon na ito ay partikular sa mga target ng PE.]

--extract-simbolo
Panatilihin ang mga flag at simbolo ng seksyon ng file ngunit alisin ang lahat ng data ng seksyon. Sa partikular,
ang pagpipilian:

*
*
*

Ang pagpipiliang ito ay ginagamit upang bumuo ng isang .sym file para sa isang VxWorks kernel. Maaari rin itong maging a
kapaki-pakinabang na paraan ng pagbabawas ng laki ng a --mga-simbolo lamang linker input file.

--compress-debug-sections
I-compress ang mga seksyon ng DWARF debug gamit ang zlib na may SHF_COMPRESSED mula sa ELF ABI. Tandaan -
kung ang compression ay talagang gagawa ng isang seksyon mas malaki, pagkatapos ay hindi ito na-compress.

--compress-debug-sections=wala
--compress-debug-sections=zlib
--compress-debug-sections=zlib-gnu
--compress-debug-sections=zlib-gabi
Para sa mga ELF file, kinokontrol ng mga opsyong ito kung paano kino-compress ang mga seksyon ng DWARF debug.
--compress-debug-sections=wala ay katumbas ng --decompress-debug-sections.
--compress-debug-sections=zlib at --compress-debug-sections=zlib-gabi ay katumbas
sa --compress-debug-sections. --compress-debug-sections=zlib-gnu nag-compress ng DWARF
i-debug ang mga seksyon gamit ang zlib. Ang mga seksyon ng debug ay pinalitan ng pangalan upang magsimula .zdebug
sa halip ng .debug. Tandaan - kung ang compression ay talagang gagawa ng isang seksyon mas malaki, Pagkatapos
hindi ito na-compress o pinalitan ng pangalan.

--decompress-debug-sections
I-decompress ang mga seksyon ng pag-debug ng DWARF gamit ang zlib. Ang orihinal na mga pangalan ng seksyon ng
ang mga naka-compress na seksyon ay naibalik.

-V
--bersyon
Ipakita ang numero ng bersyon ng objcopy.

-v
--verbose
Verbose output: ilista ang lahat ng object file na binago. Sa kaso ng mga archive, objcopy -V
naglilista ng lahat ng miyembro ng archive.

- Tumulong
Magpakita ng buod ng mga opsyon sa objcopy.

--impormasyon
Magpakita ng isang listahan na nagpapakita ng lahat ng mga arkitektura at mga format ng object na magagamit.

@file
Basahin ang mga opsyon sa command-line mula sa file. Ang mga opsyon na nabasa ay ipinasok sa lugar ng
orihinal @file pagpipilian Kung file ay hindi umiiral, o hindi mababasa, pagkatapos ay ang opsyon
literal na ituturing, at hindi aalisin.

Mga pagpipilian sa file ay pinaghihiwalay ng whitespace. Maaaring may kasamang whitespace na character
sa isang opsyon sa pamamagitan ng pagpapaligid sa buong opsyon sa alinman sa isa o dobleng panipi. Anuman
character (kabilang ang isang backslash) ay maaaring isama sa pamamagitan ng paglalagay ng prefix sa magiging character
kasama ng backslash. Ang file maaaring maglaman ng karagdagang @file mga pagpipilian; anuman
ang mga ganitong opsyon ay ipoproseso nang paulit-ulit.

Gumamit ng mips-linux-gnu-objcopy online gamit ang mga serbisyo ng onworks.net


Mga Libreng Server at Workstation

Mag-download ng Windows at Linux apps

Linux command

Ad