https://llvm.org/bugs/show_bug.cgi?id=27264
Bug ID: 27264 Summary: Assertion failure Val && "isa<> used on a null pointer" linking with -flto -g3 Product: new-bugs Version: 3.8 Hardware: PC OS: Linux Status: NEW Severity: normal Priority: P Component: new bugs Assignee: unassignedb...@nondot.org Reporter: malcolm.pars...@gmail.com CC: llvm-bugs@lists.llvm.org Classification: Unclassified ld: /home/mparsons/dev/toolchain/clang/llvm-3.8.0.src/include/llvm/Support/Casting.h:95: static bool llvm::isa_impl_cl<To, const From*>::doit(const From*) [with To = llvm::DIFile; From = llvm::DIScope]: Assertion `Val && "isa<> used on a null pointer"' failed. <0x35e20dc0> = !DIGlobalVariable(name: "char_", linkageName: "_ZN5boost6spirit8standardL5char_E", scope: <0x877e768>, file: <0x6f5ab60>, line: 236, type: <0x877e828>, isLocal: true, isDefinition: true, variable: %"struct.boost::spirit::terminal.171"* @_ZN5boost6spirit8standardL5char_E.4473) clang-3.8: error: unable to execute command: Aborted (core dumped) clang-3.8: error: linker command failed due to signal (use -v to see invocation) Program received signal SIGABRT, Aborted. 0x00007f9e5051ecc9 in __GI_raise (sig=sig@entry=6) at ../nptl/sysdeps/unix/sysv/linux/raise.c:56 56 ../nptl/sysdeps/unix/sysv/linux/raise.c: No such file or directory. (gdb) bt #0 0x00007f9e5051ecc9 in __GI_raise (sig=sig@entry=6) at ../nptl/sysdeps/unix/sysv/linux/raise.c:56 #1 0x00007f9e505220d8 in __GI_abort () at abort.c:89 #2 0x00007f9e50517b86 in __assert_fail_base (fmt=0x7f9e50668830 "%s%s%s:%u: %s%sAssertion `%s' failed.\n%n", assertion=assertion@entry=0x7f9e4ea30948 "Val && \"isa<> used on a null pointer\"", file=file@entry=0x7f9e4ea30578 "/home/mparsons/dev/toolchain/clang/llvm-3.8.0.src/include/llvm/Support/Casting.h", line=line@entry=95, function=function@entry=0x7f9e4ea31040 <llvm::isa_impl_cl<llvm::DIFile, llvm::DIScope const*>::doit(llvm::DIScope const*)::__PRETTY_FUNCTION__> "static bool llvm::isa_impl_cl<To, const From*>::doit(const From*) [with To = llvm::DIFile; From = llvm::DIScope]") at assert.c:92 #3 0x00007f9e50517c32 in __GI___assert_fail (assertion=0x7f9e4ea30948 "Val && \"isa<> used on a null pointer\"", file=0x7f9e4ea30578 "/home/mparsons/dev/toolchain/clang/llvm-3.8.0.src/include/llvm/Support/Casting.h", line=95, function=0x7f9e4ea31040 <llvm::isa_impl_cl<llvm::DIFile, llvm::DIScope const*>::doit(llvm::DIScope const*)::__PRETTY_FUNCTION__> "static bool llvm::isa_impl_cl<To, const From*>::doit(const From*) [with To = llvm::DIFile; >From = llvm::DIScope]") at assert.c:101 #4 0x00007f9e4cef8f6d in llvm::isa_impl_cl<llvm::DIFile, llvm::DIScope const*>::doit (Val=0x0) at /home/mparsons/dev/toolchain/clang/llvm-3.8.0.src/include/llvm/Support/Casting.h:95 #5 0x00007f9e4cef8ed5 in llvm::isa_impl_wrap<llvm::DIFile, llvm::DIScope const*, llvm::DIScope const*>::doit (Val=@0x7fff1dc50608: 0x0) at /home/mparsons/dev/toolchain/clang/llvm-3.8.0.src/include/llvm/Support/Casting.h:122 #6 0x00007f9e4cef8e42 in llvm::isa_impl_wrap<llvm::DIFile, llvm::DIScope const* const, llvm::DIScope const*>::doit ( Val=@0x7fff1dc50658: 0x0) at /home/mparsons/dev/toolchain/clang/llvm-3.8.0.src/include/llvm/Support/Casting.h:114 #7 0x00007f9e4cef8d45 in llvm::isa<llvm::DIFile, llvm::DIScope const*> (Val=@0x7fff1dc50658: 0x0) at /home/mparsons/dev/toolchain/clang/llvm-3.8.0.src/include/llvm/Support/Casting.h:134 #8 0x00007f9e4cef88e8 in llvm::DIScope::getRawFile (this=0x0) at /home/mparsons/dev/toolchain/clang/llvm-3.8.0.src/include/llvm/IR/DebugInfoMetadata.h:430 #9 0x00007f9e4cef88be in llvm::DIScope::getFile (this=0x0) at /home/mparsons/dev/toolchain/clang/llvm-3.8.0.src/include/llvm/IR/DebugInfoMetadata.h:415 #10 0x00007f9e4d1bd314 in llvm::DIScope::getDirectory (this=0x0) at /home/mparsons/dev/toolchain/clang/llvm-3.8.0.src/include/llvm/IR/DebugInfoMetadata.h:509 #11 0x00007f9e4d8af67c in llvm::DwarfCompileUnit::constructImportedEntityDIE (this=0xc99a3f0, Module=0x35e2cd48) at /home/mparsons/dev/toolchain/clang/llvm-3.8.0.src/lib/CodeGen/AsmPrinter/DwarfCompileUnit.cpp:659 #12 0x00007f9e4d838910 in llvm::DwarfDebug::constructAndAddImportedEntityDIE (this=0x31297ae0, TheCU=..., N=0x35e2cd48) at /home/mparsons/dev/toolchain/clang/llvm-3.8.0.src/lib/CodeGen/AsmPrinter/DwarfDebug.cpp:456 #13 0x00007f9e4d838f17 in llvm::DwarfDebug::beginModule (this=0x31297ae0) at /home/mparsons/dev/toolchain/clang/llvm-3.8.0.src/lib/CodeGen/AsmPrinter/DwarfDebug.cpp:500 #14 0x00007f9e4d836d53 in llvm::DwarfDebug::DwarfDebug (this=0x31297ae0, A=0x3d5cc400, M=0x6a7a5e0) at /home/mparsons/dev/toolchain/clang/llvm-3.8.0.src/lib/CodeGen/AsmPrinter/DwarfDebug.cpp:272 #15 0x00007f9e4d81a48f in llvm::AsmPrinter::doInitialization (this=0x3d5cc400, M=...) at /home/mparsons/dev/toolchain/clang/llvm-3.8.0.src/lib/CodeGen/AsmPrinter/AsmPrinter.cpp:256 #16 0x00007f9e4d3f53c2 in llvm::X86AsmPrinter::doInitialization (this=0x3d5cc400, M=...) at /home/mparsons/dev/toolchain/clang/llvm-3.8.0.src/lib/Target/X86/X86AsmPrinter.h:123 #17 0x00007f9e4e4e439c in llvm::FPPassManager::doInitialization (this=0x253b2b50, M=...) at /home/mparsons/dev/toolchain/clang/llvm-3.8.0.src/lib/IR/LegacyPassManager.cpp:1580 #18 0x00007f9e4e4e4528 in (anonymous namespace)::MPPassManager::runOnModule (this=0x403df830, M=...) at /home/mparsons/dev/toolchain/clang/llvm-3.8.0.src/lib/IR/LegacyPassManager.cpp:1612 #19 0x00007f9e4e4e4d27 in llvm::legacy::PassManagerImpl::run (this=0x3cdb17b0, M=...) at /home/mparsons/dev/toolchain/clang/llvm-3.8.0.src/lib/IR/LegacyPassManager.cpp:1730 #20 0x00007f9e4e4e4f33 in llvm::legacy::PassManager::run (this=0x7fff1dc510a0, M=...) at /home/mparsons/dev/toolchain/clang/llvm-3.8.0.src/lib/IR/LegacyPassManager.cpp:1761 #21 0x00007f9e4dbe583a in codegen (M=0x6a7a5e0, OS=..., TheTarget=0x7f9e50344ce0 <llvm::TheX86_64Target>, CPU=..., Features=..., Options=..., RM=llvm::Reloc::Static, CM=llvm::CodeModel::Default, OL=llvm::CodeGenOpt::Aggressive, FileType=llvm::TargetMachine::CGFT_ObjectFile) at /home/mparsons/dev/toolchain/clang/llvm-3.8.0.src/lib/CodeGen/ParallelCG.cpp:39 #22 0x00007f9e4dbe5e72 in llvm::splitCodeGen (M=std::unique_ptr<llvm::Module> containing 0x6a7a5e0, OSs=..., CPU=..., Features=..., Options=..., RM=llvm::Reloc::Static, CM=llvm::CodeModel::Default, OL=llvm::CodeGenOpt::Aggressive, FileType=llvm::TargetMachine::CGFT_ObjectFile) at /home/mparsons/dev/toolchain/clang/llvm-3.8.0.src/lib/CodeGen/ParallelCG.cpp:56 #23 0x00007f9e4c979132 in codegen (M=std::unique_ptr<llvm::Module> containing 0x0) at /home/mparsons/dev/toolchain/clang/llvm-3.8.0.src/tools/gold/gold-plugin.cpp:840 #24 0x00007f9e4c979cad in allSymbolsReadHook (ApiFile=0x0) at /home/mparsons/dev/toolchain/clang/llvm-3.8.0.src/tools/gold/gold-plugin.cpp:943 #25 0x00007f9e4c979da2 in all_symbols_read_hook () at /home/mparsons/dev/toolchain/clang/llvm-3.8.0.src/tools/gold/gold-plugin.cpp:955 #26 0x00000000005ef55f in all_symbols_read (this=<optimised out>) at ../../gcc-5.3.0/gold/plugin.cc:359 #27 gold::Plugin_manager::all_symbols_read (this=0x23c83a0, workqueue=0x7fff1dc58410, task=<optimised out>, input_objects=<optimised out>, symtab=<optimised out>, dirpath=<optimised out>, mapfile=0x0, last_blocker=0x2584628) at ../../gcc-5.3.0/gold/plugin.cc:534 #28 0x00000000005ef694 in gold::Plugin_hook::run (this=0x25845e0, workqueue=0x7fff1dc58410) at ../../gcc-5.3.0/gold/plugin.cc:1420 #29 0x000000000064282d in gold::Workqueue::find_and_run_task (this=0x7fff1dc58410, thread_number=0) at ../../gcc-5.3.0/gold/workqueue.cc:319 #30 0x0000000000642b8a in gold::Workqueue::process (this=0x7fff1dc58410, thread_number=0) at ../../gcc-5.3.0/gold/workqueue.cc:495 #31 0x0000000000413fa9 in main (argc=224, argv=0x7fff1dc58618) at ../../gcc-5.3.0/gold/main.cc:252 #11 0x00007f9e4d8af67c in llvm::DwarfCompileUnit::constructImportedEntityDIE (this=0xc99a3f0, Module=0x35e2cd48) at /home/mparsons/dev/toolchain/clang/llvm-3.8.0.src/lib/CodeGen/AsmPrinter/DwarfCompileUnit.cpp:659 659 addSourceLine(*IMDie, Module->getLine(), Module->getScope()->getFilename(), 660 Module->getScope()->getDirectory()); (gdb) p *Module $1 = { <llvm::DINode> = { <llvm::MDNode> = { <llvm::Metadata> = { SubclassID = 22 '\026', Storage = 0, SubclassData16 = 8, SubclassData32 = 0 }, members of llvm::MDNode: NumOperands = 3, NumUnresolved = 0, Context = { Ptr = { Val = { Value = 140733692844800 } } } }, <No data fields>}, members of llvm::DIImportedEntity: Line = 178 } (gdb) p Module->getRawScope() $2 = (llvm::Metadata *) 0x0 (gdb) p Module->getOperand(0) $3 = (const llvm::MDOperand &) @0x35e2cd30: { MD = 0x0 } (gdb) p Module->getOperand(1) $4 = (const llvm::MDOperand &) @0x35e2cd38: { MD = 0x35e20dc0 } (gdb) call Module->getOperand(1).MD->dump() <0x35e20dc0> = !DIGlobalVariable(name: "char_", linkageName: "_ZN5boost6spirit8standardL5char_E", scope: <0x877e768>, file: <0x6f5ab60>, line: 236, type: <0x877e828>, isLocal: true, isDefinition: true, variable: %"struct.boost::spirit::terminal.171"* @_ZN5boost6spirit8standardL5char_E.4473) (gdb) p Module->getOperand(2) $5 = (const llvm::MDOperand &) @0x35e2cd40: { MD = 0x0 } (gdb) p Module->getName() $6 = { Data = 0x0, Length = 0 } Boost was compiled by gcc 5.3.0 without -flto or -g. The main program is compiled by Clang 3.8.0 with -flto -O3 -g3. -- You are receiving this mail because: You are on the CC list for the bug.
_______________________________________________ llvm-bugs mailing list llvm-bugs@lists.llvm.org http://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-bugs