llvm / llvm-project

The LLVM Project is a collection of modular and reusable compiler and toolchain technologies.
http://llvm.org
Other
28.66k stars 11.85k forks source link

ICE on Windows with -fsanitize=address #58691

Open sthalik opened 1 year ago

sthalik commented 1 year ago

clang version 15.0.3 Target: x86_64-w64-windows-gnu # mingw-w64

During linking, this happens:

FAILED: DEBUG/bin/corrade-rc.exe 
cmd.exe /C "cd . && c:\msys64\clang64\bin\clang++.exe -O0 -g -ggdb -fstack-protector-all -fsanitize=undefined -fsanitize=address external/corrade/src/Corrade/Utility/CMakeFiles/corrade-rc.dir/rc.cpp.obj external/corrade/src/Corrade/Utility/CMakeFiles/corrade-rc.dir/Arguments.cpp.obj external/corrade/src/Corrade/Utility/CMakeFiles/corrade-rc.dir/Debug.cpp.obj external/corrade/src/Corrade/Utility/CMakeFiles/corrade-rc.dir/Configuration.cpp.obj external/corrade/src/Corrade/Utility/CMakeFiles/corrade-rc.dir/ConfigurationGroup.cpp.obj external/corrade/src/Corrade/Utility/CMakeFiles/corrade-rc.dir/Format.cpp.obj external/corrade/src/Corrade/Utility/CMakeFiles/corrade-rc.dir/Path.cpp.obj external/corrade/src/Corrade/Utility/CMakeFiles/corrade-rc.dir/String.cpp.obj external/corrade/src/Corrade/Utility/CMakeFiles/corrade-rc.dir/Implementation/ErrorString.cpp.obj external/corrade/src/Corrade/Utility/CMakeFiles/corrade-rc.dir/__/Cpu.cpp.obj external/corrade/src/Corrade/Utility/CMakeFiles/corrade-rc.dir/__/Containers/String.cpp.obj external/corrade/src/Corrade/Utility/CMakeFiles/corrade-rc.dir/__/Containers/StringView.cpp.obj external/corrade/src/Corrade/Utility/CMakeFiles/corrade-rc.dir/Unicode.cpp.obj external/corrade/src/Corrade/Utility/CMakeFiles/corrade-rc.dir/Implementation/WindowsWeakSymbol.cpp.obj -o DEBUG\bin\corrade-rc.exe -Wl,--out-implib,DEBUG\lib\libcorrade-rc.dll.a -Wl,--major-image-version,0,--minor-image-version,0  -lkernel32 -luser32 -lgdi32 -lwinspool -lshell32 -lole32 -loleaut32 -luuid -lcomdlg32 -ladvapi32 && cd ."
LLVM ERROR: Associative COMDAT symbol '.str.11' is not a key for its COMDAT.
PLEASE submit a bug report to https://github.com/llvm/llvm-project/issues/ and include the crash backtrace.
Stack dump:
0.  Program arguments: c:/msys64/clang64/bin/ld.lld -m i386pep -Bdynamic -o DEBUG\\bin\\corrade-rc.exe c:/msys64/clang64/lib/crt2.o c:/msys64/clang64/lib/crtbegin.o -Lc:/msys64/clang64/x86_64-w64-mingw32/lib -Lc:/msys64/clang64/x86_64-w64-mingw32/mingw/lib -Lc:/msys64/clang64/lib -Lc:/msys64/clang64/x86_64-w64-mingw32/sys-root/mingw/lib -Lc:/msys64/clang64/lib/clang/15.0.3/lib/windows external/corrade/src/Corrade/Utility/CMakeFiles/corrade-rc.dir/rc.cpp.obj external/corrade/src/Corrade/Utility/CMakeFiles/corrade-rc.dir/Arguments.cpp.obj external/corrade/src/Corrade/Utility/CMakeFiles/corrade-rc.dir/Debug.cpp.obj external/corrade/src/Corrade/Utility/CMakeFiles/corrade-rc.dir/Configuration.cpp.obj external/corrade/src/Corrade/Utility/CMakeFiles/corrade-rc.dir/ConfigurationGroup.cpp.obj external/corrade/src/Corrade/Utility/CMakeFiles/corrade-rc.dir/Format.cpp.obj external/corrade/src/Corrade/Utility/CMakeFiles/corrade-rc.dir/Path.cpp.obj external/corrade/src/Corrade/Utility/CMakeFiles/corrade-rc.dir/String.cpp.obj external/corrade/src/Corrade/Utility/CMakeFiles/corrade-rc.dir/Implementation/ErrorString.cpp.obj external/corrade/src/Corrade/Utility/CMakeFiles/corrade-rc.dir/__/Cpu.cpp.obj external/corrade/src/Corrade/Utility/CMakeFiles/corrade-rc.dir/__/Containers/String.cpp.obj external/corrade/src/Corrade/Utility/CMakeFiles/corrade-rc.dir/__/Containers/StringView.cpp.obj external/corrade/src/Corrade/Utility/CMakeFiles/corrade-rc.dir/Unicode.cpp.obj external/corrade/src/Corrade/Utility/CMakeFiles/corrade-rc.dir/Implementation/WindowsWeakSymbol.cpp.obj --out-implib DEBUG\\lib\\libcorrade-rc.dll.a --major-image-version 0 --minor-image-version 0 -lkernel32 -luser32 -lgdi32 -lwinspool -lshell32 -lole32 -loleaut32 -luuid -lcomdlg32 -ladvapi32 -lc++ -lssp_nonshared -lssp -lmingw32 c:/msys64/clang64/lib/clang/15.0.3/lib/windows/libclang_rt.builtins-x86_64.a -lunwind -lmoldname -lmingwex -lmsvcrt c:/msys64/clang64/lib/clang/15.0.3/lib/windows/libclang_rt.asan_dynamic-x86_64.dll.a c:/msys64/clang64/lib/clang/15.0.3/lib/windows/libclang_rt.asan_dynamic_runtime_thunk-x86_64.a --require-defined __asan_seh_interceptor --whole-archive c:/msys64/clang64/lib/clang/15.0.3/lib/windows/libclang_rt.asan_dynamic_runtime_thunk-x86_64.a --no-whole-archive -ladvapi32 -lshell32 -luser32 -lkernel32 -lmingw32 c:/msys64/clang64/lib/clang/15.0.3/lib/windows/libclang_rt.builtins-x86_64.a -lunwind -lmoldname -lmingwex -lmsvcrt -lkernel32 c:/msys64/clang64/lib/crtend.o
Exception Code: 0xC000001D
 #0 0x00007ffb96c749d6 HandleAbort (c:\msys64\clang64\bin\libLLVM-15.dll+0x1849d6)
 #1 0x00007ffc57cd1881 (C:\Windows\System32\ucrtbase.dll+0x71881)
 #2 0x00007ffc57cd2851 (C:\Windows\System32\ucrtbase.dll+0x72851)
 #3 0x00007ffb96b9a87d llvm::report_fatal_error(llvm::Twine const&, bool) (c:\msys64\clang64\bin\libLLVM-15.dll+0xaa87d)
 #4 0x00007ffb972918db llvm::TargetLoweringObjectFileCOFF::getExplicitSectionGlobal(llvm::GlobalObject const*, llvm::SectionKind, llvm::TargetMachine const&) const (c:\msys64\clang64\bin\libLLVM-15.dll+0x7a18db)
 #5 0x00007ffb97291a91 llvm::TargetLoweringObjectFileCOFF::SelectSectionForGlobal(llvm::GlobalObject const*, llvm::SectionKind, llvm::TargetMachine const&) const (c:\msys64\clang64\bin\libLLVM-15.dll+0x7a1a91)
 #6 0x00007ffb988f1349 llvm::TargetLoweringObjectFile::SectionForGlobal(llvm::GlobalObject const*, llvm::SectionKind, llvm::TargetMachine const&) const (c:\msys64\clang64\bin\libLLVM-15.dll+0x1e01349)
 #7 0x00007ffb975bf9e3 llvm::AsmPrinter::emitGlobalVariable(llvm::GlobalVariable const*) (c:\msys64\clang64\bin\libLLVM-15.dll+0xacf9e3)
 #8 0x00007ffb975c6868 llvm::AsmPrinter::doFinalization(llvm::Module&) (c:\msys64\clang64\bin\libLLVM-15.dll+0xad6868)
 #9 0x00007ffb96de31d1 llvm::FPPassManager::doFinalization(llvm::Module&) (c:\msys64\clang64\bin\libLLVM-15.dll+0x2f31d1)
