ntdll: Add Support for loading ARM PEs

André Hentschel nerv at dawncrow.de
Mon Nov 1 15:57:57 CDT 2010


give ARM PEs a try, also needed for my upcoming project to implement the CE dlls
---
 dlls/ntdll/virtual.c |    4 ++++
 1 files changed, 4 insertions(+), 0 deletions(-)

diff --git a/dlls/ntdll/virtual.c b/dlls/ntdll/virtual.c
index da164a1..8cbab51 100644
--- a/dlls/ntdll/virtual.c
+++ b/dlls/ntdll/virtual.c
@@ -1097,6 +1097,9 @@ static NTSTATUS map_image( HANDLE hmapping, int fd, char *base, SIZE_T total_siz
 
 #ifdef __x86_64__
     if (nt->FileHeader.Machine != IMAGE_FILE_MACHINE_AMD64)
+#elif defined(__ARMEL__)
+    if (nt->FileHeader.Machine != IMAGE_FILE_MACHINE_ARM &&
+        nt->FileHeader.Machine != IMAGE_FILE_MACHINE_THUMB)
 #else
     if (nt->FileHeader.Machine != IMAGE_FILE_MACHINE_I386)
 #endif
@@ -1116,6 +1119,7 @@ static NTSTATUS map_image( HANDLE hmapping, int fd, char *base, SIZE_T total_siz
         case IMAGE_FILE_MACHINE_ALPHA64: MESSAGE("Alpha-64"); break;
         case IMAGE_FILE_MACHINE_AMD64:   MESSAGE("AMD-64"); break;
         case IMAGE_FILE_MACHINE_ARM:     MESSAGE("ARM"); break;
+        case IMAGE_FILE_MACHINE_THUMB:   MESSAGE("ARM Thumb"); break;
         case IMAGE_FILE_MACHINE_SPARC:   MESSAGE("SPARC"); break;
         default: MESSAGE("Unknown-%04x", nt->FileHeader.Machine); break;
         }
-- 

Best Regards, André Hentschel



More information about the wine-patches mailing list