GOT(グローバルオフセットテーブル)とは

じーおーてぃー

外部の変数や関数の実際の番地をまとめた表。動的リンカが実行時に埋め、位置独立コードはこの表を通して参照するので、コードのページを書き換えずに済む。

この用語の分野: リンカ・ローダと実行形式

解説の中の「GOT(グローバルオフセットテーブル)」

「GOT(グローバルオフセットテーブル)」が出てくる問題(5問)

  1. 共有ライブラリで使われるGOT(グローバルオフセットテーブル)の役割として正しいものはどれか。
  2. 位置独立コード(PIC)の説明として正しいものはどれか。
  3. 動的リンクで、PLT(プロシージャリンケージテーブル)を使った遅延束縛(レイジーバインディング)を行う場合の説明として正しいものはどれか。
  4. オブジェクトファイルを逆アセンブルすると、外部の関数printfを呼ぶ命令の飛び先が0のように仮の値になっていた。この値はいつ正しく埋められるか。
  5. 共有ライブラリを作るとき、外から使う関数だけを公開し、内部の関数はシンボルの可視性(visibility)を「hidden」にする利点として正しいものはどれか。

関連する用語

動的リンカ 共有ライブラリ PLT(プロシージャリンケージテーブル) 位置独立コード 動的リンク オブジェクトファイル 再配置 リンカ ABI(アプリケーションバイナリインターフェース) ASLR

用語集の一覧へ