ພາສາອັງກິດພາສາຝຣັ່ງເຢຍລະມັນItalianປອກຕຸຍການລັດເຊຍແອສປາໂຍນ

OnWorks favicon

mips-linux-gnu-objcopy - ອອນລາຍໃນຄລາວ

ເປີດໃຊ້ mips-linux-gnu-objcopy ໃນ OnWorks ຜູ້ໃຫ້ບໍລິການໂຮດຕິ້ງຟຣີຜ່ານ Ubuntu Online, Fedora Online, Windows online emulator ຫຼື MAC OS online emulator

ນີ້ແມ່ນຄໍາສັ່ງ mips-linux-gnu-objcopy ທີ່ສາມາດດໍາເນີນການໄດ້ໃນ OnWorks ຜູ້ໃຫ້ບໍລິການໂຮດຕິ້ງຟຣີໂດຍໃຊ້ຫນຶ່ງໃນຫຼາຍບ່ອນເຮັດວຽກອອນໄລນ໌ຂອງພວກເຮົາເຊັ່ນ Ubuntu Online, Fedora Online, Windows online emulator ຫຼື MAC OS online emulator

ໂຄງການ:

NAME


objcopy - ຄັດລອກແລະແປໄຟລ໌ວັດຖຸ

ສະຫຼຸບສັງລວມ


