diff options
author | emaste <emaste@FreeBSD.org> | 2014-03-19 13:24:47 +0000 |
---|---|---|
committer | emaste <emaste@FreeBSD.org> | 2014-03-19 13:24:47 +0000 |
commit | f9928d747c1045274edbbcd2c62bf9fb4b16eb07 (patch) | |
tree | 2ff891896f8ab4fefe88685220a87d0bfac1e150 | |
parent | 6bffb425031a89766175bf7d36548468157224d7 (diff) | |
download | FreeBSD-src-f9928d747c1045274edbbcd2c62bf9fb4b16eb07.zip FreeBSD-src-f9928d747c1045274edbbcd2c62bf9fb4b16eb07.tar.gz |
MFC r258897: Update LLDB to upstream r196322 snapshot
Upstream revisions of note:
r196298 - Fix use of std::lower_bound
r196322 - Fix log message for new invalidation checks
Sponsored by: DARPA, AFRL
-rw-r--r-- | contrib/llvm/tools/lldb/source/Breakpoint/BreakpointLocationList.cpp | 13 | ||||
-rw-r--r-- | contrib/llvm/tools/lldb/source/Symbol/UnwindPlan.cpp | 28 |
2 files changed, 31 insertions, 10 deletions
diff --git a/contrib/llvm/tools/lldb/source/Breakpoint/BreakpointLocationList.cpp b/contrib/llvm/tools/lldb/source/Breakpoint/BreakpointLocationList.cpp index 0c4c54d..18147de 100644 --- a/contrib/llvm/tools/lldb/source/Breakpoint/BreakpointLocationList.cpp +++ b/contrib/llvm/tools/lldb/source/Breakpoint/BreakpointLocationList.cpp @@ -86,16 +86,13 @@ Compare (BreakpointLocationSP lhs, lldb::break_id_t val) BreakpointLocationSP BreakpointLocationList::FindByID (lldb::break_id_t break_id) const { - BreakpointLocationSP bp_loc_sp; Mutex::Locker locker (m_mutex); - - collection::const_iterator begin = m_locations.begin(), end = m_locations.end(); - collection::const_iterator result; - result = std::lower_bound(begin, end, break_id, Compare); - if (result == end) - return bp_loc_sp; + collection::const_iterator end = m_locations.end(); + collection::const_iterator pos = std::lower_bound(m_locations.begin(), end, break_id, Compare); + if (pos != end && (*pos)->GetID() == break_id) + return *(pos); else - return *(result); + return BreakpointLocationSP(); } size_t diff --git a/contrib/llvm/tools/lldb/source/Symbol/UnwindPlan.cpp b/contrib/llvm/tools/lldb/source/Symbol/UnwindPlan.cpp index 19edea4..7b361e7 100644 --- a/contrib/llvm/tools/lldb/source/Symbol/UnwindPlan.cpp +++ b/contrib/llvm/tools/lldb/source/Symbol/UnwindPlan.cpp @@ -379,7 +379,19 @@ UnwindPlan::PlanValidAtAddress (Address addr) { Log *log(GetLogIfAllCategoriesSet (LIBLLDB_LOG_UNWIND)); if (log) - log->Printf ("Testing if UnwindPlan is valid at pc 0x%" PRIx64 ": No unwind rows - is invalid."); + { + StreamString s; + if (addr.Dump (&s, NULL, Address::DumpStyleSectionNameOffset)) + { + log->Printf ("UnwindPlan is invalid -- no unwind rows for UnwindPlan '%s' at address %s", + m_source_name.GetCString(), s.GetData()); + } + else + { + log->Printf ("UnwindPlan is invalid -- no unwind rows for UnwindPlan '%s'", + m_source_name.GetCString()); + } + } return false; } @@ -389,7 +401,19 @@ UnwindPlan::PlanValidAtAddress (Address addr) { Log *log(GetLogIfAllCategoriesSet (LIBLLDB_LOG_UNWIND)); if (log) - log->Printf ("Testing if UnwindPlan is valid at pc 0x%" PRIx64 ": No CFA register - is invalid."); + { + StreamString s; + if (addr.Dump (&s, NULL, Address::DumpStyleSectionNameOffset)) + { + log->Printf ("UnwindPlan is invalid -- no CFA register defined in row 0 for UnwindPlan '%s' at address %s", + m_source_name.GetCString(), s.GetData()); + } + else + { + log->Printf ("UnwindPlan is invalid -- no CFA register defined in row 0 for UnwindPlan '%s'", + m_source_name.GetCString()); + } + } return false; } |