RealView® Compilation Tools リンカユーザガイド

バージョン 4.0


Table of Contents

1. 序章
本書について
対象読者
本書の構成
表記規則
参考資料
フィードバック
RealView Compilation Tools に関するフィードバック
本書に関するフィードバック
1. はじめに
1.1. ARM リンカについて
1.1.1. ARM リンカへの入力
1.1.2. ARM リンカからの出力
1.2. 従来のオブジェクトおよびライブラリとの互換性
2. ARM リンカの使い方
2.1. リンクモデル
2.1.1. ベアメタル
2.1.2. 部分リンク
2.1.3. BPABI と SysV の両方に共通する概念
2.1.4. BPABI
2.1.5. SysV
2.2. コマンドラインオプションの使用
2.2.1. ARM リンカの起動
2.2.2. コマンドラインオプションの順序
2.2.3. 環境変数を使用したコマンドラインオプションの指定
2.2.4. ファイルからのコマンドラインオプションの読み出し
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.4. フィードバック
3.4.1. 例
3.5. RW データ圧縮
3.5.1. コンプレッサの選択
3.5.2. 圧縮の適用方法
3.5.3. RW データ圧縮の使用
3.6. ベニア
3.6.1. ベニアの共有
3.6.2. ベニアのバリアント
3.6.3. PI から絶対ベニアへ
3.6.4. オーバーレイ実行領域へのベニアの再利用
3.7. インライン
3.7.1. インライン化に影響を与える要因
3.7.2. 末尾呼び出しセクションの処理
3.8. コマンドラインオプションを使用した単純イメージの作成
3.8.1. タイプ 1 : 1 つのロード領域と連続する実行領域
3.8.2. タイプ 2:1 つのロード領域と連続しない実行領域
3.8.3. タイプ 3:2 つのロード領域と連続しない実行領域
3.9. コマンドラインオプションを使用した C++ 例外の処理
3.10. イメージに関する情報の取得
3.10.1. イメージ関連の情報の使用
3.11. ライブラリの検索、選択、スキャン
3.11.1. ARM ライブラリの検索
3.11.2. ユーザライブラリの検索
3.11.3. ライブラリのスキャン
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.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. スキャッタロードの記述におけるベニア入力セクションの選択
5.2.2. ルート実行領域の作成
5.2.3. オーバーレイを使用したセクションの配置
5.2.4. ルート領域へのセクションの割り当て
5.2.5. 空き領域の予約
5.2.6. ARM ライブラリの配置
5.2.7. ページ境界での領域の作成
5.2.8. 前処理ディレクティブの使用
5.3. 等価なスキャッタロード記述を使用した単純イメージの生成
5.3.1. タイプ 1 : 1 つのロード領域と連続する実行領域
5.3.2. タイプ 2:1 つのロード領域と連続しない実行領域
5.3.3. タイプ 3:2 つのロード領域と連続しない実行領域

著作権

® または ™ のマークが付いた言葉およびロゴは、この著作権情報で別段に規定されている場合を除き、ARM Limited の EU またはその他の国における登録商標および商標です。 本書に記載されている他の製品名は、各社の所有する商標です。

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

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

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

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

機密保持ステータス

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

アクセス制限は、ARM 社内による分類です。

製品ステータス

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

Revision History
Revision A2002 年 8 月第 1.2 版
Revision B2003 年 1 月第 2.0 版
Revision C2003 年 9 月ARM® RealView® Developer Suite 向けリリース 2.0.1
Revision D2004 年 1 月RealView Developer Suite 向けリリース 2.1
Revision E2004 年 12 月RealView Developer Suite 向けリリース 2.2
Revision F2005 年 5 月RealView Development Suite 向けリリース 2.2 SP1
Revision G2006 年 3 月RealView Development Suite 向けリリース 3.0
Revision H2007 年 3 月RealView Development Suite 向けリリース 3.1
Revision I2008 年 9 月RealView Development Suite 向けリリース 4.0
Copyright © 2002-2008 ARM Limited. All rights reserved.ARM DUI 0206IJ
Non-Confidential