10.4.2 SysV メモリモデルにおけるダイナミックシンボルテーブルの自動規則

System V(SysV)メモリモデルのダイナミックシンボルテーブルには、適用する規則があります。

以下の規則が適用されます。
実行可能ファイル
未定義のシンボル参照は未定義のシンボルエラーです。
可視性が STV_HIDDEN または STV_INTERNAL のグローバルシンボルは、ダイナミックシンボルテーブルにエクスポートされません。
可視性が STV_PROTECTED または STV_DEFAULT のグローバルシンボルは、--export_all オプションまたは --export_dynamic オプションを指定しない限り、ダイナミックシンボルテーブルにエクスポートされません。
共有ライブラリ
可視性が STV_DEFAULT の未定義のシンボル参照はインポートされたと見なされ、ダイナミックシンボルテーブルに配置されます。
可視性が STV_DEFAULT ではない未定義のシンボル参照は、未定義のシンボルエラーです。
可視性が STV_HIDDEN または STV_INTERNAL のグローバルシンボルは、ダイナミックシンボルテーブルにエクスポートされません。

再配置が必要な STV_HIDDEN または STV_INTERNAL グローバルシンボルはダイナミックシンボルテーブルに配置できますが、リンカによってローカルシンボルに変更されて、共有ライブラリ外からアクセスできなくなります。
可視性が STV_PROTECTED または STV_DEFAULT のグローバルシンボルは、常にダイナミックシンボルテーブルにエクスポートされます。
関連する概念
10.4.6 SysV モデルのリンカオプション
10.4.4 SysV メモリモデルのアドレシングモード
10.4.5 SysV メモリモデルのスレッドローカルストレージ
関連する参考文書
10.4.7 SysV メモリモデルのリンカコマンドラインオプション
12.55 --export_all、--no_export_all
12.56 --export_dynamic、--no_export_dynamic
関連情報
ELF for the ARM Architecture
非機密扱いPDF file icon PDF 版ARM DUI0474LJ
Copyright © 2010-2015 ARM.All rights reserved.