OSDN Git Service

Update some IMAGE flags to PECOFF v8 (May, 2006) specs.
authordannysmith <dannysmith>
Thu, 27 Jul 2006 08:30:33 +0000 (08:30 +0000)
committerdannysmith <dannysmith>
Thu, 27 Jul 2006 08:30:33 +0000 (08:30 +0000)
* include/winnt.h (IMAGE_FILE_MACHINE_AM33,
IMAGE_FILE_MACHINE_ARM, IMAGE_FILE_MACHINE_EBC,
IMAGE_FILE_MACHINE_M32R, IMAGE_FILE_MACHINE_MIPS16,
IMAGE_FILE_MACHINE_MIPSFPU, IMAGE_FILE_MACHINE_MIPSFPU16,
IMAGE_FILE_MACHINE_POWERPCFP, IMAGE_FILE_MACHINE_R4000,
IMAGE_FILE_MACHINE_SH3, IMAGE_FILE_MACHINE_SH3DSP,
IMAGE_FILE_MACHINE_SH4, IMAGE_FILE_MACHINE_SH5,
IMAGE_FILE_MACHINE_THUMB, IMAGE_FILE_MACHINE_WCEMIPSV2):
Add defines.

(IMAGE_SUBSYSTEM_EFI_APPLICATION,
IMAGE_SUBSYSTEM_EFI_BOOT_SERVICE_DRIVER,
IMAGE_SUBSYSTEM_EFI_RUNTIME_DRIVER, IMAGE_SUBSYSTEM_EFI_ROM):
Add defines.

(IMAGE_SYM_CLASS_CLR_TOKEN): Add define

(IMAGE_DLL_CHARACTERISTICS_DYNAMIC_BASE,
IMAGE_DLL_CHARACTERISTICS_FORCE_INTEGRITY,
IMAGE_DLL_CHARACTERISTICS_NX_COMPAT,
IMAGE_DLLCHARACTERISTICS_NO_ISOLATION, IMAGE_DLLCHARACTERISTICS_NO_SEH,
IMAGE_DLLCHARACTERISTICS_NO_BIND,
IMAGE_DLLCHARACTERISTICS_TERMINAL_SERVER_AWARE): Add defines.

(IMAGE_REL_I386_TOKEN, IMAGE_REL_I386_SECREL7): Add defines.

(IMAGE_REL_AMD64_ABSOLUTE, IMAGE_REL_AMD64_ADDR64,
IMAGE_REL_AMD64_ADDR32, IMAGE_REL_AMD64_ADDR32NB, IMAGE_REL_AMD64_REL32,
IMAGE_REL_AMD64_REL32_1, IMAGE_REL_AMD64_REL32_2,
IMAGE_REL_AMD64_REL32_3, IMAGE_REL_AMD64_REL32_4,
IMAGE_REL_AMD64_REL32_5, IMAGE_REL_AMD64_SECTION,
IMAGE_REL_AMD64_SECREL, IMAGE_REL_AMD64_SECREL7, IMAGE_REL_AMD64_TOKEN,
IMAGE_REL_AMD64_SREL32, IMAGE_REL_AMD64_PAIR, IMAGE_REL_AMD64_SSPAN32):
Add defines.

(IMAGE_REL_IA64_ABSOLUTE, IMAGE_REL_IA64_IMM14, IMAGE_REL_IA64_IMM22,
IMAGE_REL_IA64_IMM64, IMAGE_REL_IA64_DIR32, IMAGE_REL_IA64_DIR64,
IMAGE_REL_IA64_PCREL21B, IMAGE_REL_IA64_PCREL21M,
IMAGE_REL_IA64_PCREL21F, IMAGE_REL_IA64_GPREL22, IMAGE_REL_IA64_LTOFF22,
IMAGE_REL_IA64_SECTION, IMAGE_REL_IA64_SECREL22,
IMAGE_REL_IA64_SECREL64I, IMAGE_REL_IA64_SECREL32,
IMAGE_REL_IA64_DIR32NB, IMAGE_REL_IA64_SREL14, IMAGE_REL_IA64_SREL22,
IMAGE_REL_IA64_SREL32, IMAGE_REL_IA64_UREL32, IMAGE_REL_IA64_PCREL60X,
IMAGE_REL_IA64_PCREL60B, IMAGE_REL_IA64_PCREL60F,
IMAGE_REL_IA64_PCREL60I, IMAGE_REL_IA64_PCREL60M,
IMAGE_REL_IA64_IMMGPREL64, IMAGE_REL_IA64_TOKEN, IMAGE_REL_IA64_GPREL32,
IMAGE_REL_IA64_ADDEND): Add defines.

(IMAGE_SCN_GPREL): Add define.

winsup/w32api/ChangeLog
winsup/w32api/include/winnt.h

index 2b2dc8b..0b7378b 100644 (file)
@@ -1,3 +1,56 @@
+2006-07-27  Danny Smith  <dannysmith@users.sourceforge.net>
+
+       Update some IMAGE flags to PECOFF v8 (May, 2006) specs.
+       * include/winnt.h (IMAGE_FILE_MACHINE_AM33,
+       IMAGE_FILE_MACHINE_ARM, IMAGE_FILE_MACHINE_EBC,
+       IMAGE_FILE_MACHINE_M32R, IMAGE_FILE_MACHINE_MIPS16,
+       IMAGE_FILE_MACHINE_MIPSFPU, IMAGE_FILE_MACHINE_MIPSFPU16,
+       IMAGE_FILE_MACHINE_POWERPCFP, IMAGE_FILE_MACHINE_R4000,
+       IMAGE_FILE_MACHINE_SH3, IMAGE_FILE_MACHINE_SH3DSP,
+       IMAGE_FILE_MACHINE_SH4, IMAGE_FILE_MACHINE_SH5,
+       IMAGE_FILE_MACHINE_THUMB, IMAGE_FILE_MACHINE_WCEMIPSV2):
+       Add defines.
+       
+       (IMAGE_SUBSYSTEM_EFI_APPLICATION,
+       IMAGE_SUBSYSTEM_EFI_BOOT_SERVICE_DRIVER,
+       IMAGE_SUBSYSTEM_EFI_RUNTIME_DRIVER, IMAGE_SUBSYSTEM_EFI_ROM):
+       Add defines.
+
+       (IMAGE_SYM_CLASS_CLR_TOKEN): Add define
+
+       (IMAGE_DLL_CHARACTERISTICS_DYNAMIC_BASE,
+       IMAGE_DLL_CHARACTERISTICS_FORCE_INTEGRITY,
+       IMAGE_DLL_CHARACTERISTICS_NX_COMPAT,
+       IMAGE_DLLCHARACTERISTICS_NO_ISOLATION, IMAGE_DLLCHARACTERISTICS_NO_SEH,
+       IMAGE_DLLCHARACTERISTICS_NO_BIND,
+       IMAGE_DLLCHARACTERISTICS_TERMINAL_SERVER_AWARE): Add defines.
+
+       (IMAGE_REL_I386_TOKEN, IMAGE_REL_I386_SECREL7): Add defines.    
+
+       (IMAGE_REL_AMD64_ABSOLUTE, IMAGE_REL_AMD64_ADDR64,
+       IMAGE_REL_AMD64_ADDR32, IMAGE_REL_AMD64_ADDR32NB, IMAGE_REL_AMD64_REL32,
+       IMAGE_REL_AMD64_REL32_1, IMAGE_REL_AMD64_REL32_2,
+       IMAGE_REL_AMD64_REL32_3, IMAGE_REL_AMD64_REL32_4,
+       IMAGE_REL_AMD64_REL32_5, IMAGE_REL_AMD64_SECTION,
+       IMAGE_REL_AMD64_SECREL, IMAGE_REL_AMD64_SECREL7, IMAGE_REL_AMD64_TOKEN,
+       IMAGE_REL_AMD64_SREL32, IMAGE_REL_AMD64_PAIR, IMAGE_REL_AMD64_SSPAN32):
+       Add defines.
+       
+       (IMAGE_REL_IA64_ABSOLUTE, IMAGE_REL_IA64_IMM14, IMAGE_REL_IA64_IMM22,
+       IMAGE_REL_IA64_IMM64, IMAGE_REL_IA64_DIR32, IMAGE_REL_IA64_DIR64,
+       IMAGE_REL_IA64_PCREL21B, IMAGE_REL_IA64_PCREL21M,
+       IMAGE_REL_IA64_PCREL21F, IMAGE_REL_IA64_GPREL22, IMAGE_REL_IA64_LTOFF22,
+       IMAGE_REL_IA64_SECTION, IMAGE_REL_IA64_SECREL22,
+       IMAGE_REL_IA64_SECREL64I, IMAGE_REL_IA64_SECREL32,
+       IMAGE_REL_IA64_DIR32NB, IMAGE_REL_IA64_SREL14, IMAGE_REL_IA64_SREL22,
+       IMAGE_REL_IA64_SREL32, IMAGE_REL_IA64_UREL32, IMAGE_REL_IA64_PCREL60X,
+       IMAGE_REL_IA64_PCREL60B, IMAGE_REL_IA64_PCREL60F,
+       IMAGE_REL_IA64_PCREL60I, IMAGE_REL_IA64_PCREL60M,
+       IMAGE_REL_IA64_IMMGPREL64, IMAGE_REL_IA64_TOKEN, IMAGE_REL_IA64_GPREL32,
+       IMAGE_REL_IA64_ADDEND): Add defines.
+       
+       (IMAGE_SCN_GPREL): Add define.
+
 2006-07-25  Danny Smith  <dannysmith@users.sourceforge.net>
 
        * include/aclui.h: Replace __OBJC__ guard with _OBJC_NO_COM.
