diff --git a/lldb/include/lldb/lldb-enumerations.h b/lldb/include/lldb/lldb-enumerations.h --- a/lldb/include/lldb/lldb-enumerations.h +++ b/lldb/include/lldb/lldb-enumerations.h @@ -738,6 +738,7 @@ eSectionTypeDWARFDebugLocDwo, eSectionTypeDWARFDebugLocListsDwo, eSectionTypeDWARFDebugTuIndex, + eSectionTypeCTF, }; FLAGS_ENUM(EmulateInstructionOptions){ diff --git a/lldb/source/Core/Section.cpp b/lldb/source/Core/Section.cpp --- a/lldb/source/Core/Section.cpp +++ b/lldb/source/Core/Section.cpp @@ -145,6 +145,8 @@ return "absolute"; case eSectionTypeDWARFGNUDebugAltLink: return "dwarf-gnu-debugaltlink"; + case eSectionTypeCTF: + return "ctf"; case eSectionTypeOther: return "regular"; } @@ -452,6 +454,7 @@ case eSectionTypeDWARFAppleNamespaces: case eSectionTypeDWARFAppleObjC: case eSectionTypeDWARFGNUDebugAltLink: + case eSectionTypeCTF: return true; } return false; diff --git a/lldb/source/Plugins/ObjectFile/ELF/ObjectFileELF.cpp b/lldb/source/Plugins/ObjectFile/ELF/ObjectFileELF.cpp --- a/lldb/source/Plugins/ObjectFile/ELF/ObjectFileELF.cpp +++ b/lldb/source/Plugins/ObjectFile/ELF/ObjectFileELF.cpp @@ -1673,6 +1673,7 @@ .Case(".ARM.exidx", eSectionTypeARMexidx) .Case(".ARM.extab", eSectionTypeARMextab) .Cases(".bss", ".tbss", eSectionTypeZeroFill) + .Case(".ctf", eSectionTypeDebug) .Cases(".data", ".tdata", eSectionTypeData) .Case(".eh_frame", eSectionTypeEHFrame) .Case(".gnu_debugaltlink", eSectionTypeDWARFGNUDebugAltLink) diff --git a/lldb/source/Plugins/ObjectFile/Mach-O/ObjectFileMachO.cpp b/lldb/source/Plugins/ObjectFile/Mach-O/ObjectFileMachO.cpp --- a/lldb/source/Plugins/ObjectFile/Mach-O/ObjectFileMachO.cpp +++ b/lldb/source/Plugins/ObjectFile/Mach-O/ObjectFileMachO.cpp @@ -1202,6 +1202,7 @@ case eSectionTypeDWARFAppleNamespaces: case eSectionTypeDWARFAppleObjC: case eSectionTypeDWARFGNUDebugAltLink: + case eSectionTypeCTF: return AddressClass::eDebug; case eSectionTypeEHFrame: @@ -1475,6 +1476,7 @@ static ConstString g_sect_name_text("__text"); static ConstString g_sect_name_data("__data"); static ConstString g_sect_name_go_symtab("__gosymtab"); + static ConstString g_sect_name_ctf("__ctf"); if (section_name == g_sect_name_dwarf_debug_abbrev) return eSectionTypeDWARFDebugAbbrev; @@ -1552,6 +1554,8 @@ return eSectionTypeDataObjCCFStrings; if (section_name == g_sect_name_go_symtab) return eSectionTypeGoSymtab; + if (section_name == g_sect_name_ctf) + return eSectionTypeCTF; if (section_name == g_sect_name_objc_data || section_name == g_sect_name_objc_classrefs || section_name == g_sect_name_objc_superrefs || diff --git a/lldb/source/Symbol/ObjectFile.cpp b/lldb/source/Symbol/ObjectFile.cpp --- a/lldb/source/Symbol/ObjectFile.cpp +++ b/lldb/source/Symbol/ObjectFile.cpp @@ -356,6 +356,7 @@ case eSectionTypeDWARFAppleNamespaces: case eSectionTypeDWARFAppleObjC: case eSectionTypeDWARFGNUDebugAltLink: + case eSectionTypeCTF: return AddressClass::eDebug; case eSectionTypeEHFrame: case eSectionTypeARMexidx: