The `-Wstringop-overread` fix feels a bit questionable (so I'll add Eric as a
reviewer to clarify the MSC structs details)
--
v3: winedump: Fail on NULL funcs in dump_dir_exceptions().
winedump: Use offsetof() for string position calculations.
https://gitlab.winehq.org/wine/wine/-/merge_requests/5625
Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=56661
Diablo II (at least with Project Diablo 2 mod) regressed with commit 8b3944e1341baaf693927c8b758851d2dbba725a ("ntdll: Only allocate debug info in critical sections with RTL_CRITICAL_SECTION_FLAG_FORCE_DEBUG_INFO."). I debugged that and found that a mod's DLL checks for the debug info presence specifically, and that works on modern Windows only because the game has compat shim enabled through Windows Compatibility Database ("AllocDebugInfoForCritSections").
I know that depending the behaviour on the Win version set in winecfg is not much favoured, but we have a couple of examples of that (e. g., kernelbase/file.c: CreateFileA()). So since this is a core part which changed behaviour on Windows but received a compatibility shim we may do so in this case.
--
https://gitlab.winehq.org/wine/wine/-/merge_requests/5635