================
@@ -2007,6 +2007,135 @@ size_t Process::ReadMemory(addr_t addr, void *buf,
size_t size, Status &error) {
}
}
+void Process::DoFindInMemory(lldb::addr_t start_addr, lldb::addr_t end_addr,
+ const uint8_t *buf, size_t size,
+ AddressRanges &matches, size_t alignment,
+ size_t max_matches) {
+ // Inputs are already validated in FindInMemory() functions.
+ assert(buf != nullptr);
+ assert(size > 0);
+ assert(alignment > 0);
+ assert(max_matches > 0);
+ assert(start_addr != LLDB_INVALID_ADDRESS);
+ assert(end_addr != LLDB_INVALID_ADDRESS);
+ assert(start_addr < end_addr);
+
+ lldb::addr_t start = start_addr;
+ if (alignment > 1) {
+ // Align to an address alignment boundary
+ const uint64_t align_offset = start % alignment;
+ if (align_offset > 0)
+ start += alignment - align_offset;
+ }
----------------
clayborg wrote:
All these lines can be:
```
lldb::addr_t start = llvm::alignTo(start_addr, alignment);
```
https://github.com/llvm/llvm-project/pull/95007
_______________________________________________
lldb-commits mailing list
[email protected]
https://lists.llvm.org/cgi-bin/mailman/listinfo/lldb-commits