--sort=algorithm

このオプションは、出力イメージのセクションの順序を決定するために使用されるソートアルゴリズムを指定します。 ソートアルゴリズムは標準的な規則に従って、入力セクションを属性の昇順に配置します。

ソートアルゴリズムは、SORTTYPE キーワードを使用して個々の実行領域のスキャッタファイルでも指定できます。

Show/hide構文

--sort=algorithm

algorithm には、以下のいずれかを指定します。

境界整列

アライメント値の昇順で入力セクションをソートします。

AlignmentLexical

入力セクションをアライメント値の昇順でソートし、次に語句順にソートします。

AvgCallDepth

Thumb コードすべてを ARM コードより先にソートしてから、各セクションの近似平均コール深度に従って昇順にソートします。

長分岐ベニアの数を最小限にするには、このアルゴリズムを使用します。

Note

平均コール深度の近似値は入力セクションの順序によって異なります。 したがって、このソートアルゴリズムは、例えば RunningDepth を使用するよりも、入力セクションの順序に大きく依存します。

BreadthFirstCallTree

これは、コールツリーをリストに平板化する際に幅優先探索が使用される点を除き、CallTree アルゴリズムと似ています。

CallTree

リンカは、CallTree ソートが有効になっているすべての実行領域のコールツリーを、読み取り専用のコードセクションを含むリストにリスト化します。

このリストのセクションがその実行領域にコピーされた後、読み取り専用以外のすべてのコードセクションが語句順にソートされます。 このようにすると、相互を呼び出すセクションが近くに配置されます。

Note

このソートアルゴリズムは、RunningDepth または AvgCallDepth を使用する場合ほど、入力セクションの順序に依存しません。

Lexical

セクション名に従ってソートし、名前が同じ場合は入力順に並べます。

LexicalAlignment

入力セクションを語句順、次にセクション名でソートし、名前が同じ場合には入力順にソートします。

LexicalState

ARM コードの前に Thumb コードをソートし、その後、語句順にソートします。

List

使用可能なソートアルゴリズムをリスト表示します。 リンカはリストを表示した後で終了します。

ObjectCode

tiebreaker でコードセクションをソートします。 他のすべてのセクションは語句順にソートされます。 同じオブジェクトのすべてのセクションをメモリマップ内でグループ化しようとするため、これは --tiebreaker=cmdline とともに使用した場合に最も有用です。

RunningDepth

Thumb コードすべてを ARM コードより先にソートしてから、セクションの実行深度に従って昇順にソートします。 セクション S の実行深度は、S をび出すすべてのセクションの平均コール深度で、S を呼び出す回数で重みが付けられます。

長分岐ベニアの数を最小限にするには、このアルゴリズムを使用します。

Show/hideデフォルト

デフォルトのアルゴリズムは --sort=Lexical です。 大領域モードでは、デフォルトのアルゴリズムは --sort=AvgCallDepth です。

Show/hide関連項目

Copyright © 2010-2012 ARM. All rights reserved.ARM DUI 0493GJ
Non-ConfidentialID051612