summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authoremaste <emaste@FreeBSD.org>2014-03-19 13:24:47 +0000
committeremaste <emaste@FreeBSD.org>2014-03-19 13:24:47 +0000
commitf9928d747c1045274edbbcd2c62bf9fb4b16eb07 (patch)
tree2ff891896f8ab4fefe88685220a87d0bfac1e150
parent6bffb425031a89766175bf7d36548468157224d7 (diff)
downloadFreeBSD-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.cpp13
-rw-r--r--contrib/llvm/tools/lldb/source/Symbol/UnwindPlan.cpp28
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;
}
OpenPOWER on IntegriCloud