Created
November 8, 2019 00:19
-
-
Save vedantk/2d0cc1df9bea9f0fa74ee101d240b82c to your computer and use it in GitHub Desktop.
Steps involved in clang installing the llvm SIGPIPE handler after signal(SIGPIPE, SIG_IGN) in lldb
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
=== Really doing llvm handler registration === | |
0 lldb 0x0000000107b0fe98 llvm::sys::PrintStackTrace(llvm::raw_ostream&) + 40 | |
1 lldb 0x0000000107b0f858 RegisterHandlers() + 328 | |
2 lldb 0x0000000107b04d3e llvm::EnablePrettyStackTrace() + 46 | |
3 lldb 0x0000000107b04103 llvm::InitLLVM::InitLLVM(int&, char const**&) + 147 | |
4 lldb 0x0000000107aeaa9f main + 47 | |
5 libdyld.dylib 0x00007fff722ba3d5 start + 1 | |
6 libdyld.dylib 0x000000000000000e start + 18446603338600700986 | |
=== (in lldb) Should have installed llvm handlers ^ === | |
=== (in lldb) Blocking SIGPIPE === | |
=== Really doing llvm handler registration === | |
0 liblldb.10.0.0svn.dylib 0x00000001089db458 llvm::sys::PrintStackTrace(llvm::raw_ostream&) + 40 | |
1 liblldb.10.0.0svn.dylib 0x00000001089daad8 RegisterHandlers() + 328 | |
2 liblldb.10.0.0svn.dylib 0x00000001089db0f1 llvm::sys::RemoveFileOnSignal(llvm::StringRef, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >*) + 289 | |
3 liblldb.10.0.0svn.dylib 0x00000001089772cf llvm::LockFileManager::LockFileManager(llvm::StringRef) + 2607 | |
4 liblldb.10.0.0svn.dylib 0x000000010a985716 clang::CompilerInstance::loadModule(clang::SourceLocation, llvm::ArrayRef<std::__1::pair<clang::IdentifierInfo*, clang::SourceLocation> >, clang::Module::NameVisibilityKind, bool) + 13974 | |
5 liblldb.10.0.0svn.dylib 0x000000010866dfa9 (anonymous namespace)::ClangModulesDeclVendorImpl::AddModule(lldb_private::SourceModule const&, std::__1::vector<unsigned long, std::__1::allocator<unsigned long> >*, lldb_private::Stream&) + 2329 | |
6 liblldb.10.0.0svn.dylib 0x00000001086653a3 lldb_private::ClangExpressionParser::LLDBPreprocessorCallbacks::moduleImport(clang::SourceLocation, llvm::ArrayRef<std::__1::pair<clang::IdentifierInfo*, clang::SourceLocation> >, clang::Module const*) + 323 | |
7 liblldb.10.0.0svn.dylib 0x000000010ba8a2c7 clang::PPChainedCallbacks::moduleImport(clang::SourceLocation, llvm::ArrayRef<std::__1::pair<clang::IdentifierInfo*, clang::SourceLocation> >, clang::Module const*) + 39 | |
8 liblldb.10.0.0svn.dylib 0x000000010bacb69c clang::Preprocessor::LexAfterModuleImport(clang::Token&) + 2316 | |
9 liblldb.10.0.0svn.dylib 0x000000010baccc0b clang::Preprocessor::Lex(clang::Token&) + 59 | |
10 liblldb.10.0.0svn.dylib 0x000000010ac26038 clang::Parser::ConsumeAnyToken(bool) + 136 | |
11 liblldb.10.0.0svn.dylib 0x000000010ac271fd clang::Parser::SkipUntil(llvm::ArrayRef<clang::tok::TokenKind>, clang::Parser::SkipUntilFlags) + 557 | |
12 liblldb.10.0.0svn.dylib 0x000000010abe1b6a clang::Parser::ParseObjCAtStatement(clang::SourceLocation, clang::Parser::ParsedStmtContext) + 426 | |
13 liblldb.10.0.0svn.dylib 0x000000010ac0a115 clang::Parser::ParseStatementOrDeclarationAfterAttributes(llvm::SmallVector<clang::Stmt*, 32u>&, clang::Parser::ParsedStmtContext, clang::SourceLocation*, clang::Parser::ParsedAttributesWithRange&) + 3957 | |
14 liblldb.10.0.0svn.dylib 0x000000010ac08fdd clang::Parser::ParseStatementOrDeclaration(llvm::SmallVector<clang::Stmt*, 32u>&, clang::Parser::ParsedStmtContext, clang::SourceLocation*) + 189 | |
15 liblldb.10.0.0svn.dylib 0x000000010ac11cd0 clang::Parser::ParseCompoundStatementBody(bool) + 1936 | |
16 liblldb.10.0.0svn.dylib 0x000000010ac12a3f clang::Parser::ParseFunctionStatementBody(clang::Decl*, clang::Parser::ParseScope&) + 175 | |
17 liblldb.10.0.0svn.dylib 0x000000010ac2eb8c clang::Parser::ParseFunctionDefinition(clang::ParsingDeclarator&, clang::Parser::ParsedTemplateInfo const&, clang::Parser::LateParsedAttrList*) + 2220 | |
18 liblldb.10.0.0svn.dylib 0x000000010ab84297 clang::Parser::ParseDeclGroup(clang::ParsingDeclSpec&, clang::DeclaratorContext, clang::SourceLocation*, clang::Parser::ForRangeInit*) + 2103 | |
19 liblldb.10.0.0svn.dylib 0x000000010ac2dee9 clang::Parser::ParseDeclOrFunctionDefInternal(clang::Parser::ParsedAttributesWithRange&, clang::ParsingDeclSpec&, clang::AccessSpecifier) + 745 | |
20 liblldb.10.0.0svn.dylib 0x000000010ac2d982 clang::Parser::ParseDeclarationOrFunctionDefinition(clang::Parser::ParsedAttributesWithRange&, clang::ParsingDeclSpec*, clang::AccessSpecifier) + 642 | |
21 liblldb.10.0.0svn.dylib 0x000000010ac2c15e clang::Parser::ParseExternalDeclaration(clang::Parser::ParsedAttributesWithRange&, clang::ParsingDeclSpec*) + 3086 | |
22 liblldb.10.0.0svn.dylib 0x000000010ac29d1f clang::Parser::ParseTopLevelDecl(clang::OpaquePtr<clang::DeclGroupRef>&, bool) + 1391 | |
23 liblldb.10.0.0svn.dylib 0x000000010ab6e10d clang::ParseAST(clang::Sema&, bool, bool) + 493 | |
24 liblldb.10.0.0svn.dylib 0x0000000108661b6e lldb_private::ClangExpressionParser::ParseInternal(lldb_private::DiagnosticManager&, clang::CodeCompleteConsumer*, unsigned int, unsigned int) + 2382 | |
25 liblldb.10.0.0svn.dylib 0x0000000108674ae9 lldb_private::ClangUserExpression::Parse(lldb_private::DiagnosticManager&, lldb_private::ExecutionContext&, lldb_private::ExecutionPolicy, bool, bool) + 841 | |
26 liblldb.10.0.0svn.dylib 0x000000010846c2e8 lldb_private::UserExpression::Evaluate(lldb_private::ExecutionContext&, lldb_private::EvaluateExpressionOptions const&, llvm::StringRef, llvm::StringRef, lldb_private::SharingPtr<lldb_private::ValueObject>&, lldb_private::Status&, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >*, std::__1::shared_ptr<lldb_private::Module>*, lldb_private::ValueObject*) + 1912 | |
27 liblldb.10.0.0svn.dylib 0x00000001085919c3 lldb_private::Target::EvaluateExpression(llvm::StringRef, lldb_private::ExecutionContextScope*, lldb_private::SharingPtr<lldb_private::ValueObject>&, lldb_private::EvaluateExpressionOptions const&, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >*, lldb_private::ValueObject*) + 915 | |
28 liblldb.10.0.0svn.dylib 0x0000000109e97582 lldb_private::CommandObjectExpression::EvaluateExpression(llvm::StringRef, lldb_private::Stream*, lldb_private::Stream*, lldb_private::CommandReturnObject*) + 562 | |
29 liblldb.10.0.0svn.dylib 0x0000000109e98496 lldb_private::CommandObjectExpression::DoExecute(llvm::StringRef, lldb_private::CommandReturnObject&) + 1606 | |
30 liblldb.10.0.0svn.dylib 0x00000001084a6c75 lldb_private::CommandObjectRaw::Execute(char const*, lldb_private::CommandReturnObject&) + 469 | |
31 liblldb.10.0.0svn.dylib 0x000000010849e7fe lldb_private::CommandInterpreter::HandleCommand(char const*, lldb_private::LazyBool, lldb_private::CommandReturnObject&, lldb_private::ExecutionContext*, bool, bool) + 2894 | |
32 liblldb.10.0.0svn.dylib 0x00000001084a1bd4 lldb_private::CommandInterpreter::IOHandlerInputComplete(lldb_private::IOHandler&, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >&) + 468 | |
33 liblldb.10.0.0svn.dylib 0x00000001083e0641 lldb_private::IOHandlerEditline::Run() + 305 | |
34 liblldb.10.0.0svn.dylib 0x00000001083c4af7 lldb_private::Debugger::RunIOHandler(std::__1::shared_ptr<lldb_private::IOHandler> const&) + 87 | |
35 liblldb.10.0.0svn.dylib 0x000000010849fa14 lldb_private::CommandInterpreter::HandleCommandsFromFile(lldb_private::FileSpec&, lldb_private::ExecutionContext*, lldb_private::CommandInterpreterRunOptions&, lldb_private::CommandReturnObject&) + 1780 | |
36 liblldb.10.0.0svn.dylib 0x0000000109e8da29 CommandObjectCommandsSource::DoExecute(lldb_private::Args&, lldb_private::CommandReturnObject&) + 393 | |
37 liblldb.10.0.0svn.dylib 0x00000001084a6a42 lldb_private::CommandObjectParsed::Execute(char const*, lldb_private::CommandReturnObject&) + 418 | |
38 liblldb.10.0.0svn.dylib 0x000000010849e7fe lldb_private::CommandInterpreter::HandleCommand(char const*, lldb_private::LazyBool, lldb_private::CommandReturnObject&, lldb_private::ExecutionContext*, bool, bool) + 2894 | |
39 liblldb.10.0.0svn.dylib 0x00000001084a1bd4 lldb_private::CommandInterpreter::IOHandlerInputComplete(lldb_private::IOHandler&, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >&) + 468 | |
40 liblldb.10.0.0svn.dylib 0x00000001083e0641 lldb_private::IOHandlerEditline::Run() + 305 | |
41 liblldb.10.0.0svn.dylib 0x00000001083c47d9 lldb_private::Debugger::ExecuteIOHandlers() + 105 | |
42 liblldb.10.0.0svn.dylib 0x00000001084a25d4 lldb_private::CommandInterpreter::RunCommandInterpreter(bool, bool, lldb_private::CommandInterpreterRunOptions&) + 180 | |
43 liblldb.10.0.0svn.dylib 0x0000000108132c19 lldb::SBDebugger::RunCommandInterpreter(bool, bool, lldb::SBCommandInterpreterRunOptions&, int&, bool&, bool&) + 521 | |
44 lldb 0x0000000107ae9d21 Driver::MainLoop() + 2449 | |
45 lldb 0x0000000107aeb20f main + 1951 | |
46 libdyld.dylib 0x00007fff722ba3d5 start + 1 | |
47 libdyld.dylib 0x000000000000000e start + 18446603338600700986 |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment