Changeset 58729 in vbox
- Timestamp:
- Nov 18, 2015 12:55:41 AM (9 years ago)
- File:
-
- 1 edited
-
trunk/src/VBox/Runtime/common/ldr/ldrPE.cpp (modified) (5 diffs)
Legend:
- Unmodified
- Added
- Removed
-
trunk/src/VBox/Runtime/common/ldr/ldrPE.cpp
r58727 r58729 49 49 #endif 50 50 #include <iprt/formats/codeview.h> 51 #include "internal/ldrPE.h"51 #include <iprt/formats/pecoff.h> 52 52 #include "internal/ldr.h" 53 53 … … 602 602 603 603 604 /* The image_thunk_data32/64 structures are not very helpful except for getting RSI. keep them around till all the code has been converted. */ 605 typedef struct _IMAGE_THUNK_DATA32 606 { 607 union 608 { 609 uint32_t ForwarderString; 610 uint32_t Function; 611 uint32_t Ordinal; 612 uint32_t AddressOfData; 613 } u1; 614 } IMAGE_THUNK_DATA32; 615 typedef IMAGE_THUNK_DATA32 *PIMAGE_THUNK_DATA32; 616 617 604 618 /** @copydoc RTLDROPSPE::pfnResolveImports */ 605 619 static DECLCALLBACK(int) rtldrPEResolveImports32(PRTLDRMODPE pModPe, const void *pvBitsR, void *pvBitsW, PFNRTLDRIMPORT pfnGetImport, void *pvUser) … … 677 691 return rc; 678 692 } 693 694 695 /* The image_thunk_data32/64 structures are not very helpful except for getting RSI. keep them around till all the code has been converted. */ 696 typedef struct _IMAGE_THUNK_DATA64 697 { 698 union 699 { 700 uint64_t ForwarderString; 701 uint64_t Function; 702 uint64_t Ordinal; 703 uint64_t AddressOfData; 704 } u1; 705 } IMAGE_THUNK_DATA64; 706 typedef IMAGE_THUNK_DATA64 *PIMAGE_THUNK_DATA64; 679 707 680 708 … … 2964 2992 2965 2993 /** 2994 * Translate the PE/COFF machine name to a string. 2995 * 2996 * @returns Name string (read-only). 2997 * @param uMachine The PE/COFF machine. 2998 */ 2999 static const char *rtldrPEGetArchName(uint16_t uMachine) 3000 { 3001 switch (uMachine) 3002 { 3003 case IMAGE_FILE_MACHINE_I386: return "X86_32"; 3004 case IMAGE_FILE_MACHINE_AMD64: return "AMD64"; 3005 3006 case IMAGE_FILE_MACHINE_UNKNOWN: return "UNKNOWN"; 3007 case IMAGE_FILE_MACHINE_AM33: return "AM33"; 3008 case IMAGE_FILE_MACHINE_ARM: return "ARM"; 3009 case IMAGE_FILE_MACHINE_THUMB: return "THUMB"; 3010 case IMAGE_FILE_MACHINE_ARMNT: return "ARMNT"; 3011 case IMAGE_FILE_MACHINE_ARM64: return "ARM64"; 3012 case IMAGE_FILE_MACHINE_EBC: return "EBC"; 3013 case IMAGE_FILE_MACHINE_IA64: return "IA64"; 3014 case IMAGE_FILE_MACHINE_M32R: return "M32R"; 3015 case IMAGE_FILE_MACHINE_MIPS16: return "MIPS16"; 3016 case IMAGE_FILE_MACHINE_MIPSFPU: return "MIPSFPU"; 3017 case IMAGE_FILE_MACHINE_MIPSFPU16: return "MIPSFPU16"; 3018 case IMAGE_FILE_MACHINE_WCEMIPSV2: return "WCEMIPSV2"; 3019 case IMAGE_FILE_MACHINE_POWERPC: return "POWERPC"; 3020 case IMAGE_FILE_MACHINE_POWERPCFP: return "POWERPCFP"; 3021 case IMAGE_FILE_MACHINE_R4000: return "R4000"; 3022 case IMAGE_FILE_MACHINE_SH3: return "SH3"; 3023 case IMAGE_FILE_MACHINE_SH3DSP: return "SH3DSP"; 3024 case IMAGE_FILE_MACHINE_SH4: return "SH4"; 3025 case IMAGE_FILE_MACHINE_SH5: return "SH5"; 3026 default: return "UnknownMachine"; 3027 } 3028 } 3029 3030 3031 /** 2966 3032 * Validates the file header. 2967 3033 * … … 3621 3687 return VINF_SUCCESS; 3622 3688 } 3623 3624 3625 static const char *rtldrPEGetArchName(uint16_t uMachine)3626 {3627 switch (uMachine)3628 {3629 case IMAGE_FILE_MACHINE_I386: return "X86_32";3630 case IMAGE_FILE_MACHINE_AMD64: return "AMD64";3631 default: return "Unknown";3632 }3633 }3634 3635 3689 3636 3690
Note:
See TracChangeset
for help on using the changeset viewer.

