================
@@ -283,39 +283,42 @@ uint32_t Block::GetRangeIndexContainingAddress(const 
Address &addr) {
   return m_ranges.FindEntryIndexThatContains(file_addr - func_file_addr);
 }
 
+static AddressRange ToAddressRange(const Address &func_addr,
+                                   const Block::Range &range) {
+  assert(func_addr.GetModule());
+  return AddressRange(func_addr.GetFileAddress() + range.base, range.size,
----------------
DavidSpickett wrote:

So a block range is `[offset, offset + size)`, where offset is relative to the 
parent function's entry point.

You want to make AddressRange which is a proper virtual address (minus the 
generally applied load offset). So you make it `[function entry point + offset, 
function entry point + offset + size)` by adding the function entry point to 
the base of the range.

If any of that is a correct interpretation, consider adding a comment to 
explain that in the code:
```
// The block's base address is a relative offset to its parent function's entry 
point. We want to produce a virtual address
// so we need to add the value of that entry point here.
```

https://github.com/llvm/llvm-project/pull/137955
_______________________________________________
lldb-commits mailing list
lldb-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/lldb-commits

Reply via email to