[Bug 44988] Win86emu for Windows RT fails with error 'Can't reserve memory (file is too big or corrupted)' when trying to run x86 apps (PE loader / PE32 executables for ARMv7 require ASLR)

WineHQ Bugzilla wine-bugs at winehq.org
Thu May 28 06:03:08 CDT 2020


https://bugs.winehq.org/show_bug.cgi?id=44988

--- Comment #7 from Anastasius Focht <focht at gmx.net> ---
Hello Austin,

MS ships the debuggers for all target architectures. From the installed Windows
10 SDK (on x86_64 host):

Windows 10 SDK, version 1903 = 18362.1.190318-1202.19h1_release_WindowsSDK.iso

--- snip ---
$ find . -iname "cdb.exe" -exec file {} \;

./drive_c/Program Files (x86)/Windows Kits/10/Debuggers/arm64/cdb.exe: PE32+
executable (console), for MS Windows
./drive_c/Program Files (x86)/Windows Kits/10/Debuggers/x86/cdb.exe: PE32
executable (console) Intel 80386, for MS Windows
./drive_c/Program Files (x86)/Windows Kits/10/Debuggers/arm/cdb.exe: PE32
executable (console) ARMv7 Thumb, for MS Windows
--- snip ---

--- snip ---
$ pwd
/home/focht/projects/win10-psdk/wineprefix64-psdk/drive_c/Program Files
(x86)/Windows Kits/10/Debuggers/arm

$ file *.exe
adplus.exe:            PE32 executable (console) Intel 80386 Mono/.Net
assembly, for MS Windows
adplusmanager.exe:     PE32 executable (GUI) Intel 80386 Mono/.Net assembly,
for MS Windows
agestore.exe:          PE32 executable (console) ARMv7 Thumb, for MS Windows
breakin.exe:           PE32 executable (console) ARMv7 Thumb, for MS Windows
cdb.exe:               PE32 executable (console) ARMv7 Thumb, for MS Windows
convertstore.exe:      PE32 executable (console) ARMv7 Thumb, for MS Windows
dbengprx.exe:          PE32 executable (GUI) ARMv7 Thumb, for MS Windows
dbgrpc.exe:            PE32 executable (console) ARMv7 Thumb, for MS Windows
dbgsrv.exe:            PE32 executable (GUI) ARMv7 Thumb, for MS Windows
dbh.exe:               PE32 executable (console) ARMv7 Thumb, for MS Windows
dumpchk.exe:           PE32 executable (console) ARMv7 Thumb, for MS Windows
dumpexam.exe:          PE32 executable (console) ARMv7 Thumb, for MS Windows
gflags.exe:            PE32 executable (console) ARMv7 Thumb, for MS Windows
kdbgctrl.exe:          PE32 executable (console) ARMv7 Thumb, for MS Windows
kd.exe:                PE32 executable (console) ARMv7 Thumb, for MS Windows
kdnet.exe:             PE32 executable (console) ARMv7 Thumb, for MS Windows
kdsrv.exe:             PE32 executable (GUI) ARMv7 Thumb, for MS Windows
KernelDumpDecrypt.exe: PE32 executable (console) ARMv7 Thumb, for MS Windows
kill.exe:              PE32 executable (console) ARMv7 Thumb, for MS Windows
list.exe:              PE32 executable (console) ARMv7 Thumb, for MS Windows
ntkd.exe:              PE32 executable (GUI) ARMv7 Thumb, for MS Windows
ntsd.exe:              PE32 executable (GUI) ARMv7 Thumb, for MS Windows
pdbcopy.exe:           PE32 executable (console) ARMv7 Thumb, for MS Windows
plmdebug.exe:          PE32 executable (console) ARMv7 Thumb, for MS Windows
remote.exe:            PE32 executable (console) ARMv7 Thumb, for MS Windows
rtlist.exe:            PE32 executable (console) ARMv7 Thumb, for MS Windows
symchk.exe:            PE32 executable (console) ARMv7 Thumb, for MS Windows
symstore.exe:          PE32 executable (console) ARMv7 Thumb, for MS Windows
tlist.exe:             PE32 executable (console) ARMv7 Thumb, for MS Windows
umdh.exe:              PE32 executable (console) ARMv7 Thumb, for MS Windows
usbview.exe:           PE32 executable (GUI) Intel 80386 Mono/.Net assembly,
for MS Windows
windbg.exe:            PE32 executable (GUI) ARMv7 Thumb, for MS Windows
--- snip ---

Most of executables are certainly the be run on ARMv7 processor.

'api-ms-win-downlevel-kernel32-l2-1.0.dll' -> introduced with Windows 8.1

https://www.geoffchappell.com/studies/windows/win32/apisetschema/history/sets63.htm

What exact Windows version is your Windows RT device? Windows RT 8.0 maybe?
I've searched older versions of the Windows 10 SDK if there is any that ships
tools compatible with Windows RT 8.0.

https://developer.microsoft.com/en-us/windows/downloads/sdk-archive/

From:

https://docs.microsoft.com/en-us/windows-hardware/drivers/debugger/debugging-arm64

--- quote ---
Getting ARM Debugging Tools for Windows

You can get debugging tools for ARM64 by downloading the Windows 10 SDK
(version 10.0.16299 or later). During the installation, select the Debugging
Tools for Windows box.
--- quote ---

https://go.microsoft.com/fwlink/p/?linkid=864422

The 'cdb.exe' from that SDK version is older -> 2017-11-11. Sadly it still
seems to (delay) link against 'api-ms-win-downlevel-kernel32-l2-1-0.dll'.

To be honest, at this point it might be easier if you just cross-compile this
small example app which uses Toolhelp API for the Windows RT (ARMv7) device:

https://docs.microsoft.com/en-us/windows/win32/toolhelp/taking-a-snapshot-and-viewing-processes

It should do the same job ;-)

Regards

-- 
Do not reply to this email, post in Bugzilla using the
above URL to reply.
You are receiving this mail because:
You are watching all bug changes.



More information about the wine-bugs mailing list