-
Notifications
You must be signed in to change notification settings - Fork 11.9k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
[lld-link][arm64ec] error: msvcrtd.lib: machine type arm64 conflicts with arm64ec #113658
Comments
It's indeed in general a work in progress. But I would expect many things to work though. But you're using a (in this respect) very old version of LLVM, as the cmake output shows that you're using Clang 17. Around 18 or 19 I think the support is much more complete. Can you reduce your testcase to remove all the cmake, down to a single CC @cjacek As an aside, as was discussed on discord - we do support running outside of a developer command prompt as well, where the tools themselves discover the right path to libraries, if |
I've tried to compile: //#include <iostream>
int main(int argc, char **argv)
{
//std::cout << "Hello World!" << std::endl;
return 0;
} Using exactly the command you suggested without calling
|
Thanks, that reduces the testcase nicely, and with a recent enough toolchain. Hmm, @cjacek what's the status here, is this expected? |
This is still a work in progress. Linking against msvcrt requires nearly complete ARM64EC LLD support, with many missing features added after version 19. The quoted error should be addressed by #106904, but we’ll then need complete fixes for CHPE metadata symbols and anti-dependency symbols. With #113456, we’re one patch away from supporting this test case, plus a few more for broader support in upstream. In the meantime, I’m tracking WIP patches in my arm64ec branch (you can ignore the last two patches if hybrid ARM64X support isn’t needed). |
Thank you very much. I'll wait for LLVM 20. I can live without arm64ec for now. |
@llvm/issue-subscribers-lld-coff Author: Alexandre Bique (abique)
Hi,
It seems that LLVM isn't ready for arm64ec on Windows? Maybe I didn't correctly configure my environment, but I have the feeling that it
The environment is initialized using: @<!-- -->call "C:\Program Files\Microsoft Visual Studio\2022\Community\Common7\Tools\VsDevCmd.bat" -arch=arm64 -host_arch=amd64 -no_logo The cmake toolchain: set(CMAKE_SYSTEM_NAME Windows)
set(CMAKE_SYSTEM_PROCESSOR ARM64EC)
set(CMAKE_SYSTEM_VERSION 11)
set(CMAKE_C_FLAGS_INIT "--target=arm64ec-pc-windows-msvc")
set(CMAKE_CXX_FLAGS_INIT "--target=arm64ec-pc-windows-msvc")
# Need to set it manually or cmake will throw /machine:arm64 which is "incompatible"??
set(CMAKE_EXE_LINKER_FLAGS "/MACHINE:ARM64EC")
set(CMAKE_SHARED_LINKER_FLAGS "/MACHINE:ARM64EC")
set(CMAKE_STATIC_LINKER_FLAGS "/MACHINE:ARM64EC")
set(CMAKE_MODULE_LINKER_FLAGS "/MACHINE:ARM64EC") My environment: "environment": {
"WindowsSdkBinPath": "C:\\Program Files (x86)\\Windows Kits\\10\\bin\\",
"ALLUSERSPROFILE": "C:\\ProgramData",
"VCToolsRedistDir": "C:\\Program Files\\Microsoft Visual Studio\\2022\\Community\\VC\\Redist\\MSVC\\14.40.33807\\",
"INTEL_LICENSE_FILE": "C:\\Program Files (x86)\\Common Files\\Intel\\Licenses",
"WindowsSdkVerBinPath": "C:\\Program Files (x86)\\Windows Kits\\10\\bin\\10.0.26100.0\\",
"SystemDrive": "C:",
"VSCMD_VER": "17.11.5",
"DIRNAME": "C:\\dev\\dev1\\",
"USERNAME": "bique",
"INCLUDE": "C:\\Program Files\\Microsoft Visual Studio\\2022\\Community\\VC\\Tools\\MSVC\\14.41.34120\\include;C:\\Program Files\\Microsoft Visual Studio\\2022\\Community\\VC\\Auxiliary\\VS\\include;C:\\Program Files (x86)\\Windows Kits\\10\\include\\10.0.26100.0\\ucrt;C:\\Program Files (x86)\\Windows Kits\\10\\\\include\\10.0.26100.0\\\\um;C:\\Program Files (x86)\\Windows Kits\\10\\\\include\\10.0.26100.0\\\\shared;C:\\Program Files (x86)\\Windows Kits\\10\\\\include\\10.0.26100.0\\\\winrt;C:\\Program Files (x86)\\Windows Kits\\10\\\\include\\10.0.26100.0\\\\cppwinrt;C:\\Program Files (x86)\\Windows Kits\\NETFXSDK\\4.8\\include\\um",
"ProgramFiles(x86)": "C:\\Program Files (x86)",
"VSCMD_ARG_HOST_ARCH": "x64",
"DEFAULT_JVM_OPTS": "\"-Xmx64m\" \"-Xms64m\"",
"PATHEXT": ".COM;.EXE;.BAT;.CMD;.VBS;.VBE;.JS;.JSE;.WSF;.WSH;.MSC;.CPL",
"DriverData": "C:\\Windows\\System32\\Drivers\\DriverData",
"HOMEPATH": "\\Users\\bique",
"PROCESSOR_IDENTIFIER": "Intel64 Family 6 Model 94 Stepping 3, GenuineIntel",
"ProgramFiles": "C:\\Program Files",
"ExtensionSdkDir": "C:\\Program Files (x86)\\Microsoft SDKs\\Windows Kits\\10\\ExtensionSDKs",
"windir": "C:\\WINDOWS",
"__DOTNET_ADD_64BIT": "1",
"VSCMD_ARG_no_logo": "1",
"__DOTNET_PREFERRED_BITNESS": "64",
"WindowsSdkDir": "C:\\Program Files (x86)\\Windows Kits\\10\\",
"is_x64_arch": "true",
"UseMultiToolTask": "TRUE",
"UCRTVersion": "10.0.26100.0",
"__VSCMD_PREINIT_PATH": "C:\\Program Files\\Microsoft\\jdk-11.0.16.101-hotspot\\bin;C:\\Program Files\\Common Files\\Oracle\\Java\\javapath;C:\\WINDOWS\\system32;C:\\WINDOWS;C:\\WINDOWS\\System32\\Wbem;C:\\WINDOWS\\System32\\WindowsPowerShell\\v1.0\\;C:\\WINDOWS\\System32\\OpenSSH\\;C:\\Program Files (x86)\\Windows Kits\\8.1\\Windows Performance Toolkit\\;C:\\Program Files\\WireGuard\\;C:\\Program Files\\Microsoft VS Code\\bin;C:\\ProgramData\\chocolatey\\bin;C:\\Program Files (x86)\\NVIDIA Corporation\\PhysX\\Common;C:\\Program Files\\NVIDIA Corporation\\NVIDIA NvDLISR;C:\\Program Files (x86)\\QuickTime\\QTSystem\\;C:\\Program Files (x86)\\Windows Kits\\10\\Windows Performance Toolkit\\;C:\\Program Files\\TortoiseHg\\;C:\\Program Files\\Git\\cmd;C:\\Program Files\\PowerShell\\7\\;C:\\Users\\bique\\.cargo\\bin;C:\\Users\\bique\\AppData\\Local\\Microsoft\\WindowsApps;C:\\dev\\maven\\bin;C:\\dev\\bin;C:\\dev\\qmessage;C:\\Program Files\\JetBrains\\IntelliJ IDEA Community Edition 2019.3.2\\bin;;C:\\Program Files\\ImageMagick-7.0.11-Q16-HDRI;C:\\Program Files\\JetBrains\\RustRover 233.13135.127\\bin;;C:\\Program Files\\CMake\\bin",
"Path": "C:\\Program Files\\Microsoft Visual Studio\\2022\\Community\\VC\\Tools\\MSVC\\14.41.34120\\bin\\HostX64\\ARM64;C:\\Program Files\\Microsoft Visual Studio\\2022\\Community\\VC\\Tools\\MSVC\\14.41.34120\\bin\\HostX64\\x64;C:\\Program Files\\Microsoft Visual Studio\\2022\\Community\\Common7\\IDE\\VC\\VCPackages;C:\\Program Files\\Microsoft Visual Studio\\2022\\Community\\Common7\\IDE\\CommonExtensions\\Microsoft\\TestWindow;C:\\Program Files\\Microsoft Visual Studio\\2022\\Community\\Common7\\IDE\\CommonExtensions\\Microsoft\\TeamFoundation\\Team Explorer;C:\\Program Files\\Microsoft Visual Studio\\2022\\Community\\MSBuild\\Current\\bin\\Roslyn;C:\\Program Files (x86)\\Microsoft Visual Studio\\Shared\\Common\\VSPerfCollectionTools\\vs2019\\;C:\\Program Files (x86)\\Microsoft SDKs\\Windows\\v10.0A\\bin\\NETFX 4.8 Tools\\x64\\;C:\\Program Files\\Microsoft Visual Studio\\2022\\Community\\Team Tools\\DiagnosticsHub\\Collector;C:\\Program Files (x86)\\Windows Kits\\10\\bin\\10.0.26100.0\\\\x64;C:\\Program Files (x86)\\Windows Kits\\10\\bin\\\\x64;C:\\Program Files\\Microsoft Visual Studio\\2022\\Community\\\\MSBuild\\Current\\Bin\\amd64;C:\\Windows\\Microsoft.NET\\Framework64\\v4.0.30319;C:\\Program Files\\Microsoft Visual Studio\\2022\\Community\\Common7\\IDE\\;C:\\Program Files\\Microsoft Visual Studio\\2022\\Community\\Common7\\Tools\\;C:\\Program Files\\Microsoft\\jdk-11.0.16.101-hotspot\\bin;C:\\Program Files\\Common Files\\Oracle\\Java\\javapath;C:\\WINDOWS\\system32;C:\\WINDOWS;C:\\WINDOWS\\System32\\Wbem;C:\\WINDOWS\\System32\\WindowsPowerShell\\v1.0\\;C:\\WINDOWS\\System32\\OpenSSH\\;C:\\Program Files (x86)\\Windows Kits\\8.1\\Windows Performance Toolkit\\;C:\\Program Files\\WireGuard\\;C:\\Program Files\\Microsoft VS Code\\bin;C:\\ProgramData\\chocolatey\\bin;C:\\Program Files (x86)\\NVIDIA Corporation\\PhysX\\Common;C:\\Program Files\\NVIDIA Corporation\\NVIDIA NvDLISR;C:\\Program Files (x86)\\QuickTime\\QTSystem\\;C:\\Program Files (x86)\\Windows Kits\\10\\Windows Performance Toolkit\\;C:\\Program Files\\TortoiseHg\\;C:\\Program Files\\Git\\cmd;C:\\Program Files\\PowerShell\\7\\;C:\\Users\\bique\\.cargo\\bin;C:\\Users\\bique\\AppData\\Local\\Microsoft\\WindowsApps;C:\\dev\\maven\\bin;C:\\dev\\bin;C:\\dev\\qmessage;C:\\Program Files\\JetBrains\\IntelliJ IDEA Community Edition 2019.3.2\\bin;;C:\\Program Files\\ImageMagick-7.0.11-Q16-HDRI;C:\\Program Files\\JetBrains\\RustRover 233.13135.127\\bin;;C:\\Program Files\\CMake\\bin;C:\\Program Files\\Microsoft Visual Studio\\2022\\Community\\VC\\Tools\\Llvm\\x64\\bin;C:\\Program Files\\Microsoft Visual Studio\\2022\\Community\\Common7\\IDE\\CommonExtensions\\Microsoft\\CMake\\CMake\\bin;C:\\Program Files\\Microsoft Visual Studio\\2022\\Community\\Common7\\IDE\\CommonExtensions\\Microsoft\\CMake\\Ninja;C:\\Program Files\\Microsoft Visual Studio\\2022\\Community\\Common7\\IDE\\VC\\Linux\\bin\\ConnectionManagerExe",
"VCINSTALLDIR": "C:\\Program Files\\Microsoft Visual Studio\\2022\\Community\\VC\\",
"LIB": "C:\\Program Files\\Microsoft Visual Studio\\2022\\Community\\VC\\Tools\\MSVC\\14.41.34120\\lib\\ARM64;C:\\Program Files (x86)\\Windows Kits\\10\\lib\\10.0.26100.0\\ucrt\\arm64;C:\\Program Files (x86)\\Windows Kits\\10\\\\lib\\10.0.26100.0\\\\um\\arm64",
"VSCMD_ARG_TGT_ARCH": "arm64",
"ComSpec": "C:\\WINDOWS\\system32\\cmd.exe",
"VisualStudioVersion": "17.0",
"HOMEDRIVE": "C:",
"FrameworkVersion": "v4.0.30319",
"WindowsSDKLibVersion": "10.0.26100.0\\",
"VCToolsVersion": "14.41.34120",
"WindowsSDK_ExecutablePath_x64": "C:\\Program Files (x86)\\Microsoft SDKs\\Windows\\v10.0A\\bin\\NETFX 4.8 Tools\\x64\\",
"PROCESSOR_LEVEL": "6",
"PROCESSOR_ARCHITECTURE": "AMD64",
"EXTERNAL_INCLUDE": "C:\\Program Files\\Microsoft Visual Studio\\2022\\Community\\VC\\Tools\\MSVC\\14.41.34120\\include;C:\\Program Files\\Microsoft Visual Studio\\2022\\Community\\VC\\Auxiliary\\VS\\include;C:\\Program Files (x86)\\Windows Kits\\10\\include\\10.0.26100.0\\ucrt;C:\\Program Files (x86)\\Windows Kits\\10\\\\include\\10.0.26100.0\\\\um;C:\\Program Files (x86)\\Windows Kits\\10\\\\include\\10.0.26100.0\\\\shared;C:\\Program Files (x86)\\Windows Kits\\10\\\\include\\10.0.26100.0\\\\winrt;C:\\Program Files (x86)\\Windows Kits\\10\\\\include\\10.0.26100.0\\\\cppwinrt;C:\\Program Files (x86)\\Windows Kits\\NETFXSDK\\4.8\\include\\um",
"DevEnvDir": "C:\\Program Files\\Microsoft Visual Studio\\2022\\Community\\Common7\\IDE\\",
"PreferredToolArchitecture": "x64",
"FrameworkVersion64": "v4.0.30319",
"VCToolsInstallDir": "C:\\Program Files\\Microsoft Visual Studio\\2022\\Community\\VC\\Tools\\MSVC\\14.41.34120\\",
"ProgramData": "C:\\ProgramData",
"ProgramW6432": "C:\\Program Files",
"LIBPATH": "C:\\Program Files\\Microsoft Visual Studio\\2022\\Community\\VC\\Tools\\MSVC\\14.41.34120\\lib\\ARM64;C:\\Program Files\\Microsoft Visual Studio\\2022\\Community\\VC\\Tools\\MSVC\\14.41.34120\\lib\\x86\\store\\references;C:\\Program Files (x86)\\Windows Kits\\10\\UnionMetadata\\10.0.26100.0;C:\\Program Files (x86)\\Windows Kits\\10\\References\\10.0.26100.0;C:\\Windows\\Microsoft.NET\\Framework64\\v4.0.30319",
"POWERSHELL_DISTRIBUTION_CHANNEL": "MSI:Windows 10 Home",
"WindowsSDKVersion": "10.0.26100.0\\",
"VSCMD_ARG_app_plat": "Desktop",
"WindowsSDK_ExecutablePath_x86": "C:\\Program Files (x86)\\Microsoft SDKs\\Windows\\v10.0A\\bin\\NETFX 4.8 Tools\\",
"LOCALAPPDATA": "C:\\Users\\bique\\AppData\\Local",
"NETFXSDKDir": "C:\\Program Files (x86)\\Windows Kits\\NETFXSDK\\4.8\\",
"WindowsLibPath": "C:\\Program Files (x86)\\Windows Kits\\10\\UnionMetadata\\10.0.26100.0;C:\\Program Files (x86)\\Windows Kits\\10\\References\\10.0.26100.0",
"UniversalCRTSdkDir": "C:\\Program Files (x86)\\Windows Kits\\10\\",
"CommandPromptType": "Cross",
"CommonProgramFiles": "C:\\Program Files\\Common Files",
"VCIDEInstallDir": "C:\\Program Files\\Microsoft Visual Studio\\2022\\Community\\Common7\\IDE\\VC\\",
"Framework40Version": "v4.0",
"OS": "Windows_NT",
"VSINSTALLDIR": "C:\\Program Files\\Microsoft Visual Studio\\2022\\Community\\",
"VS170COMNTOOLS": "C:\\Program Files\\Microsoft Visual Studio\\2022\\Community\\Common7\\Tools\\",
"FrameworkDir64": "C:\\Windows\\Microsoft.NET\\Framework64\\",
"PROCESSOR_REVISION": "5e03",
"CommonProgramW6432": "C:\\Program Files\\Common Files",
"FrameworkDir": "C:\\Windows\\Microsoft.NET\\Framework64\\",
"SystemRoot": "C:\\WINDOWS",
"POWERSHELL_TELEMETRY_OPTOUT": "1",
"CommonProgramFiles(x86)": "C:\\Program Files (x86)\\Common Files"
}, Thanks, |
Hi,
It seems that LLVM isn't ready for arm64ec on Windows?
I've tried both LLVM bundled with Visual Studio and LLVM 19.1.2, and I got the same results.
Maybe I didn't correctly configure my environment, but I have the feeling that it
lld-link
which isn't able to find the correct files or perform the required adjustments.The environment is initialized using:
The cmake toolchain:
My environment:
Thanks,
Alex
The text was updated successfully, but these errors were encountered: