GOT(グローバルオフセットテーブル)とは
じーおーてぃー
外部の変数や関数の実際の番地をまとめた表。動的リンカが実行時に埋め、位置独立コードはこの表を通して参照するので、コードのページを書き換えずに済む。
この用語の分野: リンカ・ローダと実行形式
じーおーてぃー
外部の変数や関数の実際の番地をまとめた表。動的リンカが実行時に埋め、位置独立コードはこの表を通して参照するので、コードのページを書き換えずに済む。
この用語の分野: リンカ・ローダと実行形式
そこで、各モジュールに番地を並べた表(GOT)を用意し、コードはPCからの距離でGOTの項目を読み、そこに入っている番地を使います。
共有ライブラリで使われるGOT(グローバルオフセットテーブル)の役割として正しいものはどれか。位置独立コードでは、関数やデータを固定の番地ではなく、PCからの距離や、番地をまとめた表(GOT)を通して参照します。
位置独立コード(PIC)の説明として正しいものはどれか。遅延束縛では、最初の呼び出しのとき入口が動的リンカの解決処理へ飛び、本物の番地を探してGOTに書き込みます。
動的リンクで、PLT(プロシージャリンケージテーブル)を使った遅延束縛(レイジーバインディング)を行う場合の説明として…動的リンカ 共有ライブラリ PLT(プロシージャリンケージテーブル) 位置独立コード 動的リンク オブジェクトファイル 再配置 リンカ ABI(アプリケーションバイナリインターフェース) ASLR