[llvm] r321927 - [ORC] Yet more debugging output to diagnose test failures.

Simon Dardis via llvm-commits llvm-commits at lists.llvm.org
Sat Jan 6 10:12:16 PST 2018


Hi Lang,

At least one of the failure reports you have received is from llvm-mips-linux builder.

The cause here is that MIPS32 doesn't support 8 byte atomic operations natively, so
any library/application attempting to use them have to be linked with libatomic. See:

http://lab.llvm.org:8011/builders/llvm-mips-linux/builds/3418/steps/compile/logs/stdio

I'm reproducing the error message here for reference:

CMakeFiles/LLVMOrcJIT.dir/Core.cpp.o: In function `llvm::orc::AsynchronousSymbolQuery::setDefinition(llvm::orc::SymbolStringPtr, llvm::JITSymbol)':
/scratch/bb-slaves/mipsswbrd002/llvm-mips-linux/llvm.src/lib/ExecutionEngine/Orc/Core.cpp:(.text._ZN4llvm3orc23AsynchronousSymbolQuery13setDefinitionENS0_15SymbolStringPtrENS_9JITSymbolE+0x8a0): undefined reference to `__atomic_fetch_sub_8'
CMakeFiles/LLVMOrcJIT.dir/Core.cpp.o: In function `std::_Rb_tree<llvm::orc::SymbolStringPtr, std::pair<llvm::orc::SymbolStringPtr const, llvm::JITSymbol>, std::_Select1st<std::pair<llvm::orc::SymbolStringPtr const, llvm::JITSymbol> >, std::less<llvm::orc::SymbolStringPtr>, std::allocator<std::pair<llvm::orc::SymbolStringPtr const, llvm::JITSymbol> > >::_M_erase(std::_Rb_tree_node<std::pair<llvm::orc::SymbolStringPtr const, llvm::JITSymbol> >*)':
/scratch/bb-slaves/mipsswbrd002/llvm-mips-linux/llvm.src/lib/ExecutionEngine/Orc/Core.cpp:(.text._ZNSt8_Rb_treeIN4llvm3orc15SymbolStringPtrESt4pairIKS2_NS0_9JITSymbolEESt10_Select1stIS6_ESt4lessIS2_ESaIS6_EE8_M_eraseEPSt13_Rb_tree_nodeIS6_E[_ZNSt8_Rb_treeIN4llvm3orc15SymbolStringPtrESt4pairIKS2_NS0_9JITSymbolEESt10_Select1stIS6_ESt4lessIS2_ESaIS6_EE8_M_eraseEPSt13_Rb_tree_nodeIS6_E]+0x94): undefined reference to `__atomic_fetch_sub_8'
clang-3.8: error: linker command failed with exit code 1 (use -v to see invocation)

Thanks,
Simon
________________________________________
From: llvm-commits [llvm-commits-bounces at lists.llvm.org] on behalf of Lang Hames via llvm-commits [llvm-commits at lists.llvm.org]
Sent: Saturday, January 6, 2018 5:19 AM
To: llvm-commits at lists.llvm.org
Subject: [llvm] r321927 - [ORC] Yet more debugging output to diagnose test failures.

Author: lhames
Date: Fri Jan  5 21:19:07 2018
New Revision: 321927

URL: http://llvm.org/viewvc/llvm-project?rev=321927&view=rev
Log:
[ORC] Yet more debugging output to diagnose test failures.

Modified:
    llvm/trunk/lib/ExecutionEngine/Orc/Core.cpp

Modified: llvm/trunk/lib/ExecutionEngine/Orc/Core.cpp
URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/lib/ExecutionEngine/Orc/Core.cpp?rev=321927&r1=321926&r2=321927&view=diff
==============================================================================
--- llvm/trunk/lib/ExecutionEngine/Orc/Core.cpp (original)
+++ llvm/trunk/lib/ExecutionEngine/Orc/Core.cpp Fri Jan  5 21:19:07 2018
@@ -46,7 +46,10 @@ void AsynchronousSymbolQuery::setDefinit
     << "OutstandingResolutions = " << OutstandingResolutions << "\n"
     << "OutstandingFinalizations = " << OutstandingFinalizations << "\n"
     << "Symbols.size() = " << Symbols.size() << "\n"
-    << "Symbols.count(Name) = " << Symbols.count(Name) << "\n";
+    << "Symbols.count(Name) = " << Symbols.count(Name) << "\n"
+    << "Callback size = " << sizeof(SymbolsResolvedCallback) << "\n"
+    << "Callback offset = "
+    << (size_t)((char*)&NotifySymbolsResolved - (char*)this) << "\n";

   assert(!Symbols.count(Name) &&
          "Symbol has already been assigned an address");


_______________________________________________
llvm-commits mailing list
llvm-commits at lists.llvm.org
http://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-commits


More information about the llvm-commits mailing list