Oracle Solaris Studio 12.4 Man Pages

印刷ビューの終了

更新: January 2015
 
 

fbe(1)

名前

fbe - assembler

形式

SPARC

fbe [ -hwcap={1|0} ] [ -L ] [ -m ] [ -m32 ] [ -m64 ] [ -n ] [ -o outfile ] [ -ul ] [ -P ] [ -Dname ] [ -Dname=def ] [ -Ipath ] [ -Uname.... ] [ -Q[y|n] ] [ -s ] [ -S[a|b|c|l|A|B|C|L]] [ -V ] [ -xarch=v ] [ -xF ] [ -Y[m|c],path ] [ -YI,path ] filename...

x86

fbe [ -a32 ] [ -m ] [ -m32 ] [ -m64 ] [ -n ] [ -H ] [ -nH ] [ -o outfile ] [ -P ] [ -Dname ] [ -Dname=def ] [ -Ipath ] [ -Uname...] [ -KPIC ] [ -Q[y|n] ] [ -remove_empty_sect ] [ -s ] [ -S[a|b|c|l|A|B|C|L]] [ -V ] [ -xchip=v ] [ -xmodel=[a] ] [ -Y[m|d],path ] [ -YI,path ] filename... 

使用条件

使用条件

SPROlang

説明

fbe コマンドは、アセンブリ言語のソースファイルからオブジェクトファイルを生成します。

オプション

共通オプション

次のフラグは、SPARC と x86 の両方に共通しています。任意の順序で指定できます。

-Dname
-Dname=def

-P オプションが有効な場合、これらのオプションは、fbe コマンドでは解釈されずに cpp(1) プリプロセッサに渡されます。そうでない場合は無視されます。

-Ipath

-P オプションが有効な場合、このオプションは、fbe コマンドでは解釈されずに cpp(1) プリプロセッサに渡されます。そうでない場合は無視されます。

-i

fbe に対し、プリプロセッサからの行番号情報を無視するよう指示します。

-m

アセンブラへの入力時に m4(1) マクロプロセッサを実行します。

-m32
-m64

32 ビットまたは 64 ビット ELF 形式のオブジェクトコードを生成します。

-n

アセンブル実行時にすべての警告を抑制します。

-o outfile

アセンブリの出力を outfile に格納します。デフォルトでは、出力ファイル名は、入力ファイル名から .s 接尾辞 (もしあれば) を削除して、.o 接尾辞を付加することによって作成されます。

-P

アセンブル中のファイルに対して、C プリプロセッサ cpp(1) を実行します。このプリプロセッサは、入力ファイルを連結したものではなく、各入力ファイルに対して実行されます。このプリプロセッサによる出力結果はアセンブラに渡されます。

-Q[y|n]

y オプションを指定した場合、出力オブジェクトファイルのコメントセクションに「アセンブラバージョン」情報が生成されます。n オプションを指定すると、情報は抑制されます。

-S[a|b|c|l|A|B|C|L]

発行されたコードの逆アセンブリを標準出力に送ります。次の各文字を -S オプションに付けると、次の処理が実行されます。

a

アドレスによる逆アセンブル

b

.bof による逆アセンブル

c

注釈による逆アセンブル

l

行番号による逆アセンブル

大文字を指定すると、対応するオプションが無効になります。デフォルトは -Sc です。

-s

すべてのスタブを .stabs セクションに置きます。デフォルトでは、スタブは、静的リンカー ld(1) によって最終実行中に削除される stabs.excl セクションに置かれます。-s オプションを使用すると、.stab セクションが静的リンカーによって削除されないため、スタブは最終実行可能プログラム中に残ります。

-Uname

-P オプションが有効な場合、このオプションは、fbe コマンドでは解釈されずに cpp(1) プリプロセッサに渡されます。そうでない場合は無視されます。

-Ym,path

使用するm4のバージョンへのパスを指定します。

-YI,path

#include ヘッダーファイルを検索するパスを示します。

SPARC のオプション

-hwcap={1|0}

ハードウェア機能セクションの生成を有効 (1) にするか、抑制 (0) します。デフォルトでは、このセクションを生成します。

-L

領域を節約するために通常は破棄される一時ラベルを含む、すべてのシンボルを ELF シンボルテーブルに保存します。

-ul

すべての未定義シンボルをローカルとして扱います。

-Yc,path

使用するcppのバージョンへのパスを指定します。

-xarch=sparc

