シンボルバージョンに対するコンパイラおよびリンカサポートの使用

コンパイラとリンカの両方で、GNU 拡張シンボルバージョン管理モデルがサポートされます。

C または C++ コードでシンボルバージョンが含まれた関数を作成するには、アセンブララベルの GNU 拡張を使用する必要があります。この拡張を使用して、関数シンボルの名前を以下の名前のシンボルに変換します。

例えば、デフォルトのバージョンは以下のように定義します。

int new_function(void) __asm__("versioned_fun@@ver2");
int new_function(void)
{
    return 2;
}

デフォルト以外のバージョンは以下のように定義します。

int old_function(void) __asm__("versioned_fun@ver1");
int old_function(void)
{
    return 1;
}

Show/hide関連項目

Copyright © 2010 ARM. All rights reserved.ARM DUI 0472BJ
Non-ConfidentialID011811