as - başvuru kılavuzu, seçenekler, komut örnekleri


İSİM

as AS - taşınabilir GNU derleyicisi.

ÖZET

as [-a[cdghlns][=file]] [--alternate] [--compress-debug-sections] [--nocompress-debug-sections] [-D] [--dump-config] [--debug-prefix-map old=new] [--defsym sym=val] [--elf-stt-common=[no|yes]] [--emulation=name] [-f] [-g] [--gstabs] [--gstabs+] [--gdwarf-<N>] [--gdwarf-sections] [--gdwarf-cie-version=VERSION] [--generate-missing-build-notes=[no|yes]] [--gsframe] [--hash-size=N] [--help] [--target-help] [-I dir] [-J] [-K] [--keep-locals] [-L] [--listing-lhs-width=NUM] [--listing-lhs-width2=NUM] [--listing-rhs-width=NUM] [--listing-cont-lines=NUM] [--multibyte-handling=[allow|warn|warn-sym-only]] [--no-pad-sections] [-o objfile] [-R] [--sectname-subst] [--size-check=[error|warning]] [--statistics] [-v] [-version] [--version] [-W] [--warn] [--fatal-warnings] [-w] [-x] [-Z] [@FILE] [target-options] [--|files ...]

HEDEF

Hedef AArch64 seçenekleri:

[-EB|-EL] [-mabi=ABI]

Hedef Alfa seçenekleri:

[-mcpu] [-mdebug | -no-mdebug] [-replace | -noreplace] [-relax] [-g] [-Gsize] [-F] [-32addr]

Hedef ARC seçenekleri:

[-mcpu=cpu] [-mA6|-mARC600|-mARC601|-mA7|-mARC700|-mEM|-mHS] [-mcode-density] [-mrelax] [-EB|-EL]

Hedef ARM seçenekleri:

[-mcpu=processor[+extension...]] [-march=architecture[+extension...]] [-mfpu=floating-point-format] [-mfloat-abi=abi] [-meabi=ver] [-mthumb] [-EB|-EL] [-mapcs-32|-mapcs-26|-mapcs-float| -mapcs-reentrant] [-mthumb-interwork] [-k]

Hedef Blackfin seçenekleri:

[-mcpu=processor[-sirevision]] [-mfdpic] [-mno-fdpic] [-mnopic]

Hedef BPF seçenekleri:

[-EL] [-EB]

Hedef CRIS seçenekleri:

[--underscore | --no-underscore] [--pic] [-N] [--emulation=criself | --emulation=crisaout] [--march=v0_v10 | --march=v10 | --march=v32 | --march=common_v10_v32]

Hedef C-SKY seçenekleri:

[-march=arch] [-mcpu=cpu] [-EL] [-mlittle-endian] [-EB] [-mbig-endian] [-fpic] [-pic] [-mljump] [-mno-ljump] [-force2bsr] [-mforce2bsr] [-no-force2bsr] [-mno-force2bsr] [-jsri2bsr] [-mjsri2bsr] [-no-jsri2bsr ] [-mno-jsri2bsr] [-mnolrw ] [-mno-lrw] [-melrw] [-mno-elrw] [-mlaf ] [-mliterals-after-func] [-mno-laf] [-mno-literals-after-func] [-mlabr] [-mliterals-after-br] [-mno-labr] [-mnoliterals-after-br] [-mistack] [-mno-istack] [-mhard-float] [-mmp] [-mcp] [-mcache] [-msecurity] [-mtrust] [-mdsp] [-medsp] [-mvdsp]

Hedef D10V seçenekleri:

[-O]

Hedef D30V seçenekleri:

[-O|-n|-N]

Hedef EPIPHANY seçenekleri:

[-mepiphany|-mepiphany16]

Hedef H8/300 seçenekleri:

[-h-tick-hex]

Hedef i386 seçenekleri:

[--32|--x32|--64] [-n] [-march=CPU[+EXTENSION...]] [-mtune=CPU]

Hedef IA-64 seçenekleri:

[-mconstant-gp|-mauto-pic] [-milp32|-milp64|-mlp64|-mp64] [-mle|mbe] [-mtune=itanium1|-mtune=itanium2] [-munwind-check=warning|-munwind-check=error] [-mhint.b=ok|-mhint.b=warning|-mhint.b=error] [-x|-xexplicit] [-xauto] [-xdebug]

Hedef IP2K seçenekleri:

[-mip2022|-mip2022ext]

Hedef M32C seçenekleri:

[-m32c|-m16c] [-relax] [-h-tick-hex]

Hedef M32R seçenekleri:

[--m32rx|--[no-]warn-explicit-parallel-conflicts| --W[n]p]

Hedef M680X0 seçenekleri:

[-l] [-m68000|-m68010|-m68020|...]

Hedef M68HC11 seçenekleri:

[-m68hc11|-m68hc12|-m68hcs12|-mm9s12x|-mm9s12xg] [-mshort|-mlong] [-mshort-double|-mlong-double] [--force-long-branches] [--short-branches] [--strict-direct-mode] [--print-insn-syntax] [--print-opcodes] [--generate-example]

Hedef MCORE seçenekleri:

[-jsri2bsr] [-sifilter] [-relax] [-mcpu=[210|340]]

Hedef Meta seçenekleri:

[-mcpu=cpu] [-mfpu=cpu] [-mdsp=cpu] 

Hedef MİKROBLAZE seçenekleri:

Hedef MIPS seçenekleri:

[-nocpp] [-EL] [-EB] [-O[optimization level]] [-g[debug level]] [-G num] [-KPIC] [-call_shared] [-non_shared] [-xgot [-mvxworks-pic] [-mabi=ABI] [-32] [-n32] [-64] [-mfp32] [-mgp32] [-mfp64] [-mgp64] [-mfpxx] [-modd-spreg] [-mno-odd-spreg] [-march=CPU] [-mtune=CPU] [-mips1] [-mips2] [-mips3] [-mips4] [-mips5] [-mips32] [-mips32r2] [-mips32r3] [-mips32r5] [-mips32r6] [-mips64] [-mips64r2] [-mips64r3] [-mips64r5] [-mips64r6] [-construct-floats] [-no-construct-floats] [-mignore-branch-isa] [-mno-ignore-branch-isa] [-mnan=encoding] [-trap] [-no-break] [-break] [-no-trap] [-mips16] [-no-mips16] [-mmips16e2] [-mno-mips16e2] [-mmicromips] [-mno-micromips] [-msmartmips] [-mno-smartmips] [-mips3d] [-no-mips3d] [-mdmx] [-no-mdmx] [-mdsp] [-mno-dsp] [-mdspr2] [-mno-dspr2] [-mdspr3] [-mno-dspr3] [-mmsa] [-mno-msa] [-mxpa] [-mno-xpa] [-mmt] [-mno-mt] [-mmcu] [-mno-mcu] [-mcrc] [-mno-crc] [-mginv] [-mno-ginv] [-mloongson-mmi] [-mno-loongson-mmi] [-mloongson-cam] [-mno-loongson-cam] [-mloongson-ext] [-mno-loongson-ext] [-mloongson-ext2] [-mno-loongson-ext2] [-minsn32] [-mno-insn32] [-mfix7000] [-mno-fix7000] [-mfix-rm7000] [-mno-fix-rm7000] [-mfix-vr4120] [-mno-fix-vr4120] [-mfix-vr4130] [-mno-fix-vr4130] [-mfix-r5900] [-mno-fix-r5900] [-mdebug] [-no-mdebug] [-mpdr] [-mno-pdr]

Hedef MMIX seçenekleri:

[--fixed-special-register-names] [--globalize-symbols] [--gnu-syntax] [--relax] [--no-predefined-symbols] [--no-expand] [--no-merge-gregs] [-x] [--linker-allocated-gregs]

Hedef Nios II seçenekleri:

[-relax-all] [-relax-section] [-no-relax] [-EB] [-EL]

Hedef NDS32 seçenekleri:

[-EL] [-EB] [-O] [-Os] [-mcpu=cpu] [-misa=isa] [-mabi=abi] [-mall-ext] [-m[no-]16-bit] [-m[no-]perf-ext] [-m[no-]perf2-ext] [-m[no-]string-ext] [-m[no-]dsp-ext] [-m[no-]mac] [-m[no-]div] [-m[no-]audio-isa-ext] [-m[no-]fpu-sp-ext] [-m[no-]fpu-dp-ext] [-m[no-]fpu-fma] [-mfpu-freg=FREG] [-mreduced-regs] [-mfull-regs] [-m[no-]dx-regs] [-mpic] [-mno-relax] [-mb2bb]

Hedef PDP11 seçenekleri:

[-mpic|-mno-pic] [-mall] [-mno-extensions] [-mextension|-mno-extension] [-mcpu] [-mmachine]

Hedef picoJava seçenekleri:

[-mb|-me]

Hedef PowerPC seçenekleri:

[-a32|-a64] [-mpwrx|-mpwr2|-mpwr|-m601|-mppc|-mppc32|-m603|-m604|-m403|-m405| -m440|-m464|-m476|-m7400|-m7410|-m7450|-m7455|-m750cl|-mgekko| -mbroadway|-mppc64|-m620|-me500|-e500x2|-me500mc|-me500mc64|-me5500| -me6500|-mppc64bridge|-mbooke|-mpower4|-mpwr4|-mpower5|-mpwr5|-mpwr5x| -mpower6|-mpwr6|-mpower7|-mpwr7|-mpower8|-mpwr8|-mpower9|-mpwr9-ma2| -mcell|-mspe|-mspe2|-mtitan|-me300|-mcom] [-many] [-maltivec|-mvsx|-mhtm|-mvle] [-mregnames|-mno-regnames] [-mrelocatable|-mrelocatable-lib|-K PIC] [-memb] [-mlittle|-mlittle-endian|-le|-mbig|-mbig-endian|-be] [-msolaris|-mno-solaris] [-nops=count]

Hedef PRU seçenekleri:

[-link-relax] [-mnolink-relax] [-mno-warn-regname-label]

Hedef RISC-V seçenekleri:

[-fpic|-fPIC|-fno-pic] [-march=ISA] [-mabi=ABI] [-mlittle-endian|-mbig-endian]

Hedef RL78 seçenekleri:

[-mg10] [-m32bit-doubles|-m64bit-doubles]

Hedef RX seçenekleri:

[-mlittle-endian|-mbig-endian] [-m32bit-doubles|-m64bit-doubles] [-muse-conventional-section-names] [-msmall-data-limit] [-mpid] [-mrelax] [-mint-register=number] [-mgcc-abi|-mrx-abi]

Hedef s390 seçenekleri:

[-m31|-m64] [-mesa|-mzarch] [-march=CPU] [-mregnames|-mno-regnames] [-mwarn-areg-zero]

Hedef PUAN seçenekleri:

[-EB][-EL][-FIXDD][-NWARN] [-SCORE5][-SCORE5U][-SCORE7][-SCORE3] [-march=score7][-march=score3] [-USE_R1][-KPIC][-O0][-G num][-V]

Hedef SPARC seçenekleri:

[-Av6|-Av7|-Av8|-Aleon|-Asparclet|-Asparclite -Av8plus|-Av8plusa|-Av8plusb|-Av8plusc|-Av8plusd -Av8plusv|-Av8plusm|-Av9|-Av9a|-Av9b|-Av9c -Av9d|-Av9e|-Av9v|-Av9m|-Asparc|-Asparcvis -Asparcvis2|-Asparcfmaf|-Asparcima|-Asparcvis3 -Asparcvisr|-Asparc5] [-xarch=v8plus|-xarch=v8plusa]|-xarch=v8plusb|-xarch=v8plusc -xarch=v8plusd|-xarch=v8plusv|-xarch=v8plusm|-xarch=v9 -xarch=v9a|-xarch=v9b|-xarch=v9c|-xarch=v9d|-xarch=v9e -xarch=v9v|-xarch=v9m|-xarch=sparc|-xarch=sparcvis -xarch=sparcvis2|-xarch=sparcfmaf|-xarch=sparcima -xarch=sparcvis3|-xarch=sparcvisr|-xarch=sparc5 -bump] [-32|-64] [--enforce-aligned-data][--dcti-couples-detect]

Hedef TIC54X seçenekleri:

[-mcpu=54[123589]|-mcpu=54[56]lp] [-mfar-mode|-mf] [-merrors-to-file <filename>|-me <filename>]

Hedef TIC6X seçenekleri:

[-march=arch] [-mbig-endian|-mlittle-endian] [-mdsbt|-mno-dsbt] [-mpid=no|-mpid=near|-mpid=far] [-mpic|-mno-pic]

Hedef TILE-Gx seçenekleri:

[-m32|-m64][-EB][-EL]

Hedef Visium seçenekleri:

[-mtune=arch]

Hedef Xtensa seçenekleri:

