5.2.1 タイプ インジケータ

再配置レコードのTypeフィールドは、実行される再配置の種類を示します。マシン タイプごとに異なる再配置タイプが定義されています。

Intel 386(tm)

Intel386および互換プロセッサのために、以下の再配置型インジケータが定義されています。

定数 解説
IMAGE_REL_I386_ABSOLUTE 0x0000 この再配置は無視されます。
IMAGE_REL_I386_DIR16 0x0001 サポートされていません。
IMAGE_REL_I386_REL16 0x0002 サポートされていません。
IMAGE_REL_I386_DIR32 0x0006 ターゲットの32ビット仮想アドレス。
IMAGE_REL_I386_DIR32NB 0x0007 ターゲットの32ビット相対仮想アドレス。
IMAGE_REL_I386_SEG12 0x0009 サポートされていません。
IMAGE_REL_I386_SECTION 0x000A ターゲットを含んでいるセクションの16ビット セクション インデックス。これはデバッグ情報をサポートするために使われます。
IMAGE_REL_I386_SECREL 0x000B ターゲットのセクションの先頭からの32ビット オフセット。これはデバッグ情報と静的スレッド ローカル ストレージをサポートするために使用されます。
IMAGE_REL_I386_REL32 0x0014 ターゲットに対する32ビット相対ディスプレースメント。これはx86相対分岐および呼び出し命令をサポートします。

MIPSプロセッサ

MIPSプロセッサのために、以下の再配置型インジケータが定義されています。

定数 解説
IMAGE_REL_MIPS_ABSOLUTE 0x0000 この再配置は無視されます。
IMAGE_REL_MIPS_REFHALF 0x0001 ターゲットの32ビットの仮想アドレスの上位16ビット。
IMAGE_REL_MIPS_REFWORD 0x0002 ターゲットの32ビット仮想アドレス。
IMAGE_REL_MIPS_JMPADDR 0x0003 ターゲットの仮想アドレスの下位26ビット。これはMIPSのJおよびJAL命令をサポートします。
IMAGE_REL_MIPS_REFHI 0x0004 ターゲットの32ビットの仮想アドレスの上位16ビット。フルアドレスをロードする2命令シーケンスの最初の命令のために使用されます。この再配置の直後には、PAIR再配置が続かなければなりません。そして、そのSymbolTableIndex には、符号付き16ビットのディスプレースメントが含まれていて、それが再配置される位置から取られた上位16ビットに加えられます。
IMAGE_REL_MIPS_REFLO 0x0005 ターゲットの仮想アドレスの下位16ビット。
IMAGE_REL_MIPS_GPREL 0x0006 ターゲットの16ビット符号付きディスプレースメントはグローバル ポインタ(GP)レジスタ相対です。
IMAGE_REL_MIPS_LITERAL 0x0007 IMAGE_REL_MIPS_GPRELと同じです。
IMAGE_REL_MIPS_SECTION 0x000A ターゲットを含んでいるセクションの16ビット セクション インデックス。これはデバッグ情報をサポートするために使われます。
IMAGE_REL_MIPS_SECREL 0x000B ターゲットのセクションの先頭からの32ビット オフセット。これはデバッグ情報と静的スレッド ローカル ストレージをサポートするために使用されます。
IMAGE_REL_MIPS_SECRELLO 0x000C ターゲットのセクションの先頭からの32ビット オフセットの下位16ビット。
IMAGE_REL_MIPS_SECRELHI 0x000D ターゲットのセクションの先頭からの32ビット オフセットの上位16ビット。 この直後にPAIR再配置が続かなければなりません。このPAIR再配置の SymbolTableIndex は符号付き16ビットのディスプレースメントを含んでおり、それが、再配置される場所から取られた上位16ビットに加えられます。
IMAGE_REL_MIPS_REFWORDNB 0x0022 ターゲットの32ビット相対仮想アドレス。
IMAGE_REL_MIPS_PAIR 0x0025 この再配置は、REFHIまたはSECRELHI再配置の直後に続くときだけ有効です。そのSymbolTableIndexが含んでいるのはディスプレースメントであり、シンボル テーブルへのインデックスではありません。

