summaryrefslogtreecommitdiffstats
path: root/lldb/source/Breakpoint
diff options
context:
space:
mode:
authorGreg Clayton <gclayton@apple.com>2010-09-14 23:36:40 +0000
committerGreg Clayton <gclayton@apple.com>2010-09-14 23:36:40 +0000
commitf5e56de0809eec71d97f4cc5905f8bd0a4415a50 (patch)
tree5c006894db84ba365b2371957a092dd51dd0ee9f /lldb/source/Breakpoint
parent5f2311dc29c5182b3b5dc07fc5d01ac25eeec877 (diff)
downloadbcm5719-llvm-f5e56de0809eec71d97f4cc5905f8bd0a4415a50.tar.gz
bcm5719-llvm-f5e56de0809eec71d97f4cc5905f8bd0a4415a50.zip
Moved the section load list up into the target so we can use the target
to symbolicate things without the need for a valid process subclass. llvm-svn: 113895
Diffstat (limited to 'lldb/source/Breakpoint')
-rw-r--r--lldb/source/Breakpoint/BreakpointLocation.cpp13
1 files changed, 8 insertions, 5 deletions
diff --git a/lldb/source/Breakpoint/BreakpointLocation.cpp b/lldb/source/Breakpoint/BreakpointLocation.cpp
index 9609303e5cb..dc45654a77c 100644
--- a/lldb/source/Breakpoint/BreakpointLocation.cpp
+++ b/lldb/source/Breakpoint/BreakpointLocation.cpp
@@ -35,7 +35,7 @@ BreakpointLocation::BreakpointLocation
lldb::tid_t tid,
bool hardware
) :
- StoppointLocation (loc_id, addr.GetLoadAddress(owner.GetTarget().GetProcessSP().get()), hardware),
+ StoppointLocation (loc_id, addr.GetLoadAddress(&owner.GetTarget()), hardware),
m_address (addr),
m_owner (owner),
m_options_ap (),
@@ -52,7 +52,7 @@ BreakpointLocation::~BreakpointLocation()
lldb::addr_t
BreakpointLocation::GetLoadAddress () const
{
- return m_address.GetLoadAddress(m_owner.GetTarget().GetProcessSP().get());
+ return m_address.GetLoadAddress(&m_owner.GetTarget());
}
Address &
@@ -223,10 +223,13 @@ BreakpointLocation::ResolveBreakpointSite ()
if (m_bp_site_sp)
return true;
- Process* process = m_owner.GetTarget().GetProcessSP().get();
+ Process *process = m_owner.GetTarget().GetProcessSP().get();
if (process == NULL)
return false;
+ if (m_owner.GetTarget().GetSectionLoadList().IsEmpty())
+ return false;
+
BreakpointLocationSP myself_sp(m_owner.GetLocationSP (this));
lldb::break_id_t new_id = process->CreateBreakpointSite (myself_sp, false);
@@ -236,7 +239,7 @@ BreakpointLocation::ResolveBreakpointSite ()
Log *log = lldb_private::GetLogIfAllCategoriesSet (LIBLLDB_LOG_BREAKPOINTS);
if (log)
log->Warning ("Tried to add breakpoint site at 0x%llx but it was already present.\n",
- m_address.GetLoadAddress(process));
+ m_address.GetLoadAddress(&m_owner.GetTarget()));
return false;
}
@@ -384,7 +387,7 @@ BreakpointLocation::Dump(Stream *s) const
"hw_index = %i hit_count = %-4u ignore_count = %-4u",
GetID(),
GetOptionsNoCreate()->GetThreadSpecNoCreate()->GetTID(),
- (uint64_t) m_address.GetLoadAddress(m_owner.GetTarget().GetProcessSP().get()),
+ (uint64_t) m_address.GetLoadAddress (&m_owner.GetTarget()),
(m_options_ap.get() ? m_options_ap->IsEnabled() : m_owner.IsEnabled()) ? "enabled " : "disabled",
IsHardware() ? "hardware" : "software",
GetHardwareIndex(),
OpenPOWER on IntegriCloud