--largeregions--no_largeregions

このオプションは、大きい実行領域でセクションのソート順序を制御して、相互に呼び出すセクション間の距離を最小限にします。

Show/hide使用法

実行領域に、分岐命令の範囲を超えるコードが含まれている場合は、大領域モードに切り替わります。 このモードでは、各セクションの近似平均コール深度に従って昇順にソートされます。 また、ベニアの数を最小限に抑えるために、コードセクション間に分散ベニアが配置される場合もあります。

Note

大領域モードでは、入力に加えた変更が少しの場合でも、イメージのレイアウトが大幅に変わる可能性があります。

大領域モードを無効にし、語句順に戻すには、--no_largeregions を使用します。 セクションの配置が予測でき、イメージの比較が予測しやすくなります。 ただし、一部の分岐はターゲットに到達せず、リンク順が失敗する可能性があります。 その場合は、適切なスキャッタファイルを使用してコードとデータのセクションを明示的に配置するか、独自ベニアを記述する必要があります。

大領域のサポートは、以下を可能にします。

  • 平均コール深度ソート、--sort=AvgCallDepth

  • API ソート、--api

  • ベニア挿入、--veneerinject

以下のコマンドラインは同等です。

armlink --largeregions --no_api --no_veneerinject --sort=Lexical
armlink --no_largeregions

Show/hideデフォルト

デフォルトは --no_largeregions です。 少なくとも 1 つの実行領域に最小のインターセクション分岐を越えるコードが含まれている場合は、--largeregions に自動的に切り替えられます。 最小のインターセクション分岐は、領域内のコードとターゲットプロセッサによって異なります。

32Mb

ARM のみを含む実行領域。

16Mb

実行領域に Thumb が含まれており、32 ビット Thumb がサポートされています。

4Mb

実行領域に Thumb が含まれており、32 ビット Thumb がサポートされていません。

Show/hide関連項目

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