Go to file
Jason Molenda 31d7ad4ecf Add a new idea of a "fallback" UnwindPlan to the RegisterContextLLDB
class.  If we try to unwind a stack frame to find a caller stack
frame, and we fail to get a valid-looking frame, AND if the UnwindPlan
we used is an assembly-inspection based UnwindPlan, then we should 
throw away the assembly-inspection UnwindPlan and try unwinding with 
the architectural default UnwindPlan.  

This code path won't be taken if eh_frame unwind instructions are available -
lldb will always prefer those once it's off the zeroth frame.

The problem I'm trying to fix here is the class of unwind failures that
happen when we have hand-written assembly on the stack, with no eh_frame,
and lldb's assembly parser fails to understand the assembly.  People usually
write their hand-written assembly to follow the frame-pointer-preserving
conventions of the platform so the architectural default UnwindPlan will 
often work.  We won't have the spill location for most of the non-volatile
registers if we fall back to this, but it's better than stopping the unwind
prematurely.

This is a bit of a tricky change that I believe is correct, but if we get
unwinds that go of into the weeds / unwind bogus frames at the end of the
stack, I'll need to revisit it.

<rdar://problem/16099440> 

llvm-svn: 201839
2014-02-21 05:20:25 +00:00
clang Accept -no-integrated-as in -cc1 and forward it to llvm. 2014-02-21 03:14:07 +00:00
clang-tools-extra Add a makefile for clang-query. Patch by Alex Horn! 2014-02-18 19:46:01 +00:00
compiler-rt Add an environment variable to override the default profile output file. 2014-02-20 19:52:32 +00:00
debuginfo-tests Add a fallback path for buildbots temporarily stuck on really old 2014-02-21 00:17:02 +00:00
libclc Add generic nvptx targets 2014-02-14 20:33:53 +00:00
libcxx Implement LWG Issues #2329 and #2332 - disallow iterators into temporary regexes and regexes into temporary strings 2014-02-19 21:21:11 +00:00
libcxxabi Demangle Dc to decltype(auto) as per the Itanium C++ ABI spec. 2014-02-17 21:56:01 +00:00
lld [ELF] Dont generate PHDR when creating dynamic libraries. 2014-02-19 23:46:13 +00:00
lldb Add a new idea of a "fallback" UnwindPlan to the RegisterContextLLDB 2014-02-21 05:20:25 +00:00
llvm This test was failing on non-X86-64 platforms because stackmaps only work on X86-64. 2014-02-21 03:17:31 +00:00
openmp For your Christmas hacking pleasure. 2013-12-23 17:28:57 +00:00
polly Add polyhedral dead code elimination. 2014-02-20 21:43:54 +00:00