ベニアの共有

複数のオブジェクトで同じベニアが作成される場合は、リンカによって、そのベニアのインスタンスが 1 つ作成されます。 そのベニアが、これらのオブジェクトで共有されます。

コマンドラインオプション --no_veneershare を使用すると、ベニアが共有されないように指定できます。 これにより、作成されたベニアセクションの所有権がベニアを作成したオブジェクに割り当てられるため、スキャッタファイル内の特定のオブジェクトからベニアを選択できます。以下に例を示します。

LR 0x8000
{
    ER_ROOT +0
    {
          object1.o(Veneer$$Code)
    }
}

ベニアを共有すると、所有するオブジェクトを割り当てることができなくなります。 --no_veneershare を使用すると、イメージのレイアウトの整合性を高めることができます。 ただし、リンカによって追加のベニアが生成されるため、このオプシンにはコードサイズが大幅に増加するという欠点があります。

Show/hide関連項目

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