[Bug 51539] New: "server: Get the process entry point from the exe image info" breaks running if exe is loaded at a non-default address
WineHQ Bugzilla
wine-bugs at winehq.org
Thu Jul 29 16:22:13 CDT 2021
https://bugs.winehq.org/show_bug.cgi?id=51539
Bug ID: 51539
Summary: "server: Get the process entry point from the exe
image info" breaks running if exe is loaded at a
non-default address
Product: Wine
Version: unspecified
Hardware: x86-64
OS: Linux
Status: UNCONFIRMED
Severity: normal
Priority: P2
Component: ntdll
Assignee: wine-bugs at winehq.org
Reporter: martin at martin.st
CC: jacek at codeweavers.com, julliard at winehq.org
Regression SHA1: a3c92a02cc7014cfdb1f90f1d070037868067097
Distribution: ---
Since "server: Get the process entry point from the exe image info",
a3c92a02cc7014cfdb1f90f1d070037868067097, starting a process fails if the exe
image ends up loaded at a non-default address.
This can be easily triggered e.g. with this patch:
---8<---
diff --git a/dlls/ntdll/unix/virtual.c b/dlls/ntdll/unix/virtual.c
index 8ceba611875..2515d73ee9e 100644
--- a/dlls/ntdll/unix/virtual.c
+++ b/dlls/ntdll/unix/virtual.c
@@ -2405,8 +2405,10 @@ static NTSTATUS virtual_map_image( HANDLE mapping,
ACCESS_MASK access, void **ad
base = wine_server_get_ptr( image_info->base );
if ((ULONG_PTR)base != image_info->base) base = NULL;
+#if 0
if ((char *)base >= (char *)address_space_start) /* make sure the DOS
area remains free */
status = map_view( &view, base, size, alloc_type & MEM_TOP_DOWN,
vprot, zero_bits_64 );
+#endif
if (status) status = map_view( &view, NULL, size, alloc_type &
MEM_TOP_DOWN, vprot, zero_bits_64 );
if (status) goto done;
---8<---
This seems to happen a lot on 32 bit arm builds (on Ubuntu 20.04), when the
expected low addresses used as default load address of 0x400000 conflicts with
e.g. /home/martin/wine32/share/wine/nls/sortdefault.nls which is mapped at
0x00230000-0x00564000.
--
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