From 8b77afedbd4468fa57cd0dec48a5e6833365948a Mon Sep 17 00:00:00 2001 From: Ivan Komissarov Date: Sun, 15 Dec 2019 18:59:38 +0100 Subject: clang-cl: Fix cpp.generateLinkerMapFile when using lld-link.exe Change-Id: I0338983e1cf35e4639473db4b920f2e11cdc92b0 Reviewed-by: Denis Shienkov Reviewed-by: Christian Kandeler --- share/qbs/modules/cpp/msvc.js | 11 ++++++++--- 1 file changed, 8 insertions(+), 3 deletions(-) diff --git a/share/qbs/modules/cpp/msvc.js b/share/qbs/modules/cpp/msvc.js index 8b7864400..dead67b43 100644 --- a/share/qbs/modules/cpp/msvc.js +++ b/share/qbs/modules/cpp/msvc.js @@ -415,12 +415,13 @@ function prepareLinker(project, product, inputs, outputs, input, output) { subsystemSwitch = product.consoleApplication === false ? '/SUBSYSTEM:WINDOWS' : '/SUBSYSTEM:CONSOLE'; } + var useLldLink = product.cpp.linkerName === "lld-link.exe"; if (minimumWindowsVersion) { var subsystemVersion = WindowsUtils.getWindowsVersionInFormat(minimumWindowsVersion, 'subsystem'); if (subsystemVersion) { subsystemSwitch += ',' + subsystemVersion; - if (product.cpp.linkerName !== "lld-link.exe") // llvm linker does not support /OSVERSION + if (!useLldLink) // llvm linker does not support /OSVERSION args.push('/OSVERSION:' + subsystemVersion); } } @@ -478,8 +479,12 @@ function prepareLinker(project, product, inputs, outputs, input, output) { if (product.cpp.entryPoint) args.push("/ENTRY:" + product.cpp.entryPoint); - if (outputs.application && product.cpp.generateLinkerMapFile) - args.push("/MAP:" + outputs.mem_map[0].filePath); + if (outputs.application && product.cpp.generateLinkerMapFile) { + if (useLldLink) + args.push("/lldmap:" + outputs.mem_map[0].filePath); + else + args.push("/MAP:" + outputs.mem_map[0].filePath); + } args.push('/OUT:' + linkerOutputNativeFilePath) var libraryPaths = product.cpp.libraryPaths; -- cgit v1.2.3