Hi, thanks for the report. Lldb does indeed work on linux x86_64 (and plenty more), but I think noone tests it with your given combination of cmake flags. I've managed to reproduce your problem and fix it with <http://reviews.llvm.org/D16293>, but please give it a go to make sure it works for you. If all goes well, we'll get this backported to the 3.8 branch.
cheers, pl On 18 January 2016 at 01:54, David Jones via lldb-dev <lldb-dev@lists.llvm.org> wrote: > I'm trying out the release candidate(?) as follows: > > svn co http://llvm.org/svn/llvm-project/llvm/branches/release_38 llvm > svn co http://llvm.org/svn/llvm-project/cfe/branches/release_38 cfe > svn co http://llvm.org/svn/llvm-project/lldb/branches/release_38 lldb > > cd llvm/tools > ln -s ../../cfe clang > ln -s ../../lldb lldb > cd .. > mkdir build > cd build > > cmake -DLLVM_BUILD_LLVM_DYLIB=ON -DLLVM_LINK_LLVM_DYLIB=ON > -DCMAKE_INSTALL_PREFIX=/tools/llvm/rel_38 > -DLLVM_TARGETS_TO_BUILD="X86;CppBackend" -DCMAKE_BUILD_TYPE=Release > -DLLVM_ENABLE_ASSERTIONS=ON .. > cmake --build . -- -j4 > sudo cmake --build . --target install > > > LLVM fundamentally works: I am able to link the LLVM libraries with my > application, and my application passes its regression tests. > > clang fundamentally works: it is able to compile a program. > > But lldb: > > dej@slam:~$ export LD_LIBRARY_PATH=/tools/llvm/rel_38/lib > dej@slam:~$ export PATH=/tools/llvm/rel_38/bin:$PATH > dej@slam:~$ lldb /bin/ls > (lldb) target create "/bin/ls" > Current executable set to '/bin/ls' (x86_64). > (lldb) r > Process 13656 launched: '/bin/ls' (x86_64) > Segmentation fault (core dumped) > > dej@slam:~$ gdb lldb core > ... > (gdb) bt > #0 0x00007fd9971b5671 in LLVMDisasmInstruction () > from /tools/llvm/rel_38/bin/../lib/../lib/libLLVM-3.8.so > #1 0x00007fd999e350c2 in > AssemblyParse_x86::instruction_length(lldb_private::Address, int&) () from > /tools/llvm/rel_38/bin/../lib/liblldb.so.3.8.0 > #2 0x00007fd999e37d08 in > AssemblyParse_x86::get_non_call_site_unwind_plan(lldb_private::UnwindPlan&) > () from /tools/llvm/rel_38/bin/../lib/liblldb.so.3.8.0 > #3 0x00007fd999e38e95 in > UnwindAssembly_x86::GetNonCallSiteUnwindPlanFromAssembly(lldb_private::AddressRange&, > lldb_private::Thread&, lldb_private::UnwindPlan&) () from > /tools/llvm/rel_38/bin/../lib/liblldb.so.3.8.0 > #4 0x00007fd999c8693b in > lldb_private::FuncUnwinders::GetAssemblyUnwindPlan(lldb_private::Target&, > lldb_private::Thread&, int) () > from /tools/llvm/rel_38/bin/../lib/liblldb.so.3.8.0 > #5 0x00007fd999c88594 in > lldb_private::FuncUnwinders::GetUnwindPlanAtNonCallSite(lldb_private::Target&, > lldb_private::Thread&, int) () > from /tools/llvm/rel_38/bin/../lib/liblldb.so.3.8.0 > #6 0x00007fd999dfb16d in > lldb_private::RegisterContextLLDB::GetFullUnwindPlanForFrame() () from > /tools/llvm/rel_38/bin/../lib/liblldb.so.3.8.0 > #7 0x00007fd999dfff90 in > lldb_private::RegisterContextLLDB::InitializeZerothFrame() () from > /tools/llvm/rel_38/bin/../lib/liblldb.so.3.8.0 > #8 0x00007fd999e01e83 in > lldb_private::RegisterContextLLDB::RegisterContextLLDB(lldb_private::Thread&, > std::shared_ptr<lldb_private::RegisterContextLLDB> const&, > lldb_private::SymbolContext&, unsigned int, lldb_private::UnwindLLDB&) () > from /tools/llvm/rel_38/bin/../lib/liblldb.so.3.8.0 > #9 0x00007fd999df5d43 in lldb_private::UnwindLLDB::AddFirstFrame() () > from /tools/llvm/rel_38/bin/../lib/liblldb.so.3.8.0 > #10 0x00007fd999df63d0 in > lldb_private::UnwindLLDB::DoGetFrameInfoAtIndex(unsigned int, unsigned > long&, unsigned long&) () > from /tools/llvm/rel_38/bin/../lib/liblldb.so.3.8.0 > #11 0x00007fd999d1049b in > lldb_private::StackFrameList::GetFramesUpTo(unsigned int) () from > /tools/llvm/rel_38/bin/../lib/liblldb.so.3.8.0 > #12 0x00007fd999d11a23 in > lldb_private::StackFrameList::GetFrameAtIndex(unsigned int) () from > /tools/llvm/rel_38/bin/../lib/liblldb.so.3.8.0 > #13 0x00007fd999ce4ae1 in > lldb_private::Thread::GetStackFrameAtIndex(unsigned int) () from > /tools/llvm/rel_38/bin/../lib/liblldb.so.3.8.0 > #14 0x00007fd999cc839a in > lldb_private::StopInfoBreakpoint::ShouldStopSynchronous(lldb_private::Event*) > () from /tools/llvm/rel_38/bin/../lib/liblldb.so.3.8.0 > #15 0x00007fd999ce75b3 in > lldb_private::Thread::ShouldStop(lldb_private::Event*) () from > /tools/llvm/rel_38/bin/../lib/liblldb.so.3.8.0 > #16 0x00007fd999cee452 in > lldb_private::ThreadList::ShouldStop(lldb_private::Event*) () from > /tools/llvm/rel_38/bin/../lib/liblldb.so.3.8.0 > #17 0x00007fd999cb505b in > lldb_private::Process::ShouldBroadcastEvent(lldb_private::Event*) () from > /tools/llvm/rel_38/bin/../lib/liblldb.so.3.8.0 > #18 0x00007fd999cb5111 in > lldb_private::Process::HandlePrivateEvent(std::shared_ptr<lldb_private::Event>&) > () > from /tools/llvm/rel_38/bin/../lib/liblldb.so.3.8.0 > #19 0x00007fd999cb5f73 in lldb_private::Process::RunPrivateStateThread(bool) > () > from /tools/llvm/rel_38/bin/../lib/liblldb.so.3.8.0 > #20 0x00007fd999b45d67 in > lldb_private::HostNativeThreadBase::ThreadCreateTrampoline(void*) () from > /tools/llvm/rel_38/bin/../lib/liblldb.so.3.8.0 > #21 0x00007fd9990e6182 in start_thread (arg=0x7fd990f62700) > at pthread_create.c:312 > #22 0x00007fd9983da47d in clone () > at ../sysdeps/unix/sysv/linux/x86_64/clone.S:111 > > Is LLDB expected to be working on Linux x64_64? > > > _______________________________________________ > lldb-dev mailing list > lldb-dev@lists.llvm.org > http://lists.llvm.org/cgi-bin/mailman/listinfo/lldb-dev > _______________________________________________ lldb-dev mailing list lldb-dev@lists.llvm.org http://lists.llvm.org/cgi-bin/mailman/listinfo/lldb-dev