組み込みシンボルについて

リンカによってシンボルバージョンが作成されるようにする特定の名前付きシンボルを入力オブジェクトに追加できます。 追加できるシンボルは、以下のような形式になります。

このようなシンボルは、エクスポートを考えている関数やデータのアドレスで定義する必要があります。 シンボル名は、シンボル名部分(name)とバージョン定義部分(version)の 2 つの部分から構成されます。 name はダイナミックシンボルテーブルに追加され、共有オブジェクトのインタフェースの一部になります。 ver がまだ存在しない場合は、その名前のバージョンを作成し、namever という名前のバージョンに関連付けます。

以下の例では、シンボル foo@ver1foo@@ver2、および bar@@ver1 をオブジェクトシンボルテーブルに配置します。

Example 44. バージョン管理シンボルの作成、組み込みシンボル

int old_function(void) __asm__("foo@ver1");
int new_function(void) __asm__("foo@@ver2");
int other_function(void) __asm__("bar@@ver1");

リンカではこれらのシンボルを読み出し、バージョン定義 ver1ver2 を作成します。 シンボル foo はデフォルトのバージョン以外の ver1 とデフォルトのバージョンの ver2 に関連付けられます。 シンボル bar はデフォルトのバージョンの ver1 に関連付けられます。

この方法では、複数のバージョン間の関連付けを作成することはできません。

Show/hide関連項目

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