#10 0x00007ffb96ddd161 llvm::legacy::PassManagerImpl::run(llvm::Module&) (c:\msys64\clang64\bin\libLLVM-15.dll+0x2ed161)
#11 0x00007ffb9832323b llvm::lto::backend(llvm::lto::Config const&, std::__1::function<llvm::Expected<std::__1::unique_ptr<llvm::CachedFileStream, std::__1::default_delete<llvm::CachedFileStream>>> (unsigned int)>, unsigned int, llvm::Module&, llvm::ModuleSummaryIndex&) (c:\msys64\clang64\bin\libLLVM-15.dll+0x183323b)
#12 0x00007ffb98322369 llvm::lto::backend(llvm::lto::Config const&, std::__1::function<llvm::Expected<std::__1::unique_ptr<llvm::CachedFileStream, std::__1::default_delete<llvm::CachedFileStream>>> (unsigned int)>, unsigned int, llvm::Module&, llvm::ModuleSummaryIndex&) (c:\msys64\clang64\bin\libLLVM-15.dll+0x1832369)
#13 0x00007ffb98315da1 llvm::lto::LTO::runRegularLTO(std::__1::function<llvm::Expected<std::__1::unique_ptr<llvm::CachedFileStream, std::__1::default_delete<llvm::CachedFileStream>>> (unsigned int)>) (c:\msys64\clang64\bin\libLLVM-15.dll+0x1825da1)
#14 0x00007ffb9831521d llvm::lto::LTO::run(std::__1::function<llvm::Expected<std::__1::unique_ptr<llvm::CachedFileStream, std::__1::default_delete<llvm::CachedFileStream>>> (unsigned int)>, std::__1::function<llvm::Expected<std::__1::function<llvm::Expected<std::__1::unique_ptr<llvm::CachedFileStream, std::__1::default_delete<llvm::CachedFileStream>>> (unsigned int)>> (unsigned int, llvm::StringRef)>) (c:\msys64\clang64\bin\libLLVM-15.dll+0x182521d)
#15 0x00007ff72770a21e lld::coff::BitcodeCompiler::compile(lld::coff::COFFLinkerContext&) (c:\msys64\clang64\bin\ld.lld.exe+0x27a21e)
#16 0x00007ff7275147e7 lld::coff::SymbolTable::compileBitcodeFiles() (c:\msys64\clang64\bin\ld.lld.exe+0x847e7)
#17 0x00007ff7274a9650 lld::coff::LinkerDriver::linkerMain(llvm::ArrayRef<char const*>) (c:\msys64\clang64\bin\ld.lld.exe+0x19650)
#18 0x00007ff7274a2bbd lld::coff::link(llvm::ArrayRef<char const*>, llvm::raw_ostream&, llvm::raw_ostream&, bool, bool) (c:\msys64\clang64\bin\ld.lld.exe+0x12bbd)
#19 0x00007ff7274f7643 lld::mingw::link(llvm::ArrayRef<char const*>, llvm::raw_ostream&, llvm::raw_ostream&, bool, bool) (c:\msys64\clang64\bin\ld.lld.exe+0x67643)
#20 0x00007ff7274921ff llvm::raw_ostream::operator<<(char const*) (c:\msys64\clang64\bin\ld.lld.exe+0x21ff)
#21 0x00007ff7274918e3 main (c:\msys64\clang64\bin\ld.lld.exe+0x18e3)
#22 0x00007ff7274913d6 WinMainCRTStartup (c:\msys64\clang64\bin\ld.lld.exe+0x13d6)
#23 0x00007ff727491426 mainCRTStartup (c:\msys64\clang64\bin\ld.lld.exe+0x1426)
#24 0x00007ffc58537034 (C:\Windows\System32\KERNEL32.DLL+0x17034)
#25 0x00007ffc59e626a1 (C:\Windows\SYSTEM32\ntdll.dll+0x526a1)
clang++: error: linker command failed due to signal (use -v to see invocation)
[8/132] Linking CXX shared library DEBUG\bin\libCorradeUtility-d.dll
FAILED: DEBUG/bin/libCorradeUtility-d.dll DEBUG/lib/libCorradeUtility-d.dll.a 
cmd.exe /C "cd . && c:\msys64\clang64\bin\clang++.exe -O0 -g -ggdb -fstack-protector-all  -fsanitize=undefined -fsanitize=address -shared -o DEBUG\bin\libCorradeUtility-d.dll -Wl,--out-implib,DEBUG\lib\libCorradeUtility-d.dll.a -Wl,--major-image-version,2,--minor-image-version,4 external/corrade/src/Corrade/Utility/CMakeFiles/CorradeUtilityObjects.dir/Debug.cpp.obj external/corrade/src/Corrade/Utility/CMakeFiles/CorradeUtilityObjects.dir/Configuration.cpp.obj external/corrade/src/Corrade/Utility/CMakeFiles/CorradeUtilityObjects.dir/ConfigurationValue.cpp.obj external/corrade/src/Corrade/Utility/CMakeFiles/CorradeUtilityObjects.dir/MurmurHash2.cpp.obj external/corrade/src/Corrade/Utility/CMakeFiles/CorradeUtilityObjects.dir/Sha1.cpp.obj external/corrade/src/Corrade/Utility/CMakeFiles/CorradeUtilityObjects.dir/System.cpp.obj external/corrade/src/Corrade/Utility/CMakeFiles/CorradeUtilityObjects.dir/__/Cpu.cpp.obj external/corrade/src/Corrade/Utility/CMakeFiles/CorradeUtilityObjects.dir/Implementation/ErrorString.cpp.obj external/corrade/src/Corrade/Utility/CMakeFiles/CorradeUtilityObjects.dir/FileWatcher.cpp.obj external/corrade/src/Corrade/Utility/CMakeFiles/CorradeUtilityObjects.dir/Tweakable.cpp.obj external/corrade/src/Corrade/Utility/CMakeFiles/CorradeUtilityObjects.dir/Path.cpp.obj external/corrade/src/Corrade/Utility/CMakeFiles/CorradeUtilityObjects.dir/TweakableParser.cpp.obj external/corrade/src/Corrade/Utility/CMakeFiles/CorradeUtility.dir/Algorithms.cpp.obj external/corrade/src/Corrade/Utility/CMakeFiles/CorradeUtility.dir/Arguments.cpp.obj external/corrade/src/Corrade/Utility/CMakeFiles/CorradeUtility.dir/ConfigurationGroup.cpp.obj external/corrade/src/Corrade/Utility/CMakeFiles/CorradeUtility.dir/Format.cpp.obj external/corrade/src/Corrade/Utility/CMakeFiles/CorradeUtility.dir/Json.cpp.obj external/corrade/src/Corrade/Utility/CMakeFiles/CorradeUtility.dir/JsonWriter.cpp.obj external/corrade/src/Corrade/Utility/CMakeFiles/CorradeUtility.dir/Resource.cpp.obj external/corrade/src/Corrade/Utility/CMakeFiles/CorradeUtility.dir/String.cpp.obj external/corrade/src/Corrade/Utility/CMakeFiles/CorradeUtility.dir/Unicode.cpp.obj external/corrade/src/Corrade/Utility/CMakeFiles/CorradeUtility.dir/__/Containers/ArrayTuple.cpp.obj external/corrade/src/Corrade/Utility/CMakeFiles/CorradeUtility.dir/__/Containers/BitArray.cpp.obj external/corrade/src/Corrade/Utility/CMakeFiles/CorradeUtility.dir/__/Containers/String.cpp.obj external/corrade/src/Corrade/Utility/CMakeFiles/CorradeUtility.dir/__/Containers/StringView.cpp.obj  -lkernel32 -luser32 -lgdi32 -lwinspool -lshell32 -lole32 -loleaut32 -luuid -lcomdlg32 -ladvapi32 && cd ."
LLVM ERROR: Associative COMDAT symbol '.str.35' is not a key for its COMDAT.
PLEASE submit a bug report to https://github.com/llvm/llvm-project/issues/ and include the crash backtrace.
Stack dump:
0.  Program arguments: c:/msys64/clang64/bin/ld.lld -m i386pep --shared -Bdynamic -e DllMainCRTStartup --enable-auto-image-base -o DEBUG\\bin\\libCorradeUtility-d.dll c:/msys64/clang64/lib/dllcrt2.o c:/msys64/clang64/lib/crtbegin.o -Lc:/msys64/clang64/x86_64-w64-mingw32/lib -Lc:/msys64/clang64/x86_64-w64-mingw32/mingw/lib -Lc:/msys64/clang64/lib -Lc:/msys64/clang64/x86_64-w64-mingw32/sys-root/mingw/lib -Lc:/msys64/clang64/lib/clang/15.0.3/lib/windows --out-implib DEBUG\\lib\\libCorradeUtility-d.dll.a --major-image-version 2 --minor-image-version 4 external/corrade/src/Corrade/Utility/CMakeFiles/CorradeUtilityObjects.dir/Debug.cpp.obj external/corrade/src/Corrade/Utility/CMakeFiles/CorradeUtilityObjects.dir/Configuration.cpp.obj external/corrade/src/Corrade/Utility/CMakeFiles/CorradeUtilityObjects.dir/ConfigurationValue.cpp.obj external/corrade/src/Corrade/Utility/CMakeFiles/CorradeUtilityObjects.dir/MurmurHash2.cpp.obj external/corrade/src/Corrade/Utility/CMakeFiles/CorradeUtilityObjects.dir/Sha1.cpp.obj external/corrade/src/Corrade/Utility/CMakeFiles/CorradeUtilityObjects.dir/System.cpp.obj external/corrade/src/Corrade/Utility/CMakeFiles/CorradeUtilityObjects.dir/__/Cpu.cpp.obj external/corrade/src/Corrade/Utility/CMakeFiles/CorradeUtilityObjects.dir/Implementation/ErrorString.cpp.obj external/corrade/src/Corrade/Utility/CMakeFiles/CorradeUtilityObjects.dir/FileWatcher.cpp.obj external/corrade/src/Corrade/Utility/CMakeFiles/CorradeUtilityObjects.dir/Tweakable.cpp.obj external/corrade/src/Corrade/Utility/CMakeFiles/CorradeUtilityObjects.dir/Path.cpp.obj external/corrade/src/Corrade/Utility/CMakeFiles/CorradeUtilityObjects.dir/TweakableParser.cpp.obj external/corrade/src/Corrade/Utility/CMakeFiles/CorradeUtility.dir/Algorithms.cpp.obj external/corrade/src/Corrade/Utility/CMakeFiles/CorradeUtility.dir/Arguments.cpp.obj external/corrade/src/Corrade/Utility/CMakeFiles/CorradeUtility.dir/ConfigurationGroup.cpp.obj external/corrade/src/Corrade/Utility/CMakeFiles/CorradeUtility.dir/Format.cpp.obj external/corrade/src/Corrade/Utility/CMakeFiles/CorradeUtility.dir/Json.cpp.obj external/corrade/src/Corrade/Utility/CMakeFiles/CorradeUtility.dir/JsonWriter.cpp.obj external/corrade/src/Corrade/Utility/CMakeFiles/CorradeUtility.dir/Resource.cpp.obj external/corrade/src/Corrade/Utility/CMakeFiles/CorradeUtility.dir/String.cpp.obj external/corrade/src/Corrade/Utility/CMakeFiles/CorradeUtility.dir/Unicode.cpp.obj external/corrade/src/Corrade/Utility/CMakeFiles/CorradeUtility.dir/__/Containers/ArrayTuple.cpp.obj external/corrade/src/Corrade/Utility/CMakeFiles/CorradeUtility.dir/__/Containers/BitArray.cpp.obj external/corrade/src/Corrade/Utility/CMakeFiles/CorradeUtility.dir/__/Containers/String.cpp.obj external/corrade/src/Corrade/Utility/CMakeFiles/CorradeUtility.dir/__/Containers/StringView.cpp.obj -lkernel32 -luser32 -lgdi32 -lwinspool -lshell32 -lole32 -loleaut32 -luuid -lcomdlg32 -ladvapi32 -lc++ -lssp_nonshared -lssp -lmingw32 c:/msys64/clang64/lib/clang/15.0.3/lib/windows/libclang_rt.builtins-x86_64.a -lunwind -lmoldname -lmingwex -lmsvcrt c:/msys64/clang64/lib/clang/15.0.3/lib/windows/libclang_rt.asan_dynamic-x86_64.dll.a c:/msys64/clang64/lib/clang/15.0.3/lib/windows/libclang_rt.asan_dynamic_runtime_thunk-x86_64.a --require-defined __asan_seh_interceptor --whole-archive c:/msys64/clang64/lib/clang/15.0.3/lib/windows/libclang_rt.asan_dynamic_runtime_thunk-x86_64.a --no-whole-archive -ladvapi32 -lshell32 -luser32 -lkernel32 -lmingw32 c:/msys64/clang64/lib/clang/15.0.3/lib/windows/libclang_rt.builtins-x86_64.a -lunwind -lmoldname -lmingwex -lmsvcrt -lkernel32 c:/msys64/clang64/lib/crtend.o
Exception Code: 0xC000001D
 #0 0x00007ffb96c749d6 HandleAbort (c:\msys64\clang64\bin\libLLVM-15.dll+0x1849d6)
 #1 0x00007ffc57cd1881 (C:\Windows\System32\ucrtbase.dll+0x71881)
 #2 0x00007ffc57cd2851 (C:\Windows\System32\ucrtbase.dll+0x72851)
 #3 0x00007ffb96b9a87d llvm::report_fatal_error(llvm::Twine const&, bool) (c:\msys64\clang64\bin\libLLVM-15.dll+0xaa87d)
 #4 0x00007ffb972918db llvm::TargetLoweringObjectFileCOFF::getExplicitSectionGlobal(llvm::GlobalObject const*, llvm::SectionKind, llvm::TargetMachine const&) const (c:\msys64\clang64\bin\libLLVM-15.dll+0x7a18db)
 #5 0x00007ffb97291a91 llvm::TargetLoweringObjectFileCOFF::SelectSectionForGlobal(llvm::GlobalObject const*, llvm::SectionKind, llvm::TargetMachine const&) const (c:\msys64\clang64\bin\libLLVM-15.dll+0x7a1a91)
 #6 0x00007ffb988f1349 llvm::TargetLoweringObjectFile::SectionForGlobal(llvm::GlobalObject const*, llvm::SectionKind, llvm::TargetMachine const&) const (c:\msys64\clang64\bin\libLLVM-15.dll+0x1e01349)
 #7 0x00007ffb975bf9e3 llvm::AsmPrinter::emitGlobalVariable(llvm::GlobalVariable const*) (c:\msys64\clang64\bin\libLLVM-15.dll+0xacf9e3)
 #8 0x00007ffb975c6868 llvm::AsmPrinter::doFinalization(llvm::Module&) (c:\msys64\clang64\bin\libLLVM-15.dll+0xad6868)
 #9 0x00007ffb96de31d1 llvm::FPPassManager::doFinalization(llvm::Module&) (c:\msys64\clang64\bin\libLLVM-15.dll+0x2f31d1)
#10 0x00007ffb96ddd161 llvm::legacy::PassManagerImpl::run(llvm::Module&) (c:\msys64\clang64\bin\libLLVM-15.dll+0x2ed161)
#11 0x00007ffb9832323b llvm::lto::backend(llvm::lto::Config const&, std::__1::function<llvm::Expected<std::__1::unique_ptr<llvm::CachedFileStream, std::__1::default_delete<llvm::CachedFileStream>>> (unsigned int)>, unsigned int, llvm::Module&, llvm::ModuleSummaryIndex&) (c:\msys64\clang64\bin\libLLVM-15.dll+0x183323b)
#12 0x00007ffb98322369 llvm::lto::backend(llvm::lto::Config const&, std::__1::function<llvm::Expected<std::__1::unique_ptr<llvm::CachedFileStream, std::__1::default_delete<llvm::CachedFileStream>>> (unsigned int)>, unsigned int, llvm::Module&, llvm::ModuleSummaryIndex&) (c:\msys64\clang64\bin\libLLVM-15.dll+0x1832369)
#13 0x00007ffb98315da1 llvm::lto::LTO::runRegularLTO(std::__1::function<llvm::Expected<std::__1::unique_ptr<llvm::CachedFileStream, std::__1::default_delete<llvm::CachedFileStream>>> (unsigned int)>) (c:\msys64\clang64\bin\libLLVM-15.dll+0x1825da1)
#14 0x00007ffb9831521d llvm::lto::LTO::run(std::__1::function<llvm::Expected<std::__1::unique_ptr<llvm::CachedFileStream, std::__1::default_delete<llvm::CachedFileStream>>> (unsigned int)>, std::__1::function<llvm::Expected<std::__1::function<llvm::Expected<std::__1::unique_ptr<llvm::CachedFileStream, std::__1::default_delete<llvm::CachedFileStream>>> (unsigned int)>> (unsigned int, llvm::StringRef)>) (c:\msys64\clang64\bin\libLLVM-15.dll+0x182521d)
#15 0x00007ff72770a21e lld::coff::BitcodeCompiler::compile(lld::coff::COFFLinkerContext&) (c:\msys64\clang64\bin\ld.lld.exe+0x27a21e)
#16 0x00007ff7275147e7 lld::coff::SymbolTable::compileBitcodeFiles() (c:\msys64\clang64\bin\ld.lld.exe+0x847e7)
#17 0x00007ff7274a9650 lld::coff::LinkerDriver::linkerMain(llvm::ArrayRef<char const*>) (c:\msys64\clang64\bin\ld.lld.exe+0x19650)
#18 0x00007ff7274a2bbd lld::coff::link(llvm::ArrayRef<char const*>, llvm::raw_ostream&, llvm::raw_ostream&, bool, bool) (c:\msys64\clang64\bin\ld.lld.exe+0x12bbd)
#19 0x00007ff7274f7643 lld::mingw::link(llvm::ArrayRef<char const*>, llvm::raw_ostream&, llvm::raw_ostream&, bool, bool) (c:\msys64\clang64\bin\ld.lld.exe+0x67643)
#20 0x00007ff7274921ff llvm::raw_ostream::operator<<(char const*) (c:\msys64\clang64\bin\ld.lld.exe+0x21ff)
#21 0x00007ff7274918e3 main (c:\msys64\clang64\bin\ld.lld.exe+0x18e3)
#22 0x00007ff7274913d6 WinMainCRTStartup (c:\msys64\clang64\bin\ld.lld.exe+0x13d6)
#23 0x00007ff727491426 mainCRTStartup (c:\msys64\clang64\bin\ld.lld.exe+0x1426)
#24 0x00007ffc58537034 (C:\Windows\System32\KERNEL32.DLL+0x17034)
#25 0x00007ffc59e626a1 (C:\Windows\SYSTEM32\ntdll.dll+0x526a1)
clang++: error: linker command failed due to signal (use -v to see invocation)
sthalik commented 1 year ago

You can try building https://github.com/mosra/corrade, it has no external dependencies.