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

バージョン 3.0


Table of Contents

序章
本書について
対象読者
本書の構成
表記規則
参考資料
フィードバック
RealView Compilation Tools に関するフィードバック
本書に関するフィードバック
1. はじめに
1.1. RVCT について
1.1.1. サンプルの使用方法
1.2. リンカおよびユーティリティについて
1.2.1. armlink
1.2.2. fromelf
1.2.3. armar
1.2.4. 従来のオブジェクトおよびライブラリとの互換性
2. リンカのコマンド構文
2.1. armlink について
2.1.1. armlink への入力
2.1.2. armlink からの出力
2.1.3. コマンドラインオプションの順序
2.1.4. 環境変数を使用したコマンドラインオプションの指定
2.1.5. リンカオプションの概要
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. via ファイルの使用
2.2.13. その他
2.2.14. 従来のオブジェクトとの互換性の制御
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. ベニアの生成
3.3.8. オーバーレイ実行領域へのベニアの再利用
3.3.9. 分岐のインライン化
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. 列の詳細
3.6.2. 行の詳細
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.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.4. 等価なスキャッタローディング記述を使用した単純イメージの生成
5.4.1. タイプ 1:1 つのロード領域と連続する出力領域
5.4.2. タイプ 2:1 つのロード領域と連続しない出力領域
5.4.3. タイプ 3:2 つのロード領域と連続しない出力領域
6. System V の共有ライブラリ
6.1. System V の共有ライブラリについて
6.1.1. 追加の詳細情報
6.2. SVr4 の共有ライブラリの使用
6.2.1. ARM Linux 実行可能ファイルの作成
6.2.2. シンボルへのアクセス
6.2.3. 例外テーブル
6.2.4. スレッドローカル記憶域
6.2.5. 動的リンカの使用
7. ライブラリの作成と使用
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.2. fromelf のコマンド構文
8.2.1. コマンドラインオプションの順序
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 が本書を提供した当事者との間で締結した契約の条項に基づいたライセンスの制限により異なります。

製品ステータス

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

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 版)
Copyright © 2002-2006 ARM Limited. All rights reserved. ARM DUI 0206GJ
Non-Confidential