https://bugs.winehq.org/show_bug.cgi?id=43884
Anastasius Focht focht@gmx.net changed:
What |Removed |Added ---------------------------------------------------------------------------- URL| |https://download.visualstud | |io.microsoft.com/download/p | |r/11437778/36f212a9738f5888 | |c73f46e0d25c1db7/microsoft. | |visualcpp.tools.hostx64.tar | |getx64.vsix CC| |focht@gmx.net Status|UNCONFIRMED |NEW Ever confirmed|0 |1
--- Comment #2 from Anastasius Focht focht@gmx.net --- Hello MTest31,
confirming, very good bug report quality. Rarely see that, thanks ;-)
I managed to reproduce with a simple test that doesn't need any further SDK/install dependencies in plain 64-bit WINEPREFIX.
The culprit is the debug information generation in PDB format -> force the compiler to create full symbolic info triggers this ('/DEBUG:full').
_memicmp_l is imported by:
* mspdbcore.dll * mspdbst.dll
Create a dummy source file:
--- snip --- $ cat main.c int main() { return 0; } --- snip ---
Build without CRT, otherwise you would need SDK libs:
--- snip --- $ wine ./cl.exe main.c /link /nodefaultlib /entry:main /verbose /DEBUG:full ... Microsoft (R) Incremental Linker Version 14.11.25547.0 Copyright (C) Microsoft Corporation. All rights reserved.
/out:main.exe /nodefaultlib /entry:main /verbose /DEBUG:full main.obj ... Starting pass 2 main.obj wine: Call from 0x7b494130 to unimplemented function api-ms-win-crt-string-l1-1-0.dll._memicmp_l, aborting
Version 14.11.25547.0
ExceptionCode = 80000100 ExceptionFlags = 00000001 ExceptionAddress = 000000007B494130 (000000007B460000) "C:\windows\system32\KERNEL32.dll" NumberParameters = 00000002 ExceptionInformation[ 0] = 00007FB7FE379D61 ExceptionInformation[ 1] = 00007FB7FE379E22
CONTEXT: Rax = 000000007B476B68 R8 = 0000000000000002 Rbx = 0000000000000004 R9 = 000000000149D9F0 Rcx = 000000000149D860 R10 = 000000007B5D2640 Rdx = 0000000000000010 R11 = 0000000000000000 Rsp = 000000000149D840 R12 = 00000000010B3F30 Rbp = 000000000149D9B0 E13 = 00000000010B2A40 Rsi = 000000000149D9F0 R14 = 0000000000000000 Rdi = 000000000149D880 R15 = 0000000000000001 Rip = 000000007B494130 EFlags = 0000000000000202 SegCs = 0000000000000033 SegDs = 0000000000000000 SegSs = 000000000000002B SegEs = 0000000000000000 SegFs = 0000000000000063 SegGs = 0000000000000000 Dr0 = 0017001600000000 Dr3 = 0023002200210020 Dr1 = 001B001A00190018 Dr6 = 0027002600250024 Dr2 = 001F001E001D001C Dr7 = 002B002A00290028 LINK : fatal error LNK1000: unknown error at 00000000004C1A60; consult documentation for technical support options --- snip ---
NOTE: To have cl.exe work this way from command line without proper install/SDK, a hack for missing 'clui.dll' is needed, otherwise it hangs:
--- snip --- .. fatal error C1510: Cannot load language resource clui.dll. err:ntdll:RtlpWaitForCriticalSection section 0x140037420 "?" wait timed out in thread 002a, blocked by 0000, retrying (60 sec) --- snip ---
https://social.msdn.microsoft.com/Forums/vstudio/en-US/78a72624-b89e-4989-94...
--- quote --- if you're using cl.exe as a command line compiler, or underneath a different editor, clui.dll has to be in a /1033 subdirectory or it can't be found :( --- quote ---
Something like this, only for testing without valid install:
--- snip --- $ pwd /home/focht/Downloads/Contents/VC/Tools/MSVC/14.11.25503/bin/Hostx64/x64
$ mkdir 1033
# any valid PE dll as dummy $ cp atlprov.dll 1033/clui.dll --- snip ---
Regards