@@ -2603,17 +2603,16 @@ static llvm::Expected<addr_t> ReadRegisterAsAddress(RegisterContext ®ctx,
2603
2603
2604
2604
// / Functional wrapper to read a pointer from process memory at `addr +
2605
2605
// / offset`.
2606
- static llvm::Expected<addr_t >
2607
- ReadPtrFromAddr (Process &process, llvm::Expected<addr_t > addr, int offset = 0 ) {
2608
- if (!addr)
2609
- return addr;
2606
+ static llvm::Expected<addr_t > ReadPtrFromAddr (Process &process, addr_t addr,
2607
+ int offset = 0 ) {
2610
2608
Status error;
2611
- addr_t ptr = process.ReadPointerFromMemory (* addr + offset, error);
2609
+ addr_t ptr = process.ReadPointerFromMemory (addr + offset, error);
2612
2610
if (ptr != LLDB_INVALID_ADDRESS)
2613
2611
return ptr;
2614
2612
return llvm::createStringError (" SwiftLanguageRuntime: Failed to read ptr "
2615
- " from memory address 0x%8.8" PRIx64,
2616
- *addr + offset);
2613
+ " from memory address 0x%8.8" PRIx64
2614
+ " Error was %s" ,
2615
+ addr + offset, error.AsCString ());
2617
2616
}
2618
2617
2619
2618
// / Computes the Canonical Frame Address (CFA) by converting the abstract
@@ -2703,7 +2702,9 @@ static llvm::Expected<addr_t> ReadAsyncContextRegisterFromUnwind(
2703
2702
case RestoreType::atCFAPlusOffset: {
2704
2703
llvm::Expected<addr_t > cfa =
2705
2704
GetCFA (process, regctx, unwind_regkind, row->GetCFAValue ());
2706
- return ReadPtrFromAddr (process, std::move (cfa), regloc.GetOffset ());
2705
+ if (!cfa)
2706
+ return cfa.takeError ();
2707
+ return ReadPtrFromAddr (process, *cfa, regloc.GetOffset ());
2707
2708
}
2708
2709
case RestoreType::isCFAPlusOffset: {
2709
2710
if (llvm::Expected<addr_t > cfa =
@@ -2736,7 +2737,7 @@ SwiftLanguageRuntime::GetRuntimeUnwindPlan(ProcessSP process_sp,
2736
2737
LLDB_SCOPED_TIMER ();
2737
2738
auto log_expected = [](llvm::Error error) {
2738
2739
Log *log = GetLog (LLDBLog::Unwind);
2739
- LLDB_LOG_ERROR (log, std::move (error), " SwiftLanguageRuntime: error {0}" );
2740
+ LLDB_LOG_ERROR (log, std::move (error), " {0}" );
2740
2741
return UnwindPlanSP ();
2741
2742
};
2742
2743
0 commit comments