[--[no-]text-section-literals] [--[no-]auto-litpools] [--[no-]absolute-literals] [--[no-]target-align] [--[no-]longcalls] [--[no-]transform] [--rename-section oldname=newname] [--[no-]trampolines] [--abi-windowed|--abi-call0]

Hedef Z80 seçenekleri:

[-march=CPU[-EXT][+EXT]] [-local-prefix=PREFIX] [-colonless] [-sdcc] [-fp-s=FORMAT] [-fp-d=FORMAT]

TANIM

GNU as gerçekten bir birleştiriciler ailesidir. GNU derleyicisini bir mimaride kullanıyorsanız (veya kullandıysanız), onu başka bir mimaride kullandığınızda oldukça benzer bir ortam bulmanız gerekir. Nesne dosyası formatları, çoğu birleştirici direktifi (genellikle pseudo-ops olarak adlandırılır) ve birleştirici sözdizimi dahil olmak üzere her sürümün diğerleriyle pek çok ortak noktası vardır.

as, öncelikle ld bağlayıcısı tarafından kullanılmak üzere GNU C derleyicisi gcc'nin çıktısını bir araya getirmeye yöneliktir. Yine de, aynı makine için diğer montajcıların bir araya getireceği her şeyi doğru bir şekilde olarak yapmaya çalıştık. İstisnalar açıkça belgelenmiştir. Bu, as'ın aynı mimari için başka bir derleyici ile her zaman aynı sözdizimini kullandığı anlamına gelmez; örneğin, 680x0 derleme dili sözdiziminin birkaç uyumsuz sürümünü biliyoruz.

Farklı olarak her çalıştırdığınızda, tam olarak bir kaynak program oluşturur. Kaynak program bir veya daha fazla dosyadan oluşur. (Standart girdi aynı zamanda bir dosyadır.)

Sıfır veya daha fazla girdi dosyası adına sahip bir komut satırı olarak as verirsiniz. Giriş dosyaları okunur (sol dosya adından sağa). Özel bir anlamı olmayan bir komut satırı bağımsız değişkeni (herhangi bir konumda), girdi dosyası adı olarak alınır.

as dosya adı vermezseniz, normalde terminaliniz olan as standart girişinden bir girdi dosyasını okumaya çalışır. Derlenecek başka program olmadığını as belirtmek için ctl-D yazmanız gerekebilir.

Standart girdi dosyasını komut satırınızda açıkça adlandırmanız gerekiyorsa -- kullanın.

Kaynak boşsa, as küçük, boş bir nesne dosyası oluşturur.

as standart hata dosyasına (genellikle terminaliniz) uyarılar ve hata mesajları yazabilir. Bu, bir derleyici otomatik olarak as çalıştığında olmamalıdır. Uyarılar, as'ın kusurlu bir programı bir araya getirmeye devam edebilmesi için yapılan bir varsayımı bildirir; hatalar, derlemeyi durduran ciddi bir sorunu bildirir.

GNU C derleyicisi aracılığıyla as çağırıyorsanız, argümanları derleyiciye iletmek için -Wa seçeneğini kullanabilirsiniz. Birleştirici argümanları birbirinden (ve -Wa) virgülle ayrılmalıdır. Örneğin:

gcc -c -g -O -Wa,-alh,-L file.c

Bu, derleyiciye iki seçenek iletir: -alh (yüksek seviye ve montaj kaynağıyla standart çıktıya bir liste yayınla) ve -L (sembol tablosundaki yerel sembolleri koru).

Çoğu derleyici komut satırı seçeneği derleyici tarafından derleyiciye otomatik olarak iletildiğinden, genellikle bu -Wa mekanizmasını kullanmanıza gerek yoktur. (Assembler dahil her bir derleme geçişine tam olarak hangi seçenekleri geçtiğini görmek için GNU derleyici sürücüsünü -v seçeneğiyle çağırabilirsiniz.)

SEÇENEKLER

  1. dosyadan komut satırı seçeneklerini okuyun. Okunan seçenekler orijinal @file seçeneğinin yerine eklenir. dosya yoksa veya okunamıyorsa, seçenek tam anlamıyla ele alınır ve kaldırılmaz. dosya içindeki seçenekler boşlukla ayrılmıştır. Tüm seçeneği tek veya çift tırnak içine alarak bir seçeneğe bir boşluk karakteri dahil edilebilir. Herhangi bir karakter (ters eğik çizgi dahil), dahil edilecek karakterin önüne ters eğik çizgi konularak dahil edilebilir. dosya ek @dosya seçenekleri içerebilir; bu tür seçenekler yinelemeli olarak işlenecektir.

-a[cdghlmns]

Çeşitli yollardan herhangi biriyle listeleri etkinleştirin:

-ac

yanlış koşul şartlarını atla

-ad

hata ayıklama direktiflerini atla

-ag

sürüm ve geçirilen seçenekler gibi genel bilgileri içerir

-ah

üst düzey kaynak dahil

-al

montaj dahil

-am

makro genişletmeleri dahil

-an

form işlemeyi atla

-as

sembolleri dahil et

=file

listeleme dosyasının adını ayarlayın

Bu seçenekleri birleştirebilirsiniz; örneğin, form işleme olmadan derleme listesi için -aln kullanın. =file seçeneği kullanılıyorsa son seçenek olmalıdır. -a, kendi başına varsayılan olarak -ahls'dir.

--alternate

Alternatif makro modunda başlayın.

--compress-debug-sections

ELF ABI'den SHF_COMPRESSED ile zlib kullanarak DWARF hata ayıklama bölümlerini sıkıştırın. Ortaya çıkan nesne dosyası, eski bağlayıcılar ve nesne dosyası yardımcı programları ile uyumlu olmayabilir. Sıkıştırma belirli bir bölümü büyütür yapıyorsa, o zaman sıkıştırılmamış olduğuna dikkat edin.

--compress-debug-sections=none
--compress-debug-sections=zlib
--compress-debug-sections=zlib-gnu
--compress-debug-sections=zlib-gabi
--compress-debug-sections=zstd

Bu seçenekler, DWARF hata ayıklama bölümlerinin nasıl sıkıştırılacağını denetler. --compress-debug-sections=none, --nocompress-debug-sections ile eşdeğerdir. --compress-debug-sections=zlib ve --compress-debug-sections=zlib-gabi, --compress-debug-sections ile eşdeğerdir. --compress-debug-sections=zlib-gnu, kullanılmayan zlib-gnu biçimini kullanarak DWARF hata ayıklama bölümlerini sıkıştırır. Hata ayıklama bölümleri, .zdebug ile başlayacak şekilde yeniden adlandırılır. --compress-debug-sections=zstd, zstd kullanarak DWARF hata ayıklama bölümlerini sıkıştırır. Not - eğer sıkıştırma aslında bir bölümü büyütür yapacaksa, o zaman sıkıştırılmaz veya yeniden adlandırılmaz.

--nocompress-debug-sections

DWARF hata ayıklama bölümlerini sıkıştırmayın. Bu genellikle x86/x86_64 dışındaki tüm hedefler için varsayılandır, ancak bunu geçersiz kılmak için bir zaman yapılandırma seçeneği kullanılabilir.

-D

Destekleniyorsa, hedefe özel arka uçlarda ayıklamayı etkinleştirin. Aksi takdirde göz ardı edilir. Yoksayılsa bile, bu seçenek diğer derleyicilere yapılan çağrılarla betik uyumluluğu için kabul edilir.

--debug-prefix-map old=new

eski dizinindeki dosyaları bir araya getirirken, bunun yerine dosyaları yeni olarak tanımlayan hata ayıklama bilgilerini kaydedin.

--defsym sym=value

Girdi dosyasını birleştirmeden önce sym sembolünü değer olarak tanımlayın. değer bir tamsayı sabiti olmalıdır. C'de olduğu gibi, baştaki 0x onaltılık bir değeri, baştaki 0 ise sekizlik bir değeri gösterir. Sembolün değeri, bir .set sözde işletimi kullanılarak bir kaynak dosyanın içinde geçersiz kılınabilir.

--dump-config

Derleyicinin nasıl yapılandırıldığını görüntüler ve sonra çıkar.

--elf-stt-common=no
--elf-stt-common=yes

Bu seçenekler, ELF derleyicisinin STT_COMMON türüyle ortak semboller üretip üretmeyeceğini kontrol eder. Varsayılan, --enable-elf-stt-common yapılandırma seçeneğiyle kontrol edilebilir.

--emulation=name

Derleyici birden çok farklı hedef yapılandırmayı destekleyecek şekilde yapılandırılmışsa, bu seçenek istenen formu seçmek için kullanılabilir.

-f

hızlı --- boşlukları atla ve ön işlemeyi yorumla (kaynağın derleyici çıktısı olduğunu varsayalım).

-g
--gen-debug

Hedef tarafından tercih edilen hata ayıklama biçimini kullanarak her derleyici kaynak satırı için hata ayıklama bilgisi oluşturun. Bu şu anda STABS, ECOFF veya DWARF2 anlamına gelir. Hata ayıklama biçimi DWARF olduğunda, bir .debug_info ve .debug_line bölümü yalnızca derleme dosyası kendisi oluşturmadığında yayınlanır.

--gstabs

Her bir montajcı hattı için bıçak hata ayıklama bilgileri oluşturun. Bu, hata ayıklayıcı işleyebilirse, derleyici kodunda hata ayıklamaya yardımcı olabilir.

--gstabs+

Muhtemelen yalnızca gdb'nin işleyebileceği ve diğer hata ayıklayıcıların çökmesine veya programınızı okumayı reddetmesine neden olabilecek GNU uzantıları ile her birleştirici hattı için hata ayıklama bilgileri oluşturun. Bu, derleyici kodunda hata ayıklamaya yardımcı olabilir. Şu anda tek GNU uzantısı, geçerli çalışma dizininin montaj zamanındaki konumudur.

--gdwarf-2

Her montajcı hattı için DWARF2 hata ayıklama bilgisi oluşturun. Bu, hata ayıklayıcı işleyebilirse, derleyici kodunda hata ayıklamaya yardımcı olabilir. Not---bu seçenek yalnızca bazı hedefler tarafından desteklenir, tümü tarafından desteklenmez.

--gdwarf-3

Bu seçenek --gdwarf-2 seçeneğiyle aynıdır, tek farkı, DWARF belirtiminin 3. sürümüne göre ekstra hata ayıklama bilgilerinin oluşturulmasına izin vermesidir. Not - Bu seçeneğin etkinleştirilmesi, herhangi bir ekstra bilgi üretilmesini garanti etmez, bunu yapma seçimi, hedef bazında yapılır.

--gdwarf-4

Bu seçenek --gdwarf-2 seçeneğiyle aynıdır, tek farkı, DWARF belirtiminin 4. sürümüne göre ekstra hata ayıklama bilgilerinin oluşturulmasına izin vermesidir. Not - Bu seçeneğin etkinleştirilmesi, herhangi bir ekstra bilgi üretilmesini garanti etmez, bunu yapma seçimi, hedef bazında yapılır.

--gdwarf-5

Bu seçenek --gdwarf-2 seçeneğiyle aynıdır, tek farkı, DWARF belirtiminin 5. sürümüne göre ekstra hata ayıklama bilgilerinin oluşturulmasına izin vermesidir. Not - Bu seçeneğin etkinleştirilmesi, herhangi bir ekstra bilgi üretilmesini garanti etmez, bunu yapma seçimi, hedef bazında yapılır.

--gdwarf-sections

Bir .debug_line bölümü oluşturmak yerine, bir dizi .debug_line.foo bölümü oluşturun; burada foo, karşılık gelen kod bölümünün adıdır. Örneğin, .text.func adlı bir kod bölümünün cüce satır numarası bilgisi .debug_line.text.func adlı bir bölüme yerleştirilecektir. Kod bölümü yalnızca .text olarak adlandırılırsa, hata ayıklama satırı bölümü herhangi bir sonek olmadan yalnızca .debug_line olarak adlandırılacaktır.

--gdwarf-cie-version=version

