10.13 SysV メモリモデルのアドレシングモード

System V(SysV)には、プログラムおよび他のモデルからインポートされたデータやコードにアクセスするためのモデルが定義されています。

必要に応じて、リンカは必要なプロシージャリンクテーブル(PLT)セクションとグローバルオフセットテーブル(GOT)セクションを自動生成します。

位置非依存コード

SysV 共有ライブラリは、 --apcs=/fpic コンパイラコマンドラインオプションを使用して、位置非依存コードでコンパイルされます。

共有ライブラリが位置非依存であることを宣言する場合は、PLT セクションと GOT セクションの構造に影響するため、リンカコマンドラインオプション --fpic も使用する必要があります。

デフォルトでは、 コマンドラインオプション --shared--fpic オプションなしで指定すると、リンカでエラーメッセージが生成されます。位置依存の共有ライブラリを作成する場合は、--diag_suppress=6403 を使用してエラーメッセージをオフにできます。

関連する概念
10.10 SysV モデルのリンカオプション
10.12 SysV メモリモデルにおけるダイナミックシンボルテーブルの自動規則
10.14 SysV メモリモデルのスレッドローカルストレージ
関連する参考文書
10.15 SysV メモリモデルのリンカコマンドラインオプション
12.39 --diag_suppress=tag[,tag,…]
12.65 --fpic
12.70 --import_unresolved、--no_import_unresolved
12.129 --shared
関連情報
--apcs=qualifier...qualifier コンパイラオプション
非機密扱いPDF file icon PDF 版ARM DUI0474JJ
Copyright © 2010-2013 ARM.All rights reserved.