外部ではなく、モジュール内で定義される非静的グローバル変数を意味します。
GOT を介して参照する必要があるのはなぜですか? 相対アドレスを使用しないのはなぜですか? (.data セクションのグローバル変数と .text セクションの参照の間の距離は一定であるため、これも位置に依存しません)
外部ではなく、モジュール内で定義される非静的グローバル変数を意味します。
GOT を介して参照する必要があるのはなぜですか? 相対アドレスを使用しないのはなぜですか? (.data セクションのグローバル変数と .text セクションの参照の間の距離は一定であるため、これも位置に依存しません)
変数は ではないためstatic
、ELF では挿入できます (LD_PRELOAD を考えてください)。
私も同じように混乱しています。2 つの DSO の両方で定義された同じ名前の 1 つのグローバル変数があり、それらが 1 つの実行可能ファイルに動的にリンクされている場合、両方のライブラリが変数の同じコピーにアクセスしますか? そして、変数がどのライブラリ(ライブラリのデータセクション)を見つけるかは、ライブラリのロード順序によって異なりますか?