DWARF Ortak Bilgi Girişlerinin (CIE'ler) hangi sürümünün üretildiğini kontrol edin. Bu bayrak belirtilmediğinde, varsayılan sürüm 1'dir, ancak bazı hedefler bu varsayılanı değiştirebilir. sürüm için diğer olası değerler 3 veya 4'tür.

--generate-missing-build-notes=yes
--generate-missing-build-notes=no

Bu seçenekler, girdi kaynaklarında hiç yoksa ELF derleyicisinin GNU Derleme öznitelik notları oluşturup oluşturmayacağını kontrol eder. Varsayılan, --enable-generate-build-notes yapılandırma seçeneğiyle kontrol edilebilir.

--gsframe
--gsframe

CFI yönergelerinden .sframe bölümü oluşturun.

--hash-size N

Yok sayıldı. Diğer derleyicilerle komut satırı uyumluluğu için desteklenir.

--help

Komut satırı seçeneklerinin bir özetini yazdırın ve çıkın.

--target-help

Hedefe özgü tüm seçeneklerin bir özetini yazdırın ve çıkın.

-I dir

.include yönergeleri için arama listesine dir dizinini ekleyin.

-J

İmzalı taşma konusunda uyarma.

-K

Uzun deplasmanlar için fark tabloları değiştiğinde uyarı verin.

-L
--keep-locals

(Sembol tablosunda) yerel sembolleri saklayın. Bu semboller, sisteme özgü yerel etiket ön ekleriyle başlar, genellikle ELF sistemleri için .L veya geleneksel a.out sistemleri için L.

--listing-lhs-width=number

Bir derleyici listesi için çıktı verisi sütununun sözcük cinsinden maksimum genişliğini sayı olarak ayarlayın.

--listing-lhs-width2=number

Bir derleyici listesindeki devam satırları için çıktı verileri sütununun sözcük cinsinden maksimum genişliğini sayı olarak ayarlayın.

--listing-rhs-width=number

Bir giriş kaynağı satırının maksimum genişliğini, bir listede gösterildiği gibi sayı bayt olarak ayarlayın.

--listing-cont-lines=number

Tek bir giriş satırı için bir listede yazdırılan maksimum satır sayısını sayı + 1 olarak ayarlayın.

--multibyte-handling=allow
--multibyte-handling=warn
--multibyte-handling=warn-sym-only
--multibyte-handling=warn_sym_only

Derleyicinin girişteki çok baytlı karakterleri nasıl işlediğini kontrol eder. Varsayılan (izin ver bağımsız değişkeni kullanılarak geri yüklenebilir), bu tür karakterlere şikayet etmeden izin vermektir. warn bağımsız değişkeninin kullanılması, derleyicinin herhangi bir çok baytlı karakterle karşılaşıldığında bir uyarı mesajı oluşturmasını sağlar. warn-sym-only bağımsız değişkeninin kullanılması, yalnızca çok baytlı karakterler içeren bir adla bir sembol tanımlandığında bir uyarı oluşturulmasına neden olur. (Tanımlanmamış sembollere yapılan başvurular bir uyarı oluşturmaz).

--no-pad-sections

Çıktı bölümlerinin uçlarını o bölümün hizasına göre doldurmak için montajcıyı durdurun. Varsayılan ayar, bölümleri doldurmaktır, ancak bu, sıkı bellek kısıtlamaları olan hedeflerde gerekebilecek alanı boşa harcayabilir.

-o objfile

Nesne dosyası çıktısını as objfile olarak adlandırın.

-R

Veri bölümünü metin bölümüne katlayın.

--reduce-memory-overheads

Yok sayıldı. Hem derleyiciye hem de bağlayıcıya aynı seçeneği sağlayan araçlarla uyumluluk için desteklenir.

--sectname-subst

Bölüm adlarındaki değiştirme dizilerine saygı gösterin.

--size-check=error
--size-check=warning

Geçersiz ELF .size yönergesi için bir hata veya uyarı verin.

--statistics

Derleme tarafından kullanılan maksimum alanı (bayt cinsinden) ve toplam süreyi (saniye cinsinden) yazdırın.

--strip-local-absolute

Giden sembol tablosundan yerel mutlak sembolleri kaldırın.

-v
-version

Sürümü olarak yazdırın.

--version

Sürümü olarak yazdırın ve çıkın.

-W
--no-warn

Uyarı mesajlarını bastırın.

--fatal-warnings

Uyarıları hata olarak ele alın.

--warn

Uyarı mesajlarını gizlemeyin veya bunları hata olarak görmeyin.

-w

Yok sayıldı.

-x

Yok sayıldı.

-Z

Hatalardan sonra bile bir nesne dosyası oluşturun.

-- | files ...

Standart girdi veya birleştirilecek kaynak dosyalar.

Aşağıdaki seçenekler, ARM Mimarisinin (AArch64) 64 bit modu için yapılandırıldığında kullanılabilir.

-EB

Bu seçenek, derleyici tarafından üretilen çıktının bir big-endian işlemci için kodlanmış olarak işaretlenmesi gerektiğini belirtir.

-EL

Bu seçenek, derleyici tarafından üretilen çıktının bir little-endian işlemci için kodlanmış olarak işaretlenmesi gerektiğini belirtir.

-mabi=abi

Kaynak kodun hangi ABI'yı kullandığını belirtin. Tanınan bağımsız değişkenler şunlardır: sırasıyla ELF32 ve ELF64 biçiminde oluşturulan nesne dosyasına karar veren ilp32 ve lp64. Varsayılan lp64 şeklindedir.

-mcpu=processor[+extension...]

Bu seçenek, hedef işlemciyi belirtir. Hedef işlemcide yürütülmeyecek bir yönergeyi birleştirme girişiminde bulunulursa, derleyici bir hata mesajı verir. Aşağıdaki işlemci adları tanınır: cortex-a34, cortex-a35, cortex-a53, cortex-a55, cortex-a57, cortex-a65, cortex-a65ae, cortex-a72, cortex-a73 , korteks-a75, korteks-a76, korteks-a76ae, korteks-a77, korteks-a78, korteks-a78ae, korteks-a78c, korteks-a510, korteks-a71 0, ares, exynos-m1, falkor, neoverse-n1, neoverse-n2, neoverse-e1, neoverse-v1, qdf24xx, saphira, thunderx, vulcan, xgene1 xgene2, cortex-r82, cortex-x1 ve cortex-x2.

all özel adı, montajcının tüm isteğe bağlı uzantılar da dahil olmak üzere desteklenen herhangi bir işlemci için geçerli talimatları kabul etmesine izin vermek için kullanılabilir. Temel talimat setine ek olarak, montajcıya işlemciyi genişleten çeşitli uzantı anımsatıcılarını kabul etmesi veya kısıtlaması söylenebilir. Belirli bir işlemcinin bazı uygulamalarının bir uzantısı varsa, o zaman bu uzantılar otomatik olarak etkinleştirilir. Sonuç olarak, normalde herhangi bir ek uzantı belirtmeniz gerekmez.

-march=architecture[+extension...]

Bu seçenek, hedef mimariyi belirtir. Hedef mimaride yürütülmeyecek bir yönergeyi birleştirme girişiminde bulunulursa, derleyici bir hata mesajı verir. Aşağıdaki mimari adları tanınır: armv8-a, armv8.1-a, armv8.2-a, armv8.3-a, armv8.4-a armv8.5-a, armv8.6-a, armv8.7-a, armv8 .8-a, armv8-r, armv9-a, armv9.1-a, armv9.2-a ve armv9.3-a. Hem -mcpu hem de -march belirtilirse, derleyici -mcpu ayarını kullanır. Hiçbiri belirtilmezse, derleyici varsayılan olarak -mcpu=all olur. Mimari seçeneği, -mcpu seçeneğiyle aynı komut seti uzantı seçenekleriyle genişletilebilir. -mcpu'dan farklı olarak, uzantılar varsayılan olarak her zaman etkin değildir.

-mverbose-error

Bu seçenek, AArch64 gazı için ayrıntılı hata mesajlarını etkinleştirir. Bu seçenek varsayılan olarak etkindir.

-mno-verbose-error

Bu seçenek, AArch64 gazındaki ayrıntılı hata mesajlarını devre dışı bırakır.

Aşağıdaki seçenekler, bir Alpha işlemci için ayarlandığında kullanılabilir.

-mcpu

Bu seçenek, hedef işlemciyi belirtir. Hedef işlemcide yürütülmeyecek bir talimatı birleştirme girişiminde bulunulursa, derleyici talimatı bir makro olarak genişletebilir veya bir hata mesajı verebilir. Bu seçenek, .arch yönergesine eşdeğerdir. Aşağıdaki işlemci adları tanınır: 21064, 21064a, 21066, 21068, 21164, 21164a, 21164pc, 21264, 21264a, 21264b, ev4, ev5, lca45, ev5, ev56, pca56, ev6, ev67, ev68. all özel adı, montajcının herhangi bir Alpha işlemcisi için geçerli talimatları kabul etmesine izin vermek için kullanılabilir. .arch ile ilgili olarak OSF/1'deki mevcut uygulamayı ve MILO (Linux ARC önyükleyici) içindeki mevcut uygulamayı desteklemek için, numaralı işlemci adları (ör.

-mdebug
-no-mdebug

Stabs yönergeleri ve prosedür tanımlayıcıları için .mdebug kapsülleme oluşturmayı etkinleştirir veya devre dışı bırakır. Varsayılan, ilk stabs yönergesi görüldüğünde .mdebug öğesinin otomatik olarak etkinleştirilmesidir.

-relax

Bu seçenek, yerden tasarruf etmek ve montaj zamanında bazı yer değiştirmeleri çözmek yerine, tüm yer değiştirmelerin nesne dosyasına konulmasını zorlar. Bu seçeneğin, tüm sembol aritmetiğini nesne dosyasına yaymadığını unutmayın, çünkü tüm sembol aritmetiği temsil edilemez. Ancak, seçenek belirli uygulamalarda yine de yararlı olabilir.

-replace
-noreplace

Hem montajda hem de bağlantı zamanında prosedür çağrılarının optimizasyonunu etkinleştirir veya devre dışı bırakır. Bu seçenekler yalnızca VMS hedefleri için kullanılabilir ve -replace varsayılandır. OpenVMS Bağlayıcı Yardımcı Programı Kılavuzunun 1.4.1 bölümüne bakın.

-g

Bu seçenek, derleyici hata ayıklama bilgisi oluşturduğunda kullanılır. gcc, ECOFF için hata ayıklama bilgileri oluşturmak üzere mips-tfile kullandığında, yerel etiketlerin nesne dosyasına geçirilmesi gerekir. Aksi takdirde bu seçeneğin bir etkisi yoktur.

-Gsize

size boyutundan büyük yerel bir ortak sembol .bss içine yerleştirilirken, daha küçük semboller .sbss içine yerleştirilir.

-F
-32addr

Geriye dönük uyumluluk için bu seçenekler dikkate alınmaz.

Aşağıdaki seçenekler, bir ARC işlemcisi için ayarlandığı zaman kullanılabilir.

-mcpu=cpu

Bu seçenek, çekirdek işlemci değişkenini seçer.

-EB | -EL

Big-endian (-EB) veya little-endian (-EL) çıkışını seçin.

-mcode-density

Kod Yoğunluğu uzantısı yönergelerini etkinleştirin.

Aşağıdaki seçenekler, ARM işlemci ailesi için yapılandırıldığında kullanılabilir.

-mcpu=processor[+extension...]

Hangi ARM işlemci varyantının hedef olduğunu belirtin.

-march=architecture[+extension...]

Hedef tarafından hangi ARM mimarisi değişkeninin kullanıldığını belirtin.

-mfpu=floating-point-format

Hangi Kayan Nokta mimarisinin hedef olduğunu seçin.

-mfloat-abi=abi

Hangi kayan noktalı ABI'nin kullanımda olduğunu seçin.

-mthumb

Yalnızca Thumb talimat kod çözmeyi etkinleştirin.

-mapcs-32 | -mapcs-26 | -mapcs-float | -mapcs-reentrant

Hangi prosedür çağırma kuralının kullanımda olduğunu seçin.

-EB | -EL

Big-endian (-EB) veya little-endian (-EL) çıkışını seçin.

-mthumb-interwork

Kodun, Başparmak ve ARM kodu arasındaki birlikte çalışma göz önünde bulundurularak oluşturulduğunu belirtin.

-mccs

CodeComposer Studio derleme sözdizimi uyumluluk modunu açar.

-k

PIC kodunun üretildiğini belirtin.

Aşağıdaki seçenekler, Blackfin işlemci ailesi için olduğu gibi yapılandırıldığında kullanılabilir.

-mcpu=processor[-sirevision]

Bu seçenek, hedef işlemciyi belirtir. İsteğe bağlı sirevision, montajcıda kullanılmaz. Burada, GCC'nin -mcpu= seçeneğini kolayca iletebileceği şekildedir. Hedef işlemcide yürütülmeyecek bir yönergeyi birleştirme girişiminde bulunulursa, derleyici bir hata mesajı verir. Aşağıdaki işlemci adları tanınır: bf504, bf506, bf512, bf514, bf516, bf518, bf522, bf523, bf524, bf52 5, bf526, bf527, bf531, bf532, bf533, bf534, bf535 (henüz uygulanmadı), bf536, bf537, bf5 38, bf539, bf542, bf542m, bf544, bf544m, bf547, bf547m, bf548, bf548m, bf 549, bf549m, bf561 ve bf592.

-mfdpic

FDPIC ABI için bir araya gelin.

-mno-fdpic
-mnopic

-mfdpic'i devre dışı bırakın.

Aşağıdaki seçenekler, Linux çekirdeği BPF işlemci ailesi için olduğu gibi yapılandırıldığında kullanılabilir.

@chapter BPF'ye Bağlı Özellikler

Seçenekler

-EB

Bu seçenek, derleyicinin big-endian eBPF yayması gerektiğini belirtir.

-EL

Bu seçenek, derleyicinin little-endian eBPF yayması gerektiğini belirtir.

Komut satırında hiçbir endianness seçeneği belirtilmemişse, host endianness'in kullanıldığını unutmayın. CRIS'e özgü seçeneklerin belgeleri için bilgi sayfalarına bakın.

Aşağıdaki seçenekler, C-SKY işlemci ailesi için yapılandırıldığında kullanılabilir.

-march=archname

archname mimarisi için birleştirin. --help seçeneği, archname için geçerli değerleri listeler.

-mcpu=cpuname

cpuname mimarisi için birleştirin. --help seçeneği, cpuname için geçerli değerleri listeler.

-EL
-mlittle-endian

Little-endian çıktısı oluşturun.

-EB
-mbig-endian

Big-endian çıktısı oluşturun.

-fpic
-pic

Konumdan bağımsız kod oluşturun.

-mljump
-mno-ljump

jbf, jbt ve jbr kısa dal yönergelerinin jmpi'ye dönüşümünü etkinleştirin/devre dışı bırakın. Bu seçenek yalnızca V2 işlemciler içindir. jmpi komutunu desteklemeyen CK801 ve CK802 hedeflerinde yoksayılır ve diğer işlemciler için varsayılan olarak etkindir.

-mbranch-stub
-mno-branch-stub

Bağlayıcıya bsr yönergeleri için R_CKCORE_PCREL_IMM26BY2 yer değiştirmelerini iletin. Bu seçenek yalnızca, varsayılan olarak etkinleştirildiği çıplak metal C-SKY V2 ELF hedefleri için kullanılabilir. Paylaşılan kitaplıklara dinamik olarak bağlanacak kodda kullanılamaz.

-force2bsr
-mforce2bsr
-no-force2bsr
-mno-force2bsr

jbsr yönergelerinin bsr biçimine dönüştürülmesini etkinleştirin/devre dışı bırakın. Bu seçenek, CK801/CK802 hedefleri için her zaman etkindir (ve -mno-force2bsr yoksayılır). Ayrıca, -mbranch-stub etkin olduğunda da her zaman etkindir.

-jsri2bsr
-mjsri2bsr
-no-jsri2bsr
-mno-jsri2bsr

jsri yönergelerinin bsr biçimine dönüştürülmesini etkinleştirin/devre dışı bırakın. Bu seçenek varsayılan olarak etkindir.

-mnolrw
-mno-lrw

lrw yönergelerinin bir movih/ori çiftine dönüştürülmesini etkinleştirin/devre dışı bırakın.

-melrw
-mno-elrw

Genişletilmiş lrw yönergelerini etkinleştirin/devre dışı bırakın. Bu seçenek, CK800 serisi işlemciler için varsayılan olarak etkindir.

-mlaf
-mliterals-after-func
-mno-laf
-mno-literals-after-func

Her işlevden sonra hazır bilgi havuzlarının yerleşimini etkinleştirin/devre dışı bırakın.

-mlabr
-mliterals-after-br
-mno-labr
-mnoliterals-after-br

Koşulsuz dallardan sonra hazır bilgi havuzlarının yerleştirilmesini etkinleştirin/devre dışı bırakın. Bu seçenek varsayılan olarak etkindir.

-mistack
-mno-istack

Kesme yığını yönergelerini etkinleştirin/devre dışı bırakın. Bu seçenek, CK801, CK802 ve CK802 işlemcilerde varsayılan olarak etkindir.

Aşağıdaki seçenekler belirli isteğe bağlı talimatları açıkça etkinleştirir. Bu özellikler ayrıca, onu destekleyen bir işlemciyi belirtmek için -mcpu= kullanılarak dolaylı olarak etkinleştirilir.

-mhard-float

Sabit şamandıra yönergelerini etkinleştirin.

-mmp

Çok işlemcili yönergeleri etkinleştirin.

-mcp

Yardımcı işlemci yönergelerini etkinleştirin.

-mcache

Önbellek önceden getirme talimatını etkinleştirin.

-msecurity

C-SKY güvenlik talimatlarını etkinleştirin.

-mtrust

C-SKY güven yönergelerini etkinleştirin.

-mdsp

DSP talimatlarını etkinleştirin.

-medsp

Gelişmiş DSP talimatlarını etkinleştirin.

-mvdsp

Vektör DSP talimatlarını etkinleştirin.

Aşağıdaki seçenekler, bir Epiphany işlemci için olduğu gibi yapılandırıldığında kullanılabilir.

-mepiphany

Hem 32 hem de 16 bitlik yönergelere izin verildiğini belirtir. Bu varsayılan davranıştır.

-mepiphany16

İzin verilen talimatları yalnızca 16 bitlik setle sınırlar.

Aşağıdaki seçenekler, bir H8/300 işlemci için yapılandırıldığında kullanılabilir. @chapter H8/300 Bağımlı Özellikler

Seçenekler

as'ın Renesas H8/300 sürümü, makineye bağlı bir seçeneğe sahiptir:

-h-tick-hex

0x00 stiline ek olarak H'00 stili onaltılık sabitleri destekler.

-mach=name

H8300 makine değişkenini ayarlar. Aşağıdaki makine adları tanınır: h8300h, h8300hn, h8300s, h8300sn, h8300sx ve h8300sxn.

Aşağıdaki seçenekler, bir i386 işlemci için yapılandırıldığı zaman kullanılabilir.

--32 | --x32 | --64

Kelime boyutunu 32 bit veya 64 bit olarak seçin. --32, Intel i386 mimarisini ifade ederken, --x32 ve --64, sırasıyla 32 bit veya 64 bit kelime boyutunda AMD x86-64 mimarisini ifade eder. Bu seçenekler yalnızca ELF nesne dosyası biçiminde mevcuttur ve gerekli BFD desteğinin dahil edilmesini gerektirir (32 bit platformda, 64 bit kullanımı etkinleştirmek ve x86-64'ü hedef platform olarak kullanmak için yapılandırmak için --enable-64-bit-bfd eklemeniz gerekir).

-n

Varsayılan olarak, x86 GAS, kod bölümlerinde hizalama için kullanılan çoklu nop talimatlarını leal 0(%esi,1),%esi gibi çok baytlı nop talimatlarıyla değiştirir. Hizalama için doldurma baytı olarak tek bir bayt nop (0x90) açıkça belirtilirse, bu anahtar optimizasyonu devre dışı bırakır.

--divide

SVR4'ten türetilen platformlarda, / karakteri bir yorum karakteri olarak ele alınır, bu da onun ifadelerde kullanılamayacağı anlamına gelir. --divide seçeneği, / öğesini normal bir karaktere dönüştürür. Bu, yorum başlatan bir satırın başındaki / öğesini devre dışı bırakmaz veya yorum başlatmak için # kullanmayı etkilemez.

-march=CPU[+EXTENSION...]

Bu seçenek, hedef işlemciyi belirtir. Hedef işlemcide yürütülmeyecek bir yönergeyi birleştirme girişiminde bulunulursa, derleyici bir hata mesajı verir. Aşağıdaki işlemci adları tanınır: i8086, i186, i286, i386, i486, i586, i686, pentium, pentiumpro, pentiumii, pentiumiii, pentium4, prescott, nocona, core, core2, corei7, iamcu, k6, k6_2, athlon, opteron, k8, amd fam10, bdver1, bdver2, bdver3, bdver4, znver1, znver2, znver3, znver4, btver1, btver2, genel 32 ve generic64. Temel talimat setine ek olarak, derleyiciye çeşitli uzantı anımsatıcılarını kabul etmesi söylenebilir. Örneğin, -march=i686+sse4+vmx, i686 öğesini sse4 ve vmx ile genişletir.

Aşağıdaki uzantılar şu anda desteklenmektedir: 8087, 287, 387, 687, cmov, fxsr, mmx, sse, sse2, sse3, sse4a, s sse3, sse4.1, sse4.2, sse4, avx, avx2, adx, rdseed, prfchw, smap, mpx, sha, rdpid, ptwrite, cet, gfni, vaes, vpclmulqdq, prefetchwt1, clflushopt, se1, clwb, movdiri, movdir64b, en qcmd, serialize, tsxldtrk, kl, widekl, hreset, avx512f, avx512cd, avx512er, avx512pf, avx512vl , avx512bw, avx512dq, avx512ifma, avx512vbmi, avx512_4fmaps, avx512_4vnniw, avx512_vpopcntdq, avx512 _vbmi2, avx512_vnni, avx512_bitalg, avx512_vp2intersect, tdx, avx512_bf16, avx_vnni, avx512_fp16, prefetchi , avx_ifma, avx_vnni_int8, cmpccxadd, wrmsrns, msrlist, avx_ne_convert, rao_int, amx_int8, amx_bf16 , amx_fp16, amx_tile, vmx, vmfunc, smx, xsave, xsaveopt, xsavec, xsaves, aes, pclmul, fsgsbase, rdrnd, f16c, bmi2, fma, movbe, ept, lzcnt, popcnt, hle, rtm, tsx, invpcid, clflush, mwaitx, clzero, wbnoinvd, pconfig, waitpkg, uintr, cldemote, rdpru, mcommit, sev_es, lw p, fma4, xop, cx16, syscall, rdtscp, 3dnow, 3dnowa, sse4a, sse5, snp, invlpgb, tlbsync, svme ve asma kilit.

İlgili (ve herhangi bir bağımlı) işlevselliği iptal etmek için bu uzantı anımsatıcılarının önüne no eklenebileceğini unutmayın. .arch yönergesi -march ile birlikte kullanıldığında, .arch yönergesi öncelikli olacaktır.

-mtune=CPU

Bu seçenek, optimize edilecek bir işlemciyi belirtir. -march seçeneğiyle birlikte kullanıldığında, yalnızca -march seçeneği tarafından belirtilen işlemci komutları üretilecektir. Geçerli CPU değerleri, -march=CPU işlemci listesiyle aynıdır.

-msse2avx

Bu seçenek, derleyicinin SSE yönergelerini VEX ön ekiyle kodlaması gerektiğini belirtir.

-muse-unaligned-vector-move

Bu seçenek, derleyicinin hizalanmış vektör hareketini hizalanmamış vektör hareketi olarak kodlaması gerektiğini belirtir.

-msse-check=none
-msse-check=warning
-msse-check=error

Bu seçenekler, derleyicinin SSE yönergelerini kontrol edip etmeyeceğini kontrol eder. -msse-check=none, derleyicinin varsayılan olan SSE yönergelerini kontrol etmemesini sağlar. -msse-check=uyarı, derleyicinin herhangi bir SSE talimatı için bir uyarı vermesini sağlar. -msse-check=error, derleyicinin herhangi bir SSE talimatı için bir hata vermesine neden olur.

-mavxscalar=128
-mavxscalar=256

Bu seçenekler, derleyicinin skaler AVX yönergelerini nasıl kodlaması gerektiğini kontrol eder. -mavxscalar=128, varsayılan değer olan 128 bit vektör uzunluğunda skaler AVX komutlarını kodlar. -mavxscalar=256, 256 bit vektör uzunluğunda skaler AVX komutlarını kodlar. UYARI: Bunu üretim kodu için kullanmayın - CPU hataları nedeniyle ortaya çıkan kod belirli modellerde çalışmayabilir.

-mvexwig=0
-mvexwig=1

Bu seçenekler, derleyicinin VEX.W-yoksayılan (WIG) VEX yönergelerini nasıl kodlaması gerektiğini kontrol eder. -mvexwig=0, WIG VEX komutlarını varsayılan değer olan vex.w=0 ile kodlar. -mvexwig=1, WIG EVEX komutlarını vex.w=1 ile kodlayacaktır. UYARI: Bunu üretim kodu için kullanmayın - CPU hataları nedeniyle ortaya çıkan kod belirli modellerde çalışmayabilir.

-mevexlig=128
-mevexlig=256
-mevexlig=512

Bu seçenekler, derleyicinin uzunluk yok sayılan (LIG) EVEX yönergelerini nasıl kodlaması gerektiğini kontrol eder. -mevexlig=128, LIG EVEX komutlarını varsayılan değer olan 128 bit vektör uzunluğunda kodlar. -mevexlig=256 ve -mevexlig=512 LIG EVEX komutlarını sırasıyla 256 bit ve 512 bit vektör uzunluğunda kodlar.

-mevexwig=0
-mevexwig=1

Bu seçenekler, derleyicinin w-ignored (WIG) EVEX komutlarını nasıl kodlaması gerektiğini kontrol eder. -mevexwig=0, WIG EVEX komutlarını varsayılan olan evex.w=0 ile kodlar. -mevexwig=1, WIG EVEX komutlarını evex.w=1 ile kodlar.

-mmnemonic=att
-mmnemonic=intel

Bu seçenek, eşleştirme yönergeleri için komut anımsatıcısını belirtir. .att_mnemonic ve .intel_mnemonic yönergeleri öncelikli olacaktır.

-msyntax=att
-msyntax=intel

Bu seçenek, talimatlar işlenirken talimat sözdizimini belirtir. .att_syntax ve .intel_syntax yönergeleri öncelikli olacaktır.

-mnaked-reg

Bu seçenek, kayıtların % öneki gerektirmediğini belirtir. .att_syntax ve .intel_syntax yönergeleri öncelikli olacaktır.

-madd-bnd-prefix

Bu seçenek, böyle bir önek kaynak kodunda açıkça belirtilmemiş olsa bile, derleyiciyi tüm dallara BND öneki eklemeye zorlar.

-mno-shared

ELF hedefinde, montajcı normalde, varsayılan görünürlükle tanımlanmış, zayıf olmayan genel şube hedeflerine karşı PLT olmayan yer değiştirmeleri optimize eder. -mshared seçeneği, derleyiciye, varsayılan görünürlüğe sahip tüm zayıf olmayan genel şube hedeflerinin önlenebileceği bir paylaşılan kitaplığa girebilecek kod üretmesini söyler. Ortaya çıkan kod biraz daha büyüktür. Bu seçenek yalnızca şube yönergelerinin işlenmesini etkiler.

-mbig-obj

PE/COFF hedefinde bu seçenek, 32768'den fazla bölüme izin veren büyük nesne dosyası biçiminin kullanılmasını zorunlu kılar.

-momit-lock-prefix=no
-momit-lock-prefix=yes

Bu seçenekler, derleyicinin kilit önekini nasıl kodlaması gerektiğini kontrol eder. Bu seçenek, kilit önekinde başarısız olan işlemciler için geçici bir çözüm olarak tasarlanmıştır. Bu seçenek yalnızca tek çekirdekli, tek iş parçacıklı bilgisayarlarda güvenle kullanılabilir -momit-lock-prefix=yes tüm kilit öneklerini atlar. -momit-lock-prefix=no kilit önekini her zamanki gibi varsayılan olarak kodlar.

-mfence-as-lock-add=no
-mfence-as-lock-add=yes

Bu seçenekler, derleyicinin lfence, mfence ve sfence'ı nasıl kodlaması gerektiğini kontrol eder. -mfence-as-lock-add=yes, lfence, mfence ve sfence'ı 64 bit modunda lock addl $0x0, (%rsp) ve 32 bit modunda lock addl $0x0, (%esp) olarak kodlar. -mfence-as-lock-add=no lfence, mfence ve sfence'i her zamanki gibi varsayılan olarak kodlar.

-mrelax-relocations=no
-mrelax-relocations=yes

Bu seçenekler, derleyicinin 32-bit modunda R_386_GOT32X veya 64-bit modunda R_X86_64_GOTPCRELX ve R_X86_64_REX_GOTPCRELX olmak üzere rahat yer değiştirmeler oluşturmasını kontrol eder. -mrelax-relocations=yes rahat yer değiştirmeler üretecektir. -mrelax-relocations=no, rahat yer değiştirmeler oluşturmaz. Varsayılan, --enable-x86-relax-relocations yapılandırma seçeneğiyle kontrol edilebilir.

-malign-branch-boundary=NUM

Bu seçenek, derleyicinin dalları segment ön ekleri veya NOP ile nasıl hizalaması gerektiğini kontrol eder. NUM 2'nin katı olmalıdır. 0 veya 16'dan küçük olmamalıdır. Dallar NUM bayt sınırı içinde hizalanacaktır. Varsayılan olan -malign-branch-boundary=0, dalları hizalamaz.

-malign-branch=TYPE[+TYPE...]

Bu seçenek, hizalanacak dal türlerini belirtir. TYPE, koşullu sıçramaları hizalayan jcc, kaynaşmış koşullu atlamaları hizalayan birleştirilmiş, koşulsuz atlamaları hizalayan jmp, çağrıları hizalayan call, retleri hizalayan ret, dolaylı atlamaları ve çağrıları hizalayan dolaylı kombinasyonudur. Varsayılan -malign-branch=jcc+fused+jmp şeklindedir.

-malign-branch-prefix-size=NUM

Bu seçenek, dalları hizalamak için bir talimattaki maksimum önek sayısını belirtir. NUM, 0 ile 5 arasında olmalıdır. Varsayılan NUM, 5'tir.

-mbranches-within-32B-boundaries

Bu seçenek, koşullu atlamaları, birleştirilmiş koşullu atlamaları ve koşulsuz atlamaları, bir talimatta 5 adede kadar segment ön ekiyle 32 baytlık sınır içinde hizalar. -malign-branch-boundary=32 -malign-branch=jcc+fused+jmp -malign-branch-prefix-size=5 ile eşdeğerdir. Varsayılan, dalları hizalamaz.

-mlfence-after-load=no
-mlfence-after-load=yes

Bu seçenekler, derleyicinin yük komutlarından sonra bir çit oluşturup oluşturmayacağını kontrol eder. -mlfence-after-load=yes lfence oluşturur. -mlfence-after-load=no, varsayılan değer olan lfence'ı oluşturmaz.

-mlfence-before-indirect-branch=none
-mlfence-before-indirect-branch=all
-mlfence-before-indirect-branch=register
-mlfence-before-indirect-branch=memory

Bu seçenekler, derleyicinin dolaylı yakın dal yönergelerinden önce çit oluşturup oluşturmayacağını denetler. -mlfence-before-indirect-branch=all, kayıt yoluyla dolaylı yakın daldan önce lfence üretecek ve bellek yoluyla dolaylı yakın daldan önce bir uyarı verecektir. Ayrıca, açık bir -mlfence-before-ret= olmadığında dolaylı olarak -mlfence-before-ret=shl değerini ayarlar. -mlfence-before-indirect-branch=register, kayıt yoluyla dolaylı yakın şubeden önce lfence oluşturur. -mlfence-before-indirect-branch=memory, bellek yoluyla dolaylı yakın dallanmadan önce bir uyarı verecektir. -mlfence-before-indirect-branch=none, varsayılan değer olan lfence oluşturmaz veya uyarı vermez. Lfence, dal hedef kaydı yüklendikten sonra üretileceğinden, -mlfence-after-load=yes ile kayıt yoluyla dolaylı yakın daldan önce oluşturulmayacağına dikkat edin.

-mlfence-before-ret=none
-mlfence-before-ret=shl
-mlfence-before-ret=or
-mlfence-before-ret=yes
-mlfence-before-ret=not

Bu seçenekler, derleyicinin ret'ten önce bir koruma oluşturup oluşturmayacağını kontrol eder. -mlfence-before-ret=veya, lfence ile oluşturma veya talimat oluşturur. -mlfence-before-ret=shl/yes, lfence ile shl talimatı üretecek. -mlfence-before-ret=not, lfence ile talimat oluşturmaz. -mlfence-before-ret=none, varsayılan değer olan lfence'ı oluşturmaz.

-mx86-used-note=no
-mx86-used-note=yes

Bu seçenekler, derleyicinin GNU_PROPERTY_X86_ISA_1_USED ve GNU_PROPERTY_X86_FEATURE_2_USED GNU özellik notları oluşturup oluşturmayacağını kontrol eder. Varsayılan, --enable-x86-used-note yapılandırma seçeneğiyle kontrol edilebilir.

-mevexrcig=rne
-mevexrcig=rd
-mevexrcig=ru
-mevexrcig=rz

Bu seçenekler, derleyicinin yalnızca SAE'ye yönelik EVEX yönergelerini nasıl kodlaması gerektiğini denetler. -mevexrcig=rne, EVEX komutunun RC bitlerini varsayılan değer olan 00 ile kodlar. -mevexrcig=rd, -mevexrcig=ru ve -mevexrcig=rz SAE'ye özel EVEX komutlarını sırasıyla 01, 10 ve 11 RC bitleriyle kodlar.

-mamd64
-mintel64

Bu seçenek, derleyicinin 64 bit modunda yalnızca AMD64 veya Intel64 ISA'yı kabul etmesi gerektiğini belirtir. Varsayılan, ortak, yalnızca Intel64 ve AMD64 ISA'ları kabul etmektir.

-O0 | -O | -O1 | -O2 | -Os

Daha küçük talimat boyutuyla talimat kodlamasını optimize edin. -O ve -O1 64-bit yazmaç yükleme yönergelerini 64-bit anında olarak kodlar 32-bit yazmaç yükleme yönergelerini 31-bit veya 32-bit anında olarak kodlar, 64-bit yazmaç temizleme talimatlarını 32-bit yazmaç temizleme yönergeleriyle kodlama, 256-bit/512-bit VEX/EVEX vektör yazmaç temizleme yönergelerini 128-bit VEX vektör yazmaç temizleme yönergeleriyle kodlama, en 128-bit/256-bit EVEX vektör yazmaç yükleme/depolama komutlarını VEX vektör yazmaç yükleme/saklama yönergeleriyle kodlayın ve 128-bit/256-bit EVEX paketli tamsayı mantıksal yönergelerini 128-bit/256-bit VEX paketli tamsayı mantıksal ile kodlayın. -O2, -O1 optimizasyonunu içerir ve ayrıca 256-bit/512-bit EVEX vektör kaydı temizleme talimatlarını 128-bit EVEX vektör kaydı temizleme talimatları ile kodlar. 64-bit modunda, değişmeli kaynak işlenenlere sahip VEX kodlu talimatların, 3 bayt yerine 2 bayt VEX ön ek formunun kullanılmasına izin vermesi durumunda, kaynak işlenenleri de değiştirilir. Aynı (kayıt) işleneni iki kez belirtilen OR'nin yanı sıra AND'nin belirli biçimleri de TEST olarak değiştirilecektir. -Os, -O2 optimizasyonunu içerir ve anında ile 16-bit, 32-bit ve 64-bit kayıt testlerini anında ile 8-bit kayıt testi olarak kodlar. -O0 bu optimizasyonu kapatır.

Aşağıdaki seçenekler, Ubicom IP2K serisi için yapılandırıldığında kullanılabilir.

-mip2022ext

Genişletilmiş IP2022 yönergelerine izin verildiğini belirtir.

-mip2022

İzin verilen yönergeleri yalnızca temel IP2022 yönergeleriyle sınırlayan varsayılan davranışı geri yükler.

Aşağıdaki seçenekler, Renesas M32C ve M16C işlemciler için yapılandırıldığında kullanılabilir.

-m32c

M32C talimatlarını birleştirin.

-m16c

M16C yönergelerini birleştirin (varsayılan).

-relax

Bağlantı süresi gevşemeleri için desteği etkinleştirin.

-h-tick-hex

0x00 stiline ek olarak H'00 stili onaltılık sabitleri destekler.

Aşağıdaki seçenekler, Renesas M32R (eski adıyla Mitsubishi M32R) serisi için yapılandırıldığı zaman mevcuttur.

--m32rx

M32R ailesindeki hangi işlemcinin hedef olduğunu belirtin. Varsayılan normalde M32R'dir, ancak bu seçenek onu M32RX olarak değiştirir.

--warn-explicit-parallel-conflicts or --Wp

Şüpheli paralel yapılarla karşılaşıldığında uyarı mesajları üretin.

--no-warn-explicit-parallel-conflicts or --Wnp

Şüpheli paralel yapılarla karşılaşıldığında uyarı mesajları üretmeyin.

Aşağıdaki seçenekler, Motorola 68000 serisi için ayarlandığında kullanılabilir.

-l

Tanımsız sembollere yapılan başvuruları iki yerine bir kelimeye kısaltın.

-m68000 | -m68008 | -m68010 | -m68020 | -m68030
| -m68040 | -m68060 | -m68302 | -m68331 | -m68332
| -m68333 | -m68340 | -mcpu32 | -m5200

68000 ailesindeki hangi işlemcinin hedef olduğunu belirtin. Varsayılan normalde 68020'dir, ancak bu yapılandırma sırasında değiştirilebilir.

-m68881 | -m68882 | -mno-68881 | -mno-68882

Hedef makinede kayan nokta yardımcı işlemcisi var (veya yok). Varsayılan, 68020, 68030 ve cpu32 için bir yardımcı işlemci varsaymaktır. Temel 68000, 68881 ile uyumlu olmasa da, yardımcı işlemci komutlarının ana işlemciyle öykünmesi mümkün olduğundan, ikisinin bir kombinasyonu belirtilebilir.

-m68851 | -mno-68851

Hedef makinede bir bellek yönetim birimi yardımcı işlemcisi vardır (veya yoktur). Varsayılan, 68020 ve üstü için bir MMU varsaymaktır.

Aşağıdaki seçenekler, bir Altera Nios II işlemci için olduğu gibi yapılandırıldığında kullanılabilir.

-relax-section

Belirlenen aralık dışı dalları, mümkün olduğunda PC'ye bağlı jmp dizileriyle değiştirin. Üretilen kod dizileri, konumdan bağımsız kodda kullanım için uygundur, ancak dizilerin uzunluğundan dolayı genişletilmiş dal aralığında pratik bir sınır vardır. Bu seçenek varsayılan değerdir.

-relax-all

Menzil içinde olduğu belirlenemeyen dal yönergelerini ve tüm çağrı yönergelerini jmp ve callr dizileriyle (sırasıyla) değiştirin. Bu seçenek, hedef sembollere karşı mutlak yer değiştirmeler oluşturur ve konumdan bağımsız kod için uygun değildir.

-no-relax

Herhangi bir şubeyi veya aramayı değiştirmeyin.

-EB

Big-endian çıktısı oluşturun.

-EL

Little-endian çıktısı oluşturun. Bu varsayılandır.

-march=architecture

Bu seçenek, hedef mimariyi belirtir. Derleyici, hedef mimaride yürütülmeyecek bir yönergeyi birleştirme girişiminde bulunulursa bir hata mesajı verir. Aşağıdaki mimari adları tanınır: r1, r2. Varsayılan r1 şeklindedir.

Aşağıdaki seçenekler, bir PRU işlemcisi için yapılandırıldığı zaman kullanılabilir.

-mlink-relax

LD'nin, ifadenin üst 16 bitini kontrol ederek LDI32 yönergelerini optimize edeceğini varsayalım. Hepsi sıfırsa, LD, LDI32 komutunu tek bir LDI'ye kısaltır. Böyle bir durumda as, diff ifadeleri için DIFF yer değiştirmelerini çıkarır.

-mno-link-relax

LD'nin LDI32 komutlarını optimize etmeyeceğini varsayalım. Sonuç olarak, DIFF yer değiştirmeleri yayınlanmayacaktır.

-mno-warn-regname-label

Bir etiket adı bir kayıt adıyla eşleşirse uyarmayın. Genellikle montajcı programcıları bu uyarının verilmesini isteyecektir. C derleyicileri bunu kapatmak isteyebilir.

Aşağıdaki seçenekler, bir MIPS işlemcisi için yapılandırıldığı zaman kullanılabilir.

-G num

Bu seçenek, gp kaydıyla dolaylı olarak başvurulabilecek bir nesnenin en büyük boyutunu ayarlar. Yalnızca Ultrix çalıştıran bir DECstation gibi ECOFF biçimini kullanan hedefler için kabul edilir. Varsayılan değer 8'dir.

-EB

Büyük endian formatında çıktı oluşturun.

-EL

Küçük endian formatında çıktı oluşturun.

-mips1
-mips2
-mips3
-mips4
-mips5
-mips32
-mips32r2
-mips32r3
-mips32r5
-mips32r6
-mips64
-mips64r2
-mips64r3
-mips64r5
-mips64r6

Belirli bir MIPS Komut Seti Mimarisi düzeyi için kod oluşturun. -mips1, -march=r3000 için bir takma addır, -mips2, -march=r6000 için bir takma addır, -mips3, -march=r4000 için bir takma addır ve -mips4, -march=r80 için bir takma addır 00. -mips5, -mips32, -mips32r2, -mips32r3, -mips32r5, -mips32r6, -mips64, -mips64r2, -mips64r3, -mips64r5 ve -mips64r6, sırasıyla MIPS V, MIPS32, MIPS32 Sürüm 2, MIPS32 Sürüm 3, MIPS32 Sürüm 5, MIPS32 Sürüm 6, MIPS64, MIPS64 Sürüm 2, MIPS64 Sürüm 3, MIPS64 Sürüm 5 ve MIPS64 Sürüm 6 ISA işlemcilerine karşılık gelir.

-march=cpu

Belirli bir MIPS CPU için kod oluşturun.

-mtune=cpu

Belirli bir MIPS CPU için programlayın ve ayarlayın.

-mfix7000
-mno-fix7000

Aşağıdaki iki talimatta bir mfhi veya mflo komutunun hedef kaydının okunması gerçekleşirse, nop'ların eklenmesine neden olur.

-mfix-rm7000
-mno-fix-rm7000

Bir dmult veya dmultu komutunun ardından bir yükleme talimatı geliyorsa, nop'ların eklenmesine neden olur.

-mfix-r5900
-mno-fix-r5900

Önceki talimatı, altı veya daha az talimattan oluşan kısa bir döngünün sonuna yerleştirilmiş bir dal komutunun gecikme yuvasına programlamaya çalışmayın ve bunun yerine her zaman orada bir nop talimatı programlayın. Kısa döngü hatası, belirli koşullar altında, R5900 yongasındaki bir donanım hatası nedeniyle döngülerin yalnızca bir veya iki kez yürütülmesine neden olur.

-mdebug
-no-mdebug

Saplama stili hata ayıklama çıktısının standart ELF .stabs bölümleri yerine ECOFF stili .mdebug bölümüne gitmesine neden olun.

-mpdr
-mno-pdr

.pdr bölümlerinin oluşturulmasını kontrol edin.

-mgp32
-mfp32

Kayıt boyutları normalde ISA ve ABI'dan çıkarılır, ancak bu işaretler, belirli bir kayıt grubu grubunu her zaman 32 bit genişliğinde olarak ele almaya zorlar. -mgp32 genel amaçlı yazmaçların boyutunu, -mfp32 ise kayan noktalı yazmaçların boyutunu kontrol eder.

-mgp64
-mfp64

Kayıt boyutları normalde ISA ve ABI'dan çıkarılır, ancak bu bayraklar, belirli bir kayıt grubu grubunu her zaman 64 bit genişliğinde olarak ele almaya zorlar. -mgp64 genel amaçlı yazmaçların boyutunu, -mfp64 ise kayan noktalı yazmaçların boyutunu kontrol eder.

-mfpxx

Kayıt boyutları normalde ISA ve ABI'dan çıkarılır, ancak bu bayrağın -mabi=32 ile birlikte kullanılması, 32 veya 64 bit genişliğindeki kayan noktalı kayıtlarla doğru şekilde çalışacak bir ABI varyantını etkinleştirir.

-modd-spreg
-mno-odd-spreg

ISA tarafından desteklendiğinde, tek sayılı tek kesinlikli kayıtlarda kayan nokta işlemlerinin kullanımını etkinleştirin. -mfpxx, -mno-odd-spreg anlamına gelir, aksi takdirde varsayılan -modd-spreg olur.

-mips16
-no-mips16

MIPS 16 işlemcisi için kod oluşturun. Bu, derleme dosyasının başına .module mips16 koymakla eşdeğerdir. -no-mips16 bu seçeneği kapatır.

-mmips16e2
-mno-mips16e2

MIPS16 modunda MIPS16e2 yönergelerinin kullanımını etkinleştirin. Bu, derleme dosyasının başına .module mips16e2 koymakla eşdeğerdir. -mno-mips16e2 bu seçeneği kapatır.

-mmicromips
-mno-micromips

microMIPS işlemcisi için kod oluşturun. Bu, derleme dosyasının başına .module micromips koymakla eşdeğerdir. -mno-micromips bu seçeneği kapatır. Bu, derleme dosyasının başına .module nomicromips koymakla eşdeğerdir.

-msmartmips
-mno-smartmips

MIPS32 komut setine SmartMIPS uzantısını etkinleştirir. Bu, montaj dosyasının başına .module smartmips koymakla eşdeğerdir. -mno-smartmips bu seçeneği kapatır.

-mips3d
-no-mips3d

MIPS-3D Uygulamaya Özel Uzantı için kod oluşturun. Bu, montajcıya MIPS-3D talimatlarını kabul etmesini söyler. -no-mips3d bu seçeneği kapatır.

-mdmx
-no-mdmx

MDMX Uygulamaya Özel Uzantı için kod oluşturun. Bu, montajcıya MDMX talimatlarını kabul etmesini söyler. -no-mdmx bu seçeneği kapatır.

-mdsp
-mno-dsp

DSP Sürüm 1 Uygulamaya Özel Uzantı için kod oluşturun. Bu, montajcıya DSP Sürüm 1 talimatlarını kabul etmesini söyler. -mno-dsp bu seçeneği kapatır.

-mdspr2
-mno-dspr2

DSP Sürüm 2 Uygulamaya Özel Uzantı için kod oluşturun. Bu seçenek -mdsp anlamına gelir. Bu, montajcıya DSP Sürüm 2 talimatlarını kabul etmesini söyler. -mno-dspr2 bu seçeneği kapatır.

-mdspr3
-mno-dspr3

DSP Sürüm 3 Uygulamaya Özel Uzantı için kod oluşturun. Bu seçenek, -mdsp ve -mdspr2'yi ifade eder. Bu, montajcıya DSP Sürüm 3 talimatlarını kabul etmesini söyler. -mno-dspr3 bu seçeneği kapatır.

-mmsa
-mno-msa

MIPS SIMD Mimarisi Uzantısı için kod oluşturun. Bu, derleyiciye MSA yönergelerini kabul etmesini söyler. -mno-msa bu seçeneği kapatır.

-mxpa
-mno-xpa

MIPS Genişletilmiş Fiziksel Adres (XPA) Uzantısı için kod oluşturun. Bu, montajcıya DA yönergelerini kabul etmesini söyler. -mno-xpa bu seçeneği kapatır.

-mmt
-mno-mt

MT Uygulamasına Özel Uzantı için kod oluşturun. Bu, montajcıya MT talimatlarını kabul etmesini söyler. -mno-mt bu seçeneği kapatır.

-mmcu
-mno-mcu

MCU Uygulamasına Özel Uzantı için kod oluşturun. Bu, montajcıya MCU talimatlarını kabul etmesini söyler. -mno-mcu bu seçeneği kapatır.

-mcrc
-mno-crc

MIPS döngüsel artıklık denetimi (CRC) Uygulamaya Özgü Uzantı için kod oluşturun. Bu, montajcıya CRC talimatlarını kabul etmesini söyler. -mno-crc bu seçeneği kapatır.

-mginv
-mno-ginv

Global INValidate (GINV) Uygulamaya Özel Uzantı için kod oluşturun. Bu, montajcıya GINV talimatlarını kabul etmesini söyler. -mno-ginv bu seçeneği kapatır.

-mloongson-mmi
-mno-loongson-mmi

Loongson MultiMedia uzantıları Talimatları (MMI) Uygulamaya Özel Uzantı için kod oluşturun. Bu, montajcıya MMI talimatlarını kabul etmesini söyler. -mno-loongson-mmi bu seçeneği kapatır.

-mloongson-cam
-mno-loongson-cam

Loongson İçerik Adres Belleği (CAM) talimatları için kod oluşturun. Bu, montajcıya Loongson CAM talimatlarını kabul etmesini söyler. -mno-loongson-cam bu seçeneği kapatır.

-mloongson-ext
-mno-loongson-ext

Loongson EXTensions (EXT) talimatları için kod oluşturun. Bu, montajcıya Loongson EXT talimatlarını kabul etmesini söyler. -mno-loongson-ext bu seçeneği kapatır.

-mloongson-ext2
-mno-loongson-ext2

Loongson EXTensions R2 (EXT2) talimatları için kod oluşturun. Bu seçenek -mloongson-ext anlamına gelir. Bu, montajcıya Loongson EXT2 talimatlarını kabul etmesini söyler. -mno-loongson-ext2 bu seçeneği kapatır.

-minsn32
-mno-insn32

microMIPS işlemcisi için kod oluştururken yalnızca 32 bit yönerge kodlamaları kullanın. Bu seçenek, herhangi bir 16 bitlik talimatın kullanılmasını engeller. Bu, derleme dosyasının başına .set insn32 koymakla eşdeğerdir. -mno-insn32 bu seçeneği kapatır. Bu, derleme dosyasının başına .set noinsn32 koymakla eşdeğerdir. Varsayılan olarak -mno-insn32 seçilidir ve tüm talimatların kullanılmasına izin verir.

--construct-floats
--no-construct-floats

--no-construct-floats seçeneği, değerin iki yarısını çift genişlikli kaydı oluşturan iki tek genişlikli kayan nokta kaydına yükleyerek çift genişlikli kayan nokta sabitlerinin oluşturulmasını devre dışı bırakır. Varsayılan olarak --construct-floats seçilidir ve bu kayan nokta sabitlerinin oluşturulmasına izin verir.

--relax-branch
--no-relax-branch

--relax-branch seçeneği, menzil dışındaki dalların gevşetilmesini sağlar. Varsayılan olarak --no-relax-branch seçilidir ve aralık dışı dalların hata üretmesine neden olur.

-mignore-branch-isa
-mno-ignore-branch-isa

ISA modları arasındaki geçersiz geçişler için şube denetimlerini yoksayın. Dalların semantiği bir ISA modu anahtarı sağlamaz, bu nedenle çoğu durumda bir dalın kodlandığı ISA modu, dalın hedef etiketinin ISA modu ile aynı olmalıdır. Bu nedenle GAS, iki ISA modunun eşleştiğini şube düzeneğinde doğrulayan kontroller uygulamıştır. -mignore-branch-isa bu kontrolleri devre dışı bırakır. Varsayılan olarak -mno-ignore-branch-isa seçilidir ve ISA modları arasında geçiş gerektiren herhangi bir geçersiz dalın hata oluşturmasına neden olur.

-mnan=encoding

IEEE 754-2008 (-mnan=2008) veya eski (-mnan=legacy) NaN kodlama biçimi arasında seçim yapın. İkincisi varsayılandır.

--emulation=name

Bu seçenek önceden, her ikisini de destekleyen IRIX 5 gibi hedeflerde ELF ve ECOFF çıkışı arasında geçiş yapmak için kullanılıyordu. MIPS ECOFF desteği GAS 2.24'te kaldırıldı, bu nedenle seçenek artık çok az amaca hizmet ediyor. Geriye dönük uyumluluk için korunur. Kullanılabilir yapılandırma adları şunlardır: mipself, mipslelf ve mipsbelf. Çıktı her zaman ELF olduğundan, mipself seçeneğinin artık bir etkisi yoktur. mipslelf ve mipsbelf sırasıyla küçük ve büyük endian çıkışını seçer, ancak bunun yerine artık -EL ve -EB tercih edilen seçeneklerdir.

-nocpp

as bu seçeneği yok sayar. Yerel araçlarla uyumluluk için kabul edilir.

--trap
--no-trap
--break
--no-break

Çarpma taşması ve sıfıra bölme ile nasıl başa çıkacağınızı kontrol edin. --trap veya --no-break (eş anlamlıdır) bir tuzak istisnası alır (ve yalnızca Komut Seti Mimarisi seviye 2 ve üzeri için çalışır); --break veya --no-trap (aynı zamanda eşanlamlılar ve varsayılan) bir mola istisnası alır.

-n

Bu seçenek kullanıldığında as, bir makrodan her nop talimatı oluşturduğunda bir uyarı verir.

Aşağıdaki seçenekler, bir LoongArch işlemci için yapılandırıldığı zaman kullanılabilir.

-fpic
-fPIC

Konumdan bağımsız kod oluştur

-fno-pic

Konumdan bağımsız kod oluşturma (varsayılan)

Aşağıdaki seçenekler, bir Meta işlemci için olduğu gibi yapılandırıldığında kullanılabilir.

"-mcpu=metac11"

Meta 1.1 için kod oluşturun.

"-mcpu=metac12"

Meta 1.2 için kod oluşturun.

"-mcpu=metac21"

Meta 2.1 için kod oluşturun.

"-mfpu=metac21"

Kodun Meta 2.1'in FPU donanımını kullanmasına izin verin.

MMIX'e özgü seçeneklerin belgeleri için bilgi sayfalarına bakın.

Aşağıdaki seçenekler, bir NDS32 işlemci için olduğu gibi yapılandırıldığında kullanılabilir.

"-O1"

Performans için optimize edin.

"-Os"

Alan için optimize edin.

"-EL"

Küçük endian veri çıktısı üretin.

"-EB"

Küçük endian veri çıktısı üretin.

"-mpic"

PIC oluştur.

"-mno-fp-as-gp-relax"

Bu dosya için fp-as-gp gevşemesini bastırın.

"-mb2bb-relax"

Arka arkaya şube optimizasyonu.

"-mno-all-relax"

Bu dosya için tüm gevşemeyi bastırın.

"-march=<arch name>"

v3, v3j, v3m, v3f, v3s, v2, v2j, v2f, v2s olabilecek mimarisi için bir araya getirin.

"-mbaseline=<baseline>"

v2, v3, v3m olabilecek temel için birleştirin.

"-mfpu-freg=FREG"

Bir FPU yapılandırması belirtin.

"0 8 SP / 4 DP registers"
"1 16 SP / 8 DP registers"
"2 32 SP / 16 DP registers"
"3 32 SP / 32 DP registers"
"-mabi=abi"

Bir abi sürümü belirtin v1, v2, v2fp, v2fpp olabilir.

"-m[no-]mac"

Çarpma yönergeleri desteğini Etkinleştirin/Devre Dışı Bırakın.

"-m[no-]div"

Bölme talimatları desteğini Etkinleştirin/Devre Dışı Bırakın.

"-m[no-]16bit-ext"

16 bit uzantıyı Etkinleştir/Devre Dışı Bırak

"-m[no-]dx-regs"

d0/d1 kayıtlarını Etkinleştir/Devre Dışı Bırak

"-m[no-]perf-ext"

Performans uzantısını Etkinleştir/Devre Dışı Bırak

"-m[no-]perf2-ext"

Performans uzantısı 2'yi Etkinleştir/Devre Dışı Bırak

"-m[no-]string-ext"

Dize uzantısını Etkinleştir/Devre Dışı Bırak

"-m[no-]reduced-regs"

Azaltılmış Kayıt yapılandırması (GPR16) seçeneğini Etkinleştir/Devre Dışı Bırak

"-m[no-]audio-isa-ext"

AUDIO ISA uzantısını Etkinleştir/Devre Dışı Bırak

"-m[no-]fpu-sp-ext"

FPU SP uzantısını Etkinleştir/Devre Dışı Bırak

"-m[no-]fpu-dp-ext"

FPU DP uzantısını Etkinleştir/Devre Dışı Bırak

"-m[no-]fpu-fma"

FPU kaynaşık-çarpma-ekleme yönergelerini Etkinleştirme/Devre Dışı Bırakma

"-mall-ext"

Tüm uzantıları ve talimat desteğini açın

Bir PowerPC işlemcisi için yapılandırıldığı zaman aşağıdaki seçenekler mevcuttur.

-a32

ELF32 veya XCOFF32 oluşturun.

-a64

ELF64 veya XCOFF64 oluşturun.

-K PIC

ELF bayraklarında EF_PPC_RELOCATABLE_LIB'yi ayarlayın.

-mpwrx | -mpwr2

POWER/2 (RIOS2) için kod oluşturun.

-mpwr

GÜÇ için kod oluştur (RIOS1)

-m601

PowerPC 601 için kod oluşturun.

-mppc, -mppc32, -m603, -m604

PowerPC 603/604 için kod oluşturun.

-m403, -m405

PowerPC 403/405 için kod oluşturun.

-m440

PowerPC 440 için kod oluşturun. BookE ve bazı 405 yönergeleri.

-m464

PowerPC 464 için kod oluşturun.

-m476

PowerPC 476 için kod oluşturun.

-m7400, -m7410, -m7450, -m7455

PowerPC 7400/7410/7450/7455 için kod oluşturun.

-m750cl, -mgekko, -mbroadway

PowerPC 750CL/Gekko/Broadway için kod oluşturun.

-m821, -m850, -m860

PowerPC 821/850/860 için kod oluşturun.

-mppc64, -m620

PowerPC 620/625/630 için kod oluşturun.

-me200z2, -me200z4

e200 varyantları, LSP ile e200z2, SPE ile e200z4 için kod oluşturun.

-me300

PowerPC e300 ailesi için kod oluşturun.

-me500, -me500x2

Motorola e500 çekirdek kompleksi için kod oluşturun.

-me500mc

Freescale e500mc çekirdek kompleksi için kod oluşturun.

-me500mc64

Freescale e500mc64 çekirdek kompleksi için kod oluşturun.

-me5500

Freescale e5500 çekirdek kompleksi için kod oluşturun.

-me6500

Freescale e6500 çekirdek kompleksi için kod oluşturun.

-mlsp

LSP talimatlarını etkinleştirin. (SPE ve SPE2'yi devre dışı bırakır.)

-mspe

Motorola SPE talimatları için kod oluşturun. (LSP'yi devre dışı bırakır.)

-mspe2

Freescale SPE2 talimatları için kod oluşturun. (LSP'yi devre dışı bırakır.)

-mtitan

AppliedMicro Titan çekirdek kompleksi için kod oluşturun.

-mppc64bridge

Bridge insns dahil olmak üzere PowerPC 64 için kod oluşturun.

-mbooke

32-bit BookE için kod oluşturun.

-ma2

A2 mimarisi için kod oluşturun.

-maltivec

AltiVec komutlarıyla işlemciler için kod oluşturun.

-mvle

Freescale PowerPC VLE talimatları için kod oluşturun.

-mvsx

Vector-Scalar (VSX) komutlarıyla işlemciler için kod oluşturun.

-mhtm

Donanım İşlem Belleği yönergeleriyle işlemciler için kod oluşturun.

-mpower4, -mpwr4

Power4 mimarisi için kod oluşturun.

-mpower5, -mpwr5, -mpwr5x

Power5 mimarisi için kod oluşturun.

-mpower6, -mpwr6

Power6 mimarisi için kod oluşturun.

-mpower7, -mpwr7

Power7 mimarisi için kod oluşturun.

-mpower8, -mpwr8

Power8 mimarisi için kod oluşturun.

-mpower9, -mpwr9

Power9 mimarisi için kod oluşturun.

-mpower10, -mpwr10

Power10 mimarisi için kod oluşturun.

-mfuture

'Geleceğin' mimarisi için kod oluşturun.

-mcell
-mcell

Cell Broadband Engine mimarisi için kod oluşturun.

-mcom

Kod Power/PowerPC ortak yönergeleri oluşturun.

-many

Herhangi bir mimari için kod oluşturun (PWR/PWRX/PPC).

-mregnames

Kayıtlar için sembolik adlara izin verin.

-mno-regnames

Kayıtlar için sembolik adlara izin vermeyin.

-mrelocatable

GCC'nin -mrelocatable seçeneği için destek.

-mrelocatable-lib

GCC'nin -mrelocatable-lib seçeneği için destek.

-memb

ELF bayraklarında PPC_EMB bitini ayarlayın.

-mlittle, -mlittle-endian, -le

Küçük bir endian makinesi için kod üretin.

-mbig, -mbig-endian, -be

Büyük bir endian makinesi için kod oluşturun.

-msolaris

Solaris için kod oluşturun.

-mno-solaris

Solaris için kod üretmeyin.

-nops=count

Bir hizalama yönergesi birden fazla count nops eklerse, nops'ların yürütülmesini atlamak için başa bir dal koyun.

Aşağıdaki seçenekler, bir RISC-V işlemci için yapılandırıldığı zaman kullanılabilir.

-fpic
-fPIC

Konumdan bağımsız kod oluştur

-fno-pic

Konumdan bağımsız kod oluşturma (varsayılan)

-march=ISA

ISA tarafından belirtildiği gibi temel isa'yı seçin. Örneğin -march=rv32ima. Bu seçenek ve mimari öznitelikleri ayarlanmamışsa, derleyici varsayılan yapılandırma ayarını --with-arch=ISA olarak kontrol edecektir.

-misa-spec=ISAspec

Varsayılan isa spec sürümünü seçin. ISA sürümü -march tarafından ayarlanmadıysa, o zaman birleştirici, sürümün seçilen varsayılan spesifikasyona göre ayarlanmasına yardımcı olur. Bu seçenek ayarlanmazsa, derleyici varsayılan yapılandırma ayarını --with-isa-spec=ISAspec olarak kontrol edecektir.

-mpriv-spec=PRIVspec

Ayrıcalıklı özellik sürümünü seçin. Seçilen spesifikasyona göre CSR'nin geçerli olup olmadığına karar verebiliriz. Bu seçenek ve ayrıcalık öznitelikleri ayarlanmamışsa, derleyici varsayılan yapılandırma ayarını --with-priv-spec=PRIVspec olarak kontrol edecektir.

-mabi=ABI

Ya ilp32 ya da lp64 olan ABI'yi seçer; isteğe bağlı olarak ardından tek kesinlikli, çift kesinlikli ya da dört kesinlikli kayan nokta çağırma kuralını belirtmek için f, d ya da q gelir ya da esnek değişken çağırma kuralını belirtmek için hiçbiri. Ayrıca, ilp32'nin ardından isteğe bağlı olarak, her zaman yumuşak kayan nokta olan RVE ABI'yi belirtmek için e gelebilir.

-mrelax

Sembol adreslerini gerçekleştirmek için gerekli talimatların sayısını azaltmak için bağlayıcı gevşetmelerinden yararlanın. (varsayılan)

-mno-relax

Bağlayıcı gevşemeleri yapmayın.

-march-attr

.attribute yönergeleri ayarlanmamışsa, riscv elf öznitelik bölümü için varsayılan içerikleri oluşturun. Bu bölüm, bir bağlayıcının veya çalışma zamanı yükleyicisinin uyumluluğu denetlemek için ihtiyaç duyduğu bilgileri kaydetmek için kullanılır. Bu bilgiler, ISA dizisini, yığın hizalama gereksinimini, hizalanmamış bellek erişimlerini ve ayrıcalıklı belirtimin ana, ikincil ve revizyon sürümünü içerir.

-mno-arch-attr

.attribute yönergeleri ayarlanmamışsa, varsayılan riscv elf öznitelik bölümünü oluşturmayın.

-mcsr-check

ISA'ya bağımlı CRS ve salt okunur CSR için CSR denetimini etkinleştirin. ISA'ya bağlı CSR, yalnızca belirli ISA ayarlandığında geçerlidir. Salt okunur CSR, CSR talimatları tarafından yazılamaz.

-mno-csr-check

CSR kontrolü yapmayın.

-mlittle-endian

Küçük bir endian makinesi için kod üretin.

-mbig-endian

Büyük bir endian makinesi için kod oluşturun.

RX'e özgü seçeneklerin belgeleri için bilgi sayfalarına bakın.

Aşağıdaki seçenekler, s390 işlemci ailesi için ayarlandığında kullanılabilir.

-m31
-m64

Kelime boyutunu 31/32 bit veya 64 bit olarak seçin.

-mesa
-mzarch

Kurumsal Sistem Mimarisi (esa) veya z/Mimari modu (zarch) olarak mimari modunu seçin.

-march=processor

Hangi s390 işlemci varyantının hedef olduğunu belirtin, g5 (veya arch3), g6, z900 (veya arch5), z990 (veya arch6), z9-109, z9-ec (veya arch7), z 10 (veya arch8), z196 (veya arch9), zEC12 (veya arch10), z13 (veya arch11), z14 (veya arch12), z15 (veya arch13) veya z16 (veya arch14).

-mregnames
-mno-regnames

Kayıtlar için sembolik adlara izin verin veya izin vermeyin.

-mwarn-areg-zero

Bir temel veya dizin kaydı için işlenen belirtildiğinde ancak sıfır olarak değerlendirildiğinde uyar.

Aşağıdaki seçenekler, bir TMS320C6000 işlemci için olduğu gibi yapılandırıldığında kullanılabilir.

-march=arch

(Yalnızca) arch mimarisinden gelen talimatları etkinleştirin. Varsayılan olarak, tüm talimatlara izin verilir. Aşağıdaki arch değerleri kabul edilir: c62x, c64x, c64x+, c67x, c67x+, c674x.

-mdsbt
-mno-dsbt

-mdsbt seçeneği, derleyicinin Tag_ABI_DSBT özniteliğini 1 değeriyle oluşturmasına neden olarak kodun DSBT adreslemesini kullandığını belirtir. Varsayılan olan -mno-dsbt seçeneği, etiketin 0 değerine sahip olmasına neden olarak kodun DSBT adresleme kullanmadığını gösterir. Farklı türdeki nesneler (DSBT ve DSBT olmayan) birbirine bağlanırsa, bağlayıcı bir uyarı verir.

-mpid=no
-mpid=near
-mpid=far

-mpid= seçeneği, derleyicinin, kod tarafından kullanılan veri adresleme biçimini belirten bir değerle Tag_ABI_PID özniteliğini oluşturmasına neden olur. -mpid=no, varsayılan değer, konuma bağlı veri adreslemeyi gösterir, -mpid=near, yakın DP adresleme kullanılarak GOT erişimleriyle konumdan bağımsız adreslemeyi belirtir ve -mpid=far, uzak DP adresleme kullanılarak GOT erişimleriyle konumdan bağımsız adreslemeyi belirtir. Bu seçeneğin farklı ayarlarıyla oluşturulan nesneler birbirine bağlanırsa, bağlayıcı bir uyarı verir.

-mpic
-mno-pic

-mpic seçeneği, derleyicinin Tag_ABI_PIC özniteliğini 1 değeriyle oluşturmasına neden olur; bu, kodun konumdan bağımsız kod adresleme kullandığını gösterir. Varsayılan -mno-pic seçeneği, etiketin, konuma bağlı kod adreslemeyi belirten 0 değerine sahip olmasına neden olur. Farklı türde (konuma bağlı ve konumdan bağımsız) nesneler birbirine bağlanırsa, bağlayıcı bir uyarı verir.

-mbig-endian
-mlittle-endian

Belirtilen endianness için kod oluşturun. Varsayılan, little-endian'dır.

Aşağıdaki seçenekler, bir TILE-Gx işlemci için yapılandırıldığında kullanılabilir.

-m32 | -m64

Kelime boyutunu 32 bit veya 64 bit olarak seçin.

-EB | -EL

Endianlığı big-endian (-EB) veya little-endian (-EL) olarak seçin.

Aşağıdaki seçenek, bir Visium işlemci için yapılandırıldığı zaman kullanılabilir.

-mtune=arch

Bu seçenek, hedef mimariyi belirtir. Hedef mimaride yürütülmeyecek bir yönergeyi birleştirme girişiminde bulunulursa, derleyici bir hata mesajı verir. Aşağıdaki adlar tanınır: mcm24 mcm gr5 gr6

Aşağıdaki seçenekler, bir Xtensa işlemci için ayarlandığında kullanılabilir.

--text-section-literals | --no-text-section-literals

Değişmez havuzların işlenmesini kontrol edin. Varsayılan, hazır değerleri çıktı dosyasında ayrı bölümlere yerleştiren --no-text-section-literals şeklindedir. Bu, hazır bilgi havuzunun bir veri RAM/ROM'una yerleştirilmesine izin verir. --text-section-literals ile değişmez değerler, referanslarına mümkün olduğunca yakın olmaları için metin bölümünün arasına serpiştirilir. Bu, sabit değerlerin aksi takdirde metin bölümündeki L32R yönergelerinin kapsamı dışında kalacağı büyük derleme dosyaları için gerekli olabilir. Değişmez değerler, .literal_position yönergelerini izleyen veya ENTRY yönergelerinden önceki havuzlarda gruplandırılır. Bu seçenekler yalnızca PC'ye bağlı L32R yönergeleri aracılığıyla başvurulan sabit değerleri etkiler; mutlak mod L32R yönergeleri için hazır değerler ayrı ayrı işlenir.

--auto-litpools | --no-auto-litpools

Değişmez havuzların işlenmesini kontrol edin. Varsayılan --no-auto-litpools şeklindedir ve --text-section-literals'in yokluğunda sabit değerleri çıkış dosyasında ayrı bölümlere yerleştirir. Bu, hazır bilgi havuzunun bir veri RAM/ROM'una yerleştirilmesine izin verir. --auto-litpools ile, hazır değerler, referanslarına mümkün olduğu kadar yakın tutmak için metin bölümüne serpiştirilir, açık .literal_position yönergeleri gerekli değildir. Bu, işlevin başındaki tek değişmez değer havuzuna, sonundaki L32R yönergeleriyle ulaşılamayan çok büyük işlevler için gerekli olabilir. Bu seçenekler yalnızca PC'ye bağlı L32R yönergeleri aracılığıyla başvurulan sabit değerleri etkiler; mutlak mod L32R yönergeleri için hazır değerler ayrı ayrı işlenir. --text-section-literals ile birlikte kullanıldığında, --auto-litpools öncelik kazanır.

--absolute-literals | --no-absolute-literals

Montajcıya L32R yönergelerinin mutlak mı yoksa PC'ye bağlı adresleme mi kullandığını belirtin. İşlemci mutlak adresleme seçeneğini içeriyorsa, varsayılan mutlak L32R yer değiştirmelerini kullanmaktır. Aksi takdirde, yalnızca PC'ye bağlı L32R yer değiştirmeleri kullanılabilir.

--target-align | --no-target-align

Kod boyutunda bir miktar masrafla şube cezalarını azaltmak için otomatik hizalamayı etkinleştirin veya devre dışı bırakın. Bu optimizasyon varsayılan olarak etkindir. Derleyicinin, sabit hizalama gereksinimleri olan LOOP gibi talimatları her zaman hizalayacağını unutmayın.

--longcalls | --no-longcalls

Daha geniş bir adres aralığında aramalara izin vermek için arama yönergelerinin dönüştürülmesini etkinleştirin veya devre dışı bırakın. Bu seçenek, çağrı hedefleri potansiyel olarak menzil dışında olduğunda kullanılmalıdır. Hem kod boyutunu hem de performansı düşürebilir, ancak bağlayıcı genellikle bir arama menzil içinde sona erdiğinde gereksiz ek yükü optimize edebilir. Varsayılan --no-longcalls şeklindedir.

--transform | --no-transform

Hem gevşeme hem de optimizasyon dahil olmak üzere Xtensa talimatlarının tüm birleştirici dönüşümlerini etkinleştirin veya devre dışı bırakın. Varsayılan --transform şeklindedir; --no-transform, yalnızca talimatların tam olarak derleme kaynağında belirtildiği gibi olması gereken nadir durumlarda kullanılmalıdır. --no-transform kullanılması, aralık dışı komut işlenenlerinin hata olmasına neden olur.

--rename-section oldname=newname

eski ad bölümünü yeni ad olarak yeniden adlandırın. Bu seçenek, birden çok bölümü yeniden adlandırmak için birden çok kez kullanılabilir.

--trampolines | --no-trampolines

Daha geniş bir adres aralığında atlamalara izin vermek için atlama yönergelerinin dönüşümünü etkinleştirin veya devre dışı bırakın. Bu seçenek, sıçrama hedefleri potansiyel olarak menzil dışında olduğunda kullanılmalıdır. Bu tür atlamaların olmadığı durumlarda bu seçenek, kod boyutunu veya performansını etkilemez. Varsayılan --trambolines şeklindedir.

--abi-windowed | --abi-call0

.xtensa.info bölümüne yazılan ABI etiketini seçin. ABI etiketi, derleme kodunun ABI'sini gösterir. Tutarsız ABI etiketleriyle nesne dosyalarını bağlama girişiminde bağlayıcı tarafından bir uyarı verilir. Varsayılan ABI, Xtensa çekirdek yapılandırması tarafından seçilir.

Aşağıdaki seçenekler, bir Z80 işlemci için yapılandırıldığı zaman kullanılabilir.

@chapter Z80 Bağımlı Özellikleri

Komut Satırı Seçenekleri

-march=CPU[-EXT...][+EXT...]

Bu seçenek, hedef işlemciyi belirtir. Hedef işlemcide yürütülmeyecek bir yönergeyi birleştirme girişiminde bulunulursa, derleyici bir hata mesajı verir. Şu işlemci adları tanınır: z80, z180, ez80, gbz80, z80n, r800. Temel talimat setine ek olarak, derleyiciye bazı genişletme anımsatıcılarını kabul etmesi söylenebilir. Örneğin, -march=z180+sli+infc, z180'i SLI komutları ve IN F,(C) ile genişletir. Aşağıdaki uzantılar şu anda desteklenmektedir: full (bilinen tüm talimatlar), adl (varsayılan olarak ADL CPU modu, yalnızca eZ80), sli (SLI, SLL veya SL1 olarak bilinen talimat), xyhl (indeks kayıtlarının yarısını içeren talimatlar: IXL, IXH, IYL, IYH), xdcb (RotOp (II+d),R ve BitOp n,(II+d),R gibi talimatlar), infc (komut IN F,(C) veya IN (C)), outc0 (komut ÇIKIŞ (C),0). Temel bir komut setini genişletmek yerine, - ile başlayan uzantı anımsatıcılarının ilgili işlevselliği iptal ettiğini unutmayın: -march=z80-full+xyhl önce tüm varsayılan uzantıları kaldırır ve yalnızca dizin kayıtları yarıları için destek ekler. Bu seçenek belirtilmezse -march=z80+xyhl+infc olduğu varsayılır.

-local-prefix=prefix

Belirtilen ön eke sahip tüm etiketleri yerel olarak işaretleyin. Ancak böyle bir etiket, kodda açıkça global olarak işaretlenebilir. Bu seçenek varsayılan yerel etiket ön eki .L'yi değiştirmez, sadece yenisini ekler.

-colonless

Kolonsuz etiketleri kabul edin. Satır başlangıcındaki tüm semboller etiket olarak değerlendirilir.

-sdcc

SDCC tarafından üretilen montajcı kodunu kabul edin.

-fp-s=FORMAT

Tek duyarlıklı kayan noktalı sayılar biçimi. Varsayılan: ieee754 (32 bit).

-fp-d=FORMAT

Çift duyarlıklı kayan noktalı sayılar biçimi. Varsayılan: ieee754 (64 bit).

AYRICA BAKINIZ

gcc (1), ld (1), and the Info entries for binutils and ld.

TELİF HAKKI

Telif hakkı (c) 1991-2023 Free Software Foundation, Inc.

GNU Özgür Belgeleme Lisansı, Sürüm 1.3 veya Özgür Yazılım Vakfı tarafından yayınlanan herhangi bir sonraki sürümün koşulları altında bu belgeyi kopyalamak, dağıtmak ve/veya değiştirmek için izin verilmektedir; Değişmeyen Bölümler, Ön Kapak Metinleri ve Arka Kapak Metinleri olmadan. Lisansın bir kopyası GNU Özgür Belgeleme Lisansı başlıklı bölümde yer almaktadır.