[Lldb-commits] [lldb] 6fa9120 - [lldb] Fix up Objective-C ISA pointers

Jonas Devlieghere via lldb-commits lldb-commits at lists.llvm.org
Thu Jun 23 14:16:34 PDT 2022


Author: Jonas Devlieghere
Date: 2022-06-23T14:16:29-07:00
New Revision: 6fa9120080c35a5ff851c3fc3358692c4ef7ce0d

URL: https://github.com/llvm/llvm-project/commit/6fa9120080c35a5ff851c3fc3358692c4ef7ce0d
DIFF: https://github.com/llvm/llvm-project/commit/6fa9120080c35a5ff851c3fc3358692c4ef7ce0d.diff

LOG: [lldb] Fix up Objective-C ISA pointers

Support stripping the PAC bits from Objective-C ISA pointers in the
Objective-C runtime plugin.

Added: 
    

Modified: 
    lldb/source/Plugins/LanguageRuntime/ObjC/AppleObjCRuntime/AppleObjCRuntimeV2.cpp

Removed: 
    


################################################################################
diff  --git a/lldb/source/Plugins/LanguageRuntime/ObjC/AppleObjCRuntime/AppleObjCRuntimeV2.cpp b/lldb/source/Plugins/LanguageRuntime/ObjC/AppleObjCRuntime/AppleObjCRuntimeV2.cpp
index f53b82ee33c80..1c2447b2bec5f 100644
--- a/lldb/source/Plugins/LanguageRuntime/ObjC/AppleObjCRuntime/AppleObjCRuntimeV2.cpp
+++ b/lldb/source/Plugins/LanguageRuntime/ObjC/AppleObjCRuntime/AppleObjCRuntimeV2.cpp
@@ -1543,6 +1543,12 @@ AppleObjCRuntimeV2::GetClassDescriptor(ValueObject &valobj) {
     return objc_class_sp;
 
   objc_class_sp = GetClassDescriptorFromISA(isa);
+  if (!objc_class_sp) {
+    if (ABISP abi_sp = process->GetABI())
+      isa = abi_sp->FixCodeAddress(isa);
+    objc_class_sp = GetClassDescriptorFromISA(isa);
+  }
+
   if (isa && !objc_class_sp) {
     Log *log = GetLog(LLDBLog::Process | LLDBLog::Types);
     LLDB_LOGF(log,


        


More information about the lldb-commits mailing list