これはコマンドaarch64-linux-gnu-asであり、Ubuntu Online、Fedora Online、Windowsオンラインエミュレーター、MACOSオンラインエミュレーターなどの複数の無料オンラインワークステーションのXNUMXつを使用してOnWorks無料ホスティングプロバイダーで実行できます。
プログラム:
NAME
AS-ポータブルGNUアセンブラ。
SYNOPSIS
なので [-a[cdghlns] [=file]][- 代わりの] [-D]
[--compress-debug-sections] [--nocompress-debug-sections]
[--debug-prefix-map 古い=新製品]
[--defsym sym=ヴァル] [-f] [-g] [--gstabs]
[--gstabs +] [--gdwarf-2] [--gdwarf-セクション]
[ - 助けて] [-I DIR] [-J]
[-K] [-L] [--listing-lhs-width=NUM]
[--listing-lhs-width2=NUM] [--listing-rhs-width=NUM]
[--listing-cont-lines=NUM] [--keep-locals]
[-o オブジェクトファイル] [-R]
[-ハッシュサイズ=NUM] [--メモリのオーバーヘッドを減らす]
[- 統計]
[-v] [-バージョン] [- バージョン]
[-W] [- 暖かい] [-致命的-警告] [-w] [-x]
[-Z] [@FILE]
[--sectname-subst] [--size-check = [エラー|警告]]
[--ターゲットヘルプ] [ターゲットオプション]
[--|ファイル ...]
ターゲット AAArch64 オプション:
[-EB|-THE]
[-マビ=ABI]
ターゲット アルファ オプション:
[-mCPU]
[-mdebug | -no-mdebug]
[-交換 | -置換なし]
[-リラックス] [-g] [-Gサイズ]
[-F] [-32アドレス]
ターゲット ARC オプション:
[-mcpu =CPU]
[-mA6|-mARC600|-mARC601|-mA7|-mARC700|-mEM|-mHS]
[-mcode密度]
[-EB|-THE]
ターゲット ARM オプション:
[-mcpu=プロセッサ[+ ...]]
[-行進=建築[+ ...]]
[-mfpu=浮動小数点形式]
[-mfloat-abi=ABI]
[-めあび=版]
[-mthumb]
[-EB|-THE]
[-mapcs-32|-mapcs-26|-mapcs-フロート|
-mapcs-リエントラント]
[-mthumb-インターワーク] [-k]
ターゲット ブラックフィン オプション:
[-mcpu=プロセッサ[-シレビジョン]]
[-mfdpic]
[-mno-fdpic]
[-mnopic]
ターゲット CRIS オプション:
[-アンダースコア | -アンダースコアなし]
[--pic] [-N]
[--emulation = criself | --emulation = crisaout]
[--march = v0_v10 | --march = v10 | --march = v32 | --march = common_v10_v32]
ターゲット D10V オプション:
[-O]
ターゲット D30V オプション:
[-O|-n|-N]
ターゲット 悟り オプション:
[-メピファニー|-メピファニー16]
ターゲット H8 / 300 オプション:
[-h-tick-hex]
ターゲット i386 オプション:
[ - 32|--x32| - 64] [-n]
[-行進=CPU[+EXTENSION...]] [-ムチューン=CPU]
ターゲット i960 オプション:
[-ACA|-ACA_A|-ACB|-ACC|-別名|-AKB|
-AKC|-AMC]
[-b] [-リラックスしない]
ターゲット IA-64 オプション:
[-m定数-gp|-mauto-pic]
[-ミルプ32|-ミルプ64|-mlp64|-mp64]
[-マイル|mbe]
[-mtune = itanium1|-mtune = itanium2]
[-munwind-check =警告|-munwind-check = error]
[-mhint.b = ok|-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] p]
ターゲット M680X0 オプション:
[-l] [-m68000|-m68010|-m68020| ...]
ターゲット M68HC11 オプション:
[-m68hc11|-m68hc12|-m68hcs12|-mm9s12x|-mm9s12xg]
[-mshort|-ミリロング]
[-mshort-double|-mlong-double]
[--force-long-branchs] [-短い枝]
[--strict-direct-mode] [--print-insn-構文]
[--print-オペコード] [--生成例]
ターゲット MCコア オプション:
[-jsri2bsr] [-シフィルター] [-リラックス]
[-mcpu = [210 | 340]]
ターゲット Meta オプション:
[-mcpu =CPU] [-mfpu =CPU] [-mdsp =CPU] ターゲット マイクロブレイズ オプション:
ターゲット MIPS オプション:
[-nocpp] [-THE] [-EB] [-O[最適化 レベル]]
[-g[debug レベル]][-G NUM] [-KPIC] [-call_shared]
[-非共有] [-xgot [-mvxworks-pic]
[-マビ=ABI] [-32] [-n32] [-64] [-MFP32] [-mgp32]
[-MFP64] [-mgp64] [-mfpxx]
[-modd-spreg] [-mno-奇数-spreg]
[-行進=CPU] [-ムチューン=CPU] [-ミップス1] [-ミップス2]
[-ミップス3] [-ミップス4] [-ミップス5] [-ミップス32] [-mips32r2]
[-mips32r3] [-mips32r5] [-mips32r6] [-ミップス64] [-mips64r2]
[-mips64r3] [-mips64r5] [-mips64r6]
[-構築フロート] [-no-construct-floats]
[-mnan =エンコーディング]
[-トラップ] [-休憩なし] [-休憩] [-トラップなし]
[-ミップス16] [-no-mips16]
[-マイクロミップス] [-mno-micromips]
[-msmartmips] [-mno-スマートミップス]
[-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-fix7000]
[-mfix-rm7000] [-mno-fix-rm7000]
[-mfix-vr4120] [-mno-fix-vr4120]
[-mfix-vr4130] [-mno-fix-vr4130]
[-mdebug] [-no-mdebug]
[-mpdr] [-mno-pdr]
ターゲット ミミックス オプション:
[--固定特殊レジスタ名] [--globalize-シンボル]
[--gnu-構文] [- リラックス] [--事前定義されたシンボルなし]
[-拡張なし] [--no-merge-gregs] [-x]
[--linker-allocated-gregs]
ターゲット ニオス II オプション:
[-リラックス-すべて] [-リラックスセクション] [-リラックスしない]
[-EB] [-THE]
ターゲット NDS32 オプション:
[-THE] [-EB] [-O] [-オス] [-mcpu =CPU]
[-misa =ISA] [-mabi =ABI] [-mall-ext]
[-m [no-] 16ビット] [-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 =フレグ] [-mreduced-regs]
[-mfull-regs] [-m [no-] dx-regs] [-mpic] [-mno-リラックス]
[-mb2bb]
ターゲット PDP11 オプション:
[-mpic|-mno-pic] [-モール] [-mno-extensions]
[-m |-むの- ]
[-mCPU] [-m機械]
ターゲット ピコジャバ オプション:
[-mb|私に]
ターゲット PowerPC オプション:
[.A32|.A64]
[-mpwrx|-mpwr2|-mpwr|-m601|-mppc|-mppc32|-m603|-m604|-m403|-m405|
-m440|-m464|-m476|-m7400|-m7410|-m7450|-m7455|-m750cl|-mppc64|
-m620|-me500|-e500x2|-me500mc|-me500mc64|-me5500|-me6500|-mppc64ブリッジ|
-ブック|-mpower4|-mpwr4|-mpower5|-mpwr5|-mpwr5x|-mpower6|-mpwr6|
-mpower7|-mpwr7|-mpower8|-mpwr8|-mpower9|-mpwr9-ma2|
-mcell|-mspe|-mチタン|-me300|-mcom]
[-多くの] [-マルティベック|-mvsx|-mtm|-mvle]
[-mregnames|-mno-regnames]
[-m再配置可能|-mrelocatable-lib|-K PIC] [-メンブ]
[-少し|-mlittle-エンディアン|-LE|-mbig|-mbig-エンディアン|-で]
[-ムソラリス|-mno-ソラリス]
[-nops =カウント]
ターゲット RL78 オプション:
[-mg10]
[-m32ビットダブル|-m64ビットダブル]
ターゲット RX オプション:
[-mlittle-エンディアン|-mbig-エンディアン]
[-m32ビットダブル|-m64ビットダブル]
[-muse-従来のセクション名]
[-msmall-データ制限]
[-mpid]
[-mリラックス]
[-mint-register =数]
[-mgcc-アビ|-mrx-アビ]
ターゲット s390 オプション:
[-m31|-m64] [-メサ|-mzach] [-行進=CPU]
[-mregnames|-mno-regnames]
[-mwarn-areg-zero]
ターゲット スコア オプション:
[-EB][-THE][-FIXDD][-警告]
[-スコア5][-スコア5U][-スコア7][-スコア3]
[-march = score7][-march = score3]
[-USE_R1][-KPIC][-O0][-G NUM][-V]
ターゲット SPARC オプション:
[-Av6|-Av7|-Av8|-アスパークレット|-アスパラクライト
-Av8plus|-Av8plusa|-Av9|-Av9a]
[-xarch = v8plus|-xarch = v8plusa] [-バンプ]
[-32|-64]
ターゲット TIC54X オプション:
[-mcpu = 54 [123589]|-mcpu = 54 [56] lp] [-mfar-モード|-mf]
[-ファイルへのエラー |私に ]
ターゲット TIC6X オプション:
[-XNUMX月=アーチ] [-mbig-エンディアン|-mlittle-エンディアン]
[-mdsbt|-mno-dsbt] [-mpid = no|-mpid = near|-mpid = far]
[-mpic|-mno-pic]
ターゲット タイルGx オプション:
[-m32|-m64][-EB][-THE]
ターゲット ビジウム オプション:
[-mtune =アーチ]
ターゲット エクステンサ オプション:
[-[no-] text-section-literals] [-[no-] auto-litpools]
[-[no-]絶対リテラル]
[-[no-] target-align] [-[no-] longcalls]
[-[no-]変換]
[-名前の変更-セクション 古い名前=新しい名前]
[-[no-]トランポリン]
ターゲット Z80 オプション:
[-z80] [-r800]
[ -無視-文書化されていない-指示] [-ウヌード]
[ -無視-移植不可能-指示] [-Wnup]
[ -警告-文書化されていない-指示] [-ウド]
[ -警告-移植不可能-指示] [-ウープ]
[ -禁止-文書化されていない-指示] [-フッド]
[ -禁止-移植不可能-指示] [-フプ]
DESCRIPTION
GNU as 本当にアセンブラーの家族です。 GNUアセンブラを使用している(または使用したことがある)場合
あるアーキテクチャでは、別のアーキテクチャで使用すると、かなり類似した環境が見つかるはずです。
建築。 各バージョンには、オブジェクトファイルを含め、他のバージョンと多くの共通点があります。
フォーマット、ほとんどのアセンブラディレクティブ(しばしば呼ばれる 疑似操作)およびアセンブラ構文。
as 主に、GNUCコンパイラ「gcc」の出力をアセンブルして、
リンカー「ld」。 それにもかかわらず、私たちは作ろうとしました as すべてを正しく組み立てる
同じマシンの他のアセンブラがアセンブルします。 例外はすべて文書化されています
明示的に。 これは意味しません as 常に別のアセンブラと同じ構文を使用します
同じアーキテクチャ。 たとえば、680x0アセンブリの互換性のないバージョンがいくつかあります。
言語構文。
走るたびに as 正確にXNUMXつのソースプログラムをアセンブルします。 ソースプログラムが作成されます
XNUMXつ以上のファイルのアップ。 (標準入力もファイルです。)
あなたが与える as XNUMX個以上の入力ファイル名を持つコマンドライン。 入力ファイルは
読み取り(左のファイル名から右へ)。 次のコマンドライン引数(任意の位置)
入力ファイル名として特別な意味はありません。
あなたが与えるなら as からXNUMXつの入力ファイルを読み取ろうとするファイル名はありません as 標準
通常は端末である入力。 あなたはタイプしなければならないかもしれません CTL-D 伝える as ありません
組み立てるプログラムが増えました。
-- コマンドラインで標準の入力ファイルに明示的に名前を付ける必要がある場合。
ソースが空の場合、 as 小さな空のオブジェクトファイルを生成します。
as 警告とエラーメッセージを標準エラーファイル(通常は
ターミナル)。 これは、コンパイラの実行時には発生しないはずです。 as 自動的。 警告
そのように行われた仮定を報告する as 欠陥のあるプログラムを組み立て続ける可能性があります。 エラーレポート
組み立てを停止する重大な問題。
呼び出している場合 as GNU Cコンパイラを介して、 -わ 合格するオプション
アセンブラまでの引数。 アセンブラ引数はそれぞれから分離する必要があります
その他(および -わ)コンマで。 例えば:
gcc -c -g -O -Wa、-alh、-L file.c
これにより、XNUMXつのオプションがアセンブラに渡されます。 -アル (リストを標準出力に出力します
高レベルおよびアセンブリソース)および -L (ローカルシンボルをシンボルテーブルに保持します)。
通常、これを使用する必要はありません -わ 多くのコンパイラコマンドラインからのメカニズム
オプションは、コンパイラによって自動的にアセンブラに渡されます。 (GNUと呼ぶことができます
コンパイラドライバ -v それぞれに渡されるオプションを正確に確認するオプション
アセンブラを含むコンパイルパス。)
OPTIONS
@file
からコマンドラインオプションを読み取る file。 読み取られたオプションは、の代わりに挿入されます
オリジナル @file オプション。 場合 file 存在しないか、読み取ることができない場合、オプション
文字通りに扱われ、削除されません。
オプションで file 空白で区切られます。 空白文字が含まれる場合があります
オプション全体を一重引用符または二重引用符で囲むことにより、オプション内で。 どれでも
文字(バックスラッシュを含む)は、文字の前に付けることで含めることができます
バックスラッシュが含まれています。 NS file それ自体に追加の@が含まれる場合がありますfile オプション; どれか
このようなオプションは再帰的に処理されます。
-a [cdghlmns]
さまざまな方法のいずれかで、リストをオンにします。
-交流 誤った条件を省略します
-広告 デバッグディレクティブを省略します
-ag 渡されたバージョンやオプションなどの一般情報を含める
-あ 高レベルのソースを含める
〜 組み立てを含む
-午前 マクロ展開を含める
-an フォーム処理を省略します
-なので 記号を含める
=ファイル
リストファイルの名前を設定します
これらのオプションを組み合わせることができます。 たとえば、 -アルン なしのアセンブリリスト用
フォーム処理。 NS =ファイル オプションを使用する場合は、最後にする必要があります。 それ自体で、 -a
デフォルトは -アールズ.
- 代わりの
代替マクロモードで開始します。
--compress-debug-sections
ELFABIのSHF_COMPRESSEDでzlibを使用してDWARFデバッグセクションを圧縮します。 NS
結果のオブジェクトファイルは、古いリンカおよびオブジェクトファイルと互換性がない可能性があります
ユーティリティ。 圧縮によって特定のセクションが作成されるかどうかに注意してください より大きい それではありません
圧縮されています。
--compress-debug-sections = none
--compress-debug-sections = zlib
--compress-debug-sections = zlib-gnu
--compress-debug-sections = zlib-gabi
これらのオプションは、DWARFデバッグセクションの圧縮方法を制御します。
--compress-debug-sections = none に相当します --nocompress-debug-sections.
--compress-debug-sections = zlib と --compress-debug-sections = zlib-gabi 同等です
〜へ --compress-debug-sections. --compress-debug-sections = zlib-gnu DWARFを圧縮します
zlibを使用してセクションをデバッグします。 デバッグセクションの名前が次のように変更されます .zdebug.
圧縮によって特定のセクションが作成されるかどうかに注意してください より大きい それからそれは圧縮されません
名前が変更されました。
--nocompress-debug-sections
DWARFデバッグセクションを圧縮しないでください。 これは通常、すべてのターゲットのデフォルトです
x86 / x86_64を除きますが、configuretimeオプションを使用してこれをオーバーライドできます。
-D 無視されます。 このオプションは、他の呼び出しとのスクリプトの互換性のために受け入れられます
アセンブラ。
--debug-prefix-map 古い=新製品
ディレクトリ内のファイルを組み立てるとき 古い、それらを説明するデバッグ情報を記録します
〜のように 新製品 を代わりにお使いください。
--defsym sym=値
シンボルを定義する sym ようにするには 値 入力ファイルをアセンブルする前に。 値 である必要があります
整数定数。 Cのように、 0x XNUMX進値、および先頭を示します
0 XNUMX進値を示します。 シンボルの値は、ソース内でオーバーライドできます
「.set」疑似操作を使用してファイルを作成します。
-f 「高速」---空白とコメントの前処理をスキップします(ソースがコンパイラ出力であると想定します)。
-g
--gen-debug
いずれかのデバッグを使用して、各アセンブラソース行のデバッグ情報を生成します
ターゲットはフォーマットを優先します。 これは現在、STABS、ECOFF、または
DWARF2。
--gstabs
各アセンブラ行のスタブデバッグ情報を生成します。 これはデバッグに役立つ場合があります
デバッガーが処理できる場合は、アセンブラーコード。
--gstabs +
各アセンブラ行のスタブデバッグ情報を生成し、GNU拡張機能を使用します。
おそらくgdbだけが処理でき、それによって他のデバッガーがクラッシュしたり、拒否したりする可能性があります
あなたのプログラムを読んでください。 これは、アセンブラコードのデバッグに役立つ場合があります。 現在唯一のGNU
拡張子は、組み立て時の現在の作業ディレクトリの場所です。
--gdwarf-2
各アセンブラ行のDWARF2デバッグ情報を生成します。 これは役立つかもしれません
デバッガーがアセンブラーコードを処理できる場合は、アセンブラーコードをデバッグします。 注---このオプションは
すべてではなく、一部のターゲットでサポートされています。
--gdwarf-セクション
.debug_lineセクションを作成する代わりに、一連の.debug_lineを作成します。foo セクション
コラボレー foo 対応するコードセクションの名前です。 たとえば、コードセクション
呼ばれます .text.func 矮星の行番号情報がセクションに配置されます
呼ばれます .debug_line.text.func。 コードセクションが呼び出されたばかりの場合 .text 次にデバッグします
ラインセクションはまだちょうど呼ばれます .debug_line 接尾辞なし。
--size-check = error
--size-check =警告
無効なELF.sizeディレクティブに対してエラーまたは警告を発行します。
- 助けて
コマンドラインオプションの概要を出力して終了します。
--ターゲットヘルプ
すべてのターゲット固有のオプションの要約を印刷して終了します。
-I DIR
ディレクトリを追加 DIR 「.include」ディレクティブの検索リストに移動します。
-J 署名されたオーバーフローについて警告しないでください。
-K 長い変位に対して差分テーブルが変更された場合に警告を発行します。
-L
--keep-locals
(シンボルテーブルに)ローカルシンボルを保持します。 これらの記号は、システム固有で始まります
ローカルラベルプレフィックス、通常は .L ELFシステムの場合または L 従来のa.outシステム用。
--listing-lhs-width =数
アセンブラリストの出力データ列の最大幅を次のように設定します。
数.
--listing-lhs-width2 =数
の継続行の出力データ列の最大幅を単語で設定します
にリストするアセンブラ 数.
--listing-rhs-width =数
リストに表示される入力ソース行の最大幅を次のように設定します。 数
バイト
--listing-cont-lines =数
XNUMX行の入力に対してリストに印刷される最大行数をに設定します
数 + 1。
-o オブジェクトファイル
から出力されたオブジェクトファイルに名前を付けます as オブジェクトファイル.
-R データセクションをテキストセクションに折ります。
--hash-size =数
GASのハッシュテーブルのデフォルトサイズをに近い素数に設定します 数.
この値を増やすと、アセンブラが実行するのにかかる時間を短縮できます。
アセンブラのメモリ要件を増やすことを犠牲にして、そのタスク。
同様に、この値を減らすと、メモリ要件を減らすことができますが、
速度。
--メモリのオーバーヘッドを減らす
このオプションは、アセンブリの作成を犠牲にして、GASのメモリ要件を削減します
プロセスが遅くなります。 現在、このスイッチはの同義語です --hash-size = 4051、しかし
将来的には他の影響もあるかもしれません。
--sectname-subst
セクション名の置換シーケンスを尊重します。
- 統計
アセンブリで使用された最大スペース(バイト単位)と合計時間(秒単位)を出力します。
--ストリップローカル-絶対
発信シンボルテーブルからローカル絶対シンボルを削除します。
-v
-バージョン
印刷する as バージョン。
- バージョン
印刷する as バージョンと終了。
-W
-警告なし
警告メッセージを抑制します。
-致命的-警告
警告をエラーとして扱います。
- 暖かい
警告メッセージを抑制したり、エラーとして扱ったりしないでください。
-w 無視されます。
-x 無視されます。
-Z エラーが発生した後でもオブジェクトファイルを生成します。
-- | ファイル ...
標準入力、またはアセンブルするソースファイル。
次のオプションは、ARMの64ビットモード用に構成されている場合に使用できます。
アーキテクチャ(AArch64)。
-EB このオプションは、アセンブラによって生成された出力を次のようにマークする必要があることを指定します
ビッグエンディアンプロセッサ用にエンコードされています。
-THE このオプションは、アセンブラによって生成された出力を次のようにマークする必要があることを指定します
リトルエンディアンプロセッサ用にエンコードされています。
-mabi =ABI
ソースコードが使用するABIを指定します。 認識される引数は次のとおりです。 "ilp32"および
ELF64およびELF32形式で生成されるオブジェクトファイルを決定する「lp64」
それぞれ。 デフォルトは「lp64」です。
-mcpu =プロセッサ[+ ...]
このオプションは、ターゲットプロセッサを指定します。 アセンブラはエラーメッセージを発行します
ターゲットで実行されない命令をアセンブルしようとした場合
プロセッサ。 次のプロセッサ名が認識されます: "cortex-a35"、 "cortex-a53"、
「cortex-a57」、「cortex-a72」、「exynos-m1」、「qdf24xx」、「thunderx」、「xgene1」、「xgene2」。
アセンブラが有効な命令を受け入れることができるようにするために、特別な名前「all」を使用できます。
すべてのオプションの拡張機能を含む、サポートされているすべてのプロセッサ用。
基本的な命令セットに加えて、アセンブラは受け入れるように指示することができます。
プロセッサを拡張するさまざまな拡張ニーモニックを制限します。
特定のプロセッサの一部の実装に拡張子を付けることができる場合は、
これらの拡張機能は自動的に有効になります。 その結果、あなたは通常持っていないでしょう
追加の拡張子を指定します。
-XNUMX月=建築[+ ...]
このオプションは、ターゲットアーキテクチャを指定します。 アセンブラはエラーを発行します
で実行されない命令をアセンブルしようとした場合のメッセージ
ターゲットアーキテクチャ。 次のアーキテクチャ名が認識されます: "armv8-a"、
「armv8.1-a」および「armv8.2-a」。
両方の場合 -mcpu と -行進 が指定されている場合、アセンブラは次の設定を使用します -mcpu.
どちらも指定されていない場合、アセンブラはデフォルトで -mcpu = all.
アーキテクチャオプションは、同じ命令セット拡張で拡張できます
としてのオプション -mcpu オプション。 ようではない -mcpu、拡張機能は、によって常に有効になるとは限りません
デフォルト、
-mverbose-エラー
このオプションは、AArch64ガスの詳細なエラーメッセージを有効にします。 このオプションはによって有効になります
デフォルト。
-mno-冗長エラー
このオプションは、AArch64ガスの詳細なエラーメッセージを無効にします。
次のオプションは、Alphaプロセッサ用に構成されている場合に使用できます。
-mCPU
このオプションは、ターゲットプロセッサを指定します。 組み立てようとした場合
ターゲットプロセッサで実行されない命令の場合、アセンブラは次のいずれかを実行できます。
命令をマクロとして展開するか、エラーメッセージを発行します。 このオプションは
「.arch」ディレクティブと同等です。
次のプロセッサ名が認識されます:21064、 "21064a"、21066、21068、21164、
「21164a」、「21164pc」、21264、「21264a」、「21264b」、「ev4」、「ev5」、「lca45」、「ev5」、「ev56」、
「pca56」、「ev6」、「ev67」、「ev68」。 特別な名前「all」を使用して、
Alphaプロセッサに有効な命令を受け入れるアセンブラ。
「.arch」に関してOSF / 1の既存のプラクティスをサポートするため、および既存
内で練習 MILO (Linux ARCブートローダー)、番号付きプロセッサー名(例:
21064)プロセッサ固有のPALcode命令を有効にし、「electro-vlasic」
名前(「ev4」など)はそうではありません。
-mdebug
-no-mdebug
stabsディレクティブの「.mdebug」カプセル化の生成を有効または無効にします。
プロシージャ記述子。 デフォルトでは、「。mdebug」が自動的に有効になります。
最初のstabsディレクティブが表示されます。
-リラックス
このオプションは、すべての再配置を保存するのではなく、オブジェクトファイルに強制的に配置します
スペースを確保し、組み立て時にいくつかの再配置を解決します。 このオプションはそうではないことに注意してください
すべてのシンボルがオブジェクトファイルに伝播するわけではないため、すべてのシンボル演算をオブジェクトファイルに伝播します。
算術を表すことができます。 ただし、このオプションは特定の場合でも役立ちます
分野の様々なアプリケーションで使用されています。
-交換
-置換なし
集合とでの両方で、プロシージャ呼び出しの最適化を有効または無効にします
リンク時間。 これらのオプションはVMSターゲットでのみ使用可能であり、「-replace」は
ディフォルト。 『OpenVMS Linker Utility Manual』のセクション1.4.1を参照してください。
-g このオプションは、コンパイラーがデバッグ情報を生成するときに使用されます。 いつ gccの 使っています
mips-tファイル ECOFFのデバッグ情報を生成するには、ローカルラベルを渡す必要があります
オブジェクトファイルまで。 それ以外の場合、このオプションは効果がありません。
-Gサイズ
より大きいローカル共通シンボル サイズ は「.bss」に配置され、小さい記号は
「.sbss」に配置されます。
-F
-32アドレス
これらのオプションは、下位互換性のために無視されます。
次のオプションは、ARCプロセッサ用に構成されている場合に使用できます。
-mcpu =CPU
このオプションは、コアプロセッサバリアントを選択します。
-EB | -THE
ビッグエンディアン(-EB)またはリトルエンディアン(-EL)出力のいずれかを選択します。
-mcode密度
コード密度拡張命令を有効にします。
次のオプションは、ARMプロセッサファミリ用に構成されている場合に使用できます。
-mcpu =プロセッサ[+ ...]
ターゲットとなるARMプロセッサバリアントを指定します。
-XNUMX月=建築[+ ...]
ターゲットが使用するARMアーキテクチャバリアントを指定します。
-mfpu =浮動小数点形式
ターゲットとなる浮動小数点アーキテクチャーを選択します。
-mfloat-abi =ABI
使用している浮動小数点ABIを選択します。
-mthumb
Thumbのみの命令デコードを有効にします。
-mapcs-32 | -mapcs-26 | -mapcs-フロート | -mapcs-リエントラント
使用しているプロシージャ呼び出し規約を選択します。
-EB | -THE
ビッグエンディアン(-EB)またはリトルエンディアン(-EL)出力のいずれかを選択します。
-mthumb-インターワーク
ThumbコードとARMコード間のインターワーキングを使用してコードが生成されたことを指定します
心である。
-mccs
CodeComposerStudioアセンブリ構文互換モードをオンにします。
-k PICコードが生成されたことを指定します。
次のオプションは、Blackfinプロセッサ用に構成されている場合に使用できます。
家族。
-mcpu =プロセッサ[-シレビジョン]
このオプションは、ターゲットプロセッサを指定します。 オプション シレビジョン で使用されていません
アセンブラ。 これは、GCCが「-mcpu =」オプションを簡単に渡すことができるようにするためです。 NS
命令をアセンブルしようとすると、アセンブラはエラーメッセージを発行します
これはターゲットプロセッサでは実行されません。 次のプロセッサ名は次のとおりです。
認識:「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
FDPICABI用に組み立てます。
-mno-fdpic
-mnopic
-mfdpicを無効にします。
CRIS固有のオプションのドキュメントについては、情報ページを参照してください。
次のオプションは、D10Vプロセッサ用に構成されている場合に使用できます。
-O 命令を並列化して出力を最適化します。
次のオプションは、D30Vプロセッサ用に構成されている場合に使用できます。
-O 命令を並列化して出力を最適化します。
-n nopsが生成されたときに警告します。
-N 32ビットの乗算命令の後にnopが生成されたときに警告します。
以下のオプションは、Epiphanyプロセッサー用に構成されている場合に使用できます。
-メピファニー
32ビット命令と16ビット命令の両方が許可されることを指定します。 これがデフォルトです
行動。
-メピファニー16
許可される命令を16ビットセットのみに制限します。
次のオプションは、H8 / 300プロセッサ用に構成されている場合に使用できます。
@chapter H8 / 300依存機能
オプション
「as」のルネサスH8 / 300バージョンには、マシンに依存するオプションがXNUMXつあります。
-h-tick-hex
00x0スタイルに加えて、H'00スタイルのXNUMX進定数をサポートします。
-マッハ=名
H8300マシンバリアントを設定します。 次のマシン名が認識されます: "h8300h"、
「h8300hn」、「h8300s」、「h8300sn」、「h8300sx」、「h8300sxn」。
以下のオプションは、asがi386プロセッサ用に構成されている場合に使用できます。
- 32 | --x32 | - 64
ワードサイズを32ビットまたは64ビットから選択します。 - 32 Inteli386を意味します
アーキテクチャ、 --x32 と - 64 86ビットまたは64ビットのAMDx32-64アーキテクチャを意味します
それぞれワードサイズ。
これらのオプションは、ELFオブジェクトファイル形式でのみ使用可能であり、
必要なBFDサポートが含まれています(32ビットプラットフォームでは追加する必要があります
--enable-64-bit-bfdは、64ビットの使用を有効にし、x86-64をターゲットとして使用するように構成します
プラットホーム)。
-n デフォルトでは、x86 GASは、コード内での位置合わせに使用される複数のnop命令を置き換えます
leal 0(%esi、1)、%esiなどのマルチバイトnop命令を含むセクション。 このスイッチ
最適化を無効にします。
- 分ける
SVR4から派生したプラットフォームでは、キャラクター / コメント文字として扱われます。
式では使用できないことを意味します。 NS - 分ける オプションが変わります /
通常の文字。 これは無効になりません / 行の先頭で
コメント、または使用に影響を与える # コメントを始めてくれて。
-XNUMX月=CPU[+EXTENSION...]
このオプションは、ターゲットプロセッサを指定します。 アセンブラはエラーメッセージを発行します
ターゲットで実行されない命令をアセンブルしようとした場合
プロセッサ。 次のプロセッサ名が認識されます: "i8086"、 "i186"、 "i286"、
「i386」、「i486」、「i586」、「i686」、「pentium」、「pentiumpro」、「pentiumii」、「pentiumiii」、
「pentium4」、「prescott」、「nocona」、「core」、「core2」、「corei7」、「l1om」、「k1om」、「iamcu」、
「k6」、「k6_2」、「athlon」、「opteron」、「k8」、「amdfam10」、「bdver1」、「bdver2」、「bdver3」、
「bdver4」、「znver1」、「btver1」、「btver2」、「generic32」、「generic64」。
基本的な命令セットに加えて、アセンブラはさまざまなものを受け入れるように指示できます
拡張ニーモニック。 たとえば、「-march = i686 + sse4 + vmx」は拡張されます i686 sse4 と
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」。 基本を拡張するのではなく、注意してください
命令セット、「no」で始まる拡張ニーモニックは、それぞれを取り消します
機能性。
「.arch」ディレクティブが -行進、「。arch」ディレクティブは
先例。
-mtune =CPU
このオプションは、最適化するプロセッサを指定します。 と組み合わせて使用する場合
-行進 オプション、指定されたプロセッサの命令のみ -行進 オプションは
生成されます。
有効な CPU 値はのプロセッサリストと同じです -XNUMX月=CPU.
-msse2avx
このオプションは、アセンブラがSSE命令をVEXでエンコードする必要があることを指定します
接頭辞。
-msse-check =なし
-msse-check =警告
-msse-check =エラー
これらのオプションは、アセンブラがSSE命令をチェックする必要があるかどうかを制御します。
-msse-check =なし アセンブラがSSE命令をチェックしないようにします。
デフォルト。 -msse-check =警告 アセンブラがSSEに対して警告を発行するようにします
命令。 -msse-check =エラー アセンブラがSSEに対してエラーを発行するようになります
命令。
-mavxscalar =128
-mavxscalar =256
これらのオプションは、アセンブラがスカラーAVX命令をエンコードする方法を制御します。
-mavxscalar =128 128ビットのベクトル長でスカラーAVX命令をエンコードします。
デフォルトです。 -mavxscalar =256 256ビットのスカラーAVX命令をエンコードします
ベクトルの長さ。
-mevexlig =128
-mevexlig =256
-mevexlig =512
これらのオプションは、アセンブラが長さ無視(LIG)EVEXをエンコードする方法を制御します
指示に従ってください。 -mevexlig =128 LIGEVEX命令を128ビットベクトルでエンコードします
デフォルトの長さ。 -mevexlig =256 と -mevexlig =512 LIGEVEXをエンコードします
それぞれ256ビットと512ビットのベクトル長の命令。
-mevexwig =0
-mevexwig =1
これらのオプションは、アセンブラがw-ignored(WIG)EVEXをエンコードする方法を制御します
指示に従ってください。 -mevexwig =0 WIGEVEX命令をevex.w = 0でエンコードします。
デフォルト。 -mevexwig =1 evex.w = 1でWIGEVEX命令をエンコードします。
-mmnemonic =へ
-mmnemonic =インテル
このオプションは、一致する命令の命令ニーモニックを指定します。 NS
「.att_mnemonic」および「.intel_mnemonic」ディレクティブが優先されます。
-msyntax =へ
-msyntax =インテル
このオプションは、命令を処理するときの命令構文を指定します。 NS
「.att_syntax」および「.intel_syntax」ディレクティブが優先されます。
-mnaked-reg
このオプションは、レジスタが % プレフィックス。 「.att_syntax」と
「.intel_syntax」ディレクティブが優先されます。
-madd-bnd-プレフィックス
このオプションは、アセンブラにBNDプレフィックスをすべてのブランチに追加するように強制します。
プレフィックスがソースコードで明示的に指定されていません。
-mno-共有
ELFターゲットでは、アセンブラは通常、非PLT再配置を最適化します。
デフォルトの可視性で定義された非弱グローバル分岐ターゲット。 NS -mshared オプション
アセンブラに、共有ライブラリに入る可能性のあるコードを生成するように指示します。
デフォルトの可視性を持つ弱いグローバル分岐ターゲットはプリエンプションできます。 結果として
コードは少し大きいです。 このオプションは、ブランチの処理にのみ影響します
指示に従ってください。
-mbig-obj
x86-64 PE / COFFターゲットでは、このオプションはビッグオブジェクトファイル形式の使用を強制します。
32768以上のセクションを許可します。
-momit-lock-prefix =いいえ
-momit-lock-prefix =はい
これらのオプションは、アセンブラがロックプレフィックスをエンコードする方法を制御します。 このオプションは
ロックプレフィックスで失敗するプロセッサの回避策として意図されています。 このオプションはできます
シングルコア、シングルスレッドコンピュータでのみ安全に使用してください -momit-lock-prefix =はい
すべてのロックプレフィックスが省略されます。 -momit-lock-prefix =いいえ 通常どおりロックプレフィックスをエンコードします。
これがデフォルトです。
-mrelax-relocations =いいえ
-mrelax-relocations =はい
これらのオプションは、アセンブラがリラックス再配置を生成するかどうかを制御します。
386ビットモードのR_32_GOT32X、またはR_X86_64_GOTPCRELXとR_X86_64_REX_GOTPCRELX
64ビットモード。 -mrelax-relocations =はい リラックスした再配置を生成します。
-mrelax-relocations =いいえ リラックス再配置は生成されません。 デフォルトは
構成オプションによって制御されます --enable-x86-relax-relocations.
-mevexrcig =RNE
-mevexrcig =rd
-mevexrcig =ru
-mevexrcig =rz
これらのオプションは、アセンブラがSAEのみのEVEX命令をエンコードする方法を制御します。
-mevexrcig =RNE EVEX命令のRCビットをデフォルトの00でエンコードします。
-mevexrcig =rd, -mevexrcig =ru と -mevexrcig =rz SAEのみのEVEX命令をエンコードします
それぞれ01、10、11RCビット。
-mamd64
-ミンテル64
このオプションは、アセンブラがAMD64またはIntel64ISAのみを受け入れるように指定します。
64ビットモード。 デフォルトでは、両方を受け入れます。
次のオプションは、Intel80960プロセッサ用に構成されている場合に使用できます。
-ACA | -ACA_A | -ACB | -ACC | -別名 | -AKB | -AKC | -AMC
960アーキテクチャのどのバリアントがターゲットであるかを指定します。
-b 取得したブランチに関する統計を収集するコードを追加します。
-リラックスしない
長い変位の場合、比較と分岐の命令を変更しないでください。 エラーの場合
必要。
次のオプションは、UbicomIP2Kシリーズ用に構成されている場合に使用できます。
-mip2022ext
拡張IP2022命令が許可されることを指定します。
-mip2022
デフォルトの動作を復元します。これにより、許可される命令が
基本的なIP2022のもの。
以下のオプションは、ルネサスM32CおよびM16C用に構成されている場合に使用できます。
プロセッサ。
-m32c
M32C命令を組み立てます。
-m16c
M16C命令をアセンブルします(デフォルト)。
-リラックス
リンク時の緩和のサポートを有効にします。
-h-tick-hex
00x0スタイルに加えて、H'00スタイルのXNUMX進定数をサポートします。
以下のオプションは、ルネサスM32R(以前のバージョン)用に構成されている場合に使用できます。
三菱M32R)シリーズ。
--m32rx
M32Rファミリのどのプロセッサがターゲットであるかを指定します。 デフォルトは通常
M32Rですが、このオプションはM32RXに変更します。
--warn-明示的な並列競合 or --Wp
疑わしい並列構造が検出された場合に警告メッセージを生成します。
--no-warn-明示的な並列競合 or --Wnp
疑わしい並列構造が検出されたときに警告メッセージを生成しないでください。
次のオプションは、Motorola68000シリーズ用に構成されている場合に使用できます。
-l 未定義の記号への参照をXNUMXつではなくXNUMXつの単語に短縮します。
-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との互換性がないため、XNUMXつの組み合わせを指定できます。
メインプロセッサでコプロセッサ命令のエミュレーションを行うことができます。
-m68851 | -mno-68851
ターゲットマシンには、メモリ管理ユニットコプロセッサがあります(またはありません)。 NS
デフォルトでは、68020以上のMMUを想定しています。
次のオプションは、Altera NiosIIプロセッサ用に構成されている場合に使用できます。
-リラックスセクション
識別された範囲外のブランチをPC相対の「jmp」シーケンスに置き換える
可能。 生成されたコードシーケンスは、位置に依存しない使用に適しています
コードですが、拡張されたブランチ範囲には実際的な制限があります。
シーケンスの長さ。 このオプションがデフォルトです。
-リラックス-すべて
範囲内にあると判断できない分岐命令とすべての呼び出し命令を置き換えます
「jmp」シーケンスと「callr」シーケンスを使用します(それぞれ)。 このオプションは絶対値を生成します
ターゲットシンボルに対する再配置であり、位置に依存しない場合は適切ではありません
コード。
-リラックスしない
ブランチやコールを置き換えないでください。
-EB ビッグエンディアン出力を生成します。
-THE リトルエンディアン出力を生成します。 これがデフォルトです。
-XNUMX月=建築
このオプションは、ターゲットアーキテクチャを指定します。 アセンブラはエラーメッセージを発行します
ターゲットで実行されない命令をアセンブルしようとした場合
建築。 次のアーキテクチャ名が認識されます:「r1」、「r2」。 NS
デフォルトは「r1」です。
次のオプションは、メタプロセッサ用に構成されている場合に使用できます。
"-mcpu = metac11"
Meta1.1のコードを生成します。
"-mcpu = metac12"
Meta1.2のコードを生成します。
"-mcpu = metac21"
Meta2.1のコードを生成します。
"-mfpu = metac21"
コードがMeta2.1のFPUハードウェアを使用できるようにします。
MMIX固有のオプションのドキュメントについては、情報ページを参照してください。
次のオプションは、asがNDS32プロセッサ用に構成されている場合に使用できます。
「-O1」
パフォーマンスを最適化します。
「-Os」
スペースを最適化します。
「-EL」
リトルエンディアンのデータ出力を生成します。
「-EB」
リトルエンディアンのデータ出力を生成します。
「-mpic」
PICを生成します。
「-mno-fp-as-gp-relax」
このファイルのfp-as-gp緩和を抑制します。
「-mb2bb-relax」
連続したブランチの最適化。
「-mno-all-relax」
このファイルのすべての緩和を抑制します。
"-march = 「」
建築のために組み立てるこれは、v3、v3j、v3m、v3f、v3s、v2、v2j、
v2f、v2s。
"-mbaseline = 「」
ベースライン用に組み立てるこれはv2、v3、v3mである可能性があります。
"-mfpu-freg =FREG」
FPU構成を指定します。
「0 SP / 8DPレジスタ」
「1 SP / 16DPレジスタ」
「2 SP / 32DPレジスタ」
「3 SP / 32DPレジスタ」
"-mabi =アビ」
abiバージョンを指定しますv1、v2、v2fp、v2fppの場合があります。
「-m [no-] mac」
乗算命令のサポートを有効/無効にします。
「-m [no-] div」
Divide命令のサポートを有効/無効にします。
「-m [no-] 16bit-ext」
16ビット拡張を有効/無効にします
「-m [no-] dx-regs」
d0 / d1レジスタの有効化/無効化
「-m [no-] perf-ext」
パフォーマンス拡張機能の有効化/無効化
"-m [no-] perf2-ext"
パフォーマンス拡張機能2の有効化/無効化
"-m [no-] string-ext"
文字列拡張子の有効化/無効化
「-m [no-] reduced-regs」
削減レジスタ構成(GPR16)オプションの有効化/無効化
"-m [no-] audio-isa-ext"
AUDIOISA拡張機能の有効化/無効化
「-m [no-] fpu-sp-ext」
FPUSP拡張機能の有効化/無効化
「-m [no-] fpu-dp-ext」
FPUDP拡張機能の有効化/無効化
「-m [no-] fpu-fma」
FPU融合乗算加算命令の有効化/無効化
「-mall-ext」
すべての拡張機能と手順のサポートをオンにする
以下のオプションは、PowerPCプロセッサー用に構成されている場合に使用できます。
.A32
ELF32またはXCOFF32を生成します。
.A64
ELF64またはXCOFF64を生成します。
-K PIC
ELFフラグにEF_PPC_RELOCATABLE_LIBを設定します。
-mpwrx | -mpwr2
POWER / 2(RIOS2)のコードを生成します。
-mpwr
POWER(RIOS1)のコードを生成する
-m601
PowerPC601のコードを生成します。
-mppc、 -mppc32、 -m603、 -m604
PowerPC603 / 604のコードを生成します。
-m403、 -m405
PowerPC403 / 405のコードを生成します。
-m440
PowerPC440のコードを生成します。BookEといくつかの405命令。
-m464
PowerPC464のコードを生成します。
-m476
PowerPC476のコードを生成します。
-m7400、 -m7410、 -m7450、 -m7455
PowerPC7400 / 7410/7450/7455のコードを生成します。
-m750cl
PowerPC750CLのコードを生成します。
-m821、 -m850、 -m860
PowerPC821 / 850/860のコードを生成します。
-mppc64、 -m620
PowerPC620 / 625/630のコードを生成します。
-me500、 -me500x2
Motorolae500コアコンプレックスのコードを生成します。
-me500mc
Freescalee500mcコアコンプレックスのコードを生成します。
-me500mc64
Freescalee500mc64コアコンプレックスのコードを生成します。
-me5500
Freescalee5500コアコンプレックスのコードを生成します。
-me6500
Freescalee6500コアコンプレックスのコードを生成します。
-mspe
MotorolaSPE命令のコードを生成します。
-mチタン
AppliedMicroTitanコアコンプレックスのコードを生成します。
-mppc64ブリッジ
ブリッジinsnsを含むPowerPC64のコードを生成します。
-ブック
32ビットBookEのコードを生成します。
-ma2
A2アーキテクチャのコードを生成します。
-me300
PowerPCe300ファミリのコードを生成します。
-マルティベック
AltiVec命令を使用してプロセッサのコードを生成します。
-mvle
Freescale PowerPCVLE命令のコードを生成します。
-mvsx
Vector-Scalar(VSX)命令を使用してプロセッサのコードを生成します。
-mtm
ハードウェアトランザクションメモリ命令を使用してプロセッサのコードを生成します。
-mpower4、 -mpwr4
Power4アーキテクチャーのコードを生成します。
-mpower5、 -mpwr5、 -mpwr5x
Power5アーキテクチャーのコードを生成します。
-mpower6、 -mpwr6
Power6アーキテクチャーのコードを生成します。
-mpower7、 -mpwr7
Power7アーキテクチャーのコードを生成します。
-mpower8、 -mpwr8
Power8アーキテクチャーのコードを生成します。
-mpower9、 -mpwr9
Power9アーキテクチャーのコードを生成します。
-mcell
-mcell
Cell BroadbandEngineアーキテクチャのコードを生成します。
-mcom
コードPower / PowerPCの一般的な命令を生成します。
-多くの
任意のアーキテクチャ(PWR / PWRX / PPC)のコードを生成します。
-mregnames
レジスタにシンボリック名を許可します。
-mno-regnames
レジスタにシンボリック名を許可しないでください。
-m再配置可能
GCCの-mrelocatableオプションのサポート。
-mrelocatable-lib
GCCの-mrelocatable-libオプションのサポート。
-メンブ
ELFフラグのPPC_EMBビットを設定します。
-mlittle、 -mlittle-エンディアン、 -LE
リトルエンディアンマシンのコードを生成します。
-mbig、 -mbig-エンディアン、 -で
ビッグエンディアンマシンのコードを生成します。
-ムソラリス
Solarisのコードを生成します。
-mno-ソラリス
Solarisのコードを生成しないでください。
-nops =カウント
アライメントディレクティブが以上を挿入する場合 カウント いいえ、最初にブランチを置きます
nopsの実行をスキップします。
RX固有のオプションのドキュメントについては、情報ページを参照してください。
次のオプションは、s390プロセッサファミリ用に構成されている場合に使用できます。
-m31
-m64
31/32ビットまたは64ビットのいずれかのワードサイズを選択します。
-メサ
-mzach
エンタープライズシステムアーキテクチャ(esa)または
z / Architectureモード(zarch)。
-XNUMX月=プロセッサ
どのs390プロセッサバリアントがターゲットであるかを指定します。 g6, g6, z900, z990, z9-109, z9-ec,
z10, z196, zEC12または z13.
-mregnames
-mno-regnames
レジスタのシンボリック名を許可または禁止します。
-mwarn-areg-zero
ベースレジスタまたはインデックスレジスタのオペランドが指定されているが、
ゼロと評価されます。
以下のオプションは、TMS320C6000プロセッサー用に構成されている場合に使用できます。
-XNUMX月=アーチ
アーキテクチャからの(のみ)命令を有効にする アーチ。 デフォルトでは、すべての命令は
許可されています。
次の値 アーチ 受け入れられます: "c62x"、 "c64x"、 "c64x +"、 "c67x"、 "c67x +"、
「c674x」。
-mdsbt
-mno-dsbt
この -mdsbt オプションを指定すると、アセンブラは「Tag_ABI_DSBT」属性を生成します。
値1は、コードがDSBTアドレス指定を使用していることを示します。 NS -mno-dsbt オプション、
デフォルトでは、タグの値は0になり、コードが値を持たないことを示します
DSBTアドレス指定を使用します。 異なるタイプのオブジェクトの場合、リンカは警告を発します
(DSBTと非DSBT)は相互にリンクされています。
-mpid = no
-mpid = near
-mpid = far
この -mpid = オプションを指定すると、アセンブラは「Tag_ABI_PID」属性を生成します。
コードで使用されるデータアドレス指定の形式を示す値。 -mpid = no、 デフォルト、
位置に依存するデータアドレス指定を示します。 -mpid = near 位置を示します-
ニアDPアドレッシングを使用したGOTアクセスによる独立したアドレッシング、および -mpid = far
遠方DPアドレッシングを使用したGOTアクセスによる位置に依存しないアドレッシングを示します。
このオプションの異なる設定でビルドされたオブジェクトの場合、リンカは警告を発します
一緒にリンクされています。
-mpic
-mno-pic
この -mpic オプションを指定すると、アセンブラは「Tag_ABI_PIC」属性を生成します。
値1は、コードが位置に依存しないコードアドレス指定を使用していることを示します。
デフォルトの「-mno-pic」オプションを使用すると、タグの値が0になり、
位置に依存するコードアドレス指定。 リンカは、次のオブジェクトの場合に警告を発します。
異なるタイプ(位置依存および位置非依存)が相互にリンクされています。
-mbig-エンディアン
-mlittle-エンディアン
指定されたエンディアンのコードを生成します。 デフォルトはリトルエンディアンです。
次のオプションは、TILE-Gxプロセッサ用に構成されている場合に使用できます。
-m32 | -m64
ワードサイズを32ビットまたは64ビットから選択します。
-EB | -THE
エンディアンを選択します。ビッグエンディアン(-EB)またはリトルエンディアン(-EL)のいずれかです。
次のオプションは、Visiumプロセッサ用に構成されている場合に使用できます。
-mtune =アーチ
このオプションは、ターゲットアーキテクチャを指定します。 組み立てようとした場合
ターゲットアーキテクチャで実行されない命令の場合、アセンブラは発行します
エラーメッセージ。
次の名前が認識されます: "mcm24" "mcm" "gr5" "gr6"
次のオプションは、Xtensaプロセッサ用に構成されている場合に使用できます。
--テキストセクションリテラル | --no-text-section-literals
リテラルプールの処理を制御します。 デフォルトは --no-text-section-literals,
これは、リテラルを出力ファイルの別々のセクションに配置します。 これにより、
データRAM / ROMに配置されるリテラルプール。 と --テキストセクションリテラル
リテラルは、できるだけ近くに保つためにテキストセクションに散在しています
それらの参照に可能です。 これは、大きなアセンブリファイルで必要になる場合があります。
そうでなければ、リテラルはテキストの「L32R」命令の範囲外になります
セクション。 リテラルは、「。literal_position」ディレクティブに従ってプールにグループ化されます。
前の「ENTRY」命令。 これらのオプションは、PCを介して参照されるリテラルにのみ影響します-
相対的な「L32R」命令。 アブソリュートモード「L32R」命令のリテラルは次のとおりです。
個別に取り扱われます。
--auto-litpools | --no-auto-litpools
リテラルプールの処理を制御します。 デフォルトは --no-auto-litpoolsこれは
の不在 --テキストセクションリテラル リテラルをの別々のセクションに配置します
出力ファイル。 これにより、リテラルプールをデータRAM / ROMに配置できます。 と
--auto-litpools、リテラルは維持するためにテキストセクションに散在しています
それらの参照に可能な限り近い、明示的な「.literal_position」ディレクティブ
必要ありません。 これは、単一の非常に大きな関数に必要になる場合があります
関数の先頭にあるリテラルプールは、「L32R」では到達できない可能性があります
最後に指示。 これらのオプションは、PCを介して参照されるリテラルにのみ影響します-
相対的な「L32R」命令。 アブソリュートモード「L32R」命令のリテラルは次のとおりです。
個別に取り扱われます。 一緒に使用した場合 --テキストセクションリテラル, --auto-litpools
優先されます。
-絶対リテラル | --絶対リテラルなし
「L32R」命令が絶対またはPC相対のどちらを使用するかをアセンブラに示します
アドレッシング。 プロセッサに絶対アドレス指定オプションが含まれている場合、デフォルトは
絶対的な「L32R」再配置を使用します。 それ以外の場合は、PC相対の「L32R」のみ
再配置を使用できます。
--target-align | --no-target-align
自動調整を有効または無効にして、費用をかけてブランチのペナルティを減らします。
コードサイズ。 この最適化はデフォルトで有効になっています。 アセンブラは
位置合わせの要件が固定されている「LOOP」のような命令を常に位置合わせします。
--ロングコール | --ロングコールなし
通話指示の変換を有効または無効にして、
アドレスの範囲。 このオプションは、コールターゲットが潜在的に可能性がある場合に使用する必要があります
範囲外です。 コードサイズとパフォーマンスの両方が低下する可能性がありますが、リンカは
通常、通話が範囲内に収まった場合は、不要なオーバーヘッドを最適化します。
デフォルトは --ロングコールなし.
- 変身 | -変換なし
両方を含む、Xtensa命令のすべてのアセンブラ変換を有効または無効にします
リラクゼーションと最適化。 デフォルトは - 変身; -変換なし する必要があります
命令がで指定されたとおりでなければならないまれなケースで使用されます
アセンブリソース。 使用する -変換なし 範囲外の命令オペランドが
エラーが。
-名前の変更-セクション 古い名前=新しい名前
名前を変更する 古い名前 セクションから 新しい名前。 このオプションは、次の目的で複数回使用できます。
複数のセクションの名前を変更します。
-トランポリン | -トランポリンなし
ジャンプ命令の変換を有効または無効にして、より大きなジャンプを許可します
アドレスの範囲。 このオプションは、ジャンプターゲットが潜在的に可能性がある場合に使用する必要があります
範囲外です。 このようなジャンプがない場合、このオプションはコードサイズに影響しません。
パフォーマンス。 デフォルトは -トランポリン.
次のオプションは、Z80ファミリプロセッサ用に構成されている場合に使用できます。
-z80
Z80プロセッサ用に組み立てます。
-r800
R800プロセッサ用に組み立てます。
-無視-文書化されていない-指示
-ウヌード
警告なしにR80でも機能する文書化されていないZ800命令を組み立てます。
-無視-移植不可能-指示
-Wnup
文書化されていないすべてのZ80命令を警告なしに組み立てます。
-警告-文書化されていない-指示
-ウド
R80でも機能する文書化されていないZ800命令に対して警告を発行します。
-警告-移植不可能-指示
-ウープ
R80では機能しない文書化されていないZ800命令に対して警告を発行します。
-禁止-文書化されていない-指示
-フッド
文書化されていないすべての指示をエラーとして扱います。
-禁止-移植不可能-指示
-フプ
R80で機能しない文書化されていないZ800命令をエラーとして扱います。
onworks.netサービスを使用してオンラインでaarch64-linux-gnu-を使用します