[Bug 32991] win32-arm applications need ntdll.dll.RtlUnwindEx implementation for exception handling/unwinding
WineHQ Bugzilla
wine-bugs at winehq.org
Sun May 24 15:06:52 CDT 2020
https://bugs.winehq.org/show_bug.cgi?id=32991
Anastasius Focht <focht at gmx.net> changed:
What |Removed |Added
----------------------------------------------------------------------------
Summary|32-bit/64-bit Windows on |win32-arm applications need
|ARM applications need |ntdll.dll.RtlUnwindEx
|ntdll.dll.RtlUnwindEx |implementation for
|implementation |exception
| |handling/unwinding
--- Comment #11 from Anastasius Focht <focht at gmx.net> ---
Hello folks,
revisiting. The support for win64/arm64 was added in
https://source.winehq.org/git/wine.git/commitdiff/9220772d28c6c10051626dbf466faa713e3e9405
("ntdll: Add RtlUnwindEx spec entry for ARM64."), part of Wine 4.15 release.
Thanks André
For armv7 PE32 executables this is still missing. The app 'WabbitEMU' from XDA
developers forum actually starts and displays a configuration dialog now
without a crash on the target - progress. It will definitely hit the
unimplemented stub as soon as exception handling/unwinding is involved as part
of whatever error handling. Not sure how to trigger that now ;-)
Stable link via Internet Archive:
https://web.archive.org/web/20200524191508/https://dl.xda-cdn.com/1/7/2/5/6/9/7/Wabbitemu.zip?key=f3amU_k_CYdOsaGZdFNEEA&ts=1590347749
--- snip ---
$ uname -a
Linux hikey960 4.20.0-rc4+ #1 SMP PREEMPT Mon Dec 3 12:01:56 UTC 2018 aarch64
aarch64 aarch64 GNU/Linux
$ WINEDEBUG=+seh,+relay,+module,+loaddll wine ./Wabbitemu.exe >>log.txt 2>&1
...
0024:trace:module:load_dll looking for L"KERNEL32.dll" in
L"E:\\home\\focht\\projects;C:\\windows\\system32;C:\\windows\\system;C:\\windows;.;C:\\windows\\system32;C:\\windows;C:\\windows\\system32\\wbem;C:\\windows\\system32\\WindowsPowershell\\v1.0"
0024:trace:module:load_dll Found L"C:\\windows\\system32\\kernel32.dll" for
L"KERNEL32.dll" at 0x7fbf0000, count=23
0024:warn:module:import_dll No implementation for KERNEL32.dll.RtlUnwindEx
imported from L"E:\\home\\focht\\projects\\Wabbitemu.exe", setting to
0x80140000
...
--- snip ---
https://source.winehq.org/git/wine.git/blob/056c9df854817670dc4fb9c095cba29c99089ac8:/dlls/ntdll/ntdll.spec#l1018
--- snip ---
1018 @ stdcall -arch=arm64,x86_64 RtlUnwindEx(ptr ptr ptr ptr ptr ptr)
--- snip ---
--- snip ---
$ file Wabbitemu.exe
Wabbitemu.exe: PE32 executable (GUI) ARMv7 Thumb, for MS Windows
$ winedump -j import Wabbitemu.exe
Contents of Wabbitemu.exe: 2574336 bytes
...
offset 00079bf8 KERNEL32.dll
Hint/Name Table: 0007AD34
TimeDateStamp: 00000000 (Thu Jan 1 01:00:00 1970)
ForwarderChain: 00000000
First thunk RVA: 0006A04C
Thunk Ordn Name
0006a04c 1209 RtlUnwindEx
0006a050 481 GetCommandLineA
0006a054 1205 RtlPcToFileHeader
0006a058 1203 RtlLookupFunctionEntry
...
--- snip ---
Although Windows RT is dead for a good while, the XDA developers community
still does ports of apps to ARMv7 which could be useful for testing.
$ sha1sum Wabbitemu.zip
1fce55d4e297db6c67545767ad60f2dc88ed597a Wabbitemu.zip
$ du -sh Wabbitemu.zip
1.7M Wabbitemu.zip
$ wine --version
wine-5.9
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