RealView ® CompilationTools リンカ / ユーティリティガイド

バージョン 3.1


Table of Contents

序章
本書について
対象読者
本書の構成
表記規則
参考資料
フィードバック
RealView Compilation Tools に関するフィードバック
本書に関するフィードバック
1. はじめに
1.1. armlink
1.2. armar
1.3. fromelf
1.4. 従来のオブジェクトおよびライブラリとの互換性
2. リンカのコマンド構文
2.1. armlink について
2.1.1. armlink への入力
2.1.2. armlink からの出力
2.1.3. コマンドラインオプションの順序
2.1.4. 環境変数を使用したコマンドラインオプションの指定
2.2. armlink のコマンド構文
2.2.1. ヘルプと情報へのアクセス
2.2.2. プロジェクトテンプレートオプション
2.2.3. 入力ファイルリストの指定
2.2.4. リンカ動作の制御
2.2.5. 出力形式と出力ファイル名の指定
2.2.6. イメージのメモリマップ情報の指定
2.2.7. デバッグ情報の制御
2.2.8. イメージ内容の制御
2.2.9. ベニア生成の制御
2.2.10. バイトアドレシングモードの指定
2.2.11. イメージ関連の情報の生成
2.2.12. リンカの診断の制御
2.2.13. via ファイルの使用
2.2.14. その他
2.2.15. 従来のオブジェクトとの互換性の制御
3. 基本リンカ機能の使用
3.1. イメージ構造の指定
3.1.1. オブジェクトとイメージの構成要素
3.1.2. イメージのロードビューと実行ビュー
3.1.3. イメージのメモリマップの指定
3.1.4. イメージのエントリポイント
3.2. セクションの配置
3.2.1. 属性による入力セクションの順序付け
3.2.2. FIRST と LAST を使用したセクションの配置
3.2.3. セクションの整列
3.2.4. Thumb コードを含む実行領域の順序付け
3.3. 最適化と修正
3.3.1. 共通デバッグセクションの削除
3.3.2. 共通グループまたは共通セクションの削除
3.3.3. 未使用セクションの削除
3.3.4. 未使用関数の削除
3.3.5. リンカのフィードバック
3.3.6. RW データ圧縮
3.3.7. PI から絶対ベニアへ
3.3.8. ベニアの生成
3.3.9. オーバーレイ実行領域へのベニアの再利用
3.3.10. 分岐のインライン化
3.4. コマンドラインオプションを使用した単純イメージの作成
3.4.1. タイプ 1 : 1 つのロード領域と連続する実行領域
3.4.2. タイプ 2 : 1 つのロード領域と連続しない実行領域
3.4.3. タイプ 3 : 2 つのロード領域と連続しない実行領域
3.5. コマンドラインオプションを使用した C++ 例外の処理
3.6. イメージに関する情報の取得
3.6.1. イメージ関連の情報の使用
4. イメージのシンボルへのアクセス
4.1. ARM と Thumb の同義語
4.2. リンカ定義シンボルへのアクセス
4.2.1. 領域関連シンボル
4.2.2. セクション関連シンボル
4.2.3. リンカ定義シンボルのインポート
4.3. 別のイメージに含まれているシンボルへのアクセス
4.3.1. symdefs ファイルの作成
4.3.2. symdefs ファイルの読み出し
4.3.3. symdefs ファイルの形式
4.4. グローバルシンボルの非表示と名前の変更
4.4.1. ステアリングファイルの形式
4.4.2. ステアリングファイルのコマンド
4.5. $Super$$ と $Sub$$ を使用したシンボル定義のオーバーライド
4.6. シンボルのバージョン管理
4.6.1. バージョン
4.6.2. デフォルトのバージョン
4.6.3. バージョン管理シンボルの作成
5. 分散ロード記述ファイルの使用
5.1. 分散ロードについて
5.1.1. 分散ロード用に定義されるシンボル
5.1.2. 分散ロード記述ファイルを使用したスタックとヒープの指定
5.1.3. 分散ロードが使用される状況
5.1.4. 分散ロードのコマンドラインオプション
5.1.5. メモリマップが単純なイメージ
5.1.6. メモリマップが複雑なイメージ
5.2. 分散ロード記述ファイルの正式な構文
5.2.1. BNF 記法と構文
5.2.2. 分散ロード記述ファイルに使用される構文の概要
5.2.3. ロード領域の記述
5.2.4. 実行領域の記述
5.2.5. 入力セクションの記述
5.2.6. 複数のマッチングの解決
5.2.7. パス名の解決
5.2.8. 分散ロード記述ファイル内の式の評価
5.3. 領域アドレスとセクションアドレスの指定の例
5.3.1. 分散ロードの記述におけるベニア入力セクションの選択
5.3.2. ルート実行領域の作成
5.3.3. 領域を配置するアドレスの固定
5.3.4. オーバーレイを使用したセクションの配置
5.3.5. ルート領域へのセクションの割り当て
5.3.6. 空き領域の予約
5.3.7. ARM ライブラリの配置
5.3.8. ページ境界での領域の作成
5.3.9. 前処理ディレクティブの使用
5.4. 等価な分散ロード記述を使用した単純イメージの生成
5.4.1. タイプ 1 : 1 つのロード領域と連続する実行領域
5.4.2. タイプ 2 : 1 つのロード領域と連続しない実行領域
5.4.3. タイプ 3 : 2 つのロード領域と連続しない実行領域
6. BPABI および System V の共有ライブラリと実行可能ファイル
6.1. Base Platform ABI
6.1.1. 追加の詳細情報
6.2. BPABI の共有ライブラリと実行可能ファイルの使用
6.2.1. BPABI について
6.2.2. シンボルのインポートとエクスポート
6.2.3. シンボルの可視性
6.2.4. シンボルのバージョン管理
6.2.5. メモリマップ
6.3. SVr4 の共有ライブラリと実行可能ファイルの使用
6.3.1. ARM Linux 実行可能ファイルの作成
6.3.2. シンボルへのアクセス
6.3.3. 例外テーブル
6.3.4. スレッドローカル記憶域
6.3.5. 動的リンカの使用
7. ARM ライブラリアンの使用
7.1. ライブラリについて
7.2. ライブラリの検索、選択、スキャン
7.2.1. ARM ライブラリの検索
7.2.2. ユーザライブラリの検索
7.2.3. ライブラリのスキャン
7.3. ARM ライブラリアン
7.3.1. ライブラリアンのコマンドラインオプション
7.3.2. コマンドラインオプションの順序
7.3.3. armar の使用例
8. fromelf ユーティリティの使用
8.1. fromelf について
8.1.1. イメージの構造
8.1.2. コマンドラインオプションの順序
8.2. fromelf のコマンド構文
8.2.1. --base n
8.2.2. code_output_format
8.2.3. --continue_on_error
8.2.4. --decode_build_attributes
8.2.5. --debugonly
8.2.6. --diag_style arm|ide|gnu
8.2.7. --diag_suppress taglist
8.2.8. --dump_build_attributes
8.2.9. --expandarrays
8.2.10. --extract_build_attributes
8.2.11. --fieldoffsets
8.2.12. --help
8.2.13. input_file
8.2.14. memory_config
8.2.15. --no_debug
8.2.16. --no_linkview
8.2.17. --no_symbolversions
8.2.18. --output output_file
8.2.19. --privacy
8.2.20. Project template options
8.2.21. --select select_options
8.2.22. --show_cmdline
8.2.23. --strip option [, option ]
8.2.24. --text
8.2.25. --vsn
8.3. fromelf の使用例
8.3.1. プレーンバイナリファイルの生成
8.3.2. 逆アセンブル
8.3.3. アセンブリ言語の EQU としてフィールドオフセットの一覧を出力
8.3.4. スタティックデータのアドレス一覧を出力
8.3.5. デバッグ有効からデバッグ無効への変換