Alphaプロセッサ

Alphaプロセッサのために、以下の再配置型インジケータが定義されています。

定数 解説
IMAGE_REL_ALPHA_ABSOLUTE 0x0000 この再配置は無視されます。
IMAGE_REL_ALPHA_REFLONG 0x0001 ターゲットの32ビット仮想アドレス。
IMAGE_REL_ALPHA_REFQUAD 0x0002 ターゲットの64ビット仮想アドレス。
IMAGE_REL_ALPHA_GPREL32 0x0003 ターゲットの32ビット符号付きディスプレースメントはグローバル ポインタ(GP)レジスタ相対です。
IMAGE_REL_ALPHA_LITERAL 0x0004 ターゲットの16ビット符号付きディスプレースメントはグローバル ポインタ(GP)レジスタ相対です。
IMAGE_REL_ALPHA_LITUSE 0x0005 将来の使用のために予約されています。
IMAGE_REL_ALPHA_GPDISP 0x0006 将来の使用のために予約されています。
IMAGE_REL_ALPHA_BRADDR 0x0007 ターゲットに対する21ビット相対ディスプレースメント。これはAlphaの相対分岐命令をサポートします。
IMAGE_REL_ALPHA_HINT 0x0008 Alphaのジャンプ命令のターゲットのためのプロセッサへの14ビット ヒント。
IMAGE_REL_ALPHA_INLINE_REFLONG 0x0009 上位と下位の16ビットに分割されたターゲットの32ビット仮想アドレス。この再配置の直後にはABSOLUTEまたはMATCH再配置が続かなければなりません。ターゲットアドレスの上位16ビットは、INLINE_REFLONG再配置によって識別される位置に格納されます。下位16ビットは直後の再配置がABSOLUTE型である場合には4バイト後に格納されます。また、直後の再配置がMATCH型である場合には、SymbolTableIndex によって与えられる符号付きディスプレースメントになります。
IMAGE_REL_ALPHA_REFHI 0x000A ターゲットの32ビットの仮想アドレスの上位16ビット。フル アドレスをロードする2命令シーケンスの最初の命令のために使用されます。この再配置の直後には、PAIR再配置が続かなければなりません。そして、そのSymbolTableIndex には、符号付き16ビットのディスプレースメントが含まれていて、それが再配置される位置から取られた上位16ビットに加えられます。
IMAGE_REL_ALPHA_REFLO 0x000B ターゲットの仮想アドレスの下位16ビット。
IMAGE_REL_ALPHA_PAIR 0x000C この再配置は、REFHIまたはSECRELHI再配置の直後に続くときだけ有効です。そのSymbolTableIndexが含んでいるのはディスプレースメントであり、シンボル テーブルへのインデックスではありません。
IMAGE_REL_ALPHA_MATCH 0x000D この再配置は、INLINE_REFLONG再配置の直後に続くときだけ有効です。そのSymbolTableIndexが含んでいるのはディスプレースメントであり、シンボル テーブルへのインデックスではありません。
IMAGE_REL_ALPHA_SECTION 0x000E ターゲットを含んでいるセクションの16ビット セクション インデックス。これはデバッグ情報をサポートするために使われます。
IMAGE_REL_ALPHA_SECREL 0x000F ターゲットのセクションの先頭からの32ビット オフセット。これはデバッグ情報と静的スレッド ローカル ストレージをサポートするために使用されます。
IMAGE_REL_ALPHA_REFLONGNB 0x0010 ターゲットの32ビット相対仮想アドレス。
IMAGE_REL_ALPHA_SECRELLO 0x0011 ターゲットのセクションの先頭からの32ビット オフセットの下位16ビット。
IMAGE_REL_ALPHA_SECRELHI 0x0012 ターゲットのセクションの先頭からの32ビット オフセットの上位16ビット。 この直後にPAIR再配置が続かなければなりません。このPAIR再配置の SymbolTableIndex は符号付き16ビットのディスプレースメントを含んでおり、それが、再配置される場所から取られた上位16ビットに加えられます。

