Skip to content
Latchkey

グローバルオフセットテーブルとは?

グローバルオフセットテーブル(GOT)は、動的リンカがグローバル変数や外部シンボルの実行時アドレスで埋めるテーブルです。位置独立コードは、命令に埋め込まれた絶対アドレスではなく、GOTを介して間接的にそれらのシンボルへ到達します。テーブルのエントリだけが変わるため、コード自体は読み取り専用のまま共有可能に保てます。

なぜ重要か

GOTは、共有ライブラリを再配置可能かつプロセス間で共有可能にする間接層です。動的シンボル解決や遅延バインディングの仕組みと密接に結び付いています。

関連ガイド