SPARC-V9 アーキテクチャーで定義されている命令をアセンブラが受け入れることができるようにします。生成されるオブジェクトコードは、-m32 では ELF32 形式、-m64 では ELF64 形式になります。これは、Oracle Solaris V8 システム (V8 プロセッサを持つマシン) では実行されません。これは、Oracle Solaris V8+ システムで実行されます。

-xarch=sparcvis

アセンブラが、SPARC-V9 アーキテクチャーで定義されている命令、および Visual Instruction Set (VIS) バージョン 1.0 の命令を受け入れることを可能にします。生成されるオブジェクトコードは、-m32 では V8+ ELF32 形式、-m64 では ELF64 形式になります。これは、V8 プロセッサを使用する Oracle Solaris システムでは実行されません。これは、V8+ プロセッサを使用する Oracle Solaris システムで実行されます。

-xarch=sparcvis2

アセンブラが、UltraSPARC-III 拡張機能を使用して、SPARC-V9 アーキテクチャーで定義された命令と、Visual Instruction Set (VIS) バージョン 2.0 の命令を受け入れることを可能にします。生成されるオブジェクトコードは、-m32 では V8+ ELF32 形式、-m64 では ELF64 形式になります。

-xarch=sparcvis3

SPARC-V9 ISA の SPARC VIS バージョン 3 (SPARC-V9 命令セットの命令) に加え、Visual Instruction Set (VIS) バージョン 1.0 を含む UltraSPARC 拡張機能、Visual Instruction Set (VIS) バージョン 2.0 を含む UltraSPARC-III 拡張機能、積和演算命令、および Visual Instruction Set (VIS) バージョン 3.0 で定義されている命令を受け入れます。

-xarch=sparcfmaf

SPARC-V9 ISA のsparcfmafバージョンに加え、Visual Instruction Set (VIS) バージョン 1.0 を含む UltraSPARC 拡張機能、Visual Instruction Set (VIS) バージョン 2.0 を含む UltraSPARC-III 拡張機能、および浮動小数点積和演算用 SPARC64 VI 拡張機能で定義されている命令を受け入れます。

-xarch=sparcima

SPARC-V9 ISA のsparcimaバージョン (SPARC-V9 命令セットの命令) に加え、Visual Instruction Set (VIS) バージョン 1.0 を含む UltraSPARC 拡張機能、Visual Instruction Set (VIS) バージョン 2.0 を含む UltraSPARC-III 拡張機能、浮動小数点積和演算用 SPARC64 VI 拡張機能、および整数積和演算用 SPARC64 VII 拡張機能で定義されている命令を受け入れます。

-xarch=sparc4

SPARC-V9 ISA の sparc4 バージョンで定義された命令 (SPARC-V9 命令セットの命令)、VIS 1.0 を含む拡張機能で定義された命令、VIS 2.0 を含む UltraSPARC-III 拡張機能で定義された命令、浮動小数点積和演算命令、VIS 3.0、および SPARC4 命令を受け入れます。

-xarch=sparc4b

コンパイラが、SPARC-V9 命令セットからの命令に加えて、VIS 1.0 を含む UltraSPARC 拡張機能、VIS 2.0 を含む UltraSPARC-III 拡張機能、浮動小数点の積和演算用の SPARC64 VI 拡張機能、整数の積和演算用の SPARC64 VII 拡張機能からの命令、および SPARC T4 拡張機能からの PAUSE および CBCOND 命令を使用できるようにします。

-xarch=sparc4c

コンパイラが、SPARC-V9 命令セットからの命令に加えて、VIS 1.0 を含む UltraSPARC 拡張機能、VIS 2.0 を含む UltraSPARC-III 拡張機能、浮動小数点の積和演算用の SPARC64 VI 拡張機能、整数の積和演算用の SPARC64 VII 拡張機能、VIS 3.0 の VIS3B サブセットと呼ばれる SPARC T3 拡張機能のサブセットからの命令、および SPARC T4 拡張機能からの PAUSE および CBCOND 命令を使用できるようにします。

-xarch=sparcace

SPARC-V9 ISA の sparcace バージョン (SPARC-V9 命令セットの命令) に加え、Visual Instruction Set (VIS) バージョン 1.0 を含む UltraSPARC 拡張機能、Visual Instruction Set (VIS) バージョン 2.0 を含む UltraSPARC-III 拡張機能、浮動小数点積和演算用 SPARC64 VI 拡張機能、整数積和演算用 SPARC64 VII 拡張機能で定義されている命令、および SPARCACE 命令を受け入れます。

-xarch=sparcaceplus

