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

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

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

位置非依存コード

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

デフォルトでは、 コマンドラインオプション --shared--fpic オプションなしで指定すると、リンカでエラーメッセージが生成されます。位置依存の共有ライブラリを作成する場合は、--diag_suppress=6403 を使用してエラーメッセージをオフにできます。
関連する概念
10.4.6 SysV モデルのリンカオプション
10.4.2 SysV メモリモデルにおけるダイナミックシンボルテーブルの自動規則
10.4.5 SysV メモリモデルのスレッドローカルストレージ
関連する参考文書
10.4.7 SysV メモリモデルのリンカコマンドラインオプション
12.39 --diag_suppress=tag[,tag,…]
12.65 --fpic
12.70 --import_unresolved、--no_import_unresolved
12.128 --shared
関連情報
--apcs=qualifier...qualifier コンパイラオプション
非機密扱いPDF file icon PDF 版ARM DUI0474LJ
Copyright © 2010-2015 ARM.All rights reserved.