error MSB6006: "link.exe" exited with code -1073740791. When run SDV (Static Driver Verifier)
We migrated a KMDF USB project to Visual Studio Version 17.7.6 and SDK, WDK version 10.0.22621.2428.
When build through Visual Studio Project is building successfully.
I have also ran Code Analysis on complete solution and it is also clean.
But When I run SDV(static driver verifier) from Visual Studio->Extensions->Driver->Launch Static Driver Verifier, it is failing at building stage.
Also, tried with Visual Studio developer command prompt, ran the command and it is failing at same stage
D:\dev-area\workspace\baxter\WAUSB-31Oct23-SDV\Source\WaUsb>msbuild /t:sdv /p:Inputs="/check:* /debug" "WaUsb.vcxproj" /p:Configuration=Release /p:Platform=x64
MSBuild version 17.7.2+d6990bcfa for .NET Framework
Build started 11/06/2023 3:47:35 PM.
Project "D:\dev-area\workspace\baxter\WAUSB-31Oct23-SDV\Source\WaUsb\WaUsb.vcxproj" on node 1 (sdv target(s)).
sdv:
staticdv /check:* /debug
SDV: C:\Program Files (x86)\Windows Kits\10\TOOLS\SDV
SMV: C:\Program Files (x86)\Windows Kits\10\TOOLS\SDV\smv
SDVAP: C:\Program Files (x86)\Windows Kits\10\TOOLS\SDV\smv\analysisplugins\sdv
Build environment: msbuild
[INFO] Cleaning ...
[INFO] Setting interceptor platform to x64
[INFO] Setting platform to x86_amd64
[DEBUG] Transformation successful
[INFO] Validating XML against schema: C:\Program Files (x86)\Windows Kits\10\TOOLS\SDV\smv\bin\Config.xsd
[DEBUG] The validity is True
[INFO] Running local scheduler with 12 threads
[DEBUG] Reached Execute of Local
[DEBUG] Reached Execute of Master
[DEBUG] Reached Execute of Local
[DEBUG] Reached Execute of Local
[DEBUG] Reached Execute of Local
[DEBUG] Reached Execute of Local
[DEBUG] Reached Execute of Local
[DEBUG] Reached Execute of Local
[DEBUG] Reached Execute of Local
[DEBUG] Reached Execute of Local
[DEBUG] Reached Execute of Local
[DEBUG] Reached Execute of Local
[DEBUG] Reached Execute of Local
[DEBUG] Queuing action: NormalBuild on local
[DEBUG] scheduler found for local
[DEBUG] Reached Add Action of Local NormalBuild
[DEBUG] Executing: NormalBuild
[DEBUG] cumulative exit code is 0
[INFO] Driver type found: wdm
[INFO] Currently reading and validating XML settings from C:\Program Files (x86)\Windows Kits\10\TOOLS\SDV\data\wdm\sdv-default.xml
[INFO] Currently reading and validating XML settings from a user provided configuration in D:\dev-area\workspace\baxter\WAUSB-31Oct23-SDV\Source\WaUsb\sdv-default.xml
[DEBUG] Reached ActionComplete of Master NormalBuild
[DEBUG] entry.action
[DEBUG] [workingDir, D:\dev-area\workspace\baxter\WAUSB-31Oct23-SDV\Source\WaUsb]
[DEBUG] [logFilePath, ]
[DEBUG] [assemblyDir, C:\Program Files (x86)\Windows Kits\10\TOOLS\SDV\smv\bin]
[DEBUG] [configFilePath, C:\Program Files (x86)\Windows Kits\10\TOOLS\SDV\smv\analysisplugins\sdv\configurations\msbuild-build-verify.xml]
[DEBUG] [smvLogFileNamePrefix, smvbuild]
[DEBUG] [sdv_keepMap, false]
[DEBUG] [rulesBasePath, C:\Program Files (x86)\Windows Kits\10\TOOLS\SDV\rules\]
[DEBUG] [platform, x86_amd64]
[DEBUG] [interceptorPlatform, x64]
[DEBUG] [interceptorPath, C:\Program Files\Microsoft Visual Studio\2022\Professional\VC\\Tools\MSVC\14.37.32822\bin\HostX86\x64\cl.exe]
[DEBUG] [finalCompilePath, C:\Program Files\Microsoft Visual Studio\2022\Professional\VC\\Tools\MSVC\14.37.32822\bin\HostX86\x64\;C:\Program Files\Microsoft Visual Studio\2022\Professional\VC\\Tools\MSVC\14.3
7.32822\bin\HostX86\x86]
[DEBUG] [debugMode, true]
[DEBUG] [SDVUseDebugCompiler, --debug_compiler]
[DEBUG] [projectFile, WaUsb.vcxproj]
[DEBUG] [KmIncludePath, C:\Program Files (x86)\Windows Kits\10\Include\10.0.22621.0\km\crt;C:\Program Files (x86)\Windows Kits\10\Include\10.0.22621.0\km;C:\Program Files (x86)\Windows Kits\10\Include\10.0.22
621.0\shared]
[DEBUG] [dev14, C:\Program Files\Microsoft Visual Studio\2022\Professional\VC\]
[DEBUG] [WDKTelemetryEnabled, true]
[DEBUG] [telemetryDevMode, false]
[DEBUG] [name, NormalBuild]
[DEBUG] [actionPath, D:\dev-area\workspace\baxter\WAUSB-31Oct23-SDV\Source\WaUsb]
[DEBUG] [outputDir, D:\dev-area\workspace\baxter\WAUSB-31Oct23-SDV\Source\WaUsb\sdv]
[DEBUG] [driverType, wdm]
[DEBUG] smvvars
[DEBUG] [workingDir, D:\dev-area\workspace\baxter\WAUSB-31Oct23-SDV\Source\WaUsb]
[DEBUG] [logFilePath, ]
[DEBUG] [assemblyDir, C:\Program Files (x86)\Windows Kits\10\TOOLS\SDV\smv\bin]
[DEBUG] [configFilePath, C:\Program Files (x86)\Windows Kits\10\TOOLS\SDV\smv\analysisplugins\sdv\configurations\msbuild-build-verify.xml]
[DEBUG] [smvLogFileNamePrefix, smvbuild]
[DEBUG] [sdv_keepMap, false]
[DEBUG] [rulesBasePath, C:\Program Files (x86)\Windows Kits\10\TOOLS\SDV\rules\]
[DEBUG] [platform, x86_amd64]
[DEBUG] [interceptorPlatform, x64]
[DEBUG] [interceptorPath, C:\Program Files\Microsoft Visual Studio\2022\Professional\VC\\Tools\MSVC\14.37.32822\bin\HostX86\x64\cl.exe]
[DEBUG] [finalCompilePath, C:\Program Files\Microsoft Visual Studio\2022\Professional\VC\\Tools\MSVC\14.37.32822\bin\HostX86\x64\;C:\Program Files\Microsoft Visual Studio\2022\Professional\VC\\Tools\MSVC\14.3
7.32822\bin\HostX86\x86]
[DEBUG] [debugMode, true]
[DEBUG] [SDVUseDebugCompiler, --debug_compiler]
[DEBUG] [projectFile, WaUsb.vcxproj]
[DEBUG] [KmIncludePath, C:\Program Files (x86)\Windows Kits\10\Include\10.0.22621.0\km\crt;C:\Program Files (x86)\Windows Kits\10\Include\10.0.22621.0\km;C:\Program Files (x86)\Windows Kits\10\Include\10.0.22
621.0\shared]
[DEBUG] [dev14, C:\Program Files\Microsoft Visual Studio\2022\Professional\VC\]
[DEBUG] [WDKTelemetryEnabled, true]
[DEBUG] [telemetryDevMode, false]
[DEBUG] [outputDir, D:\dev-area\workspace\baxter\WAUSB-31Oct23-SDV\Source\WaUsb\sdv]
[DEBUG] [oldOutputDir, D:\dev-area\workspace\baxter\WAUSB-31Oct23-SDV\Source\WaUsb\x64\Release]
[DEBUG] [driverType, wdm]
[DEBUG] [sdvRulesPath, C:\Program Files (x86)\Windows Kits\10\TOOLS\SDV\rules\wdm]
[DEBUG] [backupEngine, ]
[DEBUG] [ModelExportLibraries, ]
[DEBUG] [SlamCFlags, ]
[DEBUG] [FrontEnd, esp]
[DEBUG] [Engine, engineq]
[DEBUG] [MaxDriverSize, 100000]
[DEBUG] [localThreads, 12]
[DEBUG] [SlamclFlags, --smv --input "[$outputDir]\scan" --final --output slam --tune_entry_points "[$outputDir]\Sdv-Map.h" /D_SDV_ "-I[$workingDir]" "-I[$outputDir]" "-I[$headersDir]" "-I%sdv%\osmodel\[$dr
iverType]" [$sdvFinalCompileClArgs] /FI"[$analysisDir]\[$analysisProperty]\[$analysisProperty].h" /FI"%sdv%\osmodel\[$driverType]\harness-defs.h" /FI"[$outputDir]\sdv-map.h" "-I%sdv%\rules\[$driverType]" @"[
$outputDir]\sdv_cl.rsp" "[$outputDir]\sdv-harness.c"]
[DEBUG] [OsModelLibraries, no_cfg_support.lib,bufferoverflowfastfailk.lib,csq.lib,int64.lib,rtlver.lib,ntstrsafe.lib,sehupd.lib,wdmsec.lib,wdm.lib,ntoskrnl.lib,BufferOverflowK.lib,hal.lib,wmilib.lib,memcmp.li
b,usbd.lib,armrt.lib]
[DEBUG] [ScannerFlags, --input slam --output scan --entry_points_base "%sdv%\osmodel\[$driverType]\dispatch_routines.h" /D_SDV_]
[DEBUG] [SlamFlags, -driver -arrays -no_pa 3 -field_pa_version nocollapse -max_fields_nocollapse 100 -driver -arrays -no_pa 3 -field_pa_version nocollapse -max_fields_nocollapse 100 -halt_labels -gate RunDisp
atchFunction -driver -arrays -no_pa 3 -field_pa_version nocollapse -max_fields_nocollapse 100]
[DEBUG] [headersDir, D:\dev-area\workspace\baxter\WAUSB-31Oct23-SDV\Source\WaUsb\sdv\headers]
[DEBUG] [sdvFinalCompileClArgs, /DSDV_Include_NTDDK /DSDV_Include_NTIFS]
[DEBUG] Queuing action: InterceptedBuild on local
[INFO] 1 of 2 jobs remaining. Avg(s): 12.00. Std.Dev(s): 0.00[DEBUG] scheduler found for local
[DEBUG] Reached Add Action of Local InterceptedBuild
[DEBUG] Executing: InterceptedBuild
[DEBUG] cumulative exit code is 1
[FATAL ERROR] Unrecoverable error in InterceptedBuild stage.
C:\Program Files (x86)\Windows Kits\10\build\10.0.22621.0\windowsdriver.Sdv.targets(136,9): error MSB3073: The command "staticdv /check:* /debug" exited with code -1. [D:\dev-area\workspace\baxter\WAUSB-31Oct23
-SDV\Source\WaUsb\WaUsb.vcxproj]
Done Building Project "D:\dev-area\workspace\baxter\WAUSB-31Oct23-SDV\Source\WaUsb\WaUsb.vcxproj" (sdv target(s)) -- FAILED.
Build FAILED.
"D:\dev-area\workspace\baxter\WAUSB-31Oct23-SDV\Source\WaUsb\WaUsb.vcxproj" (sdv target) (1) ->
(sdv target) ->
C:\Program Files (x86)\Windows Kits\10\build\10.0.22621.0\windowsdriver.Sdv.targets(136,9): error MSB3073: The command "staticdv /check:* /debug" exited with code -1. [D:\dev-area\workspace\baxter\WAUSB-31Oct
23-SDV\Source\WaUsb\WaUsb.vcxproj]
0 Warning(s)
1 Error(s)
Time Elapsed 00:00:53.87
D:\dev-area\workspace\baxter\WAUSB-31Oct23-SDV\Source\WaUsb>
When analyzed smvbuild.log, I have found below link error.
Task "Link"
C:\Program Files (x86)\Windows Kits\10\TOOLS\SDV\smv\bin\link.exe /ERRORREPORT:QUEUE /OUT:"D:\dev-area\workspace\baxter\WAUSB-31Oct23-SDV\Sourcex64\Release\WaUsb.sys" /VERSION:"10.0" /INCREMENTAL:NO /NOLOGO /WX /SECTION:"INIT,d" USBD.lib "C:\Program Files (x86)\Windows Kits\10\lib\10.0.22621.0\km\x64\BufferOverflowFastFailK.lib" "C:\Program Files (x86)\Windows Kits\10\lib\10.0.22621.0\km\x64\ntoskrnl.lib" "C:\Program Files (x86)\Windows Kits\10\lib\10.0.22621.0\km\x64\hal.lib" "C:\Program Files (x86)\Windows Kits\10\lib\10.0.22621.0\km\x64\wmilib.lib" /NODEFAULTLIB /MANIFEST:NO /DEBUG /PDB:"D:\dev-area\workspace\baxter\WAUSB-31Oct23-SDV\Sourcex64\Release\WaUsb.pdb" /SUBSYSTEM:NATIVE,"10.00" /Driver /OPT:REF /OPT:ICF /ENTRY:"GsDriverEntry" /RELEASE /IMPLIB:"D:\dev-area\workspace\baxter\WAUSB-31Oct23-SDV\Sourcex64\Release\WaUsb.lib" /MERGE:"_TEXT=.text;_PAGE=PAGE" /MACHINE:X64 /PROFILE /guard:cf /kernel /IGNORE:4198,4010,4037,4039,4065,4070,4078,4087,4089,4221,4108,4088,4218,4218,4235 /osversion:10.0 /pdbcompress /debugtype:pdata x64\Release\WaUsb.res
x64\Release\WAUsb.obj
x64\Release\WAUSBCP2102.obj
x64\Release\WAUSBCsq.obj
x64\Release\WAUsbMsg.obj
x64\Release\WAUsbPnp.obj
x64\Release\WAUsbPwr.obj
x64\Release\WAUsbUtils.obj
C:\Program Files\Microsoft Visual Studio\2022\Professional\MSBuild\Microsoft\VC\v170\Microsoft.CppCommon.targets(1134,5): error MSB6006: "link.exe" exited with code -1073740791. [D:\dev-area\workspace\baxter\WAUSB-31Oct23-SDV\Source\WaUsb\WaUsb.vcxproj]
Done executing task "Link" -- FAILED.
Done building target "Link" in project "WaUsb.vcxproj" -- FAILED.
Done Building Project "D:\dev-area\workspace\baxter\WAUSB-31Oct23-SDV\Source\WaUsb\WaUsb.vcxproj" (rebuild target(s)) -- FAILED.
Build FAILED.
"D:\dev-area\workspace\baxter\WAUSB-31Oct23-SDV\Source\WaUsb\WaUsb.vcxproj" (rebuild target) (1) ->
(Link target) ->
C:\Program Files\Microsoft Visual Studio\2022\Professional\MSBuild\Microsoft\VC\v170\Microsoft.CppCommon.targets(1134,5): error MSB6006: "link.exe" exited with code -1073740791. [D:\dev-area\workspace\baxter\WAUSB-31Oct23-SDV\Source\WaUsb\WaUsb.vcxproj]
0 Warning(s)
1 Error(s)
Time Elapsed 00:00:09.48
In additional, when running the link.exe from VS developer command prompt with the same cmd like above it is showing below error:
D:\dev-area\workspace\baxter\WAUSB-31Oct23-SDV\Source\WaUsb>"C:\Program Files (x86)\Windows Kits\10\TOOLS\SDV\smv\bin\link.exe" /ERRORREPORT:QUEUE /OUT:"D:\dev-area\workspace\baxter\WAUSB-31Oct23-SDV\Sourcex64\Release\WaUsb.sys" /VERSION:"10.0" /INCREMENTAL:NO /NOLOGO /WX /SECTION:"INIT,d" "C:\Program Files (x86)\Windows Kits\10\lib\10.0.22621.0\km\x64\USBD.lib" "C:\Program Files (x86)\Windows Kits\10\lib\10.0.22621.0\km\x64\BufferOverflowFastFailK.lib" "C:\Program Files (x86)\Windows Kits\10\lib\10.0.22621.0\km\x64\ntoskrnl.lib" "C:\Program Files (x86)\Windows Kits\10\lib\10.0.22621.0\km\x64\hal.lib" "C:\Program Files (x86)\Windows Kits\10\lib\10.0.22621.0\km\x64\wmilib.lib" /NODEFAULTLIB /MANIFEST:NO /DEBUG /PDB:"D:\dev-area\workspace\baxter\WAUSB-31Oct23-SDV\Sourcex64\Release\WaUsb.pdb" /SUBSYSTEM:NATIVE,"10.00" /Driver /OPT:REF /OPT:ICF /ENTRY:"GsDriverEntry" /RELEASE /IMPLIB:"D:\dev-area\workspace\baxter\WAUSB-31Oct23-SDV\Sourcex64\Release\WaUsb.lib" /MERGE:"_TEXT=.text;_PAGE=PAGE" /MACHINE:X64 /PROFILE /guard:cf /kernel /IGNORE:4198,4010,4037,4039,4065,4070,4078,4087,4089,4221,4108,4088,4218,4218,4235 /osversion:10.0 /pdbcompress /debugtype:pdata x64\Release\WaUsb.res
Failed to load Intercept.XML:
Could not find file 'c:\program files (x86)\windows kits\10\tools\sdv\smv\bin\%BE%-Intercept.xml'.
BufferOverflowFastFailK.lib(gs_driverentry.obj) : error LNK2019: unresolved external symbol DriverEntry referenced in function GsDriverEntry
D:\dev-area\workspace\baxter\WAUSB-31Oct23-SDV\Sourcex64\Release\WaUsb.sys : fatal error LNK1120: 1 unresolved externals
I have followed the suggestions mentioned in below link: https://learn.microsoft.com/en-us/answers/questions/1353841/how-to-fix-failed-to-load-intercept-xml-when-run-s
This is not helpful.
Can anyone help me on this?