ສຳເນົາ [-F bfdname|--ເປົ້າໝາຍ=bfdname]
[-I bfdname|--input-target=bfdname]
[-O bfdname|--output-target=bfdname]
[-B bfdarch|--binary-architecture=bfdarch]
[-S|--strip-ທັງໝົດ]
[-g|--strip-debug]
[-K ສັນຍາລັກ|--keep-symbol=ສັນຍາລັກ]
[-N ສັນຍາລັກ|--strip-symbol=ສັນຍາລັກ]
[--strip-unneeded-symbol=ສັນຍາລັກ]
[-G ສັນຍາລັກ|--keep-global-symbol=ສັນຍາລັກ]
[--localize-hidden]
[-L ສັນຍາລັກ|--localize-symbol=ສັນຍາລັກ]
[--globalize-symbol=ສັນຍາລັກ]
[-W ສັນຍາລັກ|--weaken-ສັນຍາລັກ=ສັນຍາລັກ]
[-w|--wildcard]
[-x|--ຍົກເລີກທັງໝົດ]
[-X|--discard-ທ້ອງຖິ່ນ]
[-b byte|--byte=byte]
[-i [breadth]|-- interleave[=breadth]]
[--interleave-width=width]
[-j ຮູບແບບພາກ|--only-section=ຮູບແບບພາກ]
[-R ຮູບແບບພາກ|--remove-section=ຮູບແບບພາກ]
[-p|--preserve-dates]
[-D|--enable-deterministic-archives]
[-U|--disable-deterministic-archives]
[-- debugging]
[--gap-fill=h]
[--pad-to=ທີ່ຢູ່]
[--set-start=h]
[--adjust-start=incr]
[--change-addresses=incr]
[--change-section-address ຮູບແບບພາກ{=,+,-}h]
[--change-section-lma ຮູບແບບພາກ{=,+,-}h]
[--change-section-vma ຮູບແບບພາກ{=,+,-}h]
[--ຄໍາ​ເຕືອນ​ການ​ປ່ຽນ​ແປງ​] [-- ການ​ເຕືອນ​ໄພ​ບໍ່​ມີ​ການ​ປ່ຽນ​ແປງ​]
[--set-section-flags ຮູບແບບພາກ=ທົງ]
[--ສ່ວນຕື່ມ ຊື່ພາກ=ຊື່​ເອ​ກະ​ສານ]
[-- dump-section ຊື່ພາກ=ຊື່​ເອ​ກະ​ສານ]
[--update-section ຊື່ພາກ=ຊື່​ເອ​ກະ​ສານ]
[--ປ່ຽນຊື່ພາກສ່ວນ ຊື່ເກົ່າ=ຊື່ໃໝ່[,ທົງ]]
[--long-section-names {enable,disable,keep}]
[--change-leading-char] [--remove-leading-char]
[--reverse-bytes=num]
[--srec-len=ງາວ] [--srec-forceS3]
[--reefine-sym ອາຍຸ=ໃຫມ່]
[--redefine-syms=ຊື່​ເອ​ກະ​ສານ]
[-- ອ່ອນເພຍ]
[--keep-symbols=ຊື່​ເອ​ກະ​ສານ]
[--strip-symbols=ຊື່​ເອ​ກະ​ສານ]
[--strip-unneeded-symbols=ຊື່​ເອ​ກະ​ສານ]
[--keep-global-symbols=ຊື່​ເອ​ກະ​ສານ]
[--localize-symbols=ຊື່​ເອ​ກະ​ສານ]
[--globalize-symbols=ຊື່​ເອ​ກະ​ສານ]
[--weaken-symbols=ຊື່​ເອ​ກະ​ສານ]
[--add-ສັນ​ຍາ​ລັກ​ ຊື່=[ສ່ວນ:]ມູນຄ່າ[,ທົງ]
[--alt-machine-code=ດັດຊະນີ]
[--prefix-symbols=string]
[--prefix-sections=string]
[--prefix-alloc-sections=string]
[--add-gnu-debuglink=ເສັ້ນທາງໄປຫາໄຟລ໌]
[--keep-file-ສັນຍາລັກ]
[--only-keep-debug]
[--strip-dwo]
[--extract-dwo]
[--extract-ສັນຍາລັກ]
[--writable-text]
[--readonly-text]
[--ບໍລິສຸດ]
[--ບໍ່ສະອາດ]
[--file-alignment=num]
[--heap=ຂະຫນາດ]
[--image-base=ທີ່ຢູ່]
[--section-alignment=num]
[-- stack=ຂະຫນາດ]
[--ລະບົບຍ່ອຍ=ທີ່:ທີ່ສໍາຄັນ.ເລັກນ້ອຍ]
[--compress-debug-sections]
[--decompress-debug-sections]
[--dwarf-depth=n]
[--dwarf-start=n]
[-v|-- verbose]
[-V|- ການປ່ຽນແປງ]
[- ຊ່ວຍ] [-- ຂໍ້​ມູນ]
infile [outfile]

ລາຍລະອຽດ


GNU ສຳເນົາ utility ຄັດລອກເນື້ອໃນຂອງໄຟລ໌ວັດຖຸຫນຶ່ງໄປຫາອື່ນ. ສຳເນົາ ການນໍາໃຊ້
ຫໍສະໝຸດ GNU BFD ເພື່ອອ່ານ ແລະຂຽນໄຟລ໌ວັດຖຸ. ມັນສາມາດຂຽນຈຸດຫມາຍປາຍທາງ
ໄຟລ໌ວັດຖຸໃນຮູບແບບທີ່ແຕກຕ່າງຈາກໄຟລ໌ວັດຖຸຕົ້ນສະບັບ. ພຶດຕິກໍາທີ່ແນ່ນອນ
of ສຳເນົາ ຖືກຄວບຄຸມໂດຍຕົວເລືອກແຖວຄໍາສັ່ງ. ໃຫ້ສັງເກດວ່າ ສຳເນົາ ຄວນຈະສາມາດ
ສຳເນົາໄຟລ໌ທີ່ເຊື່ອມຕໍ່ທັງໝົດລະຫວ່າງສອງຮູບແບບໃດນຶ່ງ. ຢ່າງໃດກໍ່ຕາມ, ການຄັດລອກວັດຖຸທີ່ສາມາດຍ້າຍໄດ້
ໄຟລ໌ລະຫວ່າງສອງຮູບແບບອາດບໍ່ເຮັດວຽກຕາມທີ່ຄາດໄວ້.

ສຳເນົາ ສ້າງໄຟລ໌ຊົ່ວຄາວເພື່ອເຮັດການແປຂອງມັນ ແລະລຶບພວກມັນອອກຫຼັງຈາກນັ້ນ.
ສຳເນົາ ໃຊ້ BFD ເພື່ອເຮັດວຽກການແປພາສາທັງຫມົດຂອງມັນ; ມັນ​ມີ​ການ​ເຂົ້າ​ເຖິງ​ຮູບ​ແບບ​ທັງ​ຫມົດ​
ອະທິບາຍໄວ້ໃນ BFD ແລະດັ່ງນັ້ນຈຶ່ງສາມາດຮັບຮູ້ຮູບແບບສ່ວນໃຫຍ່ໂດຍບໍ່ມີການບອກຢ່າງຊັດເຈນ.

ສຳເນົາ ສາມາດຖືກນໍາໃຊ້ເພື່ອສ້າງບັນທຶກ S ໂດຍການນໍາໃຊ້ເປົ້າຫມາຍຜົນຜະລິດຂອງ srec (ເຊັ່ນ: ໃຊ້ -O
srec).

ສຳເນົາ ສາມາດຖືກນໍາໃຊ້ເພື່ອສ້າງໄຟລ໌ຖານສອງໂດຍການນໍາໃຊ້ເປົ້າຫມາຍຜົນຜະລິດຂອງ binary
(ເຊັ່ນ: ໃຊ້ -O binary). ເມື່ອ​ໃດ​ ສຳເນົາ ສ້າງໄຟລ໌ໄບນາຣີດິບ, ມັນເປັນສິ່ງຈໍາເປັນ
ຜະລິດການຖິ້ມຄວາມຊົງຈໍາຂອງເນື້ອໃນຂອງໄຟລ໌ວັດຖຸວັດສະດຸປ້ອນ. ສັນຍາລັກທັງຫມົດແລະ
ຂໍ້ມູນການຍົກຍ້າຍຈະຖືກຍົກເລີກ. ການຖິ້ມຫນ່ວຍຄວາມຈໍາຈະເລີ່ມຕົ້ນຢູ່ທີ່ທີ່ຢູ່ໂຫຼດ
ຂອງພາກຕ່ໍາສຸດຄັດລອກເຂົ້າໄປໃນໄຟລ໌ຜົນຜະລິດ.

ເມື່ອສ້າງ S-record ຫຼືໄຟລ໌ binary ດິບ, ມັນອາດຈະເປັນປະໂຫຍດໃນການນໍາໃຊ້ -S ເອົາ
ພາກສ່ວນທີ່ມີຂໍ້ມູນການດີບັກ. ໃນ​ບາງ​ກໍ​ລະ​ນີ -R ຈະເປັນປະໂຫຍດທີ່ຈະເອົາອອກ
ພາກສ່ວນທີ່ມີຂໍ້ມູນທີ່ບໍ່ຈໍາເປັນໂດຍໄຟລ໌ຖານສອງ.

ຫມາຍ​ເຫດ​---ສຳເນົາ ບໍ່ສາມາດປ່ຽນ endianness ຂອງໄຟລ໌ປ້ອນຂໍ້ມູນຂອງມັນ. ຖ້າຫາກວ່າການປ້ອນຂໍ້ມູນ
ຮູບແບບມີ endianness (ບາງຮູບແບບບໍ່ມີ), ສຳເນົາ ພຽງແຕ່ສາມາດຄັດລອກວັດສະດຸປ້ອນເຂົ້າໄປໃນໄຟລ໌
ຮູບແບບທີ່ມີ endianness ດຽວກັນ ຫຼືບໍ່ມີ endianness (ເຊັ່ນ: srec). (ຢ່າງ​ໃດ​ກໍ​ຕາມ,
ເບິ່ງໄດ້ --reverse-bytes ທາງເລືອກ.)

OPTIONS


infile
outfile
ໄຟລ໌ປ້ອນຂໍ້ມູນ ແລະຜົນຜະລິດຕາມລໍາດັບ. ຖ້າທ່ານບໍ່ລະບຸ outfile, ສຳເນົາ
ສ້າງໄຟລ໌ຊົ່ວຄາວແລະທໍາລາຍການປ່ຽນຊື່ຜົນໄດ້ຮັບດ້ວຍຊື່ຂອງ infile.

-I bfdname
--input-target=bfdname
ພິຈາລະນາຮູບແບບວັດຖຸຂອງໄຟລ໌ແຫຼ່ງທີ່ຈະເປັນ bfdname, ແທນທີ່ຈະພະຍາຍາມ
deduce ມັນ.

-O bfdname
--output-target=bfdname
ຂຽນໄຟລ໌ຜົນຜະລິດໂດຍໃຊ້ຮູບແບບວັດຖຸ bfdname.

-F bfdname
--ເປົ້າໝາຍ=bfdname
ການນໍາໃຊ້ bfdname ເປັນຮູບແບບວັດຖຸສໍາລັບທັງວັດສະດຸປ້ອນແລະໄຟລ໌ຜົນຜະລິດ; ie, ພຽງແຕ່
ໂອນຂໍ້ມູນຈາກແຫຼ່ງໄປຫາປາຍທາງໂດຍບໍ່ມີການແປ.

-B bfdarch
--binary-architecture=bfdarch
ເປັນປະໂຫຍດເມື່ອປ່ຽນໄຟລ໌ວັດສະດຸປ້ອນເຂົ້າໜ້ອຍລົງໃນສະຖາປັດຕະຍະກຳເປັນໄຟລ໌ວັດຖຸ. ໃນ​ນີ້
ກໍ​ລະ​ນີ​ສະ​ຖາ​ປັດ​ຕະ​ຜົນ​ຜະ​ລິດ​ສາ​ມາດ​ໄດ້​ຮັບ​ການ​ຕັ້ງ​ເປັນ​ bfdarch. ຕົວເລືອກນີ້ຈະຖືກລະເລີຍຖ້າ
ໄຟລ​໌​ປ້ອນ​ຂໍ້​ມູນ​ທີ່​ມີ​ທີ່​ຮູ້​ຈັກ​ bfdarch. ທ່ານສາມາດເຂົ້າເຖິງຂໍ້ມູນຖານສອງນີ້ພາຍໃນໂຄງການ
ໂດຍອ້າງອີງໃສ່ສັນຍາລັກພິເສດທີ່ສ້າງຂຶ້ນໂດຍຂະບວນການປ່ຽນໃຈເຫລື້ອມໃສ. ເຫຼົ່ານີ້
ສັນຍາລັກເອີ້ນວ່າ _binary_objfile_start, _binary_objfile_ສິ້ນສຸດ ແລະ
_binary_objfile_ຂະໜາດ. eg ທ່ານ​ສາ​ມາດ​ຫັນ​ປ່ຽນ​ໄຟລ​໌​ຮູບ​ພາບ​ເປັນ​ໄຟລ​໌​ວັດ​ຖຸ​ແລະ​
ຈາກນັ້ນເຂົ້າຫາມັນໃນລະຫັດຂອງທ່ານໂດຍໃຊ້ສັນຍາລັກເຫຼົ່ານີ້.

-j ຮູບແບບພາກ
--only-section=ຮູບແບບພາກ
ຄັດລອກພຽງແຕ່ສ່ວນທີ່ລະບຸຈາກໄຟລ໌ປ້ອນຂໍ້ມູນໄປຫາໄຟລ໌ຜົນຜະລິດ. ທາງເລືອກນີ້
ອາດຈະໄດ້ຮັບຫຼາຍກວ່າຫນຶ່ງຄັ້ງ. ໃຫ້ສັງເກດວ່າການນໍາໃຊ້ທາງເລືອກນີ້ບໍ່ເຫມາະສົມອາດຈະເຮັດໃຫ້
ໄຟລ໌ຜົນຜະລິດໃຊ້ບໍ່ໄດ້. ຕົວອັກສອນແທນນາມຖືກຍອມຮັບໃນ ຮູບແບບພາກ.

-R ຮູບແບບພາກ
--remove-section=ຮູບແບບພາກ
ເອົາພາກສ່ວນໃດນຶ່ງທີ່ກົງກັນອອກ ຮູບແບບພາກ ຈາກ​ໄຟລ​໌​ຜົນ​ຜະ​ລິດ​ໄດ້​. ທາງເລືອກນີ້ອາດຈະເປັນ
ໃຫ້ຫຼາຍກວ່າຫນຶ່ງຄັ້ງ. ໃຫ້ສັງເກດວ່າການນໍາໃຊ້ທາງເລືອກນີ້ບໍ່ເຫມາະສົມອາດຈະເຮັດໃຫ້ຜົນຜະລິດໄດ້
ໄຟລ໌ໃຊ້ບໍ່ໄດ້. ຕົວອັກສອນແທນນາມຖືກຍອມຮັບໃນ ຮູບແບບພາກ. ການ​ນໍາ​ໃຊ້​ທັງ​ສອງ​ -j
ແລະ -R ທາງເລືອກຮ່ວມກັນເຮັດໃຫ້ພຶດຕິກໍາທີ່ບໍ່ໄດ້ກໍານົດ.

-S
--strip-ທັງໝົດ
ຢ່າຄັດລອກຂໍ້ມູນການຍົກຍ້າຍແລະສັນຍາລັກຈາກໄຟລ໌ແຫຼ່ງ.

-g
--strip-debug
ຫ້າມຄັດລອກສັນຍາລັກຫຼືພາກສ່ວນການດີບັກຈາກໄຟລ໌ແຫຼ່ງ.

--strip-ບໍ່ຈໍາເປັນ
ຖອດສັນຍາລັກທັງໝົດທີ່ບໍ່ຈຳເປັນສຳລັບການຍົກຍ້າຍ.

-K ສັນຍາລັກ
--keep-symbol=ສັນຍາລັກ
ເມື່ອລອກເອົາສັນຍາລັກ, ຮັກສາສັນຍາລັກ ສັນຍາລັກ ເຖິງແມ່ນວ່າມັນຈະຖືກຖອດອອກຕາມປົກກະຕິ.
ທາງເລືອກນີ້ອາດຈະໄດ້ຮັບຫຼາຍກວ່າຫນຶ່ງຄັ້ງ.

-N ສັນຍາລັກ
--strip-symbol=ສັນຍາລັກ
ຫ້າມສຳເນົາສັນຍາລັກ ສັນຍາລັກ ຈາກໄຟລ໌ແຫຼ່ງ. ທາງເລືອກນີ້ອາດຈະໄດ້ຮັບຫຼາຍກວ່າ
ກ່ວາຫນຶ່ງຄັ້ງ

--strip-unneeded-symbol=ສັນຍາລັກ
ຫ້າມສຳເນົາສັນຍາລັກ ສັນຍາລັກ ຈາກໄຟລ໌ແຫຼ່ງເວັ້ນເສຍແຕ່ວ່າມັນຕ້ອງການໂດຍ a
ການຍົກຍ້າຍ. ທາງເລືອກນີ້ອາດຈະໄດ້ຮັບຫຼາຍກວ່າຫນຶ່ງຄັ້ງ.

-G ສັນຍາລັກ
--keep-global-symbol=ສັນຍາລັກ
ຮັກສາສັນຍາລັກເທົ່ານັ້ນ ສັນຍາລັກ ທົ່ວໂລກ. ເຮັດໃຫ້ສັນຍາລັກອື່ນໆທັງຫມົດໃນທ້ອງຖິ່ນກັບໄຟລ໌, ດັ່ງນັ້ນ
ພວກ​ເຂົາ​ເຈົ້າ​ບໍ່​ໄດ້​ສັງ​ເກດ​ເຫັນ​ພາຍ​ນອກ​. ທາງເລືອກນີ້ອາດຈະໄດ້ຮັບຫຼາຍກວ່າຫນຶ່ງຄັ້ງ.

--localize-hidden
ໃນວັດຖຸ ELF, ໃຫ້ໝາຍສັນຍາລັກທັງໝົດທີ່ເຊື່ອງໄວ້ ຫຼືການເບິ່ງເຫັນພາຍໃນເປັນທ້ອງຖິ່ນ.
ທາງ​ເລືອກ​ນີ້​ໃຊ້​ຢູ່​ເທິງ​ຂອງ​ຕົວ​ເລືອກ​ການ​ທ້ອງ​ຖິ່ນ​ສັນ​ຍາ​ລັກ​ສະ​ເພາະ​ເຊັ່ນ​:​ -L.

-L ສັນຍາລັກ
--localize-symbol=ສັນຍາລັກ
ເຮັດສັນຍາລັກ ສັນຍາລັກ local ກັບ​ໄຟລ​໌​, ດັ່ງ​ນັ້ນ​ມັນ​ບໍ່​ໄດ້​ສັງ​ເກດ​ເຫັນ​ພາຍ​ນອກ​. ນີ້
ທາງ​ເລືອກ​ອາດ​ຈະ​ໄດ້​ຮັບ​ຫຼາຍ​ກວ່າ​ຫນຶ່ງ​ຄັ້ງ​.

-W ສັນຍາລັກ
--weaken-ສັນຍາລັກ=ສັນຍາລັກ
ເຮັດສັນຍາລັກ ສັນຍາລັກ ອ່ອນເພຍ. ທາງເລືອກນີ້ອາດຈະໄດ້ຮັບຫຼາຍກວ່າຫນຶ່ງຄັ້ງ.

--globalize-symbol=ສັນຍາລັກ
ໃຫ້ສັນຍາລັກ ສັນຍາລັກ ຂອບເຂດທົ່ວໂລກເພື່ອໃຫ້ມັນເຫັນໄດ້ຢູ່ນອກໄຟລ໌ໃນ
ເຊິ່ງມັນຖືກກໍານົດ. ທາງເລືອກນີ້ອາດຈະໄດ້ຮັບຫຼາຍກວ່າຫນຶ່ງຄັ້ງ.

-w
--wildcard
ອະນຸຍາດໃຫ້ສະແດງອອກເປັນປົກກະຕິໃນ ສັນຍາລັກs ໃຊ້ໃນຕົວເລືອກແຖວຄໍາສັ່ງອື່ນໆ. ໄດ້
ເຄື່ອງໝາຍຄໍາຖາມ (?), ດາວ (*), backslash (\) ແລະວົງເລັບສີ່ຫຼ່ຽມ ([]) ຜູ້ປະກອບການສາມາດ
ຖືກນໍາໃຊ້ທຸກບ່ອນໃນຊື່ສັນຍາລັກ. ຖ້າຕົວລະຄອນທໍາອິດຂອງຊື່ສັນຍາລັກແມ່ນ
ຈຸດ exclamation (!) ຫຼັງຈາກນັ້ນຄວາມຮູ້ສຶກຂອງສະຫຼັບແມ່ນປີ້ນກັບກັນສໍາລັບສັນຍາລັກນັ້ນ. ສໍາລັບ
ຍົກຕົວຢ່າງ:

-w -W !foo -W fo*

ຈະເຮັດໃຫ້ objcopy ອ່ອນລົງທຸກສັນຍາລັກທີ່ເລີ່ມຕົ້ນດ້ວຍ "fo" ຍົກເວັ້ນສັນຍາລັກ
"ຟຸ".

-x
--ຍົກເລີກທັງໝົດ
ຫ້າມຄັດລອກສັນຍາລັກທີ່ບໍ່ແມ່ນທົ່ວໂລກຈາກໄຟລ໌ແຫຼ່ງ.

-X
--discard-ທ້ອງຖິ່ນ
ຫ້າມສຳເນົາສັນຍາລັກທ້ອງຖິ່ນທີ່ສ້າງຂຶ້ນໂດຍຄອມພີວເຕີ. (ໂດຍປົກກະຕິ, ເຫຼົ່ານີ້ເລີ່ມຕົ້ນດ້ວຍ L or ..)

-b byte
--byte=byte
ຖ້າ interleaving ໄດ້ຖືກເປີດໃຊ້ຜ່ານ -- interleave ທາງ​ເລືອກ​ຫຼັງ​ຈາກ​ນັ້ນ​ເລີ່ມ​ຕົ້ນ​ລະ​ດັບ​ຂອງ​
bytes ເພື່ອຮັກສາຢູ່ທີ່ byteth byte. byte ສາມາດຢູ່ໃນຂອບເຂດຈາກ 0 ຫາ breadth-1, ບ່ອນທີ່
breadth ແມ່ນມູນຄ່າທີ່ໃຫ້ໂດຍ -- interleave ທາງເລືອກ.

-i [breadth]
--interleave[=breadth]
ພຽງແຕ່ຄັດລອກຂອບເຂດອອກຈາກທຸກໆ breadth ໄບຕ໌. (ຂໍ້ມູນສ່ວນຫົວບໍ່ໄດ້ຮັບຜົນກະທົບ). ເລືອກ
ໄບຕ໌ໃດໃນຂອບເຂດເລີ່ມຕົ້ນການສຳເນົາດ້ວຍ --byte ທາງເລືອກ. ເລືອກ width ຂອງ
ຂອບເຂດທີ່ມີ --interleave-width ທາງເລືອກ.

ທາງເລືອກນີ້ແມ່ນເປັນປະໂຫຍດສໍາລັບການສ້າງໄຟລ໌ກັບໂຄງການ ROM. ມັນຖືກນໍາໃຊ້ໂດຍປົກກະຕິກັບ
"srec" ເປົ້າຫມາຍຜົນຜະລິດ. ໃຫ້ສັງເກດວ່າ ສຳເນົາ ຈະຈົ່ມຖ້າຫາກວ່າທ່ານບໍ່ໄດ້ລະບຸ
--byte ທາງເລືອກເຊັ່ນດຽວກັນ.

ຄວາມກວ້າງຂອງ interleave ເລີ່ມຕົ້ນແມ່ນ 4, ດັ່ງນັ້ນ --byte ຕັ້ງ​ເປັນ 0​, ສຳເນົາ ຈະຄັດລອກ
byte ທໍາອິດອອກຈາກທຸກໆສີ່ bytes ຈາກ input ຫາຜົນໄດ້ຮັບ.

--interleave-width=width
ເມື່ອໃຊ້ກັບ -- interleave ທາງເລືອກ, ສໍາເນົາ width bytes ໃນເວລາ. ການເລີ່ມຕົ້ນຂອງ
ຂອບເຂດຂອງ bytes ທີ່ຈະຄັດລອກແມ່ນຖືກກໍານົດໂດຍ --byte ທາງເລືອກ, ແລະຂອບເຂດຂອງຂອບເຂດ
ຖືກກໍານົດດ້ວຍ -- interleave ທາງເລືອກ.

ຄ່າເລີ່ມຕົ້ນສໍາລັບທາງເລືອກນີ້ແມ່ນ 1. ມູນຄ່າຂອງ width ບວກກັບ byte ຄ່າ​ທີ່​ກໍາ​ນົດ​ໂດຍ​
ໄດ້ --byte ທາງເລືອກຈະຕ້ອງບໍ່ເກີນຄວາມກວ້າງຂອງ interleave ທີ່ກໍານົດໄວ້ໂດຍ -- interleave
ທາງເລືອກ.

ທາງເລືອກນີ້ສາມາດຖືກນໍາໃຊ້ເພື່ອສ້າງຮູບພາບສໍາລັບສອງ flashes 16-bit interleaved ໃນ a
ລົດເມ 32-bit ຜ່ານ -b 0 -i 4 --interleave-width=2 ແລະ -b 2 -i 4
--interleave-width=2 ເຖິງສອງ ສຳເນົາ ຄໍາສັ່ງ. ຖ້າການປ້ອນຂໍ້ມູນແມ່ນ '12345678' ຫຼັງຈາກນັ້ນ
ຜົນໄດ້ຮັບຈະເປັນ '1256' ແລະ '3478' ຕາມລໍາດັບ.

-p
--preserve-dates
ກໍາ​ນົດ​ວັນ​ທີ​ການ​ເຂົ້າ​ເຖິງ​ແລະ​ການ​ດັດ​ແກ້​ຂອງ​ໄຟລ​໌​ຜົນ​ຜະ​ລິດ​ເປັນ​ອັນ​ດຽວ​ກັນ​ກັບ​ຂອງ​
ໄຟລ໌ປ້ອນຂໍ້ມູນ.

-D
--enable-deterministic-archives
ດໍາເນີນການໃນ ການ ກຳ ນົດ ໂໝດ. ເມື່ອຄັດລອກສະມາຊິກຮວບຮວມແລະຂຽນຮວບຮວມ
index, ໃຊ້ສູນສໍາລັບ UIDs, GIDs, timestamps, ແລະນໍາໃຊ້ຮູບແບບໄຟລ໌ທີ່ສອດຄ່ອງສໍາລັບທັງຫມົດ.
ໄຟລ໌.

If binutils ໄດ້ configured ກັບ --enable-deterministic-archives, ຈາກນັ້ນໂໝດນີ້ເປີດຢູ່
ໂດຍຄ່າເລີ່ມຕົ້ນ. ມັນສາມາດໄດ້ຮັບການພິການດ້ວຍ -U ທາງເລືອກ, ຂ້າງລຸ່ມນີ້.

-U
--disable-deterministic-archives
Do ບໍ່ ປະຕິບັດງານໃນ ການ ກຳ ນົດ ໂໝດ. ນີ້​ແມ່ນ inverse ຂອງ​ -D ທາງເລືອກ, ຂ້າງເທິງ:
ເມື່ອຄັດລອກສະມາຊິກໃນແຟ້ມຈັດເກັບແລະຂຽນດັດສະນີເກັບມ້ຽນ, ໃຊ້ UID ຕົວຈິງຂອງພວກເຂົາ, GID,
ເວລາ, ແລະຄ່າຮູບແບບໄຟລ໌.

ນີ້ແມ່ນຄ່າເລີ່ມຕົ້ນເວັ້ນເສຍແຕ່ binutils ໄດ້ configured ກັບ
--enable-deterministic-archives.

-- debugging
ປ່ຽນຂໍ້ມູນການດີບັກ, ຖ້າເປັນໄປໄດ້. ນີ້ບໍ່ແມ່ນຄ່າເລີ່ມຕົ້ນເພາະວ່າພຽງແຕ່
ສະ​ຫນັບ​ສະ​ຫນູນ​ຮູບ​ແບບ debugging ສະ​ເພາະ​ໃດ​ຫນຶ່ງ​, ແລະ​ຂະ​ບວນ​ການ​ປ່ຽນ​ແປງ​ສາ​ມາດ​ໃຊ້​ເວ​ລາ​
ການຊົມໃຊ້.

--gap-ຕື່ມ h
ຕື່ມຂໍ້ມູນໃສ່ຊ່ອງຫວ່າງລະຫວ່າງພາກສ່ວນທີ່ມີ h. ການດໍາເນີນງານນີ້ໃຊ້ກັບ load ທີ່ຢູ່ (LMA)
ຂອງ​ພາກ​ສ່ວນ​. ມັນແມ່ນເຮັດໂດຍການເພີ່ມຂະຫນາດຂອງສ່ວນທີ່ມີຕ່ໍາ
ທີ່ຢູ່, ແລະຕື່ມຂໍ້ມູນໃສ່ໃນພື້ນທີ່ພິເສດທີ່ສ້າງຂຶ້ນດ້ວຍ h.

--pad-to ທີ່ຢູ່
pad ໄຟລ໌ຜົນຜະລິດໄດ້ເຖິງທີ່ຢູ່ການໂຫຼດ ທີ່ຢູ່. ນີ້ແມ່ນເຮັດໄດ້ໂດຍການເພີ່ມ
ຂະຫນາດຂອງພາກສຸດທ້າຍ. ພື້ນທີ່ພິເສດແມ່ນເຕັມໄປດ້ວຍມູນຄ່າທີ່ລະບຸໄວ້ໂດຍ
--gap-ຕື່ມ (ສູນຄ່າເລີ່ມຕົ້ນ).

--set-start h
ກໍານົດທີ່ຢູ່ເລີ່ມຕົ້ນຂອງໄຟລ໌ໃຫມ່ເປັນ h. ບໍ່ແມ່ນທຸກຮູບແບບໄຟລ໌ວັດຖຸທີ່ຮອງຮັບ
ກໍານົດທີ່ຢູ່ເລີ່ມຕົ້ນ.

--ການ​ເລີ່ມ​ຕົ້ນ​ການ​ປ່ຽນ​ແປງ​ incr
--ປັບ-ເລີ່ມ incr
ປ່ຽນທີ່ຢູ່ເລີ່ມຕົ້ນໂດຍການເພີ່ມ incr. ບໍ່ແມ່ນທຸກຮູບແບບໄຟລ໌ວັດຖຸຮອງຮັບການຕັ້ງຄ່າ
ທີ່ຢູ່ເລີ່ມຕົ້ນ.

--ການ​ປ່ຽນ​ແປງ​ທີ່​ຢູ່​ incr
--ປັບ-vma incr
ປ່ຽນທີ່ຢູ່ VMA ແລະ LMA ຂອງທຸກພາກສ່ວນ, ເຊັ່ນດຽວກັນກັບທີ່ຢູ່ເລີ່ມຕົ້ນ, ໂດຍ
ເພີ່ມ incr. ບາງຮູບແບບໄຟລ໌ວັດຖຸບໍ່ອະນຸຍາດໃຫ້ປ່ຽນທີ່ຢູ່ຂອງພາກສ່ວນ
arbitrarily. ໃຫ້ສັງເກດວ່ານີ້ບໍ່ໄດ້ຍົກຍ້າຍພາກສ່ວນ; ຖ້າໂຄງການຄາດຫວັງ
ພາກ​ສ່ວນ​ທີ່​ຈະ​ໄດ້​ຮັບ​ການ​ໂຫຼດ​ຢູ່​ທີ່​ສະ​ເພາະ​ໃດ​ຫນຶ່ງ​, ແລະ​ທາງ​ເລືອກ​ນີ້​ແມ່ນ​ໄດ້​ຖືກ​ນໍາ​ໃຊ້​ເພື່ອ​ປ່ຽນ​
ພາກສ່ວນຕ່າງໆເຊັ່ນວ່າພວກມັນຖືກໂຫລດຢູ່ບ່ອນອື່ນ, ໂຄງການອາດຈະລົ້ມເຫລວ.

--change-section-address ຮູບແບບພາກ{=,+,-}h
--adjust-section-vma ຮູບແບບພາກ{=,+,-}h
ຕັ້ງ ຫຼືປ່ຽນທັງທີ່ຢູ່ VMA ແລະທີ່ຢູ່ LMA ຂອງພາກສ່ວນໃດນຶ່ງທີ່ກົງກັນ
ຮູບແບບພາກທີ່ຢູ່ ຖ້າຫາກວ່າ = ຖືກນໍາໃຊ້, ທີ່ຢູ່ພາກແມ່ນກໍານົດເປັນ h. ຖ້າບໍ່ດັ່ງນັ້ນ, h is
ເພີ່ມ ຫຼື ຫັກອອກຈາກທີ່ຢູ່ພາກ. ເບິ່ງຄໍາເຫັນພາຍໃຕ້
--ການ​ປ່ຽນ​ແປງ​ທີ່​ຢູ່​, ຂ້າງເທິງ. ຖ້າ ຮູບແບບພາກ ບໍ່ກົງກັບພາກສ່ວນໃດນຶ່ງໃນການປ້ອນຂໍ້ມູນ
ໄຟລ໌, ການເຕືອນໄພຈະຖືກອອກ, ເວັ້ນເສຍແຕ່ -- ການ​ເຕືອນ​ໄພ​ບໍ່​ມີ​ການ​ປ່ຽນ​ແປງ​ ຖືກນໍາໃຊ້.

--change-section-lma ຮູບແບບພາກ{=,+,-}h
ຕັ້ງ ຫຼືປ່ຽນທີ່ຢູ່ LMA ຂອງພາກສ່ວນໃດນຶ່ງທີ່ກົງກັນ ຮູບແບບພາກ. LMA
ທີ່ຢູ່ແມ່ນທີ່ຢູ່ບ່ອນທີ່ພາກສ່ວນຈະຖືກໂຫລດເຂົ້າໄປໃນຫນ່ວຍຄວາມຈໍາໃນເວລາໂຫລດໂປຼແກຼມ
ເວລາ. ປົກກະຕິແລ້ວນີ້ແມ່ນຄືກັນກັບທີ່ຢູ່ VMA, ເຊິ່ງເປັນທີ່ຢູ່ຂອງ
ພາກສ່ວນໃນເວລາທີ່ດໍາເນີນໂຄງການ, ແຕ່ໃນບາງລະບົບ, ໂດຍສະເພາະບ່ອນທີ່ໂຄງການແມ່ນ
ຈັດຂຶ້ນໃນ ROM, ທັງສອງສາມາດແຕກຕ່າງກັນ. ຖ້າ = ຖືກນໍາໃຊ້, ທີ່ຢູ່ພາກແມ່ນກໍານົດເປັນ
h. ຖ້າບໍ່ດັ່ງນັ້ນ, h ຖືກເພີ່ມໃສ່ ຫຼືຫັກອອກຈາກທີ່ຢູ່ຂອງພາກ. ເບິ່ງ
ຄໍາເຫັນພາຍໃຕ້ --ການ​ປ່ຽນ​ແປງ​ທີ່​ຢູ່​, ຂ້າງເທິງ. ຖ້າ ຮູບແບບພາກ ບໍ່ກົງກັນໃດໆ
ພາກສ່ວນໃນໄຟລ໌ປ້ອນຂໍ້ມູນ, ການເຕືອນໄພຈະຖືກອອກ, ເວັ້ນເສຍແຕ່ -- ການ​ເຕືອນ​ໄພ​ບໍ່​ມີ​ການ​ປ່ຽນ​ແປງ​ is
ໃຊ້ແລ້ວ.

--change-section-vma ຮູບແບບພາກ{=,+,-}h
ຕັ້ງ ຫຼືປ່ຽນທີ່ຢູ່ VMA ຂອງພາກສ່ວນໃດນຶ່ງທີ່ກົງກັນ ຮູບແບບພາກ. ທີ່ຢູ່ VMA
ແມ່ນທີ່ຢູ່ບ່ອນທີ່ພາກສ່ວນຈະຕັ້ງຢູ່ເມື່ອໂຄງການໄດ້ເລີ່ມຕົ້ນ
ການ​ປະ​ຕິ​ບັດ​. ປົກກະຕິແລ້ວນີ້ແມ່ນຄືກັນກັບທີ່ຢູ່ LMA, ເຊິ່ງເປັນທີ່ຢູ່ທີ່
ພາກສ່ວນຈະຖືກໂຫລດເຂົ້າໄປໃນຫນ່ວຍຄວາມຈໍາ, ແຕ່ໃນບາງລະບົບ, ໂດຍສະເພາະແມ່ນບ່ອນທີ່ a
ໂຄງການແມ່ນຈັດຂຶ້ນໃນ ROM, ທັງສອງສາມາດແຕກຕ່າງກັນ. ຖ້າ = ຖືກນໍາໃຊ້, ທີ່ຢູ່ພາກ
ຖືກກໍານົດໃຫ້ h. ຖ້າບໍ່ດັ່ງນັ້ນ, h ຖືກເພີ່ມໃສ່ ຫຼືຫັກອອກຈາກທີ່ຢູ່ຂອງພາກ.
ເບິ່ງຄໍາເຫັນພາຍໃຕ້ --ການ​ປ່ຽນ​ແປງ​ທີ່​ຢູ່​, ຂ້າງເທິງ. ຖ້າ ຮູບແບບພາກ ບໍ່ກົງກັນ
ພາກສ່ວນໃດນຶ່ງໃນໄຟລ໌ປ້ອນຂໍ້ມູນ, ການເຕືອນຈະຖືກອອກ, ເວັ້ນເສຍແຕ່ -- ການ​ເຕືອນ​ໄພ​ບໍ່​ມີ​ການ​ປ່ຽນ​ແປງ​
ຖືກນໍາໃຊ້.

--ຄໍາ​ເຕືອນ​ການ​ປ່ຽນ​ແປງ​
-- ປັບ-ເຕືອນ
If --change-section-address or --change-section-lma or --change-section-vma ຖືກນໍາໃຊ້,
ແລະຮູບແບບພາກສ່ວນບໍ່ກົງກັບພາກສ່ວນໃດນຶ່ງ, ອອກຄໍາເຕືອນ. ນີ້​ແມ່ນ
Default

-- ການ​ເຕືອນ​ໄພ​ບໍ່​ມີ​ການ​ປ່ຽນ​ແປງ​
--no-adjust-ການເຕືອນ
ຢ່າອອກຄໍາເຕືອນຖ້າຫາກວ່າ --change-section-address or --adjust-section-lma or
--adjust-section-vma ຖືກນໍາໃຊ້, ເຖິງແມ່ນວ່າຮູບແບບພາກບໍ່ກົງກັບພາກສ່ວນໃດ.

--set-section-flags ຮູບແບບພາກ=ທົງ
ກໍານົດທຸງສໍາລັບພາກສ່ວນໃດທີ່ກົງກັນ ຮູບແບບພາກ. ໄດ້ ທົງ argument ເປັນເຄື່ອງໝາຍຈຸດ
ແຍກສະຕຣິງຂອງຊື່ທຸງ. ຊື່ທີ່ຮັບຮູ້ແມ່ນ ຈັດສັນ, ເນື້ອຫາ, load,
noload, ອ່ານ​ຢ່າງ​ດຽວ, ລະຫັດ, ຂໍ້ມູນ, ໂລມ, share, ແລະ debug. ທ່ານ​ສາ​ມາດ​ກໍາ​ນົດ​ ເນື້ອຫາ ທຸງ
ສໍາລັບພາກສ່ວນທີ່ບໍ່ມີເນື້ອໃນ, ແຕ່ມັນບໍ່ມີຄວາມຫມາຍທີ່ຈະລ້າງອອກ
ເນື້ອຫາ ທຸງຂອງພາກສ່ວນທີ່ມີເນື້ອໃນ -- ພຽງແຕ່ເອົາພາກສ່ວນອອກແທນ.
ບໍ່ແມ່ນທຸງທັງໝົດມີຄວາມໝາຍສຳລັບທຸກຮູບແບບໄຟລ໌ວັດຖຸ.

--ສ່ວນຕື່ມ ຊື່ພາກ=ຊື່​ເອ​ກະ​ສານ
ເພີ່ມພາກໃຫມ່ທີ່ມີຊື່ ຊື່ພາກ ໃນຂະນະທີ່ການຄັດລອກໄຟລ໌. ເນື້ອໃນຂອງໃຫມ່
ພາກສ່ວນຖືກເອົາມາຈາກໄຟລ໌ ຊື່​ເອ​ກະ​ສານ. ຂະຫນາດຂອງພາກສ່ວນຈະເປັນຂະຫນາດຂອງ
ໄຟລ໌. ທາງ​ເລືອກ​ນີ້​ພຽງ​ແຕ່​ເຮັດ​ວຽກ​ກ່ຽວ​ກັບ​ຮູບ​ແບບ​ໄຟລ​໌​ທີ່​ສາ​ມາດ​ສະ​ຫນັບ​ສະ​ຫນູນ​ພາກ​ສ່ວນ​ທີ່​ມີ​
ຊື່ທີ່ມັກ. ຫມາຍເຫດ - ມັນອາດຈະມີຄວາມຈໍາເປັນທີ່ຈະໃຊ້ --set-section-flags ທາງເລືອກທີ່ຈະ
ກໍານົດຄຸນລັກສະນະຂອງພາກສ່ວນທີ່ສ້າງຂຶ້ນໃຫມ່.

-- dump-section ຊື່ພາກ=ຊື່​ເອ​ກະ​ສານ
ວາງເນື້ອໃນຂອງພາກສ່ວນທີ່ມີຊື່ ຊື່ພາກ ເຂົ້າໄປໃນໄຟລ໌ ຊື່​ເອ​ກະ​ສານ, ຂຽນທັບ
ເນື້ອຫາໃດໆທີ່ອາດຈະຢູ່ທີ່ນັ້ນກ່ອນຫນ້ານີ້. ທາງເລືອກນີ້ແມ່ນກົງກັນຂ້າມຂອງ
--ສ່ວນຕື່ມ. ທາງເລືອກນີ້ແມ່ນຄ້າຍຄືກັນກັບ -- ພາກສ່ວນເທົ່ານັ້ນ ທາງເລືອກຍົກເວັ້ນມັນ
ບໍ່ໄດ້ສ້າງໄຟລ໌ທີ່ມີຮູບແບບ, ມັນພຽງແຕ່ dumps ເນື້ອໃນເປັນຂໍ້ມູນຖານສອງດິບ,
ໂດຍບໍ່ມີການນໍາໃຊ້ການຍົກຍ້າຍໃດໆ. ທາງເລືອກສາມາດຖືກກໍານົດຫຼາຍກວ່າຫນຶ່ງຄັ້ງ.

--update-section ຊື່ພາກ=ຊື່​ເອ​ກະ​ສານ
ແທນທີ່ເນື້ອໃນທີ່ມີຢູ່ແລ້ວຂອງພາກສ່ວນທີ່ມີຊື່ ຊື່ພາກ ກັບ​ເນື້ອ​ໃນ​ຂອງ​ໄຟລ​໌​
ຊື່​ເອ​ກະ​ສານ. ຂະ​ຫນາດ​ຂອງ​ພາກ​ສ່ວນ​ຈະ​ໄດ້​ຮັບ​ການ​ປັບ​ຂະ​ຫນາດ​ຂອງ​ໄຟລ​໌​ໄດ້​. ໄດ້
ທຸງພາກສໍາລັບ ຊື່ພາກ ຈະບໍ່ປ່ຽນແປງ. ສໍາລັບຮູບແບບ ELF ໄຟລ໌ພາກສ່ວນທີ່ຈະ
ການສ້າງແຜນທີ່ segment ຍັງຈະບໍ່ປ່ຽນແປງ, ບາງສິ່ງບາງຢ່າງທີ່ເປັນໄປບໍ່ໄດ້ທີ່ຈະນໍາໃຊ້
--remove-section ປະຕິບັດຕາມໂດຍ --ສ່ວນຕື່ມ. ທາງເລືອກສາມາດຖືກກໍານົດຫຼາຍກ່ວາ
ຄັ້ງຫນຶ່ງ.

ຫມາຍເຫດ - ມັນເປັນໄປໄດ້ທີ່ຈະນໍາໃຊ້ --ປ່ຽນຊື່ພາກສ່ວນ ແລະ --update-section ທັງ​ສອງ​ປັບ​ປຸງ​ແລະ​
ປ່ຽນຊື່ພາກສ່ວນໜຶ່ງຈາກແຖວຄຳສັ່ງ. ໃນກໍລະນີນີ້, ໃຫ້ຜ່ານຊື່ພາກຕົ້ນສະບັບ
to --update-section, ແລະຊື່ພາກສ່ວນຕົ້ນສະບັບແລະໃຫມ່ --ປ່ຽນຊື່ພາກສ່ວນ.

--add-ສັນ​ຍາ​ລັກ​ ຊື່=[ສ່ວນ:]ມູນຄ່າ[,ທົງ]
ເພີ່ມສັນຍາລັກໃຫມ່ທີ່ມີຊື່ ຊື່ ໃນຂະນະທີ່ການຄັດລອກໄຟລ໌. ຕົວເລືອກນີ້ອາດຈະຖືກລະບຸໄວ້
ຫຼາຍຄັ້ງ. ຖ້າ ສ່ວນ ໄດ້ຖືກມອບໃຫ້, ສັນຍາລັກຈະຖືກເຊື່ອມໂຍງກັບແລະ
ກ່ຽວຂ້ອງກັບພາກສ່ວນນັ້ນ, ຖ້າບໍ່ດັ່ງນັ້ນມັນຈະເປັນສັນຍາລັກ ABS. ກໍານົດການບໍ່ໄດ້ກໍານົດ
ພາກສ່ວນຈະສົ່ງຜົນໃຫ້ເກີດຄວາມຜິດພາດຮ້າຍແຮງ. ບໍ່ມີການກວດສອບມູນຄ່າ, ມັນຈະເປັນ
ເອົາຕາມທີ່ລະບຸໄວ້. ທຸງສັນຍາລັກສາມາດຖືກກໍານົດແລະບໍ່ແມ່ນທຸງທັງຫມົດ
ມີຄວາມຫມາຍສໍາລັບທຸກຮູບແບບໄຟລ໌ວັດຖຸ. ໂດຍຄ່າເລີ່ມຕົ້ນ, ສັນຍາລັກຈະເປັນທົ່ວໂລກ. ໄດ້
ທຸງພິເສດ 'ກ່ອນ =ອື່ນ' ຈະໃສ່ສັນຍາລັກໃຫມ່ຢູ່ທາງຫນ້າຂອງທີ່ກໍານົດໄວ້
ອື່ນຖ້າບໍ່ດັ່ງນັ້ນສັນຍາລັກຈະຖືກເພີ່ມໃສ່ໃນຕອນທ້າຍຂອງຕາຕະລາງສັນຍາລັກໃນ
ສັ່ງໃຫ້ປາກົດ.

--ປ່ຽນຊື່ພາກສ່ວນ ຊື່ເກົ່າ=ຊື່ໃໝ່[,ທົງ]
ປ່ຽນຊື່ພາກສ່ວນຈາກ ຊື່ເກົ່າ to ຊື່ໃໝ່, ທາງເລືອກໃນການປ່ຽນທຸງຂອງພາກສ່ວນເປັນ
ທົງ ໃນຂະບວນການ. ນີ້ມີປະໂຫຍດຫຼາຍກວ່າ usng script linker ເພື່ອປະຕິບັດ
ປ່ຽນຊື່ໃນສິ່ງທີ່ຜົນໄດ້ຮັບຍັງຄົງເປັນໄຟລ໌ວັດຖຸແລະບໍ່ກາຍເປັນການເຊື່ອມຕໍ່
ປະຕິບັດໄດ້.

ທາງເລືອກນີ້ແມ່ນເປັນປະໂຫຍດໂດຍສະເພາະໃນເວລາທີ່ຮູບແບບການປ້ອນຂໍ້ມູນເປັນຖານສອງ, ນັບຕັ້ງແຕ່ນີ້ຈະ
ສະເຫມີສ້າງພາກສ່ວນທີ່ເອີ້ນວ່າ .data. ຖ້າຕົວຢ່າງ, ທ່ານຕ້ອງການແທນທີ່ຈະສ້າງ
ພາກສ່ວນທີ່ເອີ້ນວ່າ .rodata ປະກອບດ້ວຍຂໍ້ມູນຖານສອງທີ່ທ່ານສາມາດນໍາໃຊ້ເສັ້ນຄໍາສັ່ງຕໍ່ໄປນີ້
ເພື່ອບັນລຸມັນ:

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


--long-section-names {enable,disable,keep}
ຄວບຄຸມການຈັດການຊື່ພາກສ່ວນຍາວໃນເວລາປະມວນຜົນ "COFF" ແລະ "PE-COFF"
ຮູບແບບວັດຖຸ. ພຶດ​ຕິ​ກໍາ​ໃນ​ຕອນ​ຕົ້ນ​, ຮັກສາ, ແມ່ນເພື່ອຮັກສາຊື່ພາກຍາວຖ້າມີ
ມີຢູ່ໃນໄຟລ໌ປ້ອນຂໍ້ມູນ. ໄດ້ ເຮັດໃຫ້ສາມາດ ແລະ ປິດການໃຊ້ວຽກ ທາງເລືອກໃນການບັງຄັບໃຫ້ເປີດຫຼື
ປິດການໃຊ້ງານຂອງຊື່ພາກສ່ວນຍາວໃນວັດຖຸຜົນຜະລິດ; ເມື່ອ​ໃດ​ ປິດການໃຊ້ວຽກ ມີ​ຜົນ​ກະ​ທົບ​,
ຊື່ພາກສ່ວນໃດນຶ່ງທີ່ຍາວຢູ່ໃນວັດຖຸປ້ອນຂໍ້ມູນຈະຖືກຕັດອອກ. ໄດ້ ເຮັດໃຫ້ສາມາດ ທາງ​ເລືອກ​ຈະ​
ພຽງແຕ່ປ່ອຍຊື່ພາກສ່ວນຍາວຖ້າມີຢູ່ໃນວັດສະດຸປ້ອນ; ນີ້ສ່ວນຫຼາຍແມ່ນຄືກັນ
as ຮັກສາ, ແຕ່ມັນຖືກປະໄວ້ໂດຍບໍ່ໄດ້ກໍານົດບໍ່ວ່າຈະເປັນ ເຮັດໃຫ້ສາມາດ ທາງເລືອກອາດຈະບັງຄັບການສ້າງ
ຂອງຕາຕະລາງສະຕຣິງຫວ່າງເປົ່າໃນໄຟລ໌ຜົນຜະລິດ.

--change-leading-char
ບາງຮູບແບບໄຟລ໌ວັດຖຸໃຊ້ຕົວອັກສອນພິເສດໃນຕອນເລີ່ມຕົ້ນຂອງສັນຍາລັກ. ສ່ວນ​ໃຫຍ່
ລັກສະນະທົ່ວໄປແມ່ນ underscore, ເຊິ່ງ compilers ມັກຈະເພີ່ມກ່ອນທຸກສັນຍາລັກ.
ທາງເລືອກນີ້ບອກ ສຳເນົາ ການປ່ຽນແປງລັກສະນະຊັ້ນນໍາຂອງທຸກໆສັນຍາລັກໃນເວລາທີ່ມັນ
ແປງລະຫວ່າງຮູບແບບໄຟລ໌ວັດຖຸ. ຖ້າຮູບແບບໄຟລ໌ວັດຖຸໃຊ້ຕົວນໍາດຽວກັນ
ລັກສະນະ, ທາງເລືອກນີ້ບໍ່ມີຜົນ. ຖ້າບໍ່ດັ່ງນັ້ນ, ມັນຈະເພີ່ມຕົວອັກສອນ, ຫຼືເອົາ a
ລັກສະນະ, ຫຼືປ່ຽນລັກສະນະ, ຕາມຄວາມເຫມາະສົມ.

--remove-leading-char
ຖ້າລັກສະນະທໍາອິດຂອງສັນຍາລັກທົ່ວໂລກແມ່ນສັນຍາລັກພິເສດຂອງຕົວນໍາທີ່ໃຊ້
ໂດຍຮູບແບບໄຟລ໌ວັດຖຸ, ເອົາຕົວອັກສອນອອກ. ສັນຍາລັກທົ່ວໄປທີ່ສຸດນໍາພາ
ຕົວອັກສອນແມ່ນຂີດກ້ອງ. ໂຕເລືອກນີ້ຈະເອົາຈຸດຂີດກ້ອງອອກຈາກທົ່ວໂລກທັງໝົດ
ສັນຍາລັກ. ນີ້ສາມາດເປັນປະໂຫຍດຖ້າຫາກວ່າທ່ານຕ້ອງການທີ່ຈະເຊື່ອມຕໍ່ກັນວັດຖຸຂອງໄຟລ໌ທີ່ແຕກຕ່າງກັນ
ຮູບແບບທີ່ມີສົນທິສັນຍາທີ່ແຕກຕ່າງກັນສໍາລັບຊື່ສັນຍາລັກ. ນີ້ແມ່ນແຕກຕ່າງຈາກ
--change-leading-char ເນື່ອງຈາກວ່າມັນສະເຫມີປ່ຽນຊື່ສັນຍາລັກໃນເວລາທີ່ເຫມາະສົມ,
ໂດຍບໍ່ສົນເລື່ອງຂອງຮູບແບບໄຟລ໌ວັດຖຸຂອງໄຟລ໌ຜົນຜະລິດ.

--reverse-bytes=num
ປີ້ນກັບ bytes ໃນພາກສ່ວນທີ່ມີເນື້ອໃນຜົນຜະລິດ. ຄວາມຍາວຂອງພາກສ່ວນຈະຕ້ອງເທົ່າກັນ
ແບ່ງຕາມຄ່າທີ່ໃຫ້ໄວ້ເພື່ອໃຫ້ swap ສາມາດເກີດຂຶ້ນໄດ້. ປີ້ນຄືນ
ໃຊ້ເວລາສະຖານທີ່ກ່ອນທີ່ຈະ interleaving ໄດ້ຖືກປະຕິບັດ.

ຕົວເລືອກນີ້ຖືກນໍາໃຊ້ໂດຍທົ່ວໄປໃນການສ້າງຮູບພາບ ROM ສໍາລັບລະບົບເປົ້າຫມາຍທີ່ມີບັນຫາ.
ຕົວຢ່າງ, ໃນບາງກະດານເປົ້າຫມາຍ, ຄໍາ 32-bit ທີ່ດຶງມາຈາກ ROM 8-bit ແມ່ນ re-
ປະກອບຢູ່ໃນລໍາດັບນ້ອຍ-endian byte ໂດຍບໍ່ຄໍານຶງເຖິງຄໍາສັ່ງ byte CPU. ຂຶ້ນກັບ
ຮູບແບບການຂຽນໂປລແກລມ, endianness ຂອງ ROM ອາດຈະຕ້ອງໄດ້ຮັບການແກ້ໄຂ.

ພິ​ຈາ​ລະ​ນາ​ໄຟລ​໌​ງ່າຍ​ດາຍ​ທີ່​ມີ​ພາກ​ສ່ວນ​ທີ່​ມີ​ແປດ​ໄບ​ຕ​໌​ດັ່ງ​ຕໍ່​ໄປ​ນີ້​: 12345678​.

ການນໍາໃຊ້ --reverse-bytes=2 ສໍາລັບຕົວຢ່າງຂ້າງເທິງ, bytes ໃນໄຟລ໌ຜົນຜະລິດຈະເປັນ
ສັ່ງ 21436587.

ການນໍາໃຊ້ --reverse-bytes=4 ສໍາລັບຕົວຢ່າງຂ້າງເທິງ, bytes ໃນໄຟລ໌ຜົນຜະລິດຈະເປັນ
ສັ່ງ 43218765.

ໂດຍການນໍາໃຊ້ --reverse-bytes=2 ສໍາລັບຕົວຢ່າງຂ້າງເທິງ, ປະຕິບັດຕາມ --reverse-bytes=4 ກ່ຽວກັບ
ໄຟລ໌ຜົນຜະລິດ, bytes ໃນໄຟລ໌ຜົນຜະລິດທີສອງຈະຖືກສັ່ງໃຫ້ 34127856.

--srec-len=ງາວ
ມີຄວາມຫມາຍພຽງແຕ່ສໍາລັບຜົນຜະລິດ srec. ກໍານົດຄວາມຍາວສູງສຸດຂອງ Srecords ໄດ້
ຜະລິດເພື່ອ ງາວ. ຄວາມຍາວນີ້ກວມເອົາທັງທີ່ຢູ່, ຂໍ້ມູນ ແລະຊ່ອງ crc.

--srec-forceS3
ມີຄວາມຫມາຍພຽງແຕ່ສໍາລັບຜົນຜະລິດ srec. ຫຼີກເວັ້ນການຜະລິດບັນທຶກ S1/S2, ການສ້າງ S3 ເທົ່ານັ້ນ
ຮູບ​ແບບ​ການ​ບັນ​ທຶກ​.

--reefine-sym ອາຍຸ=ໃຫມ່
ປ່ຽນຊື່ຂອງສັນຍາລັກ ອາຍຸ, ການ ໃຫມ່. ນີ້ສາມາດເປັນປະໂຫຍດໃນເວລາທີ່ຫນຶ່ງກໍາລັງພະຍາຍາມເຊື່ອມຕໍ່
ສອງ​ສິ່ງ​ທີ່​ຮ່ວມ​ກັນ​ສໍາ​ລັບ​ການ​ທີ່​ທ່ານ​ບໍ່​ມີ​ແຫຼ່ງ​ຂໍ້​ມູນ​, ແລະ​ມີ​ຊື່ collisions​.

--redefine-syms=ຊື່​ເອ​ກະ​ສານ
ສະຫມັກຂໍເອົາ --reefine-sym ແຕ່ລະຄູ່ສັນຍາລັກ "ອາຍຸ ໃຫມ່" ລະບຸໄວ້ໃນໄຟລ໌ ຊື່​ເອ​ກະ​ສານ.
ຊື່​ເອ​ກະ​ສານ ແມ່ນພຽງແຕ່ໄຟລ໌ແປ, ມີສັນຍາລັກຫນຶ່ງຄູ່ຕໍ່ແຖວ. ຄໍາເຫັນໃນແຖວອາດຈະເປັນ
ແນະນໍາໂດຍລັກສະນະ hash. ທາງເລືອກນີ້ອາດຈະໄດ້ຮັບຫຼາຍກວ່າຫນຶ່ງຄັ້ງ.

-- ອ່ອນເພຍ
ປ່ຽນສັນຍາລັກທົ່ວໂລກທັງໝົດໃນໄຟລ໌ໃຫ້ອ່ອນແອ. ນີ້ສາມາດເປັນປະໂຫຍດໃນເວລາທີ່ການກໍ່ສ້າງ
object ທີ່ຈະເຊື່ອມຕໍ່ກັບວັດຖຸອື່ນໆໂດຍໃຊ້ the -R ທາງ​ເລືອກ​ໃນ​ການ​ເຊື່ອມ​ຕໍ່​.
ຕົວເລືອກນີ້ມີປະສິດທິພາບພຽງແຕ່ເມື່ອນໍາໃຊ້ຮູບແບບໄຟລ໌ວັດຖຸທີ່ສະຫນັບສະຫນູນອ່ອນແອ
ສັນຍາລັກ.

--keep-symbols=ຊື່​ເອ​ກະ​ສານ
ສະຫມັກຂໍເອົາ --keep-ສັນ​ຍາ​ລັກ​ ທາງເລືອກແຕ່ລະສັນຍາລັກທີ່ລະບຸໄວ້ໃນໄຟລ໌ ຊື່​ເອ​ກະ​ສານ. ຊື່​ເອ​ກະ​ສານ is
ພຽງ​ແຕ່​ໄຟລ​໌​ແປ​, ມີ​ສັນ​ຍາ​ລັກ​ຫນຶ່ງ​ຊື່​ຕໍ່​ແຖວ​. ຄວາມຄິດເຫັນໃນແຖວອາດຈະຖືກນໍາສະເຫນີໂດຍ
ລັກສະນະ hash. ທາງເລືອກນີ້ອາດຈະໄດ້ຮັບຫຼາຍກວ່າຫນຶ່ງຄັ້ງ.

--strip-symbols=ຊື່​ເອ​ກະ​ສານ
ສະຫມັກຂໍເອົາ --Strip-ສັນຍາລັກ ທາງເລືອກແຕ່ລະສັນຍາລັກທີ່ລະບຸໄວ້ໃນໄຟລ໌ ຊື່​ເອ​ກະ​ສານ. ຊື່​ເອ​ກະ​ສານ is
ພຽງ​ແຕ່​ໄຟລ​໌​ແປ​, ມີ​ສັນ​ຍາ​ລັກ​ຫນຶ່ງ​ຊື່​ຕໍ່​ແຖວ​. ຄວາມຄິດເຫັນໃນແຖວອາດຈະຖືກນໍາສະເຫນີໂດຍ
ລັກສະນະ hash. ທາງເລືອກນີ້ອາດຈະໄດ້ຮັບຫຼາຍກວ່າຫນຶ່ງຄັ້ງ.

--strip-unneeded-symbols=ຊື່​ເອ​ກະ​ສານ
ສະຫມັກຂໍເອົາ --strip-unneeded-ສັນຍາລັກ ທາງເລືອກແຕ່ລະສັນຍາລັກທີ່ລະບຸໄວ້ໃນໄຟລ໌ ຊື່​ເອ​ກະ​ສານ.
ຊື່​ເອ​ກະ​ສານ ແມ່ນພຽງແຕ່ໄຟລ໌ແປ, ມີສັນຍາລັກຫນຶ່ງຊື່ຕໍ່ແຖວ. ຄໍາເຫັນໃນແຖວອາດຈະເປັນ
ແນະນໍາໂດຍລັກສະນະ hash. ທາງເລືອກນີ້ອາດຈະໄດ້ຮັບຫຼາຍກວ່າຫນຶ່ງຄັ້ງ.

--keep-global-symbols=ຊື່​ເອ​ກະ​ສານ
ສະຫມັກຂໍເອົາ --keep-global-ສັນຍາລັກ ທາງເລືອກແຕ່ລະສັນຍາລັກທີ່ລະບຸໄວ້ໃນໄຟລ໌ ຊື່​ເອ​ກະ​ສານ.
ຊື່​ເອ​ກະ​ສານ ແມ່ນພຽງແຕ່ໄຟລ໌ແປ, ມີສັນຍາລັກຫນຶ່ງຊື່ຕໍ່ແຖວ. ຄໍາເຫັນໃນແຖວອາດຈະເປັນ
ແນະນໍາໂດຍລັກສະນະ hash. ທາງເລືອກນີ້ອາດຈະໄດ້ຮັບຫຼາຍກວ່າຫນຶ່ງຄັ້ງ.

--localize-symbols=ຊື່​ເອ​ກະ​ສານ
ສະຫມັກຂໍເອົາ --localize-ສັນຍາລັກ ທາງເລືອກແຕ່ລະສັນຍາລັກທີ່ລະບຸໄວ້ໃນໄຟລ໌ ຊື່​ເອ​ກະ​ສານ. ຊື່​ເອ​ກະ​ສານ
ແມ່ນພຽງແຕ່ໄຟລ໌ແປ, ມີສັນຍາລັກຫນຶ່ງຊື່ຕໍ່ແຖວ. ຄວາມຄິດເຫັນໃນແຖວອາດຈະຖືກນໍາສະເຫນີ
ໂດຍລັກສະນະ hash. ທາງເລືອກນີ້ອາດຈະໄດ້ຮັບຫຼາຍກວ່າຫນຶ່ງຄັ້ງ.

--globalize-symbols=ຊື່​ເອ​ກະ​ສານ
ສະຫມັກຂໍເອົາ --globalize-ສັນຍາລັກ ທາງເລືອກແຕ່ລະສັນຍາລັກທີ່ລະບຸໄວ້ໃນໄຟລ໌ ຊື່​ເອ​ກະ​ສານ. ຊື່​ເອ​ກະ​ສານ
ແມ່ນພຽງແຕ່ໄຟລ໌ແປ, ມີສັນຍາລັກຫນຶ່ງຊື່ຕໍ່ແຖວ. ຄວາມຄິດເຫັນໃນແຖວອາດຈະຖືກນໍາສະເຫນີ
ໂດຍລັກສະນະ hash. ທາງເລືອກນີ້ອາດຈະໄດ້ຮັບຫຼາຍກວ່າຫນຶ່ງຄັ້ງ.

--weaken-symbols=ຊື່​ເອ​ກະ​ສານ
ສະຫມັກຂໍເອົາ --weaken-ສັນຍາລັກ ທາງເລືອກແຕ່ລະສັນຍາລັກທີ່ລະບຸໄວ້ໃນໄຟລ໌ ຊື່​ເອ​ກະ​ສານ. ຊື່​ເອ​ກະ​ສານ is
ພຽງ​ແຕ່​ໄຟລ​໌​ແປ​, ມີ​ສັນ​ຍາ​ລັກ​ຫນຶ່ງ​ຊື່​ຕໍ່​ແຖວ​. ຄວາມຄິດເຫັນໃນແຖວອາດຈະຖືກນໍາສະເຫນີໂດຍ
ລັກສະນະ hash. ທາງເລືອກນີ້ອາດຈະໄດ້ຮັບຫຼາຍກວ່າຫນຶ່ງຄັ້ງ.

--alt-machine-code=ດັດຊະນີ
ຖ້າສະຖາປັດຕະຍະ ກຳ ຜົນຜະລິດມີລະຫັດເຄື່ອງສະຫຼັບ, ໃຫ້ໃຊ້ ດັດຊະນີth code ແທນ
ຂອງຄ່າເລີ່ມຕົ້ນ. ນີ້ແມ່ນເປັນປະໂຫຍດໃນກໍລະນີທີ່ເຄື່ອງໄດ້ຖືກມອບຫມາຍລະຫັດຢ່າງເປັນທາງການແລະ
ລະບົບຕ່ອງໂສ້ເຄື່ອງມືຮັບຮອງເອົາລະຫັດໃຫມ່, ແຕ່ຄໍາຮ້ອງສະຫມັກອື່ນໆຍັງຂຶ້ນກັບ
ລະຫັດຕົ້ນສະບັບຖືກນໍາໃຊ້. ສໍາລັບສະຖາປັດຕະຍະກໍາທີ່ອີງໃສ່ ELF ຖ້າ ດັດຊະນີ ທາງເລືອກເຮັດ
ບໍ່ມີຢູ່ແລ້ວຄ່າແມ່ນຖືວ່າເປັນຕົວເລກຢ່າງແທ້ຈິງທີ່ຈະເກັບໄວ້ໃນ
ພາກສະຫນາມ e_machine ຂອງຫົວ ELF.

--writable-text
ໝາຍຂໍ້ຄວາມທີ່ອອກມາວ່າສາມາດຂຽນໄດ້. ຕົວເລືອກນີ້ບໍ່ມີຄວາມຫມາຍສໍາລັບໄຟລ໌ວັດຖຸທັງຫມົດ
ຮູບແບບຕ່າງໆ.

--readonly-text
ເຮັດໃຫ້ຂໍ້ຄວາມຜົນຜະລິດຂຽນຖືກປ້ອງກັນ. ຕົວເລືອກນີ້ບໍ່ມີຄວາມຫມາຍສໍາລັບວັດຖຸທັງຫມົດ
ຮູບແບບໄຟລ໌.

--ບໍລິສຸດ
ໝາຍໄຟລ໌ຜົນຜະລິດຕາມຄວາມຕ້ອງການທີ່ຈັດໃສ່. ຕົວເລືອກນີ້ບໍ່ມີຄວາມຫມາຍສໍາລັບວັດຖຸທັງຫມົດ
ຮູບແບບໄຟລ໌.

--ບໍ່ສະອາດ
ໝາຍໄຟລ໌ຜົນຜະລິດວ່າບໍ່ສະອາດ. ຕົວເລືອກນີ້ບໍ່ມີຄວາມຫມາຍສໍາລັບໄຟລ໌ວັດຖຸທັງຫມົດ
ຮູບແບບຕ່າງໆ.

--prefix-symbols=string
ຄໍານໍາຫນ້າສັນຍາລັກທັງຫມົດໃນໄຟລ໌ຜົນຜະລິດທີ່ມີ string.

--prefix-sections=string
ນໍາໜ້າຊື່ພາກສ່ວນທັງໝົດໃນໄຟລ໌ຜົນຜະລິດດ້ວຍ string.

--prefix-alloc-sections=string
ຄໍານໍາຫນ້າຊື່ທັງຫມົດຂອງພາກສ່ວນຈັດສັນທັງຫມົດໃນໄຟລ໌ຜົນຜະລິດທີ່ມີ string.

--add-gnu-debuglink=ເສັ້ນທາງໄປຫາໄຟລ໌
ສ້າງພາກສ່ວນ .gnu_debuglink ເຊິ່ງປະກອບດ້ວຍການອ້າງອີງເຖິງ ເສັ້ນທາງໄປຫາໄຟລ໌ ແລະເພີ່ມ
ມັນໄປຫາໄຟລ໌ຜົນຜະລິດ. ຫມາຍເຫດ: ໄຟລ໌ທີ່ ເສັ້ນທາງໄປຫາໄຟລ໌ ຕ້ອງມີຢູ່. ສ່ວນຫນຶ່ງຂອງ
ຂະບວນການເພີ່ມພາກສ່ວນ .gnu_debuglink ກ່ຽວຂ້ອງກັບການຝັງ checksum ຂອງ
ເນື້ອໃນຂອງໄຟລ໌ຂໍ້ມູນ debug ເຂົ້າໄປໃນພາກ.

ຖ້າ​ຫາກ​ວ່າ​ໄຟລ​໌​ຂໍ້​ມູນ​ດີ​ບັກ​ໄດ້​ຖືກ​ສ້າງ​ຂຶ້ນ​ຢູ່​ໃນ​ສະ​ຖານ​ທີ່​ດຽວ​ແຕ່​ວ່າ​ມັນ​ຈະ​ໄດ້​ຮັບ​ການ​ຕິດ​ຕັ້ງ​ທີ່ a
ເວລາຕໍ່ມາເຂົ້າໄປໃນສະຖານທີ່ທີ່ແຕກຕ່າງກັນຫຼັງຈາກນັ້ນຢ່າໃຊ້ເສັ້ນທາງໄປຫາການຕິດຕັ້ງ
ສະຖານທີ່. ໄດ້ --add-gnu-debuglink ທາງ​ເລືອກ​ຈະ​ລົ້ມ​ເຫລວ​ເນື່ອງ​ຈາກ​ວ່າ​ໄຟລ​໌​ທີ່​ຕິດ​ຕັ້ງ​ເຮັດ​ໄດ້​
ຍັງບໍ່ມີ. ແທນທີ່ການວາງໄຟລ໌ຂໍ້ມູນດີບັກໃນໄດເລກະທໍລີປະຈຸບັນແລະນໍາໃຊ້
--add-gnu-debuglink ທາງ​ເລືອກ​ທີ່​ບໍ່​ມີ​ອົງ​ປະ​ກອບ​ລະ​ບົບ​ໃດ​ຫນຶ່ງ​, ເຊັ່ນ​ນີ້​:

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

ໃນເວລາທີ່ດີບັກ, debugger ຈະພະຍາຍາມຊອກຫາໄຟລ໌ຂໍ້ມູນ debug ແຍກຕ່າງຫາກໃນ a
ຊຸດ​ຂອງ​ສະ​ຖານ​ທີ່​ທີ່​ຮູ້​ຈັກ​. ຊຸດທີ່ແນ່ນອນຂອງສະຖານທີ່ເຫຼົ່ານີ້ແຕກຕ່າງກັນໄປຕາມ
ການ​ແຜ່​ກະ​ຈາຍ​ທີ່​ຖືກ​ນໍາ​ໃຊ້​, ແຕ່​ໂດຍ​ປົກ​ກະ​ຕິ​ມັນ​ປະ​ກອບ​ມີ​:

"* ໄດເລກະທໍລີດຽວກັນກັບຕົວປະຕິບັດ."
"* ບັນຊີຍ່ອຍຂອງໄດເລກະທໍລີທີ່ປະກອບດ້ວຍການດໍາເນີນການໄດ້"
ເອີ້ນວ່າ .debug

"* ໄດເຣັກທໍຣີການດີບັກທົ່ວໂລກເຊັ່ນ /usr/lib/debug."

ຕາບໃດທີ່ໄຟລ໌ຂໍ້ມູນດີບັ໊ກໄດ້ຖືກຕິດຕັ້ງຢູ່ໃນຫນຶ່ງໃນສະຖານທີ່ເຫຼົ່ານີ້ກ່ອນ
debugger ແມ່ນດໍາເນີນການທຸກສິ່ງທຸກຢ່າງຄວນຈະເຮັດວຽກຢ່າງຖືກຕ້ອງ.

--keep-file-ສັນຍາລັກ
ໃນເວລາທີ່ລອກເອົາໄຟລ໌, ບາງທີອາດມີ --strip-debug or --strip-ບໍ່ຈໍາເປັນ, ຮັກສາໃດໆ
ສັນ​ຍາ​ລັກ​ລະ​ບຸ​ຊື່​ໄຟລ​໌​ທີ່​ມາ​, ຊຶ່ງ​ບໍ່​ດັ່ງ​ນັ້ນ​ຈະ​ໄດ້​ຮັບ​ການ​ລອກ​ເອົາ​.

--only-keep-debug
ຖອດໄຟລ໌ອອກ, ເອົາເນື້ອໃນຂອງພາກສ່ວນຕ່າງໆທີ່ຈະບໍ່ຖືກຖອດອອກ
--strip-debug ແລະປ່ອຍໃຫ້ພາກສ່ວນ debugging intact. ໃນໄຟລ໌ ELF, ນີ້ຮັກສາໄວ້
ທຸກພາກສ່ວນບັນທຶກໃນຜົນຜະລິດ.

ຫມາຍເຫດ - ສ່ວນຫົວຂອງພາກສ່ວນທີ່ຖືກຖອດອອກແມ່ນເກັບຮັກສາໄວ້, ລວມທັງພວກມັນ
ຂະຫນາດ, ແຕ່ເນື້ອໃນຂອງພາກໄດ້ຖືກຍົກເລີກ. ສ່ວນ​ຫົວ​ຂໍ້​ແມ່ນ​
ເກັບຮັກສາໄວ້ເພື່ອໃຫ້ເຄື່ອງມືອື່ນໆສາມາດຈັບຄູ່ໄຟລ໌ debuginfo ກັບຂອງແທ້
ປະຕິບັດໄດ້, ເຖິງແມ່ນວ່າການປະຕິບັດນັ້ນໄດ້ຖືກຍົກຍ້າຍໄປຫາພື້ນທີ່ທີ່ຢູ່ຕ່າງກັນ.

ຄວາມຕັ້ງໃຈແມ່ນວ່າທາງເລືອກນີ້ຈະຖືກນໍາມາໃຊ້ຮ່ວມກັນກັບ --add-gnu-debuglink
ເພື່ອສ້າງສອງສ່ວນທີ່ສາມາດປະຕິບັດໄດ້. ນຶ່ງສອງຄູ່ທີ່ຖອດອອກເຊິ່ງຈະໃຊ້ພື້ນທີ່ໜ້ອຍລົງ
ໃນ RAM ແລະໃນການແຈກຢາຍແລະທີສອງເປັນໄຟລ໌ຂໍ້ມູນການແກ້ບັນຫາເຊິ່ງມີພຽງແຕ່
ຕ້ອງການຖ້າຫາກວ່າຄວາມສາມາດ debugging ແມ່ນຕ້ອງການ. ຂັ້ນຕອນທີ່ແນະນໍາເພື່ອສ້າງເຫຼົ່ານີ້
ໄຟລ​໌​ດັ່ງ​ຕໍ່​ໄປ​ນີ້​:

1.
"foo" ແລ້ວ ...

1.
ສ້າງໄຟລ໌ທີ່ມີຂໍ້ມູນການດີບັກ.

1.
ຖອດອອກໄດ້.

1.
ເພື່ອເພີ່ມລິ້ງໄປຫາຂໍ້ມູນການດີບັກເຂົ້າໄປໃນຕົວປະຕິບັດການທີ່ຖືກຖອດອອກ.

ໝາຍເຫດ --- ທາງເລືອກຂອງ ".dbg" ເປັນສ່ວນຂະຫຍາຍສໍາລັບໄຟລ໌ຂໍ້ມູນດີບັກແມ່ນເປັນຕົວຕົນ.
ນອກຈາກນັ້ນ, ຂັ້ນຕອນ "--only-keep-debug" ແມ່ນທາງເລືອກ. ເຈົ້າສາມາດເຮັດສິ່ງນີ້ແທນ:

1.
1.
1.
1.

ie, ໄຟລ໌ຊີ້ໃຫ້ເຫັນໂດຍ --add-gnu-debuglink ສາມາດປະຕິບັດໄດ້ຢ່າງເຕັມທີ່. ມັນ
ບໍ່ຈໍາເປັນຕ້ອງເປັນໄຟລ໌ທີ່ສ້າງຂຶ້ນໂດຍ --only-keep-debug ສະຫຼັບ.

ໝາຍເຫດ--- ສະວິດນີ້ມີຈຸດປະສົງເພື່ອໃຊ້ໃນໄຟລ໌ທີ່ເຊື່ອມໂຍງຢ່າງຄົບຖ້ວນເທົ່ານັ້ນ. ມັນບໍ່ໄດ້ເຮັດໃຫ້
ຄວາມຮູ້ສຶກທີ່ຈະໃຊ້ມັນຢູ່ໃນໄຟລ໌ວັດຖຸທີ່ຂໍ້ມູນການດີບັກອາດບໍ່ຄົບຖ້ວນ.
ນອກເໜືອໄປຈາກຄຸນສົມບັດ gnu_debuglink ໃນປັດຈຸບັນຍັງຮອງຮັບການມີຊື່ໄຟລ໌ດຽວເທົ່ານັ້ນ
ປະກອບມີຂໍ້ມູນການດີບັກ, ບໍ່ແມ່ນຊື່ໄຟລ໌ຫຼາຍອັນຢູ່ໃນໄຟລ໌ຫນຶ່ງຕໍ່-object-file
ບົນພື້ນຖານ.

--strip-dwo
ເອົາເນື້ອໃນຂອງພາກສ່ວນ DWARF .dwo ທັງຫມົດອອກ, ອອກຈາກການດີບັກທີ່ຍັງເຫຼືອ
ພາກສ່ວນແລະສັນຍາລັກທັງຫມົດ intact. ທາງເລືອກນີ້ແມ່ນມີຈຸດປະສົງສໍາລັບການນໍາໃຊ້ໂດຍ compiler ເປັນ
ສ່ວນ ໜຶ່ງ ຂອງ -gsplit-dwarf ທາງເລືອກ, ເຊິ່ງແບ່ງປັນຂໍ້ມູນດີບັກລະຫວ່າງໄຟລ໌ .o
ແລະໄຟລ໌ .dwo ແຍກຕ່າງຫາກ. compiler ສ້າງຂໍ້ມູນດີບັກທັງໝົດໃນອັນດຽວກັນ
ໄຟລ໌, ຫຼັງຈາກນັ້ນໃຊ້ --extract-dwo ທາງ​ເລືອກ​ທີ່​ຈະ​ສໍາ​ເນົາ​ເອົາ​ພາກ​ສ່ວນ .dwo ກັບ​ໄຟລ​໌ .dwo​,
ຈາກນັ້ນ --strip-dwo ທາງເລືອກທີ່ຈະເອົາພາກສ່ວນເຫຼົ່ານັ້ນອອກຈາກໄຟລ໌ .o ຕົ້ນສະບັບ.

--extract-dwo
ສະກັດເນື້ອໃນຂອງພາກສ່ວນ DWARF .dwo ທັງໝົດ. ເບິ່ງ --strip-dwo ທາງເລືອກສໍາລັບການເພີ່ມເຕີມ
ຂໍ້ມູນຂ່າວສານ.

--ການຈັດຮຽງໄຟລ໌ num
ລະບຸການຈັດຮຽງໄຟລ໌. ພາກສ່ວນຕ່າງໆໃນໄຟລ໌ຈະເລີ່ມຕົ້ນຢູ່ທີ່ການຊົດເຊີຍໄຟລ໌ສະເໝີ
ຊຶ່ງເປັນຕົວຄູນຂອງຕົວເລກນີ້. ນີ້ຄ່າເລີ່ມຕົ້ນເປັນ 512. [ຕົວເລືອກນີ້ແມ່ນສະເພາະ
ເປົ້າໝາຍ PE.]

--heap reserve
--heap reserve,ຄໍາຫມັ້ນສັນຍາ
ລະບຸຈໍານວນຂອງ bytes ຂອງຫນ່ວຍຄວາມຈໍາທີ່ຈະສະຫງວນ (ແລະທາງເລືອກຄໍາຫມັ້ນສັນຍາ) ທີ່ຈະນໍາໃຊ້ເປັນ
heap ສໍາລັບໂຄງການນີ້. [ຕົວເລືອກນີ້ແມ່ນສະເພາະກັບເປົ້າໝາຍ PE.]

--ຮູບ-ຖານ ມູນຄ່າ
ການນໍາໃຊ້ ມູນຄ່າ ເປັນທີ່ຢູ່ພື້ນຖານຂອງໂຄງການຫຼື dll ຂອງທ່ານ. ນີ້ແມ່ນຄວາມຊົງຈໍາຕ່ໍາສຸດ
ສະຖານທີ່ທີ່ຈະຖືກນໍາໃຊ້ໃນເວລາທີ່ໂຄງການຫຼື dll ຂອງທ່ານຖືກໂຫລດ. ເພື່ອຫຼຸດຜ່ອນຄວາມຕ້ອງການ
ການຍົກຍ້າຍແລະປັບປຸງການປະຕິບັດຂອງ dlls ຂອງທ່ານ, ແຕ່ລະຄົນຄວນມີທີ່ຢູ່ພື້ນຖານທີ່ເປັນເອກະລັກ
ແລະບໍ່ທັບຊ້ອນ dll ອື່ນໆ. ຄ່າເລີ່ມຕົ້ນແມ່ນ 0x400000 ສໍາລັບການປະຕິບັດ, ແລະ
0x10000000 ສໍາລັບ dlls. [ຕົວເລືອກນີ້ແມ່ນສະເພາະກັບເປົ້າໝາຍ PE.]

--section-alignment num
ກໍານົດການຈັດລໍາດັບພາກສ່ວນ. ພາກສ່ວນຕ່າງໆໃນໜ່ວຍຄວາມຈຳຈະເລີ່ມຕົ້ນຢູ່ບ່ອນຢູ່ສະເໝີ
ເປັນຕົວຄູນຂອງຕົວເລກນີ້. ຄ່າເລີ່ມຕົ້ນເປັນ 0x1000. [ທາງເລືອກນີ້ແມ່ນສະເພາະກັບ PE
ເປົ້າ​ຫມາຍ.]

-- stack reserve
-- stack reserve,ຄໍາຫມັ້ນສັນຍາ
ລະບຸຈໍານວນຂອງ bytes ຂອງຫນ່ວຍຄວາມຈໍາທີ່ຈະສະຫງວນ (ແລະທາງເລືອກຄໍາຫມັ້ນສັນຍາ) ທີ່ຈະນໍາໃຊ້ເປັນ
stack ສໍາລັບໂຄງການນີ້. [ຕົວເລືອກນີ້ແມ່ນສະເພາະກັບເປົ້າໝາຍ PE.]

-- ລະບົບຍ່ອຍ ທີ່
-- ລະບົບຍ່ອຍ ທີ່:ທີ່ສໍາຄັນ
-- ລະບົບຍ່ອຍ ທີ່:ທີ່ສໍາຄັນ.ເລັກນ້ອຍ
ລະບຸລະບົບຍ່ອຍທີ່ໂຄງການຂອງເຈົ້າຈະປະຕິບັດ. ຄຸນຄ່າທາງກົດໝາຍສຳລັບ
ທີ່ ແມ່ນ "native", "windows", "console", "posix", "efi-app", "efi-bsd", "efi-rtd",
"sal-rtd", ແລະ "xbox". ເຈົ້າສາມາດເລືອກເປັນເວີຊັນຂອງລະບົບຍ່ອຍໄດ້. ຕົວເລກ
ຄຸນຄ່າຍັງຖືກຍອມຮັບ ທີ່. [ຕົວເລືອກນີ້ແມ່ນສະເພາະກັບເປົ້າໝາຍ PE.]

--extract-ສັນຍາລັກ
ຮັກສາທຸງ ແລະສັນຍາລັກຂອງພາກສ່ວນຂອງໄຟລ໌ໄວ້ ແຕ່ເອົາຂໍ້ມູນພາກສ່ວນທັງໝົດອອກ. ໂດຍສະເພາະ,
ທາງ​ເລືອກ​:

*
*
*

ທາງເລືອກນີ້ຖືກນໍາໃຊ້ເພື່ອສ້າງເປັນ .sym ໄຟລ໌ສໍາລັບ Kernel VxWorks. ມັນຍັງສາມາດເປັນ
ວິທີທີ່ເປັນປະໂຫຍດຂອງການຫຼຸດຜ່ອນຂະຫນາດຂອງ a --ພຽງແຕ່-ສັນຍາລັກ ໄຟລ໌ເຊື່ອມຕໍ່ຕົວເຊື່ອມຕໍ່.

--compress-debug-sections
ບີບອັດພາກສ່ວນດີບັກ DWARF ໂດຍໃຊ້ zlib ກັບ SHF_COMPRESSED ຈາກ ELF ABI. ຫມາຍ​ເຫດ​ -
ຖ້າການບີບອັດຕົວຈິງຈະເຮັດໃຫ້ພາກສ່ວນ ຂະຫນາດໃຫຍ່, ຫຼັງຈາກນັ້ນມັນບໍ່ໄດ້ຖືກບີບອັດ.

--compress-debug-sections=ບໍ່ມີ
--compress-debug-sections=zlib
--compress-debug-sections=zlib-gnu
--compress-debug-sections=zlib-gabi
ສຳລັບໄຟລ໌ ELF, ຕົວເລືອກເຫຼົ່ານີ້ຄວບຄຸມວິທີການບີບອັດສ່ວນດີບັກຂອງ DWARF.
--compress-debug-sections=ບໍ່ມີ ເທົ່າກັບ --decompress-debug-sections.
--compress-debug-sections=zlib ແລະ --compress-debug-sections=zlib-gabi ທຽບເທົ່າ
to --compress-debug-sections. --compress-debug-sections=zlib-gnu ບີບອັດ DWARF
ແກ້ໄຂພາກສ່ວນໂດຍໃຊ້ zlib. ພາກສ່ວນດີບັກຖືກປ່ຽນຊື່ເພື່ອເລີ່ມຕົ້ນດ້ວຍ .zdebug
ແທນ​ທີ່ .ດີບັກ. ຫມາຍເຫດ - ຖ້າການບີບອັດຕົວຈິງຈະເຮັດໃຫ້ພາກສ່ວນຫນຶ່ງ ຂະຫນາດໃຫຍ່, ຫຼັງຈາກນັ້ນ
ມັນບໍ່ໄດ້ຖືກບີບອັດ ຫຼືປ່ຽນຊື່.

--decompress-debug-sections
ບີບອັດພາກສ່ວນດີບັກ DWARF ໂດຍໃຊ້ zlib. ຊື່ພາກຕົ້ນສະບັບຂອງ
ພາກສ່ວນທີ່ຖືກບີບອັດຖືກຟື້ນຟູ.

-V
- ການປ່ຽນແປງ
ສະແດງເລກເວີຊັ່ນຂອງ ສຳເນົາ.

-v
-- verbose
Verbose output: ບອກໄຟລ໌ວັດຖຸທັງໝົດທີ່ຖືກດັດແກ້. ໃນກໍລະນີຂອງການເກັບຮັກສາ, ສຳເນົາ -V
ລາຍຊື່ສະມາຊິກທັງໝົດຂອງແຟ້ມຈັດເກັບ.

- ຊ່ວຍ
ສະແດງບົດສະຫຼຸບຂອງທາງເລືອກໃນການ ສຳເນົາ.

-- ຂໍ້​ມູນ
ສະແດງລາຍການສະແດງສະຖາປັດຕະຍະກໍາ ແລະຮູບແບບວັດຖຸທັງໝົດທີ່ມີຢູ່.

@ເອກະສານ
ອ່ານຕົວເລືອກແຖວຄໍາສັ່ງຈາກ ເອກະສານ. ທາງ​ເລືອກ​ທີ່​ອ່ານ​ໄດ້​ຖືກ​ໃສ່​ແທນ​ທີ່​ຂອງ​
ຕົ້ນສະບັບ @ເອກະສານ ທາງເລືອກ. ຖ້າ ເອກະສານ ບໍ່ມີ, ຫຼືບໍ່ສາມາດອ່ານໄດ້, ຫຼັງຈາກນັ້ນທາງເລືອກ
ຈະ​ໄດ້​ຮັບ​ການ​ປິ່ນ​ປົວ​ທີ່​ຮູ້​ຫນັງ​ສື​, ແລະ​ບໍ່​ໄດ້​ຮັບ​ການ​ໂຍກ​ຍ້າຍ​ອອກ​.

ຕົວເລືອກຕ່າງໆໃນ ເອກະສານ ຖືກແຍກອອກໂດຍຊ່ອງຫວ່າງ. ອາດມີຕົວອັກສອນຊ່ອງຫວ່າງໃສ່ນຳ
ໃນທາງເລືອກໂດຍການອ້ອມຮອບທາງເລືອກທັງຫມົດໃນວົງຢືມດຽວຫຼືຄູ່. ໃດ
ຕົວອັກສອນ (ລວມທັງ backslash) ອາດຈະຖືກລວມເຂົ້າໂດຍການນໍາຫນ້າຕົວອັກສອນທີ່ຈະເປັນ
ລວມໄປດ້ວຍ backslash. ໄດ້ ເອກະສານ ຕົວຂອງມັນເອງອາດຈະມີ @ ເພີ່ມເຕີມເອກະສານ ທາງເລືອກ; ໃດ
ທາງເລືອກດັ່ງກ່າວຈະຖືກປະມວນຜົນແບບ recursively.

ໃຊ້ mips-linux-gnu-objcopy ອອນໄລນ໌ໂດຍໃຊ້ບໍລິການ onworks.net


Ad


Ad

ລ່າສຸດ Linux ແລະ Windows ໂຄງການອອນໄລນ໌