https://bugs.winehq.org/show_bug.cgi?id=53032 --- Comment #17 from Bernhard Übelacker <bernhardu(a)mailbox.org> --- I redid the steps inside a Fedore 35 VM, with gcc 11.3.1. There I can confirm the assembly for SetupCloseLog is equal. (Except two instructions swapped before the EnterCriticalSection.) But there the $esp value at the ret instruction is the same as at SetupCloseLog+0. But still a segfault is observable because the stack memory holding the return address for the ret instruction got overwritten here: (rr) stepi 0xf7b93f10 in __wine_syscall_dispatcher () 1: x/i $pc => 0xf7b93f10 <__wine_syscall_dispatcher+20>: mov %esp,0xc(%ecx) 3: *(void**)0x165ef4c = (void *) 0x7d8c9f9c <DllMain+124> (rr) bt #0 0xf7b93f10 in __wine_syscall_dispatcher () #1 0x7b087541 in CloseHandle () #2 0x7d8b9b6f in SetupCloseLog () #3 0x7d8c9f9c in DllMain () #4 0x7bc55216 in call_dll_entry_point () #5 0x7bc59ae1 in MODULE_InitDLL () #6 0x7bc5a07f in process_detach () ... (rr) stepi 0xf7b93f13 in __wine_syscall_dispatcher () 1: x/i $pc => 0xf7b93f13 <__wine_syscall_dispatcher+23>: mov %cs,0x10(%ecx) 3: *(void**)0x165ef4c = (void *) 0x165eeec @Artem: If you build with MinGW cross compilers, which versions do you have installed? @All: Is a MinGW-less build still considered fully supported? -- 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.