JM プロジェクトは、主に Linux 関連のマニュアルページの日本語ページを翻訳・公開しています。
... def struct { Elf32_Word p_type; /* セグメントの型 */ Elf32_Off p_offset; /* セグメントのファイルオフセット */ Elf32_Addr p_vaddr; /* セグメントの仮想アドレス */ Elf32_Addr p_paddr; /* セグメントの物理アドレス */ Elf32_Word p_filesz; /* ファイルにおける ... ッダー x の仮想メモリーにおける位置は、以下の式で計算できる点に注意すること: addr == info->dlpi_addr + info->dlpi_phdr[x].p_vaddr; 返り値 dl_iterate_phdr () 関数は最後の callback の呼び出しで返された値を返す。 バージョン dl_iterate_phdr () は glibc のバ ... ; j < info->dlpi_phnum; j++) printf("\t\t header %2d: address=%10p\n", j, (void *) (info->dlpi_addr + info->dlpi_phdr[j].p_vaddr)); return 0; } int main(int argc, char *argv[]) { dl_iterate_phdr(callback, NULL); exit(EXIT_SUCCESS); } 関連項目 ldd (1), ... ... 型で記述される (どちらになるかはアーキテクチャー依存): typedef struct { uint32_t p_type; Elf32_Off p_offset; 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_vaddr メンバの昇順にソートされて出現する。 PT_DYNAMIC この配列要素は動的リンク情報を指定する。 PT_INTERP この配列要素は、インター ... ... 定される (否定の場合も含む) [ ! ] --vproto protocol マッチする VIP プロトコル (数値か名前 (例えば "tcp") で指定する) [ ! ] --vaddr address [ / mask ] マッチする VIP アドレス [ ! ] --vport port マッチする VIP プロトコル (数値か名前 (例えば --vdir { ORIGI ... 日本語の文書やマニュアルを配布している個人/プロジェクトへのリンクです。