summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorJim Ingham <jingham@apple.com>2012-08-31 23:49:32 +0000
committerJim Ingham <jingham@apple.com>2012-08-31 23:49:32 +0000
commitfcb59bcfc62550b14924199f7e67c48a4bf9f9ee (patch)
tree416a7e7ff7ef0d77f97d2ca9933a7886e2ee7acb
parentd204afaee81ca4f9b4a1ee98d39ad49721999cb2 (diff)
downloadbcm5719-llvm-fcb59bcfc62550b14924199f7e67c48a4bf9f9ee.tar.gz
bcm5719-llvm-fcb59bcfc62550b14924199f7e67c48a4bf9f9ee.zip
Add a convenience function to get the range containing a given PC specified as load address + Target.
llvm-svn: 163038
-rw-r--r--lldb/include/lldb/Symbol/Block.h3
-rw-r--r--lldb/source/Symbol/Block.cpp10
2 files changed, 13 insertions, 0 deletions
diff --git a/lldb/include/lldb/Symbol/Block.h b/lldb/include/lldb/Symbol/Block.h
index 0ca8547a136..f2041a12041 100644
--- a/lldb/include/lldb/Symbol/Block.h
+++ b/lldb/include/lldb/Symbol/Block.h
@@ -446,6 +446,9 @@ public:
bool
GetRangeContainingAddress (const Address& addr, AddressRange &range);
+
+ bool
+ GetRangeContainingLoadAddress (lldb::addr_t load_addr, Target &target, AddressRange &range);
uint32_t
GetRangeIndexContainingAddress (const Address& addr);
diff --git a/lldb/source/Symbol/Block.cpp b/lldb/source/Symbol/Block.cpp
index fef56b17bfd..1cda1caaa3a 100644
--- a/lldb/source/Symbol/Block.cpp
+++ b/lldb/source/Symbol/Block.cpp
@@ -317,6 +317,16 @@ Block::GetRangeContainingAddress (const Address& addr, AddressRange &range)
return false;
}
+bool
+Block::GetRangeContainingLoadAddress (lldb::addr_t load_addr, Target &target, AddressRange &range)
+{
+ Address load_address;
+ load_address.SetLoadAddress(load_addr, &target);
+ AddressRange containing_range;
+ return GetRangeContainingAddress(load_address, containing_range);
+}
+
+
uint32_t
Block::GetRangeIndexContainingAddress (const Address& addr)
{
OpenPOWER on IntegriCloud