私はブログを読んでいます。https://eli.thegreenplace.net/2011/11/11/position-independent-code-pic-in-shared-libraries-on-x64
「データ参照を含むx64 PIC - 例」セクションでは、モジュールは動的リンカーに絶対アドレスを入力するように指示し、コードがそのアドレスを取得し、そのアドレスmyglob
から.got
データを読み取るようです。
しかし、コンパイラがなぜこれを行う必要があるのか、これは独自のシンボルなので、このシンボルにアクセスするためにRIP相対アドレッシングを使用できないのはなぜですか?時々.data
、モジュールは未知のオフセットにロードされる可能性があるためです.text
(常にサイドにロードされるのではなく.text
)。
私の言葉は、address_of(myglob)-address_of(instruction_that_access_myglob)
それがどんな価値であれば、なぜ私たちは絶対住所を知るべきですかmyglob
?