https://bugs.winehq.org/show_bug.cgi?id=48297
Zebediah Figura z.figura12@gmail.com changed:
What |Removed |Added ---------------------------------------------------------------------------- Status|NEW |RESOLVED Resolution|--- |NOTOURBUG
--- Comment #3 from Zebediah Figura z.figura12@gmail.com --- (In reply to Alexandre Julliard from comment #2)
It's probably because clang generates calls to memcpy, memset etc. using the host calling convention. There doesn't seem to be a good way of avoiding that, so it may require clang patches.
Looks like that's indeed the case:
000a:000b:Call setupapi.SetupDiGetDeviceInstallParamsW(004f0f40,0021e7a0,0021e558) ret=738e5a72 000a:000b:trace:setupapi:SetupDiGetDeviceInstallParamsW devinfo 00000000004F0F40, device_data 000000000021E7A0, params 000000000021E558. 000a:000b:Call msvcrt.memcpy(7fff693d4f4a,00000248,00000002) ret=7020ef04 000a:000b:Call kernelbase.UnhandledExceptionFilter(0021d4a0) ret=7b45f553
0x248 is the size of SP_DEVINSTALL_PARAMS; it's being put in %rdx when it should actually be in %r8. Resolving upstream.