1.2 一般的なコンパイラツールチェインオプション

コンパイラツールチェインの各ツールで最もよく使用されるコマンドラインオプションの一覧を示します。

armclang の共通オプション

armclang コマンドラインオプションの詳細については、『armclang リファレンスガイド』を参照して下さい。
一般的に使用される armclang オプションは次のとおりです。

表 1-1 armclang の共通オプション

オプション 説明
-c リンク手順ではなく、コンパイル手順を実行します。
-x ソースファイルの言語を、-xc または -xc++ などのように指定します。
-std コンパイルする言語標準を -std=c90 などのように指定します。
--target=arch-vendor-os-env 選択した ARM アーキテクチャのコード生成を、--target=aarch64-arm-none-eabi または --target=armv8a-arm-none-eabi などのように有効にします。
-marm
コンパイラが --target=armv8a-arm-none-eabi -marm などのように、A32 命令セットをターゲットにすることを要求します。
-marm オプションは、--target=armv8a-arm-none-eabi などのように、AArch32 ターゲットでのみ有効です。コンパイラは -marm オプションを無視し、AArch64 ターゲットを使用して警告を生成します。
-mthumb
コンパイラが --target=armv8a-arm-none-eabi -mthumb などのように、A32 命令セットをターゲットにすることを要求します。
-mthumb オプションは、--target=armv8a-arm-none-eabi などのように、AArch32 ターゲットでのみ有効です。コンパイラは -mthumb オプションを無視し、AArch64 ターゲットを使用して警告を生成します。
-g DWARF デバッグテーブルを生成します。
-E プリプロセッサの手順のみを実行します。
-I 指定したディレクトリを、インクルードファイルの検索場所リストに追加します。
-o 出力ファイルの名前を指定します。
-Onum ソースファイルのコンパイル時に使用するパフォーマンス最適化レベルを指定します。
-Os コード速度に対するコードサイズのバランスを取ります。
-Oz コードサイズを最適化します。
-S コンパイラによって生成されたマシンコードの逆アセンブリを出力します。
-### コンパイラとリンカを呼び出すために使用されるオプションを示す診断出力が表示されます。コンパイル手順もリンク手順のいずれも実行されません。

armlink の共通オプション

armlink コマンドラインオプションの詳細については、『armlink ユーザガイド』を参照して下さい。
一般的に使用される armlink オプションは次のとおりです。

表 1-2 armlink の共通オプション

オプション 説明
--force_scanlib
コンパイラはオブジェクトをビルドするときに $$Lib$Request シンボルを生成しないので、armlink は自動的には ARM ライブラリとリンクせず、結果として次のメッセージが表示されます。
警告:L6665W:Lib$$Request$$armlib Lib$$Request$$cpplib が定義されていません。ARM ライブラリを検索しません。

エラー:L6411E:起動シンボル __main の定義と互換性のあるライブラリが存在しません。
armlink--force_scanlib を一緒に呼び出して、ARM ライブラリにリンクします。コンパイルとリンクを 1 回で行うと、コンパイラはこのオプションを自動的に armlink に渡します。
--cpu=name ターゲットのプロセッサを設定します。
--fpu=name ターゲットの浮動小数点ユニット(FPU)アーキテクチャを選択します。
--ro_base RO 出力セクションを含んでいる領域のロードアドレスと実行アドレスを指定のアドレスに設定します。
--rw_base RW 出力セクションを含んでいる領域の実行アドレスを指定のアドレスに設定します。
--scatter このオプションを使用すると、指定のファイルに含まれる分散ロード記述子を使用して、イメージのメモリマップが作成されます。
--split RO 出力セクションと RW 出力セクションを含んでいるデフォルトのロード領域を別々の領域に分割します。
--entry イメージ固有の初期エントリポイントを指定します。
--info リンカ処理に関する情報を表示します。例えば、--info=exceptions と指定すると、例外テーブルの生成と最適化に関する情報が表示されます。
--list=filename --info--map を含むオプションの診断出力を指定のファイルに転送します。
--map メモリマップを表示します。このマップには、イメージの各ロード領域、実行領域、および入力セクション(リンカによって生成された入力セクションを含む)のアドレスとサイズが含まれます。
--symbols リンク手順で使用される各ローカルシンボルとグローバルシンボル、およびその値を一覧表示します。

armar の共通オプション

armar コマンドラインオプションの詳細については、『armar ユーザガイド』を参照して下さい。
一般的に使用される armar オプションは次のとおりです。

表 1-3 armar の共通オプション

オプション 説明
--debug_symbols ライブラリにデバッグシンボルを含めます。
-a pos_name ライブラリ内の新しいファイルをファイル pos_name の後に配置します。
-b pos_name ライブラリ内の新しいファイルをファイル pos_name の前に配置します。
-d file_list 指定されたファイルをライブラリから削除します。
--sizes ライブラリ内のメンバごとに、CodeRO DataRW DataZI Data、および Debug のサイズが一覧表示されます。
-t ライブラリの内容を表すテーブルを出力します。

fromelf の共通オプション

fromelf コマンドラインオプションの詳細については、『fromelf ユーザガイド』を参照して下さい。
一般的に使用される fromelf オプションは次のとおりです。

表 1-4 fromelf の共通オプション

オプション 説明
--elf ELF 出力モードを選択します。
--text [options]
イメージ情報をテキスト形式で表示します。
オプションの options を使用して、イメージ情報に含める追加の情報を指定することができます。有効な options には、コードを逆アセンブルする -c や、シンボルとバージョン管理テーブルを出力するための -s などがあります。
--info 特定のトピックに関する情報を表示します。例えば、--info=totals では、イメージ内の各入力オブジェクトおよびライブラリメンバのコードRO データRW データZI データ、およびデバッグサイズの一覧が表示されます。

armasm の共通オプション

armasm コマンドラインオプションの詳細については、『armasm ユーザガイド』を参照して下さい。

レガシー ARM 構文アセンブリコードをアセンブルするには armasm のみを使用します。新しいアセンブリ ファイルには GNU 構文を使用し、armclang アセンブラを使用してアセンブルします。
一般的に使用される armasm オプションは次のとおりです。

表 1-5 armasm の共通オプション

オプション 説明
--cpu=name ターゲットのプロセッサを設定します。
-g DWARF デバッグテーブルを生成します。
--fpu=name ターゲットの浮動小数点ユニット(FPU)アーキテクチャを選択します。
-o 出力ファイルの名前を指定します。
非機密扱いPDF file icon PDF 版ARM DUI0773AJ
Copyright © 2014 ARM.All rights reserved.