Author: Jason Molenda Date: 2021-04-20T12:09:06-07:00 New Revision: f2da1f68d815f97e1211da62e7e1f102941947e3
URL: https://github.com/llvm/llvm-project/commit/f2da1f68d815f97e1211da62e7e1f102941947e3 DIFF: https://github.com/llvm/llvm-project/commit/f2da1f68d815f97e1211da62e7e1f102941947e3.diff LOG: Get Section from resolved_addr in Target::ReadMemory Landing this fix for Augusto Noronha. The code is getting the Section from 'addr' passed in, but it may have been expressed as a load address when it was created and Target::ReadMemory tries to convert it to a Section+offset if that's now possible; use the Section found from that cleanup if it exists. Differential Revision: https://reviews.llvm.org/D100850 Added: Modified: lldb/source/Target/Target.cpp Removed: ################################################################################ diff --git a/lldb/source/Target/Target.cpp b/lldb/source/Target/Target.cpp index 177efa8f8f28..53bf64d5986a 100644 --- a/lldb/source/Target/Target.cpp +++ b/lldb/source/Target/Target.cpp @@ -1756,7 +1756,7 @@ size_t Target::ReadMemory(const Address &addr, void *dst, size_t dst_len, bool is_readonly = false; // Read from file cache if read-only section. if (!force_live_memory && resolved_addr.IsSectionOffset()) { - SectionSP section_sp(addr.GetSection()); + SectionSP section_sp(resolved_addr.GetSection()); if (section_sp) { auto permissions = Flags(section_sp->GetPermissions()); is_readonly = !permissions.Test(ePermissionsWritable) && _______________________________________________ lldb-commits mailing list lldb-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/lldb-commits