summaryrefslogtreecommitdiffstats
path: root/contrib/llvm
diff options
context:
space:
mode:
authoremaste <emaste@FreeBSD.org>2013-12-03 22:26:38 +0000
committeremaste <emaste@FreeBSD.org>2013-12-03 22:26:38 +0000
commitec281a0d1f411519f53979ac68e1d081713f9775 (patch)
tree41c5b771b2549a0669ae2cb69eb0f8cc01d0d30c /contrib/llvm
parentd5c04c6f999989a71d0e162413b46634031de26f (diff)
downloadFreeBSD-src-ec281a0d1f411519f53979ac68e1d081713f9775.zip
FreeBSD-src-ec281a0d1f411519f53979ac68e1d081713f9775.tar.gz
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
Diffstat (limited to 'contrib/llvm')
-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