IBM PowerPCプロセッサ

PoserPCプロセッサのために、以下の再配置型インジケータが定義されています。

定数 解説
IMAGE_REL_PPC_ABSOLUTE 0x0000 この再配置は無視されます。
IMAGE_REL_PPC_ADDR64 0x0001 ターゲットの64ビット仮想アドレス。
IMAGE_REL_PPC_ADDR32 0x0002 ターゲットの32ビット仮想アドレス。
IMAGE_REL_PPC_ADDR24 0x0003 ターゲットの仮想アドレスの下位24ビット。これはターゲットシンボルが絶対で、その元の値を符号拡張できる場合にのみ有効です。
IMAGE_REL_PPC_ADDR16 0x0004 ターゲットの仮想アドレスの下位16ビット。
IMAGE_REL_PPC_ADDR14 0x0005 ターゲットの仮想アドレスの下位14ビット。これはターゲット シンボルが絶対で、その元の値を符号拡張できる場合にのみ有効です。
IMAGE_REL_PPC_REL24 0x0006 シンボル位置に対する24ビットPC相対オフセット。
IMAGE_REL_PPC_REL14 0x0007 シンボル位置に対する14ビットPC相対オフセット。
IMAGE_REL_PPC_ADDR32NB 0x000A ターゲットの32ビット相対仮想アドレス。
IMAGE_REL_PPC_SECREL 0x000B ターゲットのセクションの先頭からの32ビット オフセット。これはデバッグ情報と静的スレッド ローカル ストレージをサポートするために使用されます。
IMAGE_REL_PPC_SECTION 0x000C ターゲットを含んでいるセクションの16ビット セクション インデックス。これはデバッグ情報をサポートするために使われます。
IMAGE_REL_PPC_SECREL16 0x000F ターゲットのセクションの先頭からの16ビット オフセット。これはデバッグ情報と静的スレッド ローカル ストレージをサポートするために使用されます。
IMAGE_REL_PPC_REFHI 0x0010 ターゲットの32ビットの仮想アドレスの上位16ビット。フル アドレスをロードする2命令シーケンスの最初の命令のために使用されます。この再配置の直後には、PAIR再配置が続かなければなりません。そして、そのSymbolTableIndex には、符号付き16ビットのディスプレースメントが含まれていて、それが再配置される位置から取られた上位16ビットに加えられます。
IMAGE_REL_PPC_REFLO 0x0011 ターゲットの仮想アドレスの下位16ビット。
IMAGE_REL_PPC_PAIR 0x0012 この再配置は、REFHIまたはSECRELHI再配置の直後に続くときだけ有効です。そのSymbolTableIndexが含んでいるのはディスプレースメントであり、シンボル テーブルへのインデックスではありません。
IMAGE_REL_PPC_SECRELLO 0x0013 ターゲットのセクションの先頭からの32ビット オフセットの下位16ビット。
IMAGE_REL_PPC_SECRELHI 0x0014 ターゲットのセクションの先頭からの32ビット オフセットの上位16ビット。 この直後にPAIR再配置が続かなければなりません。このPAIR再配置の SymbolTableIndex は符号付き16ビットのディスプレースメントを含んでおり、それが、再配置される場所から取られた上位16ビットに加えられます。
IMAGE_REL_PPC_GPREL 0x0015 ターゲットの16ビット符号付きディスプレースメントはグローバル ポインタ(GP)レジスタ相対です。

日立SuperHプロセッサ

