aboutsummaryrefslogtreecommitdiff
path: root/lldb/source/Plugins/ObjectFile/Mach-O/ObjectFileMachO.cpp
diff options
context:
space:
mode:
authorDave Lee <davelee.com@gmail.com>2024-01-24 12:42:45 -0800
committerAdrian Prantl <aprantl@apple.com>2024-12-10 09:36:38 -0800
commit1a650fde4a885420c6f2991b41039c4b16ff42e1 (patch)
tree4b5010f2f0b0122edcc72211d56fc56b99164888 /lldb/source/Plugins/ObjectFile/Mach-O/ObjectFileMachO.cpp
parentd6590c1bcb1b15b3b3f9f0ee6f0a6ff2b10b1e4f (diff)
downloadllvm-1a650fde4a885420c6f2991b41039c4b16ff42e1.zip
llvm-1a650fde4a885420c6f2991b41039c4b16ff42e1.tar.gz
llvm-1a650fde4a885420c6f2991b41039c4b16ff42e1.tar.bz2
[lldb] Load embedded type summary section (#7859) (#8040)
Add support for type summaries embedded into the binary. These embedded summaries will typically be generated by Swift macros, but can also be generated by any other means. rdar://115184658
Diffstat (limited to 'lldb/source/Plugins/ObjectFile/Mach-O/ObjectFileMachO.cpp')
-rw-r--r--lldb/source/Plugins/ObjectFile/Mach-O/ObjectFileMachO.cpp4
1 files changed, 4 insertions, 0 deletions
diff --git a/lldb/source/Plugins/ObjectFile/Mach-O/ObjectFileMachO.cpp b/lldb/source/Plugins/ObjectFile/Mach-O/ObjectFileMachO.cpp
index daffa13..7e17fd8 100644
--- a/lldb/source/Plugins/ObjectFile/Mach-O/ObjectFileMachO.cpp
+++ b/lldb/source/Plugins/ObjectFile/Mach-O/ObjectFileMachO.cpp
@@ -1209,6 +1209,7 @@ AddressClass ObjectFileMachO::GetAddressClass(lldb::addr_t file_addr) {
case eSectionTypeDWARFAppleObjC:
case eSectionTypeDWARFGNUDebugAltLink:
case eSectionTypeCTF:
+ case eSectionTypeLLDBTypeSummaries:
case eSectionTypeSwiftModules:
return AddressClass::eDebug;
@@ -1484,6 +1485,7 @@ static lldb::SectionType GetSectionType(uint32_t flags,
static ConstString g_sect_name_data("__data");
static ConstString g_sect_name_go_symtab("__gosymtab");
static ConstString g_sect_name_ctf("__ctf");
+ static ConstString g_sect_name_lldb_summaries("__lldbsummaries");
static ConstString g_sect_name_swift_ast("__swift_ast");
if (section_name == g_sect_name_dwarf_debug_abbrev)
@@ -1564,6 +1566,8 @@ static lldb::SectionType GetSectionType(uint32_t flags,
return eSectionTypeGoSymtab;
if (section_name == g_sect_name_ctf)
return eSectionTypeCTF;
+ if (section_name == g_sect_name_lldb_summaries)
+ return lldb::eSectionTypeLLDBTypeSummaries;
if (section_name == g_sect_name_swift_ast)
return eSectionTypeSwiftModules;
if (section_name == g_sect_name_objc_data ||