10.6.3 シンボルバージョン管理のスクリプトファイル

シンボルバージョンを作成するコマンドを、スクリプトファイルに組み込むことができます。

シンボルバージョン管理のスクリプトファイルを指定するには、コマンドラインオプション --symver_script=file を使用します。このオプションを使用すると、自動的にシンボルバージョン管理が有効になります。
スクリプトファイルでは、GNU ld リンカと同じ構文をサポートしています。
スクリプトファイルを使用することで、バージョンを以前のバージョンに関連付けることができます。
ステアリングファイルと組み込みシンボル方式は組み合わせて指定できます。これを行う場合は、スクリプトファイルと組み込みシンボルを一致させ、以下のようにバッカスナウア記法(BNF)の表記を使用する必要があります。
version_definition ::=
  version_name "{" symbol_association* "}" [depend_version] ";"
version_name は、バージョン名を含んでいる文字列です。 depend_version は、この version_name が依存するバージョンの名前を含んでいる文字列です。このバージョンは、スクリプトファイル内で事前に定義されている必要があります。バージョン名は重要ではありませんが、以下のように読みやすい名前を付けると便利です。
symbol_association ::=
  "local:" | "global:" | symbol_name ";"
各項目には以下の意味があります。
  • "local:" は、このバージョン定義でこれに続くすべての symbol_name が共有オブジェクトに対してローカルであり、バージョン管理されないことを示します。
  • "global:" は、これに続くすべての symbol_name がこのバージョン定義に属することを示します。
    各バージョン定義の始めには、暗黙の "global:" が存在します。
  • symbol_name は、静的シンボルテーブル内のグローバルシンボルの名前です。

スクリプトファイルを使用する場合は、バージョン定義とそのバージョン定義に関連付けられるシンボルが一致する必要があります。不一致が見つかった場合は、リンカから警告が生成されます。
関連する概念
10.6.1 シンボルバージョン管理について
10.6.5 暗黙のシンボルバージョン管理を有効にするリンカオプション
10.6.4 バージョン管理シンボルの作成例
関連する参考文書
12.148 --symver_script=filename
非機密扱いPDF file icon PDF 版ARM DUI0474LJ
Copyright © 2010-2015 ARM.All rights reserved.