1
0
Fork 0
mirror of synced 2025-03-07 03:53:26 +01:00

dbghelp: Don't fail on loading 64bit modules on 32bit applications.

Signed-off-by: Eric Pouech <epouech@codeweavers.com>
This commit is contained in:
Eric Pouech 2024-03-01 17:16:39 +01:00 committed by Alexandre Julliard
parent 0ca1350a03
commit 1648569fad
2 changed files with 1 additions and 6 deletions

View file

@ -268,12 +268,11 @@ BOOL pe_map_file(HANDLE file, struct image_file_map* fmap)
memcpy(&fmap->u.pe.opt.header32, &nthdr->OptionalHeader, sizeof(fmap->u.pe.opt.header32));
break;
case IMAGE_NT_OPTIONAL_HDR64_MAGIC:
if (sizeof(void*) == 4) return FALSE;
fmap->addr_size = 64;
memcpy(&fmap->u.pe.opt.header64, &nthdr->OptionalHeader, sizeof(fmap->u.pe.opt.header64));
break;
default:
return FALSE;
goto error;
}
fmap->u.pe.builtin = !memcmp((const IMAGE_DOS_HEADER*)mapping + 1, builtin_signature, sizeof(builtin_signature));

View file

@ -1575,9 +1575,7 @@ static void test_load_modules_path(void)
ok(ret, "SymInitialize failed: %lu\n", GetLastError());
make_path(filename, topdir, NULL, L"bar.dll");
base = SymLoadModuleExW(dummy, NULL, filename, NULL, 0x4000, 0x6666, NULL, 0);
todo_wine_if(sizeof(void*) == 4)
ok(base == 0x4000, "SymLoadModuleExW failed: %lu\n", GetLastError());
if (base == 0x4000 && sizeof(void*) != 4) { /* temp */
im.SizeOfStruct = sizeof(im);
ret = SymGetModuleInfoW64(dummy, base, &im);
ok(ret, "SymGetModuleInfow64 failed: %lu\n", GetLastError());
@ -1610,7 +1608,6 @@ static void test_load_modules_path(void)
}
todo_wine
ok(IsEqualGUID(&im.PdbSig70, &guid1), "Unexpected PDB GUID\n");
} /* temp */
ret = SymCleanup(dummy);
ok(ret, "SymCleanup failed: %lu\n", GetLastError());
for (ptr = test->test_files; *ptr; ptr++)
@ -1638,7 +1635,6 @@ static void test_load_modules_path(void)
ok(ret, "Couldn't create directory %ls\n", filename);
}
ret = RemoveDirectoryW(topdir);
todo_wine /* bug in Wine not closing all mappings */
ok(ret, "Couldn't remove directory\n");
}