[Bug 49660] New: Doom 2 over dosbox doesn't start

WineHQ Bugzilla wine-bugs at winehq.org
Thu Aug 6 06:34:32 CDT 2020


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

            Bug ID: 49660
           Summary: Doom 2 over dosbox doesn't start
           Product: Wine
           Version: 5.14
          Hardware: x86
                OS: Linux
            Status: UNCONFIRMED
          Severity: normal
          Priority: P2
         Component: ntdll
          Assignee: wine-bugs at winehq.org
          Reporter: ahiler at codeweavers.com
      Distribution: ---

Doom II from Steam runs via dosbox.exe. It comes with SDL.dll that seems to
have one of the relocation/fixup entries broken.

> 00f4:trace:module:perform_relocations relocating from 68100000-6815F000 to 00220000-0027F000
> 00f4:warn:module:perform_relocations invalid address 00288000 in relocation 0027E4A0
> 00f4:warn:module:load_dll Failed to load module L"SDL.dll"; status=c0000005

DLL's preferred base: 0x68100000
DLL's virtual size:   0x0005f000

On my system libwine gets mapped in that range

> 6803b000-681a0000 r--p 0000d000 00:1a 1144057/home/l1/src/wine/libs/wine/libwine.so.1.0

which forces the loader to handle relocations and fixups the addreses which
leads to the failure presented above.

Browsing support forums for the game seems like this is never an issue on
Windows, so I've written a small program that VirutalAlloc(MEM_RESERVE) over
SDL.dll's base range and then LoadLIbraryA("SDL.dll") to force relocation.

> Exception thrown at 0x77CFEFA6 (ntdll.dll) in sdl_reloc_test.exe: 0xC0000005: Access violation writing location 0x017F8D58.

Conclusion: this range seem to be always available on Windows and we should
extend preloader's low memory area over it.

-- 
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