非機密扱い | ![]() | ARM DUI0474JJ | ||
| ||||
ホーム > イメージの構造と生成 > 位置非依存から絶対ベニアへの生成 |
位置非依存コードから絶対コードへの呼び出しにはベニアが必要です。
通常の呼び出し命令では、呼び出しアドレスからのオフセットとしてターゲットのアドレスがエンコードされます。位置非依存(PI)コードから絶対コードへの呼び出しが行われるとリンク時にはオフセットを計算できないため、リンカは長分岐ベニアを挿入する必要があります。
PI から絶対ベニアへの生成は、
--piveneer
オプションを使用して制御できます。これはデフォルトです。このオプションを --no_piveneer
を使用してオフにすると、PI コードから絶対コードへの呼び出しが検出されたときにリンカによってエラーが生成されます。