================ @@ -6528,6 +6528,74 @@ static void AddRegion(const MemoryRegionInfo ®ion, bool try_dirty_pages, CreateCoreFileMemoryRange(region)); } +static void AddRegisterSections(Process &process, ThreadSP &thread_sp, + CoreFileMemoryRanges &ranges, + lldb::addr_t range_end) { + lldb::RegisterContextSP reg_ctx = thread_sp->GetRegisterContext(); + if (!reg_ctx) + return; + + const RegisterInfo *reg_info = reg_ctx->GetRegisterInfo( + lldb::RegisterKind::eRegisterKindGeneric, LLDB_REGNUM_GENERIC_TP); + if (!reg_info) + return; + + lldb_private::RegisterValue reg_value; + bool success = reg_ctx->ReadRegister(reg_info, reg_value); + if (!success) + return; + + const uint64_t fail_value = UINT64_MAX; + bool readSuccess = false; + const lldb::addr_t reg_value_addr = + reg_value.GetAsUInt64(fail_value, &readSuccess); + if (!readSuccess || reg_value_addr == fail_value) + return; + + MemoryRegionInfo register_region; + Status err = process.GetMemoryRegionInfo(reg_value_addr, register_region); + if (err.Fail()) + return; + + // We already saved off this truncated stack range. + if (register_region.GetRange().GetRangeEnd() == range_end) + return; ---------------- Jlalond wrote:
>From my testing, it can actually be the same region. I failed several tests >because we were saving the full size stack region. https://github.com/llvm/llvm-project/pull/109477 _______________________________________________ lldb-commits mailing list lldb-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/lldb-commits