JM プロジェクトは、主に Linux 関連のマニュアルページの日本語ページを翻訳・公開しています。
... te_phdr( int (* callback ) (struct dl_phdr_info * info , size_t size , void * data ), void * data ); 説明 dl_iterate_phdr () 関数を ... 使うと、アプリケーションは実行時に どの共有オブジェクトをロードしたかを見つけることができる。 dl_iterate_phdr () 関数はアプリケーションの共有オブジェクトのリストを辿り、 各オブジェクトに対して関数 callback を 1 回ずつ呼び出す。 これ ... 持する構造体へのポインターである。 size は info で指される構造体のサイズである。 data は呼び出し元プログラムから dl_iterate_phdr () の呼び出しの (同じく data という名前の) 第 2 引き数として渡される値のコピーである。 info 引き数は、以下のような型の構造 ... ... 身のプログラムヘッダーサイズを ELF ヘッダーの e_phentsize メンバと e_phnum メンバで指定する。 ELF プログラムヘッダーは Elf32_Phdr 型または Elf64_Phdr 型で記述される (どちらになるかはアーキテクチャー依存): typedef struct { uint32_t p_type; Elf32_Off p_o ... ; Elf32_Addr p_vaddr; Elf32_Addr p_paddr; uint32_t p_filesz; uint32_t p_memsz; uint32_t p_flags; uint32_t p_align; } Elf32_Phdr; typedef struct { uint32_t p_type; uint32_t p_flags; Elf64_Off p_offset; Elf64_Addr p_vaddr; Elf64_Addr p_paddr; uint64_t ... p_filesz; uint64_t p_memsz; uint64_t p_align; } Elf64_Phdr; 32 ビットと 64 ビットのプログラムヘッダーの主な違いは、構造体における p_flags メンバの位置にある。 p_type Phdr 構造体のこ ... ... ETRY . AT_L3_CACHESIZE L3 キャッシュのサイズ。 AT_PAGESZ システムページサイズ ( sysconf(_SC_PAGESIZE) が返す値と同じ)。 AT_PHDR 実行プログラムのプログラムヘッダーのアドレス。 AT_PHENT プログラムヘッダーエントリーのサイズ。 AT_PHNUM プログラムヘッダー ... ... 例として bar.c をコンパイルする場合: gcc -shared -nostartfiles -o bar bar.c 関連項目 ld (1), ldd (1), pldd (1), dl_iterate_phdr (3), rtld-audit (7), ld.so (8), ldconfig (8) ld.so info pages, gcc info pages, ld info pages この文書について この man ペー ... 日本語の文書やマニュアルを配布している個人/プロジェクトへのリンクです。