aboutsummaryrefslogtreecommitdiff
path: root/lldb/source/Plugins/ObjectFile/Mach-O/ObjectFileMachO.cpp
diff options
context:
space:
mode:
authorAdrian Prantl <aprantl@apple.com>2024-10-28 17:18:34 -0700
committerAdrian Prantl <aprantl@apple.com>2024-12-10 09:36:38 -0800
commit9a9c1d4a6155a96ce9be494cec7e25731d36b33e (patch)
tree29fa08734270ab1e00cf7844c34794e273cbf75d /lldb/source/Plugins/ObjectFile/Mach-O/ObjectFileMachO.cpp
parent1a650fde4a885420c6f2991b41039c4b16ff42e1 (diff)
downloadllvm-9a9c1d4a6155a96ce9be494cec7e25731d36b33e.zip
llvm-9a9c1d4a6155a96ce9be494cec7e25731d36b33e.tar.gz
llvm-9a9c1d4a6155a96ce9be494cec7e25731d36b33e.tar.bz2
[lldb] Implement a formatter bytecode interpreter in C++
Compared to the python version, this also does type checking and error handling, so it's slightly longer, however, it's still comfortably under 500 lines.
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 7e17fd8..488c9bd 100644
--- a/lldb/source/Plugins/ObjectFile/Mach-O/ObjectFileMachO.cpp
+++ b/lldb/source/Plugins/ObjectFile/Mach-O/ObjectFileMachO.cpp
@@ -1210,6 +1210,7 @@ AddressClass ObjectFileMachO::GetAddressClass(lldb::addr_t file_addr) {
case eSectionTypeDWARFGNUDebugAltLink:
case eSectionTypeCTF:
case eSectionTypeLLDBTypeSummaries:
+ case eSectionTypeLLDBFormatters:
case eSectionTypeSwiftModules:
return AddressClass::eDebug;
@@ -1486,6 +1487,7 @@ static lldb::SectionType GetSectionType(uint32_t flags,
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_lldb_formatters("__lldbformatters");
static ConstString g_sect_name_swift_ast("__swift_ast");
if (section_name == g_sect_name_dwarf_debug_abbrev)
@@ -1568,6 +1570,8 @@ static lldb::SectionType GetSectionType(uint32_t flags,
return eSectionTypeCTF;
if (section_name == g_sect_name_lldb_summaries)
return lldb::eSectionTypeLLDBTypeSummaries;
+ if (section_name == g_sect_name_lldb_formatters)
+ return lldb::eSectionTypeLLDBFormatters;
if (section_name == g_sect_name_swift_ast)
return eSectionTypeSwiftModules;
if (section_name == g_sect_name_objc_data ||