@@ -25,7 +78,6 @@
        * lib/test.c: Replace __OBJC__ guard with _OBJC_NO_COM.
        Add test for conflict with '@interface'
  
-
 2006-07-22  ipsoner  <ipsoner@users.sourceforge.net>
 
     * include/wincrypt.h (szOID_RSA, szOID_PKCS, szOID_RSA_HASH,
index 9a9ae57..d365ada 100644 (file)
@@ -1044,15 +1044,29 @@ typedef DWORD FLONG;
 #define IMAGE_FILE_DLL 8192
 #define IMAGE_FILE_UP_SYSTEM_ONLY      16384
 #define IMAGE_FILE_BYTES_REVERSED_HI   32768
-#define IMAGE_FILE_MACHINE_UNKNOWN     0
-#define IMAGE_FILE_MACHINE_I386        332
-#define IMAGE_FILE_MACHINE_R3000       354
-#define IMAGE_FILE_MACHINE_R4000       358
-#define IMAGE_FILE_MACHINE_R10000      360
-#define IMAGE_FILE_MACHINE_ALPHA       388
-#define IMAGE_FILE_MACHINE_POWERPC     496
-#define IMAGE_FILE_MACHINE_IA64        512
-#define IMAGE_FILE_MACHINE_AMD64       34404
+
+#define IMAGE_FILE_MACHINE_UNKNOWN     0x0000
+#define IMAGE_FILE_MACHINE_AM33                0x01d3 /* Matsushita AM33 */
+#define IMAGE_FILE_MACHINE_AMD64       0x8664 /* x64 */
+#define IMAGE_FILE_MACHINE_ARM         0x01c0 /* ARM little endian */
+#define IMAGE_FILE_MACHINE_EBC         0x0ebc /* EFI byte code */
+#define IMAGE_FILE_MACHINE_I386                0x014c /* Intel 386 or later processors 
+                                                 and compatible processors */
+#define IMAGE_FILE_MACHINE_IA64                0x0200 /* Intel Itanium processor family */
+#define IMAGE_FILE_MACHINE_M32R                0x9041 /* Mitsubishi M32R little endian */
+#define IMAGE_FILE_MACHINE_MIPS16      0x0266 /* MIPS16 */
+#define IMAGE_FILE_MACHINE_MIPSFPU     0x0366 /* MIPS with FPU */
+#define IMAGE_FILE_MACHINE_MIPSFPU16   0x0466 /* MIPS16 with FPU */
+#define IMAGE_FILE_MACHINE_POWERPC     0x01f0 /* Power PC little endian */
+#define IMAGE_FILE_MACHINE_POWERPCFP   0x01f1 /* Power PC with floating point support */
+#define IMAGE_FILE_MACHINE_R4000       0x0166 /* MIPS little endian */
+#define IMAGE_FILE_MACHINE_SH3         0x01a2 /* Hitachi SH3 */
+#define IMAGE_FILE_MACHINE_SH3DSP      0x01a3 /* Hitachi SH3 DSP */
+#define IMAGE_FILE_MACHINE_SH4         0x01a6 /* Hitachi SH4 */
+#define IMAGE_FILE_MACHINE_SH5         0x01a8 /* Hitachi SH5 */
+#define IMAGE_FILE_MACHINE_THUMB       0x01c2 /* Thumb */
+#define IMAGE_FILE_MACHINE_WCEMIPSV2   0x0169 /* MIPS little-endian WCE v2 */
+
 #define IMAGE_DOS_SIGNATURE 0x5A4D
 #define IMAGE_OS2_SIGNATURE 0x454E
 #define IMAGE_OS2_SIGNATURE_LE 0x454C
@@ -1080,16 +1094,30 @@ typedef DWORD FLONG;
 #define IMAGE_SIZEOF_LINENUMBER 6
 #define IMAGE_SIZEOF_ARCHIVE_MEMBER_HDR 60
 #define SIZEOF_RFPO_DATA 16
+
 #define IMAGE_SUBSYSTEM_UNKNOWN        0
 #define IMAGE_SUBSYSTEM_NATIVE 1
 #define IMAGE_SUBSYSTEM_WINDOWS_GUI    2
 #define IMAGE_SUBSYSTEM_WINDOWS_CUI    3
-#define IMAGE_SUBSYSTEM_OS2_CUI        5
+#define IMAGE_SUBSYSTEM_OS2_CUI                5  /* Not in PECOFF v8 spec */
 #define IMAGE_SUBSYSTEM_POSIX_CUI      7
-#define IMAGE_SUBSYSTEM_NATIVE_WINDOWS 8
+#define IMAGE_SUBSYSTEM_NATIVE_WINDOWS 8  /* Not in PECOFF v8 spec */
 #define IMAGE_SUBSYSTEM_WINDOWS_CE_GUI 9
+#define IMAGE_SUBSYSTEM_EFI_APPLICATION        10
+#define IMAGE_SUBSYSTEM_EFI_BOOT_SERVICE_DRIVER        11
+#define IMAGE_SUBSYSTEM_EFI_RUNTIME_DRIVER     12
+#define IMAGE_SUBSYSTEM_EFI_ROM        13
 #define IMAGE_SUBSYSTEM_XBOX   14
-#define IMAGE_DLLCHARACTERISTICS_WDM_DRIVER  0x2000
+
+#define IMAGE_DLL_CHARACTERISTICS_DYNAMIC_BASE         0x0040
+#define IMAGE_DLL_CHARACTERISTICS_FORCE_INTEGRITY      0x0080
+#define IMAGE_DLL_CHARACTERISTICS_NX_COMPAT            0x0100
+#define IMAGE_DLLCHARACTERISTICS_NO_ISOLATION          0x0200
+#define IMAGE_DLLCHARACTERISTICS_NO_SEH                        0x0400
+#define IMAGE_DLLCHARACTERISTICS_NO_BIND               0x0800
+#define IMAGE_DLLCHARACTERISTICS_WDM_DRIVER            0x2000
+#define IMAGE_DLLCHARACTERISTICS_TERMINAL_SERVER_AWARE 0x8000
+
 #define IMAGE_FIRST_SECTION(h) ((PIMAGE_SECTION_HEADER) ((DWORD)h+FIELD_OFFSET(IMAGE_NT_HEADERS,OptionalHeader)+((PIMAGE_NT_HEADERS)(h))->FileHeader.SizeOfOptionalHeader))
 #define IMAGE_DIRECTORY_ENTRY_EXPORT   0
 #define IMAGE_DIRECTORY_ENTRY_IMPORT   1
@@ -1121,7 +1149,8 @@ typedef DWORD FLONG;
 #define IMAGE_SCN_TYPE_OVER 1024
 #define IMAGE_SCN_LNK_REMOVE 2048
 #define IMAGE_SCN_LNK_COMDAT 4096
-#define IMAGE_SCN_MEM_FARDATA 0x8000
+#define IMAGE_SCN_GPREL        0x8000 /*  Valid only for IA64 */
+#define IMAGE_SCN_MEM_FARDATA 0x8000 /* Not in PECOFF v8 spec */
 #define IMAGE_SCN_MEM_PURGEABLE 0x20000
 #define IMAGE_SCN_MEM_16BIT 0x20000
 #define IMAGE_SCN_MEM_LOCKED  0x40000
@@ -1192,32 +1221,87 @@ typedef DWORD FLONG;
 #define IMAGE_SYM_CLASS_MEMBER_OF_ENUM 16
 #define IMAGE_SYM_CLASS_REGISTER_PARAM 17
 #define IMAGE_SYM_CLASS_BIT_FIELD 18
-#define IMAGE_SYM_CLASS_FAR_EXTERNAL 68
+#define IMAGE_SYM_CLASS_FAR_EXTERNAL 68 /* Not in PECOFF v8 spec */
 #define IMAGE_SYM_CLASS_BLOCK 100
 #define IMAGE_SYM_CLASS_FUNCTION 101
 #define IMAGE_SYM_CLASS_END_OF_STRUCT 102
 #define IMAGE_SYM_CLASS_FILE 103
 #define IMAGE_SYM_CLASS_SECTION 104
 #define IMAGE_SYM_CLASS_WEAK_EXTERNAL 105
+#define IMAGE_SYM_CLASS_CLR_TOKEN 107
+
 #define IMAGE_COMDAT_SELECT_NODUPLICATES 1
 #define IMAGE_COMDAT_SELECT_ANY 2
 #define IMAGE_COMDAT_SELECT_SAME_SIZE 3
 #define IMAGE_COMDAT_SELECT_EXACT_MATCH 4
 #define IMAGE_COMDAT_SELECT_ASSOCIATIVE 5
 #define IMAGE_COMDAT_SELECT_LARGEST 6
-#define IMAGE_COMDAT_SELECT_NEWEST 7
+#define IMAGE_COMDAT_SELECT_NEWEST 7 /* Not in PECOFF v8 spec */
+
 #define IMAGE_WEAK_EXTERN_SEARCH_NOLIBRARY 1
 #define IMAGE_WEAK_EXTERN_SEARCH_LIBRARY 2
 #define IMAGE_WEAK_EXTERN_SEARCH_ALIAS 3
-#define IMAGE_REL_I386_ABSOLUTE 0
-#define IMAGE_REL_I386_DIR16 1
-#define IMAGE_REL_I386_REL16 2
-#define IMAGE_REL_I386_DIR32 6
-#define IMAGE_REL_I386_DIR32NB 7
-#define IMAGE_REL_I386_SEG12 9
-#define IMAGE_REL_I386_SECTION 10
-#define IMAGE_REL_I386_SECREL 11
-#define IMAGE_REL_I386_REL32 20
+
+#define IMAGE_REL_I386_ABSOLUTE        0x0000
+#define IMAGE_REL_I386_DIR16   0x0001
+#define IMAGE_REL_I386_REL16   0x0002
+#define IMAGE_REL_I386_DIR32   0x0006
+#define IMAGE_REL_I386_DIR32NB 0x0007
+#define IMAGE_REL_I386_SEG12   0x0009
+#define IMAGE_REL_I386_SECTION 0x000A
+#define IMAGE_REL_I386_SECREL  0x000B
+#define IMAGE_REL_I386_TOKEN   0x000C
+#define IMAGE_REL_I386_SECREL7 0x000D
+#define IMAGE_REL_I386_REL32   0x0014
+
+#define IMAGE_REL_AMD64_ABSOLUTE       0x0000
+#define IMAGE_REL_AMD64_ADDR64         0x0001
+#define IMAGE_REL_AMD64_ADDR32         0x0002
+#define IMAGE_REL_AMD64_ADDR32NB       0x0003
+#define IMAGE_REL_AMD64_REL32          0x0004
+#define IMAGE_REL_AMD64_REL32_1                0x0005
+#define IMAGE_REL_AMD64_REL32_2                0x0006
+#define IMAGE_REL_AMD64_REL32_3                0x0007
+#define IMAGE_REL_AMD64_REL32_4                0x0008
+#define IMAGE_REL_AMD64_REL32_5                0x0009
+#define IMAGE_REL_AMD64_SECTION                0x000A
+#define IMAGE_REL_AMD64_SECREL         0x000B
+#define IMAGE_REL_AMD64_SECREL7                0x000C
+#define IMAGE_REL_AMD64_TOKEN          0x000D
+#define IMAGE_REL_AMD64_SREL32         0x000E
+#define IMAGE_REL_AMD64_PAIR           0x000F
+#define IMAGE_REL_AMD64_SSPAN32                0x0010
+
+#define IMAGE_REL_IA64_ABSOLUTE                0x0000
+#define IMAGE_REL_IA64_IMM14           0x0001
+#define IMAGE_REL_IA64_IMM22           0x0002
+#define IMAGE_REL_IA64_IMM64           0x0003
+#define IMAGE_REL_IA64_DIR32           0x0004
+#define IMAGE_REL_IA64_DIR64           0x0005
+#define IMAGE_REL_IA64_PCREL21B                0x0006
+#define IMAGE_REL_IA64_PCREL21M                0x0007
+#define IMAGE_REL_IA64_PCREL21F                0x0008
+#define IMAGE_REL_IA64_GPREL22         0x0009
+#define IMAGE_REL_IA64_LTOFF22         0x000A
+#define IMAGE_REL_IA64_SECTION         0x000B
+#define IMAGE_REL_IA64_SECREL22                0x000C
+#define IMAGE_REL_IA64_SECREL64I       0x000D
+#define IMAGE_REL_IA64_SECREL32                0x000E
+#define IMAGE_REL_IA64_DIR32NB         0x0010
+#define IMAGE_REL_IA64_SREL14          0x0011
+#define IMAGE_REL_IA64_SREL22          0x0012
+#define IMAGE_REL_IA64_SREL32          0x0013
+#define IMAGE_REL_IA64_UREL32          0x0014
+#define IMAGE_REL_IA64_PCREL60X                0x0015
+#define IMAGE_REL_IA64_PCREL60B                0x0016
+#define IMAGE_REL_IA64_PCREL60F                0x0017
+#define IMAGE_REL_IA64_PCREL60I                0x0018
+#define IMAGE_REL_IA64_PCREL60M                0x0019
+#define IMAGE_REL_IA64_IMMGPREL64      0x001a
+#define IMAGE_REL_IA64_TOKEN           0x001b
+#define IMAGE_REL_IA64_GPREL32         0x001c
+#define IMAGE_REL_IA64_ADDEND          0x001F
+
 #define IMAGE_REL_MIPS_ABSOLUTE 0
 #define IMAGE_REL_MIPS_REFHALF 1
 #define IMAGE_REL_MIPS_REFWORD 2