llvm-project/lldb/source
Jason Molenda 4c781fd78a <rdar://problem/12350715>
Modify UnwindLLDB::SearchForSavedLocationForRegister so if the register
save locations for a register mid-stack is in another register (or in the
same register, indicating the reg wasn't modified in this frame), don't
return that as a found location.  Keep iterating down the array of frames
until a concrete location/value for the register is found, or until we
get to frame 0 where the reg value can be used as-is.

If lldb was trying to backtrace a program that blew out its stack via
recursion and the unwind instructions had some kind of 
this-reg-is-saved-in-that-reg instruction, lldb would revert to doing 
a recursive search for a concrete value and blow out its own stack.

llvm-svn: 172887
2013-01-19 03:53:42 +00:00
..
API <rdar://problem/13010007> 2013-01-18 23:41:08 +00:00
Breakpoint <rdar://problem/12953853> 2013-01-08 00:01:36 +00:00
Commands <rdar://problem/12786725> 2013-01-17 21:36:19 +00:00
Core Adding a custom summary for libc++ std::vector<bool> 2013-01-16 23:17:30 +00:00
Expression Extended LLDB to handle blocks capturing 'self' 2013-01-19 01:49:02 +00:00
Host Add initial support to trace spawned threads in a process on Linux. 2013-01-08 16:30:18 +00:00
Interpreter <rdar://problem/13010007> 2013-01-18 23:41:08 +00:00
Plugins <rdar://problem/12350715> 2013-01-19 03:53:42 +00:00
Symbol <rdar://problem/11146929> 2013-01-10 02:37:22 +00:00
Target <rdar://problem/13010007> 2013-01-18 23:41:08 +00:00
Utility Enable RTTI for liblldbCore.a when GCC is the compiler 2012-12-10 21:05:57 +00:00
Makefile Don't include LLDBWrapPython.cpp here. Use it in Interpreter. 2012-05-29 14:03:55 +00:00
lldb-log.cpp Add an LLDB_LOG_TARGET logging channel (log eanble lldb target). 2012-12-05 00:25:49 +00:00
lldb.cpp Enable ProcessGDBRemote plugin on Linux 2013-01-08 14:55:36 +00:00