著作権

® または ™ のマークが付いた言葉およびロゴは、ARM Limited が所有する登録商標または商標です。本書に記載されている他の製品名は、各社の所有する商標です。

本書に記載されている情報の全部または一部、ならびに本書で紹介する製品は、著作権所有者の文書による事前の許可を得ない限り、転用・複製することを禁じます。

本書に記載されている製品は、今後も継続的に開発・改良の対象となります。 本書に含まれる製品およびその利用方法についての情報は、ARMが利用者の利益のために提供するものです。 したがって当社では、製品の市販性または利用の適切性を含め、暗示的・明示的に関係なく一切の責任を負いません。

本書は、本製品の利用者をサポートすることだけを目的としています。 本書に記載されている情報の使用、情報の誤りまたは省略、あるいは本製品の誤使用によって発生したいかなる損失・損傷についても、ARMLimited は一切責任を負いません。

ARM という用語が使用されている場合は、"ARM または必要に応じてその子会社"を指します。

機密保持ステータス

本書は非機密扱いであり、本書を使用、複製、および開示する権利は、ARMおよび ARM が本書を提供した当事者との間で締結した契約の条項に基づいたライセンスの制限により異なります。

製品ステータス

本書の情報は最終版であり、開発済み製品に対応しています。

Revision History
Revision A 2002年 8 月 第 1.2 版
Revision B 2003年 1 月 第 2.0 版
Revision C 2003年 9 月 RVDS v2.0 リリース(第 2.0.1 版)
Revision D 2004年 1 月 RVDS v2.1 リリース(第 2.1 版)
Revision E 2004年 12 月 RVDS v2.2 リリース(第 2.2 版)
Revision F 2005年 5 月 RVDS v2.2 SP1 リリース(第 2.2版)
Revision G 2006年 3 月 RVDS v3.0 リリース(第 3.0 版)
Revision H 2007年 3 月 RVDS v3.1 リリース(第 3.1 版)
Copyright © 2002-2007 ARM Limited. All rights reserved. ARM DUI 0206HJ
Non-Confidential