[clang] [clang][ssaf][NFC] Rework how the Force linker anchors are defined and used (PR #189409)

LLVM Continuous Integration via cfe-commits cfe-commits at lists.llvm.org
Wed Apr 22 02:50:46 PDT 2026


=?utf-8?q?Balázs?= Benics <benicsbalazs at gmail.com>
Message-ID:
In-Reply-To: <llvm.org/llvm/llvm-project/pull/189409 at github.com>


llvm-ci wrote:

LLVM Buildbot has detected a new failure on builder `llvm-clang-x86_64-win-fast` running on `as-builder-3` while building `clang` at step 6 "build-unified-tree".

Full details are available at: https://lab.llvm.org/buildbot/#/builders/2/builds/49749

<details>
<summary>Here is the relevant piece of the build log for the reference</summary>

```
Step 6 (build-unified-tree) failure: build (failure)
...
[4199/4470] Linking CXX executable bin\llvm-c-test.exe
[4200/4470] Linking CXX executable bin\llvm-libtool-darwin.exe
[4201/4470] Building RC object tools\llvm-profgen\CMakeFiles\llvm-profgen.dir\__\__\resources\windows_version_resource.rc.res
[4202/4470] Building Opts.inc...
[4203/4470] Building Opts.inc...
[4204/4470] Building TapiOpts.inc...
[4205/4470] Linking CXX executable bin\dsymutil.exe
[4206/4470] Linking CXX executable bin\clang-linker-wrapper.exe
[4207/4470] Building WindresOpts.inc...
[4208/4470] Linking CXX executable bin\clang-ssaf-format.exe
FAILED: bin/clang-ssaf-format.exe 
cmd.exe /C "cd . && "C:\Program Files\CMake\bin\cmake.exe" -E vs_link_exe --intdir=tools\clang\tools\clang-ssaf-format\CMakeFiles\clang-ssaf-format.dir --rc=C:\PROGRA~2\WINDOW~4\10\bin\100261~1.0\x64\rc.exe --mt=C:\PROGRA~2\WINDOW~4\10\bin\100261~1.0\x64\mt.exe --manifests  -- C:\PROGRA~1\MICROS~2\2022\COMMUN~1\VC\Tools\MSVC\1444~1.352\bin\Hostx64\x64\link.exe /nologo tools\clang\tools\clang-ssaf-format\CMakeFiles\clang-ssaf-format.dir\SSAFFormat.cpp.obj tools\clang\tools\clang-ssaf-format\CMakeFiles\clang-ssaf-format.dir\C_\buildbot\as-builder-3\llvm-clang-x86_64-win-fast\llvm-project\llvm\resources\windows_version_resource.rc.res  /out:bin\clang-ssaf-format.exe /implib:lib\clang-ssaf-format.lib /pdb:bin\clang-ssaf-format.pdb /version:0.0 /machine:x64 /STACK:10000000 /INCREMENTAL:NO /subsystem:console  lib\LLVMOption.lib  lib\LLVMSupport.lib  lib\clangBasic.lib  lib\clangScalableStaticAnalysisFrameworkAnalyses.lib  lib\clangScalableStaticAnalysisFrameworkCore.lib  lib\clangScalableStaticAnalysisFrameworkTool.lib  lib\clangAnalysis.lib  lib\clangASTMatchers.lib  lib\clangScalableStaticAnalysisFrameworkCore.lib  lib\clangUnifiedSymbolResolution.lib  lib\clangAST.lib  lib\clangLex.lib  lib\clangBasic.lib  lib\LLVMFrontendOpenMP.lib  lib\LLVMScalarOpts.lib  lib\LLVMAggressiveInstCombine.lib  lib\LLVMInstCombine.lib  lib\LLVMFrontendOffloading.lib  lib\LLVMTransformUtils.lib  lib\LLVMObjectYAML.lib  lib\LLVMFrontendAtomic.lib  lib\LLVMAnalysis.lib  lib\LLVMFrontendHLSL.lib  lib\LLVMProfileData.lib  lib\LLVMSymbolize.lib  lib\LLVMDebugInfoGSYM.lib  lib\LLVMDebugInfoPDB.lib  lib\LLVMDebugInfoCodeView.lib  "C:\Program Files\Microsoft Visual Studio\2022\Community\DIA SDK\lib\amd64\diaguids.lib"  lib\LLVMDebugInfoMSF.lib  lib\LLVMDebugInfoBTF.lib  lib\LLVMDebugInfoDWARF.lib  lib\LLVMObject.lib  lib\LLVMIRReader.lib  lib\LLVMBitReader.lib  lib\LLVMAsmParser.lib  lib\LLVMCore.lib  lib\LLVMRemarks.lib  lib\LLVMBitstreamReader.lib  lib\LLVMMCParser.lib  lib\LLVMMC.lib  lib\LLVMDebugInfoDWARFLowLevel.lib  lib\LLVMTextAPI.lib  lib\LLVMBinaryFormat.lib  lib\LLVMFrontendDirective.lib  lib\LLVMTargetParser.lib  lib\LLVMSupport.lib  psapi.lib  shell32.lib  ole32.lib  uuid.lib  advapi32.lib  ws2_32.lib  ntdll.lib  delayimp.lib  -delayload:shell32.dll  -delayload:ole32.dll  lib\LLVMDemangle.lib  kernel32.lib user32.lib gdi32.lib winspool.lib shell32.lib ole32.lib oleaut32.lib uuid.lib comdlg32.lib advapi32.lib && cd ."
LINK: command "C:\PROGRA~1\MICROS~2\2022\COMMUN~1\VC\Tools\MSVC\1444~1.352\bin\Hostx64\x64\link.exe /nologo tools\clang\tools\clang-ssaf-format\CMakeFiles\clang-ssaf-format.dir\SSAFFormat.cpp.obj tools\clang\tools\clang-ssaf-format\CMakeFiles\clang-ssaf-format.dir\C_\buildbot\as-builder-3\llvm-clang-x86_64-win-fast\llvm-project\llvm\resources\windows_version_resource.rc.res /out:bin\clang-ssaf-format.exe /implib:lib\clang-ssaf-format.lib /pdb:bin\clang-ssaf-format.pdb /version:0.0 /machine:x64 /STACK:10000000 /INCREMENTAL:NO /subsystem:console lib\LLVMOption.lib lib\LLVMSupport.lib lib\clangBasic.lib lib\clangScalableStaticAnalysisFrameworkAnalyses.lib lib\clangScalableStaticAnalysisFrameworkCore.lib lib\clangScalableStaticAnalysisFrameworkTool.lib lib\clangAnalysis.lib lib\clangASTMatchers.lib lib\clangScalableStaticAnalysisFrameworkCore.lib lib\clangUnifiedSymbolResolution.lib lib\clangAST.lib lib\clangLex.lib lib\clangBasic.lib lib\LLVMFrontendOpenMP.lib lib\LLVMScalarOpts.lib lib\LLVMAggressiveInstCombine.lib lib\LLVMInstCombine.lib lib\LLVMFrontendOffloading.lib lib\LLVMTransformUtils.lib lib\LLVMObjectYAML.lib lib\LLVMFrontendAtomic.lib lib\LLVMAnalysis.lib lib\LLVMFrontendHLSL.lib lib\LLVMProfileData.lib lib\LLVMSymbolize.lib lib\LLVMDebugInfoGSYM.lib lib\LLVMDebugInfoPDB.lib lib\LLVMDebugInfoCodeView.lib C:\Program Files\Microsoft Visual Studio\2022\Community\DIA SDK\lib\amd64\diaguids.lib lib\LLVMDebugInfoMSF.lib lib\LLVMDebugInfoBTF.lib lib\LLVMDebugInfoDWARF.lib lib\LLVMObject.lib lib\LLVMIRReader.lib lib\LLVMBitReader.lib lib\LLVMAsmParser.lib lib\LLVMCore.lib lib\LLVMRemarks.lib lib\LLVMBitstreamReader.lib lib\LLVMMCParser.lib lib\LLVMMC.lib lib\LLVMDebugInfoDWARFLowLevel.lib lib\LLVMTextAPI.lib lib\LLVMBinaryFormat.lib lib\LLVMFrontendDirective.lib lib\LLVMTargetParser.lib lib\LLVMSupport.lib psapi.lib shell32.lib ole32.lib uuid.lib advapi32.lib ws2_32.lib ntdll.lib delayimp.lib -delayload:shell32.dll -delayload:ole32.dll lib\LLVMDemangle.lib kernel32.lib user32.lib gdi32.lib winspool.lib shell32.lib ole32.lib oleaut32.lib uuid.lib comdlg32.lib advapi32.lib /MANIFEST /MANIFESTFILE:bin\clang-ssaf-format.exe.manifest" failed (exit code 1120) with the following output:
SSAFFormat.cpp.obj : error LNK2019: unresolved external symbol "int const volatile clang::ssaf::AnalysisRegistryAnchorSource" (?AnalysisRegistryAnchorSource at ssaf@clang@@3HD) referenced in function "void __cdecl clang::ssaf::`dynamic initializer for 'BuiltinAnchorDestination''(void)" (??__EBuiltinAnchorDestination at ssaf@clang@@YAXXZ)
SSAFFormat.cpp.obj : error LNK2019: unresolved external symbol "int const volatile clang::ssaf::CallGraphExtractorAnchorSource" (?CallGraphExtractorAnchorSource at ssaf@clang@@3HD) referenced in function "void __cdecl clang::ssaf::`dynamic initializer for 'BuiltinAnchorDestination''(void)" (??__EBuiltinAnchorDestination at ssaf@clang@@YAXXZ)
SSAFFormat.cpp.obj : error LNK2019: unresolved external symbol "int const volatile clang::ssaf::CallGraphJSONFormatAnchorSource" (?CallGraphJSONFormatAnchorSource at ssaf@clang@@3HD) referenced in function "void __cdecl clang::ssaf::`dynamic initializer for 'BuiltinAnchorDestination''(void)" (??__EBuiltinAnchorDestination at ssaf@clang@@YAXXZ)
SSAFFormat.cpp.obj : error LNK2019: unresolved external symbol "int const volatile clang::ssaf::JSONFormatAnchorSource" (?JSONFormatAnchorSource at ssaf@clang@@3HD) referenced in function "void __cdecl clang::ssaf::`dynamic initializer for 'BuiltinAnchorDestination''(void)" (??__EBuiltinAnchorDestination at ssaf@clang@@YAXXZ)
SSAFFormat.cpp.obj : error LNK2019: unresolved external symbol "int const volatile clang::ssaf::UnsafeBufferUsageExtractorAnchorSource" (?UnsafeBufferUsageExtractorAnchorSource at ssaf@clang@@3HD) referenced in function "void __cdecl clang::ssaf::`dynamic initializer for 'BuiltinAnchorDestination''(void)" (??__EBuiltinAnchorDestination at ssaf@clang@@YAXXZ)
SSAFFormat.cpp.obj : error LNK2019: unresolved external symbol "int const volatile clang::ssaf::UnsafeBufferUsageJSONFormatAnchorSource" (?UnsafeBufferUsageJSONFormatAnchorSource at ssaf@clang@@3HD) referenced in function "void __cdecl clang::ssaf::`dynamic initializer for 'BuiltinAnchorDestination''(void)" (??__EBuiltinAnchorDestination at ssaf@clang@@YAXXZ)
bin\clang-ssaf-format.exe : fatal error LNK1120: 6 unresolved externals
[4209/4470] Linking CXX executable bin\clang-ssaf-linker.exe
FAILED: bin/clang-ssaf-linker.exe 
cmd.exe /C "cd . && "C:\Program Files\CMake\bin\cmake.exe" -E vs_link_exe --intdir=tools\clang\tools\clang-ssaf-linker\CMakeFiles\clang-ssaf-linker.dir --rc=C:\PROGRA~2\WINDOW~4\10\bin\100261~1.0\x64\rc.exe --mt=C:\PROGRA~2\WINDOW~4\10\bin\100261~1.0\x64\mt.exe --manifests  -- C:\PROGRA~1\MICROS~2\2022\COMMUN~1\VC\Tools\MSVC\1444~1.352\bin\Hostx64\x64\link.exe /nologo tools\clang\tools\clang-ssaf-linker\CMakeFiles\clang-ssaf-linker.dir\SSAFLinker.cpp.obj tools\clang\tools\clang-ssaf-linker\CMakeFiles\clang-ssaf-linker.dir\C_\buildbot\as-builder-3\llvm-clang-x86_64-win-fast\llvm-project\llvm\resources\windows_version_resource.rc.res  /out:bin\clang-ssaf-linker.exe /implib:lib\clang-ssaf-linker.lib /pdb:bin\clang-ssaf-linker.pdb /version:0.0 /machine:x64 /STACK:10000000 /INCREMENTAL:NO /subsystem:console  lib\LLVMOption.lib  lib\LLVMSupport.lib  lib\clangBasic.lib  lib\clangScalableStaticAnalysisFrameworkAnalyses.lib  lib\clangScalableStaticAnalysisFrameworkCore.lib  lib\clangScalableStaticAnalysisFrameworkTool.lib  lib\clangAnalysis.lib  lib\clangASTMatchers.lib  lib\clangScalableStaticAnalysisFrameworkCore.lib  lib\clangUnifiedSymbolResolution.lib  lib\clangAST.lib  lib\clangLex.lib  lib\clangBasic.lib  lib\LLVMFrontendOpenMP.lib  lib\LLVMScalarOpts.lib  lib\LLVMAggressiveInstCombine.lib  lib\LLVMInstCombine.lib  lib\LLVMFrontendOffloading.lib  lib\LLVMTransformUtils.lib  lib\LLVMObjectYAML.lib  lib\LLVMFrontendAtomic.lib  lib\LLVMAnalysis.lib  lib\LLVMFrontendHLSL.lib  lib\LLVMProfileData.lib  lib\LLVMSymbolize.lib  lib\LLVMDebugInfoGSYM.lib  lib\LLVMDebugInfoPDB.lib  lib\LLVMDebugInfoCodeView.lib  "C:\Program Files\Microsoft Visual Studio\2022\Community\DIA SDK\lib\amd64\diaguids.lib"  lib\LLVMDebugInfoMSF.lib  lib\LLVMDebugInfoBTF.lib  lib\LLVMDebugInfoDWARF.lib  lib\LLVMObject.lib  lib\LLVMIRReader.lib  lib\LLVMBitReader.lib  lib\LLVMAsmParser.lib  lib\LLVMCore.lib  lib\LLVMRemarks.lib  lib\LLVMBitstreamReader.lib  lib\LLVMMCParser.lib  lib\LLVMMC.lib  lib\LLVMDebugInfoDWARFLowLevel.lib  lib\LLVMTextAPI.lib  lib\LLVMBinaryFormat.lib  lib\LLVMFrontendDirective.lib  lib\LLVMTargetParser.lib  lib\LLVMSupport.lib  psapi.lib  shell32.lib  ole32.lib  uuid.lib  advapi32.lib  ws2_32.lib  ntdll.lib  delayimp.lib  -delayload:shell32.dll  -delayload:ole32.dll  lib\LLVMDemangle.lib  kernel32.lib user32.lib gdi32.lib winspool.lib shell32.lib ole32.lib oleaut32.lib uuid.lib comdlg32.lib advapi32.lib && cd ."
LINK: command "C:\PROGRA~1\MICROS~2\2022\COMMUN~1\VC\Tools\MSVC\1444~1.352\bin\Hostx64\x64\link.exe /nologo tools\clang\tools\clang-ssaf-linker\CMakeFiles\clang-ssaf-linker.dir\SSAFLinker.cpp.obj tools\clang\tools\clang-ssaf-linker\CMakeFiles\clang-ssaf-linker.dir\C_\buildbot\as-builder-3\llvm-clang-x86_64-win-fast\llvm-project\llvm\resources\windows_version_resource.rc.res /out:bin\clang-ssaf-linker.exe /implib:lib\clang-ssaf-linker.lib /pdb:bin\clang-ssaf-linker.pdb /version:0.0 /machine:x64 /STACK:10000000 /INCREMENTAL:NO /subsystem:console lib\LLVMOption.lib lib\LLVMSupport.lib lib\clangBasic.lib lib\clangScalableStaticAnalysisFrameworkAnalyses.lib lib\clangScalableStaticAnalysisFrameworkCore.lib lib\clangScalableStaticAnalysisFrameworkTool.lib lib\clangAnalysis.lib lib\clangASTMatchers.lib lib\clangScalableStaticAnalysisFrameworkCore.lib lib\clangUnifiedSymbolResolution.lib lib\clangAST.lib lib\clangLex.lib lib\clangBasic.lib lib\LLVMFrontendOpenMP.lib lib\LLVMScalarOpts.lib lib\LLVMAggressiveInstCombine.lib lib\LLVMInstCombine.lib lib\LLVMFrontendOffloading.lib lib\LLVMTransformUtils.lib lib\LLVMObjectYAML.lib lib\LLVMFrontendAtomic.lib lib\LLVMAnalysis.lib lib\LLVMFrontendHLSL.lib lib\LLVMProfileData.lib lib\LLVMSymbolize.lib lib\LLVMDebugInfoGSYM.lib lib\LLVMDebugInfoPDB.lib lib\LLVMDebugInfoCodeView.lib C:\Program Files\Microsoft Visual Studio\2022\Community\DIA SDK\lib\amd64\diaguids.lib lib\LLVMDebugInfoMSF.lib lib\LLVMDebugInfoBTF.lib lib\LLVMDebugInfoDWARF.lib lib\LLVMObject.lib lib\LLVMIRReader.lib lib\LLVMBitReader.lib lib\LLVMAsmParser.lib lib\LLVMCore.lib lib\LLVMRemarks.lib lib\LLVMBitstreamReader.lib lib\LLVMMCParser.lib lib\LLVMMC.lib lib\LLVMDebugInfoDWARFLowLevel.lib lib\LLVMTextAPI.lib lib\LLVMBinaryFormat.lib lib\LLVMFrontendDirective.lib lib\LLVMTargetParser.lib lib\LLVMSupport.lib psapi.lib shell32.lib ole32.lib uuid.lib advapi32.lib ws2_32.lib ntdll.lib delayimp.lib -delayload:shell32.dll -delayload:ole32.dll lib\LLVMDemangle.lib kernel32.lib user32.lib gdi32.lib winspool.lib shell32.lib ole32.lib oleaut32.lib uuid.lib comdlg32.lib advapi32.lib /MANIFEST /MANIFESTFILE:bin\clang-ssaf-linker.exe.manifest" failed (exit code 1120) with the following output:
SSAFLinker.cpp.obj : error LNK2019: unresolved external symbol "int const volatile clang::ssaf::AnalysisRegistryAnchorSource" (?AnalysisRegistryAnchorSource at ssaf@clang@@3HD) referenced in function "void __cdecl clang::ssaf::`dynamic initializer for 'BuiltinAnchorDestination''(void)" (??__EBuiltinAnchorDestination at ssaf@clang@@YAXXZ)
SSAFLinker.cpp.obj : error LNK2019: unresolved external symbol "int const volatile clang::ssaf::CallGraphExtractorAnchorSource" (?CallGraphExtractorAnchorSource at ssaf@clang@@3HD) referenced in function "void __cdecl clang::ssaf::`dynamic initializer for 'BuiltinAnchorDestination''(void)" (??__EBuiltinAnchorDestination at ssaf@clang@@YAXXZ)
SSAFLinker.cpp.obj : error LNK2019: unresolved external symbol "int const volatile clang::ssaf::CallGraphJSONFormatAnchorSource" (?CallGraphJSONFormatAnchorSource at ssaf@clang@@3HD) referenced in function "void __cdecl clang::ssaf::`dynamic initializer for 'BuiltinAnchorDestination''(void)" (??__EBuiltinAnchorDestination at ssaf@clang@@YAXXZ)
SSAFLinker.cpp.obj : error LNK2019: unresolved external symbol "int const volatile clang::ssaf::JSONFormatAnchorSource" (?JSONFormatAnchorSource at ssaf@clang@@3HD) referenced in function "void __cdecl clang::ssaf::`dynamic initializer for 'BuiltinAnchorDestination''(void)" (??__EBuiltinAnchorDestination at ssaf@clang@@YAXXZ)
SSAFLinker.cpp.obj : error LNK2019: unresolved external symbol "int const volatile clang::ssaf::UnsafeBufferUsageExtractorAnchorSource" (?UnsafeBufferUsageExtractorAnchorSource at ssaf@clang@@3HD) referenced in function "void __cdecl clang::ssaf::`dynamic initializer for 'BuiltinAnchorDestination''(void)" (??__EBuiltinAnchorDestination at ssaf@clang@@YAXXZ)
SSAFLinker.cpp.obj : error LNK2019: unresolved external symbol "int const volatile clang::ssaf::UnsafeBufferUsageJSONFormatAnchorSource" (?UnsafeBufferUsageJSONFormatAnchorSource at ssaf@clang@@3HD) referenced in function "void __cdecl clang::ssaf::`dynamic initializer for 'BuiltinAnchorDestination''(void)" (??__EBuiltinAnchorDestination at ssaf@clang@@YAXXZ)
bin\clang-ssaf-linker.exe : fatal error LNK1120: 6 unresolved externals
[4210/4470] Building CXX object tools\llvm-pdbutil\CMakeFiles\llvm-pdbutil.dir\PrettyEnumDumper.cpp.obj
[4211/4470] Building CXX object tools\llvm-reduce\CMakeFiles\llvm-reduce.dir\deltas\ReduceAttributes.cpp.obj
[4212/4470] Building CXX object tools\llvm-objcopy\CMakeFiles\llvm-objcopy.dir\llvm-objcopy-driver.cpp.obj
[4213/4470] Building CXX object tools\llvm-reduce\CMakeFiles\llvm-reduce.dir\DeltaManager.cpp.obj
[4214/4470] Building CXX object tools\llvm-reduce\CMakeFiles\llvm-reduce.dir\deltas\Utils.cpp.obj
[4215/4470] Building CXX object tools\llvm-pdbutil\CMakeFiles\llvm-pdbutil.dir\StreamUtil.cpp.obj
[4216/4470] Building CXX object tools\llvm-objcopy\CMakeFiles\llvm-objcopy.dir\ObjcopyOptions.cpp.obj
[4217/4470] Building CXX object tools\llvm-objdump\CMakeFiles\llvm-objdump.dir\llvm-objdump-driver.cpp.obj
[4218/4470] Building CXX object tools\llvm-profgen\CMakeFiles\llvm-profgen.dir\MissingFrameInferrer.cpp.obj
[4219/4470] Building CXX object tools\llvm-pdbutil\CMakeFiles\llvm-pdbutil.dir\PrettyTypedefDumper.cpp.obj
[4220/4470] Building CXX object tools\llvm-reduce\CMakeFiles\llvm-reduce.dir\TestRunner.cpp.obj
[4221/4470] Building CXX object tools\llvm-objcopy\CMakeFiles\llvm-objcopy.dir\llvm-objcopy.cpp.obj
[4222/4470] Building CXX object tools\llvm-pdbutil\CMakeFiles\llvm-pdbutil.dir\PrettyFunctionDumper.cpp.obj
[4223/4470] Building CXX object tools\llvm-profgen\CMakeFiles\llvm-profgen.dir\ProfileGenerator.cpp.obj
[4224/4470] Building CXX object tools\llvm-objdump\CMakeFiles\llvm-objdump.dir\COFFDump.cpp.obj
[4225/4470] Building CXX object tools\llvm-reduce\CMakeFiles\llvm-reduce.dir\ReducerWorkItem.cpp.obj
[4226/4470] Building CXX object tools\llvm-profgen\CMakeFiles\llvm-profgen.dir\CSPreInliner.cpp.obj
[4227/4470] Building CXX object tools\llvm-profgen\CMakeFiles\llvm-profgen.dir\llvm-profgen.cpp.obj

```

</details>

https://github.com/llvm/llvm-project/pull/189409


More information about the cfe-commits mailing list