From fcb59bcfc62550b14924199f7e67c48a4bf9f9ee Mon Sep 17 00:00:00 2001 From: Jim Ingham Date: Fri, 31 Aug 2012 23:49:32 +0000 Subject: [PATCH] Add a convenience function to get the range containing a given PC specified as load address + Target. llvm-svn: 163038 --- lldb/include/lldb/Symbol/Block.h | 3 +++ lldb/source/Symbol/Block.cpp | 10 ++++++++++ 2 files changed, 13 insertions(+) diff --git a/lldb/include/lldb/Symbol/Block.h b/lldb/include/lldb/Symbol/Block.h index 0ca8547a1362..f2041a120410 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 fef56b17bfd4..1cda1caaa3a5 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) {