SH3およびSH4プロセッサのために、以下の再配置型インジケータが定義されています。

定数 解説
IMAGE_REL_SH3_ABSOLUTE 0x0000 この再配置は無視されます。
IMAGE_REL_SH3_DIRECT16 0x0001 ターゲット シンボルの仮想アドレスを含んでいる16ビット位置への参照。
IMAGE_REL_SH3_DIRECT32 0x0002 ターゲットの32ビット仮想アドレス。
IMAGE_REL_SH3_DIRECT8 0x0003 ターゲット シンボルの仮想アドレスを含んでいる8ビット位置への参照。
IMAGE_REL_SH3_DIRECT8_WORD 0x0004 ターゲット シンボルの実効16ビットの仮想アドレスを含む8ビット命令への参照。
IMAGE_REL_SH3_DIRECT8_LONG 0x0005 ターゲット シンボルの実効32ビットの仮想アドレスを含む8ビット命令への参照。
IMAGE_REL_SH3_DIRECT4 0x0006 下位4ビットにターゲット シンボルの仮想アドレスを含んでいる8ビット位置への参照。
IMAGE_REL_SH3_DIRECT4_WORD 0x0007 下位4ビットにターゲット シンボルへの実効16ビットの相対オフセットを含んでいる8ビット命令への参照。
IMAGE_REL_SH3_DIRECT4_LONG 0x0008 下位4ビットにターゲットシンボルへの実効32ビットの相対オフセットを含んでいる8ビット命令への参照。
IMAGE_REL_SH3_PCREL8_WORD 0x0009 ターゲット シンボルの実効16ビットの相対オフセットを含む8ビット命令への参照。
IMAGE_REL_SH3_PCREL8_LONG 0x000A ターゲット シンボルの実効32ビットの相対オフセットを含む8ビット命令への参照。
IMAGE_REL_SH3_PCREL12_WORD 0x000B 下位12ビットにターゲット シンボルへの実効16ビットの相対オフセットを含んでいる16ビット命令への参照。
IMAGE_REL_SH3_STARTOF_SECTION 0x000C シンボルのセクションの仮想アドレスである32ビット位置への参照。
IMAGE_REL_SH3_SIZEOF_SECTION 0x000D シンボルのセクションのサイズである32ビット位置への参照。
IMAGE_REL_SH3_SECTION 0x000E ターゲットを含んでいるセクションの16ビット セクション インデックス。これはデバッグ情報をサポートするために使われます。
IMAGE_REL_SH3_SECREL 0x000F ターゲットのセクションの先頭からの32ビット オフセット。これはデバッグ情報と静的スレッド ローカル ストレージをサポートするために使用されます。
IMAGE_REL_SH3_DIRECT32_NB 0x0010 ターゲットの32ビット相対仮想アドレス。

ARMプロセッサ

ARMプロセッサのために、以下の再配置型インジケータが定義されています。

定数 解説
IMAGE_REL_ARM_ABSOLUTE 0x0000 この再配置は無視されます。
IMAGE_REL_ARM_ADDR32 0x0001 ターゲットの32ビット仮想アドレス。
IMAGE_REL_ARM_ADDR32NB 0x0002 ターゲットの32ビット相対仮想アドレス。
IMAGE_REL_ARM_BRANCH24 0x0003 ターゲットに対する24ビット相対ディスプレースメント。
IMAGE_REL_ARM_BRANCH11 0x0004 2組の16ビット命令と11ビットオフセットからなるサブルーチン コールの参照。
IMAGE_REL_ARM_SECTION 0x0005 ターゲットを含んでいるセクションの16ビット セクション インデックス。これはデバッグ情報をサポートするために使われます。
IMAGE_REL_ARM_SECREL 0x0006 ターゲットのセクションの先頭からの32ビット オフセット。これはデバッグ情報と静的スレッド ローカル ストレージをサポートするために使用されます。


戻る