ນີ້ແມ່ນຄໍາສັ່ງ i686-linux-gnu-as ທີ່ສາມາດດໍາເນີນການໄດ້ໃນ OnWorks ຜູ້ໃຫ້ບໍລິການໂຮດຕິ້ງຟຣີໂດຍໃຊ້ຫນຶ່ງໃນຫຼາຍໆບ່ອນເຮັດວຽກອອນໄລນ໌ຂອງພວກເຮົາເຊັ່ນ Ubuntu Online, Fedora Online, Windows online emulator ຫຼື MAC OS online emulator
ໂຄງການ:
NAME
AS - ຕົວປະກອບ GNU ແບບເຄື່ອນທີ່.
ສະຫຼຸບສັງລວມ
ເປັນ [-a[cdghlns][=ເອກະສານ]] [-- ຈັບສະຫຼັບ] [-D]
[--compress-debug-sections] [--nocompress-debug-sections]
[--debug-prefix-map ອາຍຸ=ໃຫມ່]
[-- defsym ຊິມ=h] [-f] [-g] [--gstabs]
[--gstabs+] [--gdwarf-2] [--gdwarf-sections]
[- ຊ່ວຍ] [-I dir] [-J]
[-K] [-L] [--listing-lhs-width=NUMBER]
[--listing-lhs-width2=NUMBER] [--listing-rhs-width=NUMBER]
[--listing-cont-lines=NUMBER] [--keep-ທ້ອງຖິ່ນ]
[-o objfile] [-R]
[--hash-size=NUMBER] [--reduce-memory-overheads]
[--ສະຖິຕິ]
[-v] [-ການປ່ຽນແປງ] [- ການປ່ຽນແປງ]
[-W] [--ເຕືອນ] [-- ເຕືອນໄພອັນຕະລາຍ] [-w] [-x]
[-Z] [@ເອກະສານ]
[--sectname-subst] [--size-check=[error|ເຕືອນ]]
[--ເປົ້າຫມາຍການຊ່ວຍເຫຼືອ] [ທາງເລືອກເປົ້າຫມາຍ]
[--|ໄຟ ... ]
ເປົ້າຫມາຍ AAArch64 ຕົວເລືອກ:
[-EB|- THE]
[- ມາບີ=ຊ່ວຍເຫຼືອ]
ເປົ້າຫມາຍ Alpha ຕົວເລືອກ:
[-mcpu]
[-mdebug | -no-mdebug]
[- ທົດແທນ | - ແທນທີ່]
[- ຜ່ອນຄາຍ] [-g] [-Gຂະຫນາດ]
[-F] [-32 ຕື່ມ]
ເປົ້າຫມາຍ ARC ຕົວເລືອກ:
[-mcpu=cpu]
[-mA6|-mARC600|-mARC601|-mA7|-mARC700|-mEM|-mHS]
[-mcode-ຄວາມຫນາແຫນ້ນ]
[-EB|- THE]
ເປົ້າຫມາຍ ARM ຕົວເລືອກ:
[-mcpu=processor[+ການຂະຫຍາຍ...]]
[- ມີນາ=ຖາປັດຕະຍະ[+ການຂະຫຍາຍ...]]
[-mfpu=ຮູບແບບຈຸດລອຍ]
[-mfloat-abi=ຊ່ວຍເຫລືອ]
[-meabi=ver]
[- ໂປ້ມື]
[-EB|- THE]
[-mapcs-32|-mapcs-26|-mapcs-float|
-mapcs-reentrant]
[-mthumb-interwork] [-k]
ເປົ້າຫມາຍ ດຳ ຕົວເລືອກ:
[-mcpu=processor[-sirevision]]
[-mfdpic]
[-mno-fdpic]
[-mnopic]
ເປົ້າຫມາຍ CRIS ຕົວເລືອກ:
[--ຂີດກ້ອງ | --no-underscore]
[--ຮູບ] [-N]
[--emulation=ອາຊະຍາກຳ | --emulation=crisaout]
[--march=v0_v10 | --ເດືອນມີນາ=v10 | --ເດືອນມີນາ=v32 |
--march=common_v10_v32]
ເປົ້າຫມາຍ D10V ຕົວເລືອກ:
[-O]
ເປົ້າຫມາຍ D30V ຕົວເລືອກ:
[-O|-n|-N]
ເປົ້າຫມາຍ EPIphany ຕົວເລືອກ:
[- mepiphany|- mepiphany16]
ເປົ້າຫມາຍ H8 / 300 ຕົວເລືອກ:
[-h-tick-hex]
ເປົ້າຫມາຍ i386 ຕົວເລືອກ:
[-32|--x32|-64] [-n]
[- ມີນາ=CPU[+ການຄົ້ນຄ້ວາ...]] [-mtune=CPU]
ເປົ້າຫມາຍ i960 ຕົວເລືອກ:
[-ACA|-ACA_A|-ACB|-ACC|-ອາຄາ|-AKB|
-AKC|-AMC]
[-b] [- ບໍ່ຜ່ອນຄາຍອາລົມ]
ເປົ້າຫມາຍ IA-64 ຕົວເລືອກ:
[-mconstant-gp|-mauto-pic]
[-milp32|-milp64|-mlp64|-mp64]
[-ມ|MBE]
[-mtune=itanium1|-mtune=itanium2]
[-munwind-check=ເຕືອນ|-munwind-check=ຜິດພາດ]
[-mhint.b=ຕົກລົງ|-mhint.b=ຄຳເຕືອນ|-mhint.b=ຜິດພາດ]
[-x|-xexplicit] [-xauto] [-xdebug]
ເປົ້າຫມາຍ IP2K ຕົວເລືອກ:
[-mip2022|-mip2022ext]
ເປົ້າຫມາຍ M32C ຕົວເລືອກ:
[-m32c|-m16c] [-ຜ່ອນຄາຍ] [-h-tick-hex]
ເປົ້າຫມາຍ M32R ຕົວເລືອກ:
[--m32rx|--[no-]warn-explicit-parallel-conflicts|
--W[n]ປ]
ເປົ້າຫມາຍ M680X0 ຕົວເລືອກ:
[-l] [-m68000|-m68010|-m68020|...]
ເປົ້າຫມາຍ M68HC11 ຕົວເລືອກ:
[-m68hc11|-m68hc12|-m68hcs12|-mm9s12x|-mm9s12xg]
[-mshort|- ມລ]
[-mshort-double|-mlong-double]
[--force-ຍາວ-ສາຂາ] [-- ສາຂາສັ້ນ]
[--strict-direct-mode] [--print-insn-syntax]
[--print-opcodes] [--generate-ຕົວຢ່າງ]
ເປົ້າຫມາຍ MCORE ຕົວເລືອກ:
[-jsri2bsr] [- sifilter] [- ຜ່ອນຄາຍ]
[-mcpu=[210|340]]
ເປົ້າຫມາຍ Meta ຕົວເລືອກ:
[-mcpu=cpu] [-mfpu=cpu] [-mdsp=cpu] ເປົ້າຫມາຍ ໄມໂຄຣບລາສ ຕົວເລືອກ:
ເປົ້າຫມາຍ MIPS ຕົວເລືອກ:
[-nocpp] [- THE] [-EB] [-O[ທີ່ດີທີ່ສຸດ ລະດັບ]]
[-g[debug ລະດັບ]] [-G num] [-KPIC] [-call_shared]
[-non_shared] [-xgot [-mvxworks-pic]
[- ມາບີ=ຊ່ວຍເຫຼືອ] [-32] [-n32] [-64] [-mfp32] [-mgp32]
[-mfp64] [-mgp64] [-mfpx]
[-modd-spreg] [-mno-odd-spreg]
[- ມີນາ=CPU] [-mtune=CPU] [-mips1] [-mips2]
[-mips3] [-mips4] [-mips5] [-mips32] [-mips32r2]
[-mips32r3] [-mips32r5] [-mips32r6] [-mips64] [-mips64r2]
[-mips64r3] [-mips64r5] [-mips64r6]
[-construct-floats] [-no-construct-floats]
[-mnan=ການເຂົ້າລະຫັດ]
[- ກັບດັກ] [- ບໍ່ຢຸດ] [- ພັກຜ່ອນ] [- ບໍ່ມີກັບດັກ]
[-mips16] [-no-mips16]
[-mmmicromips] [-mno-micromips]
[-msmartmips] [-mno-smartmips]
[-mips3d] [-no-mips3d]
[-mdmx] [-no-mdmx]
[-mdsp] [-mno-dsp]
[-MDSPR2] [-mno-dspr2]
[-mmsa] [-mno-msa]
[-mxpa] [-mno-xpa]
[-mmt] [-mno-mt]
[-mmcu] [-mno-mcu]
[- minsn32] [-mno-insn32]
[-mfix7000] [-mno-fix 7000]
[-mfix-rm7000] [-mno-fix-rm7000]
[-mfix-vr4120] [-mno-fix-vr4120]
[-mfix-vr4130] [-mno-fix-vr4130]
[-mdebug] [-no-mdebug]
[-mpdr] [-mno-pdr]
ເປົ້າຫມາຍ MMIX ຕົວເລືອກ:
[--fixed-special-register-names] [--globalize-ສັນຍາລັກ]
[--gnu-syntax] [--ພັກຜ່ອນ] [--no-predefined-symbols]
[--ບໍ່ຂະຫຍາຍ] [--no-merge-gregs] [-x]
[--linker-alocated-gregs]
ເປົ້າຫມາຍ Nios II ຕົວເລືອກ:
[- ຜ່ອນຄາຍທັງຫມົດ] [- ສ່ວນຜ່ອນຄາຍ] [- ບໍ່ຜ່ອນຄາຍອາລົມ]
[-EB] [- THE]
ເປົ້າຫມາຍ NDS32 ຕົວເລືອກ:
[- THE] [-EB] [-O] [-ອສ] [-mcpu=cpu]
[-misa=isa] [-mabi=ຊ່ວຍເຫລືອ] [-mall-ext]
[-m[ບໍ່-]16-ບິດ] [-m[no-]perf-ext] [-m[no-]perf2-ext]
[-m[no-]string-ext] [-m[no-]dsp-ext] [-m[ບໍ່-]mac] [-m[ບໍ່-]div]
[-m[no-]audio-isa-ext] [-m[ບໍ່-]fpu-sp-ext] [-m[ບໍ່-]fpu-dp-ext]
[-m[ບໍ່-]fpu-fma] [-mfpu-freg=FREG] [-mreduced-regs]
[-mful-regs] [-m[no-]dx-regs] [-mpic] [-mno-ຜ່ອນຄາຍ]
[-mb2bb]
ເປົ້າຫມາຍ PDP11 ຕົວເລືອກ:
[-mpic|-mno-pic] [- ສູນການຄ້າ] [-mno-extensions]
[-mການຂະຫຍາຍ|-mno-ການຂະຫຍາຍ]
[-mcpu] [-mເຄື່ອງ]
ເປົ້າຫມາຍ picoJava ຕົວເລືອກ:
[-mb|-ຂ້ອຍ]
ເປົ້າຫມາຍ ພະລັງງານ PC ຕົວເລືອກ:
[-a32|-a64]
[-mpwrx|-mpwr2|-mpwr|-m601|-mppc|-mppc32|-m603|-m604|-m403|-m405|
-m440|-m464|-m476|-m7400|-m7410|-m7450|-m7455|-m750cl|-mppc64|
-m620|-ຂ້ອຍ 500|-e500x2|-me500mc|-me500mc64|-ຂ້ອຍ 5500|-ຂ້ອຍ 6500|-mppc64bridge|
-mbooke|- ພະລັງງານ 4|-mpwr4|- ພະລັງງານ 5|-mpwr5|-mpwr5x|- ພະລັງງານ 6|-mpwr6|
- ພະລັງງານ 7|-mpwr7|- ພະລັງງານ 8|-mpwr8|- ພະລັງງານ 9|-mpwr9-ma2|
- mcell|-mspe|-mtitan|-ຂ້ອຍ 300|-mcom]
[- ຫຼາຍ] [-maltivec|-mvsx|-mhtm|-mvle]
[-mregnames|-mno-regnames]
[- ສາມາດຍ້າຍໄດ້|-mrelocatable-lib|-K PIC] [- memb]
[- ໜ້ອຍ|-mlittle-endian|-ການ|- ໃຫຍ່|-mbig-endian|-ເປັນ]
[- msolaris|-mno-solaris]
[-nops=ນັບ]
ເປົ້າຫມາຍ RL78 ຕົວເລືອກ:
[-mg10]
[-m32bit-ສອງເທົ່າ|-m64bit-ສອງເທົ່າ]
ເປົ້າຫມາຍ RX ຕົວເລືອກ:
[-mlittle-endian|-mbig-endian]
[-m32bit-ສອງເທົ່າ|-m64bit-ສອງເທົ່າ]
[-muse-conventional-section-names]
[-msmall-data-limit]
[- mpid]
[-mrelax]
[-mint-register=ຈໍານວນ]
[-mgcc-abi|-mrx-abi]
ເປົ້າຫມາຍ s390 ຕົວເລືອກ:
[-m31|-m64] [-ເມຊາ|-mzarch] [- ມີນາ=CPU]
[-mregnames|-mno-regnames]
[-mwarn-areg-ສູນ]
ເປົ້າຫມາຍ ຄະແນນ ຕົວເລືອກ:
[-EB][- THE][- FIXDD][- ເຕືອນ]
[-SCORE5][-SCORE5U][-SCORE7][-SCORE3]
[-march=ຄະແນນ7][-march=ຄະແນນ3]
[-USE_R1][-KPIC][-O0][-G num][-V]
ເປົ້າຫມາຍ SPARC ຕົວເລືອກ:
[-Av6|-Av7|-Av8|- Asparclet|- Asparclite
-Av8plus|-Av8plus|-Av9|-Av9a]
[-xarch=v8ບວກ|-xarch=v8plus] [- ຕຳ]
[-32|-64]
ເປົ້າຫມາຍ TIC54X ຕົວເລືອກ:
[-mcpu=54[123589]|-mcpu=54[56]lp] [-mfar-mode|-mf]
[-merrors-to-file |-ຂ້ອຍ ]
ເປົ້າຫມາຍ TIC6X ຕົວເລືອກ:
[- ມີນາ=ໂຄ້ງ] [-mbig-endian|-mlittle-endian]
[-mdsbt|-mno-dsbt] [-mpid=ບໍ່|-mpid=ໃກ້|-mpid=ໄກ]
[-mpic|-mno-pic]
ເປົ້າຫມາຍ TILE-Gx ຕົວເລືອກ:
[-m32|-m64][-EB][- THE]
ເປົ້າຫມາຍ ວິໄສທັດ ຕົວເລືອກ:
[-mtune=ໂຄ້ງ]
ເປົ້າຫມາຍ Xtensa ຕົວເລືອກ:
[--[ບໍ່-] text-section-literals] [--[ບໍ່-] auto-litpools]
[--[ບໍ່-]ຕົວໜັງສືຢ່າງແທ້ຈິງ]
[--[ບໍ່-]ວາງເປົ້າໝາຍ] [--[ບໍ່-]ໂທຍາວ]
[--[ບໍ່-]ຫັນປ່ຽນ]
[--ປ່ຽນຊື່ພາກສ່ວນ ຊື່ເກົ່າ=ຊື່ໃໝ່]
[--[ບໍ່-]trampolines]
ເປົ້າຫມາຍ Z80 ຕົວເລືອກ:
[-z80] [-r800]
[ -ignore-undocumented-ຄໍາແນະນໍາ] [- ວູດ]
[ -ignore-unportable-ຄໍາແນະນໍາ] [-Wnup]
[ -warn-undocumented-ຄໍາແນະນໍາ] [- ວູດ]
[ -warn-unportable-ຄໍາແນະນໍາ] [- ວຸບ]
[ -forbid-undocumented-ຄໍາແນະນໍາ] [- ຟຸດ]
[ -forbid-unportable-ຄໍາແນະນໍາ] [- ຟຸ]
ລາຍລະອຽດ
GNU as ແມ່ນແທ້ຂອງຄອບຄົວຂອງຜູ້ປະກອບ. ຖ້າຫາກວ່າທ່ານນໍາໃຊ້ (ຫຼືໄດ້ນໍາໃຊ້) ໄດ້
ຕົວປະກອບ GNU ໃນສະຖາປັດຕະຍະກໍາຫນຶ່ງ, ທ່ານຄວນຊອກຫາຄວາມຄ້າຍຄືກັນຫຼາຍ
ສະພາບແວດລ້ອມເມື່ອທ່ານໃຊ້ມັນຢູ່ໃນສະຖາປັດຕະຍະກໍາອື່ນ. ແຕ່ລະສະບັບມີ
ຄ້າຍຄືກັນກັບສິ່ງອື່ນໆ, ລວມທັງຮູບແບບໄຟລ໌ວັດຖຸ, ຫຼາຍທີ່ສຸດ
ຄໍາສັ່ງປະກອບ (ມັກເອີ້ນວ່າ pseudo-ops) ແລະ syntax ຂອງ assembler.
as ມີຈຸດປະສົງຕົ້ນຕໍເພື່ອປະກອບຜົນຜະລິດຂອງ GNU C compiler
"gcc" ສໍາລັບການນໍາໃຊ້ໂດຍຕົວເຊື່ອມຕໍ່ "ld". ຢ່າງໃດກໍຕາມ, ພວກເຮົາໄດ້ພະຍາຍາມເຮັດ as
ປະກອບຢ່າງຖືກຕ້ອງທຸກສິ່ງທຸກຢ່າງທີ່ assemblers ອື່ນໆສໍາລັບການດຽວກັນ
ເຄື່ອງຈະປະກອບ. ຂໍ້ຍົກເວັ້ນໃດໆຖືກບັນທຶກໄວ້ຢ່າງຈະແຈ້ງ.
ນີ້ບໍ່ໄດ້ຫມາຍຄວາມວ່າ as ສະເຫມີໃຊ້ syntax ດຽວກັນກັບຕົວປະກອບອື່ນ
ສໍາລັບຖາປັດຕະຍະດຽວກັນ; ຕົວຢ່າງ, ພວກເຮົາຮູ້ວ່າບໍ່ເຂົ້າກັນໄດ້ຫຼາຍອັນ
ສະບັບຂອງ 680x0 ພາສາປະກອບ syntax.
ແຕ່ລະຄັ້ງທີ່ທ່ານແລ່ນ as ມັນປະກອບໂຄງການແຫຼ່ງຫນຶ່ງຢ່າງແທ້ຈິງ. ໄດ້
ໂຄງການແຫຼ່ງແມ່ນປະກອບດ້ວຍຫນຶ່ງຫຼືຫຼາຍໄຟລ໌. (ການປ້ອນຂໍ້ມູນມາດຕະຖານແມ່ນ
ເປັນໄຟລ໌.)
ເຈົ້າໃຫ້ as ເສັ້ນຄໍາສັ່ງທີ່ມີສູນຫຼືຫຼາຍຊື່ໄຟລ໌ input. ໄດ້
ໄຟລ໌ປ້ອນຂໍ້ມູນຖືກອ່ານ (ຈາກຊື່ໄຟລ໌ຊ້າຍຫາຂວາ). ເສັ້ນຄໍາສັ່ງ
ການໂຕ້ຖຽງ (ໃນຕໍາແຫນ່ງໃດກໍ່ຕາມ) ທີ່ບໍ່ມີຄວາມຫມາຍພິເສດແມ່ນຖືກປະຕິບັດ
ຊື່ໄຟລ໌ທີ່ປ້ອນເຂົ້າ.
ຖ້າເຈົ້າໃຫ້ as ບໍ່ມີຊື່ໄຟລ໌ທີ່ມັນພະຍາຍາມອ່ານໄຟລ໌ປ້ອນຂໍ້ມູນຈາກ
ໄດ້ as ການປ້ອນຂໍ້ມູນມາດຕະຖານ, ເຊິ່ງປົກກະຕິແມ່ນເຄື່ອງໝາຍປາຍທາງຂອງເຈົ້າ. ທ່ານອາດຈະມີ
ພິມ ctl-D ບອກ as ບໍ່ມີໂຄງການເພີ່ມເຕີມທີ່ຈະປະກອບ.
ການນໍາໃຊ້ -- ຖ້າເຈົ້າຕ້ອງການຕັ້ງຊື່ໄຟລ໌ວັດສະດຸປ້ອນມາດຕະຖານຢ່າງຈະແຈ້ງໃນຂອງເຈົ້າ
ບັນທັດຄໍາສັ່ງ.
ຖ້າແຫຼ່ງແມ່ນຫວ່າງເປົ່າ, as ຜະລິດໄຟລ໌ວັດຖຸຂະຫນາດນ້ອຍ, ຫວ່າງເປົ່າ.
as ອາດຈະຂຽນຄໍາເຕືອນແລະຂໍ້ຄວາມຜິດພາດກັບໄຟລ໌ຄວາມຜິດພາດມາດຕະຖານ
(ໂດຍປົກກະຕິຢູ່ປາຍຍອດຂອງທ່ານ). ນີ້ບໍ່ຄວນເກີດຂຶ້ນເມື່ອ compiler ແລ່ນ
as ອັດຕະໂນມັດ. ຄໍາເຕືອນລາຍງານການສົມມຸດຕິຖານທີ່ໄດ້ເຮັດດັ່ງນັ້ນ as ສາມາດເຮັດໄດ້
ຮັກສາການປະກອບໂຄງການທີ່ຜິດພາດ; ຄວາມຜິດພາດລາຍງານບັນຫາຮ້າຍແຮງນັ້ນ
ຢຸດເຊົາການຊຸມນຸມ.
ຖ້າຫາກວ່າທ່ານກໍາລັງຮຽກຮ້ອງ as ຜ່ານ GNU C compiler, ທ່ານສາມາດນໍາໃຊ້ -ວ
ທາງເລືອກທີ່ຈະຜ່ານການໂຕ້ຖຽງໂດຍຜ່ານການ assembler ໄດ້. ຜູ້ປະກອບ
ການໂຕ້ຖຽງຕ້ອງແຍກອອກຈາກກັນແລະກັນ (ແລະ -ວ) ໂດຍເຄື່ອງໝາຍຈຸດ.
ຍົກຕົວຢ່າງ:
gcc -c -g -O -Wa,-alh,-L file.c
ນີ້ຜ່ານສອງທາງເລືອກໃຫ້ກັບຜູ້ປະກອບ: -ອ່າ (ປ່ອຍລາຍການໃຫ້
ຜົນຜະລິດມາດຕະຖານທີ່ມີລະດັບສູງແລະແຫຼ່ງປະກອບ) ແລະ -L (ຮັກສາ
ສັນຍາລັກທ້ອງຖິ່ນໃນຕາຕະລາງສັນຍາລັກ).
ປົກກະຕິແລ້ວທ່ານບໍ່ຈໍາເປັນຕ້ອງໃຊ້ນີ້ -ວ ກົນໄກ, ນັບຕັ້ງແຕ່ compiler ຫຼາຍ
ທາງເລືອກບັນດາເສັ້ນຄໍາສັ່ງແມ່ນໄດ້ຮັບການໂອນອັດຕະໂນມັດກັບ assembler ໂດຍ
ສັງລວມ. (ທ່ານສາມາດໂທຫາໄດເວີ GNU compiler ກັບ -v ທາງເລືອກທີ່ຈະ
ເບິ່ງໃຫ້ຊັດເຈນວ່າທາງເລືອກໃດທີ່ມັນຜ່ານໄປຫາແຕ່ລະ compilation pass,
ລວມທັງຜູ້ປະກອບ.
OPTIONS
@ເອກະສານ
ອ່ານຕົວເລືອກແຖວຄໍາສັ່ງຈາກ ເອກະສານ. ຕົວເລືອກທີ່ອ່ານຖືກໃສ່
ແທນທີ່ @ ຕົ້ນສະບັບເອກະສານ ທາງເລືອກ. ຖ້າ ເອກະສານ ບໍ່ມີ, ຫຼື
ບໍ່ສາມາດອ່ານໄດ້, ຫຼັງຈາກນັ້ນທາງເລືອກຈະຖືກປະຕິບັດຢ່າງຈິງຈັງ, ແລະບໍ່ແມ່ນ
ລົບອອກ.
ຕົວເລືອກຕ່າງໆໃນ ເອກະສານ ຖືກແຍກອອກໂດຍຊ່ອງຫວ່າງ. ຊ່ອງຫວ່າງ
ລັກສະນະອາດຈະຖືກລວມຢູ່ໃນທາງເລືອກໂດຍອ້ອມຂ້າງທັງຫມົດ
ທາງເລືອກໃນວົງຢືມດຽວຫຼືຄູ່. ຕົວລະຄອນໃດນຶ່ງ (ລວມທັງ
backslash) ອາດຈະຖືກລວມເຂົ້າໂດຍການນໍາຫນ້າຕົວອັກສອນທີ່ຈະເປັນ
ລວມໄປດ້ວຍ backslash. ໄດ້ ເອກະສານ ຕົວຂອງມັນເອງອາດຈະມີເພີ່ມເຕີມ
@ເອກະສານ ທາງເລືອກ; ຕົວເລືອກດັ່ງກ່າວຈະຖືກປະມວນຜົນແບບ recursively.
-a[cdghlmns]
ເປີດລາຍຊື່, ໃນຫຼາຍໆວິທີ:
- ແລະ ຍົກເລີກເງື່ອນໄຂທີ່ບໍ່ຖືກຕ້ອງ
-ໂຄສະນາ omit debugging ຄໍາສັ່ງ
-ag ປະກອບມີຂໍ້ມູນທົ່ວໄປ, ເຊັ່ນວ່າສະບັບແລະທາງເລືອກທີ່ຜ່ານ
-ອ່າ ປະກອບມີແຫຼ່ງລະດັບສູງ
- ກັບ ປະກອບມີການປະກອບ
-ຂ້ອຍ ລວມເຖິງການຂະຫຍາຍມະຫາພາກ
-ເປັນ ຍົກເລີກການປະມວນຜົນແບບຟອມ
-ເປັນ ປະກອບມີສັນຍາລັກ
=ໄຟລ໌
ຕັ້ງຊື່ຂອງໄຟລ໌ລາຍຊື່
ທ່ານອາດຈະສົມທົບທາງເລືອກເຫຼົ່ານີ້; ສໍາລັບຕົວຢ່າງ, ການນໍາໃຊ້ -ອັນ ສໍາລັບການປະກອບ
ລາຍຊື່ໂດຍບໍ່ມີການປະມວນຜົນແບບຟອມ. ໄດ້ =ໄຟລ໌ ທາງເລືອກ, ຖ້າໃຊ້, ຕ້ອງ
ເປັນຄົນສຸດທ້າຍ. ດ້ວຍຕົວມັນເອງ, -a ເລີ່ມຕົ້ນເປັນ -ahls.
-- ຈັບສະຫຼັບ
ເລີ່ມຕົ້ນໃນໂໝດມະຫາພາກສະຫຼັບກັນ.
--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
ຕົວເລືອກເຫຼົ່ານີ້ຄວບຄຸມວິທີການບີບອັດສ່ວນດີບັກຂອງ DWARF.
--compress-debug-sections=ບໍ່ມີ ເທົ່າກັບ
--nocompress-debug-sections. --compress-debug-sections=zlib ແລະ
--compress-debug-sections=zlib-gabi ເທົ່າກັບ
--compress-debug-sections. --compress-debug-sections=zlib-gnu
ບີບອັດພາກສ່ວນດີບັກ DWARF ໂດຍໃຊ້ zlib. ພາກສ່ວນ debug ແມ່ນ
ປ່ຽນຊື່ເລີ່ມຕົ້ນດ້ວຍ .zdebug. ໃຫ້ສັງເກດວ່າການບີບອັດຈະເຮັດໃຫ້ a
ພາກສ່ວນທີ່ໃຫ້ ຂະຫນາດໃຫຍ່ ຫຼັງຈາກນັ້ນ, ມັນບໍ່ໄດ້ຖືກບີບອັດຫຼືປ່ຽນຊື່.
--nocompress-debug-sections
ຢ່າບີບອັດພາກສ່ວນດີບັກ DWARF. ນີ້ປົກກະຕິແລ້ວແມ່ນຄ່າເລີ່ມຕົ້ນ
ສຳລັບເປົ້າໝາຍທັງໝົດຍົກເວັ້ນ x86/x86_64, ແຕ່ກຳນົດຄ່າຕົວເລືອກເວລາ
ສາມາດຖືກນໍາໃຊ້ເພື່ອ override ນີ້.
-D ບໍ່ສົນໃຈ. ຕົວເລືອກນີ້ຖືກຍອມຮັບສໍາລັບການເຂົ້າກັນໄດ້ຂອງສະຄິບກັບ
ໂທຫາຜູ້ປະກອບອື່ນໆ.
--debug-prefix-map ອາຍຸ=ໃຫມ່
ເມື່ອປະກອບໄຟລ໌ຢູ່ໃນໄດເລກະທໍລີ ອາຍຸ, ບັນທຶກ debugging
ຂໍ້ມູນອະທິບາຍໃຫ້ເຂົາເຈົ້າໃນ ໃຫມ່ ແທນທີ່ຈະເປັນ.
-- defsym ຊິມ=ມູນຄ່າ
ກໍານົດສັນຍາລັກ ຊິມ ຈະ ມູນຄ່າ ກ່ອນທີ່ຈະປະກອບໄຟລ໌ປ້ອນຂໍ້ມູນ.
ມູນຄ່າ ຕ້ອງເປັນຈໍານວນຄົງທີ່. ໃນ C, ເປັນຊັ້ນນໍາ 0x ສະແດງໃຫ້ເຫັນວ່າ
ຄ່າເລກຖານສິບຫົກ, ແລະນຳໜ້າ 0 ຊີ້ບອກຄ່າແປດ. ໄດ້
ຄ່າຂອງສັນຍາລັກສາມາດ overridden ພາຍໃນໄຟລ໌ແຫຼ່ງໂດຍຜ່ານ
ການນໍາໃຊ້ ".set" pseudo-op.
-f "ໄວ"--- ຂ້າມຊ່ອງຫວ່າງ ແລະການຂຽນຄຳເຫັນກ່ອນການປະມວນຜົນ (ສົມມຸດແຫຼ່ງ
ແມ່ນ compiler output).
-g
--gen-debug
ສ້າງຂໍ້ມູນການດີບັກສຳລັບແຕ່ລະສາຍແຫຼ່ງຂອງຕົວປະກອບໂດຍໃຊ້
ຮູບແບບການດີບັກອັນໃດເປັນທີ່ຕ້ອງການໂດຍເປົ້າໝາຍ. ນີ້ໃນປັດຈຸບັນ
ໝາຍເຖິງ STABS, ECOFF ຫຼື DWARF2.
--gstabs
ສ້າງຂໍ້ມູນການດີບັກ stabs ສໍາລັບແຕ່ລະສາຍ assembler. ນີ້
ອາດຈະຊ່ວຍ debugging ລະຫັດ assembler, ຖ້າ debugger ສາມາດຈັດການກັບມັນໄດ້.
--gstabs+
ສ້າງຂໍ້ມູນ stabs debugging ສໍາລັບແຕ່ລະສາຍ assembler, ກັບ
ການຂະຫຍາຍ GNU ທີ່ອາດຈະເປັນພຽງແຕ່ gdb ເທົ່ານັ້ນທີ່ສາມາດຈັດການກັບ, ແລະມັນສາມາດເຮັດໄດ້
ເຮັດໃຫ້ debuggers ອື່ນໆ crash ຫຼືປະຕິເສດທີ່ຈະອ່ານໂຄງການຂອງທ່ານ. ນີ້
ອາດຈະຊ່ວຍ debugging ລະຫັດ assembler. ໃນປັດຈຸບັນມີພຽງແຕ່ GNU
ສ່ວນຂະຫຍາຍແມ່ນສະຖານທີ່ຂອງໄດເລກະທໍລີທີ່ເຮັດວຽກໃນປະຈຸບັນຢູ່ທີ່
ເວລາປະກອບ.
--gdwarf-2
ສ້າງຂໍ້ມູນການດີບັກ DWARF2 ສໍາລັບແຕ່ລະສາຍ assembler.
ອັນນີ້ອາດຈະຊ່ວຍແກ້ບັນຫາຕົວປະກອບລະຫັດ, ຖ້າດີບັກສາມາດຈັດການໄດ້
ມັນ. ຫມາຍເຫດ --- ທາງເລືອກນີ້ແມ່ນສະຫນັບສະຫນູນພຽງແຕ່ບາງເປົ້າຫມາຍ, ບໍ່ແມ່ນທັງຫມົດ
ຂອງພວກເຂົາ.
--gdwarf-sections
ແທນທີ່ຈະສ້າງພາກສ່ວນ .debug_line, ສ້າງຊຸດຂອງ
.debug_line.ຟູ ພາກສ່ວນທີ່ ຟູ ແມ່ນຊື່ຂອງທີ່ສອດຄ້ອງກັນ
ພາກສ່ວນລະຫັດ. ສໍາລັບຕົວຢ່າງ, ພາກສ່ວນລະຫັດເອີ້ນວ່າ .text.func ຈະ
ມີຂໍ້ມູນຕົວເລກເສັ້ນ dwarf ຂອງມັນຢູ່ໃນພາກສ່ວນທີ່ເອີ້ນວ່າ
.debug_line.text.func. ຖ້າພາກສ່ວນລະຫັດຖືກເອີ້ນພຽງແຕ່ .ຂໍ້ຄວາມ
ຫຼັງຈາກນັ້ນ, ພາກສ່ວນເສັ້ນ debug ຈະຍັງຖືກເອີ້ນວ່າພຽງແຕ່ .debug_line
ໂດຍບໍ່ມີການຕໍ່ທ້າຍໃດໆ.
--size-check=ຜິດພາດ
--size-check=ການເຕືອນ
ອອກຂໍ້ຜິດພາດ ຫຼືຄຳເຕືອນສຳລັບຄຳສັ່ງ ELF .size ທີ່ບໍ່ຖືກຕ້ອງ.
- ຊ່ວຍ
ພິມບົດສະຫຼຸບຂອງຕົວເລືອກແຖວຄໍາສັ່ງແລະອອກ.
--ເປົ້າຫມາຍການຊ່ວຍເຫຼືອ
ພິມບົດສະຫຼຸບຂອງຕົວເລືອກສະເພາະເປົ້າຫມາຍທັງຫມົດແລະອອກ.
-I dir
ເພີ່ມໄດເລກະທໍລີ dir ໄປຫາລາຍການຄົ້ນຫາສໍາລັບຄໍາແນະນໍາ ".include".
-J ຢ່າເຕືອນກ່ຽວກັບການລົ້ນລົງລາຍເຊັນ.
-K ອອກຄໍາເຕືອນເມື່ອຕາຕະລາງຄວາມແຕກຕ່າງມີການປ່ຽນແປງເປັນເວລາດົນນານ
ການຍົກຍ້າຍ.
-L
--keep-ທ້ອງຖິ່ນ
ຮັກສາ (ໃນຕາຕະລາງສັນຍາລັກ) ສັນຍາລັກທ້ອງຖິ່ນ. ສັນຍາລັກເຫຼົ່ານີ້ເລີ່ມຕົ້ນດ້ວຍ
ການນຳໜ້າປ້າຍກຳກັບທ້ອງຖິ່ນສະເພາະລະບົບ, ໂດຍປົກກະຕິ .L ສໍາລັບລະບົບ ELF
or L ສໍາລັບລະບົບ a.out ແບບດັ້ງເດີມ.
--listing-lhs-width=ຈໍານວນ
ກໍານົດຄວາມກວ້າງສູງສຸດ, ໃນຄໍາສັບຕ່າງໆ, ຂອງຖັນຂໍ້ມູນຜົນຜະລິດສໍາລັບ an
ລາຍຊື່ຜູ້ປະກອບການ ຈໍານວນ.
--listing-lhs-width2=ຈໍານວນ
ກໍານົດຄວາມກວ້າງສູງສຸດ, ໃນຄໍາສັບຕ່າງໆ, ຂອງຖັນຂໍ້ມູນຜົນຜະລິດສໍາລັບ
ສາຍຕໍ່ເນື່ອງຢູ່ໃນລາຍຊື່ຕົວປະກອບການ ຈໍານວນ.
--listing-rhs-width=ຈໍານວນ
ກໍານົດຄວາມກວ້າງສູງສຸດຂອງສາຍແຫຼ່ງປ້ອນຂໍ້ມູນ, ດັ່ງທີ່ສະແດງຢູ່ໃນ a
ລາຍຊື່, ເຖິງ ຈໍານວນ ໄບ.
--listing-cont-lines=ຈໍານວນ
ກໍານົດຈໍານວນສູງສຸດຂອງແຖວທີ່ພິມອອກໃນບັນຊີລາຍຊື່ສໍາລັບເສັ້ນດຽວ
ເສັ້ນຂອງການປ້ອນຂໍ້ມູນກັບ ຈໍານວນ +1.
-o objfile
ຕັ້ງຊື່ວັດຖຸ-ໄຟລ໌ຜົນຜະລິດຈາກ as objfile.
-R ພັບພາກສ່ວນຂໍ້ມູນເຂົ້າໄປໃນພາກສ່ວນຂໍ້ຄວາມ.
--hash-size=ຈໍານວນ
ກໍານົດຂະຫນາດເລີ່ມຕົ້ນຂອງຕາຕະລາງ hash ຂອງ GAS ເປັນຕົວເລກທີ່ໃກ້ຊິດ
to ຈໍານວນ. ການເພີ່ມມູນຄ່ານີ້ສາມາດຫຼຸດຜ່ອນໄລຍະເວລາຂອງມັນ
ເອົາ assembler ເພື່ອປະຕິບັດວຽກງານຂອງຕົນ, ໃນຄ່າໃຊ້ຈ່າຍຂອງ
ເພີ່ມຄວາມຕ້ອງການຄວາມຊົງຈໍາຂອງຜູ້ປະກອບ. ເຊັ່ນດຽວກັນການຫຼຸດຜ່ອນ
ຄ່ານີ້ສາມາດຫຼຸດຜ່ອນຄວາມຕ້ອງການຫນ່ວຍຄວາມຈໍາໃນຄ່າໃຊ້ຈ່າຍຂອງ
ຄວາມໄວ.
--reduce-memory-overheads
ທາງເລືອກນີ້ຫຼຸດຜ່ອນຄວາມຕ້ອງການຄວາມຊົງຈໍາຂອງ GAS, ໃນຄ່າໃຊ້ຈ່າຍຂອງ
ເຮັດໃຫ້ຂະບວນການປະກອບຊ້າລົງ. ໃນປັດຈຸບັນສະຫຼັບນີ້ແມ່ນເປັນ
ຄໍາສັບຄ້າຍຄື --hash-size=4051, ແຕ່ໃນອະນາຄົດມັນອາດຈະມີອື່ນໆ
ຜົນກະທົບເຊັ່ນດຽວກັນ.
--sectname-subst
ໃຫ້ກຽດຕາມລໍາດັບການທົດແທນໃນຊື່ພາກ.
--ສະຖິຕິ
ພິມພື້ນທີ່ສູງສຸດ (ເປັນໄບຕ໌) ແລະເວລາທັງໝົດ (ເປັນວິນາທີ) ທີ່ໃຊ້
ໂດຍການປະກອບ.
--strip-local-absolute
ເອົາສັນຍາລັກຢ່າງແທ້ຈິງໃນທ້ອງຖິ່ນອອກຈາກຕາຕະລາງສັນຍາລັກຂາອອກ.
-v
-ການປ່ຽນແປງ
Print the as ສະບັບ.
- ການປ່ຽນແປງ
Print the as ສະບັບແລະອອກ.
-W
-- ບໍ່ເຕືອນ
ສະກັດກັ້ນຂໍ້ຄວາມເຕືອນ.
-- ເຕືອນໄພອັນຕະລາຍ
ປະຕິບັດການເຕືອນໄພເປັນຄວາມຜິດພາດ.
--ເຕືອນ
ຢ່າສະກັດກັ້ນຂໍ້ຄວາມເຕືອນຫຼືປະຕິບັດໃຫ້ເຂົາເຈົ້າເປັນຄວາມຜິດພາດ.
-w ບໍ່ສົນໃຈ.
-x ບໍ່ສົນໃຈ.
-Z ສ້າງໄຟລ໌ວັດຖຸເຖິງແມ່ນວ່າຫຼັງຈາກຄວາມຜິດພາດ.
-- | ໄຟ ...
ວັດສະດຸປ້ອນມາດຕະຖານ, ຫຼືໄຟລ໌ແຫຼ່ງທີ່ຈະປະກອບ.
ທາງເລືອກດັ່ງຕໍ່ໄປນີ້ແມ່ນມີຢູ່ໃນເວລາທີ່ໄດ້ຖືກຕັ້ງຄ່າສໍາລັບການ
ໂໝດ 64-bit ຂອງ ARM Architecture (AArch64).
-EB ຕົວເລືອກນີ້ລະບຸວ່າຜົນຜະລິດທີ່ສ້າງຂຶ້ນໂດຍຕົວປະກອບ
ຄວນຖືກໝາຍວ່າຖືກເຂົ້າລະຫັດສຳລັບໂປເຊດເຊີໃຫຍ່-endian.
- THE ຕົວເລືອກນີ້ລະບຸວ່າຜົນຜະລິດທີ່ສ້າງຂຶ້ນໂດຍຕົວປະກອບ
ຄວນຖືກໝາຍວ່າຖືກເຂົ້າລະຫັດສຳລັບໂປຣເຊສເຊີນ້ອຍ-endian.
-mabi=ຊ່ວຍເຫລືອ
ລະບຸວ່າ ABI ລະຫັດແຫຼ່ງໃດໃຊ້. ການໂຕ້ຖຽງທີ່ຮັບຮູ້
ແມ່ນ: "ilp32" ແລະ "lp64", ເຊິ່ງຕັດສິນໃຈໄຟລ໌ວັດຖຸທີ່ສ້າງຂຶ້ນໃນ
ຮູບແບບ ELF32 ແລະ ELF64 ຕາມລໍາດັບ. ຄ່າເລີ່ມຕົ້ນແມ່ນ "lp64".
-mcpu=processor[+ການຂະຫຍາຍ... ]
ທາງເລືອກນີ້ກໍານົດໂຮງງານຜະລິດເປົ້າຫມາຍ. ຜູ້ປະກອບຈະ
ອອກຂໍ້ຄວາມຜິດພາດຖ້າຫາກວ່າຄວາມພະຍາຍາມແມ່ນເຮັດໃຫ້ການປະກອບ
ຄໍາແນະນໍາທີ່ຈະບໍ່ປະຕິບັດໃນໂຮງງານຜະລິດເປົ້າຫມາຍ. ໄດ້
ຊື່ໂປເຊດເຊີຕໍ່ໄປນີ້ຖືກຮັບຮູ້: "cortex-a35",
"cortex-a53", "cortex-a57", "cortex-a72", "exynos-m1", "qdf24xx",
"thunderx", "xgene1" ແລະ "xgene2". ຊື່ພິເສດ "ທັງຫມົດ" ອາດຈະເປັນ
ໃຊ້ເພື່ອໃຫ້ຜູ້ປະກອບສາມາດຍອມຮັບຄໍາແນະນໍາທີ່ຖືກຕ້ອງສໍາລັບການໃດໆ
ໂປເຊດເຊີທີ່ຮອງຮັບ, ລວມທັງສ່ວນຂະຫຍາຍທາງເລືອກທັງຫມົດ.
ນອກເຫນືອໄປຈາກຊຸດຄໍາແນະນໍາຂັ້ນພື້ນຖານ, ຜູ້ປະກອບສາມາດບອກໄດ້
ເພື່ອຍອມຮັບ, ຫຼືຈໍາກັດ, mnemonics extension ຕ່າງໆທີ່ຂະຫຍາຍ
ໂປເຊດເຊີ.
ຖ້າບາງການປະຕິບັດຂອງໂປເຊດເຊີໂດຍສະເພາະສາມາດມີ
ສ່ວນຂະຫຍາຍ, ຈາກນັ້ນສ່ວນຂະຫຍາຍເຫຼົ່ານັ້ນຈະຖືກເປີດໃຊ້ໂດຍອັດຕະໂນມັດ.
ດັ່ງນັ້ນ, ປົກກະຕິທ່ານຈະບໍ່ຕ້ອງລະບຸເພີ່ມເຕີມ
extensions
- ມີນາ=ຖາປັດຕະຍະ[+ການຂະຫຍາຍ... ]
ຕົວເລືອກນີ້ກໍານົດສະຖາປັດຕະຍະກໍາເປົ້າຫມາຍ. ຜູ້ປະກອບຈະ
ອອກຂໍ້ຄວາມຜິດພາດຖ້າຫາກວ່າຄວາມພະຍາຍາມແມ່ນເຮັດໃຫ້ການປະກອບ
ຄໍາແນະນໍາທີ່ຈະບໍ່ປະຕິບັດໃນສະຖາປັດຕະຍະກໍາເປົ້າຫມາຍ. ໄດ້
ຊື່ສະຖາປັດຕະຍະກໍາຕໍ່ໄປນີ້ຖືກຮັບຮູ້: "armv8-a", "armv8.1-a"
ແລະ "armv8.2-a".
ຖ້າທັງສອງ -mcpu ແລະ - ມີນາ ຖືກກໍານົດ, ຜູ້ປະກອບຈະໃຊ້
ການຕັ້ງຄ່າສໍາລັບການ -mcpu. ຖ້າບໍ່ຖືກລະບຸ, ຕົວປະກອບຈະ
ເລີ່ມຕົ້ນເປັນ -mcpu=ທັງໝົດ.
ທາງເລືອກສະຖາປັດຕະສາມາດຂະຫຍາຍໄດ້ດ້ວຍຄໍາແນະນໍາດຽວກັນ
ຕັ້ງຕົວເລືອກການຂະຫຍາຍເປັນ -mcpu ທາງເລືອກ. ບໍ່ມັກ -mcpu,
ສ່ວນຂະຫຍາຍບໍ່ຖືກເປີດໃຊ້ໂດຍຄ່າເລີ່ມຕົ້ນສະເໝີ,
-mverbose-ຜິດພາດ
ຕົວເລືອກນີ້ເປີດໃຊ້ຂໍ້ຄວາມຄວາມຜິດພາດ verbose ສໍາລັບອາຍແກັສ AArch64. ນີ້
ທາງເລືອກແມ່ນເປີດໃຊ້ງານໂດຍຄ່າເລີ່ມຕົ້ນ.
-mno-verbose-ຜິດພາດ
ຕົວເລືອກນີ້ປິດການໃຊ້ງານຂໍ້ຄວາມສະແດງຂໍ້ຜິດພາດໃນແກັດ AArch64.
ຕົວເລືອກຕໍ່ໄປນີ້ສາມາດໃຊ້ໄດ້ເມື່ອຖືກຕັ້ງຄ່າສຳລັບອັນຟາ
ໂປເຊດເຊີ.
-mcpu
ທາງເລືອກນີ້ກໍານົດໂຮງງານຜະລິດເປົ້າຫມາຍ. ຖ້າມີຄວາມພະຍາຍາມ
ເພື່ອປະກອບຄໍາສັ່ງທີ່ຈະບໍ່ປະຕິບັດເປົ້າຫມາຍ
ໂປເຊດເຊີ, ຜູ້ປະກອບອາດຈະຂະຫຍາຍຄໍາແນະນໍາເປັນ
macro ຫຼືອອກຂໍ້ຄວາມຜິດພາດ. ທາງເລືອກນີ້ແມ່ນທຽບເທົ່າກັບ
ຄຳສັ່ງ ".arch".
ຊື່ໂປເຊດເຊີຕໍ່ໄປນີ້ຖືກຮັບຮູ້: 21064, "21064a",
21066, 21068, 21164, "21164a", "21164pc", 21264, "21264a",
"21264b", "ev4", "ev5", "lca45", "ev5", "ev56", "pca56", "ev6",
"ev67", "ev68". ຊື່ພິເສດ "ທັງຫມົດ" ອາດຈະຖືກນໍາໃຊ້ເພື່ອອະນຸຍາດໃຫ້
assembler ເພື່ອຍອມຮັບຄໍາແນະນໍາທີ່ຖືກຕ້ອງສໍາລັບໂປເຊດເຊີ Alpha ໃດ.
ເພື່ອສະຫນັບສະຫນູນການປະຕິບັດທີ່ມີຢູ່ໃນ OSF/1 ກ່ຽວກັບ
".arch", ແລະການປະຕິບັດທີ່ມີຢູ່ແລ້ວພາຍໃນ ໄມໂລ ( Linux ARC
bootloader), ຊື່ໂປເຊດເຊີທີ່ມີຕົວເລກ (ເຊັ່ນ: 21064) ເປີດໃຊ້
ຄໍາແນະນໍາ PALcode ສະເພາະຂອງໂປເຊດເຊີ, ໃນຂະນະທີ່ "electro-vlasic"
ຊື່ (ເຊັ່ນ "ev4") ບໍ່.
-mdebug
-no-mdebug
ເປີດໃຊ້ຫຼືປິດການຜະລິດຂອງ ".mdebug" encapsulation ສໍາລັບ
stabs ຄໍາສັ່ງແລະຄໍາອະທິບາຍຂັ້ນຕອນ. ຄ່າເລີ່ມຕົ້ນແມ່ນເພື່ອ
ອັດຕະໂນມັດເປີດໃຊ້ ".mdebug" ເມື່ອຄໍາສັ່ງ stabs ທໍາອິດແມ່ນ
ເຫັນ.
- ຜ່ອນຄາຍ
ທາງເລືອກນີ້ບັງຄັບການຍົກຍ້າຍທັງຫມົດໃສ່ເຂົ້າໄປໃນໄຟລ໌ວັດຖຸ,
ແທນທີ່ຈະປະຫຍັດພື້ນທີ່ແລະການແກ້ໄຂການຍົກຍ້າຍບາງບ່ອນຢູ່ໃນການຊຸມນຸມ
ເວລາ. ໃຫ້ສັງເກດວ່າທາງເລືອກນີ້ບໍ່ໄດ້ເຜີຍແຜ່ສັນຍາລັກທັງຫມົດ
arithmetic ເຂົ້າໄປໃນໄຟລ໌ວັດຖຸ, ເນື່ອງຈາກວ່າບໍ່ແມ່ນສັນຍາລັກເລກຄະນິດສາດທັງຫມົດ
ສາມາດເປັນຕົວແທນ. ຢ່າງໃດກໍຕາມ, ທາງເລືອກຍັງສາມາດເປັນປະໂຫຍດໃນ
ຄໍາຮ້ອງສະຫມັກສະເພາະ.
- ທົດແທນ
- ແທນທີ່
ເປີດໃຊ້ຫຼືປິດການເພີ່ມປະສິດທິພາບຂອງການໂທຂັ້ນຕອນ, ທັງຢູ່ທີ່
ປະກອບແລະໃນເວລາເຊື່ອມຕໍ່. ທາງເລືອກເຫຼົ່ານີ້ແມ່ນມີພຽງແຕ່ສໍາລັບ
ເປົ້າໝາຍ VMS ແລະ "-replace" ແມ່ນຄ່າເລີ່ມຕົ້ນ. ເບິ່ງພາກ 1.4.1 ຂອງ
ຄູ່ມືການໃຊ້ OpenVMS Linker.
-g ຕົວເລືອກນີ້ຖືກນໍາໃຊ້ໃນເວລາທີ່ compiler ສ້າງຂໍ້ມູນດີບັກ.
ເມື່ອໃດ gcc ກຳ ລັງໃຊ້ mips-tfile ເພື່ອສ້າງຂໍ້ມູນ debug ສໍາລັບ
ECOFF, ປ້າຍທ້ອງຖິ່ນຕ້ອງຖືກສົ່ງຜ່ານໄປຫາໄຟລ໌ວັດຖຸ.
ຖ້າບໍ່ດັ່ງນັ້ນທາງເລືອກນີ້ບໍ່ມີຜົນ.
-Gຂະຫນາດ
ສັນຍາລັກທົ່ວໄປໃນທ້ອງຖິ່ນໃຫຍ່ກວ່າ ຂະຫນາດ ແມ່ນຖືກຈັດໃສ່ໃນ ".bss", ໃນຂະນະທີ່
ສັນຍາລັກທີ່ນ້ອຍກວ່າແມ່ນຖືກຈັດໃສ່ໃນ ".sbss".
-F
-32 ຕື່ມ
ທາງເລືອກເຫຼົ່ານີ້ແມ່ນຖືກລະເລີຍສໍາລັບການເຂົ້າກັນໄດ້ກັບຄືນໄປບ່ອນ.
ຕົວເລືອກຕໍ່ໄປນີ້ສາມາດໃຊ້ໄດ້ເມື່ອຖືກຕັ້ງຄ່າສຳລັບ ARC
ໂປເຊດເຊີ.
-mcpu=cpu
ຕົວເລືອກນີ້ເລືອກຕົວແປຂອງໂປເຊດເຊີຫຼັກ.
-EB | - THE
ເລືອກຜົນໄດ້ຮັບອັນໃຫຍ່ສຸດ (-EB) ຫຼື ປາຍນ້ອຍ (-EL).
-mcode-ຄວາມຫນາແຫນ້ນ
ເປີດໃຊ້ຄໍາແນະນໍາການຂະຫຍາຍຄວາມຫນາແຫນ້ນຂອງລະຫັດ.
ຕົວເລືອກຕໍ່ໄປນີ້ສາມາດໃຊ້ໄດ້ເມື່ອຖືກຕັ້ງຄ່າສຳລັບ ARM
ຄອບຄົວໂຮງງານຜະລິດ.
-mcpu=processor[+ການຂະຫຍາຍ... ]
ລະບຸຕົວແປຂອງໂປເຊດເຊີ ARM ໃດເປັນເປົ້າໝາຍ.
- ມີນາ=ຖາປັດຕະຍະ[+ການຂະຫຍາຍ... ]
ລະບຸຕົວແປສະຖາປັດຕະຍະກຳ ARM ໃດຖືກໃຊ້ໂດຍເປົ້າໝາຍ.
-mfpu=ຮູບແບບຈຸດລອຍ
ເລືອກສະຖາປັດຕະຍະກຳ Floating Point ໃດເປັນເປົ້າໝາຍ.
-mfloat-abi=ຊ່ວຍເຫລືອ
ເລືອກຈຸດທີ່ ABI ຖືກໃຊ້ຢູ່.
- ໂປ້ມື
ເປີດໃຊ້ການຖອດລະຫັດຄໍາແນະນໍາພຽງແຕ່ Thumb.
-mapcs-32 | -mapcs-26 | -mapcs-float | -mapcs-reentrant
ເລືອກວ່າຂັ້ນຕອນການເອີ້ນສົນທິສັນຍາແມ່ນໃຊ້ຢູ່.
-EB | - THE
ເລືອກຜົນໄດ້ຮັບອັນໃຫຍ່ສຸດ (-EB) ຫຼື ປາຍນ້ອຍ (-EL).
-mthumb-interwork
ລະບຸວ່າລະຫັດໄດ້ຖືກສ້າງຂື້ນກັບການເຮັດວຽກຮ່ວມກັນລະຫວ່າງ
ຫົວໂປ້ ແລະລະຫັດ ARM ຢູ່ໃນໃຈ.
-mccs
ເປີດໂໝດຄວາມເຂົ້າກັນໄດ້ຂອງ syntax assembly CodeComposer Studio.
-k ລະບຸວ່າລະຫັດ PIC ໄດ້ຖືກສ້າງຂຶ້ນ.
ທາງເລືອກດັ່ງຕໍ່ໄປນີ້ແມ່ນມີຢູ່ໃນເວລາທີ່ໄດ້ຖືກຕັ້ງຄ່າສໍາລັບການ
ຄອບຄົວໂຮງງານຜະລິດ Blackfin.
-mcpu=processor[-sirevision]
ທາງເລືອກນີ້ກໍານົດໂຮງງານຜະລິດເປົ້າຫມາຍ. ທາງເລືອກ
sirevision ບໍ່ໄດ້ໃຊ້ໃນການປະກອບ. ມັນຢູ່ທີ່ນີ້ທີ່ GCC ສາມາດເຮັດໄດ້
ຜ່ານຕົວເລືອກ "-mcpu=" ຂອງມັນໄດ້ຢ່າງງ່າຍດາຍ. ຜູ້ປະກອບການຈະອອກຂໍ້ມູນ
ຂໍ້ຄວາມຜິດພາດຖ້າຫາກວ່າຄວາມພະຍາຍາມທີ່ຈະປະກອບຄໍາສັ່ງ
ເຊິ່ງຈະບໍ່ປະຕິບັດໃນໂປເຊດເຊີເປົ້າຫມາຍ. ຕໍ່ໄປນີ້
ຊື່ໂປເຊດເຊີຖືກຮັບຮູ້: "bf504", "bf506", "bf512", "bf514",
"bf516", "bf518", "bf522", "bf523", "bf524", "bf525", "bf526",
"bf527", "bf531", "bf532", "bf533", "bf534", "bf535" (ບໍ່
ໄດ້ຮັບການຈັດຕັ້ງປະຕິບັດ), "bf536", "bf537", "bf538", "bf539", "bf542",
"bf542m", "bf544", "bf544m", "bf547", "bf547m", "bf548", "bf548m",
"bf549", "bf549m", "bf561", ແລະ "bf592".
-mfdpic
ປະກອບສໍາລັບ FDPIC ABI.
-mno-fdpic
-mnopic
ປິດໃຊ້ງານ -mfdpic.
ເບິ່ງໜ້າຂໍ້ມູນສຳລັບເອກະສານຂອງຕົວເລືອກສະເພາະ CRIS.
ຕົວເລືອກຕໍ່ໄປນີ້ສາມາດໃຊ້ໄດ້ເມື່ອຖືກຕັ້ງຄ່າສໍາລັບ D10V
ໂປເຊດເຊີ.
-O ເພີ່ມປະສິດທິພາບຜົນຜະລິດໂດຍການຂະຫນານຄໍາແນະນໍາ.
ຕົວເລືອກຕໍ່ໄປນີ້ສາມາດໃຊ້ໄດ້ເມື່ອຖືກຕັ້ງຄ່າສໍາລັບ D30V
ໂປເຊດເຊີ.
-O ເພີ່ມປະສິດທິພາບຜົນຜະລິດໂດຍການຂະຫນານຄໍາແນະນໍາ.
-n ເຕືອນເມື່ອ nops ຖືກສ້າງຂຶ້ນ.
-N ເຕືອນໃນເວລາທີ່ nop ຫຼັງຈາກຄໍາແນະນໍາການຄູນ 32-bit ຖືກສ້າງຂຶ້ນ.
ທາງເລືອກດັ່ງຕໍ່ໄປນີ້ແມ່ນມີຢູ່ໃນເວລາທີ່ໄດ້ຖືກຕັ້ງຄ່າສໍາລັບການ
ໂຮງງານຜະລິດ Epiphany.
- mepiphany
ລະບຸວ່າຄໍາແນະນໍາທັງ 32 ແລະ 16 ບິດແມ່ນອະນຸຍາດ.
ນີ້ແມ່ນພຶດຕິກໍາເລີ່ມຕົ້ນ.
- mepiphany16
ຈໍາກັດຄໍາແນະນໍາທີ່ອະນຸຍາດໃຫ້ພຽງແຕ່ຊຸດ 16 bit.
ທາງເລືອກດັ່ງຕໍ່ໄປນີ້ແມ່ນມີຢູ່ໃນເວລາທີ່ໄດ້ຖືກຕັ້ງຄ່າສໍາລັບການ H8/300
ໂຮງງານຜະລິດ. @chapter H8/300 ຄຸນສົມບັດທີ່ຂຶ້ນກັບ
ທາງເລືອກໃນການ
ຮຸ່ນ Renesas H8/300 ຂອງ "as" ມີທາງເລືອກຫນຶ່ງທີ່ຂຶ້ນກັບເຄື່ອງຈັກ:
-h-tick-hex
ສະຫນັບສະຫນູນຮູບແບບ H'00 hex ຄົງທີ່ນອກຈາກ 0x00 ແບບ.
-mach=ຊື່
ຕັ້ງຄ່າຕົວແປເຄື່ອງ H8300. ຊື່ເຄື່ອງຕໍ່ໄປນີ້ແມ່ນ
ຮັບຮູ້: "h8300h", "h8300hn", "h8300s", "h8300sn", "h8300sx" ແລະ
"h8300sxn".
ທາງເລືອກດັ່ງຕໍ່ໄປນີ້ແມ່ນມີຢູ່ໃນເວລາທີ່ໄດ້ຖືກຕັ້ງຄ່າສໍາລັບ i386
ໂປເຊດເຊີ.
-32 | --x32 | -64
ເລືອກຂະຫນາດຄໍາ, ບໍ່ວ່າຈະເປັນ 32 bits ຫຼື 64 bits. -32 implies
ສະຖາປັດຕະຍະກໍາ Intel i386, ໃນຂະນະທີ່ --x32 ແລະ -64 ຫມາຍເຖິງ AMD x86-64
ສະຖາປັດຕະຍະກໍາທີ່ມີຂະຫນາດຄໍາ 32-bit ຫຼື 64-bit ຕາມລໍາດັບ.
ຕົວເລືອກເຫຼົ່ານີ້ສາມາດໃຊ້ໄດ້ກັບຮູບແບບໄຟລ໌ວັດຖຸ ELF ເທົ່ານັ້ນ,
ແລະຮຽກຮ້ອງໃຫ້ສະຫນັບສະຫນູນ BFD ທີ່ຈໍາເປັນໄດ້ຖືກລວມເຂົ້າ (ໃນ a
ເວທີ 32-bit ທ່ານຕ້ອງເພີ່ມ --enable-64-bit-bfd ເພື່ອຕັ້ງຄ່າ
ເປີດໃຊ້ 64-bit ແລະໃຊ້ x86-64 ເປັນເວທີເປົ້າຫມາຍ).
-n ໂດຍຄ່າເລີ່ມຕົ້ນ, x86 GAS ແທນຄໍາແນະນໍາ nop ຫຼາຍອັນທີ່ໃຊ້ສໍາລັບ
ການຈັດຮຽງພາຍໃນພາກສ່ວນລະຫັດດ້ວຍຄໍາແນະນໍາ nop multi-byte
ເຊັ່ນ: leal 0(%esi,1),%esi. ສະຫຼັບນີ້ປິດການໃຊ້ງານ
ການເພີ່ມປະສິດທິພາບ.
-- ແບ່ງ
ໃນເວທີທີ່ມາຈາກ SVR4, ລັກສະນະ / ຖືກປະຕິບັດເປັນຄໍາເຫັນ
ລັກສະນະ, ຊຶ່ງຫມາຍຄວາມວ່າມັນບໍ່ສາມາດຖືກນໍາໃຊ້ໃນການສະແດງອອກ. ໄດ້
-- ແບ່ງ ຫັນທາງເລືອກ / ເຂົ້າໄປໃນລັກສະນະປົກກະຕິ. ນີ້ບໍ່ໄດ້
ປິດການໃຊ້ວຽກ / ໃນຕອນຕົ້ນຂອງແຖວທີ່ເລີ່ມຕົ້ນຄໍາເຫັນ, ຫຼືມີຜົນກະທົບ
ການນໍາໃຊ້ # ສໍາລັບການເລີ່ມຕົ້ນຄໍາເຫັນ.
- ມີນາ=CPU[+ການຄົ້ນຄ້ວາ... ]
ທາງເລືອກນີ້ກໍານົດໂຮງງານຜະລິດເປົ້າຫມາຍ. ຜູ້ປະກອບຈະ
ອອກຂໍ້ຄວາມຜິດພາດຖ້າຫາກວ່າຄວາມພະຍາຍາມແມ່ນເຮັດໃຫ້ການປະກອບ
ຄໍາແນະນໍາທີ່ຈະບໍ່ປະຕິບັດໃນໂຮງງານຜະລິດເປົ້າຫມາຍ. ໄດ້
ຊື່ໂປເຊດເຊີຕໍ່ໄປນີ້ຖືກຮັບຮູ້: "i8086", "i186", "i286",
"i386", "i486", "i586", "i686", "pentium", "pentiumpro",
"pentiumii", "pentiumiii", "pentium4", "prescott", "nocona",
"ຫຼັກ", "core2", "corei7", "l1om", "k1om", "iamcu", "k6", "k6_2",
"ກິລາ", "opteron", "k8", "amdfam10", "bdver1", "bdver2",
"bdver3", "bdver4", "znver1", "btver1", "btver2", "generic32" ແລະ
"ທົ່ວໄປ64".
ນອກເຫນືອໄປຈາກຊຸດຄໍາແນະນໍາຂັ້ນພື້ນຖານ, ຜູ້ປະກອບສາມາດບອກໄດ້
ຍອມຮັບ mnemonic ຂະຫຍາຍຕ່າງໆ. ຍົກຕົວຢ່າງ,
"-march=i686+sse4+vmx" ຂະຫຍາຍ i686 ກັບ sse 4 ແລະ vmx. ໄດ້
ສ່ວນຂະຫຍາຍຕໍ່ໄປນີ້ແມ່ນຮອງຮັບໃນປັດຈຸບັນ: 8087, 287, 387,
"no87", "mmx", "nommx", "sse", "sse2", "sse3", "ssse3", "sse4.1",
"sse4.2", "sse4", "nosse", "avx", "avx2", "adx", "rdseed",
"prfchw", "smap", "mpx", "sha", "prefetchwt1", "clflushopt", "se1",
"clwb", "pcommit", "avx512f", "avx512cd", "avx512er", "avx512pf",
"avx512vl", "avx512bw", "avx512dq", "avx512ifma", "avx512vbmi",
"noavx", "vmx", "vmfunc", "smx", "xsave", "xsaveopt", "xsavec",
"xsaves", "aes", "pclmul", "fsgsbase", "rdrnd", "f16c", "bmi2",
"fma", "movbe", "ept", "lzcnt", "hle", "rtm", "invpcid", "clflush",
"mwaitx", "clzero", "lwp", "fma4", "xop", "cx16", "syscall",
"rdtscp", "3dnow", "3dnowa", "sse4a", "sse5", "svme", "abm" ແລະ
"padlock". ໃຫ້ສັງເກດວ່າແທນທີ່ຈະຂະຫຍາຍຄໍາແນະນໍາຂັ້ນພື້ນຖານ
ກໍານົດ, mnemonics ຂະຫຍາຍເລີ່ມຕົ້ນດ້ວຍ "ບໍ່" ຖອນຄືນ
ການທໍາງານຕາມລໍາດັບ.
ເມື່ອຄໍາສັ່ງ ".arch" ຖືກນໍາໃຊ້ກັບ - ມີນາ, ".arch"
ຄໍາສັ່ງຈະໃຊ້ແບບຢ່າງ.
-mtune=CPU
ຕົວເລືອກນີ້ກໍານົດໂປເຊດເຊີເພື່ອເພີ່ມປະສິດທິພາບ. ເມື່ອໃຊ້ໃນ
ສົມທົບກັບ - ມີນາ ທາງເລືອກ, ພຽງແຕ່ຄໍາແນະນໍາຂອງ
ໂປເຊດເຊີທີ່ລະບຸໂດຍ - ມີນາ ທາງເລືອກຈະຖືກສ້າງຂື້ນ.
ຖືກຕ້ອງ CPU ຄ່າແມ່ນຄືກັນກັບລາຍການໂປເຊດເຊີ - ມີນາ=CPU.
-msse2avx
ຕົວເລືອກນີ້ລະບຸວ່າຕົວປະກອບຄວນເຂົ້າລະຫັດ SSE
ຄໍາແນະນໍາທີ່ມີຄໍານໍາຫນ້າ VEX.
-msse-check=none
-msse-check=ການເຕືອນໄພ
-msse-check=ຄວາມຜິດພາດ
ທາງເລືອກເຫຼົ່ານີ້ຄວບຄຸມວ່າຕົວປະກອບຄວນກວດເບິ່ງ SSE
ຄໍາແນະນໍາ. -msse-check=none ຈະເຮັດໃຫ້ຜູ້ປະກອບບໍ່ໄດ້
ກວດເບິ່ງຄໍາແນະນໍາ SSE, ເຊິ່ງເປັນຄ່າເລີ່ມຕົ້ນ. -msse-check=ການເຕືອນໄພ
ຈະເຮັດໃຫ້ຜູ້ປະກອບອອກຄໍາເຕືອນສໍາລັບຄໍາແນະນໍາ SSE ໃດໆ.
-msse-check=ຄວາມຜິດພາດ ຈະເຮັດໃຫ້ການປະກອບມີຄວາມຜິດພາດສໍາລັບການໃດໆ
ຄໍາແນະນໍາ SSE.
-mavxscalar=128
-mavxscalar=256
ຕົວເລືອກເຫຼົ່ານີ້ຄວບຄຸມວິທີທີ່ຜູ້ປະກອບຄວນເຂົ້າລະຫັດ scalar AVX
ຄໍາແນະນໍາ. -mavxscalar=128 ຈະເຂົ້າລະຫັດຄໍາແນະນໍາ AVX scalar
ດ້ວຍຄວາມຍາວ vector 128bit, ເຊິ່ງເປັນຄ່າເລີ່ມຕົ້ນ. -mavxscalar=256
ຈະເຂົ້າລະຫັດຄໍາແນະນໍາ AVX scalar ທີ່ມີຄວາມຍາວ vector 256bit.
-mevexlig=128
-mevexlig=256
-mevexlig=512
ຕົວເລືອກເຫຼົ່ານີ້ຄວບຄຸມວິທີທີ່ຜູ້ປະກອບຄວນເຂົ້າລະຫັດຄວາມຍາວ -
ບໍ່ສົນໃຈ (LIG) ຄຳແນະນຳ EVEX. -mevexlig=128 ຈະເຂົ້າລະຫັດ LIG
ຄໍາແນະນໍາ EVEX ທີ່ມີຄວາມຍາວ vector 128bit, ເຊິ່ງເປັນຄ່າເລີ່ມຕົ້ນ.
-mevexlig=256 ແລະ -mevexlig=512 ຈະເຂົ້າລະຫັດຄໍາແນະນໍາ LIG EVEX
ດ້ວຍຄວາມຍາວ vector 256bit ແລະ 512bit, ຕາມລໍາດັບ.
-mevexwig=0
-mevexwig=1
ຕົວເລືອກເຫຼົ່ານີ້ຄວບຄຸມວິທີທີ່ຕົວປະກອບຄວນເຂົ້າລະຫັດ w-ignored
(WIG) ຄໍາແນະນໍາ EVEX. -mevexwig=0 ຈະເຂົ້າລະຫັດ WIG EVEX
ຄໍາແນະນໍາກັບ evex.w = 0, ເຊິ່ງເປັນຄ່າເລີ່ມຕົ້ນ. -mevexwig=1
ຈະເຂົ້າລະຫັດຄໍາແນະນໍາ WIG EVEX ດ້ວຍ evex.w = 1.
-mmnemonic=att
-mmnemonic=intel
ຕົວເລືອກນີ້ລະບຸຄໍາແນະນໍາ mnemonic ສໍາລັບການຈັບຄູ່
ຄໍາແນະນໍາ. ຄຳສັ່ງ ".att_mnemonic" ແລະ ".intel_mnemonic".
ຈະເປັນແບບຢ່າງ.
-msyntax=att
-msyntax=intel
ຕົວເລືອກນີ້ກໍານົດ syntax ຄໍາແນະນໍາໃນເວລາປະມວນຜົນ
ຄໍາແນະນໍາ. ຄຳສັ່ງ ".att_syntax" ແລະ ".intel_syntax".
ຈະເປັນແບບຢ່າງ.
-mnaked-reg
ທາງເລືອກນີ້ລະບຸວ່າການລົງທະບຽນບໍ່ຈໍາເປັນຕ້ອງມີ a % ຄຳ ນຳ ໜ້າ.
ຄຳສັ່ງ ".att_syntax" ແລະ ".intel_syntax" ຈະໃຊ້ເວລາ
ແບບຢ່າງ.
-madd-bnd-prefix
ຕົວເລືອກນີ້ບັງຄັບໃຫ້ຜູ້ປະກອບການເພີ່ມຄໍານໍາຫນ້າ BND ກັບສາຂາທັງຫມົດ,
ເຖິງແມ່ນວ່າຄໍານໍາຫນ້າດັ່ງກ່າວບໍ່ໄດ້ລະບຸຢ່າງຊັດເຈນໃນແຫຼ່ງ
ລະຫັດ.
-mno-ແບ່ງປັນ
ຕາມເປົ້າໝາຍ ELF, ຕົວປະກອບປົກກະຕິຈະເພີ່ມປະສິດທິພາບທີ່ບໍ່ແມ່ນ PLT
ການຍົກຍ້າຍຕໍ່ກັບເປົ້າຫມາຍສາຂາທົ່ວໂລກທີ່ບໍ່ອ່ອນແອທີ່ໄດ້ກໍານົດໄວ້ກັບ
ການເບິ່ງເຫັນເລີ່ມຕົ້ນ. ໄດ້ -mshared ທາງເລືອກບອກຜູ້ປະກອບ
ສ້າງລະຫັດທີ່ອາດຈະເຂົ້າໄປໃນຫ້ອງສະຫມຸດທີ່ໃຊ້ຮ່ວມກັນທີ່ທັງຫມົດທີ່ບໍ່ອ່ອນແອ
ເປົ້າໝາຍສາຂາທົ່ວໂລກທີ່ມີການເບິ່ງເຫັນເລີ່ມຕົ້ນສາມາດຖືກຈອງລ່ວງໜ້າໄດ້.
ລະຫັດຜົນໄດ້ຮັບແມ່ນໃຫຍ່ກວ່າເລັກນ້ອຍ. ທາງເລືອກນີ້ມີຜົນກະທົບເທົ່ານັ້ນ
ການຈັດການຄໍາແນະນໍາຂອງສາຂາ.
-mbig-obj
ໃນ x86-64 PE/COFF ເປົ້າຫມາຍທາງເລືອກນີ້ບັງຄັບໃຫ້ໃຊ້ວັດຖຸໃຫຍ່
ຮູບແບບໄຟລ໌, ເຊິ່ງອະນຸຍາດໃຫ້ມີຫຼາຍກວ່າ 32768 ພາກສ່ວນ.
-momit-lock-prefix=no
-momit-lock-prefix=yes
ຕົວເລືອກເຫຼົ່ານີ້ຄວບຄຸມວິທີການທີ່ຜູ້ປະກອບຄວນເຂົ້າລະຫັດ lock prefix.
ຕົວເລືອກນີ້ມີຈຸດປະສົງເປັນການແກ້ໄຂສໍາລັບໂປເຊດເຊີ, ທີ່ລົ້ມເຫລວ
ໃນຄຳນຳໜ້າລັອກ. ທາງເລືອກນີ້ສາມາດຖືກນໍາໃຊ້ຢ່າງປອດໄພກັບດຽວເທົ່ານັ້ນ.
ຫຼັກ, ຄອມພິວເຕີກະທູ້ດຽວ -momit-lock-prefix=yes ຈະຍົກເລີກທັງຫມົດ
lock prefixes. -momit-lock-prefix=no ຈະເຂົ້າລະຫັດ lock prefix ເປັນ
ປົກກະຕິ, ເຊິ່ງເປັນຄ່າເລີ່ມຕົ້ນ.
-mrelax-relocations=no
-mrelax-relocations=yes
ຕົວເລືອກເຫຼົ່ານີ້ຄວບຄຸມວ່າຕົວປະກອບຄວນສ້າງການຜ່ອນຄາຍ
ການຍົກຍ້າຍ, R_386_GOT32X, ໃນໂໝດ 32-ບິດ, ຫຼື R_X86_64_GOTPCRELX
ແລະ R_X86_64_REX_GOTPCRELX, ໃນໂໝດ 64 ບິດ.
-mrelax-relocations=yes ຈະສ້າງການຍົກຍ້າຍທີ່ຜ່ອນຄາຍ.
-mrelax-relocations=no ຈະບໍ່ສ້າງການຍົກຍ້າຍທີ່ຜ່ອນຄາຍ. ໄດ້
ຄ່າເລີ່ມຕົ້ນສາມາດຄວບຄຸມໄດ້ໂດຍຕົວເລືອກການຕັ້ງຄ່າ
--enable-x86-relax-relocations.
-mevexrcig=rne
-mevexrcig=rd
-mevexrcig=ru
-mevexrcig=rz
ຕົວເລືອກເຫຼົ່ານີ້ຄວບຄຸມວິທີທີ່ຕົວປະກອບຄວນເຂົ້າລະຫັດ SAE-only EVEX
ຄໍາແນະນໍາ. -mevexrcig=rne ຈະເຂົ້າລະຫັດ RC bits ຂອງ EVEX
ຄໍາແນະນໍາກັບ 00, ເຊິ່ງເປັນຄ່າເລີ່ມຕົ້ນ. -mevexrcig=rd,
-mevexrcig=ru ແລະ -mevexrcig=rz ຈະເຂົ້າລະຫັດ SAE ເທົ່ານັ້ນ EVEX
ຄໍາແນະນໍາທີ່ມີ 01, 10 ແລະ 11 RC bits, ຕາມລໍາດັບ.
-mamd64
-mintel64
ຕົວເລືອກນີ້ລະບຸວ່າຕົວປະກອບຄວນຍອມຮັບພຽງແຕ່ AMD64
ຫຼື Intel64 ISA ໃນໂຫມດ 64-bit. ຄ່າເລີ່ມຕົ້ນແມ່ນເພື່ອຍອມຮັບທັງສອງ.
ທາງເລືອກຕໍ່ໄປນີ້ສາມາດໃຊ້ໄດ້ເມື່ອຖືກຕັ້ງຄ່າສໍາລັບ Intel
80960 ໂຮງງານຜະລິດ.
-ACA | -ACA_A | -ACB | -ACC | -ອາຄາ | -AKB | -AKC | -AMC
ລະບຸວ່າຕົວແປຂອງສະຖາປັດຕະຍະກຳ 960 ໃດເປັນເປົ້າໝາຍ.
-b ເພີ່ມລະຫັດເພື່ອເກັບກໍາສະຖິຕິກ່ຽວກັບສາຂາທີ່ເອົາ.
- ບໍ່ຜ່ອນຄາຍອາລົມ
ຢ່າປ່ຽນແປງຄໍາແນະນໍາການປຽບທຽບແລະສາຂາສໍາລັບເວລາດົນນານ
ການຍົກຍ້າຍ; ຄວາມຜິດພາດຖ້າຫາກວ່າຈໍາເປັນ.
ທາງເລືອກດັ່ງຕໍ່ໄປນີ້ແມ່ນມີຢູ່ໃນເວລາທີ່ໄດ້ຖືກຕັ້ງຄ່າສໍາລັບການ
ຊຸດ Ubicom IP2K.
-mip2022ext
ລະບຸວ່າຄໍາແນະນໍາ IP2022 ຂະຫຍາຍໄດ້ຖືກອະນຸຍາດ.
-mip2022
ຟື້ນຟູພຶດຕິກໍາເລີ່ມຕົ້ນ, ເຊິ່ງຈໍາກັດການອະນຸຍາດ
ຄໍາແນະນໍາພຽງແຕ່ IP2022 ພື້ນຖານ.
ທາງເລືອກດັ່ງຕໍ່ໄປນີ້ແມ່ນມີຢູ່ໃນເວລາທີ່ໄດ້ຖືກຕັ້ງຄ່າສໍາລັບການ
ໂປເຊດເຊີ Renesas M32C ແລະ M16C.
-m32c
ປະກອບຄໍາແນະນໍາ M32C.
-m16c
ປະກອບຄໍາແນະນໍາ M16C (ຄ່າເລີ່ມຕົ້ນ).
- ຜ່ອນຄາຍ
ເປີດໃຊ້ການສະຫນັບສະຫນູນສໍາລັບການຜ່ອນຄາຍເວລາເຊື່ອມຕໍ່.
-h-tick-hex
ສະຫນັບສະຫນູນຮູບແບບ H'00 hex ຄົງທີ່ນອກຈາກ 0x00 ແບບ.
ທາງເລືອກດັ່ງຕໍ່ໄປນີ້ແມ່ນມີຢູ່ໃນເວລາທີ່ໄດ້ຖືກຕັ້ງຄ່າສໍາລັບການ
Renesas M32R (ເມື່ອກ່ອນແມ່ນ Mitsubishi M32R).
--m32rx
ລະບຸວ່າໂປເຊດເຊີໃດໃນຄອບຄົວ M32R ແມ່ນເປົ້າໝາຍ. ໄດ້
ໂດຍປົກກະຕິແມ່ນ M32R, ແຕ່ຕົວເລືອກນີ້ປ່ຽນເປັນ
M32RX.
--warn-explicit-parallel-conflicts or --Wp
ຜະລິດຂໍ້ຄວາມເຕືອນເມື່ອມີໂຄງສ້າງຂະຫນານທີ່ມີຄໍາຖາມ
ພົບ.
--no-warn-explicit-parallel-conflicts or --Wnp
ຢ່າຜະລິດຂໍ້ຄວາມເຕືອນເມື່ອຂະຫນານຄໍາຖາມ
ການກໍ່ສ້າງແມ່ນພົບ.
ທາງເລືອກດັ່ງຕໍ່ໄປນີ້ແມ່ນມີຢູ່ໃນເວລາທີ່ໄດ້ຖືກຕັ້ງຄ່າສໍາລັບການ
Motorola ຊຸດ 68000.
-l ຫຍໍ້ການອ້າງອີງເຖິງສັນຍາລັກທີ່ບໍ່ໄດ້ກຳນົດ, ເປັນຄຳໜຶ່ງແທນ
ສອງ.
-m68000 | -m68008 | -m68010 | -m68020 | -m68030
| -m68040 | -m68060 | -m68302 | -m68331 | -m68332
| -m68333 | -m68340 | -mcpu32 | -m5200
ລະບຸວ່າໂຮງງານຜະລິດໃດໃນຄອບຄົວ 68000 ແມ່ນເປົ້າໝາຍ. ໄດ້
ປົກກະຕິແມ່ນ 68020, ແຕ່ນີ້ສາມາດປ່ຽນແປງໄດ້ທີ່
ເວລາການຕັ້ງຄ່າ.
-m68881 | -m68882 | -mno-68881 | -mno-68882
ເຄື່ອງຈັກເປົ້າຫມາຍເຮັດ (ຫຼືບໍ່ມີ) ມີຈຸດທີ່ເລື່ອນໄດ້
ໂປເຊດເຊີຮ່ວມ. ຄ່າເລີ່ມຕົ້ນແມ່ນເພື່ອສົມມຸດຕົວປະມວນຜົນສໍາລັບ 68020,
68030, ແລະ cpu32. ເຖິງແມ່ນວ່າພື້ນຖານ 68000 ແມ່ນບໍ່ເຫມາະສົມກັບ
ໄດ້ 68881, ການລວມກັນຂອງທັງສອງສາມາດຖືກກໍານົດ, ເນື່ອງຈາກວ່າມັນ
ເປັນໄປໄດ້ທີ່ຈະເຮັດ emulation ຂອງຄໍາແນະນໍາຂອງ coprocessor ກັບ
ໂຮງງານຜະລິດຕົ້ນຕໍ.
-m68851 | -mno-68851
ເຄື່ອງຈັກເປົ້າຫມາຍເຮັດ (ຫຼືບໍ່ມີ) ມີຫນ່ວຍຄວາມຈໍາ - ການຈັດການ
ໂປເຊດເຊີຮ່ວມ. ຄ່າເລີ່ມຕົ້ນແມ່ນເພື່ອສົມມຸດ MMU ສໍາລັບ 68020 ຂຶ້ນໄປ.
ຕົວເລືອກຕໍ່ໄປນີ້ສາມາດໃຊ້ໄດ້ເມື່ອຖືກຕັ້ງຄ່າສຳລັບ Altera
ໂປເຊດເຊີ Nios II.
- ສ່ວນຜ່ອນຄາຍ
ແທນທີ່ສາຂານອກຂອບເຂດທີ່ລະບຸໄວ້ດ້ວຍ PC-relative "jmp"
ລໍາດັບໃນເວລາທີ່ເປັນໄປໄດ້. ລໍາດັບລະຫັດທີ່ສ້າງຂຶ້ນແມ່ນເຫມາະສົມ
ສໍາລັບການນໍາໃຊ້ໃນລະຫັດຕໍາແຫນ່ງເອກະລາດ, ແຕ່ມີການປະຕິບັດ
ຈໍາກັດກ່ຽວກັບໄລຍະສາຂາຂະຫຍາຍເນື່ອງຈາກວ່າຄວາມຍາວຂອງ
ລໍາດັບ. ຕົວເລືອກນີ້ແມ່ນຄ່າເລີ່ມຕົ້ນ.
- ຜ່ອນຄາຍທັງຫມົດ
ແທນທີ່ຄໍາແນະນໍາສາຂາທີ່ບໍ່ສາມາດກໍານົດວ່າຢູ່ໃນຂອບເຂດແລະທັງຫມົດ
ຄໍາແນະນໍາການໂທດ້ວຍລໍາດັບ "jmp" ແລະ "callr" (ຕາມລໍາດັບ).
ຕົວເລືອກນີ້ສ້າງການຍົກຍ້າຍຢ່າງແທ້ຈິງຕໍ່ກັບເປົ້າຫມາຍ
ສັນຍາລັກແລະບໍ່ເຫມາະສົມສໍາລັບລະຫັດຕໍາແຫນ່ງເອກະລາດ.
- ບໍ່ຜ່ອນຄາຍອາລົມ
ຫ້າມປ່ຽນສາຂາ ຫຼື ໂທ.
-EB ສ້າງຜົນຜະລິດໃຫຍ່.
- THE ສ້າງຜົນຜະລິດພຽງເລັກນ້ອຍ-endian. ນີ້ແມ່ນຄ່າເລີ່ມຕົ້ນ.
- ມີນາ=ຖາປັດຕະຍະ
ຕົວເລືອກນີ້ກໍານົດສະຖາປັດຕະຍະກໍາເປົ້າຫມາຍ. ຜູ້ປະກອບ
ອອກຂໍ້ຄວາມຜິດພາດຖ້າຫາກວ່າຄວາມພະຍາຍາມແມ່ນເຮັດໃຫ້ການປະກອບ
ຄໍາແນະນໍາທີ່ຈະບໍ່ປະຕິບັດໃນສະຖາປັດຕະຍະກໍາເປົ້າຫມາຍ. ໄດ້
ຊື່ສະຖາປັດຕະຍະກໍາຕໍ່ໄປນີ້ຖືກຮັບຮູ້: "r1", "r2". ໄດ້
ຄ່າເລີ່ມຕົ້ນແມ່ນ "r1".
ຕົວເລືອກຕໍ່ໄປນີ້ສາມາດໃຊ້ໄດ້ເມື່ອຖືກຕັ້ງຄ່າສໍາລັບ Meta
ໂປເຊດເຊີ.
"-mcpu=metac11"
ສ້າງລະຫັດສໍາລັບ Meta 1.1.
"-mcpu=metac12"
ສ້າງລະຫັດສໍາລັບ Meta 1.2.
"-mcpu=metac21"
ສ້າງລະຫັດສໍາລັບ Meta 2.1.
"-mfpu=metac21"
ອະນຸຍາດໃຫ້ລະຫັດໃຊ້ຮາດແວ FPU ຂອງ Meta 2.1.
ເບິ່ງໜ້າຂໍ້ມູນສຳລັບເອກະສານຂອງຕົວເລືອກສະເພາະ MMIX.
ຕົວເລືອກຕໍ່ໄປນີ້ສາມາດໃຊ້ໄດ້ເມື່ອຖືກຕັ້ງຄ່າສຳລັບ NDS32
ໂປເຊດເຊີ.
"-O1"
ເພີ່ມປະສິດທິພາບສໍາລັບການປະຕິບັດ.
"-ອສ"
ເພີ່ມປະສິດທິພາບສໍາລັບພື້ນທີ່.
"-EL"
ຜະລິດຜົນຜະລິດຂໍ້ມູນ endian ພຽງເລັກນ້ອຍ.
"-EB"
ຜະລິດຜົນຜະລິດຂໍ້ມູນ endian ພຽງເລັກນ້ອຍ.
"-mpic"
ສ້າງ PIC.
"-mno-fp-as-gp-relax"
ສະກັດກັ້ນການຜ່ອນຄາຍ fp-as-gp ສໍາລັບໄຟລ໌ນີ້.
"-mb2bb-ຜ່ອນຄາຍ"
ການເພີ່ມປະສິດທິພາບສາຂາແບບກັບຄືນ.
"-mno-all- relax"
ສະກັດກັ້ນການຜ່ອນຄາຍທັງຫມົດສໍາລັບໄຟລ໌ນີ້.
"-ມີນາ= "
ປະກອບສໍາລັບຖາປັດຕະຍະ ເຊິ່ງອາດຈະເປັນ v3, v3j, v3m,
v3f, v3s, v2, v2j, v2f, v2s.
"-mbaseline= "
ປະກອບສໍາລັບພື້ນຖານ ເຊິ່ງອາດຈະເປັນ v2, v3, v3m.
"-mfpu-freg=FREG"
ລະບຸການຕັ້ງຄ່າ FPU.
"0 8 SP / 4 DP ລົງທະບຽນ"
"1 16 SP / 8 DP ລົງທະບຽນ"
"2 32 SP / 16 DP ລົງທະບຽນ"
"3 32 SP / 32 DP ລົງທະບຽນ"
"-mabi=ອາບີ"
ລະບຸເວີຊັນ abi ອາດຈະເປັນ v1, v2, v2fp, v2fpp.
"-m[ບໍ່-]mac"
ເປີດ/ປິດ ການຮອງຮັບຄໍາແນະນໍາ Multiply.
"-m[ບໍ່-]div"
ເປີດ/ປິດ ການຮອງຮັບຄຳແນະນຳການແບ່ງ.
"-m[no-]16bit-ext"
ເປີດ/ປິດໃຊ້ງານສ່ວນຂະຫຍາຍ 16-bit
"-m[no-]dx-regs"
ເປີດ/ປິດການລົງທະບຽນ d0/d1
"-m[no-]perf-ext"
ເປີດ/ປິດ ການຂະຫຍາຍປະສິດທິພາບ
"-m[no-]perf2-ext"
ເປີດ/ປິດໃຊ້ງານສ່ວນຂະຫຍາຍປະສິດທິພາບ 2
"-m[ບໍ່-]string-ext"
ເປີດ/ປິດໃຊ້ງານການຂະຫຍາຍ String
"-m[no-]reduced-regs"
ເປີດ/ປິດ ຕົວເລືອກການຕັ້ງຄ່າການລົງທະບຽນທີ່ຫຼຸດລົງ (GPR16).
"-m[no-]audio-isa-ext"
ເປີດ/ປິດການໃຊ້ງານສ່ວນຂະຫຍາຍ AUDIO ISA
"-m[ບໍ່-]fpu-sp-ext"
ເປີດ/ປິດໃຊ້ງານສ່ວນຂະຫຍາຍ FPU SP
"-m[ບໍ່-]fpu-dp-ext"
ເປີດ/ປິດໃຊ້ງານສ່ວນຂະຫຍາຍ FPU DP
"-m[ບໍ່-]fpu-fma"
ເປີດ/ປິດ FPU fused-multiply-add ຄໍາແນະນໍາ
"-mall-ext"
ເປີດການຮອງຮັບສ່ວນຂະຫຍາຍ ແລະຄຳແນະນຳທັງໝົດ
ຕົວເລືອກຕໍ່ໄປນີ້ແມ່ນມີໃຫ້ເມື່ອຖືກຕັ້ງຄ່າສຳລັບ PowerPC
ໂປເຊດເຊີ.
-a32
ສ້າງ ELF32 ຫຼື XCOFF32.
-a64
ສ້າງ ELF64 ຫຼື XCOFF64.
-K PIC
ຕັ້ງ EF_PPC_RELOCATABLE_LIB ໃນທຸງ ELF.
-mpwrx | -mpwr2
ສ້າງລະຫັດສໍາລັບ POWER/2 (RIOS2).
-mpwr
ສ້າງລະຫັດສໍາລັບ POWER (RIOS1)
-m601
ສ້າງລະຫັດສໍາລັບ PowerPC 601.
-mppc, -mppc32, -m603, -m604
ສ້າງລະຫັດສໍາລັບ PowerPC 603/604.
-m403, -m405
ສ້າງລະຫັດສໍາລັບ PowerPC 403/405.
-m440
ສ້າງລະຫັດສໍາລັບ PowerPC 440. BookE ແລະບາງຄໍາແນະນໍາ 405.
-m464
ສ້າງລະຫັດສໍາລັບ PowerPC 464.
-m476
ສ້າງລະຫັດສໍາລັບ PowerPC 476.
-m7400, -m7410, -m7450, -m7455
ສ້າງລະຫັດສໍາລັບ PowerPC 7400/7410/7450/7455.
-m750cl
ສ້າງລະຫັດສໍາລັບ PowerPC 750CL.
-m821, -m850, -m860
ສ້າງລະຫັດສໍາລັບ PowerPC 821/850/860.
-mppc64, -m620
ສ້າງລະຫັດສໍາລັບ PowerPC 620/625/630.
-ຂ້ອຍ 500, -me500x2
ສ້າງລະຫັດສໍາລັບ Motorola e500 core complex.
-me500mc
ສ້າງລະຫັດສໍາລັບ Freescale e500mc core complex.
-me500mc64
ສ້າງລະຫັດສໍາລັບ Freescale e500mc64 core complex.
-ຂ້ອຍ 5500
ສ້າງລະຫັດສໍາລັບ Freescale e5500 core complex.
-ຂ້ອຍ 6500
ສ້າງລະຫັດສໍາລັບ Freescale e6500 core complex.
-mspe
ສ້າງລະຫັດສໍາລັບຄໍາແນະນໍາ Motorola SPE.
-mtitan
ສ້າງລະຫັດສໍາລັບ AppliedMicro Titan core complex.
-mppc64bridge
ສ້າງລະຫັດສໍາລັບ PowerPC 64, ລວມທັງ Bridge insns.
-mbooke
ສ້າງລະຫັດສໍາລັບ 32-bit BookE.
-ma2
ສ້າງລະຫັດສໍາລັບສະຖາປັດຕະ A2.
-ຂ້ອຍ 300
ສ້າງລະຫັດສໍາລັບຄອບຄົວ PowerPC e300.
-maltivec
ສ້າງລະຫັດສໍາລັບໂປເຊດເຊີດ້ວຍຄໍາແນະນໍາ AltiVec.
-mvle
ສ້າງລະຫັດສໍາລັບຄໍາແນະນໍາ Freescale PowerPC VLE.
-mvsx
ສ້າງລະຫັດສໍາລັບໂປເຊດເຊີດ້ວຍຄໍາແນະນໍາຂອງ Vector-Scalar (VSX).
-mhtm
ສ້າງລະຫັດສໍາລັບໂປເຊດເຊີທີ່ມີ Memory Transactional Hardware
ຄໍາແນະນໍາ.
- ພະລັງງານ 4, -mpwr4
ສ້າງລະຫັດສໍາລັບສະຖາປັດຕະຍະກໍາ Power4.
- ພະລັງງານ 5, -mpwr5, -mpwr5x
ສ້າງລະຫັດສໍາລັບສະຖາປັດຕະຍະກໍາ Power5.
- ພະລັງງານ 6, -mpwr6
ສ້າງລະຫັດສໍາລັບສະຖາປັດຕະຍະກໍາ Power6.
- ພະລັງງານ 7, -mpwr7
ສ້າງລະຫັດສໍາລັບສະຖາປັດຕະຍະກໍາ Power7.
- ພະລັງງານ 8, -mpwr8
ສ້າງລະຫັດສໍາລັບສະຖາປັດຕະຍະກໍາ Power8.
- ພະລັງງານ 9, -mpwr9
ສ້າງລະຫັດສໍາລັບສະຖາປັດຕະຍະກໍາ Power9.
- mcell
- mcell
ສ້າງລະຫັດສໍາລັບສະຖາປັດຕະຍະກໍາ Cell Broadband Engine.
-mcom
ສ້າງລະຫັດ Power/PowerPC ຄໍາແນະນໍາທົ່ວໄປ.
- ຫຼາຍ
ສ້າງລະຫັດສໍາລັບສະຖາປັດຕະຍະກໍາ (PWR/PWRX/PPC).
-mregnames
ອະນຸຍາດໃຫ້ມີຊື່ສັນຍາລັກສໍາລັບການລົງທະບຽນ.
-mno-regnames
ບໍ່ອະນຸຍາດໃຫ້ມີຊື່ສັນຍາລັກສໍາລັບການລົງທະບຽນ.
- ສາມາດຍ້າຍໄດ້
ສະຫນັບສະຫນູນສໍາລັບ GCC ຂອງ -mrelocatable ທາງເລືອກ.
-mrelocatable-lib
ສະຫນັບສະຫນູນທາງເລືອກ -mrelocatable-lib ຂອງ GCC.
- memb
ຕັ້ງຄ່າບິດ PPC_EMB ໃນທຸງ ELF.
- ພຽງເລັກນ້ອຍ, - ປາຍນ້ອຍ, -ການ
ສ້າງລະຫັດສໍາລັບເຄື່ອງ endian ເລັກນ້ອຍ.
- ໃຫຍ່, -mbig-endian, -ເປັນ
ສ້າງລະຫັດສໍາລັບເຄື່ອງ endian ໃຫຍ່.
- msolaris
ສ້າງລະຫັດສໍາລັບ Solaris.
-mno-solaris
ຢ່າສ້າງລະຫັດສໍາລັບ Solaris.
-nops=ນັບ
ຖ້າຄໍາສັ່ງການຈັດລໍາດັບໃສ່ຫຼາຍກວ່າ ນັບ nops, ເອົາເປັນ
ສາຂາໃນຕອນເລີ່ມຕົ້ນເພື່ອຂ້າມການປະຕິບັດຂອງ nops.
ເບິ່ງໜ້າຂໍ້ມູນສຳລັບເອກະສານຂອງຕົວເລືອກສະເພາະ RX.
ຕົວເລືອກຕໍ່ໄປນີ້ສາມາດໃຊ້ໄດ້ເມື່ອຖືກຕັ້ງຄ່າສຳລັບ s390
ຄອບຄົວໂຮງງານຜະລິດ.
-m31
-m64
ເລືອກຂະຫນາດຄໍາ, ບໍ່ວ່າຈະເປັນ 31/32 bits ຫຼື 64 bits.
-ເມຊາ
-mzarch
ເລືອກຮູບແບບສະຖາປັດຕະຍະກໍາ, ທັງລະບົບວິສາຫະກິດ
ສະຖາປັດຕະຍະກຳ (esa) ຫຼື ໂໝດ z/ສະຖາປັດຕະຍະກຳ (zarch).
- ມີນາ=processor
ລະບຸວ່າຕົວແປຂອງໂປເຊດເຊີ s390 ໃດເປັນເປົ້າໝາຍ, g6, g6, z900,
z990, z9-109, z9-ec, z10, z196, zEC12, ຫຼື z13.
-mregnames
-mno-regnames
ອະນຸຍາດໃຫ້ຫຼືບໍ່ອະນຸຍາດໃຫ້ຊື່ສັນຍາລັກສໍາລັບການຈົດທະບຽນ.
-mwarn-areg-ສູນ
ເຕືອນທຸກຄັ້ງທີ່ operand ສໍາລັບການລົງທະບຽນພື້ນຖານຫຼືດັດຊະນີໄດ້
ລະບຸແຕ່ປະເມີນເປັນສູນ.
ຕົວເລືອກຕໍ່ໄປນີ້ສາມາດໃຊ້ໄດ້ເມື່ອຖືກຕັ້ງຄ່າສຳລັບ a
ໂຮງງານຜະລິດ TMS320C6000.
- ມີນາ=ໂຄ້ງ
ເປີດໃຊ້ (ເທົ່ານັ້ນ) ຄໍາແນະນໍາຈາກສະຖາປັດຕະຍະກໍາ ໂຄ້ງ. ໂດຍຄ່າເລີ່ມຕົ້ນ, ທັງຫມົດ
ຄໍາແນະນໍາແມ່ນອະນຸຍາດໃຫ້.
ຄຸນຄ່າຕໍ່ໄປນີ້ຂອງ ໂຄ້ງ ໄດ້ຮັບການຍອມຮັບ: "c62x", "c64x", "c64x+",
"c67x", "c67x+", "c674x".
-mdsbt
-mno-dsbt
ໄດ້ -mdsbt ທາງເລືອກເຮັດໃຫ້ assembler ເພື່ອສ້າງ
"Tag_ABI_DSBT" ຄຸນລັກສະນະທີ່ມີຄ່າ 1, ສະແດງໃຫ້ເຫັນວ່າ
ລະຫັດແມ່ນໃຊ້ DSBT addressing. ໄດ້ -mno-dsbt ທາງເລືອກ, ຄ່າເລີ່ມຕົ້ນ,
ເຮັດໃຫ້ tag ມີມູນຄ່າ 0, ສະແດງໃຫ້ເຫັນວ່າລະຫັດເຮັດ
ບໍ່ໃຊ້ DSBT addressing. ຕົວເຊື່ອມຕໍ່ຈະສົ່ງສັນຍານເຕືອນຖ້າຫາກວ່າວັດຖຸ
ປະເພດທີ່ແຕກຕ່າງກັນ (DSBT ແລະບໍ່ແມ່ນ DSBT) ແມ່ນເຊື່ອມຕໍ່ກັນ.
-mpid=ບໍ່
-mpid=ໃກ້
-mpid=ໄກ
ໄດ້ -mpid= ທາງເລືອກເຮັດໃຫ້ assembler ເພື່ອສ້າງ
"Tag_ABI_PID" ຄຸນລັກສະນະທີ່ມີຄ່າທີ່ຊີ້ບອກຮູບແບບຂອງຂໍ້ມູນ
ທີ່ຢູ່ ທີ່ໃຊ້ໂດຍລະຫັດ. -mpid=ບໍ່, ຄ່າເລີ່ມຕົ້ນ, ຊີ້ໃຫ້ເຫັນ
ການແກ້ໄຂຂໍ້ມູນທີ່ຂຶ້ນກັບຕໍາແຫນ່ງ, -mpid=ໃກ້ ສະແດງໃຫ້ເຫັນຕໍາແຫນ່ງ -
ທີ່ຢູ່ເອກະລາດທີ່ມີການເຂົ້າເຖິງ GOT ໂດຍໃຊ້ທີ່ຢູ່ໃກ້ຄຽງ DP,
ແລະ -mpid=ໄກ ຊີ້ໃຫ້ເຫັນເຖິງການຕັ້ງຖິ່ນຖານທີ່ເປັນເອກະລາດກັບ GOT
ເຂົ້າເຖິງໂດຍໃຊ້ທີ່ຢູ່ໄກ DP. ຕົວເຊື່ອມຕໍ່ຈະສົ່ງຄໍາເຕືອນ
ຖ້າວັດຖຸທີ່ສ້າງຂຶ້ນດ້ວຍການຕັ້ງຄ່າທີ່ແຕກຕ່າງກັນຂອງຕົວເລືອກນີ້ຖືກເຊື່ອມຕໍ່
ຮ່ວມກັນ.
-mpic
-mno-pic
ໄດ້ -mpic ທາງເລືອກເຮັດໃຫ້ຕົວປະກອບສ້າງ "Tag_ABI_PIC"
attribute ທີ່ມີຄ່າ 1, ສະແດງໃຫ້ເຫັນວ່າລະຫັດກໍາລັງໃຊ້
ການຈັດຕໍາແຫນ່ງລະຫັດເອກະລາດ, ທາງເລືອກ "-mno-pic", ໄດ້
default, ເຮັດໃຫ້ tag ມີມູນຄ່າ 0, ສະແດງຕໍາແຫນ່ງ -
ລະຫັດທີ່ຂຶ້ນກັບ. ຕົວເຊື່ອມຕໍ່ຈະປ່ອຍຄໍາເຕືອນຖ້າຫາກວ່າ
ວັດຖຸປະເພດທີ່ແຕກຕ່າງກັນ (ຕໍາແຫນ່ງຂຶ້ນກັບຕໍາແຫນ່ງແລະຕໍາແຫນ່ງ
ເອກະລາດ) ເຊື່ອມຕໍ່ກັນ.
-mbig-endian
-mlittle-endian
ສ້າງລະຫັດສໍາລັບ endianness ທີ່ກໍານົດໄວ້. ຄ່າເລີ່ມຕົ້ນແມ່ນເລັກນ້ອຍ -
ປາຍ.
ຕົວເລືອກຕໍ່ໄປນີ້ສາມາດໃຊ້ໄດ້ເມື່ອຖືກຕັ້ງຄ່າສຳລັບ TILE-Gx
ໂປເຊດເຊີ.
-m32 | -m64
ເລືອກຂະຫນາດຄໍາ, ບໍ່ວ່າຈະເປັນ 32 bits ຫຼື 64 bits.
-EB | - THE
ເລືອກ endianness, ບໍ່ວ່າຈະ big-endian (-EB) ຫຼື little-endian
(-EL).
ທາງເລືອກຕໍ່ໄປນີ້ສາມາດໃຊ້ໄດ້ເມື່ອຖືກຕັ້ງຄ່າສໍາລັບ Visium
ໂປເຊດເຊີ.
-mtune=ໂຄ້ງ
ຕົວເລືອກນີ້ກໍານົດສະຖາປັດຕະຍະກໍາເປົ້າຫມາຍ. ຖ້າຫາກວ່າຄວາມພະຍາຍາມແມ່ນ
ເຮັດເພື່ອປະກອບຄໍາສັ່ງທີ່ຈະບໍ່ປະຕິບັດເປົ້າຫມາຍ
ສະຖາປັດຕະຍະກໍາ, ຜູ້ປະກອບຈະອອກຂໍ້ຄວາມສະແດງຂໍ້ຜິດພາດ.
ຊື່ຕໍ່ໄປນີ້ຖືກຮັບຮູ້: "mcm24" "mcm" "gr5" "gr6"
ຕົວເລືອກຕໍ່ໄປນີ້ສາມາດໃຊ້ໄດ້ເມື່ອຖືກຕັ້ງຄ່າສໍາລັບ Xtensa
ໂປເຊດເຊີ.
--text-section-literals | --no-text-section-literals
ຄວບຄຸມການປິ່ນປົວຂອງສະນຸກເກີທີ່ຮູ້ຫນັງສື. ຄ່າເລີ່ມຕົ້ນແມ່ນ
--no-text-section-literals, ເຊິ່ງວາງຕົວຫນັງສືໃນແຍກຕ່າງຫາກ
ພາກສ່ວນໃນໄຟລ໌ຜົນຜະລິດ. ນີ້ອະນຸຍາດໃຫ້ສະນຸກເກີທີ່ຮູ້ຫນັງສືເປັນ
ວາງໄວ້ໃນ RAM/ROM ຂໍ້ມູນ. ກັບ --text-section-literals, ການ
ຕົວໜັງສືຖືກຕັດກັນຢູ່ໃນພາກສ່ວນຂໍ້ຄວາມເພື່ອຮັກສາພວກມັນໄວ້
ໃກ້ຊິດເທົ່າທີ່ເປັນໄປໄດ້ກັບການອ້າງອີງຂອງພວກເຂົາ. ນີ້ອາດຈະມີຄວາມຈໍາເປັນ
ສໍາລັບໄຟລ໌ປະກອບຂະຫນາດໃຫຍ່, ບ່ອນທີ່ຕົວຫນັງສືບໍ່ດັ່ງນັ້ນຈະອອກ
ຂອບເຂດຂອງຄໍາແນະນໍາ "L32R" ໃນພາກສ່ວນຂໍ້ຄວາມ. ຕົວໜັງສື
ຖືກຈັດເປັນກຸ່ມຕາມຄໍາສັ່ງ ".literal_position" ຫຼື
ກ່ອນໜ້າຄຳສັ່ງ "ENTRY". ຕົວເລືອກເຫຼົ່ານີ້ມີຜົນຕໍ່ຕົວໜັງສືເທົ່ານັ້ນ
ອ້າງອີງໂດຍຜ່ານຄໍາແນະນໍາ PC-relative "L32R"; ຕົວຫນັງສືສໍາລັບ
ຮູບແບບຢ່າງແທ້ຈິງ "L32R" ຄໍາແນະນໍາແມ່ນຖືກຈັດການແຍກຕ່າງຫາກ.
--auto-litpools | --no-auto-litpools
ຄວບຄຸມການປິ່ນປົວຂອງສະນຸກເກີທີ່ຮູ້ຫນັງສື. ຄ່າເລີ່ມຕົ້ນແມ່ນ
--no-auto-litpools, ຊຶ່ງໃນເມື່ອບໍ່ມີ --text-section-literals
ວາງຕົວຫນັງສືຢູ່ໃນພາກແຍກຕ່າງຫາກໃນໄຟລ໌ຜົນຜະລິດ. ນີ້
ອະນຸຍາດໃຫ້ສະນຸກເກີຕົວຫນັງສືທີ່ຈະໄດ້ຮັບການວາງໄວ້ໃນ RAM / ROM ຂໍ້ມູນ. ກັບ
--auto-litpools, ຕົວຫນັງສືແມ່ນ interspersed ໃນພາກສ່ວນຂໍ້ຄວາມ
ເພື່ອເຮັດໃຫ້ພວກເຂົາໃກ້ຊິດເທົ່າທີ່ເປັນໄປໄດ້ກັບການອ້າງອີງຂອງພວກເຂົາ,
ຄຳສັ່ງ ".literal_position" ທີ່ຈະແຈ້ງແມ່ນບໍ່ຈຳເປັນ. ນີ້ອາດຈະ
ມີຄວາມຈໍາເປັນສໍາລັບຫນ້າທີ່ຂະຫນາດໃຫຍ່ຫຼາຍ, ບ່ອນທີ່ສະນຸກເກີທີ່ຮູ້ຫນັງສືດຽວຢູ່
ການເລີ່ມຕົ້ນຂອງຟັງຊັນອາດຈະບໍ່ສາມາດບັນລຸໄດ້ໂດຍ "L32R"
ຄໍາແນະນໍາໃນຕອນທ້າຍ. ຕົວເລືອກເຫຼົ່ານີ້ມີຜົນຕໍ່ຕົວໜັງສືເທົ່ານັ້ນ
ອ້າງອີງໂດຍຜ່ານຄໍາແນະນໍາ PC-relative "L32R"; ຕົວຫນັງສືສໍາລັບ
ຮູບແບບຢ່າງແທ້ຈິງ "L32R" ຄໍາແນະນໍາແມ່ນຖືກຈັດການແຍກຕ່າງຫາກ. ເມື່ອໃດ
ໃຊ້ຮ່ວມກັບ --text-section-literals, --auto-litpools ໃຊ້ເວລາ
ອັນດັບຕົ້ນ.
--absolute-literals | --no-absolute-literals
ຊີ້ບອກກັບຜູ້ປະກອບວ່າຄໍາແນະນໍາ "L32R" ໃຊ້ຢ່າງແທ້ຈິງ
ຫຼື PC-relative addressing. ຖ້າໂຮງງານຜະລິດປະກອບມີຢ່າງແທ້ຈິງ
ທາງເລືອກທີ່ຢູ່, ຄ່າເລີ່ມຕົ້ນແມ່ນໃຊ້ "L32R" ຢ່າງແທ້ຈິງ.
ການຍົກຍ້າຍ. ຖ້າບໍ່ດັ່ງນັ້ນ, ພຽງແຕ່ການຍ້າຍ PC-relative "L32R"
ສາມາດໃຊ້ໄດ້.
--ວາງເປົ້າໝາຍ | --no-target-align
ເປີດໃຊ້ຫຼືປິດການຈັດຕໍາແຫນ່ງອັດຕະໂນມັດເພື່ອຫຼຸດຜ່ອນການລົງໂທດສາຂາຢູ່
ບາງຄ່າໃຊ້ຈ່າຍໃນຂະຫນາດລະຫັດ. ການເພີ່ມປະສິດທິພາບນີ້ຖືກເປີດໃຊ້ໂດຍ
ຄ່າເລີ່ມຕົ້ນ. ຈົ່ງຈື່ໄວ້ວ່າຕົວປະກອບຈະຈັດລໍາດັບຄໍາແນະນໍາສະເຫມີ
ຄືກັບ "LOOP" ທີ່ມີຄວາມຕ້ອງການການຈັດຕໍາແຫນ່ງຄົງທີ່.
-- ການໂທຍາວ | -- no-longcalls
ເປີດໃຊ້ຫຼືປິດການຫັນປ່ຽນຄໍາແນະນໍາການໂທເພື່ອອະນຸຍາດໃຫ້
ໂທຫາໃນຂອບເຂດທີ່ໃຫຍ່ກວ່າຂອງທີ່ຢູ່. ທາງເລືອກນີ້ຄວນຈະເປັນ
ໃຊ້ເມື່ອເປົ້າໝາຍການໂທອາດຢູ່ນອກຂອບເຂດ. ມັນອາດຈະ
degrade ທັງຂະຫນາດລະຫັດແລະການປະຕິບັດ, ແຕ່ຕົວເຊື່ອມຕໍ່ສາມາດ
ໂດຍທົ່ວໄປແລ້ວຈະປັບປະສິດທິພາບທີ່ບໍ່ຈໍາເປັນ overhead ໃນເວລາທີ່ການໂທສິ້ນສຸດລົງ
ຂຶ້ນໃນລະດັບ. ຄ່າເລີ່ມຕົ້ນແມ່ນ -- no-longcalls.
-- ຫັນປ່ຽນ | --no-transform
ເປີດໃຊ້ ຫຼືປິດການປ່ຽນຕົວປະກອບທັງໝົດຂອງ Xtensa
ຄໍາແນະນໍາ, ລວມທັງການຜ່ອນຄາຍແລະການເພີ່ມປະສິດທິພາບ. ໄດ້
ມາດຕະຖານແມ່ນ -- ຫັນປ່ຽນ; --no-transform ຄວນຈະຖືກນໍາໃຊ້ພຽງແຕ່ໃນ
ກໍລະນີທີ່ຫາຍາກໃນເວລາທີ່ຄໍາແນະນໍາຈະຕ້ອງແນ່ນອນຕາມທີ່ລະບຸໄວ້ໃນ
ແຫຼ່ງປະກອບ. ການນໍາໃຊ້ --no-transform ສາເຫດນອກຂອບເຂດ
ຄໍາສັ່ງດໍາເນີນການທີ່ຈະມີຄວາມຜິດພາດ.
--ປ່ຽນຊື່ພາກສ່ວນ ຊື່ເກົ່າ=ຊື່ໃໝ່
ປ່ຽນຊື່ ຊື່ເກົ່າ ສ່ວນທີ່ ຊື່ໃໝ່. ທາງເລືອກນີ້ສາມາດຖືກນໍາໃຊ້
ຫຼາຍຄັ້ງເພື່ອປ່ຽນຊື່ຫຼາຍພາກສ່ວນ.
-- trampolines | -- ບໍ່ມີ trampolines
ເປີດໃຊ້ຫຼືປິດການຫັນເປັນຄໍາແນະນໍາການໂດດເພື່ອອະນຸຍາດ
ໂດດຂ້າມທີ່ຢູ່ຫຼາຍບ່ອນ. ທາງເລືອກນີ້ຄວນຈະເປັນ
ໃຊ້ເມື່ອເປົ້າໝາຍໂດດອາດຢູ່ນອກຂອບເຂດ. ໃນ
ການຂາດການກະໂດດດັ່ງກ່າວທາງເລືອກນີ້ບໍ່ມີຜົນຕໍ່ຂະຫນາດລະຫັດຫຼື
ການປະຕິບັດ. ຄ່າເລີ່ມຕົ້ນແມ່ນ -- trampolines.
ທາງເລືອກຕໍ່ໄປນີ້ສາມາດໃຊ້ໄດ້ເມື່ອຖືກຕັ້ງຄ່າສໍາລັບ Z80
ໂຮງງານຜະລິດຄອບຄົວ.
-z80
ປະກອບສໍາລັບໂຮງງານຜະລິດ Z80.
-r800
ປະກອບສໍາລັບໂຮງງານຜະລິດ R800.
-ignore-undocumented-ຄໍາແນະນໍາ
- ວູດ
ປະກອບຄໍາແນະນໍາ Z80 ທີ່ບໍ່ມີເອກະສານທີ່ຍັງເຮັດວຽກຢູ່ໃນ R800
ໂດຍບໍ່ມີການເຕືອນໄພ.
-ignore-unportable-ຄໍາແນະນໍາ
-Wnup
ປະກອບຄໍາແນະນໍາ Z80 ທີ່ບໍ່ມີເອກະສານທັງຫມົດໂດຍບໍ່ມີການເຕືອນ.
-warn-undocumented-ຄໍາແນະນໍາ
- ວູດ
ອອກຄໍາເຕືອນສໍາລັບຄໍາແນະນໍາ Z80 ທີ່ບໍ່ມີເອກະສານທີ່ຍັງເຮັດວຽກຢູ່
R800
-warn-unportable-ຄໍາແນະນໍາ
- ວຸບ
ອອກຄໍາເຕືອນສໍາລັບຄໍາແນະນໍາ Z80 ທີ່ບໍ່ມີເອກະສານທີ່ບໍ່ເຮັດວຽກ
ໃນ 800 R.
-forbid-undocumented-ຄໍາແນະນໍາ
- ຟຸດ
ປະຕິບັດທຸກຄໍາແນະນໍາທີ່ບໍ່ມີເອກະສານເປັນຄວາມຜິດພາດ.
-forbid-unportable-ຄໍາແນະນໍາ
- ຟຸ
ປະຕິບັດຄໍາແນະນໍາ Z80 ທີ່ບໍ່ມີເອກະສານທີ່ບໍ່ເຮັດວຽກກ່ຽວກັບ R800 ເປັນ
ຄວາມຜິດພາດ.
ໃຊ້ i686-linux-gnu-ເປັນອອນໄລນ໌ໂດຍໃຊ້ການບໍລິການ onworks.net