SPARC-V9 ISA の sparcaceplus バージョン (SPARC-V9 命令セットの命令) に加え、Visual Instruction Set (VIS) バージョン 1.0 を含む UltraSPARC 拡張機能、Visual Instruction Set (VIS) バージョン 2.0 を含む UltraSPARC-III 拡張機能、浮動小数点積和演算用 SPARC64 VI 拡張機能、整数積和演算用 SPARC64 VII 拡張機能で定義されている命令、SPARCACE 命令、および SPARCACEPLUS 命令を受け入れます。

-xarch=v9

-m64 -xarch=sparc と同等です。

-xarch=v9a

-m64 -xarch=sparcvis と同等です。

-xarch=v9b

-m64 -xarch=sparcvis2 と同等です。

-xF

Oracle Solaris Studio パフォーマンスアナライザで使用される追加情報を生成します。入力ファイルにスタブ (デバッグ指令) が含まれない場合、アセンブラは Oracle Solaris Studio アナライザに必要なデフォルトスタブを生成します。dbx(1) のマニュアルページも参照してください。

x86 のオプション

-a32

64 ビットモードでの 32 ビットアドレスを許可します。

-H

ハードウェア機能セクションを生成します。(デフォルト)

-nH

ハードウェア機能セクションの生成を抑制します。

-KPIC

絶対再配置を使用するアドレス参照を検査して、警告を発行します。

-remove_empty_sect

.bss.bssf.lbss.data.rodata.ldata.lrodata、および .picdata のセクションは、空である場合、削除されます。

-xchip=v

複数のエンコードから選択可能な場合、指定されたチップに適したものを選択します。特に、適切な no-op バイトシーケンスを使用してコード配置パディングを実行し、指定されたチップ用に定義されていない命令が使用される場合は警告します。

アセンブラは、次の認識される -xchip の命令セットを受け入れます.

generic

汎用 x86 命令セット

native

このホストプロセッサ

core2

Intel Core2 プロセッサ

nehalem

Intel Nehalem プロセッサ

opteron

AMD Opteron プロセッサ

penryn

Intel Penryn プロセッサ

pentium

Intel Pentium アーキテクチャー

pentium_pro

Intel Pentium Pro アーキテクチャー

pentium3

Intel Pentium 3 形式プロセッサ

pentium4

Intel Pentium 4 形式プロセッサ

sandybridge

Intel Sandy Bridge プロセッサ

westmere

Intel Westmere プロセッサ

amdfam10

AMD FAM10 プロセッサ

ivybridge

Intel Ivy Bridge プロセッサ

haswell

Intel Haswell プロセッサ

-xmodel=[small | medium| kernel]

-m64 の場合のみ、データアクセス用の R_X86_64_32S 再配置可能タイプを kernel の下に生成します。それ以外の場合は、R_X86_64_32 を small の下に生成します。SHN_AMD64_LCOMMON および .lbcomm のサポートが medium の下に追加されました。デフォルトは small です。

-Yd,path

使用するcm4defsのバージョンへのパスを指定します。

環境変数

TMPDIR

通常、fbe は、一時ファイルを /tmp ディレクトリ内に作成します。環境変数 TMPDIR を選択したディレクトリに設定することにより、別のディレクトリを指定できます。(TMPDIR が有効なディレクトリではない場合、fbe/tmp を使用します)。

ファイル

デフォルトでは、fbe/tmp に一時ファイルを作成します。

関連項目

cc (1) , cpp (1) , dbx (1) , ld (1) , m4 (1) , nm (1) , strip (1) , tmpnam (3C) , a.out (4) , attributes (5)

SPARC プラットフォームでは、-P フラグが出現すると cpp シンボル __sparc が設定され、-m32 フラグの場合には __sparcv8 が、-m64 フラグの場合には __sparcv9 がそれぞれ設定されます。

x86/x64 では、-P フラグが出現するとシンボル __i386 が設定され、-m64 フラグの場合には __amd64 が設定されます。

-m (m4(1) マクロプロセッサを起動) オプションを使用する場合、m4(1) はアセンブラシンボルのキーワードと、実際の m4(1) マクロのキーワードとを区別できないため、m4(1) のキーワードを入力ファイルのシンボル (変数、関数、ラベル) として使用することはできません。

適切なライブラリリンクを保証するため、可能な場合は常に、Oracle Solaris Studio C コンパイラ (cc(1)) などのコンパイルシステムインタフェースプログラム経由でアセンブラにアクセスしてください。

すべての未定義シンボルは、グローバルシンボルとして扱われます。