Skip to content

Commit 616335e

Browse files
authored
Merge pull request #19 from JDevlieghere/cherrypick/class_rw_t
[lldb] Adjust for the new class_rw_t layout.
2 parents fe84acb + bb9d8dc commit 616335e

File tree

1 file changed

+12
-0
lines changed

1 file changed

+12
-0
lines changed

lldb/source/Plugins/LanguageRuntime/ObjC/AppleObjCRuntime/AppleObjCClassDescriptorV2.cpp

+12
Original file line numberDiff line numberDiff line change
@@ -111,6 +111,18 @@ bool ClassDescriptorV2::class_rw_t::Read(Process *process, lldb::addr_t addr) {
111111
m_firstSubclass = extractor.GetAddress_unchecked(&cursor);
112112
m_nextSiblingClass = extractor.GetAddress_unchecked(&cursor);
113113

114+
if (m_ro_ptr & 1) {
115+
DataBufferHeap buffer(ptr_size, '\0');
116+
process->ReadMemory(m_ro_ptr ^ 1, buffer.GetBytes(), ptr_size, error);
117+
if (error.Fail())
118+
return false;
119+
cursor = 0;
120+
DataExtractor extractor(buffer.GetBytes(), ptr_size,
121+
process->GetByteOrder(),
122+
process->GetAddressByteSize());
123+
m_ro_ptr = extractor.GetAddress_unchecked(&cursor);
124+
}
125+
114126
return true;
115127
}
116128

0 commit comments

Comments
 (0)